The code that I put back is not particularly wonky. It should be no big deal whether one uses an enum or any integer type to represent ShipType. Apparently, however, it is a big deal, because some wonky code elsewere (presumably NIS.c) does weird things with ShipType.
"Wonky" is a good term for the divers and differing ways the game breaks if anyone is so unfortunate as to dare to add a ship type. While lmop didn't state that this was what he was specifically after, any
research in the area of ships is going to break the game. Often, probably
... Otherwise one could start to replace all wonky code systematically, but that is a huge task.
... which is exactly
what lmop has undertaken.
lmop and the game go back a ways.
Once the wonky code is gone, one can try to change ShipType again to see if anything breaks.
You mispelled "to see what breaks next"
The breaking part is inevitable because the Homeworld Source Code Wonkiness is an exercise in infinite recursiveness; the most we can do is attain new levels of useability and stability. Even when the original source code is completely replaced it will still be... wonky
And the ability to modify the ship types is the only definite in the future of Homeworld SDL.
Marking this as FIXME sounds like a reasonable idea, which, unfortunately, did not occur to me at the time.
I think there should be a version of Homeworld SDL that one can actually use to play the game.
Hmmm... actually... the new release has been out since December....
http://homesource.nekomimicon.net/downl ... or_testing
... did I mention that I'm behind in things like updating the web page?