12-15-2020, 07:25 PM
This idea came to me recently, and I feel the need to share it. Whenever there was a new Sly Cooper development build that was discovered, it needed CRC fixes. Only recently did it occur to me that loading Gsdx hacks based on the disc image's CRC is kind of a flawed system. Let me explain.
Although "standard" users won't ever run into trouble with this, I've often come across situations where I need to patch a disc image, either to apply mods directly into the filesystem or to enable debug functionality in developer prototypes. That being said, whenever any change is made to the disc image file, the CRC changes. This means that the game-specific Gsdx hacks won't apply to it anymore because - even though it's the same game - the CRC has changed.
I have a proposed solution to this - load game-specific Gsdx hacks based on either:
1. The filename of the executable (i.e. look for SLUS_304.64)
2. The game's title (isn't there an internal list of game titles already?)
3. Some other identifier that I'm not aware of that PS2 games use
This way, the disc image files could be modified without losing the ability to play them smoothly because the game-specific hacks would still load for them. I'm sure there's some technical reason why CRC is used, but no matter how much I think about it, this makes more sense to me.
Although "standard" users won't ever run into trouble with this, I've often come across situations where I need to patch a disc image, either to apply mods directly into the filesystem or to enable debug functionality in developer prototypes. That being said, whenever any change is made to the disc image file, the CRC changes. This means that the game-specific Gsdx hacks won't apply to it anymore because - even though it's the same game - the CRC has changed.
I have a proposed solution to this - load game-specific Gsdx hacks based on either:
1. The filename of the executable (i.e. look for SLUS_304.64)
2. The game's title (isn't there an internal list of game titles already?)
3. Some other identifier that I'm not aware of that PS2 games use
This way, the disc image files could be modified without losing the ability to play them smoothly because the game-specific hacks would still load for them. I'm sure there's some technical reason why CRC is used, but no matter how much I think about it, this makes more sense to me.