Difference between revisions of "Some Knockback Handling"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 0006cc94: 27bdffe0 addiu r29,r29,0xffe0 0006cc98: afb00010 sw r16,0x0010(r29) 0006cc9c: 00808021 addu r16,r4,r0 0006cca0: afbf0018 sw r31,0x001...")
 
Line 1: Line 1:
 
<font face='Courier New'>
 
<font face='Courier New'>
 +
Some Knockback Handling 0x6cc94: [[0006cc94 - 0006d05c]]
 
   
 
   
  0006cc94: 27bdffe0 addiu r29,r29,0xffe0
+
0006c2bc: [[0006c2bc - 0006c31c]]
  0006cc98: afb00010 sw r16,0x0010(r29)
+
0006af7c: [[0006af7c - 0006b95c]]
 +
0006be8c: [[0006be8c - 0006c020]]
 +
0006cbb8: [[0006cbb8 - 0006cc90]]
 +
0006c94c: [[0006c94c - 0006ca38]]
 +
0017c158: [[Calculate Height Data]]
 +
0007cff8: [[0007cff8 - 0007d09c]]
 +
0007a25c: [[Get Misc Data of unit that matches register inputs]]
 +
0017c158: [[Calculate Height Data]]
 +
0007cff8: [[0007cff8 - 0007d09c]]
 +
000692bc: [[Set Animation/Facing for Mounted Units]]
 +
0006a20c: [[0006a20c - 0006a37c]]
 +
0006a380: [[0006a380 - 0006a534]]
 +
00069254: [[Set some data for Mounted Units]]
 +
0006aa80: [[0006aa80 - 0006ad14]]
 +
0006a7c0: [[0006a7c0 - 0006aa7c]]
 +
0006a538: [[0006a538 - 0006a7bc]]
 +
 +
  0006cc94: 27bdffe0 addiu r29,r29,0xffe0
 +
  0006cc98: afb00010 sw r16,0x0010(r29) Store 0x0 onto Stack
 
  0006cc9c: 00808021 addu r16,r4,r0
 
  0006cc9c: 00808021 addu r16,r4,r0
  0006cca0: afbf0018 sw r31,0x0018(r29)
+
  0006cca0: afbf0018 sw r31,0x0018(r29) Store 0x0 onto Stack
  0006cca4: 0c01b0af jal 0x0006c2bc
+
  0006cca4: 0c01b0af jal 0x0006c2bc [[0006c2bc - 0006c31c]]
  0006cca8: afb10014 sw r17,0x0014(r29)
+
  0006cca8: afb10014 sw r17,0x0014(r29) Store 0x0 onto Stack
 
  0006ccac: 02002021 addu r4,r16,r0
 
  0006ccac: 02002021 addu r4,r16,r0
  0006ccb0: 0c01abdf jal 0x0006af7c
+
  0006ccb0: 0c01abdf jal 0x0006af7c [[0006af7c - 0006b95c]]
 
  0006ccb4: 00408821 addu r17,r2,r0
 
  0006ccb4: 00408821 addu r17,r2,r0
  0006ccb8: 3c038009 lui r3,0x8009
+
  0006ccb8: 3c038009 lui r3,0x8009
  0006ccbc: 8c6360e4 lw r3,0x60e4(r3)
+
  0006ccbc: 8c6360e4 lw r3,0x60e4(r3) Load Main battle control variable
  0006ccc0: 34020034 ori r2,r0,0x0034
+
  0006ccc0: 34020034 ori r2,r0,0x0034 r2 = (0x34) 52
  0006ccc4: 10620003 beq r3,r2,0x0006ccd4
+
  0006ccc4: 10620003 beq r3,r2,0x0006ccd4 Branch if Main battle control variable == 34 (52)
 
  0006ccc8: 02002021 addu r4,r16,r0
 
  0006ccc8: 02002021 addu r4,r16,r0
  0006cccc: 0c01afa3 jal 0x0006be8c
+
  0006cccc: 0c01afa3 jal 0x0006be8c [[0006be8c - 0006c020]]
 
  0006ccd0: 02202821 addu r5,r17,r0
 
  0006ccd0: 02202821 addu r5,r17,r0
 
  0006ccd4: 02202021 addu r4,r17,r0
 
  0006ccd4: 02202021 addu r4,r17,r0
  0006ccd8: 0c01b2ee jal 0x0006cbb8
+
  0006ccd8: 0c01b2ee jal 0x0006cbb8 [[0006cbb8 - 0006cc90]]
 
  0006ccdc: 02002821 addu r5,r16,r0
 
  0006ccdc: 02002821 addu r5,r16,r0
  0006cce0: 104000d9 beq r2,r0,0x0006d048
+
  0006cce0: 104000d9 beq r2,r0,0x0006d048 Branch if 34 (52) == 0x0
 
  0006cce4: 02202021 addu r4,r17,r0
 
  0006cce4: 02202021 addu r4,r17,r0
  0006cce8: 0c01b253 jal 0x0006c94c
+
 +
  0006cce8: 0c01b253 jal 0x0006c94c [[0006c94c - 0006ca38]]
 
  0006ccec: 02002821 addu r5,r16,r0
 
  0006ccec: 02002821 addu r5,r16,r0
  0006ccf0: 3c028009 lui r2,0x8009
+
  0006ccf0: 3c028009 lui r2,0x8009
  0006ccf4: 9042621c lbu r2,0x621c(r2)
+
  0006ccf4: 9042621c lbu r2,0x621c(r2) ???
 
  0006ccf8: 00000000 nop
 
  0006ccf8: 00000000 nop
  0006ccfc: 30420003 andi r2,r2,0x0003
+
  0006ccfc: 30420003 andi r2,r2,0x0003 Unit misc ID when selected by cursor & 0x3
  0006cd00: 144000c9 bne r2,r0,0x0006d028
+
  0006cd00: 144000c9 bne r2,r0,0x0006d028 Branch if ??? & 0x3 != 0x0
 
  0006cd04: 02002021 addu r4,r16,r0
 
  0006cd04: 02002021 addu r4,r16,r0
  0006cd08: 9205011e lbu r5,0x011e(r16)
+
 +
  0006cd08: 9205011e lbu r5,0x011e(r16) Load ???
 
  0006cd0c: 00000000 nop
 
  0006cd0c: 00000000 nop
  0006cd10: 10a00021 beq r5,r0,0x0006cd98
+
  0006cd10: 10a00021 beq r5,r0,0x0006cd98 Branch if  == 0x0
 
  0006cd14: 00000000 nop
 
  0006cd14: 00000000 nop
  0006cd18: 3c048009 lui r4,0x8009
+
  0006cd1c: 24846238 addiu r4,r4,0x6238
+
  0006cd18: 3c048009 lui r4,0x8009
  0006cd20: 0c05f056 jal 0x0017c158
