Difference between revisions of "1f800180"
Jump to navigation
Jump to search
(Created page with " Work in Progress : Data at 0x1f800180 (While pathfinding) Scratch Pad 0x180 - Pathfinding Tile data ---------------------------------------------------------- 0x00 Word :...") |
|||
Line 1: | Line 1: | ||
− | + | ||
− | Scratch Pad | + | Scratch Pad 0x1f800180 - Pointer at BATTLE.BIN 0x8018f4e4 |
+ | Used while spreading Acting unit move to set reachable tiles. Each time a tile is reached it becomes an origin for spreading next move. | ||
+ | Start at acting Unit move +1 (because it ends at 1). | ||
---------------------------------------------------------- | ---------------------------------------------------------- | ||
− | 0x00 Word : | + | 0x00 Word : Origin Tile pointer 00174b8c |
− | 0x08 Word : Targetable | + | 0x04 Word : Destination data pointer (8018f8cc) 00175958 |
− | 0x10 Word : Pointer to | + | 0x08 Word : Origin Targetable grid pointer 00174b8c |
− | + | 0x0c Word : Destination Grid pointer 00175958 | |
− | 0x18 + 1 each reachable Tile ? (+ flag 0x20 on 0x5) | + | 0x10 Word : Pointer to Tile 80192dd8 center of Spread 0017567c Tile Path |
− | 0x1a - HalfW : Tile ID | + | Pointer to Unit's 801937d8 data (ID from Tile's Grid 0x02) 0017567c Unit Path |
− | + | ||
− | + | 0x18 - Initialized 00174e84 | |
− | 0x26 - | + | + 1 each reachable Tile ? (+ flag 0x20 on Tile 0x5) 00175288 |
− | 0x28 - | + | 0x1a - HalfW : Origin Tile ID 00174b8c |
− | 0x2a - | + | 0x1c - HalfW : Destination TIle ID 00175958 |
− | 0x2c - | + | 0x1e - HaflW : Tile ID (from 0x1a) - For Grid 0017567c Tile Path |
− | 0x2e - | + | Unit ID + 0x200 - For post Grid 0017567c Unit Path |
− | 0x30 | + | |
− | 0x32 | + | 0x22 - Origin AoE - 1 (- Preset value) 00175958 |
− | 0x36 - | + | - Updated while spreading 00175958 |
− | - | + | 0x24 - AoE of move - Counter (while spreading horizontal jump) 001764d8 |
− | 0x3a - Spreading Tile X | + | 0x26 - HalfW : X counter (used as coordinates) 00174b8c |
− | 0x3c - Spreading Tile Y | + | 0x28 - HalfW : Y counter 00174b8c |
− | 0x40 - 00175ea0 1 | + | 0x2a - HalfW : Elevation counter 00174b8c |
− | + | 0x2c - HalfW : Elevation offset (0 or 0x100) 00174b8c | |
− | 0x41 Unit ID/Counter | + | 0x2e - HalfW : Y*MaxX + Elevation offset 00174b8c |
− | 0x44 - Exit Side slope Mod (Pathfinding) | + | 0x30 - HalfW : Destination X 001755e8 |
− | 0x45 - Entry Side Slope Mod (Pathfinding) | + | - HalfW : Dynamic destination X (Jump loop) 001764d8 |
− | 0x46 | + | 0x32 - HalfW : Destination Y 001755e8 |
− | 0x48 - Unit | + | - HalfW : Dynamic destination Y (Jump loop) 001764d8 |
− | + | 0x34 - Elevation Flag (0 1 0 1 while looping) 00175958 | |
− | + | 0x36 - Delta Height (Exit Side - Opposite Side) 0017567c Tile Path | |
− | + | - Unit Height + Size 0017567c Unit Path | |
− | + | 0x38 - Half : Destination side height difference (Opposite - Entry) 00175958 | |
− | + | 0x3a - Spreading Tile X Direction 00175ea0 (Spreading Jal) | |
− | - | + | 0x3c - Spreading Tile Y Direction 00175ea0 (Spreading Jal) |
− | + | 0x40 - 0 = Check Tile Path 00175ea0 | |
− | + | 1 = Check Unit Path (when moving above units) 00175ea0 | |
− | 0x54 - Used as loop limit in 00175ea0 | + | 0x41 - Unit ID/Counter - From Targetable grid 0x02 0017567c Unit Path |
− | - 0x24 if | + | 0x42 - Path flag (Tile/Above Unit) 00175958 |
− | - 0x08 | + | 0x43 - Unit ID (from Grid 0x02) on destination Tile 00175958 |
− | + | 0x44 - Origin Exit Side slope Mod (Pathfinding) 00175ea0 (Spreading Jal) | |
− | 0x55 | + | Used to set Destination opposite side height too |
− | + | 0x45 - Destination Entry Side Slope Mod (Pathfinding) 00175ea0 (Spreading Jal) | |
− | 0x56 - | + | Used to set Origin opposite side height too |
− | 0x58 - Slope Type | + | 0x46 - Origin Ceiling Height (distance from desired height ?) 0017567c |
− | 0x62 - Acting Unit Move +1 ( | + | 0x47 - Destination Ceiling distance 00175958 |
− | + | 0x48 - Exit side Height 0017567c Tile Path | |
+ | - Unit Height + Size 0017567c Unit Path | ||
+ | 0x49 - Origin Opposite Side Height 0017567c Tile Path | ||
+ | - Orign Unit Height + Size 0017567c Unit Path | ||
+ | 0x4a - Destination Entry Side Height 00175958 Tile Path | ||
+ | - Present Unit Height + Size - 1 00155958 Unit Path | ||
+ | 0x4b - Destination opposite side Height 00175958 | ||
+ | 0x4c - Origin Tile's Height*2 00175ea0 | ||
+ | 0x4d - Destination Height*2 00175958 | ||
+ | 0x50 - Grid or Post Grid 0x04 (Vertical drop) 00175958 | ||
+ | - Destination Height*2 0017622c | ||
+ | - ID of Unit on Tile 0017622c | ||
+ | 0x51 - Destination Halves 0017622c | ||
+ | 0x52 - Destination Slope Type 0017622c | ||
+ | 0x53 - Acting Unit Size 0017622c | ||
+ | 0x54 - Used as loop limit in 00175ea0 | ||
+ | - 0x08 Default 00174e84 | ||
+ | - 0x24 if Acting Unit Stop riding 00174e84 | ||
+ | - 0x08 After dealing with Tile of interest 00174b8c | ||
+ | Set back to 0x08 after 175ea0 and 1764d8 00174b8c | ||
+ | 0x55 - 0x04 if PV = 1 00174e84 | ||
+ | Used As loop limit 00175ea0 | ||
+ | 0x56 - Origin Tile's halves 00175ea0 | ||
+ | 0x57 - Destination Halves 00175958 | ||
+ | 0x58 - Origin Tile's Slope Type 00175ea0 | ||
+ | 0x59 - Destination slope type 00175958 | ||
+ | 0x62 - Acting Unit Move +1 00174e84 PV1 | ||
+ | - Decrease while Movement is spreaded (0x22) | ||
+ | (keep higher value while spreading on tile with higher move cost) 00175958 | ||
+ | If Valid, get in loop and immediately set to 0x00 ?? | ||
+ | 0x64 - Height difference between origin and destination (always positive) 00175958 | ||
+ | - Becomes Origin Grid 0x04 if Grid 0x04 > Delta height 00175958 | ||
+ | - 0x00 if Unit is flying 00175958 |
Latest revision as of 12:06, 3 June 2023
Scratch Pad 0x1f800180 - Pointer at BATTLE.BIN 0x8018f4e4 Used while spreading Acting unit move to set reachable tiles. Each time a tile is reached it becomes an origin for spreading next move. Start at acting Unit move +1 (because it ends at 1). ---------------------------------------------------------- 0x00 Word : Origin Tile pointer 00174b8c 0x04 Word : Destination data pointer (8018f8cc) 00175958 0x08 Word : Origin Targetable grid pointer 00174b8c 0x0c Word : Destination Grid pointer 00175958 0x10 Word : Pointer to Tile 80192dd8 center of Spread 0017567c Tile Path Pointer to Unit's 801937d8 data (ID from Tile's Grid 0x02) 0017567c Unit Path 0x18 - Initialized 00174e84 + 1 each reachable Tile ? (+ flag 0x20 on Tile 0x5) 00175288 0x1a - HalfW : Origin Tile ID 00174b8c 0x1c - HalfW : Destination TIle ID 00175958 0x1e - HaflW : Tile ID (from 0x1a) - For Grid 0017567c Tile Path Unit ID + 0x200 - For post Grid 0017567c Unit Path 0x22 - Origin AoE - 1 (- Preset value) 00175958 - Updated while spreading 00175958 0x24 - AoE of move - Counter (while spreading horizontal jump) 001764d8 0x26 - HalfW : X counter (used as coordinates) 00174b8c 0x28 - HalfW : Y counter 00174b8c 0x2a - HalfW : Elevation counter 00174b8c 0x2c - HalfW : Elevation offset (0 or 0x100) 00174b8c 0x2e - HalfW : Y*MaxX + Elevation offset 00174b8c 0x30 - HalfW : Destination X 001755e8 - HalfW : Dynamic destination X (Jump loop) 001764d8 0x32 - HalfW : Destination Y 001755e8 - HalfW : Dynamic destination Y (Jump loop) 001764d8 0x34 - Elevation Flag (0 1 0 1 while looping) 00175958 0x36 - Delta Height (Exit Side - Opposite Side) 0017567c Tile Path - Unit Height + Size 0017567c Unit Path 0x38 - Half : Destination side height difference (Opposite - Entry) 00175958 0x3a - Spreading Tile X Direction 00175ea0 (Spreading Jal) 0x3c - Spreading Tile Y Direction 00175ea0 (Spreading Jal) 0x40 - 0 = Check Tile Path 00175ea0 1 = Check Unit Path (when moving above units) 00175ea0 0x41 - Unit ID/Counter - From Targetable grid 0x02 0017567c Unit Path 0x42 - Path flag (Tile/Above Unit) 00175958 0x43 - Unit ID (from Grid 0x02) on destination Tile 00175958 0x44 - Origin Exit Side slope Mod (Pathfinding) 00175ea0 (Spreading Jal) Used to set Destination opposite side height too 0x45 - Destination Entry Side Slope Mod (Pathfinding) 00175ea0 (Spreading Jal) Used to set Origin opposite side height too 0x46 - Origin Ceiling Height (distance from desired height ?) 0017567c 0x47 - Destination Ceiling distance 00175958 0x48 - Exit side Height 0017567c Tile Path - Unit Height + Size 0017567c Unit Path 0x49 - Origin Opposite Side Height 0017567c Tile Path - Orign Unit Height + Size 0017567c Unit Path 0x4a - Destination Entry Side Height 00175958 Tile Path - Present Unit Height + Size - 1 00155958 Unit Path 0x4b - Destination opposite side Height 00175958 0x4c - Origin Tile's Height*2 00175ea0 0x4d - Destination Height*2 00175958 0x50 - Grid or Post Grid 0x04 (Vertical drop) 00175958 - Destination Height*2 0017622c - ID of Unit on Tile 0017622c 0x51 - Destination Halves 0017622c 0x52 - Destination Slope Type 0017622c 0x53 - Acting Unit Size 0017622c 0x54 - Used as loop limit in 00175ea0 - 0x08 Default 00174e84 - 0x24 if Acting Unit Stop riding 00174e84 - 0x08 After dealing with Tile of interest 00174b8c Set back to 0x08 after 175ea0 and 1764d8 00174b8c 0x55 - 0x04 if PV = 1 00174e84 Used As loop limit 00175ea0 0x56 - Origin Tile's halves 00175ea0 0x57 - Destination Halves 00175958 0x58 - Origin Tile's Slope Type 00175ea0 0x59 - Destination slope type 00175958 0x62 - Acting Unit Move +1 00174e84 PV1 - Decrease while Movement is spreaded (0x22) (keep higher value while spreading on tile with higher move cost) 00175958 If Valid, get in loop and immediately set to 0x00 ?? 0x64 - Height difference between origin and destination (always positive) 00175958 - Becomes Origin Grid 0x04 if Grid 0x04 > Delta height 00175958 - 0x00 if Unit is flying 00175958