Attack animation handling?
(Redirected from Knockback Processing)
Jump to navigation
Jump to search
Attack animation handling?runs while attack animation is occurring 0x6db10: 0006db10 - 0006dc88
0006bad8: 0006bad8 - 0006bbf8 0006cad0: 0006cad0 - 0006cbb4 0006cc94: Some Knockback Handling 0006c3d8: 0006c3d8 - 0006c418 0006c790: 0006c790 - 0006c874 0006c4f8: 0006c4f8 - 0006c78c 0006d598: 0006d598 - 0006d798 0006a20c: 0006a20c - 0006a37c 0006bbfc: Store Coordinate,Mount,Animation Data 0006db10: 27bdffe8 addiu r29,r29,0xffe8 0006db14: afb00010 sw r16,0x0010(r29) 0006db18: 3c058009 lui r5,0x8009 0006db1c: 24a56220 addiu r5,r5,0x6220 0006db20: 3c068009 lui r6,0x8009 0006db24: 24c66224 addiu r6,r6,0x6224 0006db28: afbf0014 sw r31,0x0014(r29) 0006db2c: 0c01aeb6 jal 0x0006bad8 0006bad8 - 0006bbf8 0006db30: 00808021 addu r16,r4,r0 0006db34: 9202011c lbu r2,0x011c(r16) Load load selected unit misc ID 0006db38: 3c018009 lui r1,0x8009 0006db3c: a022621c sb r2,0x621c(r1) Store Unit misc ID when selected by cursor 0006db40: 9202007f lbu r2,0x007f(r16) Load 0x7f 0006db44: 00000000 nop 0006db48: 1040002e beq r2,r0,0x0006dc04 Branch if == 0x0 0006db4c: 00000000 nop 0006db50: 8e030038 lw r3,0x0038(r16) Load special movement flags? (move speed?) 0006db54: 00000000 nop 0006db58: 28621001 slti r2,r3,0x1001 Set if < 4097 0006db5c: 14400008 bne r2,r0,0x0006db80 Branch if so 0006db60: 34021000 ori r2,r0,0x1000 cap at (0x1000) 4096 0006db64: 00601021 addu r2,r3,r0 0006db68: 04410003 bgez r2,0x0006db78 branch if greater than 0 (division rounding not necessary) 0006db6c: 00021883 sra r3,r2,0x02 movespeed / 4 0006db70: 24420003 addiu r2,r2,0x0003 (rounding) 0006db74: 00021883 sra r3,r2,0x02 0006db78: 00031040 sll r2,r3,0x01 movespeed / 2 0006db7c: 00431021 addu r2,r2,r3 movespeed * 3/4 0006db80: ae020038 sw r2,0x0038(r16) Store special movement flags? 0006db84: 9202007f lbu r2,0x007f(r16) Load ??? 0006db88: 00000000 nop 0006db8c: 2443ffff addiu r3,r2,0xffff 0006db90: 2c620020 sltiu r2,r3,0x0020 Set if 0x7f byte < 0x20 0006db94: 10400017 beq r2,r0,0x0006dbf4 Branch if not 0006db98: 00031080 sll r2,r3,0x02 Shift left 2 bits (*0x4) (*4) 0006db9c: 3c018006 lui r1,0x8006 0006dba0: 00220821 addu r1,r1,r2 0006dba4: 8c2274c8 lw r2,0x74c8(r1) Load return address based on 0x7f byte 0006dba8: 00000000 nop 0006dbac: 00400008 jr r2 Jump to Address 0006dbb0: 00000000 nop 000674c8: 8006dbc4 lb r6,-0x243c(r0) 000674cc: 8006dbb4 lb r6,-0x244c(r0) 000674d0: 8006dbc4 lb r6,-0x243c(r0) 000674d4: 8006dbb4 lb r6,-0x244c(r0) 000674d8: 8006dbc4 lb r6,-0x243c(r0) 000674dc: 8006dbb4 lb r6,-0x244c(r0) 000674e0: 8006dbc4 lb r6,-0x243c(r0) 000674e4: 8006dbb4 lb r6,-0x244c(r0) 000674e8: 8006dbf4 lb r6,-0x240c(r0) 000674ec: 8006dbf4 lb r6,-0x240c(r0) 000674f0: 8006dbf4 lb r6,-0x240c(r0) 000674f4: 8006dbf4 lb r6,-0x240c(r0) 000674f8: 8006dbf4 lb r6,-0x240c(r0) 000674fc: 8006dbf4 lb r6,-0x240c(r0) 00067500: 8006dbf4 lb r6,-0x240c(r0) 00067504: 8006dbf4 lb r6,-0x240c(r0) 00067508: 8006dbf4 lb r6,-0x240c(r0) 0006750c: 8006dbe4 lb r6,-0x241c(r0) 00067510: 8006dbec lb r6,-0x2414(r0) 00067514: 8006dbd4 lb r6,-0x242c(r0) 00067518: 8006dbf4 lb r6,-0x240c(r0) 0006751c: 8006dbe4 lb r6,-0x241c(r0) 00067520: 8006dbec lb r6,-0x2414(r0) 00067524: 8006dbd4 lb r6,-0x242c(r0) 00067528: 8006dbf4 lb r6,-0x240c(r0) 0006752c: 8006dbe4 lb r6,-0x241c(r0) 00067530: 8006dbec lb r6,-0x2414(r0) 00067534: 8006dbd4 lb r6,-0x242c(r0) 00067538: 8006dbf4 lb r6,-0x240c(r0) 0006753c: 8006dbe4 lb r6,-0x241c(r0) 00067540: 8006dbec lb r6,-0x2414(r0) 00067544: 8006dbd4 lb r6,-0x242c(r0) 0006dbb4: 0c01b2b4 jal 0x0006cad0 0006cad0 - 0006cbb4 0006dbb8: 02002021 addu r4,r16,r0 0006dbbc: 0801b6fd j 0x0006dbf4 0006dbc0: 00000000 nop 0006dbc4: 0c01b325 jal 0x0006cc94 Some Knockback Handling 0006dbc8: 02002021 addu r4,r16,r0 0006dbcc: 0801b6fd j 0x0006dbf4 0006dbd0: 00000000 nop 0006dbd4: 0c01b0f6 jal 0x0006c3d8 0006c3d8 - 0006c418 0006dbd8: 02002021 addu r4,r16,r0 0006dbdc: 0801b6fd j 0x0006dbf4 0006dbe0: 00000000 nop 0006dbe4: 0c01b1e4 jal 0x0006c790 0006c790 - 0006c874 0006dbe8: 02002021 addu r4,r16,r0 0006dbec: 0c01b13e jal 0x0006c4f8 0006c4f8 - 0006c78c 0006dbf0: 02002021 addu r4,r16,r0 all return here 0006dbf4: 9202007f lbu r2,0x007f(r16) Load load control variable 0006dbf8: 00000000 nop 0006dbfc: 1440001e bne r2,r0,0x0006dc78 Branch if != 0x0 0006dc00: 00000000 nop 0006dc04: 9202009c lbu r2,0x009c(r16) Load ??? 0006dc08: 00000000 nop 0006dc0c: 1040001a beq r2,r0,0x0006dc78 Branch if == 0x0 0006dc10: 00000000 nop 0006dc14: 8e030098 lw r3,0x0098(r16) Load ??1 0006dc18: 00000000 nop 0006dc1c: 0062102b sltu r2,r3,r2 Set if < ??? 0006dc20: 10400013 beq r2,r0,0x0006dc70 Branch if done knocking back? 0006dc24: 24620001 addiu r2,r3,0x0001 0006dc28: ae020098 sw r2,0x0098(r16) increment 0x98 byte 0006dc2c: 02031021 addu r2,r16,r3 0006dc30: 9042009d lbu r2,0x009d(r2) Load ??? 0006dc34: 02002021 addu r4,r16,r0 0006dc38: 3c018009 lui r1,0x8009 0006dc3c: a022621c sb r2,0x621c(r1) Store Unit misc ID when selected by cursor 0006dc40: 0c01b566 jal 0x0006d598 0006d598 - 0006d798 0006dc44: a202011c sb r2,0x011c(r16) Store into 0x11C 0006dc48: 02002021 addu r4,r16,r0 0006dc4c: 3c058009 lui r5,0x8009 0006dc50: 8ca56220 lw r5,0x6220(r5) Load Target/Attacker Tile pointer 0006dc54: 3c068009 lui r6,0x8009 0006dc58: 8cc66224 lw r6,0x6224(r6) Load Target/Attacker Tile Pointer 0006dc5c: 34022000 ori r2,r0,0x2000 r2 = (0x2000) 0006dc60: 0c01a883 jal 0x0006a20c 0006a20c - 0006a37c 0006dc64: ac82003c sw r2,0x003c(r4) Store 0x2000 into 0x3C 0006dc68: 0801b71e j 0x0006dc78 0006dc6c: 00000000 nop 0006dc70: 0c01aeff jal 0x0006bbfc Store Coordinate,Mount,Animation Data 0006dc74: 02002021 addu r4,r16,r0 0006dc78: 8fbf0014 lw r31,0x0014(r29) 0006dc7c: 8fb00010 lw r16,0x0010(r29) 0006dc80: 27bd0018 addiu r29,r29,0x0018 0006dc84: 03e00008 jr r31 Jump to Address 0006dc88: 00000000 nop