+
  0006cd1c: 24846238 addiu r4,r4,0x6238 Exception
 +
  0006cd20: 0c05f056 jal 0x0017c158 [[Calculate Height Data]]
 
  0006cd24: 24a5ffff addiu r5,r5,0xffff
 
  0006cd24: 24a5ffff addiu r5,r5,0xffff
  0006cd28: 3c028009 lui r2,0x8009
+
  0006cd2c: 9042623b lbu r2,0x623b(r2)
+
  0006cd28: 3c028009 lui r2,0x8009
 +
  0006cd2c: 9042623b lbu r2,0x623b(r2) Load ???
 
  0006cd30: 00000000 nop
 
  0006cd30: 00000000 nop
  0006cd34: 30420080 andi r2,r2,0x0080
+
  0006cd34: 30420080 andi r2,r2,0x0080 & 0x80
  0006cd38: 10400011 beq r2,r0,0x0006cd80
+
  0006cd38: 10400011 beq r2,r0,0x0006cd80 Branch if  & 0x80 == 0x0
 
  0006cd3c: 00000000 nop
 
  0006cd3c: 00000000 nop
  0006cd40: 3c048009 lui r4,0x8009
+
  0006cd44: 8c846220 lw r4,0x6220(r4)
+
  0006cd40: 3c048009 lui r4,0x8009
 +
  0006cd44: 8c846220 lw r4,0x6220(r4) Load Target/Attacker Tile pointer
 
  0006cd48: 00000000 nop
 
  0006cd48: 00000000 nop
  0006cd4c: 90820003 lbu r2,0x0003(r4)
+
  0006cd4c: 90820003 lbu r2,0x0003(r4) load height
  0006cd50: 92030097 lbu r3,0x0097(r16)
+
  0006cd50: 92030097 lbu r3,0x0097(r16) Load Main battle control variable
  0006cd54: 3042001f andi r2,r2,0x001f
+
  0006cd54: 3042001f andi r2,r2,0x001f height halves
  0006cd58: 00430018 mult r2,r3
+
  0006cd58: 00430018 mult r2,r3 height halves*??
  0006cd5c: 90820002 lbu r2,0x0002(r4)
+
  0006cd5c: 90820002 lbu r2,0x0002(r4) load height whole numbers
 
  0006cd60: 00000000 nop
 
  0006cd60: 00000000 nop
  0006cd64: 00021040 sll r2,r2,0x01
+
  0006cd64: 00021040 sll r2,r2,0x01 Shift left 1 bits (*0x2) (*2)
  0006cd68: 00001812 mflo r3
+
  0006cd68: 00001812 mflo r3 0x0
 
  0006cd6c: 00431021 addu r2,r2,r3
 
  0006cd6c: 00431021 addu r2,r2,r3
  0006cd70: 3c018009 lui r1,0x8009
+
  0006cd70: 3c018009 lui r1,0x8009
  0006cd74: a0226230 sb r2,0x6230(r1)
+
  0006cd74: a0226230 sb r2,0x6230(r1) store total height
  0006cd78: 0801b37c j 0x0006cdf0
+
  0006cd78: 0801b37c j 0x0006cdf0
 
  0006cd7c: 00000000 nop
 
  0006cd7c: 00000000 nop
  0006cd80: 3c028009 lui r2,0x8009
+
  0006cd84: 9042623e lbu r2,0x623e(r2)
+
  0006cd80: 3c028009 lui r2,0x8009
  0006cd88: 3c018009 lui r1,0x8009
+
  0006cd84: 9042623e lbu r2,0x623e(r2) Load ???
  0006cd8c: a0226230 sb r2,0x6230(r1)
+
  0006cd88: 3c018009 lui r1,0x8009
  0006cd90: 0801b37c j 0x0006cdf0
+
  0006cd8c: a0226230 sb r2,0x6230(r1) store height?
 +
  0006cd90: 0801b37c j 0x0006cdf0
 
  0006cd94: 00000000 nop
 
  0006cd94: 00000000 nop
  0006cd98: 3c058009 lui r5,0x8009
+
  0006cd9c: 8ca56220 lw r5,0x6220(r5)
+
  0006cd98: 3c058009 lui r5,0x8009
 +
  0006cd9c: 8ca56220 lw r5,0x6220(r5) Load Target/Attacker Tile pointer
 
  0006cda0: 00000000 nop
 
  0006cda0: 00000000 nop
  0006cda4: 90a20003 lbu r2,0x0003(r5)
+
  0006cda4: 90a20003 lbu r2,0x0003(r5) load height
  0006cda8: 92030097 lbu r3,0x0097(r16)
+
  0006cda8: 92030097 lbu r3,0x0097(r16) load ??
  0006cdac: 3042001f andi r2,r2,0x001f
+
  0006cdac: 3042001f andi r2,r2,0x001f
  0006cdb0: 00430018 mult r2,r3
+
  0006cdb0: 00430018 mult r2,r3 get halves
  0006cdb4: 90a20002 lbu r2,0x0002(r5)
+
  0006cdb4: 90a20002 lbu r2,0x0002(r5) Load Target/Attacker Tile pointer
 
  0006cdb8: 00000000 nop
 
  0006cdb8: 00000000 nop
  0006cdbc: 00021040 sll r2,r2,0x01
+
  0006cdbc: 00021040 sll r2,r2,0x01 Shift left 1 bits (*0x2) (*2)
  0006cdc0: 00001812 mflo r3
+
  0006cdc0: 00001812 mflo r3 0x0
  0006cdc4: 00431021 addu r2,r2,r3
+
  0006cdc4: 00431021 addu r2,r2,r3 r2 = height
  0006cdc8: 3c018009 lui r1,0x8009
+
  0006cdc8: 3c018009 lui r1,0x8009
  0006cdcc: a0226230 sb r2,0x6230(r1)
+
  0006cdcc: a0226230 sb r2,0x6230(r1) Store height
  0006cdd0: 0c01f3fe jal 0x0007cff8
+
  0006cdd0: 0c01f3fe jal 0x0007cff8 [[0007cff8 - 0007d09c]]
 
  0006cdd4: 02002021 addu r4,r16,r0
 
  0006cdd4: 02002021 addu r4,r16,r0
  0006cdd8: 3c038009 lui r3,0x8009
+
  0006cdd8: 3c038009 lui r3,0x8009
  0006cddc: 90636230 lbu r3,0x6230(r3)
+
  0006cddc: 90636230 lbu r3,0x6230(r3) Load ???
 
  0006cde0: 00000000 nop
 
  0006cde0: 00000000 nop
 
  0006cde4: 00621821 addu r3,r3,r2
 
  0006cde4: 00621821 addu r3,r3,r2
  0006cde8: 3c018009 lui r1,0x8009
+
  0006cde8: 3c018009 lui r1,0x8009
  0006cdec: a0236230 sb r3,0x6230(r1)
+
  0006cdec: a0236230 sb r3,0x6230(r1) Store 0x0 +  +  into 0x80096230
  0006cdf0: 3c028009 lui r2,0x8009
