Difference between revisions of "X/Y Data Gathering for Attacks"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
Line 5: Line 5:
 
  00068424: 8ca40134 lw r4,0x0134(r5) Load Unit's Data Pointer
 
  00068424: 8ca40134 lw r4,0x0134(r5) Load Unit's Data Pointer
 
  00068428: 00000000 nop
 
  00068428: 00000000 nop
  0006842c: 90830178 lbu r3,0x0178(r4) Load Unit's ?
+
  0006842c: 90830178 lbu r3,0x0178(r4) Load Unit's Tile or Target Specific byte
 
  00068430: 34020005 ori r2,r0,0x0005 r2 = 5
 
  00068430: 34020005 ori r2,r0,0x0005 r2 = 5
  00068434: 1462000e bne r3,r2,0x 00068470 Branch if ? != 5
+
  00068434: 1462000e bne r3,r2,0x 00068470 Branch if ability is tracking the target
 
  00068438: 00000000 nop
 
  00068438: 00000000 nop
  0006843c: 8484017a lh r4,0x017a(r4) Load Unit's ? (stepping stone/walkable in this)
+
  0006843c: 8484017a lh r4,0x017a(r4) Load Unit's Current Ability target panel X (stepping stone/walkable in this)
  00068440: 8ca20134 lw r2,0x0134(r5) Load Unit's Data Pointer
+
  00068440: 8ca20134 lw r2,0x0134(r5) Load Unit's Data Pointer (why?)
  00068444: 8ca30134 lw r3,0x0134(r5) Load Unit's Data Pointer
+
  00068444: 8ca30134 lw r3,0x0134(r5) Load Unit's Data Pointer (even more why?)
  00068448: 8442017c lh r2,0x017c(r2) Load Unit's ?
+
  00068448: 8442017c lh r2,0x017c(r2) Load Unit's Current Ability target panel elevation
  0006844c: 8463017e lh r3,0x017e(r3) Load Unit's ?
+
  0006844c: 8463017e lh r3,0x017e(r3) Load Unit's Current Ability target panel Y
 
  00068450: 3c018009 lui r1,0x8009
 
  00068450: 3c018009 lui r1,0x8009
  00068454: ac2461b4 sw r4,0x61b4(r1) Store ? (0x17a)
+
  00068454: ac2461b4 sw r4,0x61b4(r1) Store target panel X
 
  00068458: 3c018009 lui r1,0x8009
 
  00068458: 3c018009 lui r1,0x8009
  0006845c: ac2261b8 sw r2,0x61b8(r1) Store ? (0x17c)
+
  0006845c: ac2261b8 sw r2,0x61b8(r1) Store target panel elevation
 
  00068460: 3c018009 lui r1,0x8009
 
  00068460: 3c018009 lui r1,0x8009
  00068464: ac2361bc sw r3,0x61bc(r1) Store ? (0x17e)
+
  00068464: ac2361bc sw r3,0x61bc(r1) Store target panel Y
  00068468: 0801a121 j 0x 00068484
+
  00068468: 0801a121 j 0x 00068484                       Jump to end
 
  0006846c: 00000000 nop
 
  0006846c: 00000000 nop
  00068470: 90840179 lbu r4,0x0179(r4) Load Unit's Target ID?
+
  00068470: 90840179 lbu r4,0x0179(r4) Load Unit's Current Ability Target
  00068474: 0c01e9c9 jal 0x0007a724 Find Misc Unit Data Pointer (checking for specific unit)?
+
  00068474: 0c01e9c9 jal 0x0007a724 Find Misc Unit Data Pointer (target's data)
 
  00068478: 00000000 nop
 
  00068478: 00000000 nop
 
  0006847c: 0c01a0f9 jal 0x 000683e4 Transfer Unit's X/Y/Map Level
 
  0006847c: 0c01a0f9 jal 0x 000683e4 Transfer Unit's X/Y/Map Level
Line 36: Line 36:
 
  000686f4: 000686b0 - 00068764 [[AT List Check if Unit is Charging Ability]]
 
  000686f4: 000686b0 - 00068764 [[AT List Check if Unit is Charging Ability]]
 
  0007176c: 0007171c - 000717c8 [[Get next acting unit?]]
 
  0007176c: 0007171c - 000717c8 [[Get next acting unit?]]
 +
00072c20: 00072bf0 - 00072ce4  [[Set item/throw stone ability display stuff]]
  
 
==< [[BATTLE.BIN Routines]]==
 
==< [[BATTLE.BIN Routines]]==
 
<div style="float:left;">< [[Transfer Unit's X/Y/Map Level]]</div><div style="float:right;">[[Store Palette data for each unit]] ></div>
 
<div style="float:left;">< [[Transfer Unit's X/Y/Map Level]]</div><div style="float:right;">[[Store Palette data for each unit]] ></div>

Revision as of 04:39, 29 December 2024

X/Y Data Gathering for Attacks?
00068418: 27bdffe8 addiu r29,r29,0xffe8
0006841c: 00802821 addu r5,r4,r0		r5 = Misc Unit Data Pointer
00068420: afbf0010 sw r31,0x0010(r29)
00068424: 8ca40134 lw r4,0x0134(r5)		Load Unit's Data Pointer
00068428: 00000000 nop
0006842c: 90830178 lbu r3,0x0178(r4)		Load Unit's Tile or Target Specific byte
00068430: 34020005 ori r2,r0,0x0005		r2 = 5
00068434: 1462000e bne r3,r2,0x 00068470		Branch if ability is tracking the target
00068438: 00000000 nop
0006843c: 8484017a lh r4,0x017a(r4)		Load Unit's Current Ability target panel X (stepping stone/walkable in this)
00068440: 8ca20134 lw r2,0x0134(r5)		Load Unit's Data Pointer (why?)
00068444: 8ca30134 lw r3,0x0134(r5)		Load Unit's Data Pointer (even more why?)
00068448: 8442017c lh r2,0x017c(r2)		Load Unit's Current Ability target panel elevation
0006844c: 8463017e lh r3,0x017e(r3)		Load Unit's Current Ability target panel Y
00068450: 3c018009 lui r1,0x8009
00068454: ac2461b4 sw r4,0x61b4(r1)		Store target panel X
00068458: 3c018009 lui r1,0x8009
0006845c: ac2261b8 sw r2,0x61b8(r1)		Store target panel elevation
00068460: 3c018009 lui r1,0x8009
00068464: ac2361bc sw r3,0x61bc(r1)		Store target panel Y
00068468: 0801a121 j 0x 00068484                        Jump to end
0006846c: 00000000 nop
00068470: 90840179 lbu r4,0x0179(r4)		Load Unit's Current Ability Target
00068474: 0c01e9c9 jal 0x0007a724		Find Misc Unit Data Pointer (target's data)
00068478: 00000000 nop
0006847c: 0c01a0f9 jal 0x 000683e4		Transfer Unit's X/Y/Map Level
00068480: 00402021 addu r4,r2,r0
00068484: 8fbf0010 lw r31,0x0010(r29)
00068488: 27bd0018 addiu r29,r29,0x0018
0006848c: 03e00008 jr r31
00068490: 00000000 nop

Return locations

Battle.bin
000686f4: 000686b0 - 00068764	AT List Check if Unit is Charging Ability
0007176c: 0007171c - 000717c8	Get next acting unit?
00072c20: 00072bf0 - 00072ce4  Set item/throw stone ability display stuff

< BATTLE.BIN Routines

< Transfer Unit's X/Y/Map Level
Store Palette data for each unit >