upgrades.dat Format

Cost: Minerals

Offset
0x0000
Length
122 bytes (2 bytes / Upgrade)
Description
Cost in Minerals to research this Upgrade.
Values
Integer value betwen 0 and 65535.

Cost Factor: Minerals

Offset
0x007A
Length
122 bytes (2 bytes / Upgrade)
Description
Factor cost in Minerals to research this Upgrade.
Values
Integer value between 0 and 65535.

Cost: Vespene Gas

Offset
0x00F4
Length
122 bytes (2 bytes / Upgrade)
Description
Cost in Vespene Gas required to research this Upgrade.
Values
Integer value between 0 and 65535.

Cost Factor: Vespene Gas

Offset
0x016E
Length
Factor Cost in Vespene Gas to research this Upgrade.
Description
Values
Integer value between 0 and 65535.

Cost: Research Time

Offset
0x01E8
Length
122 bytes (2 bytes / Upgrade)
Description
Time required to research this Upgrade.
Values
Integer value between 0 and 65535.

Cost Factor: Research Time

Offset
0x0262
Length
122 bytes (2 bytes / Upgrade)
Description
Factor Cost in Time required to research this Upgrade.
Values
Integer value between 0 and 65535.

Unknown

Offset
0x02DC
Length
122 bytes (2 bytes / Upgrade)
Description
Unknown, probably a set of flags for each upgrade. All upgrades have 0xFFFF.
Values
Integer value between 0 and 65535.

Icon

Offset
0x0356
Length
122 bytes (2 bytes / Upgrade)
Description
Index of an icon in cmdicons.grp
Values
Integer value between 0 and the last index of cmdicons.grp

Label

Offset
0x03D0
Length
122 bytes (2 bytes / Upgrade)
Description
Index of label in rez\stat_txt.tbl
Values
Integer value between 0 and the last index of rez\stat_txt.tbl

Race

Offset
0x044A
Length
61 bytes (1 byte / Upgrade)
Description
Determines which races can research this upgrade.
Bits
0x00
Zerg
0x01
Terran
0x02
Protoss
0x03
All

Repeat

Offset
0x0487
Length
61 bytes (1 byte / Upgrade)
Description
The number of times this upgrade can be researched.
Values
Integer value between 0 and 255.

Brood War Flag

Offset
0x04C4
Length
61 bytes (1 byte / Upgrade)
Description
Boolean flag which determines whether this upgrade is restricted to Brood War.
Bits
0x00
false (SC and BW)
0x01
true (BW only)