+
  0006cdf0: 3c028009 lui r2,0x8009
  0006cdf4: 9042621c lbu r2,0x621c(r2)
+
  0006cdf4: 9042621c lbu r2,0x621c(r2) load ??
 
  0006cdf8: 00000000 nop
 
  0006cdf8: 00000000 nop
  0006cdfc: 30420010 andi r2,r2,0x0010
+
  0006cdfc: 30420010 andi r2,r2,0x0010
  0006ce00: 10400033 beq r2,r0,0x0006ced0
+
  0006ce00: 10400033 beq r2,r0,0x0006ced0 Branch if not 0x10
 
  0006ce04: 00000000 nop
 
  0006ce04: 00000000 nop
  0006ce08: 92040080 lbu r4,0x0080(r16)
+
  0006ce0c: 92050081 lbu r5,0x0081(r16)
+
  0006ce08: 92040080 lbu r4,0x0080(r16) load X coordinate
  0006ce10: 92060082 lbu r6,0x0082(r16)
+
  0006ce0c: 92050081 lbu r5,0x0081(r16) load Y coordinate
  0006ce14: 0c01e897 jal 0x0007a25c
+
  0006ce10: 92060082 lbu r6,0x0082(r16) load map level
 +
  0006ce14: 0c01e897 jal 0x0007a25c [[Get Misc Data of unit that matches register inputs]]
 
  0006ce18: 00000000 nop
 
  0006ce18: 00000000 nop
  0006ce1c: 8c430134 lw r3,0x0134(r2)
+
  0006ce1c: 8c430134 lw r3,0x0134(r2) Load unit data
  0006ce20: 3c018009 lui r1,0x8009
+
  0006ce20: 3c018009 lui r1,0x8009
  0006ce24: ac226234 sw r2,0x6234(r1)
+
  0006ce24: ac226234 sw r2,0x6234(r1) store unit misc data?
  0006ce28: 9062018a lbu r2,0x018a(r3)
+
  0006ce28: 9062018a lbu r2,0x018a(r3) load unit id w/ exists check?
 
  0006ce2c: 00000000 nop
 
  0006ce2c: 00000000 nop
 
  0006ce30: 24420001 addiu r2,r2,0x0001
 
  0006ce30: 24420001 addiu r2,r2,0x0001
  0006ce34: a202011e sb r2,0x011e(r16)
+
  0006ce34: a202011e sb r2,0x011e(r16) store unit id w/ exists check into 0x11e
  0006ce38: 3c028009 lui r2,0x8009
+
  0006ce38: 3c028009 lui r2,0x8009
  0006ce3c: 8c426234 lw r2,0x6234(r2)
+
  0006ce3c: 8c426234 lw r2,0x6234(r2) load unit misc ID
 
  0006ce40: 00000000 nop
 
  0006ce40: 00000000 nop
  0006ce44: 8c420134 lw r2,0x0134(r2)
+
  0006ce44: 8c420134 lw r2,0x0134(r2) load unit data
 
  0006ce48: 00000000 nop
 
  0006ce48: 00000000 nop
  0006ce4c: 9045018a lbu r5,0x018a(r2)
+
  0006ce4c: 9045018a lbu r5,0x018a(r2) Load ID and exists check
  0006ce50: 3c048009 lui r4,0x8009
+
  0006ce50: 3c048009 lui r4,0x8009
  0006ce54: 24846238 addiu r4,r4,0x6238
+
  0006ce54: 24846238 addiu r4,r4,0x6238 80096238
  0006ce58: 0c05f056 jal 0x0017c158
+
  0006ce58: 0c05f056 jal 0x0017c158 [[Calculate Height Data]]
 
  0006ce5c: 00000000 nop
 
  0006ce5c: 00000000 nop
  0006ce60: 3c028009 lui r2,0x8009
+
  0006ce60: 3c028009 lui r2,0x8009
  0006ce64: 9042623b lbu r2,0x623b(r2)
+
  0006ce64: 9042623b lbu r2,0x623b(r2) Load ???
 
  0006ce68: 00000000 nop
 
  0006ce68: 00000000 nop
  0006ce6c: 30420080 andi r2,r2,0x0080
+
  0006ce6c: 30420080 andi r2,r2,0x0080 & 0x80
  0006ce70: 10400011 beq r2,r0,0x0006ceb8
+
  0006ce70: 10400011 beq r2,r0,0x0006ceb8 Branch if  & 0x80 == 0x0
 
  0006ce74: 00000000 nop
 
  0006ce74: 00000000 nop
  0006ce78: 3c048009 lui r4,0x8009
+
  0006ce78: 3c048009 lui r4,0x8009
  0006ce7c: 8c846224 lw r4,0x6224(r4)
+
  0006ce7c: 8c846224 lw r4,0x6224(r4) Load Target/Attacker Tile Pointer
 
  0006ce80: 00000000 nop
 
  0006ce80: 00000000 nop
  0006ce84: 90820003 lbu r2,0x0003(r4)
+
  0006ce84: 90820003 lbu r2,0x0003(r4) Load Target/Attacker Tile Pointer
  0006ce88: 92030096 lbu r3,0x0096(r16)
+
  0006ce88: 92030096 lbu r3,0x0096(r16) Load ???
  0006ce8c: 3042001f andi r2,r2,0x001f
+
  0006ce8c: 3042001f andi r2,r2,0x001f & 0x1F
  0006ce90: 00430018 mult r2,r3
+
  0006ce90: 00430018 mult r2,r3 & 0x1F *
  0006ce94: 90820002 lbu r2,0x0002(r4)
+
  0006ce94: 90820002 lbu r2,0x0002(r4) Load Target/Attacker Tile Pointer
 
  0006ce98: 00000000 nop
 
  0006ce98: 00000000 nop
  0006ce9c: 00021040 sll r2,r2,0x01
+
  0006ce9c: 00021040 sll r2,r2,0x01 Shift left 1 bits (*0x2) (*2)
  0006cea0: 00001812 mflo r3
+
  0006cea0: 00001812 mflo r3 0x0
 
  0006cea4: 00431021 addu r2,r2,r3
 
  0006cea4: 00431021 addu r2,r2,r3
  0006cea8: 3c018009 lui r1,0x8009
+
  0006cea8: 3c018009 lui r1,0x8009 r2 = height
  0006ceac: a022622c sb r2,0x622c(r1)
+
  0006ceac: a022622c sb r2,0x622c(r1) store total height
  0006ceb0: 0801b3cb j 0x0006cf2c
+
  0006ceb0: 0801b3cb j 0x0006cf2c
 
  0006ceb4: 00000000 nop
 
  0006ceb4: 00000000 nop
  0006ceb8: 3c028009 lui r2,0x8009
+
  0006cebc: 9042623e lbu r2,0x623e(r2)
+
  0006ceb8: 3c028009 lui r2,0x8009
  0006cec0: 3c018009 lui r1,0x8009
