Initialize temp effect data
Jump to navigation
Jump to search
001a20e8: 27bdffd8 addiu r29,r29,0xffd8 001a20ec: afb20018 sw r18,0x0018(r29) 001a20f0: 00809021 addu r18,r4,r0 code-script address 001a20f4: afb3001c sw r19,0x001c(r29) 001a20f8: 00a09821 addu r19,r5,r0 new code script counter 001a20fc: afb10014 sw r17,0x0014(r29) 001a2100: 00c08821 addu r17,r6,r0 001a2104: afbf0024 sw r31,0x0024(r29) 001a2108: afb40020 sw r20,0x0020(r29) 001a210c: 0c06874a jal 0x001a1d28 increment phase 001a2110: afb00010 sw r16,0x0010(r29) 001a2114: 0040a021 addu r20,r2,r0 phase ID? 001a2118: 00141400 sll r2,r20,0x10 001a211c: 00021c03 sra r3,r2,0x10 001a2120: 14600003 bne r3,r0,0x001a2130 Branch if effect phase != 0 001a2124: 00002821 addu r5,r0,r0 001a2128: 0806887c j 0x001a21f0 jump to end if effect phase is 0 001a212c: 00001021 addu r2,r0,r0
Effect phase != 0 001a2130: 00031140 sll r2,r3,0x05 001a2134: 00431023 subu r2,r2,r3 001a2138: 000210c0 sll r2,r2,0x03 001a213c: 3c03801c lui r3,0x801c 001a2140: 2463f02c addiu r3,r3,0xf02c Temp effect data 001a2144: 00438021 addu r16,r2,r3 001a2148: a6110004 sh r17,0x0004(r16) 001a214c: ae120008 sw r18,0x0008(r16) store code script pointer in temp. effect data 001a2150: a6130006 sh r19,0x0006(r16) Store argument 1 in current code script counter (to execute from on next code-script) 001a2154: 00051c00 sll r3,r5,0x10 001a2158: 24a20001 addiu r2,r5,0x0001 001a215c: 00402821 addu r5,r2,r0 counter ++ 001a2160: 00031bc3 sra r3,r3,0x0f 001a2164: 00701821 addu r3,r3,r16 001a2168: 00021400 sll r2,r2,0x10 001a216c: 00021403 sra r2,r2,0x10 001a2170: 28420004 slti r2,r2,0x0004 001a2174: a4600014 sh r0,0x0014(r3) clear 0x14, 0x16, 0x18, 0x1a 001a2178: 1440fff6 bne r2,r0,0x001a2154 loop 4 times 001a217c: a460000c sh r0,0x000c(r3) clear 0x0c, 0xe, 0x10, 0x12 001a2180: 00002821 addu r5,r0,r0 001a2184: 00051400 sll r2,r5,0x10 001a2188: 24a30001 addiu r3,r5,0x0001 001a218c: 00602821 addu r5,r3,r0 counter ++ 001a2190: 00021403 sra r2,r2,0x10 001a2194: 00022080 sll r4,r2,0x02 001a2198: 00902021 addu r4,r4,r16 temp data + counter * 4 001a219c: 02021021 addu r2,r16,r2 temp data + counter 001a21a0: 00031c00 sll r3,r3,0x10 001a21a4: 00031c03 sra r3,r3,0x10 001a21a8: 28630004 slti r3,r3,0x0004 001a21ac: ac8000d4 sw r0,0x00d4(r4) clear 0xd4, 0xd8, 0xdc, 0xc0 (clears 0xd4 code pointer) 001a21b0: a0400022 sb r0,0x0022(r2) clear 0x22, 0x23, 0x24, 0x25 001a21b4: 1460fff3 bne r3,r0,0x001a2184 001a21b8: ac8000e4 sw r0,0x00e4(r4) clear 0xe4, 0xe8, 0xec, 0xf0 001a21bc: 02002021 addu r4,r16,r0 001a21c0: 34020001 ori r2,r0,0x0001 001a21c4: a602001e sh r2,0x001e(r16) already set when phase increment step was called? 001a21c8: 2402ffff addiu r2,r0,0xffff ... 0? 001a21cc: 00002821 addu r5,r0,r0 001a21d0: ae0000d0 sw r0,0x00d0(r16) 001a21d4: a600001c sh r0,0x001c(r16) 001a21d8: 0c068821 jal 0x001a2084 001a21dc: a6020020 sh r2,0x0020(r16) 001a21e0: 0c06882d jal 0x001a20b4 clears a bunch of effect temp data, in the most aneurysm inducing manner possible 001a21e4: 02002021 addu r4,r16,r0 001a21e8: 00141400 sll r2,r20,0x10 001a21ec: 00021403 sra r2,r2,0x10 return phase ID of initialised phase 001a21f0: 8fbf0024 lw r31,0x0024(r29) 001a21f4: 8fb40020 lw r20,0x0020(r29) 001a21f8: 8fb3001c lw r19,0x001c(r29) 001a21fc: 8fb20018 lw r18,0x0018(r29) 001a2200: 8fb10014 lw r17,0x0014(r29) 001a2204: 8fb00010 lw r16,0x0010(r29) 001a2208: 27bd0028 addiu r29,r29,0x0028 001a220c: 03e00008 jr r31 001a2210: 00000000 nop