Porting HD textures into games?
#1
I know officially pcsx2 does not support texture replacements. However recently I've discovered a project someone has been working on porting HD textures to KH2. 

https://www.youtube.com/watch?v=QkH7mFK39JM

from this video this person has patched hd textures into the iso running it on pcsx2.

I'm just wondering is this something we could use more commonly? I know of many games that could greatly benefit from this.
Reply

Sponsored links

#2
I guess if you can mod the isos directly it would be possible. But sounds like a whole lot of work. HD Texture packs are never an easy thing. For example, even after 2 years almost now they're still working on a full Xenoblade Chronicles pack for Dolphin atm. And they use .png files to 'replace' what you see basically. (Or dds/.tex as an alternative).

But yeah.. aside from modding the isos there's no other way atm. I doubt PCSX2 will have such a feature any time soon.
AMD Ryzen 5 3600 @ 3.60~4.20 GHz | Corsair Vengeance LPX 32 GB (2x16GB) DDR4-3200
MSI GeForce GTX 1660 Super @ 6 GB | Samsung 980 1TB | Windows 10 Pro x64 (22H2)
Reply
#3
(09-14-2015, 04:29 PM)Ryudo Wrote: I guess if you can mod the isos directly it would be possible. But sounds like a whole lot of work. HD Texture packs are never an easy thing. For example, even after 2 years almost now they're still working on a full Xenoblade Chronicles pack for Dolphin atm. And they use .png files to 'replace' what you see basically. (Or dds/.tex as an alternative).

But yeah.. aside from modding the isos there's no other way atm. I doubt PCSX2 will have such a feature any time soon.

Yeah one of the major advantages I could with this is getting menus and HUD to display in proper 16:9 instead of being stretched with the current widescreen methods.
Reply
#4
Well if I see it correctly you have two possibilities to inject textures. 1. by replacing them in the iso, 2. by injecting them live during rendering.

1. Requires that you change the iso in a way that it is still loadable by the ps2 bios (keep in mind that pcsx2 is a low level emulator which is bound to the bios). Doing that seems to be extraordinarily complicated. Even replacing simple text seems to be complicated. Obviously this approach doesn't work on a per game basis but every game needs to be patched for each texture you want to replace.

2. Sounds complicated but might be possible. I don't know how loading of textures happens on the ps2 but possibly not by a nice dictionary 'shortname'=>'texture' but by using the bios and some fancy memory accesses. You would now need to find these accesses, understand which file is requested and replace it by yours. This might be possible but again requires either high level emulation or low level emulation with per game dictionaries which probably need to be made manually again.

I think in HLE this whole approach is much easier than in LLE.

But actually I have no idea.
Reply
#5
On 1.
* Data are in a fat single archive. Potentially they just load texture based on a compiled constant offset.
* Data are in GS special format.
* You might need to update GS or game engine to properly setup the texture size (it changes the clamping/wrapping behavior)
* You still need on live patching as there is no free room in GS mem neither EE mem.

On 2.
Disclaimer, I don't know exactly the texture upload path (I suspect severals of them). Anyway, a solution will be to add a kind of metadata to each address of the EE mem/GS mem. For example, it could be the iso address of the data that will you propagate to GSdx. This way you will have an identifier of the texture to replace it with a new texture. It is very complex, and it will take months of dev (if it is even feasible).

An HLE bios might help a bit (on EE-Disk transfer) but not that much as the EE kernel is very light.
Reply




Users browsing this thread: 1 Guest(s)