+
  0006cebc: 9042623e lbu r2,0x623e(r2) Load ???
  0006cec4: a022622c sb r2,0x622c(r1)
+
  0006cec0: 3c018009 lui r1,0x8009
  0006cec8: 0801b3cb j 0x0006cf2c
+
  0006cec4: a022622c sb r2,0x622c(r1) Store  into 0x8009622C
 +
  0006cec8: 0801b3cb j 0x0006cf2c
 
  0006cecc: 00000000 nop
 
  0006cecc: 00000000 nop
  0006ced0: a200011e sb r0,0x011e(r16)
+
  0006ced4: 3c058009 lui r5,0x8009
+
  0006ced0: a200011e sb r0,0x011e(r16) Store 0x0 into 0x11E
  0006ced8: 8ca56224 lw r5,0x6224(r5)
+
  0006ced4: 3c058009 lui r5,0x8009
 +
  0006ced8: 8ca56224 lw r5,0x6224(r5) Load Target/Attacker Tile Pointer
 
  0006cedc: 00000000 nop
 
  0006cedc: 00000000 nop
  0006cee0: 90a20003 lbu r2,0x0003(r5)
+
  0006cee0: 90a20003 lbu r2,0x0003(r5) Load Target/Attacker Tile Pointer
  0006cee4: 92030096 lbu r3,0x0096(r16)
+
  0006cee4: 92030096 lbu r3,0x0096(r16) Load ???
  0006cee8: 3042001f andi r2,r2,0x001f
+
  0006cee8: 3042001f andi r2,r2,0x001f & 0x1F
  0006ceec: 00430018 mult r2,r3
+
  0006ceec: 00430018 mult r2,r3 & 0x1F *
  0006cef0: 90a20002 lbu r2,0x0002(r5)
+
  0006cef0: 90a20002 lbu r2,0x0002(r5) Load Target/Attacker Tile Pointer
 
  0006cef4: 00000000 nop
 
  0006cef4: 00000000 nop
  0006cef8: 00021040 sll r2,r2,0x01
+
  0006cef8: 00021040 sll r2,r2,0x01 Shift left 1 bits (*0x2) (*2)
  0006cefc: 00001812 mflo r3
+
  0006cefc: 00001812 mflo r3 0x0
 
  0006cf00: 00431021 addu r2,r2,r3
 
  0006cf00: 00431021 addu r2,r2,r3
  0006cf04: 3c018009 lui r1,0x8009
+
  0006cf04: 3c018009 lui r1,0x8009
  0006cf08: a022622c sb r2,0x622c(r1)
+
  0006cf08: a022622c sb r2,0x622c(r1) Store 0x0 +  into 0x8009622C
  0006cf0c: 0c01f3fe jal 0x0007cff8
+
  0006cf0c: 0c01f3fe jal 0x0007cff8 [[0007cff8 - 0007d09c]]
 
  0006cf10: 02002021 addu r4,r16,r0
 
  0006cf10: 02002021 addu r4,r16,r0
  0006cf14: 3c038009 lui r3,0x8009
+
  0006cf14: 3c038009 lui r3,0x8009
  0006cf18: 90636230 lbu r3,0x6230(r3)
+
  0006cf18: 90636230 lbu r3,0x6230(r3) load height
 
  0006cf1c: 00000000 nop
 
  0006cf1c: 00000000 nop
  0006cf20: 00621821 addu r3,r3,r2
+
  0006cf20: 00621821 addu r3,r3,r2 add ??
  0006cf24: 3c018009 lui r1,0x8009
+
  0006cf24: 3c018009 lui r1,0x8009
  0006cf28: a0236230 sb r3,0x6230(r1)
+
  0006cf28: a0236230 sb r3,0x6230(r1) store new height
  0006cf2c: 3c038009 lui r3,0x8009
+
  0006cf2c: 3c038009 lui r3,0x8009
  0006cf30: 90636230 lbu r3,0x6230(r3)
+
  0006cf30: 90636230 lbu r3,0x6230(r3) load height
  0006cf34: 3c048009 lui r4,0x8009
+
  0006cf34: 3c048009 lui r4,0x8009
  0006cf38: 9084622c lbu r4,0x622c(r4)
+
  0006cf38: 9084622c lbu r4,0x622c(r4) load height
  0006cf3c: 24620001 addiu r2,r3,0x0001
+
  0006cf3c: 24620001 addiu r2,r3,0x0001 height++
  0006cf40: 0044102a slt r2,r2,r4
+
  0006cf40: 0044102a slt r2,r2,r4 Set if height reached other height
  0006cf44: 14400020 bne r2,r0,0x0006cfc8
+
  0006cf44: 14400020 bne r2,r0,0x0006cfc8 Branch if so
  0006cf48: 24620007 addiu r2,r3,0x0007
+
  0006cf48: 24620007 addiu r2,r3,0x0007 height + 0x07
  0006cf4c: 0c01a4af jal 0x000692bc
+
 +
  0006cf4c: 0c01a4af jal 0x000692bc [[Set Animation/Facing for Mounted Units]]
 
  0006cf50: 02002021 addu r4,r16,r0
 
  0006cf50: 02002021 addu r4,r16,r0
  0006cf54: 3c028009 lui r2,0x8009
+
  0006cf54: 3c028009 lui r2,0x8009
  0006cf58: 9042621c lbu r2,0x621c(r2)
+
  0006cf58: 9042621c lbu r2,0x621c(r2) Load ???
 
  0006cf5c: 00000000 nop
 
  0006cf5c: 00000000 nop
  0006cf60: 000210c2 srl r2,r2,0x03
+
  0006cf60: 000210c2 srl r2,r2,0x03 Shift right 3 bits (/0x8) (/8)r2 = Unit misc ID when selected by cursor >> 3 * 0x3 (3)
  0006cf64: 30430001 andi r3,r2,0x0001
+
  0006cf64: 30430001 andi r3,r2,0x0001 Unit misc ID when selected by cursor >> 3 & 0x1
  0006cf68: 10600005 beq r3,r0,0x0006cf80
+
  0006cf68: 10600005 beq r3,r0,0x0006cf80 Branch if Unit misc ID when selected by cursor >> 3 & 0x1 == 0x0
  0006cf6c: 34020001 ori r2,r0,0x0001
+
  0006cf6c: 34020001 ori r2,r0,0x0001 r2 = (0x1) 1
  0006cf70: 1062000c beq r3,r2,0x0006cfa4
+
  0006cf70: 1062000c beq r3,r2,0x0006cfa4 Branch if Unit misc ID when selected by cursor >> 3 & 0x1 == 1 (1)
 
  0006cf74: 00000000 nop
 
  0006cf74: 00000000 nop
  0006cf78: 0801b412 j 0x0006d048
+
  0006cf78: 0801b412 j 0x0006d048
 
  0006cf7c: 00000000 nop
 
  0006cf7c: 00000000 nop
  0006cf80: 3c058009 lui r5,0x8009
