The overview of edifice.bst entries was very helpful to figure some stuff out.
In preparation for some bugfixes wrt buildings & upgrades, I discovered 2 hidden features:
DCER wrote:Offset 0x007A to 0x007B unknown (2 bytes)
SystemPopCap requirement(*10): (subtracted from [SystInfo+BC], cf. 3rd value in aibldreq.bin, but cumulative for all buildings i.e. one cannot build more than one 1000(dec) building on a max pop 180 system).
Warning: The feature is unfinished, not buildable buildings still can be put in the production queue and waste industry (resp. credits when buying), but will not be added to the system (the "build finished" message is wrong). Also not sure if AI can adapt to this.
DCER wrote:Offset 0x007E to 0x007F unknown (2 bytes)
Support cost in credits per turn: (unlike ship support cost no pop support, total system support cost displayed in F2 popup for credits on the left)
I cracked also the internal address structure of the empsInfo & systInfo files. Knowing about the pattern of the GUI / effective switch areas, including the displacement values, completing the missing values is just a matter of basic arithmetics (simple since relative order of main buildings resp research areas should be always the same).
Check this out:
http://flocke.bplaced.net/botfwiki/inde ... le-Listing
Using this knowledge, it should be very easy to fix some missing/unfinished building output types like local research bonus in percent or empire-wide industry bonus.
F.e. this data field in trek.exe determines the systInfo addresses of each bonus via edifice.bst bonus type (empire-wide bonuses get loaded from systInfo to empsInfo):
ds:[58FC6C+bonustype*4] = address of bonus in systInfo[+C0/+180h (see link)]
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.