Texture replacement madness. IMPORTANT

Consider everything in this thread deprecated, follow these links instead:

http://forums.ppsspp.org/showthread.php?tid=18963



https://github.com/hrydgard/ppsspp/pull/8715



Well, first off hi, my first post on these forums.



I've been using PPSSPP for a long time and after a series of events i am now able to replace textures in games (in D3D9 mode).



It started in an attempt to rip the Maps from Monster Hunter games, using Ninja Ripper, it worked flawlessly and i was able to obtain all the maps from F1, FU and P3rd, later i tried TexMod to modify textures and well, it worked, for a time, when it didn't work anymore i started messing with stuff to learn what was it that allowed TexMod to work, then i learned that the d3d9.dll file created by ninja ripper in the PPSSPP folder was necessary for TexMod.



So i went ahead and replaced textures, first with random online textures and later with PS2 equivalents of the same textures (also obtained with ninja ripper) and my own edits to those textures, like flipped colors and other basic stuff.



So the next thing i did was to use uMod instead, which is an updated version of TexMod, seemingly also relying on the dll created by ninja ripper, it also worked.



What's the true purpose of this thread?, well, motivate someone with the knowledge to implement this as a feature of the emulator instead, so it also works with OpenGL backend, of course i did search beforehand and i found words about this being feasible, but nothing concrete or recent, of course, it is understandable if people would rather work on stuff to polish the actual emulation.



I'd like to see other people experimenting with these programs and posting about the results, well, that's all i wanted to say.



How to achieve this:

1.-Download Ninja Ripper

2.-Download uMod 1.x

Optional.-Download Paint.Net and a plugin to flip/rotate rgb channels(Search for "Color Flip/Rotate plugin".

3.-Start PPSSPP and set it to D3D9 backend and close it after it restarts.

4.-Open Ninja Ripper, set it to D3D9 Wrapper mode(Below the Run button), set the target Exe to ppsspp.exe, Dir should be the directory where ppsspp is stored, then click run.

5.-After PPSSPP has started, close it and check if the folder for PPSSPP contains a file called d3d9.dll, if it does, continue to next step.

6.-Open uMod, go to Main-Start Game through uMod-Select the game to start and select the PPSSPP executable, after this it should start and the uMod windows will change.

7.-Back to the uMod windows, set buttons for back, save and next (i usually put them on VK_Left, Up and Right respectively), thick the save single texture box and set a save directory, now click update and go back to ppsspp, notice how now there's red text indicating what texture you selected, now go to a game and get to the part where the texture you wanna modify appears and browse the textures with the Back and Next buttons you set before, the selected texture will turn Green in the game, so keep browsing until that texture turns green and press the Save button you set before.

8.-Now go and modify the texture you saved, it is in DDS format, which Paint.Net can open.

9.-You'll notice the texture has wrong colors, as its RGB channels are inverted (BGR), you need to find a way to flip them, either with the plugin i mentioned before or another method you find online, if you found the plugin i mentioned it should show several squares which you can click, click on the lower left one, notice how below the squares there's text that says B^G^R^ or similar, and click ok.

10.-When you're done with editing the texture, run the color flip again and save it.

11.-Go back to uMod and run ppsspp again, then click open texture/package and select the texture you modified and press the Update button, go back into the game and into the part where the texture you modified appears and your modified texture should be there.

12.-For multiple textures, you can put them inside a Zip file and load that file with the open texture/package button. Consider everything in this thread deprecated, follow these links instead:Well, first off hi, my first post on these forums.I've been using PPSSPP for a long time and after a series of events i am now able to replace textures in games (in D3D9 mode).It started in an attempt to rip the Maps from Monster Hunter games, using Ninja Ripper, it worked flawlessly and i was able to obtain all the maps from F1, FU and P3rd, later i tried TexMod to modify textures and well, it worked, for a time, when it didn't work anymore i started messing with stuff to learn what was it that allowed TexMod to work, then i learned that the d3d9.dll file created by ninja ripper in the PPSSPP folder was necessary for TexMod.So i went ahead and replaced textures, first with random online textures and later with PS2 equivalents of the same textures (also obtained with ninja ripper) and my own edits to those textures, like flipped colors and other basic stuff.So the next thing i did was to use uMod instead, which is an updated version of TexMod, seemingly also relying on the dll created by ninja ripper, it also worked.What's the true purpose of this thread?, well, motivate someone with the knowledge to implement this as a feature of the emulator instead, so it also works with OpenGL backend, of course i did search beforehand and i found words about this being feasible, but nothing concrete or recent, of course, it is understandable if people would rather work on stuff to polish the actual emulation.I'd like to see other people experimenting with these programs and posting about the results, well, that's all i wanted to say.How to achieve this:1.-Download Ninja Ripper2.-Download uMod 1.xOptional.-Download Paint.Net and a plugin to flip/rotate rgb channels(Search for "Color Flip/Rotate plugin".3.-Start PPSSPP and set it to D3D9 backend and close it after it restarts.4.-Open Ninja Ripper, set it to D3D9 Wrapper mode(Below the Run button), set the target Exe to ppsspp.exe, Dir should be the directory where ppsspp is stored, then click run.5.-After PPSSPP has started, close it and check if the folder for PPSSPP contains a file called d3d9.dll, if it does, continue to next step.6.-Open uMod, go to Main-Start Game through uMod-Select the game to start and select the PPSSPP executable, after this it should start and the uMod windows will change.7.-Back to the uMod windows, set buttons for back, save and next (i usually put them on VK_Left, Up and Right respectively), thick the save single texture box and set a save directory, now click update and go back to ppsspp, notice how now there's red text indicating what texture you selected, now go to a game and get to the part where the texture you wanna modify appears and browse the textures with the Back and Next buttons you set before, the selected texture will turn Green in the game, so keep browsing until that texture turns green and press the Save button you set before.8.-Now go and modify the texture you saved, it is in DDS format, which Paint.Net can open.9.-You'll notice the texture has wrong colors, as its RGB channels are inverted (BGR), you need to find a way to flip them, either with the plugin i mentioned before or another method you find online, if you found the plugin i mentioned it should show several squares which you can click, click on the lower left one, notice how below the squares there's text that says B^G^R^ or similar, and click ok.10.-When you're done with editing the texture, run the color flip again and save it.11.-Go back to uMod and run ppsspp again, then click open texture/package and select the texture you modified and press the Update button, go back into the game and into the part where the texture you modified appears and your modified texture should be there.12.-For multiple textures, you can put them inside a Zip file and load that file with the open texture/package button.