Thanks.
Well, I ended up spending a lot of time inspecting the SFC3.exe, to build a better picture of what could be done to improve the modding of SFC3.
Apart from the negative side, of modifying a game, that was clearly reduced to 4 playable races, at some point of its development, there are things that can be done.
For example, still refering to the “OfficerNames.gf” file, the EXE only loads the names under the Federation, Klingon and Romulan headers. The EXE don’t read the names under the Borg header, but instead, it builds a list of random names, like 1 of 2, 3 of 3, 5 of 6, etc. The remaining headers are ignored. So as far as this file concerns, you can only mod these ones…
Name = "OfficerNames"
[Federation]
0=first name
1=…
[Klingon]
0=first name
1=…
[Romulan]
0=first name
1=…
How it can be improved?
The game at this point, provides memory pointers for the 4 lists, so instead of letting the game generate random names for the Borg race, we can rewrite this code, and call the same function to read the names under the Borg header. In the end, we will end up with 4 fully customizable officer lists.
I also noticed that, in the main menu, after select the ‘TYPHON PACT CAMPAIGN’, you are faced with a menu that has buttons with a ‘NO SUPPORTED’ text.
I’ve already found how to fix this issue, and make these buttons available for customization. And the images can be replaced with the Q3_Editor, right?
Why are these buttons not supported, after modding the campaigns?
The game search for all the “.mct” files in the “\Assets\Scripts\Campaigns\” folder, and load all of them. Then it compares the arguments that it finds in the lines “Name=???” with a list located at the file offset ‘0x54DF9C’ in the EXE. If the names doesn' match this list, the buttons will not work.
The good news is, that if this list is updated, using SFC Editor for example, each button will then call the right campaign for us, instead of just filling space in that menu.
I have already tested this one.
Voilá! 2 potencial mod improvements.