Difference between revisions of "Crystal, Dead, Jump, Petrify"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with " Crystal, Dead, Jump, Petrify, and Treasure check: 0018da44: 90830001 lbu r3,0x0001(r4) 0018da48: 340200ff ori r2,r0,0x00ff 0018da4c: 1062000c beq r3,r2,0x0018da80 0...")
 
 
Line 1: Line 1:
  Crystal, Dead, Jump, Petrify, and Treasure check:
+
'''BATTLE.BIN''' :  - Crystal, Dead, Jump, Petrify, and Treasure check:
  0018da44: 90830001 lbu r3,0x0001(r4)
+
------------------------------------------------------------------------------------------
  0018da48: 340200ff ori r2,r0,0x00ff
+
Parameter : r4 = Pointer to unit battle data (801908cc)
  0018da4c: 1062000c beq r3,r2,0x0018da80
+
Return : r2 = 0x01 if unit ID = 0xff (do not exist)
  0018da50: 34020001 ori r2,r0,0x0001 r2 = 1
+
          r2 = 0x01 if unit is Crystal / Dead / Treasure / Jumping / Petrified
  0018da54: 90820058 lbu r2,0x0058(r4) Load 1st set of Current Status
+
          r2 = 0x00 by default
  0018da58: 00000000 nop
+
------------------------------------------------------------------------------------------
  0018da5c: 30420064 andi r2,r2,0x0064
+
  0018da44: 90830001 lbu r3,0x0001(r4)         |{{f/load|Unit ID}}
  0018da60: 14400007 bne r2,r0,0x0018da80 Branch if the unit has Crystal, Dead, or Jump
+
  0018da48: 340200ff ori r2,r0,0x00ff         |
  0018da64: 34020001 ori r2,r0,0x0001 r2 = 1
+
  0018da4c: 1062000c beq r3,r2,0x0018da80     {{f/Cond|If Unit does'nt exist branch to}} {{f/loc|END}} {{f/std|<nowiki>return r2 = 0x01</nowiki>}}
  0018da68: 90820059 lbu r2,0x0059(r4) Load 2nd set of Current Status
+
  0018da50: 34020001 ori r2,r0,0x0001         |
  0018da6c: 00000000 nop
+
  0018da54: 90820058 lbu r2,0x0058(r4)         |{{f/load|Load 1st set of Current Status}}
  0018da70: 30420081 andi r2,r2,0x0081
+
  0018da58: 00000000 nop                       |
  0018da74: 10400002 beq r2,r0,0x0018da80 Branch if the unit doesn't have Petrify or Treasure
+
  0018da5c: 30420064 andi r2,r2,0x0064         |
  0018da78: 00000000 nop
+
  0018da60: 14400007 bne r2,r0,0x0018da80     {{f/Cond|If Crystal, Dead, Jump : branch to}} {{f/loc|END}} {{f/std|<nowiki>return r2 = 0x01</nowiki>}}
  0018da7c: 34020001 ori r2,r0,0x0001 r2 = 1
+
  0018da64: 34020001 ori r2,r0,0x0001         |
  0018da80: 03e00008 jr r31
+
  0018da68: 90820059 lbu r2,0x0059(r4)         |{{f/load|Load 2nd set of Current Status}}
  0018da84: 00000000 nop
+
  0018da6c: 00000000 nop                       |
 +
  0018da70: 30420081 andi r2,r2,0x0081         |
 +
  0018da74: 10400002 beq r2,r0,0x0018da80     {{f/Cond|If not Petrify nor Treasure : branch to }} {{f/loc|END}} {{f/std|<nowiki>return r2 = 0x00</nowiki>}}
 +
  0018da78: 00000000 nop                       |
 +
  0018da7c: 34020001 ori r2,r0,0x0001         |{{f/std|<nowiki>Return r2 = 1 if petrify or treasure</nowiki>}}
 +
  0018da80: 03e00008 jr r31  
 +
  0018da84: 00000000 nop  
 +
===Return locations===
 +
'''BATTLE.BIN'''
 +
  0018d7dc: [[Poison_and_Regen]]
 +
  0018d87c: [[Transparent_removal_routine]]
 +
  0018daa8: [[Poison_Marsh_Routine]]

Latest revision as of 16:15, 14 March 2024

BATTLE.BIN :  -  Crystal, Dead, Jump, Petrify, and Treasure check:
------------------------------------------------------------------------------------------
Parameter : r4 = Pointer to unit battle data (801908cc)
Return : r2 = 0x01 if unit ID = 0xff (do not exist)
         r2 = 0x01 if unit is Crystal / Dead / Treasure / Jumping / Petrified
         r2 = 0x00 by default
------------------------------------------------------------------------------------------
0018da44: 90830001 lbu r3,0x0001(r4)         |Unit ID
0018da48: 340200ff ori r2,r0,0x00ff          |
0018da4c: 1062000c beq r3,r2,0x0018da80      #If Unit does'nt exist branch to END return r2 = 0x01
0018da50: 34020001 ori r2,r0,0x0001          |
0018da54: 90820058 lbu r2,0x0058(r4)         |Load 1st set of Current Status
0018da58: 00000000 nop                       |
0018da5c: 30420064 andi r2,r2,0x0064         |
0018da60: 14400007 bne r2,r0,0x0018da80      #If Crystal, Dead, Jump : branch to END return r2 = 0x01
0018da64: 34020001 ori r2,r0,0x0001          |
0018da68: 90820059 lbu r2,0x0059(r4)         |Load 2nd set of Current Status
0018da6c: 00000000 nop                       |
0018da70: 30420081 andi r2,r2,0x0081         |
0018da74: 10400002 beq r2,r0,0x0018da80      #If not Petrify nor Treasure : branch to  END return r2 = 0x00
0018da78: 00000000 nop                       |
0018da7c: 34020001 ori r2,r0,0x0001          |Return r2 = 1  if petrify or treasure
0018da80: 03e00008 jr r31 
0018da84: 00000000 nop 

Return locations

BATTLE.BIN
 0018d7dc: Poison_and_Regen
 0018d87c: Transparent_removal_routine
 0018daa8: Poison_Marsh_Routine