+
  0006cf84: 8ca56220 lw r5,0x6220(r5)
+
  0006cf80: 3c058009 lui r5,0x8009
  0006cf88: 3c068009 lui r6,0x8009
+
  0006cf84: 8ca56220 lw r5,0x6220(r5) Load Target/Attacker Tile pointer
  0006cf8c: 8cc66224 lw r6,0x6224(r6)
+
  0006cf88: 3c068009 lui r6,0x8009
  0006cf90: 0c01a883 jal 0x0006a20c
+
  0006cf8c: 8cc66224 lw r6,0x6224(r6) Load Target/Attacker Tile Pointer
 +
  0006cf90: 0c01a883 jal 0x0006a20c [[0006a20c - 0006a37c]]
 
  0006cf94: 02002021 addu r4,r16,r0
 
  0006cf94: 02002021 addu r4,r16,r0
  0006cf98: 34020006 ori r2,r0,0x0006
+
  0006cf98: 34020006 ori r2,r0,0x0006 r2 = (0x6) 6
  0006cf9c: 0801b412 j 0x0006d048
+
  0006cf9c: 0801b412 j 0x0006d048
  0006cfa0: a202007f sb r2,0x007f(r16)
+
  0006cfa0: a202007f sb r2,0x007f(r16) save new control variable
  0006cfa4: 3c058009 lui r5,0x8009
+
  0006cfa8: 8ca56220 lw r5,0x6220(r5)
+
  0006cfa4: 3c058009 lui r5,0x8009
  0006cfac: 3c068009 lui r6,0x8009
+
  0006cfa8: 8ca56220 lw r5,0x6220(r5) Load Target/Attacker Tile pointer
  0006cfb0: 8cc66224 lw r6,0x6224(r6)
+
  0006cfac: 3c068009 lui r6,0x8009
  0006cfb4: 0c01a8e0 jal 0x0006a380
+
  0006cfb0: 8cc66224 lw r6,0x6224(r6) Load Target/Attacker Tile Pointer
 +
  0006cfb4: 0c01a8e0 jal 0x0006a380 [[0006a380 - 0006a534]]
 
  0006cfb8: 02002021 addu r4,r16,r0
 
  0006cfb8: 02002021 addu r4,r16,r0
  0006cfbc: 3402000e ori r2,r0,0x000e
+
  0006cfbc: 3402000e ori r2,r0,0x000e r2 = (0xE) 14
  0006cfc0: 0801b412 j 0x0006d048
+
  0006cfc0: 0801b412 j 0x0006d048
  0006cfc4: a202007f sb r2,0x007f(r16)
+
  0006cfc4: a202007f sb r2,0x007f(r16) save new control variable
  0006cfc8: 0044102a slt r2,r2,r4
+
  0006cfcc: 1440000d bne r2,r0,0x0006d004
+
if 80096230 height reached 8009622c height
 +
  0006cfc8: 0044102a slt r2,r2,r4 Set if E (14) < 0x0
 +
  0006cfcc: 1440000d bne r2,r0,0x0006d004 Branch if so
 
  0006cfd0: 02002021 addu r4,r16,r0
 
  0006cfd0: 02002021 addu r4,r16,r0
  0006cfd4: 0c01a495 jal 0x00069254
+
  0006cfd4: 0c01a495 jal 0x00069254 [[Set some data for Mounted Units]]
 
  0006cfd8: 02002021 addu r4,r16,r0
 
  0006cfd8: 02002021 addu r4,r16,r0
 
  0006cfdc: 02002021 addu r4,r16,r0
 
  0006cfdc: 02002021 addu r4,r16,r0
  0006cfe0: 3c058009 lui r5,0x8009
+
  0006cfe0: 3c058009 lui r5,0x8009
  0006cfe4: 8ca56220 lw r5,0x6220(r5)
+
  0006cfe4: 8ca56220 lw r5,0x6220(r5) Load Target/Attacker Tile pointer
  0006cfe8: 3c068009 lui r6,0x8009
+
  0006cfe8: 3c068009 lui r6,0x8009
  0006cfec: 8cc66224 lw r6,0x6224(r6)
+
  0006cfec: 8cc66224 lw r6,0x6224(r6) Load Target/Attacker Tile Pointer
  0006cff0: 34022000 ori r2,r0,0x2000
+
  0006cff0: 34022000 ori r2,r0,0x2000 r2 = (0x2000) 8192
  0006cff4: 0c01aaa0 jal 0x0006aa80
+
  0006cff4: 0c01aaa0 jal 0x0006aa80 [[0006aa80 - 0006ad14]]
  0006cff8: ae02003c sw r2,0x003c(r16)
+
  0006cff8: ae02003c sw r2,0x003c(r16) Store 2000 (8192) into 0x3C
  0006cffc: 0801b412 j 0x0006d048
+
  0006cffc: 0801b412 j 0x0006d048
  0006d000: a200011e sb r0,0x011e(r16)
+
  0006d000: a200011e sb r0,0x011e(r16) Store 0x0 into 0x11E
  0006d004: 3c058009 lui r5,0x8009
+
  0006d008: 8ca56220 lw r5,0x6220(r5)
+
  0006d004: 3c058009 lui r5,0x8009
  0006d00c: 3c068009 lui r6,0x8009
+
  0006d008: 8ca56220 lw r5,0x6220(r5) Load Target/Attacker Tile pointer
  0006d010: 8cc66224 lw r6,0x6224(r6)
+
  0006d00c: 3c068009 lui r6,0x8009
  0006d014: 34022000 ori r2,r0,0x2000
+
  0006d010: 8cc66224 lw r6,0x6224(r6) Load Target/Attacker Tile Pointer
  0006d018: 0c01a9f0 jal 0x0006a7c0
+
  0006d014: 34022000 ori r2,r0,0x2000 r2 = (0x2000) 8192
  0006d01c: ae02003c sw r2,0x003c(r16)
+
  0006d018: 0c01a9f0 jal 0x0006a7c0 [[0006a7c0 - 0006aa7c]]
  0006d020: 0801b412 j 0x0006d048
+
  0006d01c: ae02003c sw r2,0x003c(r16) Store 2000 (8192) into 0x3C
  0006d024: a200011e sb r0,0x011e(r16)
+
  0006d020: 0801b412 j 0x0006d048
  0006d028: 3c058009 lui r5,0x8009
+
  0006d024: a200011e sb r0,0x011e(r16) Store 0x0 into 0x11E
  0006d02c: 8ca56220 lw r5,0x6220(r5)
+
  0006d030: 3c068009 lui r6,0x8009
+
  0006d028: 3c058009 lui r5,0x8009
  0006d034: 8cc66224 lw r6,0x6224(r6)
+
  0006d02c: 8ca56220 lw r5,0x6220(r5) Load Target/Attacker Tile pointer
  0006d038: 34022000 ori r2,r0,0x2000
