

EXE version 1.33 File Format

03:7FF1-03:81F4	L Offsets for 129 fixup table entries
		  Value+381F5=place of fixup record
03:81F5-05:C2A3	L Fixup table,entry record like this

		  Index :	Feature :

		  00 B		Should be 07
		  01 B		If 00 , then entry lenght=7
				If 10 , then entry length=9
		  02 W		12 bit offset to location of code
				in the page
				*Real location =
				= this_offset+5C2A4+(1000h*entry#),
		  04 B		1 = code segment
				2 = data segment
		  05 W/L	Depends on section length
				Call value , the same value is on
				place pointed by Real_location
				computed like above
				This value is frequently offset to
				code section,so Value+5C2A4=asm code
:
:
:
07:7B34-07:7BA1	B A byte for first 106 units , unknown ???
07:7B9E-07:7C07	B Identity flag for each unit ,
		  if false War2 could crash
:
:
:
0C:DFD8-0C:E18F	L Function Z , sets various variables
		  based on the number of units of this
		  type you have. Sets number of different
		  types of units , number of buildings , 
		  amount of produced food . 
:
:
:
0C:E22D-0C:E286	B After death animation for first 58 units
		  0=nothing,1=human corp , 2=orcish corp , 3=sink
:
:
:
0C:E2D0-0C:E39F	L 52 dwords victory conditions , record like this

		  Index :	Meaning :

		  00 B		Victory condition level

				00=own 4 farms and 1 barracks
		  		01=own 4 oil platforms and 1 shipyard
				02=any oil refineries in game
				03=kill attack peasants,build castle,
		   		destroy enemy
				04=never used
		 		05=free mages and peasants,destroy
				   castle
				06=destroy transports,oil platforms and
		  		   shipyards
				07=never used
				08=destroy dark portal
				09=destroy castle,have runestone at end
				0A=build shipyard and fortress by circle
				   of power
				0B=destroy death knights and their
				   temple , Grom must survive
				0C=get violet player units,destory green,
				   rescue white and have all heroes
				0D=destroy all,Teron must survive
				0E=capture dragons,capture dragon roost
				0F=destroy all enemy ships,have
				   5 shipyards
				10=kill daemon
				11=destroy human buildings,rescue mage,
				   return him to circle of power
				12=destroy all mage towers,destroy 
				   violet player
				13=destroy all humans,capture dark portal
				14=rescue X units , Alleria , Danath ,
				   Turalyon must survive
				15=destroy all,Danath must survive
				16=destroy all strongholds and fortresses,
				   Turalyon must survive,rescue X units
				17=destroy enemy,have castle
				18=destroy enemy shipyards , have 3 owns
				19=destroy orange,bring Turalyon and
				   Danath to circle
				1A=Kill Deathwing,Khadgar , Alleria ,
				   Kurdran must survive
				1B=destroy black fortress,raze altar
				1C=play until retreat,heroes must survive
				1D=destroy enemy,heroes must survive
				1E=destroy dark prtal,only Khadgar can
				   do this,must survive

		  01 B		1=kill all
				2=rescue by contitions below
		  02 W		Always set to 0000 ???

0C:E3A0-0C:E46F	L 52 dwords rescue numbers

		  Index :	Meaning :

		  00 B		Number of units to rescue
		  01 B		00=rescue any units
				10=rescue hero-flag units
		  02 W		Region flag ???

0C:E470-0C:E53F	L Unit and buildings allowed
		  flags , for 1 player for 52 levels

		  b00:	Footman/Grunt
		  b01:	Peasant/Peon
		  b02:	Ballista/Catapult
		  b03:	Knight/Ogre
		  b04:	Archer/Axe Thrower
		  b05:	Mage/Death Knight
		  b06:	Tanker
		  b07:	Destroyer
		  b08:	Transport
		  b09:	Battleship/Juggernaught
		  b0A:	Submarine/Giant Turtle
		  b0B:	Flying Machine/Gobblin Zeppelin
		  b0C:	Gryphon/Dragon
		  b0D:	Unused       
		  b0E:	Dwarves/Sappers
		  b0F:	Aviary/Roost
		  b10:	Farm
		  b11:	Barracks
		  b12:	Lumber Mill
		  b13:	Stables/Mound
		  b14:	Mage Tower/Temple
		  b15:	Foundry
		  b16:	Refinery
		  b17:	Inventor/Alchemists
		  b18:	Church/Altar of Storms
		  b19:	Tower
		  b1A:	Town Hall/Great Hall
		  b1B:	Keep/Stronghold
		  b1C:	Castle/Fortress
		  b1D:	Blacksmith
		  b1E:	Shipyard
		  b1F:	Wall in multiplayer

0C:E540-0C:E60F	L Upgrade allowed flags , 52 levels

		  b00	Arrow 1
		  b01	Arrow 2
		  b02	Sword 1
		  b03	Sword 2
		  b04	Shield 1
		  b05	Shield 2
		  b06	Ship Cannon 1
		  b07	Ship Cannon 2
		  b08	Ship Armor 1
		  b09	Ship Armor 2
		  b0A	Unused
		  b0B	Unused
		  b0C	Ballista 1
		  b0D	Ballista 2
		  b0E	Unused
		  b0F	Unused
		  b10	Elven Rangers
		  b11	Longbow
		  b12	Scouting
		  b13	Ranger Markmanship
		  b14	Paladins
		  b15	Unused
		  :	Unused
		  b1F	Unused

0C:E610-0C:E6DF	L Spells allowed flags,52 levels
		  b00:	Holy Vision
		  b01:	Healing
		  b02:	Unused
		  b03:	Exorcism
		  b04:	Flame Shield
		  b05:	Fireball
		  b06:	Slow
		  b07:	Invisibility
		  b08:	Polymorph
		  b09:	Blizzard
		  b0A:	Eye of Killrog
		  b0B:	Bloodlust
		  b0C:	Unused
		  b0D:	Raise Dead
		  b0E:	Death Coil
		  b0F:	Whirlwind
		  b10:	Haste
		  b11:	Unholy Armor
		  b12:	Runes
		  b13:	Death and Decay
		  b14:	Unused
		  :	Unused
		  b1F:	Unused
:
:
:
0C:E728-0C:E9D9	W Human Sound Table 345 sounds with
		  references to entry number in which
		  is sound stored , respect archive offsets
		  Highest 3 bits are flags

		  b07	???
		  b06	???
		  b05	Repeat , first unit which uses the
			same sound don't have it,others must
			or the game will crash on exit

0C:E9DA-0C:E9DB	W Just for dword align ???

0C:E9DC-0C:EC8D	W Orc Sound Table , 345 references,see above
:
:
:
0C:EF4C-0C:EFBF	W First 58 units number of attack
		  sound in sound table for its race
0C:EFC0-0C:F0A7	L First 58 unit acknowledge function number
		  Plays random acknowledge sound
0C:F0A8-0C:F11B	W First 58 units number of ready
		  sound in sound table for its race
0C:F11C-0C:F203	L First 58 units selected function number
		  Plays appropriate random selected or annoyed
		  sound
0C:F204-0C:F23D	W Sound played when missile hits target
		  *Missile types order
		  00	Lightning
		  01	Griffon Hammer
		  02	Dragon Breath and Fireball
		  03	Fireball by Flame Shield
		  04	Flame Shield
		  05	Blizzard
		  06	Death and Deacy
		  07	Big Cannon
		  08	Exorcism
		  09	Heal Effect
		  0A	Touch of Death
		  0B	Rune
		  0C	Whirlwind
		  0D    Catapult Rock
		  0E	Ballista Bolt
		  0F	Arrow
		  10	Axe
		  11	Submarine Missile
		  12	Turtle Missile
		  13	Small Fire
		  14	Big Fire
		  15	Ballista and Catapult impact
		  16	Normal Spell
		  17	Explosion
		  18    Small Cannon
		  19	Cannon Explosion
		  1A	Cannon Tower Explosion
		  1B	Daemon Fire
		  1C	Green Cross
		  1D    None
:
:
0D:061C-0D:070F	L Action function A calls , action legal target ???
0D:0710-0D:0803	L Action function B calls , action to take ???
		  *All spells have the same
0D:0804-0D:08F7	L Action function C calls , for spells action to
		  take when casting , for other actions set to 0
0D:08F8-0D:0934	B A byte for each action , various numbers from 0 to 6
0D:0935-0D:0971	B A byte for each action , from 0 to 2
0D:0972-0D:09EB W Word for each action , action flags ???
0D:09EC-0D:0A28	B Action range , for action order see Action mana

:
:
:
0D:2304-0D:237D	W Action mana cost , used for spells
		  *Action offsets
		  00	Unkonown
		  01	Unknown
		  02	Stop
		  03	Move 
		  04	Unknown
		  05	Patrol
		  08	Attack
		  :
		  0D	Stand Ground
		  :
		  11	Attack Ground
		  12	Unknown
		  13	Demolish
		  :
		  17	Harvest
		  18	Return with Goods
		  :
		  1B	Repair
		  1C	Unknown
		  1D	Unload Passengers
		  :
		  26	Holy Vision
		  27	Healing
		  28	Unknown
		  29	Exorcism
		  2A	Flame Shield
		  2B	Fireball
		  2C	Slow
		  2D	Invisibility
		  2E	Polymorph
		  2F	Blizzard
		  30	Eye of Kilrogg
		  31	Bloodlust
		  32	Raise Dead
		  33	Death Coil
		  34	Whirlwind
		  35	Haste
		  36	Unholy Armor
		  37	Runes
		  38	Death and Decay
		  :
		  3C	Unknown
:
:
0D:2380-0D:3CEF	R12 Unit commands , command offsets point here

		Index :		Meaning :

		00 W		Position of icon , 0=left upper
				9 = right down , from left to right
		02 W		Picture index , icon number
		04 L		Req Fn , requirements function
				for icon to appear
		08 L		Act Fn , what action to perform call
		0C B		Requirement fuction variable
				(for example 0,1,2 for upgrade levels)
		0D B		Action function variable
				(for example unit nr. for barracks)
		0E W		Showed string index
		10 W		Unknown , some flags
		
0D:3CF0-0D:3FBF	R06 Extended unit data (110 units,10 specials)

		Index :		Meaning :

		00 W		Number of commands
		02 L		Call to command data section
				Value+CC2A4=offset
				of first command
				*Change command following this proc:
				Fup_tbl_entr=(file_pos-5C2A4) div 1000h
				Srch_offs=(file_pos-5C2A4) mod 1000h
				Get offset of section Fup_tbl_entr in
				fixup table and begin search for Srch_offs
				If You find it , change in Fixup Table
				record (see Fixup table ) command value
				on offset 5 of fixup record

		  *Units order

		  00	Footman
		  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 Sappers
		  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	Tanker H
		  1B	Tanker O
		  1C	Transport H
		  1D	Transport O
		  1E	Elven Destroyer
		  1F	Troll Destroyer
		  20	Battleship
		  21	Juggernaught
		  22	Nothing
		  23	Deathwing
		  24	Nothing
		  25	Nothing
		  26	Gnomish Submarine
		  27	Giant Turtle
		  28	Gnomish Flying Machine
		  29	Goblin Zeppelin
		  2A	Gryphon Rider
		  2B	Dragon
		  2C	Turalyon
		  2D	Eye of Kilrogg
		  2E	Danath
		  2F	Korgath Bladefist
		  30	Nothing
		  31	Cho'gall
		  32	Lothar
		  33	Gul'dan
		  34	Uther Lightbringer
		  35	Zuljin
		  36	Nothing
		  37	Skeleton
		  38	Daemon
		  39	Critter
		  3A	Farm
		  3B	Pig Farm
		  3C	Barracks H
		  3D	Barracks O
		  3E	Church
		  3F	Altar of Storms
		  40	Scout Tower H
		  41	Scout Tower O
		  42	Stables
		  43	Ogre Mound
		  44	Gnomish Inventor
		  45	Goblin Alchemist
		  46	Gryphon Aviary
		  47	Dragon Roost
		  48	Shipyard H
		  49	Shipyard O
		  4A	Town Hall
		  4B	Great Hall
		  4C	Elven lumber mill
		  4D	Troll Lumber Mill
		  4E	Foundry H
		  4F	Foundry O
		  50	Mage Tower
		  51	Temple of the Damned
		  52	Blacksmith H
		  53	Blacksmith O
		  54	Refinery H
		  55	Refinery O
		  56	Oil Platform H
		  57	Oil Platform O
		  58	Keep
		  59	Stronghold
		  5A	Castle
		  5B	Fortress
		  5C	Gold Mine
		  5D	Oil Patch
		  5E	Start Location H
		  5F	Start Location O
		  60	Guard Tower H
		  61	Guard Tower O
		  62	Cannon Tower H
		  63	Cannon Tower O
		  64	Circle of Power
		  65	Dark Portal
		  66	Runestone
		  67	Wall H - not yet build
		  68	Wall O - not yet build
		  69	Dead Body
		  6A	1x1 Destroyed Place
		  6B	2x2 Destroyed Place
		  6C	3x3 Destroyed Place
		  6D	4x4 Destroyed Place
		  6E	Blank
		  6F	Human Basic Build
		  70	Human Advanced Build
		  71	Orc Basic Build
		  72	Orc Advanced Build
		  73	Cancel
		  74	Cancel #2 ???
		  75	Cancel Group
		  76	Command Group of Humans
		  77	Command Group of Orcs

0D:3FC0-0D:45C3	R0E Unit data (110 units) , record like this
		    *For units order see above

		  Index :		Meaning :

		  00 W		Unit Icon number
		  02 W		Unknown , but
				0 = Dead body,start loc,destr site
				1 = Live units,farms,mine,circle,
				    runestone but no magiks
				2 = Mage,D.Knight,Paladin,Ogre Mage
				3 = Other buildings??
		  04 W		Unit name string number
		  06 L		Function A,right click ???
		  0A L		Function B,stats which are
				shown on the bar(food usage..)




