I have a little experience with assembly editing, if I find some time I'll see if I can't help locate something relevant to how the AI chooses races.
Edit: I'm uncertain if this information will help, but regarding AI race selection:
After you've generated a galaxy at least once (won't show up otherwise!), a search of the game's memory (in DOSBox) for an array of bytes as follows...
Code: Select all
8D 3C 37 9C 89 0D ** ** ** ** 8B CF 8B C1 C1 E8 0C 8B 04 85 ** ** ** ** 85 C0 74 08 8A 04 08 E9 17 00 00 00 51 E8 ** ** ** ** 83 C4 04 2C 01 0F 84 A7 00 00 00 8A 05
mov al,[eax+ecx]
Flanked on either side by two jumps. If you modify this particular line to read:
mov al,0F
Then you've told the game that the race being compared against is always race number #16 (which doesn't exist - #12 is Trilarians), so it will always pass. Now the game can randomly generate 3x Psilons etc. The beginning of this function seems to hold the current player slot in register EDX. This is as close as I could get to controlling the races the AI generates. I'm afraid my experience with this (especially with DOSBox) is too limited to be of much more use, but I hope it helps someone here find what they need.