+
  0006d030: 3c068009 lui r6,0x8009
  0006d03c: 0c01a94e jal 0x0006a538
+
  0006d034: 8cc66224 lw r6,0x6224(r6) Load Target/Attacker Tile Pointer
  0006d040: ae02003c sw r2,0x003c(r16)
+
  0006d038: 34022000 ori r2,r0,0x2000 r2 = (0x2000) 8192
  0006d044: a200011e sb r0,0x011e(r16)
+
  0006d03c: 0c01a94e jal 0x0006a538 [[0006a538 - 0006a7bc]]
  0006d048: 8fbf0018 lw r31,0x0018(r29)
+
  0006d040: ae02003c sw r2,0x003c(r16) Store 2000 (8192) into 0x3C
  0006d04c: 8fb10014 lw r17,0x0014(r29)
+
  0006d044: a200011e sb r0,0x011e(r16) Store 0x0 into 0x11E
  0006d050: 8fb00010 lw r16,0x0010(r29)
+
  0006d054: 27bd0020 addiu r29,r29,0x0020
+
  0006d048: 8fbf0018 lw r31,0x0018(r29) Load Stack + 0x18
  0006d058: 03e00008 jr r31
+
  0006d04c: 8fb10014 lw r17,0x0014(r29) Load Stack + 0x14
 +
  0006d050: 8fb00010 lw r16,0x0010(r29) Load Stack + 0x10
 +
  0006d054: 27bd0020 addiu r29,r29,0x0020
 +
  0006d058: 03e00008 jr r31 Jump to Address
 
  0006d05c: 00000000 nop
 
  0006d05c: 00000000 nop
</font>
+
 +
</font>

Revision as of 16:43, 3 January 2016

Some Knockback Handling 0x6cc94: 0006cc94 - 0006d05c

	0006c2bc: 0006c2bc - 0006c31c
	0006af7c: 0006af7c - 0006b95c
	0006be8c: 0006be8c - 0006c020
	0006cbb8: 0006cbb8 - 0006cc90
	0006c94c: 0006c94c - 0006ca38
	0017c158: Calculate Height Data
	0007cff8: 0007cff8 - 0007d09c
	0007a25c: Get Misc Data of unit that matches register inputs
	0017c158: Calculate Height Data
	0007cff8: 0007cff8 - 0007d09c
	000692bc: Set Animation/Facing for Mounted Units
	0006a20c: 0006a20c - 0006a37c
	0006a380: 0006a380 - 0006a534
	00069254: Set some data for Mounted Units
	0006aa80: 0006aa80 - 0006ad14
	0006a7c0: 0006a7c0 - 0006aa7c
	0006a538: 0006a538 - 0006a7bc

0006cc94: 27bdffe0 addiu r29,r29,0xffe0			
0006cc98: afb00010 sw r16,0x0010(r29)			Store 0x0 onto Stack
0006cc9c: 00808021 addu r16,r4,r0
0006cca0: afbf0018 sw r31,0x0018(r29)			Store 0x0 onto Stack
0006cca4: 0c01b0af jal 0x0006c2bc			0006c2bc - 0006c31c
0006cca8: afb10014 sw r17,0x0014(r29)			Store 0x0 onto Stack
0006ccac: 02002021 addu r4,r16,r0
0006ccb0: 0c01abdf jal 0x0006af7c			0006af7c - 0006b95c
0006ccb4: 00408821 addu r17,r2,r0
0006ccb8: 3c038009 lui r3,0x8009			
0006ccbc: 8c6360e4 lw r3,0x60e4(r3)			Load Main battle control variable
0006ccc0: 34020034 ori r2,r0,0x0034			r2 = (0x34) 52
0006ccc4: 10620003 beq r3,r2,0x0006ccd4			Branch if Main battle control variable == 34 (52)
0006ccc8: 02002021 addu r4,r16,r0
0006cccc: 0c01afa3 jal 0x0006be8c			0006be8c - 0006c020
0006ccd0: 02202821 addu r5,r17,r0
0006ccd4: 02202021 addu r4,r17,r0
0006ccd8: 0c01b2ee jal 0x0006cbb8			0006cbb8 - 0006cc90
0006ccdc: 02002821 addu r5,r16,r0
0006cce0: 104000d9 beq r2,r0,0x0006d048			Branch if 34 (52) == 0x0
0006cce4: 02202021 addu r4,r17,r0

0006cce8: 0c01b253 jal 0x0006c94c			0006c94c - 0006ca38
0006ccec: 02002821 addu r5,r16,r0
0006ccf0: 3c028009 lui r2,0x8009			
0006ccf4: 9042621c lbu r2,0x621c(r2)			???
0006ccf8: 00000000 nop
0006ccfc: 30420003 andi r2,r2,0x0003			Unit misc ID when selected by cursor & 0x3
0006cd00: 144000c9 bne r2,r0,0x0006d028			Branch if ??? & 0x3 != 0x0
0006cd04: 02002021 addu r4,r16,r0

0006cd08: 9205011e lbu r5,0x011e(r16)			Load ???
0006cd0c: 00000000 nop
0006cd10: 10a00021 beq r5,r0,0x0006cd98			Branch if  == 0x0
0006cd14: 00000000 nop

0006cd18: 3c048009 lui r4,0x8009			
0006cd1c: 24846238 addiu r4,r4,0x6238			Exception
0006cd20: 0c05f056 jal 0x0017c158			Calculate Height Data
0006cd24: 24a5ffff addiu r5,r5,0xffff

0006cd28: 3c028009 lui r2,0x8009			
0006cd2c: 9042623b lbu r2,0x623b(r2)			Load ???
0006cd30: 00000000 nop
0006cd34: 30420080 andi r2,r2,0x0080			 & 0x80
0006cd38: 10400011 beq r2,r0,0x0006cd80			Branch if  & 0x80 == 0x0
0006cd3c: 00000000 nop

0006cd40: 3c048009 lui r4,0x8009			
0006cd44: 8c846220 lw r4,0x6220(r4)			Load Target/Attacker Tile pointer
0006cd48: 00000000 nop
0006cd4c: 90820003 lbu r2,0x0003(r4)			load height
0006cd50: 92030097 lbu r3,0x0097(r16)			Load Main battle control variable
0006cd54: 3042001f andi r2,r2,0x001f			 height halves
0006cd58: 00430018 mult r2,r3				height halves*??
0006cd5c: 90820002 lbu r2,0x0002(r4)			load height whole numbers
0006cd60: 00000000 nop
0006cd64: 00021040 sll r2,r2,0x01			Shift left 1 bits (*0x2) (*2)
0006cd68: 00001812 mflo r3				0x0
0006cd6c: 00431021 addu r2,r2,r3
0006cd70: 3c018009 lui r1,0x8009			
0006cd74: a0226230 sb r2,0x6230(r1)			store total height
0006cd78: 0801b37c j 0x0006cdf0			
0006cd7c: 00000000 nop

