1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

[Tool] Resorep - DirectX 11 texture replacer

Discussion in 'Tools & Guides' started by Ray Wing, Feb 16, 2016.

  1. Ray Wing

    Ray Wing Casual Client Content Creator

    Joined:
    Jun 12, 2013
    Messages:
    211
    Likes Received:
    118
    Information
    A tool to replace textures in DirectX 11 applications.
    Aims to do the same thing as uMod tool did for DirectX 9.
    Download link
    Resorep | Undertow
    Prepare the following files:
    1. Screenshot of Resorep window.
    2. ui.log, uisettings.ini, dllsettings.ini files in the Resorep folder.
    3. Dll log file. Its path is specified in the "Dll log location" section in the Resorep window.
    4. Screenshot of contents of a folder with game executable. For Black Desert it is the "bin64" folder.
    5. If you are using Resorep with Black Desert and game is crashing or hanging, prepare a copy of "My Documents\Black Desert\Dump" folder.
    Now copy all these files into some folder and create a ZIP archive of that folder. Upload this ZIP archive to some file hosting e.g. MediaFire Send me a private message with the following information:
    1. Link to ZIP archive
    2. Problem description.
    3. Your Windows version.
    Remove all applications from hooked application list in Resorep UI if you can.
    Perform a file search on a game folder. Find and delete all instances of the following files (only inside the game folder or any subfolders, not system-wide!):
    game_d3d11.dll
    ori_d3d11.dll
    d3d11.dll
    dllsettings.ini
    After that you may try to use Resorep again carefully.
    Limitations of current version
    1. Supports only 64-bit applications.
    2. No global hooking mechanism.
    3. Supports only one of many texture loading mechanism of DirectX 11.
    4. Supports only DirectX 11 applications.
    5. Has some unknown bugs.
    List of supported games
    • Black Desert Online (64-bit DirectX 11 version)
    • Rise of the Tomb Raider (64-bit DirectX 11 version)
    • Sleeping Dogs Definitive Edition (64-bit DirectX 11 version)
    • Assassin's Creed Rogue (64-bit DirectX 11 version)
    • Batman Arkham Knight (64-bit DirectX 11 version)
    • Just Cause 3 (64-bit DirectX 11 version)
    Usage instructions
    For mod users
    1. Download and install Windows x64 version of Java Runtime Environment from Java SE Runtime Environment 8 - Downloads
    2. Launch resorep.jar - double click it in Windows Explorer.
    3. It will prompt for the DirectX 11 64-bit dll location. Set it. It is usually C:\Windows\System32\d3d11.dll.
    4. Make sure that your Windows user has write rights for game folder!
    5. Click the "+" button in the "Applications to hook" section.
    6. Choose the game executable. Not the game launcher but game itself.
    7. [Optional] Change "Load modded textures from" path if you wish.
    8. You may close the resorep.jar application now.
    9. Find and download modded textures (for BDO see the "Where to find modded textures for BDO" section).
    10. Unpack and copy modded textures into folder specified by "Load modded textures from" path.
    11. Launch the game.
    For modders
    1. Download and install Windows x64 version of Java Runtime Environment from Java SE Runtime Environment 8 - Downloads
    2. Launch resorep.jar - double click it in Windows Explorer.
    3. It will prompt for the DirectX 11 64-bit dll location. Set it. It is usually C:\Windows\System32\d3d11.dll.
    4. Make sure that your Windows user has write rights for game folder!
    5. Click the "+" button in the "Applications to hook" section.
    6. Choose the game executable. Not the game launcher but game itself.
    7. [Optional] Change "Save original textures to" path if you wish.
    8. Launch the game.
    9. To reduce amount of captured textures, wait for the moment when the texture you are going to mod is about to be displayed for the first time.
    10. Enable the "Save original textures" checkbox when the texture you are going to mod is about to be displayed for the first time.
    11. Disable the "Save original textures" checkbox when the texture you are going to mod was displayed in-game.
    12. Open folder specified in "Save original textures to".
    13. Find the texture you are going to mod in one of the subfolders. There are different subfolders for different texture compression algorithms.
    14. Mod the texture (use Intel(R) DDS Plugin for Photoshop - https://software.intel.com/en-us/articles/intel-texture-works-plugin ). You may change the texture resolution as you wish as long as you keep original aspect ratio.
    15. Save the texture to other folder using the same compression algorithm and with mipmaps setting set to "Generate mipmaps". You may add arbitrary text to file name by placing ~ after number in file name and placing text after ~. E.g. "123456789~Example text.dds"
    16. Do not delete the original unmodded dds! It may be required later to autoupdate your modded textures in case of Resorep hashing algorithm change.
    17. Now when you have the modded texture use steps from the "For mod users" section.
    Manual installation method:
    • Copy C:\Windows\System32\d3d11.dll to same folder as BlackDesert64.exe file.
    • Rename copied d3d11.dll to ori_d3d11.dll (in the game folder, not in the system folder!)
    • Copy dx11proxy64.dll to same folder as BlackDesert64.exe file.
    • Rename copied dx11proxy64.dll in BlackDesert folder to d3d11.dll
    • Create dllsettings.txt file in same folder as BlackDesert64.exe file.
    • Open dllsettings.txt file with Notepad.
    • Put the following text inside dllsettings.txt file:

    Code:
    modded_textures_folder=C:\temp\modded
    original_textures_folder=C:\temp\original
    save_textures=false
    application_to_hook=C:\Games\BlackDesert\live\bin64\BlackDesert64.exe
    dll_log_file=C:\temp\dll.log
    • Download, extract and put modded textures into some folder.
    • Change modded_textures_folder path to folder with modded textures.
    • Change original_textures_folder to some empty existing folder.
    • Change application_to_hook to path to your BlackDesert64.exe file.
    • Change folder in dll_log_file path to some existing folder.
    • Save and close dllsettings.txt file.
    • Change the dllsettings.txt file extension to dllsettings.ini
    • Run the game.
    Roadmap
    Things that (hopefully) will be implemented in the future:
    1. 32-bit applications support.
    2. Global hooking.
    3. Support for different DirectX 11 texture loading methods.
    4. Support for other texture formats.
    5. Support for DDS with data arrays.
    6. Online update.
    7. Other cool stuff.
    How to contribute
    If you have some C/C++/Java skills and willing to contribute - PM me to get access to source code repository (hopefully it will become open source later).
     
    Last edited: Dec 9, 2016 at 7:32 PM
    NiteGuardian, Lopt, AngEviL and 26 others like this.
  2. Ray Wing

    Ray Wing Casual Client Content Creator

    Joined:
    Jun 12, 2013
    Messages:
    211
    Likes Received:
    118
    Actually I just wanted a BDO patch badly. If you know any other 64-bit DirectX 11 games, it would be great if you try the tool and post the result.
     
    Last edited: Feb 16, 2016
  3. Ray Wing

    Ray Wing Casual Client Content Creator

    Joined:
    Jun 12, 2013
    Messages:
    211
    Likes Received:
    118

    Attached Files:

    Last edited: Mar 8, 2016
  4. Naduron

    Naduron Club Regular Content Creator

    Joined:
    Apr 23, 2012
    Messages:
    709
    Likes Received:
    104
    "Fail to load d3d11.dll" during loading of the client when i execute it from the BDO Launcher.
    I have Win 7 64

    [​IMG]
     
  5. Ray Wing

    Ray Wing Casual Client Content Creator

    Joined:
    Jun 12, 2013
    Messages:
    211
    Likes Received:
    118
    Do you have the same error if you launch the BlackDesert64.exe directly from bin64 folder?
    Just tested it with char creator. Works on my PC:
    2016-02-18_0311.png
    Now need to find out what prevents it from working on yours and fix that.
     
    Last edited: Feb 18, 2016
    Phuket99 likes this.
  6. Naduron

    Naduron Club Regular Content Creator

    Joined:
    Apr 23, 2012
    Messages:
    709
    Likes Received:
    104
    Executed: BlackDesert64.exe recieved message "CommandLineParam"
    I need to start it from the launcher.
     
  7. Naduron

    Naduron Club Regular Content Creator

    Joined:
    Apr 23, 2012
    Messages:
    709
    Likes Received:
    104
    Managed to launch the client (BlackDesert64.exe) thru the launcher, with the Resorep hooked to "BlackDesert64.exe"
    But when i am at the character screen and click on "Save original Texture to" nothing happens
    Is it the "Save all texture" feature from Umod? cause nothing is being saved when i click on it.
     
  8. Ray Wing

    Ray Wing Casual Client Content Creator

    Joined:
    Jun 12, 2013
    Messages:
    211
    Likes Received:
    118
    When the Save textures checkbox is enabled, application will save all loaded textures into specified folder. But the checkbox has to be enabled before the moment a texture is loaded. You can't get the texture if the checkbox was disabled and the texture is already loaded.
    Please also verify that the original textures folder contains "DXT1", "DXT5" and "uncompressed" subfolders (it should be created automatically).
    You may also try to use the path without spaces and special characters for original textures folder.
     
  9. Naduron

    Naduron Club Regular Content Creator

    Joined:
    Apr 23, 2012
    Messages:
    709
    Likes Received:
    104
    Feels like as if the hook or the d3d11 that is the problem, seems like it won't hook on the d3d11

    [​IMG]

    tested it on Planetside 2 64 also but nothing happens there either when i try to "save original texture to"
     
    Phuket99 and Lochanskiy like this.
  10. Ray Wing

    Ray Wing Casual Client Content Creator

    Joined:
    Jun 12, 2013
    Messages:
    211
    Likes Received:
    118
    Please open \Black Desert Character Creator\bin64\dllsettings.ini, add the following line and save file:
    dll_log_level=debug
    After that run the Character Creator and send me the dll log file (it is located in the file specified in Resorep settings or in the dll.log file in the Character Creator\bin64\)

    P.S. You just found a nasty bug - settings related to dll are applied only at the moment an application is added to the hooked applications list. You need to remove and readd the application to hooked apps list if you changed any settings in the Resorep UI. Going to fix that soon.
     
    Last edited: Feb 18, 2016
  11. Ray Wing

    Ray Wing Casual Client Content Creator

    Joined:
    Jun 12, 2013
    Messages:
    211
    Likes Received:
    118
    Fixed dll settings update. Now should be synced with UI settings. New version here: Resorep | Undertow

    Please remove all hooked apps from Resorep UI and add them back after update.
     
    Last edited: Feb 18, 2016
  12. Naduron

    Naduron Club Regular Content Creator

    Joined:
    Apr 23, 2012
    Messages:
    709
    Likes Received:
    104
    Deleted all files from Resorep folder -> downloaded the new Resorep 1.0.1
    It is back to the previous problem again, it crashes during loading of the client.
    It doesn't create any log files after i added the dll_log_level=debug

    [​IMG]


    btw where is the temp files saved for the reso? the dir was saved even when i deleted all the files in the Resorep and i tried looking in the windows local folders i couldn't find it.
     
  13. Naduron

    Naduron Club Regular Content Creator

    Joined:
    Apr 23, 2012
    Messages:
    709
    Likes Received:
    104
    Nvm i was tired xD
    thought the log was from the reso ::p
     
  14. Ray Wing

    Ray Wing Casual Client Content Creator

    Joined:
    Jun 12, 2013
    Messages:
    211
    Likes Received:
    118
    Naduron, could you please add BlackDesert64.exe to hooked applications list, launch the game and send me the contents of your bin64 folder after that? I will try to reproduce and fix the issue.
     
  15. Naduron

    Naduron Club Regular Content Creator

    Joined:
    Apr 23, 2012
    Messages:
    709
    Likes Received:
    104

    Attached Files:

  16. Ray Wing

    Ray Wing Casual Client Content Creator

    Joined:
    Jun 12, 2013
    Messages:
    211
    Likes Received:
    118
    Thank you. I think I know a possible reason. You are probably using 32-bit Java Runtime Environment. That's because the link to download Java that I provided by default leads to 32-bit version.

    On 64-bit Windows the System32 folder contains 64-bit dlls. But for 32-bit applications requests to System32 folder are transparently redirected to 32-bit version of the folder. If you are using 32-bit Java the Resorep sees 32-bit d3d11.dll in System32 folder and uses it instead of 64-bit d3d11.dll.

    To fix that you have to do one of the following:
    OR
    • Open Windows\System32 with Windows Explorer (it's 64-bit app) and copy d3d11.dll from that folder to any location. Launch Resorep under 32-bit Java Runtime Environment and point it to this 64-bit d3d11.dll.
    after that just in case remove and readd BlackDesert64.exe to hooked applications list.

    Later today I will fix the Java link in readme and instructions to point to 64-bit Java Runtime Environment.
     
  17. PrincessNicky

    PrincessNicky Swell Supporter Content Creator

    Joined:
    May 11, 2012
    Messages:
    498
    Likes Received:
    206
    Hiya, I'm trying to use your new program in Win10 and get stuck at step 5.
    I try to add the same three .exe files that Naduron has used above and also the same three files from the CBT2 game client, but each time I just get this error:

    [​IMG]
     
  18. Ray Wing

    Ray Wing Casual Client Content Creator

    Joined:
    Jun 12, 2013
    Messages:
    211
    Likes Received:
    118
    PrincessNicky, there should be a *ui.log file near resorep.jar. Could you please send it to me or post it here?

    For now you may try to install hook manually:
    1. Do not add any hooked apps to hooked apps list.
    2. Set all other settings in UI.
    3. Copy 64-bit d3d11.dll from system folder to BlackDesert64.exe file's folder.
    4. Rename copied d3d11.dll to ori_d3d11.dll (in the game folder, not in the system folder!)
    5. Copy dx11proxy64.dll to BlackDesert64.exe file's folder.
    6. Rename copied dx11proxy64.dll in BlackDesert folder to d3d11.dll
    7. Copy dllsettings.ini from resorep folder to BlackDesert64.exe file's folder.
    If that helps you may change hook settings by manual editing of dllsettings.ini in BlackDesert64.exe file's folder.
     
    Last edited: Feb 19, 2016
  19. PrincessNicky

    PrincessNicky Swell Supporter Content Creator

    Joined:
    May 11, 2012
    Messages:
    498
    Likes Received:
    206
    There's no such file as dx11proxy64.dll anywhere on my PC.
    ui.log sent to you via PM.
     
  20. Naduron

    Naduron Club Regular Content Creator

    Joined:
    Apr 23, 2012
    Messages:
    709
    Likes Received:
    104
    Hmm every time i use the Reso on the BDO so does that error keeps pop-up even tho the Reso has been turned off.
    I must re-install the BDO to fix the error.