DIPLOM.DAT

From UFOpaedia
Revision as of 08:26, 1 March 2007 by Sfnhltb (talk | contribs) (simplified, explained more fields, only really one unknown left now)
Jump to navigation Jump to search

This file contains the information about how much money the various nations are giving you in funding, both current and for the graph, among other things. It is 576 bytes long, split into 16 records of 36 bytes long, one for each country.

The record start points, by country are:

Offset
dec (hex)
Country
0 (0x0000)USA
36 (0x0024)Russia
72 (0x0048)UK
108 (0x006C)France
144 (0x0090)Germany
180 (0x00B4)Italy
216 (0x00D8)Spain
252 (0x00FC)China
288 (0x0120)Japan
324 (0x0144)India
360 (0x0168)Brazil
396 (0x018C)Australia
432 (0x01B0)Nigeria
468 (0x01D4)South Africa
504 (0x01F8)Egypt
540 (0x021C)Canada

Within each record, their are several bits of information, they are all signed 2 byte numeric fields:

Offset
dec (hex)
Meaning
0 (0x00)Pointer to country name in string table (starts at 602 (0x025A), increase 1 each record)
2 (0x02)Satisfaction Rating, 3 is happy, 2 is average, 1 is unhappy, 0 will sign pact/stop funding
4 to 26 (0x04 to 0x1A)Funding values (in $k) starts with Jan, runs to Dec
28 (0x1C)Funding change (in $k)
30 (0x1E)Unknown, nearly always 0, can be 1
32 (0x20)Unknown, fixed?, all values multiples of 5
34 (0x22)funding cap (ranges 2k to 10k, equates to 2-10M)

Speculative: bytes 32 to 33 are what is used to base the starting Funding on, it initially randomly gets a value from 100-200% of the value listed for each country. For game balance reasons it then scales the entire result so that it comes to approximately 6 million, with an error from rounding probably, this can sometimes push a country slightly higher or lower than the original range would have allowed it to. Changing these values seems to have no in game effect anyway.

Country32 to 33 (0x20 to 0x21)Funding Cap
USA 60010000k
Russia 2308000k
UK 2407000k
France 3208000k
Germany 2509000k
Italy 1606000k
Spain 1405000k
China 2457000k
Japan 40010000k
India 1505000k
Brazil 3004000k
Australia 2805000k
Nigeria 1802000k
South Africa 3103000k
Egypt 1602000k
Canada 1104000k

According to these values, the maximum theoretical funding you can get is 95M per month, if you can max out all 16 countries budgets.