0006cd80: 3c028009 lui r2,0x8009			
0006cd84: 9042623e lbu r2,0x623e(r2)			Load ???
0006cd88: 3c018009 lui r1,0x8009			
0006cd8c: a0226230 sb r2,0x6230(r1)			store height?
0006cd90: 0801b37c j 0x0006cdf0			
0006cd94: 00000000 nop

0006cd98: 3c058009 lui r5,0x8009			
0006cd9c: 8ca56220 lw r5,0x6220(r5)			Load Target/Attacker Tile pointer
0006cda0: 00000000 nop
0006cda4: 90a20003 lbu r2,0x0003(r5)			load height
0006cda8: 92030097 lbu r3,0x0097(r16)			load ??
0006cdac: 3042001f andi r2,r2,0x001f			 
0006cdb0: 00430018 mult r2,r3				get halves
0006cdb4: 90a20002 lbu r2,0x0002(r5)			Load Target/Attacker Tile pointer
0006cdb8: 00000000 nop
0006cdbc: 00021040 sll r2,r2,0x01			Shift left 1 bits (*0x2) (*2)
0006cdc0: 00001812 mflo r3				0x0
0006cdc4: 00431021 addu r2,r2,r3			r2 = height
0006cdc8: 3c018009 lui r1,0x8009			
0006cdcc: a0226230 sb r2,0x6230(r1)			Store height
0006cdd0: 0c01f3fe jal 0x0007cff8			0007cff8 - 0007d09c
0006cdd4: 02002021 addu r4,r16,r0
0006cdd8: 3c038009 lui r3,0x8009			
0006cddc: 90636230 lbu r3,0x6230(r3)			Load ???
0006cde0: 00000000 nop
0006cde4: 00621821 addu r3,r3,r2
0006cde8: 3c018009 lui r1,0x8009			
0006cdec: a0236230 sb r3,0x6230(r1)			Store 0x0 +  +  into 0x80096230
0006cdf0: 3c028009 lui r2,0x8009			
0006cdf4: 9042621c lbu r2,0x621c(r2)			load ??
0006cdf8: 00000000 nop
0006cdfc: 30420010 andi r2,r2,0x0010			
0006ce00: 10400033 beq r2,r0,0x0006ced0			Branch if not 0x10 
0006ce04: 00000000 nop

0006ce08: 92040080 lbu r4,0x0080(r16)			load X coordinate
0006ce0c: 92050081 lbu r5,0x0081(r16)			load Y coordinate
0006ce10: 92060082 lbu r6,0x0082(r16)			load map level
0006ce14: 0c01e897 jal 0x0007a25c			Get Misc Data of unit that matches register inputs
0006ce18: 00000000 nop
0006ce1c: 8c430134 lw r3,0x0134(r2)			Load unit data
0006ce20: 3c018009 lui r1,0x8009			
0006ce24: ac226234 sw r2,0x6234(r1)			store unit misc data?
0006ce28: 9062018a lbu r2,0x018a(r3)			load unit id w/ exists check?
0006ce2c: 00000000 nop
0006ce30: 24420001 addiu r2,r2,0x0001
0006ce34: a202011e sb r2,0x011e(r16)			store unit id w/ exists check into 0x11e
0006ce38: 3c028009 lui r2,0x8009			
0006ce3c: 8c426234 lw r2,0x6234(r2)			load unit misc ID
0006ce40: 00000000 nop
0006ce44: 8c420134 lw r2,0x0134(r2)			load unit data
0006ce48: 00000000 nop
0006ce4c: 9045018a lbu r5,0x018a(r2)			Load ID and exists check
0006ce50: 3c048009 lui r4,0x8009			
0006ce54: 24846238 addiu r4,r4,0x6238			80096238
0006ce58: 0c05f056 jal 0x0017c158			Calculate Height Data
0006ce5c: 00000000 nop
0006ce60: 3c028009 lui r2,0x8009			
0006ce64: 9042623b lbu r2,0x623b(r2)			Load ???
0006ce68: 00000000 nop
0006ce6c: 30420080 andi r2,r2,0x0080			 & 0x80
0006ce70: 10400011 beq r2,r0,0x0006ceb8			Branch if  & 0x80 == 0x0
0006ce74: 00000000 nop
0006ce78: 3c048009 lui r4,0x8009			
0006ce7c: 8c846224 lw r4,0x6224(r4)			Load Target/Attacker Tile Pointer
0006ce80: 00000000 nop
0006ce84: 90820003 lbu r2,0x0003(r4)			Load Target/Attacker Tile Pointer
0006ce88: 92030096 lbu r3,0x0096(r16)			Load ???
0006ce8c: 3042001f andi r2,r2,0x001f			 & 0x1F
0006ce90: 00430018 mult r2,r3				 & 0x1F * 
0006ce94: 90820002 lbu r2,0x0002(r4)			Load Target/Attacker Tile Pointer
0006ce98: 00000000 nop
0006ce9c: 00021040 sll r2,r2,0x01			Shift left 1 bits (*0x2) (*2)
0006cea0: 00001812 mflo r3				0x0
0006cea4: 00431021 addu r2,r2,r3
0006cea8: 3c018009 lui r1,0x8009			r2 = height
0006ceac: a022622c sb r2,0x622c(r1)			store total height
0006ceb0: 0801b3cb j 0x0006cf2c			
0006ceb4: 00000000 nop

0006ceb8: 3c028009 lui r2,0x8009			
0006cebc: 9042623e lbu r2,0x623e(r2)			Load ???
0006cec0: 3c018009 lui r1,0x8009			
0006cec4: a022622c sb r2,0x622c(r1)			Store  into 0x8009622C
0006cec8: 0801b3cb j 0x0006cf2c			
0006cecc: 00000000 nop

