Effect code script 28 - huge big ol' routine

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

001a3408: 27bdfe98 addiu r29,r29,0xfe98
001a340c: afbf0164 sw r31,0x0164(r29)
001a3410: afbe0160 sw r30,0x0160(r29)
001a3414: afb7015c sw r23,0x015c(r29)
001a3418: afb60158 sw r22,0x0158(r29)
001a341c: afb50154 sw r21,0x0154(r29)
001a3420: afb40150 sw r20,0x0150(r29)
001a3424: afb3014c sw r19,0x014c(r29)
001a3428: afb20148 sw r18,0x0148(r29)
001a342c: afb10144 sw r17,0x0144(r29)
001a3430: afb00140 sw r16,0x0140(r29)
001a3434: afa400e8 sw r4,0x00e8(r29)
001a3438: 90880026 lbu r8,0x0026(r4)		load 0x26 byte
001a343c: 00000000 nop
001a3440: 00081080 sll r2,r8,0x02		byte*4
001a3444: 00481021 addu r2,r2,r8		byte*5
001a3448: 00023840 sll r7,r2,0x01		byte*10
001a344c: a3a800f8 sb r8,0x00f8(r29)		store byte
001a3450: 3c01801c lui r1,0x801c
001a3454: 00270821 addu r1,r1,r7
001a3458: 9023ad13 lbu r3,-0x52ed(r1)		1bad13
001a345c: 34020002 ori r2,r0,0x0002
001a3460: 106201f6 beq r3,r2,0x001a3c3c		branch to bottom (not end) if 0x02
001a3464: 24970026 addiu r23,r4,0x0026		r23 = 0x26 in effect data
001a3468: 00009021 addu r18,r0,r0		r18 = counter?
001a346c: 02e08821 addu r17,r23,r0		r17 = temp effect data
001a3470: 001211c0 sll r2,r18,0x07		counter*0x80
001a3474: 24420004 addiu r2,r2,0x0004		counter*0x80 + 4
001a3478: 3c03801c lui r3,0x801c
001a347c: 8c63bf84 lw r3,-0x407c(r3)		load misc timed data address + 0x20
001a3480: 8624001e lh r4,0x001e(r17)		damage timer
001a3484: 00000000 nop
001a3488: 1480002c bne r4,r0,0x001a353c		branch if nonzero
001a348c: 0043a021 addu r20,r2,r3		r20 = misc timed data + counter*0x80 + 0x24
if damage timer = 0
001a3490: 86220004 lh r2,0x0004(r17)		
001a3494: 00000000 nop
001a3498: 1440000e bne r2,r0,0x001a34d4		branch if 0x04 is nonzero
001a349c: 00000000 nop
001a34a0: 96820002 lhu r2,0x0002(r20)		load 0x26 byte in misc timed data
001a34a4: 96840000 lhu r4,0x0000(r20)		load 0x24 in misc timed data
001a34a8: 96230004 lhu r3,0x0004(r17)		
001a34ac: 93a500f8 lbu r5,0x00f8(r29)		load determination from 0x26 in 1bf21c
001a34b0: a6200038 sh r0,0x0038(r17)		clear ??
001a34b4: 24630001 addiu r3,r3,0x0001		
001a34b8: 00441023 subu r2,r2,r4		first byte - 2nd byte
001a34bc: a622001e sh r2,0x001e(r17)		store new damage timing byte
001a34c0: a6230004 sh r3,0x0004(r17)		
001a34c4: 9684004c lhu r4,0x004c(r20)		load 0x70 in misc timed data
001a34c8: 8fa600e8 lw r6,0x00e8(r29)		Parse Temp effect data table
001a34cc: 0c068c6a jal 0x001a31a8		text/animation/transformation display
001a34d0: 00000000 nop				if erased damage still displayed
001a34d4: 8622001e lh r2,0x001e(r17)		load damage timing byte
001a34d8: 00000000 nop
001a34dc: 14400017 bne r2,r0,0x001a353c		branch if 1e is nonzero
001a34e0: 00000000 nop
001a34e4: 02208021 addu r16,r17,r0		r16 = timing address
001a34e8: 96020004 lhu r2,0x0004(r16)		load corresponding 0x04 byte
001a34ec: 00000000 nop
001a34f0: 24430001 addiu r3,r2,0x0001		increment
001a34f4: 00021400 sll r2,r2,0x10
001a34f8: 000213c3 sra r2,r2,0x0f		shift left 1
001a34fc: 00541021 addu r2,r2,r20		byte + effect data address
001a3500: a6030004 sh r3,0x0004(r16)		store new
001a3504: 94430002 lhu r3,0x0002(r2)		
001a3508: 94440000 lhu r4,0x0000(r2)
001a350c: 93a500f8 lbu r5,0x00f8(r29)
001a3510: a6000038 sh r0,0x0038(r16)
001a3514: 00641823 subu r3,r3,r4
001a3518: a603001e sh r3,0x001e(r16)		store new damage timer
001a351c: 9444004c lhu r4,0x004c(r2)		another timer byte?
001a3520: 8fa600e8 lw r6,0x00e8(r29)
001a3524: 0c068c6a jal 0x001a31a8		text/transformation/animation setting
001a3528: 00000000 nop
001a352c: 8602001e lh r2,0x001e(r16)
001a3530: 00000000 nop
001a3534: 1040ffec beq r2,r0,0x001a34e8
001a3538: 00000000 nop
if 0x1e is nonzero
001a353c: 86220004 lh r2,0x0004(r17)		load 0x04
001a3540: 00000000 nop
001a3544: 02821021 addu r2,r20,r2		0x04 + (0x24 in misc timed data)
001a3548: 90530031 lbu r19,0x0031(r2)		load address + 31
001a354c: 00000000 nop
001a3550: 12600028 beq r19,r0,0x001a35f4	branch if ?? is 0
001a3554: 00000000 nop
001a3558: 96270038 lhu r7,0x0038(r17)          effect data.0x5E
001a355c: 86220004 lh r2,0x0004(r17)
001a3560: 24e30001 addiu r3,r7,0x0001
001a3564: 00021040 sll r2,r2,0x01
001a3568: 02821021 addu r2,r20,r2              timing data + 0x04 * 2 (the next entry of?)
001a356c: a6230038 sh r3,0x0038(r17)
001a3570: 9442004a lhu r2,0x004a(r2)           0x4a of timing data
001a3574: 00000000 nop
001a3578: 30420007 andi r2,r2,0x0007
001a357c: 10400016 beq r2,r0,0x001a35d8
001a3580: 2445ffff addiu r5,r2,0xffff
001a3584: 8623001e lh r3,0x001e(r17)
001a3588: 34020002 ori r2,r0,0x0002
001a358c: 14620006 bne r3,r2,0x001a35a8
001a3590: 2666ffff addiu r6,r19,0xffff
001a3594: 30a2ffff andi r2,r5,0xffff
001a3598: 8fa800e8 lw r8,0x00e8(r29)
001a359c: 34030003 ori r3,r0,0x0003
001a35a0: 01021021 addu r2,r8,r2
001a35a4: a0430022 sb r3,0x0022(r2)
001a35a8: 30a5ffff andi r5,r5,0xffff
001a35ac: 00051080 sll r2,r5,0x02
001a35b0: 8fa800e8 lw r8,0x00e8(r29)           Effect data table?
001a35b4: 00073c00 sll r7,r7,0x10
001a35b8: 00481021 addu r2,r2,r8
001a35bc: 85040002 lh r4,0x0002(r8)            Parse effect data.0x2
001a35c0: 8c4200d4 lw r2,0x00d4(r2)		load code script 0x6's code to execute
001a35c4: 00000000 nop
001a35c8: 0040f809 jalr r2,r31			EFFECT Routines
001a35cc: 00073c03 sra r7,r7,0x10
001a35d0: 08068d7d j 0x001a35f4
001a35d4: 00000000 nop
001a35d8: 00072c00 sll r5,r7,0x10
001a35dc: 00052c03 sra r5,r5,0x10
001a35e0: 8fa800e8 lw r8,0x00e8(r29)
001a35e4: 2666ffff addiu r6,r19,0xffff
001a35e8: 85040002 lh r4,0x0002(r8)
001a35ec: 0c06982b jal 0x001a60ac		huuuuuuge fuckin effect routine branches
001a35f0: 00003821 addu r7,r0,r0
if ?? is 0
001a35f4: 9622001e lhu r2,0x001e(r17)
001a35f8: 26520001 addiu r18,r18,0x0001		counter++
001a35fc: 2442ffff addiu r2,r2,0xffff		r2--
001a3600: a622001e sh r2,0x001e(r17)		store new 0x1e
001a3604: 2a420005 slti r2,r18,0x0005		do 5 times
001a3608: 1440ff99 bne r2,r0,0x001a3470
001a360c: 26310002 addiu r17,r17,0x0002		r17 + 2
001a3610: 3c02801c lui r2,0x801c
001a3614: 8c42bf84 lw r2,-0x407c(r2)		load start of timed data?
001a3618: 86e30014 lh r3,0x0014(r23)		load 0x0014 byte
001a361c: 24510326 addiu r17,r2,0x0326		start of timed data + 0x326
001a3620: 844203ec lh r2,0x03ec(r2)
001a3624: 00000000 nop
001a3628: 2442ffff addiu r2,r2,0xffff		decrement
001a362c: 0062102a slt r2,r3,r2			set if 0x14 < byte
001a3630: 1040005a beq r2,r0,0x001a379c		branch if not
001a3634: 00602821 addu r5,r3,r0		r5 = 0x14 byte
001a3638: 86e2002e lh r2,0x002e(r23)		load 0x2e
001a363c: 00000000 nop
001a3640: 14400052 bne r2,r0,0x001a378c		branch if not zero
001a3644: 00609821 addu r19,r3,r0		r19 = 0x14 byte
001a3648: 24a20001 addiu r2,r5,0x0001		increment 0x14 byte
001a364c: a6e20014 sh r2,0x0014(r23)		store new 0x14 byte
001a3650: 00131040 sll r2,r19,0x01		old 0x14 byte*2
001a3654: 00511021 addu r2,r2,r17		old 0x14 byte*2 + (timed data + 0x326 address)
001a3658: 84520000 lh r18,0x0000(r2)		load half at that location
001a365c: 00000000 nop
001a3660: 16400002 bne r18,r0,0x001a366c	branch if nonzero
001a3664: 001290c0 sll r18,r18,0x03		byte*8
001a3668: 34120001 ori r18,r0,0x0001		
001a366c: 02331021 addu r2,r17,r19		old 0x14 byte + tiemd data + 0x326 address
001a3670: a6f2002e sh r18,0x002e(r23)		store 0x2e byte = 1
001a3674: 905000a5 lbu r16,0x00a5(r2)		
001a3678: 00000000 nop
001a367c: 32020080 andi r2,r16,0x0080
001a3680: 10400042 beq r2,r0,0x001a378c
001a3684: 00133040 sll r6,r19,0x01
001a3688: 00d32821 addu r5,r6,r19
001a368c: 02252821 addu r5,r17,r5
001a3690: 3204007f andi r4,r16,0x007f
001a3694: 00d13021 addu r6,r6,r17
001a3698: 90a20042 lbu r2,0x0042(r5)
001a369c: 90a30043 lbu r3,0x0043(r5)
001a36a0: 00021600 sll r2,r2,0x18
001a36a4: 0002a603 sra r20,r2,0x18
001a36a8: 00031e00 sll r3,r3,0x18
001a36ac: 90a20044 lbu r2,0x0044(r5)
001a36b0: 00031e03 sra r3,r3,0x18
001a36b4: a7a300f0 sh r3,0x00f0(r29)
001a36b8: afa60108 sw r6,0x0108(r29)
001a36bc: 84c50000 lh r5,0x0000(r6)
001a36c0: 02803021 addu r6,r20,r0
001a36c4: 0060b021 addu r22,r3,r0
001a36c8: 02c03821 addu r7,r22,r0
001a36cc: 00021600 sll r2,r2,0x18
001a36d0: 0002f603 sra r30,r2,0x18
001a36d4: 03c0a821 addu r21,r30,r0
001a36d8: 0c024c5c jal 0x00093170
001a36dc: afb50010 sw r21,0x0010(r29)
001a36e0: 3c02801c lui r2,0x801c
001a36e4: 9042ad0e lbu r2,-0x52f2(r2)
001a36e8: 00000000 nop
001a36ec: 18400015 blez r2,0x001a3744
001a36f0: 00009021 addu r18,r0,r0
001a36f4: 8fa80108 lw r8,0x0108(r29)
001a36f8: 00000000 nop
001a36fc: afa80110 sw r8,0x0110(r29)
001a3700: 3204007f andi r4,r16,0x007f
001a3704: 00143c00 sll r7,r20,0x10
001a3708: 8fa80110 lw r8,0x0110(r29)
001a370c: 3c01801c lui r1,0x801c
001a3710: 00320821 addu r1,r1,r18
001a3714: 9026adba lbu r6,-0x5246(r1)
001a3718: 85050000 lh r5,0x0000(r8)
001a371c: 00073c03 sra r7,r7,0x10
001a3720: afb60010 sw r22,0x0010(r29)
001a3724: 0c024cf1 jal 0x000933c4
001a3728: afb50014 sw r21,0x0014(r29)
001a372c: 3c02801c lui r2,0x801c
001a3730: 9042ad0e lbu r2,-0x52f2(r2)
001a3734: 26520001 addiu r18,r18,0x0001
001a3738: 0242102a slt r2,r18,r2
001a373c: 1440fff1 bne r2,r0,0x001a3704
001a3740: 3204007f andi r4,r16,0x007f
001a3744: 3c02800b lui r2,0x800b
001a3748: 8c426698 lw r2,0x6698(r2)
001a374c: 00000000 nop
001a3750: 30420002 andi r2,r2,0x0002
001a3754: 1440000d bne r2,r0,0x001a378c
001a3758: 3204007f andi r4,r16,0x007f
001a375c: 001434c0 sll r6,r20,0x13
001a3760: 00063403 sra r6,r6,0x10
001a3764: 00131040 sll r2,r19,0x01
001a3768: 00511021 addu r2,r2,r17
001a376c: 001e1cc0 sll r3,r30,0x13
001a3770: 97a800f0 lhu r8,0x00f0(r29)
001a3774: 84450000 lh r5,0x0000(r2)
001a3778: 00031c03 sra r3,r3,0x10
001a377c: afa30010 sw r3,0x0010(r29)
001a3780: 00083cc0 sll r7,r8,0x13
001a3784: 0c024d41 jal 0x00093504
001a3788: 00073c03 sra r7,r7,0x10
if 0x2e is not zero
001a378c: 96e2002e lhu r2,0x002e(r23)		load 0x2e byte
001a3790: 00000000 nop
001a3794: 2442ffff addiu r2,r2,0xffff		decrement and store
001a3798: a6e2002e sh r2,0x002e(r23)
001a379c: 3c02801c lui r2,0x801c
001a37a0: 8c42bf84 lw r2,-0x407c(r2)		load timed data address
001a37a4: 86e30016 lh r3,0x0016(r23)		load 0x16 byte
001a37a8: 245103ee addiu r17,r2,0x03ee
001a37ac: 844204b4 lh r2,0x04b4(r2)		load 0x4b4 half
001a37b0: 00000000 nop
001a37b4: 2442ffff addiu r2,r2,0xffff		
001a37b8: 0062102a slt r2,r3,r2
001a37bc: 10400033 beq r2,r0,0x001a388c
001a37c0: 00602821 addu r5,r3,r0
001a37c4: 86e20030 lh r2,0x0030(r23)		load 0x30 byte
001a37c8: 00000000 nop
001a37cc: 1440002b bne r2,r0,0x001a387c		branch if nonzero
001a37d0: 00609821 addu r19,r3,r0
if 0x30 byte is zero
001a37d4: 24a20001 addiu r2,r5,0x0001
001a37d8: a6e20016 sh r2,0x0016(r23)
001a37dc: 00131040 sll r2,r19,0x01
001a37e0: 00511021 addu r2,r2,r17
001a37e4: 84520000 lh r18,0x0000(r2)
001a37e8: 00000000 nop
001a37ec: 16400002 bne r18,r0,0x001a37f8
001a37f0: 001290c0 sll r18,r18,0x03
001a37f4: 34120001 ori r18,r0,0x0001
001a37f8: 02331021 addu r2,r17,r19
001a37fc: a6f20030 sh r18,0x0030(r23)
001a3800: 905000a5 lbu r16,0x00a5(r2)
001a3804: 00000000 nop
001a3808: 32020080 andi r2,r16,0x0080
001a380c: 1040001b beq r2,r0,0x001a387c
001a3810: 00000000 nop
001a3814: 00132840 sll r5,r19,0x01
001a3818: 00b32021 addu r4,r5,r19
001a381c: 02242021 addu r4,r17,r4
001a3820: 90820042 lbu r2,0x0042(r4)
001a3824: 90830043 lbu r3,0x0043(r4)
001a3828: 00021600 sll r2,r2,0x18
001a382c: 0002a603 sra r20,r2,0x18
001a3830: 00031e00 sll r3,r3,0x18
001a3834: 90820044 lbu r2,0x0044(r4)
001a3838: 00031e03 sra r3,r3,0x18
001a383c: a7a300f0 sh r3,0x00f0(r29)
001a3840: 3c03801c lui r3,0x801c
001a3844: 9463adb0 lhu r3,-0x5250(r3)
001a3848: 00021600 sll r2,r2,0x18
001a384c: 1460000b bne r3,r0,0x001a387c
001a3850: 0002f603 sra r30,r2,0x18
001a3854: 3204007f andi r4,r16,0x007f
001a3858: 00b11021 addu r2,r5,r17
001a385c: 84450000 lh r5,0x0000(r2)
001a3860: 97a800f0 lhu r8,0x00f0(r29)
001a3864: 3c06801c lui r6,0x801c
001a3868: 90c6adb2 lbu r6,-0x524e(r6)
001a386c: 02803821 addu r7,r20,r0
001a3870: afbe0014 sw r30,0x0014(r29)
001a3874: 0c024cf1 jal 0x000933c4
001a3878: afa80010 sw r8,0x0010(r29)
001a387c: 96e20030 lhu r2,0x0030(r23)
001a3880: 00000000 nop
001a3884: 2442ffff addiu r2,r2,0xffff
001a3888: a6e20030 sh r2,0x0030(r23)
001a388c: 3c02801c lui r2,0x801c
001a3890: 8c42bf84 lw r2,-0x407c(r2)
001a3894: 86e30018 lh r3,0x0018(r23)		load 0x18 half
001a3898: 245104b6 addiu r17,r2,0x04b6
001a389c: 8442057c lh r2,0x057c(r2)
001a38a0: 00000000 nop
001a38a4: 2442ffff addiu r2,r2,0xffff
001a38a8: 0062102a slt r2,r3,r2
001a38ac: 1040003a beq r2,r0,0x001a3998
001a38b0: 00602821 addu r5,r3,r0
001a38b4: 86e20032 lh r2,0x0032(r23)
001a38b8: 00000000 nop
001a38bc: 14400032 bne r2,r0,0x001a3988
001a38c0: 00609821 addu r19,r3,r0
001a38c4: 24a20001 addiu r2,r5,0x0001
001a38c8: a6e20018 sh r2,0x0018(r23)
001a38cc: 00131040 sll r2,r19,0x01
001a38d0: 00511021 addu r2,r2,r17
001a38d4: 84520000 lh r18,0x0000(r2)
001a38d8: 00000000 nop
001a38dc: 16400002 bne r18,r0,0x001a38e8
001a38e0: 001290c0 sll r18,r18,0x03
001a38e4: 34120001 ori r18,r0,0x0001
001a38e8: 02331021 addu r2,r17,r19
001a38ec: a6f20032 sh r18,0x0032(r23)
001a38f0: 905000a5 lbu r16,0x00a5(r2)
001a38f4: 00000000 nop
001a38f8: 32020080 andi r2,r16,0x0080
001a38fc: 10400022 beq r2,r0,0x001a3988
001a3900: 00000000 nop
001a3904: 00132840 sll r5,r19,0x01
001a3908: 00b32021 addu r4,r5,r19
001a390c: 02242021 addu r4,r17,r4
001a3910: 90820042 lbu r2,0x0042(r4)
001a3914: 90830043 lbu r3,0x0043(r4)
001a3918: 90840044 lbu r4,0x0044(r4)
001a391c: 93a800f8 lbu r8,0x00f8(r29)
001a3920: 00021600 sll r2,r2,0x18
001a3924: 0002a603 sra r20,r2,0x18
001a3928: 00031e00 sll r3,r3,0x18
001a392c: 00031e03 sra r3,r3,0x18
001a3930: 00042600 sll r4,r4,0x18
001a3934: 00081080 sll r2,r8,0x02
001a3938: 00481021 addu r2,r2,r8
001a393c: a7a300f0 sh r3,0x00f0(r29)
001a3940: 00021840 sll r3,r2,0x01
001a3944: 3c01801c lui r1,0x801c
001a3948: 00230821 addu r1,r1,r3
001a394c: 9422ad10 lhu r2,-0x52f0(r1)
001a3950: 00000000 nop
001a3954: 1440000c bne r2,r0,0x001a3988
001a3958: 0004f603 sra r30,r4,0x18
001a395c: 3204007f andi r4,r16,0x007f
001a3960: 00b11021 addu r2,r5,r17
001a3964: 84450000 lh r5,0x0000(r2)
001a3968: 3c01801c lui r1,0x801c
001a396c: 00230821 addu r1,r1,r3
001a3970: 9026ad12 lbu r6,-0x52ee(r1)
001a3974: 97a800f0 lhu r8,0x00f0(r29)
001a3978: 02803821 addu r7,r20,r0
001a397c: afbe0014 sw r30,0x0014(r29)
001a3980: 0c024cf1 jal 0x000933c4
001a3984: afa80010 sw r8,0x0010(r29)
001a3988: 96e20032 lhu r2,0x0032(r23)
001a398c: 00000000 nop
001a3990: 2442ffff addiu r2,r2,0xffff
001a3994: a6e20032 sh r2,0x0032(r23)
001a3998: 3c02801c lui r2,0x801c
001a399c: 8c42bf84 lw r2,-0x407c(r2)
001a39a0: 86e3001a lh r3,0x001a(r23)
001a39a4: 2446057e addiu r6,r2,0x057e
001a39a8: 844206a8 lh r2,0x06a8(r2)
001a39ac: 00000000 nop
001a39b0: 2442ffff addiu r2,r2,0xffff
001a39b4: 0062102a slt r2,r3,r2
001a39b8: 10400057 beq r2,r0,0x001a3b18
001a39bc: 00602821 addu r5,r3,r0
001a39c0: 86e20034 lh r2,0x0034(r23)
001a39c4: 00000000 nop
001a39c8: 1440004f bne r2,r0,0x001a3b08
001a39cc: 00609821 addu r19,r3,r0
001a39d0: 24a20001 addiu r2,r5,0x0001
001a39d4: a6e2001a sh r2,0x001a(r23)
001a39d8: 00131040 sll r2,r19,0x01
001a39dc: 00461021 addu r2,r2,r6
001a39e0: 84520000 lh r18,0x0000(r2)
001a39e4: 00000000 nop
001a39e8: 16400002 bne r18,r0,0x001a39f4
001a39ec: 001290c0 sll r18,r18,0x03
001a39f0: 34120001 ori r18,r0,0x0001
001a39f4: 00d31021 addu r2,r6,r19
001a39f8: a6f20034 sh r18,0x0034(r23)
001a39fc: 90500108 lbu r16,0x0108(r2)
001a3a00: 00000000 nop
001a3a04: 32020080 andi r2,r16,0x0080
001a3a08: 1040001e beq r2,r0,0x001a3a84
001a3a0c: 3214007f andi r20,r16,0x007f
001a3a10: 02802021 addu r4,r20,r0
001a3a14: 00131840 sll r3,r19,0x01
001a3a18: 00731021 addu r2,r3,r19
001a3a1c: 00c21021 addu r2,r6,r2
001a3a20: 00669821 addu r19,r3,r6
001a3a24: 80430042 lb r3,0x0042(r2)
001a3a28: 86650000 lh r5,0x0000(r19)
001a3a2c: 00039040 sll r18,r3,0x01
001a3a30: 02403021 addu r6,r18,r0
001a3a34: 80430043 lb r3,0x0043(r2)
001a3a38: 80420044 lb r2,0x0044(r2)
001a3a3c: 00038840 sll r17,r3,0x01
001a3a40: 02203821 addu r7,r17,r0
001a3a44: 00028040 sll r16,r2,0x01
001a3a48: 0c024d27 jal 0x0009349c
001a3a4c: afb00010 sw r16,0x0010(r29)
001a3a50: 3c02800b lui r2,0x800b
001a3a54: 8c426698 lw r2,0x6698(r2)
001a3a58: 00000000 nop
001a3a5c: 30420002 andi r2,r2,0x0002
001a3a60: 10400029 beq r2,r0,0x001a3b08
001a3a64: 02802021 addu r4,r20,r0
001a3a68: 02403021 addu r6,r18,r0
001a3a6c: 86650000 lh r5,0x0000(r19)
001a3a70: 02203821 addu r7,r17,r0
001a3a74: 0c024d41 jal 0x00093504
001a3a78: afb00010 sw r16,0x0010(r29)
001a3a7c: 08068ec2 j 0x001a3b08
001a3a80: 00000000 nop
001a3a84: 00132040 sll r4,r19,0x01
001a3a88: 00931021 addu r2,r4,r19
001a3a8c: 00c21021 addu r2,r6,r2
001a3a90: 90430042 lbu r3,0x0042(r2)
001a3a94: 00000000 nop
001a3a98: a3a30018 sb r3,0x0018(r29)
001a3a9c: 90430043 lbu r3,0x0043(r2)
001a3aa0: 00000000 nop
001a3aa4: a3a30019 sb r3,0x0019(r29)
001a3aa8: 90430044 lbu r3,0x0044(r2)
001a3aac: 00000000 nop
001a3ab0: a3a3001a sb r3,0x001a(r29)
001a3ab4: 904300a5 lbu r3,0x00a5(r2)
001a3ab8: 00000000 nop
001a3abc: a3a3001c sb r3,0x001c(r29)
001a3ac0: 904300a6 lbu r3,0x00a6(r2)
001a3ac4: 00000000 nop
001a3ac8: a3a3001d sb r3,0x001d(r29)
001a3acc: 904200a7 lbu r2,0x00a7(r2)
001a3ad0: 00868021 addu r16,r4,r6
001a3ad4: a3a2001e sb r2,0x001e(r29)
001a3ad8: 86040000 lh r4,0x0000(r16)
001a3adc: 0c024d7d jal 0x000935f4
001a3ae0: 27a50018 addiu r5,r29,0x0018
001a3ae4: 3c02800b lui r2,0x800b
001a3ae8: 8c426698 lw r2,0x6698(r2)
001a3aec: 00000000 nop
001a3af0: 30420002 andi r2,r2,0x0002
001a3af4: 10400004 beq r2,r0,0x001a3b08
001a3af8: 00000000 nop
001a3afc: 86040000 lh r4,0x0000(r16)
001a3b00: 0c024d8d jal 0x00093634
001a3b04: 27a50018 addiu r5,r29,0x0018
001a3b08: 96e20034 lhu r2,0x0034(r23)
001a3b0c: 00000000 nop
001a3b10: 2442ffff addiu r2,r2,0xffff
001a3b14: a6e20034 sh r2,0x0034(r23)
001a3b18: 00009021 addu r18,r0,r0
001a3b1c: 02e08021 addu r16,r23,r0
001a3b20: 34110284 ori r17,r0,0x0284
001a3b24: 3c02801c lui r2,0x801c
001a3b28: 8c42bf84 lw r2,-0x407c(r2)
001a3b2c: 8603000e lh r3,0x000e(r16)
001a3b30: 02223821 addu r7,r17,r2
001a3b34: 84e20034 lh r2,0x0034(r7)
001a3b38: 00000000 nop
001a3b3c: 0062102a slt r2,r3,r2
001a3b40: 1040001e beq r2,r0,0x001a3bbc
001a3b44: 00602821 addu r5,r3,r0
001a3b48: 86020028 lh r2,0x0028(r16)
001a3b4c: 00000000 nop
001a3b50: 14400016 bne r2,r0,0x001a3bac
001a3b54: 00609821 addu r19,r3,r0
001a3b58: 24a20001 addiu r2,r5,0x0001
001a3b5c: a602000e sh r2,0x000e(r16)
001a3b60: 00131040 sll r2,r19,0x01
001a3b64: 00471021 addu r2,r2,r7
001a3b68: 94420000 lhu r2,0x0000(r2)
001a3b6c: 00000000 nop
001a3b70: a6020028 sh r2,0x0028(r16)
001a3b74: 00f31021 addu r2,r7,r19
001a3b78: 90440022 lbu r4,0x0022(r2)		r2 = 0x2a4 in misc timed data?
001a3b7c: 00000000 nop
001a3b80: 28820002 slti r2,r4,0x0002
001a3b84: 14400009 bne r2,r0,0x001a3bac		branch if ?? < 2
001a3b88: 00000000 nop
001a3b8c: 0c068cba jal 0x001a32e8		on hit sound effects
001a3b90: 2484fffe addiu r4,r4,0xfffe
001a3b94: 10400005 beq r2,r0,0x001a3bac
001a3b98: 00000000 nop
001a3b9c: 3c04801c lui r4,0x801c
001a3ba0: 8c84c0dc lw r4,-0x3f24(r4)
001a3ba4: 0c00496a jal 0x000125a8
001a3ba8: 00442021 addu r4,r2,r4
001a3bac: 96020028 lhu r2,0x0028(r16)
001a3bb0: 00000000 nop
001a3bb4: 2442ffff addiu r2,r2,0xffff
001a3bb8: a6020028 sh r2,0x0028(r16)
001a3bbc: 26100002 addiu r16,r16,0x0002
001a3bc0: 26520001 addiu r18,r18,0x0001
001a3bc4: 2a420003 slti r2,r18,0x0003
001a3bc8: 1440ffd6 bne r2,r0,0x001a3b24
001a3bcc: 26310036 addiu r17,r17,0x0036
001a3bd0: 8fa800e8 lw r8,0x00e8(r29)
001a3bd4: 00000000 nop
001a3bd8: 85020004 lh r2,0x0004(r8)
001a3bdc: 00000000 nop
001a3be0: 14400004 bne r2,r0,0x001a3bf4
001a3be4: 00000000 nop
001a3be8: 86e40002 lh r4,0x0002(r23)		load 0x02 half
001a3bec: 0c06b3e4 jal 0x001acf90
001a3bf0: 00000000 nop
001a3bf4: 3c02801c lui r2,0x801c
001a3bf8: 8c42acc8 lw r2,-0x5338(r2)
001a3bfc: 00000000 nop
001a3c00: 8c420000 lw r2,0x0000(r2)
001a3c04: 00000000 nop
001a3c08: 30420040 andi r2,r2,0x0040
001a3c0c: 10400006 beq r2,r0,0x001a3c28
001a3c10: 00000000 nop
001a3c14: 8fa400e8 lw r4,0x00e8(r29)
001a3c18: 0c068491 jal 0x001a1244		get some address
001a3c1c: 00000000 nop
001a3c20: 0c0238ca jal 0x0008e328
001a3c24: 00402021 addu r4,r2,r0
001a3c28: 96e20002 lhu r2,0x0002(r23)		increment 0x02 byte and store
001a3c2c: 00000000 nop
001a3c30: 24420001 addiu r2,r2,0x0001
001a3c34: 08068f39 j 0x001a3ce4
001a3c38: a6e20002 sh r2,0x0002(r23)
001a3c3c: 3c01801c lui r1,0x801c
001a3c40: 00270821 addu r1,r1,r7
001a3c44: 9422ad10 lhu r2,-0x52f0(r1)
001a3c48: 00000000 nop
001a3c4c: 1440001f bne r2,r0,0x001a3ccc
001a3c50: 00000000 nop
001a3c54: 3c02801c lui r2,0x801c
001a3c58: 2442adb0 addiu r2,r2,0xadb0
001a3c5c: 88430003 lwl r3,0x0003(r2)
001a3c60: 98430000 lwr r3,0x0000(r2)
001a3c64: 88440007 lwl r4,0x0007(r2)
001a3c68: 98440004 lwr r4,0x0004(r2)
001a3c6c: 84450008 lh r5,0x0008(r2)
001a3c70: aba300c7 swl r3,0x00c7(r29)
001a3c74: bba300c4 swr r3,0x00c4(r29)
001a3c78: aba400cb swl r4,0x00cb(r29)
001a3c7c: bba400c8 swr r4,0x00c8(r29)
001a3c80: a7a500cc sh r5,0x00cc(r29)
001a3c84: 2442ff60 addiu r2,r2,0xff60
001a3c88: 00e21021 addu r2,r7,r2
001a3c8c: 88430003 lwl r3,0x0003(r2)
001a3c90: 98430000 lwr r3,0x0000(r2)
001a3c94: 88440007 lwl r4,0x0007(r2)
001a3c98: 98440004 lwr r4,0x0004(r2)
001a3c9c: 84450008 lh r5,0x0008(r2)
001a3ca0: aba30027 swl r3,0x0027(r29)
001a3ca4: bba30024 swr r3,0x0024(r29)
001a3ca8: aba4002b swl r4,0x002b(r29)
001a3cac: bba40028 swr r4,0x0028(r29)
001a3cb0: a7a5002c sh r5,0x002c(r29)
001a3cb4: 3c02801c lui r2,0x801c
001a3cb8: 8c42c0c8 lw r2,-0x3f38(r2)
001a3cbc: 3404000a ori r4,r0,0x000a
001a3cc0: 94450006 lhu r5,0x0006(r2)
001a3cc4: 0c06b755 jal 0x001add54
001a3cc8: 27a60020 addiu r6,r29,0x0020
001a3ccc: 3c02801c lui r2,0x801c
001a3cd0: 8c42bf84 lw r2,-0x407c(r2)
001a3cd4: 8fa800e8 lw r8,0x00e8(r29)
001a3cd8: 94420002 lhu r2,0x0002(r2)
001a3cdc: 00000000 nop
001a3ce0: a5020028 sh r2,0x0028(r8)
001a3ce4: 8fa800e8 lw r8,0x00e8(r29)
001a3ce8: 00000000 nop
001a3cec: 95030006 lhu r3,0x0006(r8)
001a3cf0: 34020001 ori r2,r0,0x0001
001a3cf4: 24630002 addiu r3,r3,0x0002
001a3cf8: a5030006 sh r3,0x0006(r8)
001a3cfc: 8fbf0164 lw r31,0x0164(r29)
001a3d00: 8fbe0160 lw r30,0x0160(r29)
001a3d04: 8fb7015c lw r23,0x015c(r29)
001a3d08: 8fb60158 lw r22,0x0158(r29)
001a3d0c: 8fb50154 lw r21,0x0154(r29)
001a3d10: 8fb40150 lw r20,0x0150(r29)
001a3d14: 8fb3014c lw r19,0x014c(r29)
001a3d18: 8fb20148 lw r18,0x0148(r29)
001a3d1c: 8fb10144 lw r17,0x0144(r29)
001a3d20: 8fb00140 lw r16,0x0140(r29)
001a3d24: 27bd0168 addiu r29,r29,0x0168
001a3d28: 03e00008 jr r31
001a3d2c: 00000000 nop