Don't forget about this information posted in the Welcome thread here.
WarCraft II PUD Specs
This information was compiled by Daniel Lemberg, with a trusty hex editor
and a copy of WarCraft II. If you find out what any of the unknown
sections are, let me know at lemberg@bayserve.net, and I'll add your name
and accomplishments to Appendix E. The most recent version of this file
can be obtained at http://www.bayserve.net/~lemberg
In the context of this doc, a byte is an 8 bit unsigned value, a word is a
16 bit unsigned value, and a long is a 32 bit unsigned value.
Sections:
4 bytes header
long length
... data
0: Section 'TYPE', identifies as a PUD file
9 bytes null terminated type ('WAR2 MAP')
7 bytes id tag
1: Section 'VER ', identifies PUD version
word version ($11)
2: Section 'DESC', PUD description
32 bytes null terminated description
3: Section 'OWNR', identifies controller of each side
8 bytes the 8 player slots
7 bytes nobody, set to $03
byte neutral, set to $02
should be:
$02 neutral
$03 nobody
$04 computer
$05 human
$06 rescue (passive)
$07 rescue (active)
4: Section 'ERA ', terrain type
word terrain
should be:
$00 forest
$01 winter
$02 wasteland
$03 swamp
5: Section 'DIM ', map dimensions
word x
word y
6: Section 'UDTA', Unit Data (this section is optional)
word use default data (0 no, 1 yes)
110 bytes first construction frame
110 bytes second construction frame
127 words terrain independent unit graphics (obsolete)
127 words summer unit graphics (obsolete)
127 words winter unit graphics (obsolete)
127 words wasteland unit graphics (obsolete)
110 longs sight range
110 words hit points
110 bytes magic (0 no, 1 yes)
110 bytes build time
110 bytes 1/10 gold cost
110 bytes 1/10 lumber cost
110 bytes 1/10 oil cost
110 longs unit size (x then y)
110 longs box size (x then y)
110 bytes attack range
110 bytes reaction range
110 bytes unknown
110 bytes armor
110 bytes selectable via rectangle (0 no, 1 yes)
110 bytes priority (the higher, the fewer)
110 bytes basic damage
110 bytes piercing damage
110 bytes weapons upgradable (0 no, 1 yes)
110 bytes armor upgradable (0 no, 1 yes)
110 bytes missile weapon
0x00 lightning
0x01 griffon hammer
0x02 dragon breath
0x03 flame shield
0x04 flame shield (self)
0x05 blizzard
0x06 death and decay
0x07 big cannon
0x08 black powder
0x09 heal effect
0x0a touch of death
0x0b rune
0x0c tornado
0x0d catapult rock
0x0e ballista bolt
0x0f arrow
0x10 axe
0x11 submarine missile
0x12 turtle missile
0x13 dark flame
0x14 bright flame
0x15 blood
0x16 more black powder
0x17 explosion
0x18 small cannon
0x19 metal spark
0x1a mini-explosion
0x1b demon fire
0x1c green cross
0x1d none
110 bytes unit type (0 land, 1 fly, 2 naval)
only changes appearance
110 bytes decay rate (dies in rate * 6 secs time, 0 never decays)
only applies to units you build or create via spell
110 bytes unknown
58 bytes (1: can move, 2: peasant, 4: sapper)
only the first 58 units, sometimes crashes if wrong
110 words point value for killing unit
110 bytes can target (1 land, 2 sea, 4 air, OR together)
note: some missiles can't hit air units
110 longs flags
bit 1 2 4 8
0 unused (?)
1 deposit oil sapper mage hits back
2 big tower oil well gold mine hero
3 shore building spells deposit wood attack
4 deposit gold can bombard is undead
5 peaasant tanker transport oil well
6 critter building is sub sees subs
7 land fly corpse explodes naval
See Appendix A for correct order of units inside the 110 values.
7: Section 'UGRD', Upgrade Data, (this section is optional)
byte use default data (0 no, 1 yes)
52 bytes upgrade time
52 words gold cost
52 words lumber cost
52 words oil cost
52 words upgrade icon
52 words group applies to
52 longs unknown
See Appendix B for correct order of upgrades inside the 52 values.
8: Section 'SIDE', Identifies race of each player
8 bytes the 8 player slots
7 bytes garbage, set to $00
1 byte nuetral, set to $02
should be:
$00 human
$01 orc
$02 neutral
9: Section 'SGLD', Starting gold
8 words gold for the 8 players
7 words garbage
1 word gold for neutral
10: Section 'SLBR', Starting lumber
8 words lumber for the 8 players
7 words garbage
1 word lumber for neutral
11: Section 'SOIL', Starting oil
8 words oil for the 8 players
7 words garbage
1 word oil for neutral
12: Section 'AIPL', AI of each player
8 bytes ai for the 8 players
7 bytes garbage ($00)
1 byte ai for neutral ($00)
See Appendix C for the known AIs.
13: Section 'MTXM', tiles map
X*Y words tile
See Appendix D for general info on map tiles.
14: Section 'SQM ', movement map
X*Y words
should be:
$0001 land
$0002 coast (corner?)
$0011 dirt
$0040 water
$0081 forest and mountains
$0082 coast
$008d walls (crashes if not really a wall)
Other good values:
$0000 bridge (land, navy, air)
$0fxx space (nothing)
$02xx cave (no birds)
15: Section 'OILM', obsolete oil map
X*Y bytes just set it all to $00
16: Section 'REGM', action map
X*Y words
should be:
$0000 water
$4000 land
$faff island (no trans, no land)
$fbff wall
$fdff mountains
$feff forest
17: Section 'UNIT', Units
length/8 units, where a unit is:
word x coord
word y coord
byte type
byte owner
word if gold mine or oil well, contains 2500 * this
otherwise 0 passive 1 active
Appendix A: Unit Types
00 infantry
01 grunt
02 peasant
03 peon
04 ballista
05 catapult
06 knight
07 ogre
08 archer
09 axethrower
0a mage
0b death knight
0c paladin
0d ogre-mage
0e dwarves
0f goblin sapper
10 attack peasant
11 attack peon
12 ranger
13 berserker
14 alleria
15 teron gorefiend
16 kurdan and sky'ree
17 dentarg
18 khadgar
19 grom hellscream
1a human tanker
1b orc tanker
1c human transport
1d orc transport
1e elven destroyer
1f troll destroyer
20 battleship
21 juggernaught
23 deathwing
26 gnomish submarine
27 giant turtle
28 gnomish flying machine
29 goblin zepplin
2a gryphon rider
2b dragon
2c turalyon
2d eye of kilrogg
2e danath
2f khorgath bladefist
31 cho'gall
32 lothar
33 gul'dan
34 uther lightbringer
35 zuljin
37 skeleton
38 daemon
39 critter
3a farm
3b pig farm
3c human barracks
3d orc barracks
3e church
3f altar of storms
40 human scout tower
41 orc scout tower
42 stables
43 ogre mound
44 gnomish inventor
45 goblin alchemist
46 gryphon aviary
47 dragon roost
48 human shipyard
49 orc shipyard
4a town hall
4b great hall
4c elven lumber mill
4d troll lumber mill
4e human foundry
4f orc foundry
50 mage tower
51 temple of the damned
52 human blacksmith
53 orc blacksmith
54 human refinery
55 orc refinery
56 human oil well
57 orc oil well
58 keep
59 stronghold
5a castle
5b fortress
5c gold mine
5d oil patch
5e human start
5f orc start
60 human guard tower
61 orc guard tower
62 human cannon tower
63 orc cannon tower
64 circle of power
65 dark portal
66 runestone
67 human wall
68 orc wall
Appendix B: Upgrade types
00 sword 1
01 sword 2
02 axe 1
03 axe 2
04 arrow 1
05 arrow 2
06 spear 1
07 spear 2
08 human shield 1
09 human shield 2
0a orc shield 1
0b orc shield 2
0c human ship cannon 1
0d human ship cannon 2
0e orc ship cannon 1
0f orc ship cannon 2
10 human ship armor 1
11 human ship armor 2
12 orc ship armor 1
13 orc ship armor 2
14 catapult 1
15 catapult 2
16 ballista 1
17 ballista 2
18 train rangers
19 longbow
1a ranger scouting
1b ranger marksmanship
1c train berserkers
1d lighter axes
1e berserker scouting
1f berserker regeneration
20 train ogre-mages
21 train paladins
22 holy vision
23 healing
24 exorcism
25 flame shield
26 fireball
27 slow
28 invisibility
29 polymorph
2a blizzard
2b eye of kilrogg
2c bloodlust
2d raise dead
2e death coil
2f whirlwind
30 haste
31 unholy armor
32 runes
33 death and decay
Appendix C: Computer AIs
$00 land attack
$01 passive
$02 Orc 3
$03 Human 4
$04 Orc 4
$05 Human 5
$06 Orc 5
$07 Human 6
$08 Orc 6
$09 Human 7
$0A Orc 7
$0B Human 8
$0C Orc 8
$0D Human 9
$0E Orc 9
$0F Human 10
$10 Orc 10
$11 Human 11
$12 Orc 11
$13 Human 12
$14 Orc 12
$15 Human 13
$16 Orc 13
$17 Human 14 (Orange)
$18 Orc 14 (Blue)
$19 sea attack
$1a air attack
$1b Human 14 (Red)
$1c Human 14 (White)
$1d Human 14 (Black)
$1e Orc 14 (Green)
$1f Orc 14 (White)
$20 Expansion 1
...
$52 Expansion 51
Appendix D: General map tiles
solid tiles
001x light water
002x dark water
003x light coast
004x dark coast
005x light ground
006x dark ground
007x forest
008x mountains
009x human wall
00ax orc walls
00bx human walls
00cx orc walls
boundry tiles
09.. orc wall
08.. human wall
07.. forest and grass
06.. dark grass and grass
05.. coast and grass
04.. mount and coast
03.. dark coast and coast
02.. water and coast
01.. dark water and water
where .. is:
filled clear
0x Dx upper left
1x Cx upper right
2x Bx upper half
3x Ax lower left
4x 9x left half
7x 6x lower right
8x 5x upper left, lower right
Black Plague tiles: these tiles have no swamp terrain
counterpart and must be remapped.
$003a $003b $004a $004b
Appendix E: Contributers
Scorpions (guyg2512@ele.etsmtl.ca)
Found the extended missile types, such as the flame shield
and blizzard missiles.
Alexander Cech (e8900070@student.tuwien.ac.at)
Discovered the construction frames, and the unit graphics.
Mark Kinkead (mok@mars.superlink.net)
Identified the reaction range section of the UDTA.