Quote
Your flagship's truespace and combat speeds are related
Though I agree with this from a world-building perspective it is not difficult to change this in the game. It is kept in the RACE_HYPER_SPEED macro in races.hQuote
something tells me that there are very strong assumptions in the code that every race has only one sphere of influence
Quote
If you have any clue or idea of how such assumptions might look like, or where (in which logics) to look for them - please share. I'll put the check for such assumptions in early analysis TODO list.
Each race is synonomous with a sphere of influence. The game will iterate through the race queue and load the RACE_DESC data structure for each race. In that data struct, for example, one is blackurq.c for the Kohr-ah it will definate a sphere of influence size. So to add another one you'd have to create a new race data struct inside a new file (e.g. blackurq2.c) change the sphere of influence and add it to the make file. I'd guess you'd also have to add it to the species_id data struct in races.h. If you do that and it segfaults you probably need to add entries to the rest of races.h.
I'm still getting a handle on the different places where races and ships are used myself. It is usually done via a mix of indexing and linked-list iteration in queues. I've made a spreadsheet to help me understand the relationships between each datastructure and that has helped somewhat.