[Tool] Resorep - DirectX 11 texture replacer (5 Viewers)

Ray Wing

Content Creator
Joined
Jun 12, 2013
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 "My Documents\Resorep" folder.
  3. Dll log file. Its path is specified in advanced settings dialog. To get a dll log - close a game, open Resorep, open advanced settings, enable mod creator mode, enable dll log, launch a game, see resorepDll.log file in the "My Documents\Resorep" folder.
  4. Screenshot of contents of a folder with game executable. Please enable table view - I need file sizes to be visible.
  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. No global hooking mechanism.
  2. Supports only one of many texture loading mechanism of DirectX 11.
  3. Supports only DirectX 11 applications.
  4. 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)
For more complete list please see Resorep Compatibility List
Many thanks to Lazyeye007 for the list.
Usage instructions
For mod users
  1. Download and install Microsoft Visual C++ 2015 Redistributable from Download Visual C++ Redistributable for Visual Studio 2015 from Official Microsoft Download Center
  2. Download and install Windows x64 version of Java Runtime Environment from Java SE Runtime Environment 8 - Downloads
  3. Launch resorep.jar - double click it in Windows Explorer.
  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. Make sure that your Windows user has write rights for game folder!
  4. Click the "+" button in the "Applications to hook" section.
  5. Choose the game executable. Not the game launcher but game itself.
  6. [Optional] Change "Save original textures to" path if you wish.
  7. Launch the game.
  8. 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.
  9. Enable the "Save original textures" checkbox when the texture you are going to mod is about to be displayed for the first time.
  10. Disable the "Save original textures" checkbox when the texture you are going to mod was displayed in-game.
  11. Open folder specified in "Save original textures to".
  12. Find the texture you are going to mod in one of the subfolders. There are different subfolders for different texture compression algorithms.
  13. Mod the texture (use Intel(R) DDS Plugin for Photoshop - Intel® Texture Works Plugin for Photoshop* | Intel® Software ). You may change the texture resolution as you wish as long as you keep original aspect ratio.
  14. 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"
  15. Do not delete the original unmodded dds! It may be required later to autoupdate your modded textures in case of Resorep hashing algorithm change.
  16. [Optional step] If you want to encrypt your textures - drop me a private message
  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 game's .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 game's .exe file.
  • Rename copied dx11proxy64.dll in game folder to d3d11.dll
  • Create dllsettings.txt file in same folder as game's .exe file.
  • Open dllsettings.txt file with Notepad.
  • Put the following text inside dllsettings.txt file:

Code:
version=1.7.0
modded_textures_folder=C:\Users\RayWing\Documents\Resorep\modded
mod_creator_mode_enabled=false
dll_log_enabled=false
dll_log_file=C:\Users\RayWing\Documents\Resorep\resorepDll.log
save_textures=false
original_textures_folder=C:\Users\RayWing\Documents\Resorep\original
application_to_hook=G:\Games\Steam\steamapps\common\NieRAutomata\NieRAutomata.exe|BIT64
  • 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 game's .exe file (add |BIT64 or |BIT32 at the end depending on application bitness, use |BIT64 if you are not sure).
  • 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.
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:

Ray Wing

Content Creator
Joined
Jun 12, 2013
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:

Naduron

Content Creator
Joined
Apr 23, 2012
"Fail to load d3d11.dll" during loading of the client when i execute it from the BDO Launcher.
I have Win 7 64

pL0quFk.jpg
 

Ray Wing

Content Creator
Joined
Jun 12, 2013
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.
Now need to find out what prevents it from working on yours and fix that.
 
Last edited:

Naduron

Content Creator
Joined
Apr 23, 2012
Executed: BlackDesert64.exe recieved message "CommandLineParam"
I need to start it from the launcher.
 

Naduron

Content Creator
Joined
Apr 23, 2012
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.
 

Ray Wing

Content Creator
Joined
Jun 12, 2013
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.
 

Naduron

Content Creator
Joined
Apr 23, 2012
Feels like as if the hook or the d3d11 that is the problem, seems like it won't hook on the d3d11

G5hHNf9.jpg


tested it on Planetside 2 64 also but nothing happens there either when i try to "save original texture to"
 

Ray Wing

Content Creator
Joined
Jun 12, 2013
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:

Naduron

Content Creator
Joined
Apr 23, 2012
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

OaExgUA.jpg



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.
 

Ray Wing

Content Creator
Joined
Jun 12, 2013
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.
 

Ray Wing

Content Creator
Joined
Jun 12, 2013
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.
 

PrincessNicky

Content Creator
Joined
May 11, 2012
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:

error_zpst8xensng.jpg
 

Ray Wing

Content Creator
Joined
Jun 12, 2013
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:

PrincessNicky

Content Creator
Joined
May 11, 2012
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.

There's no such file as dx11proxy64.dll anywhere on my PC.
ui.log sent to you via PM.
 

Naduron

Content Creator
Joined
Apr 23, 2012
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.
 

Users who are viewing this thread

Top


Are you 18 or older?

This website requires you to be 18 years of age or older. Please verify your age to view the content, or click Exit to leave.