25.04.2005, 13:18:12
@jonwil:
Abilities
Abilities are listed at 8463B8.
The function to get a string's number in the abilities enumeration is at 74FEF0.
The abilities are stored in a way I didn't figure out yet, in a type which is 0x12 bytes long (maybe you can figure out what it is).
Veteran abilities are stored at [UnitType]+0x29C, Elite abilities at [UnitType]+0x2AE.
They get read from the INI at 4776A4.
SpeedTypes
Check 476FC0, explains everything
Stored at [UnitType]+0x67C.
TerrainTypes
Check 71E2A0.
At 71E2F6, memory for the TT class is allocated.
Just increase the argument 0x2BC and you got more space for new stuff.
Mouse cursors
Dunno really much about it.
Original actions are listed at 7E4C50,
my patch references to my own list at BA3210.
They get stored at [SuperWeaponType]+0xBC (search for 0xBC and you'll get tons of results).
6CEA9B reads it from the INI.
That's all I could figure out about them
What we need to find: the assignments of the frames, probably (not sure) an array like MouseCursor[], so that the Action is just the element number
(like MouseCursor[SuperWeapon.Action])
Abilities
Abilities are listed at 8463B8.
The function to get a string's number in the abilities enumeration is at 74FEF0.
The abilities are stored in a way I didn't figure out yet, in a type which is 0x12 bytes long (maybe you can figure out what it is).
Veteran abilities are stored at [UnitType]+0x29C, Elite abilities at [UnitType]+0x2AE.
They get read from the INI at 4776A4.
SpeedTypes
Check 476FC0, explains everything

Stored at [UnitType]+0x67C.
TerrainTypes
Check 71E2A0.
At 71E2F6, memory for the TT class is allocated.
Just increase the argument 0x2BC and you got more space for new stuff.
Mouse cursors
Dunno really much about it.
Original actions are listed at 7E4C50,
my patch references to my own list at BA3210.
They get stored at [SuperWeaponType]+0xBC (search for 0xBC and you'll get tons of results).
6CEA9B reads it from the INI.
That's all I could figure out about them

What we need to find: the assignments of the frames, probably (not sure) an array like MouseCursor[], so that the Action is just the element number
(like MouseCursor[SuperWeapon.Action])