0006ced0: a200011e sb r0,0x011e(r16)			Store 0x0 into 0x11E
0006ced4: 3c058009 lui r5,0x8009			
0006ced8: 8ca56224 lw r5,0x6224(r5)			Load Target/Attacker Tile Pointer
0006cedc: 00000000 nop
0006cee0: 90a20003 lbu r2,0x0003(r5)			Load Target/Attacker Tile Pointer
0006cee4: 92030096 lbu r3,0x0096(r16)			Load ???
0006cee8: 3042001f andi r2,r2,0x001f			 & 0x1F
0006ceec: 00430018 mult r2,r3				 & 0x1F * 
0006cef0: 90a20002 lbu r2,0x0002(r5)			Load Target/Attacker Tile Pointer
0006cef4: 00000000 nop
0006cef8: 00021040 sll r2,r2,0x01			Shift left 1 bits (*0x2) (*2)
0006cefc: 00001812 mflo r3				0x0
0006cf00: 00431021 addu r2,r2,r3
0006cf04: 3c018009 lui r1,0x8009			
0006cf08: a022622c sb r2,0x622c(r1)			Store 0x0 +  into 0x8009622C
0006cf0c: 0c01f3fe jal 0x0007cff8			0007cff8 - 0007d09c
0006cf10: 02002021 addu r4,r16,r0
0006cf14: 3c038009 lui r3,0x8009			
0006cf18: 90636230 lbu r3,0x6230(r3)			load height
0006cf1c: 00000000 nop
0006cf20: 00621821 addu r3,r3,r2			add ??
0006cf24: 3c018009 lui r1,0x8009			
0006cf28: a0236230 sb r3,0x6230(r1)			store new height
0006cf2c: 3c038009 lui r3,0x8009			
0006cf30: 90636230 lbu r3,0x6230(r3)			load height
0006cf34: 3c048009 lui r4,0x8009			
0006cf38: 9084622c lbu r4,0x622c(r4)			load height
0006cf3c: 24620001 addiu r2,r3,0x0001			 height++
0006cf40: 0044102a slt r2,r2,r4				Set if height reached other height
0006cf44: 14400020 bne r2,r0,0x0006cfc8			Branch if so
0006cf48: 24620007 addiu r2,r3,0x0007			height + 0x07

0006cf4c: 0c01a4af jal 0x000692bc			Set Animation/Facing for Mounted Units
0006cf50: 02002021 addu r4,r16,r0
0006cf54: 3c028009 lui r2,0x8009			
0006cf58: 9042621c lbu r2,0x621c(r2)			Load ???
0006cf5c: 00000000 nop
0006cf60: 000210c2 srl r2,r2,0x03			Shift right 3 bits (/0x8) (/8)r2 = Unit misc ID when selected by cursor >> 3 * 0x3 (3)
0006cf64: 30430001 andi r3,r2,0x0001			Unit misc ID when selected by cursor >> 3 & 0x1
0006cf68: 10600005 beq r3,r0,0x0006cf80			Branch if Unit misc ID when selected by cursor >> 3 & 0x1 == 0x0
0006cf6c: 34020001 ori r2,r0,0x0001			r2 = (0x1) 1
0006cf70: 1062000c beq r3,r2,0x0006cfa4			Branch if Unit misc ID when selected by cursor >> 3 & 0x1 == 1 (1)
0006cf74: 00000000 nop
0006cf78: 0801b412 j 0x0006d048			
0006cf7c: 00000000 nop

0006cf80: 3c058009 lui r5,0x8009			
0006cf84: 8ca56220 lw r5,0x6220(r5)			Load Target/Attacker Tile pointer
0006cf88: 3c068009 lui r6,0x8009			
0006cf8c: 8cc66224 lw r6,0x6224(r6)			Load Target/Attacker Tile Pointer
0006cf90: 0c01a883 jal 0x0006a20c			0006a20c - 0006a37c
0006cf94: 02002021 addu r4,r16,r0
0006cf98: 34020006 ori r2,r0,0x0006			r2 = (0x6) 6
0006cf9c: 0801b412 j 0x0006d048			
0006cfa0: a202007f sb r2,0x007f(r16)			save new control variable

0006cfa4: 3c058009 lui r5,0x8009			
0006cfa8: 8ca56220 lw r5,0x6220(r5)			Load Target/Attacker Tile pointer
0006cfac: 3c068009 lui r6,0x8009			
0006cfb0: 8cc66224 lw r6,0x6224(r6)			Load Target/Attacker Tile Pointer
0006cfb4: 0c01a8e0 jal 0x0006a380			0006a380 - 0006a534
0006cfb8: 02002021 addu r4,r16,r0
0006cfbc: 3402000e ori r2,r0,0x000e			r2 = (0xE) 14
0006cfc0: 0801b412 j 0x0006d048			
0006cfc4: a202007f sb r2,0x007f(r16)			save new control variable

if 80096230 height reached 8009622c height
0006cfc8: 0044102a slt r2,r2,r4			Set if E (14) < 0x0
0006cfcc: 1440000d bne r2,r0,0x0006d004			Branch if so
0006cfd0: 02002021 addu r4,r16,r0
0006cfd4: 0c01a495 jal 0x00069254			Set some data for Mounted Units
0006cfd8: 02002021 addu r4,r16,r0
0006cfdc: 02002021 addu r4,r16,r0
0006cfe0: 3c058009 lui r5,0x8009			
0006cfe4: 8ca56220 lw r5,0x6220(r5)			Load Target/Attacker Tile pointer
0006cfe8: 3c068009 lui r6,0x8009			
0006cfec: 8cc66224 lw r6,0x6224(r6)			Load Target/Attacker Tile Pointer
0006cff0: 34022000 ori r2,r0,0x2000			r2 = (0x2000) 8192
0006cff4: 0c01aaa0 jal 0x0006aa80			0006aa80 - 0006ad14
0006cff8: ae02003c sw r2,0x003c(r16)			Store 2000 (8192) into 0x3C
0006cffc: 0801b412 j 0x0006d048			
0006d000: a200011e sb r0,0x011e(r16)			Store 0x0 into 0x11E

0006d004: 3c058009 lui r5,0x8009			
0006d008: 8ca56220 lw r5,0x6220(r5)			Load Target/Attacker Tile pointer
0006d00c: 3c068009 lui r6,0x8009			
0006d010: 8cc66224 lw r6,0x6224(r6)			Load Target/Attacker Tile Pointer
0006d014: 34022000 ori r2,r0,0x2000			r2 = (0x2000) 8192
0006d018: 0c01a9f0 jal 0x0006a7c0			0006a7c0 - 0006aa7c
0006d01c: ae02003c sw r2,0x003c(r16)			Store 2000 (8192) into 0x3C
0006d020: 0801b412 j 0x0006d048			
0006d024: a200011e sb r0,0x011e(r16)			Store 0x0 into 0x11E

0006d028: 3c058009 lui r5,0x8009			
0006d02c: 8ca56220 lw r5,0x6220(r5)			Load Target/Attacker Tile pointer
0006d030: 3c068009 lui r6,0x8009			
0006d034: 8cc66224 lw r6,0x6224(r6)			Load Target/Attacker Tile Pointer
0006d038: 34022000 ori r2,r0,0x2000			r2 = (0x2000) 8192
0006d03c: 0c01a94e jal 0x0006a538			0006a538 - 0006a7bc
0006d040: ae02003c sw r2,0x003c(r16)			Store 2000 (8192) into 0x3C
0006d044: a200011e sb r0,0x011e(r16)			Store 0x0 into 0x11E

0006d048: 8fbf0018 lw r31,0x0018(r29)			Load Stack + 0x18
0006d04c: 8fb10014 lw r17,0x0014(r29)			Load Stack + 0x14
0006d050: 8fb00010 lw r16,0x0010(r29)			Load Stack + 0x10
0006d054: 27bd0020 addiu r29,r29,0x0020			
0006d058: 03e00008 jr r31			Jump to Address
0006d05c: 00000000 nop