001aa008 - 001aa0e4
Jump to navigation
Jump to search
something for effects? rotates current frames around and clears old data 001aa008: 27bdffe0 addiu r29,r29,0xffe0 001aa00c: 3c03801c lui r3,0x801c 001aa010: 2463f00a addiu r3,r3,0xf00a 001aa014: afbf0018 sw r31,0x0018(r29) 001aa018: afb10014 sw r17,0x0014(r29) 001aa01c: afb00010 sw r16,0x0010(r29) 001aa020: 94650000 lhu r5,0x0000(r3) load current frame? 001aa024: 3c02801c lui r2,0x801c 001aa028: 244200a4 addiu r2,r2,0x00a4 r2 = 0x801c00a4 001aa02c: 000580c0 sll r16,r5,0x03 001aa030: 02058021 addu r16,r16,r5 001aa034: 00108080 sll r16,r16,0x02 r16 = frame * 0x24 001aa038: 02028021 addu r16,r16,r2 001aa03c: 96020002 lhu r2,0x0002(r16) load 0x00a6 (next frame?) 001aa040: 00808821 addu r17,r4,r0 ? 001aa044: a4620000 sh r2,0x0000(r3) save next frame to 0x801bf00a 001aa048: 96030002 lhu r3,0x0002(r16) load next frame again? 001aa04c: 3c04801c lui r4,0x801c 001aa050: 248424da addiu r4,r4,0x24da current frame 001aa054: 000310c0 sll r2,r3,0x03 001aa058: 00431021 addu r2,r2,r3 001aa05c: 00021080 sll r2,r2,0x02 next frame * 0x24 001aa060: 3c01801c lui r1,0x801c 001aa064: 00220821 addu r1,r1,r2 001aa068: a42000a4 sh r0,0x00a4(r1) save 0 to last frame? 001aa06c: 94830000 lhu r3,0x0000(r4) load last frame 001aa070: 00000000 nop 001aa074: 000310c0 sll r2,r3,0x03 001aa078: 00431021 addu r2,r2,r3 001aa07c: 00021080 sll r2,r2,0x02 r2 = last frame * 0x24 001aa080: 3c01801c lui r1,0x801c 001aa084: 00220821 addu r1,r1,r2 001aa088: a42500a4 sh r5,0x00a4(r1) save r5 to last frame? 001aa08c: 94820000 lhu r2,0x0000(r4) load last animation frame 001aa090: a6000000 sh r0,0x0000(r16) save 0 to last frame? 001aa094: a6020002 sh r2,0x0002(r16) save last frame to next frame? 001aa098: a4850000 sh r5,0x0000(r4) save current animation frame? 001aa09c: 0c06948b jal 0x001a522c 001aa0a0: 34040001 ori r4,r0,0x0001 r4 = 1 // This is some VRAM flag check? 001aa0a4: ae020020 sw r2,0x0020(r16) save output to 0xc4 // stores pointer to *some* effect SHP(?) data here. 001aa0a8: 02001021 addu r2,r16,r0 r2 = r16 001aa0ac: a4400012 sh r0,0x0012(r2) 0 attacker - target angle 001aa0b0: a4400016 sh r0,0x0016(r2) 0 duration to hold frame 001aa0b4: ac400018 sw r0,0x0018(r2) 0 pointer to parameter data in file 001aa0b8: a440001c sh r0,0x001c(r2) 0 counter 001aa0bc: a040001e sb r0,0x001e(r2) 0 vram flag? 001aa0c0: a440000a sh r0,0x000a(r2) 0 extra Y shift (?) 001aa0c4: a4400008 sh r0,0x0008(r2) 0 extra X shift (?) 001aa0c8: a4510006 sh r17,0x0006(r2) Store initial function flags 001aa0cc: a040001f sb r0,0x001f(r2) 0 current frame 001aa0d0: 8fbf0018 lw r31,0x0018(r29) 001aa0d4: 8fb10014 lw r17,0x0014(r29) 001aa0d8: 8fb00010 lw r16,0x0010(r29) 001aa0dc: 27bd0020 addiu r29,r29,0x0020 001aa0e0: 03e00008 jr r31 Return pointer to parameter data in r2 001aa0e4: 00000000 nop