Difference between revisions of "1f800180"

From Final Fantasy Hacktics Wiki
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:
  Work in Progress : Data at 0x1f800180 (While pathfinding)
+
   
  Scratch Pad 0x180 - Pathfinding Tile data
+
  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 : Iteration Tile pointer
+
  0x00 Word : Origin Tile pointer                                           00174b8c
  0x08 Word : Targetable grip pointer
+
0x04 Word : Destination data pointer (8018f8cc)                            00175958
  0x10 Word : Pointer to 801937d8 data [[0017567c]] PV <4 or >=8
+
  0x08 Word : Origin Targetable grid pointer                                00174b8c
      Word : Pointer to 80192dd8 [[0017567c]] PV 4-7
+
0x0c Word : Destination Grid pointer                                       00175958
  0x18 + 1 each reachable  Tile ? (+ flag 0x20 on 0x5) [00175288:]
+
  0x10 Word : Pointer to Tile 80192dd8 center of Spread                      0017567c Tile Path
  0x1a - HalfW : Tile ID (Loop iteration)
+
            Pointer to Unit's 801937d8 data (ID from Tile's Grid 0x02)    0017567c Unit Path
  0x1e - (HalfW : Grid0x02 (Unit ID ?) + 200)*5
+
       
      Tile ID (from 0x1a) [[0017567c]] PV 4-7
+
  0x18 - Initialized                                                        00174e84
  0x26 - Half X counter
+
        + 1 each reachable  Tile ? (+ flag 0x20 on Tile 0x5)               00175288
  0x28 - Half Y counter
+
  0x1a - HalfW : Origin Tile ID                                             00174b8c
  0x2a - Half Elevation counter ? 00174b8c
+
  0x1c - HalfW : Destination TIle ID                                         00175958
  0x2c - Half Elevation offset (0 or 0x100) 00174b8c
+
0x1e - HaflW : Tile ID (from 0x1a) - For Grid                              0017567c Tile Path
  0x2e - Half Y*MaxX + Elevation offset 00174b8c
+
                Unit ID + 0x200 - For post Grid                            0017567c Unit Path
  0x30 Halfword 0x26 + 0x3a  - Checked Versus Max X
+
  0x32 Halfword 0x28 + 0x3c - Checkeed Vs Max Y
+
0x22 - Origin AoE - 1 (- Preset value)                                    00175958
  0x36 - 0x00 [ 0017567c]
+
      - Updated while spreading                                            00175958
       - PV 4 -7 : Delta Height (between size)
+
0x24 - AoE of move - Counter  (while spreading horizontal jump)            001764d8
  0x3a - Spreading Tile X coord
+
  0x26 - HalfW : X counter (used as coordinates)                            00174b8c
  0x3c - Spreading Tile Y coord
+
  0x28 - HalfW : Y counter                                                   00174b8c
  0x40 - 00175ea0 1 if counter > 4
+
  0x2a - HalfW : Elevation counter                                           00174b8c
                Else 0
+
  0x2c - HalfW : Elevation offset (0 or 0x100)                               00174b8c
  0x41 Unit ID/Counter (001756d8 - From Targetable grid 0x02)
+
  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 Result of 176164 (Path height ?) could be 0x7f if nothing went good
+
  0x32 - HalfW : Destination Y                                              001755e8
  0x48 - Unit Total Height
+
      - HalfW : Dynamic destination Y (Jump loop)                          001764d8
        Height + Size (SP 0x80 - 0x06) if Tile has flags 0x08 [ 0017567c]
+
0x34 - Elevation Flag (0 1 0 1 while looping)                              00175958
        PV 4 - 7 : Tile's + Side1 height
+
  0x36 - Delta Height (Exit Side - Opposite Side)                            0017567c Tile Path
        + Depht * 2 if Move on/in water
+
       - Unit Height + Size                                                  0017567c Unit Path
        -2 if Move in water
+
0x38 - Half : Destination side height difference (Opposite - Entry)       00175958
  0x49 - It is 0x48 (Original or modifier)
+
  0x3a - Spreading Tile X Direction                                          00175ea0 (Spreading Jal)
       - PV 4 to 7 : Tile height + Side 2 Height
+
  0x3c - Spreading Tile Y Direction                                          00175ea0 (Spreading Jal)
  0x4c - Iteration Tile's Height
+
  0x40 - 0 = Check Tile Path                                                00175ea0
  0x50 - Height of the side (enter r exit ?)
+
        1 = Check Unit Path (when moving above units)                      00175ea0
  0x54 - Used as loop limit in 00175ea0 (should not exceed 0xf..)
+
  0x41 - Unit ID/Counter - From Targetable grid 0x02                        0017567c Unit Path
       - 0x24 if Flag 0x20 on Acting Unit tile (on 0x200 ) PV 1
+
0x42 - Path flag (Tile/Above Unit)                                        00175958
       - 0x08 if No Flag 0x20 on Acting Unit tile PV1
+
0x43 - Unit ID (from Grid 0x02) on destination Tile                        00175958
        Set to 0x08 after 175ea0 and 1764d8 [174b8c]
+
  0x44 - Origin Exit Side slope Mod (Pathfinding)                           00175ea0 (Spreading Jal)
  0x55 Used As loop limit  [[00175ea0]]
+
        Used to set Destination opposite side height too
      - 0x04 if PV = 1 - Loop counter (4 direction ??)
+
  0x45 - Destination Entry Side Slope Mod (Pathfinding)                      00175ea0 (Spreading Jal)
  0x56 - Iteration Tile's Halves
+
        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 (Checked as valid and the destroyed)
+
0x47 - Destination Ceiling distance                                        00175958
        0x00 at start of loop 174b8c
+
  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