Difference between revisions of "DIPLOM.DAT"

From UFOpaedia
Jump to navigation Jump to search
(simplified, explained more fields, only really one unknown left now)
(various notes and clarifications)
Line 65: Line 65:
  
 
According to these values, the maximum theoretical funding you can get is 95M per month, if you can max out all 16 countries budgets.
 
According to these values, the maximum theoretical funding you can get is 95M per month, if you can max out all 16 countries budgets.
 +
 +
Note that you can manually insert a monthly funding number into the current month for any country, and it will award you that amount at the end of the month. If funding for that country increases (changes?) it will apply the funding cap to next months budget, and then it will remain at the cap from then on (unless you do badly and it drops), so to permanently increase funding beyond these limits the cap has to be modified. If funding is static for that month, it just copies the value across without applying the funding cap.

Revision as of 08:45, 1 March 2007

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.

Note that you can manually insert a monthly funding number into the current month for any country, and it will award you that amount at the end of the month. If funding for that country increases (changes?) it will apply the funding cap to next months budget, and then it will remain at the cap from then on (unless you do badly and it drops), so to permanently increase funding beyond these limits the cap has to be modified. If funding is static for that month, it just copies the value across without applying the funding cap.