I'm currently trying to see if it's possible to create a modified version of Dolphin in order to help bolster modding for a game, namely TimeSplitters: Future Perfect.
While TSFP has a decent amount of freedom in terms of modding, some of the very important stuff is still hardcoded.
As an example, the problem I'm currently trying to solve is what the game calls character sets. All levels have specific character sets that dictate which specific characters can be used on any given level. This is unfortunate when it comes to modding because of how restrictive it is.
However, the way the game handles these is by having a structure which contains different settings for the level, one of which is a pointer to the structure containing the level's character set data.
That means that if there were a way to change this pointer to point to somewhere with our custom character set data, (which would be ideal since it means we wouldn't have to strictly stick to the same or less character count as the original), we could easily bypass the hardcoded character set issue.
Ideally, the solution would be to have Dolphin read a file which details the custom character set data and store the information in a struct that matches what the game expects. Dolphin would then look up the location that the original pointer is at for whatever level is being modified and replace it somehow with a pointer to the data that Dolphin read instead.
Is this at all possible? I know that Dolphin can patch functions, I don't know if any of the same systems can be utilised to accomplish this too. Thanks in advance for the help.
While TSFP has a decent amount of freedom in terms of modding, some of the very important stuff is still hardcoded.
As an example, the problem I'm currently trying to solve is what the game calls character sets. All levels have specific character sets that dictate which specific characters can be used on any given level. This is unfortunate when it comes to modding because of how restrictive it is.
However, the way the game handles these is by having a structure which contains different settings for the level, one of which is a pointer to the structure containing the level's character set data.
That means that if there were a way to change this pointer to point to somewhere with our custom character set data, (which would be ideal since it means we wouldn't have to strictly stick to the same or less character count as the original), we could easily bypass the hardcoded character set issue.
Ideally, the solution would be to have Dolphin read a file which details the custom character set data and store the information in a struct that matches what the game expects. Dolphin would then look up the location that the original pointer is at for whatever level is being modified and replace it somehow with a pointer to the data that Dolphin read instead.
Is this at all possible? I know that Dolphin can patch functions, I don't know if any of the same systems can be utilised to accomplish this too. Thanks in advance for the help.