[Dev question] Possible to edit controller button images/text strings of PS2 Games?
#1
So I've been playing games with PCSX2 again. I'm using the kb and mouse just now due to lack of a controller to play with, plus I actually prefer it. Just a thought I had while playing, would it be possible somehow to modify the controller images shown in game and or text relating to the pad controls? As in when a game says press X, O etc or displays a controller button image, could that be modified somehow in the game data to show different button text strings and or images such as keyboard/mouse buttons, or maybe even different controller buttons such as XBOX and others? An example being, instead of press X to jump it would show as press space bar to jump? I know it's a bit wacky, not sure how feasible it would be. I know PS2 games can be modded so I assume it may be possible, but don't know enough to say for sure. I think it would probably be a different process for each game which would be cumbersome, but maybe there is a unified way the games access the controller button images/button text data? Anyone know if this is possible?
Reply

Sponsored links

#2
It could be done, as it's been done for PC games. However, it would involve patching the game data itself manually. It's not something PCSX2 could do on the fly because there is no real way to determine which textures is a button image. Furthermore, it would be different for each game.

It's possible for some games in Dolphin, since Dolphin has built in texture dumping and loading. But since PCSX2 doesn't, it's not really something easy to do.
[Image: XTe1j6J.png]
Gaming Rig: Intel i7 6700k @ 4.8Ghz | GTX 1070 TI | 32GB RAM | 960GB(480GB+480GB RAID0) SSD | 2x 1TB HDD
Reply
#3
(06-22-2014, 06:07 AM)Blyss Sarania Wrote: It could be done, as it's been done for PC games. However, it would involve patching the game data itself manually. It's not something PCSX2 could do on the fly because there is no real way to determine which textures is a button image. Furthermore, it would be different for each game.

It's possible for some games in Dolphin, since Dolphin has built in texture dumping and loading. But since PCSX2 doesn't, it's not really something easy to do.

Interesting. I just had a look into the texture loading/dumping functionality dolphin has, looks like it extends beyond simple replacement of button textures, whole hd texture replacements have been made for Xenoblade :o Are you on the PCSX2 dev team? Do you think the ability to load/dump textures is on the agenda for implementation anytime soon in PCSX2? Seems like that's one of the last major things it could do with. Also could you give me some info on how I would go about doing this manually(replacing button images/button text strings)? I would think it would require knowledge on a few different things so if you could point me towards some resources of the background prerequisite knowledge I'm likely to need in order to go about this, that would be good, thanks.
Reply
#4
GSDX would require an entire rewrite inorder to allow for dumping and loading of textures, Sadly no-one has taken up the mantle and for the foreseeable future, no-one will as the only one to do heavy work on GSDX (Gabest) is absent
Intel Core i7-8700k @5ghz
G.Skill 16GB DDR4 @3600mhz
GeForce GTX 1080 8GB
Windows 10 x64
Reply
#5
I am not on the dev team, I am just a humble mod Tongue

But anyway, it's been requested several times, and I don't think it's happening any time soon.

Now, you could do it outside of PCSX2, but that would be a very difficult task. You'd need to extract the textures from the game, which means understanding that particular games image and texture and archive formats. Then you'd need to modify the textures, and put them back in.

It is possible. I wrote a program called TMX explorer once which dumps images from the Persona games. Extending it to have the functionality to inject images back in is not much more work.

But consider, it took me and several others a few weeks to reverse engineer the TMX format, plus all the container formats Atlus uses. Then I had to write code to dump those files, convert them to PNG, etc. And that's just for one game. Well two really, since it works for both Persona games on the PS2. But you get the idea. It's prohibitively difficult to do that just to change the buttons.
[Image: XTe1j6J.png]
Gaming Rig: Intel i7 6700k @ 4.8Ghz | GTX 1070 TI | 32GB RAM | 960GB(480GB+480GB RAID0) SSD | 2x 1TB HDD
Reply
#6
Sorta ontopic, Could we use your program to inject higher resolution fonts into Persona 3/4? and possibly other HUD elements? Or would that have issues with the internal game engine? (i'm sure it would sadly..)
Intel Core i7-8700k @5ghz
G.Skill 16GB DDR4 @3600mhz
GeForce GTX 1080 8GB
Windows 10 x64
Reply
#7
Some of the fonts and the hud are stored in TMX images, and if I added the functionality to inject back in, you could MODIFY them.

However, I expect that the engine expects the fonts to be in a certain size, and increasing the resolution would upset it.
[Image: XTe1j6J.png]
Gaming Rig: Intel i7 6700k @ 4.8Ghz | GTX 1070 TI | 32GB RAM | 960GB(480GB+480GB RAID0) SSD | 2x 1TB HDD
Reply
#8
Do you really need to update textures? Probably text is not saved as image but as text or? So one would need to replace the string 'press start' by 'press enter', or?
Reply
#9
Text is saved as plain text. But it is rendered with a font. A font is stored in the images.

As for the buttons, he is talking about like images like PS - X PS - Circle PS Triangle
[Image: XTe1j6J.png]
Gaming Rig: Intel i7 6700k @ 4.8Ghz | GTX 1070 TI | 32GB RAM | 960GB(480GB+480GB RAID0) SSD | 2x 1TB HDD
Reply
#10
It'd make much more sense to just get a controller. Using a keyboard for PS2 games is a bad idea since they were made to be used with a controller.
Reply




Users browsing this thread: 2 Guest(s)