forums.PPSSPP.org
Where do I go to find instructions for creating HD Texture Packs? - Printable Version

+- forums.PPSSPP.org (https://forums.ppsspp.org)
+-- Forum: PPSSPP - Playstation Portable Simulator Suitable for Playing Portably (/forumdisplay.php?fid=1)
+--- Forum: Development (/forumdisplay.php?fid=3)
+--- Thread: Where do I go to find instructions for creating HD Texture Packs? (/showthread.php?tid=25094)



Where do I go to find instructions for creating HD Texture Packs? - nicefunfungirl - 04-02-2019 06:34 AM

I'm currently trying to create HD Textures for Corpse Party (The first game at least/More accurately replace the bust sprites and CG images), and I'm not sure how to go about it. What I have found so far, it's helped to see how to replace the textures, but it's a matter of getting them to work right now.

I think these were for the basic texture recolor maybe? But not necessarily HD Textures, as the texture warped positions and got all weird after it was replaced, and I have zero ideas how to work it from here on out..


RE: Where do I go to find instructions for creating HD Texture Packs? - LunaMoo - 04-02-2019 04:48 PM

This thread is a somewhat good source of information with examples and lengthy explanations, through quite a bit outdated and if you're reading it from the start make note that the options for it are existing within UI under settings->tools->dev tools and in recent builds you will also find new hotkeys which can be set to quickly toggle texture replacement and texture dumping.

I also don't remember if all the textures.ini options are mentioned there, so basically we have:
Code:
hash = OPTION
where "OPTION" must be one of the:
Code:
quick
xxh32
xxh64
The difference between those will be strenght of the hash and performance, quick is the fastest, but can fail misreably in some games, in fact changing it to one of the other can fix some texture issues in some games even without actually replacing textures. On PC at least I think even the slowest one would be fast enough, but mobile as well as ancient low end laptops users experience might vary;p.

There are also other options which all can be set to "true" to activate or "false" to deactivate:
Code:
video - will allow dumping textures from the video, will not work for all videos through
ignoreAddress - does what it says, ignores address saving textures only based on clut hash and texture hash since addresses are in some games changing rapidly generating thousands of textures, it also requires safer hash option so basically any except "quick"
reduceHash - hashes only half of the texture, this is dangerous for many games, however there's an unfortunate, but somewhat common situation where textures include other/random data within them and can't be replaced by full hash, in some cases this can make texture replacement usable, but again, it should never be casually used, just as the previous option it also requires safer hash,

Those special options are more workarounds to potential problems than anything else through as the main tools of texture replacement are hashes which you can read about in here including syntax explained with examples. There's also hashranges which can be very powerful tool in some cases, unfortunately most of the time can't be used.

Worth mentioning that instead of just dumping all the textures you can use GE debugger(Windows only I guess;p) to export texture you're viewing, doing so will not give you a hash/filename reducing the usefulness for replacement, however for adventurous people, my personal builds have an additional option in GE debugger to also generate that filename/hash. The reason it doesn't exist outside of my branch is pretty much my lazy and hackish implementation, it's also not that essential since dumping all textures is enough for most people.

Textures.ini file which you probably saw in other texture packs and can even create a base one from ppsspp ui, is technically optional, however not only it does enable all the above tools, it also allows organizing textures into folders nicely making it really a must have for any bigger texture replacement project.

You mentioned warped textures after replacing them, most likely you didn't kept the right dimensions and exact positions on your replacement matching original texture. When creating new textures from 0, it's nice to use a modern graphic editing software with layers and start by resizing original texture, preferably by some integer multiplier then use it as background and draw new things on top of it making sure you allign everything properly. If the texture makes it hard to see where parts of it end up as it really does not have to resemble a picture you end up seeing in-game, you might also place some colorful shapes or numbers on it and use that in game to find out where those parts are mapped over a model.
Quite commonly PSP games have remasters or separate releases on different, more powerful platforms, but even if you can use the textures from one platform to another, it sometimes might be mapped completely differently and require heavy edits. IE in PC version a texture of some armor might be very wasteful and simply be drawn as seen on a model with plenty of space wasted, but the same texture on psp might for example only have 1 leg and 1 arm part reusing those for both legs/arms and have all the other parts stuffed tightly around due to very limited memory PSP has. Sometimes it's extremely hard to even recognize the texture you want to replace without looking at it in GE debugger because of how stuffed they are.

Last thing, each game works differently and there's no guarantee texture replacement will be easy or even possible with every game. There will be exceptions, but 2D games tend to be more problematic and emulated ports of older generation games are commonly impossible.


RE: Where do I go to find instructions for creating HD Texture Packs? - nicefunfungirl - 04-02-2019 05:15 PM

(04-02-2019 04:48 PM)LunaMoo Wrote:  This thread is a somewhat good source of information with examples and lengthy explanations, through quite a bit outdated and if you're reading it from the start make note that the options for it are existing within UI under settings->tools->dev tools and in recent builds you will also find new hotkeys which can be set to quickly toggle texture replacement and texture dumping.

I also don't remember if all the textures.ini options are mentioned there, so basically we have:
Code:
hash = OPTION
where "OPTION" must be one of the:
Code:
quick
xxh32
xxh64
The difference between those will be strenght of the hash and performance, quick is the fastest, but can fail misreably in some games, in fact changing it to one of the other can fix some texture issues in some games even without actually replacing textures. On PC at least I think even the slowest one would be fast enough, but mobile as well as ancient low end laptops users experience might vary;p.

There are also other options which all can be set to "true" to activate or "false" to deactivate:
Code:
video - will allow dumping textures from the video, will not work for all videos through
ignoreAddress - does what it says, ignores address saving textures only based on clut hash and texture hash since addresses are in some games changing rapidly generating thousands of textures, it also requires safer hash option so basically any except "quick"
reduceHash - hashes only half of the texture, this is dangerous for many games, however there's an unfortunate, but somewhat common situation where textures include other/random data within them and can't be replaced by full hash, in some cases this can make texture replacement usable, but again, it should never be casually used, just as the previous option it also requires safer hash,

Those special options are more workarounds to potential problems than anything else through as the main tools of texture replacement are hashes which you can read about in here including syntax explained with examples. There's also hashranges which can be very powerful tool in some cases, unfortunately most of the time can't be used.

Worth mentioning that instead of just dumping all the textures you can use GE debugger(Windows only I guess;p) to export texture you're viewing, doing so will not give you a hash/filename reducing the usefulness for replacement, however for adventurous people, my personal builds have an additional option in GE debugger to also generate that filename/hash. The reason it doesn't exist outside of my branch is pretty much my lazy and hackish implementation, it's also not that essential since dumping all textures is enough for most people.

Textures.ini file which you probably saw in other texture packs and can even create a base one from ppsspp ui, is technically optional, however not only it does enable all the above tools, it also allows organizing textures into folders nicely making it really a must have for any bigger texture replacement project.

You mentioned warped textures after replacing them, most likely you didn't kept the right dimensions and exact positions on your replacement matching original texture. When creating new textures from 0, it's nice to use a modern graphic editing software with layers and start by resizing original texture, preferably by some integer multiplier then use it as background and draw new things on top of it making sure you allign everything properly. If the texture makes it hard to see where parts of it end up as it really does not have to resemble a picture you end up seeing in-game, you might also place some colorful shapes or numbers on it and use that in game to find out where those parts are mapped over a model.
Quite commonly PSP games have remasters or separate releases on different, more powerful platforms, but even if you can use the textures from one platform to another, it sometimes might be mapped completely differently and require heavy edits. IE in PC version a texture of some armor might be very wasteful and simply be drawn as seen on a model with plenty of space wasted, but the same texture on psp might for example only have 1 leg and 1 arm part reusing those for both legs/arms and have all the other parts stuffed tightly around due to very limited memory PSP has. Sometimes it's extremely hard to even recognize the texture you want to replace without looking at it in GE debugger because of how stuffed they are.

Last thing, each game works differently and there's no guarantee texture replacement will be easy or even possible with every game. There will be exceptions, but 2D games tend to be more problematic and emulated ports of older generation games are commonly impossible.

Thank you! Considering that Corpse Party is 100% 2D though, it might end up impossible at the end of the day unfortunately..


RE: Where do I go to find instructions for creating HD Texture Packs? - LunaMoo - 04-02-2019 05:37 PM

Don't give up too early, there are always exceptions, besides you don't have to create a full replacement pack, often doing relatively small changes like fonts or ui elements can greatly improve overall experience. Some 2D games tend to work nicely with texture scaling as well, but still parts of those games might look horribly wrong with it and you could concentrate on replacing only such textures since automatic scaling can work together with replacement just fine. In fact you can dump scaled textures to give an easier start up for replacement ~ guess I forgot to mention that.