// begin 8030ECF8 (0C9CF8) .org 0x0C9CF8 addiu sp, sp, 0xFFD4 sw ra, 0x1c(sp) sw s0, 0x28(sp) sdc1 f20, 0x10(sp) lui s0, 0x8036 lw s0, 0x1160(s0) lw t7, 0x68(s0) lw t8, 0x14c(t7) beqz t8, 8030ECF8_174 nop lw t9, 0xf4(s0) lui t1, 0x8036 addiu t0, t9, 0x1 sw t0, 0xf4(s0) lw t1, 0x1160(t1) lw t3, 0x144(t1) lw t2, 0xf4(t1) subu at, r0, t3 sll t4, at, 0x2 subu t4, t4, at slt at, t4, t2 beqz at, 8030ECF8_174 nop jal 0x8029FF04 nop beqz v0, 8030ECF8_AC nop lw t7, 0x68(s0) lw t8, 0xf8(t7) addiu t9, t8, 0x1 sw t9, 0xf8(t7) addiu t0, r0, 0x1 sw t0, 0x14c(s0) lui a0, 0x0031 jal 0x80277F50 // SegmentedToVirtual addiu a0, a0, 0xFBF0 // 0x0030FBF0 beqz r0, 8030ECF8_16C sw v0, 0x218(s0) 8030ECF8_AC: // 8030EDA4 lui a2, 0x4170 addiu a0, s0, 0xa0 jal 0x802FA544 lw a1, 0x164(s0) lwc1 f4, 0xa0(s0) lwc1 f6, 0x164(s0) jal 0x802A3634 sub.s f12, f4, f6 lui at, 0x4435 mtc1 at, f8 mov.s f20, f0 lui at, 0x4700 div.s f10, f20, f8 mtc1 at, f16 lui at, 0x8038 lw t6, 0x144(s0) sll t1, t6, 0x2 subu t1, t1, t6 sll t1, t1, 0x3 addu t1, t1, t6 sll t1, t1, 0x3 addiu t3, t1, 0x190 mtc1 t3, f8 mul.s f18, f10, f16 cvt.s.w f10, f8 trunc.w.s f4, f18 lwc1 f18, 0x168(s0) mfc1 t5, f4 nop andi t8, t5, 0xffff sra t9, t8, 0x4 sll t7, t9, 0x2 addu at, at, t7 lwc1 f6, 0x6000(at) mul.s f16, f6, f10 add.s f4, f16, f18 swc1 f4, 0xa4(s0) addiu a1, r0, 0x190 jal 0x802FA748 lw a0, 0xc8(s0) 8030ECF8_16C: // 8030EE64 beqz r0, 8030ECF8_1F4 nop 8030ECF8_174: // 8030EE6C lw t5, 0x144(s0) bgez t5, 8030ECF8_1A4 nop lui a0, 0x0031 jal 0x80277F50 // SegmentedToVirtual addiu a0, a0, 0xFC74 // 0030FC74 beqz r0, 8030ECF8_1BC sw v0, 0x218(s0) 8030ECF8_1A4: // 8030EE9C lui a0, 0x0031 jal 0x80277F50 // SegmentedToVirtual addiu a0, a0, 0xFE2A // 0030FE2A sw v0, 0x218(s0) 8030ECF8_1BC: // 8030EEB4 jal 0x8029FE6C nop lui at, 0x4435 mtc1 at, f10 lw t6, 0x144(s0) lwc1 f18, 0x164(s0) mtc1 t6, f8 nop cvt.s.w f6, f8 mul.s f16, f6, f10 add.s f4, f16, f18 swc1 f4, 0xa0(s0) 8030ECF8_1F4: // 8030EEEC beqz r0, 8030ECF8_1FC nop 8030ECF8_1FC: // 8030EEF4 lw s0, 0x28(sp) lw ra, 0x1c(sp) ldc1 f20, 0x10(sp) jr ra addiu sp, sp, 0x2C nop nop nop nop // end // begin 8030EEC4 (0C9EC4) addiu sp, sp, 0xFFE8 sw ra, 0x14(sp) sw s0, 0x10(sp) lui s0, 0x8036 lw s0, 0x1160(s0) jal 0x8029F4B4 addiu a0, r0, 0x2 addiu at, r0, 0x3 lw t7, 0x68(s0) lw t8, 0x14c(t7) bne t8, at, 8030EEC4_1DC nop lw t0, 0x68(s0) lw t1, 0x104(t0) beqz t1, 8030EEC4_8C nop addiu at, r0, 0x1 lw t3, 0x68(s0) lw t4, 0x104(t3) beq t4, at, 8030EEC4_84 nop addiu t5, r0, 0xa sw t5, 0x14c(s0) mtc1 r0, f4 nop swc1 f4, 0xe4(s0) 8030EEC4_84: // 8030EF8C beqz r0, 8030EEC4_1D4 nop 8030EEC4_8C: // 8030EF94 lw t9, 0x68(s0) lw t0, 0x1ac(t9) bnez t0, 8030EEC4_1D4 nop lw t1, 0x100(t9) beqz t1, 8030EEC4_1D4 nop lw t4, 0x68(s0) lw t3, 0x144(s0) lw t5, 0x100(t4) bne t3, t5, 8030EEC4_1C4 nop jal 0x8030E384 addiu a0, r0, 0x190 bnez v0, 8030EEC4_F0 nop jal 0x80383BB0 nop andi t6, v0, 0x1 beqz t6, 8030EEC4_124 nop 8030EEC4_F0: // 8030EFF8 addiu t7, r0, 0x6 sw t7, 0x14c(s0) lw t9, 0x160(s0) sw t9, 0xc8(s0) mtc1 r0, f6 beqz r0, 8030EEC4_1BC swc1 f6, 0xe4(s0) 8030EEC4_124: // 8030F02C addiu t2, r0, 0x8 sw t2, 0x14c(s0) lui t6, 0x8036 lw t6, 0x1158(t6) lw t5, 0x68(s0) mtc1 r0, f18 lwc1 f10, 0xa0(t6) lwc1 f8, 0xa0(t5) sub.s f16, f8, f10 hex { 46 12 80 3C } // c.lt.s f16, f18; c.lt.s is bugged in CajeASM v7.24 :( nop bc1f 8030EEC4_17C nop addiu t7, r0, 0xF800 beqz r0, 8030EEC4_18C sw t7, 0xc8(s0) 8030EEC4_17C: // 8030F084 addiu t9, r0, 0x800 sw t9, 0xc8(s0) 8030EEC4_18C: // 8030F094 lw t2, 0xc8(s0) lw t4, 0x160(s0) addu t3, t2, t4 sw t3, 0xc8(s0) lui at, 0xc080 mtc1 at, f4 nop swc1 f4, 0xe4(s0) 8030EEC4_1BC: // 8030F0C4 beqz r0, 8030EEC4_1D4 nop 8030EEC4_1C4: // 8030F0CC addiu t6, r0, 0x2 sw t6, 0x14c(s0) 8030EEC4_1D4: // 8030F0DC beqz r0, 8030EEC4_200 nop 8030EEC4_1DC: // 8030F0E4 lw t9, 0x68(s0) lwc1 f8, 0x168(s0) lwc1 f6, 0x110(t9) add.s f10, f6, f8 swc1 f10, 0xa4(s0) 8030EEC4_200: // 8030F108 lw s0, 0x10(sp) lw ra, 0x14(sp) jr ra addiu sp, sp, 0x18 // end // begin 0x8030F048 (CA048) addiu sp, sp, 0xFFE0 sw ra, 0x14(sp) sw s0, 0x10(sp) lui s0, 0x8036 lw s0, 0x1160(s0) lw t7, 0x144(s0) lw t8, 0x68(s0) sw t7, 0x1ac(t8) jal 0x802FA360 addiu a0, r0, 0x4 beqz v0, 8030F048_F4 nop addiu t9, r0, 0x3 sw t9, 0x14c(s0) addiu t1, r0, 0x2 sw t1, 0xfc(s0) addiu t3, r0, 0x3c sw t3, 0x100(s0) lui a0, 0x0031 jal 0x80277F50 // SegmentedToVirtual addiu a0, a0, 0xFDB2 // 0030FDB2 sw v0, 0x218(s0) addiu at, r0, 0x2 lw t7, 0x68(s0) lw t8, 0xf8(t7) beq t8, at, 8030F048_E0 nop lw t0, 0x160(s0) sh t0, 0x1e(sp) addiu a0, sp, 0x1e addiu a1, r0, 0xD000 jal 0x802FA25C addiu a2, r0, 0x3000 lh t1, 0x1e(sp) sw t1, 0xc8(s0) lui at, 0x4248 mtc1 at, f4 nop swc1 f4, 0xb8(s0) beqz r0, 8030F048_F4 nop 8030F048_E0: // 8030F1F8 sw r0, 0xc8(s0) 8030F048_F4: // 8030F20C lw s0, 0x10(sp) lw ra, 0x14(sp) jr ra addiu sp, sp, 0x20 // end // begin 0x8030F100 (CA100) addiu sp, sp, 0xFFD8 sw ra, 0x1c(sp) sw s0, 0x18(sp) lui s0, 0x8036 lw s0, 0x1160(s0) jal 0x8029F4B4 addiu a0, r0, 0x5 lui a2, 0x524b ori a2, a2, 0x81 mov a0, r0 jal 0x802FA428 mov a1, r0 jal 0x8030EB3C nop bnez v0, 8030F100_210 nop lw t7, 0x68(s0) lw t8, 0x100(t7) bnez t8, 8030F100_D8 nop lw t0, 0xf0(s0) slti at, t0, 0x3 beqz at, 8030F100_80 nop lw t2, 0xf0(s0) addiu t3, t2, 0x1 beqz r0, 8030F100_D0 sw t3, 0xf0(s0) 8030F100_80: // 8030F29C jal 0x8029FF04 nop beqz v0, 8030F100_D0 nop lw t5, 0x160(s0) lw t6, 0xd4(s0) lw t0, 0x144(s0) subu t7, t5, t6 sll t8, t7, 0x10 sra t9, t8, 0x10 multu t0, t9 mflo t2 sh t2, 0x26(sp) nop addiu t3, r0, 0x4 sw t3, 0x14c(s0) 8030F100_D0: // 8030F2EC beqz r0, 8030F100_210 nop 8030F100_D8: // 8030F2F4 lw t6, 0x100(s0) lw at, 0x100(s0) addiu t7, t6, 0xFFFF beqz at, 8030F100_13C sw t7, 0x100(s0) lw t4, 0xfc(s0) beqz t4, 8030F100_11C nop lw t9, 0xfc(s0) addiu t2, t9, 0xFFFF sw t2, 0xfc(s0) 8030F100_11C: // 8030F338 lui t6, 0x8033 lw t1, 0xfc(s0) addu t6, t6, t1 lb t6, 0x2cb4(t6) beqz r0, 8030F100_164 sw t6, 0xf0(s0) 8030F100_13C: // 8030F358 addiu t7, r0, 0x5 sw t7, 0xfc(s0) addiu a0, r0, 0x14 jal 0x802FA964 addiu a1, r0, 0x32 sw v0, 0x100(s0) 8030F100_164: // 8030F380 addiu at, r0, 0x2 lw t9, 0x68(s0) lw t2, 0xf8(t9) beq t2, at, 8030F100_210 nop addiu a1, r0, 0x800 jal 0x802FA748 lw a0, 0xc8(s0) lw t6, 0x154(s0) slti at, t6, 0xb bnez at, 8030F100_210 nop lui t3, 0x8036 lw t3, 0x1158(t3) lwc1 f4, 0xa8(s0) mtc1 r0, f10 lwc1 f6, 0xa8(t3) sub.s f8, f4, f6 hex { 46 08 50 3C } // c.lt.s f10, f8; c.lt.s is bugged in CajeASM v7.24 :( nop bc1t 8030F100_1E4 nop lw t7, 0xec(s0) andi t5, t7, 0x400 beqz t5, 8030F100_210 nop 8030F100_1E4: // 8030F400 lw t4, 0x68(s0) sw r0, 0x100(t4) mtc1 r0, f16 nop swc1 f16, 0xb8(s0) 8030F100_210: // 8030F42C lw ra, 0x1c(sp) lw s0, 0x18(sp) jr ra addiu sp, sp, 0x28 // end // begin 0x8030F2A0 (CA2A0) addiu sp, sp, 0xFFE8 sw ra, 0x14(sp) sw s0, 0x10(sp) lui s0, 0x8036 lw s0, 0x1160(s0) addiu a0, r0, 0x7 jal 0x802FA39C addiu a1, r0, 0x1 beqz v0, 8030F2A0_B8 nop lui a0, 0x0031 jal 0x80277F50 // SegmentedToVirtual addiu a0, a0, 0xFBF0 // 0030FBF0 sw v0, 0x218(s0) addiu at, r0, 0x2 lw t8, 0x68(s0) lw t9, 0xf8(t8) beq t9, at, 8030F2A0_78 nop addiu t0, r0, 0x5 sw t0, 0x14c(s0) lw t3, 0x144(s0) lw t4, 0x68(s0) beqz r0, 8030F2A0_B8 sw t3, 0x100(t4) 8030F2A0_78: // 8030F4B8 lw t6, 0x68(s0) lw t7, 0x100(t6) bnez t7, 8030F2A0_B8 nop addiu t8, r0, 0x1 sw t8, 0x14c(s0) lw t1, 0x68(s0) sw r0, 0x1ac(t1) 8030F2A0_B8: // 8030F4F8 lw s0, 0x10(sp) lw ra, 0x14(sp) jr ra addiu sp, sp, 0x18 // end // begin 8030F334 (CA334) addiu sp, sp, 0xFFE8 sw ra, 0x14(sp) sw s0, 0x10(sp) lui s0, 0x8036 lw s0, 0x1160(s0) jal 0x802FA360 addiu a0, r0, 0x3 beqz v0, 8030F334_40 nop addiu t6, r0, 0xd sw t6, 0x14c(s0) lui a0, 0x0031 jal 0x80277F50 // SegmentedToVirtual addiu a0, a0, 0xFBF0 // 0030FBF0 sw v0, 0x218(s0) 8030F334_40: // 8030F548 lw t0, 0xec(s0) andi t1, t0, 0x3 beqz t1, 8030F334_74 nop mtc1 r0, f4 nop swc1 f4, 0xb8(s0) 8030F334_74: // 8030F57C lw s0, 0x10(sp) lw ra, 0x14(sp) jr ra addiu sp, sp, 0x18 // end // begin 8030F39C (CA39C) addiu sp, sp, 0xFFE8 sw ra, 0x14(sp) jal 0x802FA360 mov a0, r0 beqz v0, 8030F39C_30 nop lui t7, 0x8036 lw t7, 0x1160(t7) addiu t6, r0, 0xe sw t6, 0x14c(t7) 8030F39C_30: // 8030F5BC lw ra, 0x14(sp) jr ra addiu sp, sp, 0x18 // end // begin 8030F3D0 (CA3D0) lui t6, 0x8036 lw t6, 0x1160(t6) lw t7, 0x68(t6) lw t8, 0x100(t7) beqz t8, 8030F3D0_28 nop lw t9, 0xf8(t7) addiu at, r0, 0x2 beq t9, at, 8030F3D0_4C nop 8030F3D0_28: // 8030F5F4 addiu t0, r0, 0x5 sw t0, 0x14c(t6) lw t3, 0x144(t6) lw t4, 0x68(t6) sw t3, 0x100(t4) 8030F3D0_4C: // 8030F618 jr ra nop // end // begin 8030F414 (CA414) addiu sp, sp, 0xFFE8 sw ra, 0x14(sp) sw s0, 0x10(sp) lui s0, 0x8036 lw s0, 0x1160(s0) jal 0x802FA360 addiu a0, r0, 0x1 beqz v0, 8030F414_44 nop lw t7, 0x68(s0) sw r0, 0x1ac(t7) lui at, 0x4316 mtc1 at, f12 jal 0x802A4440 addiu a1, r0, 0x1 lui a0, 0x925b jal 0x802CA144 ori a0, a0, 0x81 8030F414_44: // 8030F66C lw t9, 0xec(s0) andi t0, t9, 0x3 beqz t0, 8030F414_84 nop lui a0, 0x5068 jal 0x802CA1E0 // PlaySound2 ori a0, a0, 0x4081 mtc1 r0, f4 nop swc1 f4, 0xb8(s0) 8030F414_84: // 8030F6AC lw s0, 0x10(sp) lw ra, 0x14(sp) jr ra addiu sp, sp, 0x18 // end // begin 8030F494 (CA494) addiu sp, sp, 0xFFE0 sw ra, 0x14(sp) sw s0, 0x10(sp) lui s0, 0x8036 lw s0, 0x1160(s0) jal 0x802A1634 nop swc1 f0, 0x1c(sp) jal 0x802A2748 nop sh v0, 0x1a(sp) lui at, 0x4220 mtc1 at, f6 lwc1 f4, 0x1c(sp) mtc1 r0, f10 sub.s f8, f4, f6 hex { 46 0A 40 3C } // c.lt.s f8, f10; c.lt.s is bugged in CajeASM v7.24 :( swc1 f8, 0x1c(sp) bc1f 8030F494_50 nop mtc1 r0, f16 nop swc1 f16, 0x1c(sp) 8030F494_50: // 8030F70C lhu t6, 0x1a(sp) lui at, 0x8038 lwc1 f4, 0x1c(sp) sra t7, t6, 0x4 sll t8, t7, 0x2 addu at, at, t8 lwc1 f18, 0x6000(at) mul.s f6, f18, f4 lwc1 f8, 0x164(s0) sub.s f10, f8, f6 swc1 f10, 0xa0(s0) lhu t0, 0x1a(sp) lui at, 0x8038 lwc1 f18, 0x1c(sp) sra t1, t0, 0x4 sll t2, t1, 0x2 addu at, at, t2 lwc1 f16, 0x7000(at) mul.s f4, f16, f18 lwc1 f8, 0x16c(s0) sub.s f6, f8, f4 swc1 f6, 0xa8(s0) mov a0, r0 jal 0x802FA748 addiu a1, r0, 0x190 lui a2, 0x41a0 addiu a0, s0, 0xa4 jal 0x802FA544 lw a1, 0x168(s0) beqz v0, 8030F494_174 nop lwc1 f10, 0x1c(sp) mtc1 r0, f16 nop hex { 46 10 50 32 } // c.eq.s f10, f16; c.eq.s is bugged in CajeASM v7.24 :( nop bc1f 8030F494_174 nop lw t6, 0xd4(s0) bnez t6, 8030F494_174 nop addiu t7, r0, 0x1 sw t7, 0x14c(s0) lw t0, 0x68(s0) lw t2, 0x144(s0) lw t1, 0x100(t0) subu t3, t1, t2 sw t3, 0x100(t0) lw t6, 0x68(s0) lw t5, 0x144(s0) lw t7, 0x1ac(t6) bne t5, t7, 8030F494_174 nop lw t9, 0x68(s0) sw r0, 0x1ac(t9) 8030F494_174: // 8030F830 lw s0, 0x10(sp) lw ra, 0x14(sp) jr ra addiu sp, sp, 0x20 // end // begin 8030F5DC (CA5DC) addiu sp, sp, 0xFFE8 sw ra, 0x14(sp) sw s0, 0x10(sp) lui s0, 0x8036 lw s0, 0x1160(s0) jal 0x8030E384 addiu a0, r0, 0x190 bnez v0, 8030F5DC_B0 nop lui t7, 0x8036 lw t7, 0x1158(t7) mtc1 r0, f10 lwc1 f6, 0xa8(t7) lwc1 f4, 0xa8(s0) sub.s f8, f4, f6 hex { 46 08 50 3C } // c.lt.s f10, f8; c.lt.s is bugged in CajeASM v7.24 :( nop bc1t 8030F5DC_B0 nop lw t8, 0x68(s0) lui at, 0x8034 lwc1 f6, 0x8C94(at) lwc1 f16, 0xa8(t8) sub.s f18, f4, f16 hex { 46 12 30 3C } // c.lt.s f6, f18; c.lt.s is bugged in CajeASM v7.24 :( nop bc1t 8030F5DC_B0 nop lwc1 f8, 0xa0(s0) lwc1 f10, 0xa0(t8) jal 0x802A3634 sub.s f12, f8, f10 lui at, 0x4461 mtc1 at, f4 nop hex { 46 00 20 3C } // c.lt.s f4, f0; c.lt.s is bugged in CajeASM v7.24 :( nop bc1t 8030F5DC_B0 nop lw t0, 0xec(s0) andi t1, t0, 0x200 beqz t1, 8030F5DC_110 nop 8030F5DC_B0: // 8030F8F0 mtc1 r0, f16 nop swc1 f16, 0xb8(s0) lui at, 0x4396 mtc1 at, f6 lwc1 f18, 0x168(s0) lui a2, 0x41a0 addiu a0, s0, 0xa4 add.s f8, f18, f6 mfc1 a1, f8 jal 0x802FA544 nop beqz v0, 8030F5DC_170 nop addiu t4, r0, 0x7 beqz r0, 8030F5DC_170 sw t4, 0x14c(s0) 8030F5DC_110: // 8030F950 lui at, 0x4248 mtc1 at, f12 lui at, 0x40a0 mtc1 at, f14 jal 0x802FA5D0 nop lui at, 0x4396 mtc1 at, f4 lwc1 f10, 0x168(s0) lui a2, 0x41a0 addiu a0, s0, 0xa4 add.s f16, f10, f4 mfc1 a1, f16 jal 0x802FA544 nop addiu a1, r0, 0xfa0 jal 0x8029E5EC lw a0, 0x160(s0) 8030F5DC_170: // 8030F9B0 lw s0, 0x10(sp) lw ra, 0x14(sp) jr ra addiu sp, sp, 0x18 // end // begin 8030F724 (CA724) addiu sp, sp, 0xFFE0 sw ra, 0x14(sp) sw s0, 0x10(sp) lui s0, 0x8036 lw s0, 0x1160(s0) lw t7, 0x154(s0) slti at, t7, 0x15 bnez at, 8030F724_16C nop lw t9, 0xec(s0) andi t0, t9, 0x3 beqz t0, 8030F724_14C nop lui at, 0xc080 mtc1 at, f6 lwc1 f4, 0xe4(s0) hex { 46 06 20 3C } // c.lt.s f4, f6; c.lt.s is bugged in CajeASM v7.24 :( nop bc1f 8030F724_7C nop jal 0x8030ECA8 nop lui at, 0xc080 mtc1 at, f8 beqz r0, 8030F724_16C swc1 f8, 0xe4(s0) 8030F724_7C: // 8030FA3C lw a0, 0xd4(s0) jal 0x802A11A8 lw a1, 0x160(s0) sh v0, 0x1e(sp) lui at, 0x4396 mtc1 at, f16 lwc1 f10, 0x15c(s0) hex { 46 10 50 3C } // c.lt.s f10, f16; c.lt.s is bugged in CajeASM v7.24 :( nop bc1f 8030F724_134 nop lh t5, 0x1e(sp) slti at, t5, 0x2001 bnez at, 8030F724_134 nop slti at, t5, 0x6000 beqz at, 8030F724_134 nop addiu t6, r0, 0x9 sw t6, 0x14c(s0) lw t9, 0xd4(s0) lw t0, 0x160(s0) subu t1, t9, t0 sll t2, t1, 0x10 sra t3, t2, 0x10 bgez t3, 8030F724_11C nop addiu t4, r0, 0x4000 beqz r0, 8030F724_16C sw t4, 0xc8(s0) 8030F724_11C: // 8030FADC addiu t6, r0, 0xC000 beqz r0, 8030F724_16C sw t6, 0xc8(s0) 8030F724_134: // 8030FAF4 addiu t8, r0, 0x5 beqz r0, 8030F724_16C sw t8, 0x14c(s0) 8030F724_14C: // 8030FB0C lui at, 0xc1a0 mtc1 at, f18 nop swc1 f18, 0xe4(s0) 8030F724_16C: // 8030FB2C lw s0, 0x10(sp) lw ra, 0x14(sp) jr ra addiu sp, sp, 0x20 // end // begin 8030F83C (CA83C) addiu sp, sp, 0xFFE8 sw ra, 0x14(sp) sw s0, 0x10(sp) lui s0, 0x8036 lw s0, 0x1160(s0) lw t7, 0x154(s0) slti at, t7, 0x6 bnez at, 8030F83C_D0 nop lui t8, 0x8036 lw t8, 0x1158(t8) lwc1 f4, 0xa8(s0) mtc1 r0, f10 lwc1 f6, 0xa8(t8) sub.s f8, f4, f6 hex { 46 08 50 3C } // c.lt.s f10, f8; c.lt.s is bugged in CajeASM v7.24 :( nop bc1t 8030F83C_50 nop lw t9, 0xec(s0) andi t0, t9, 0x400 beqz t0, 8030F83C_D0 nop 8030F83C_50: // 8030FB8C addiu t1, r0, 0x9 sw t1, 0x14c(s0) mtc1 r0, f16 nop swc1 f16, 0xb8(s0) lui t5, 0x8036 lw t5, 0x1158(t5) mtc1 r0, f8 lwc1 f4, 0xa0(t5) lwc1 f18, 0xa0(s0) sub.s f6, f18, f4 hex { 46 08 30 3C } // c.lt.s f6, f8; c.lt.s is bugged in CajeASM v7.24 :( nop bc1f 8030F83C_B8 nop addiu t7, r0, 0x4000 beqz r0, 8030F83C_E8 sw t7, 0xc8(s0) 8030F83C_B8: // 8030FBF4 addiu t6, r0, 0xC000 beqz r0, 8030F83C_E8 sw t6, 0xc8(s0) 8030F83C_D0: // 8030FC0C lui at, 0x4248 mtc1 at, f10 nop swc1 f10, 0xb8(s0) 8030F83C_E8: // 8030FC24 lw s0, 0x10(sp) lw ra, 0x14(sp) jr ra addiu sp, sp, 0x18 // end // begin 8030F90C (CA90C) addiu sp, sp, 0xFFE8 sw ra, 0x14(sp) sw s0, 0x10(sp) lui s0, 0x8036 lw s0, 0x1160(s0) lui at, 0x447a mtc1 at, f10 lw t7, 0x68(s0) lwc1 f4, 0xa8(s0) lwc1 f6, 0xa8(t7) sub.s f8, f4, f6 hex { 46 0A 40 3C } // c.lt.s f8, f10; c.lt.s is bugged in CajeASM v7.24 :( nop bc1t 8030F90C_48 nop lw t8, 0xec(s0) andi t9, t8, 0x400 beqz t9, 8030F90C_6C nop 8030F90C_48: // 8030FC7C addiu t0, r0, 0x5 sw t0, 0x14c(s0) mtc1 r0, f16 beqz r0, 8030F90C_B0 swc1 f16, 0xb8(s0) 8030F90C_6C: // 8030FCA0 lui at, 0x40a0 mtc1 at, f12 lui at, 0x8034 jal 0x802FA5D0 lwc1 f14, 0x8C98(at) lui at, 0x8034 lwc1 f4, 0x8C9C(at) lwc1 f18, 0xb8(s0) mul.s f6, f18, f4 swc1 f6, 0xb8(s0) sw r0, 0x154(s0) 8030F90C_B0: // 8030FCE4 lw s0, 0x10(sp) lw ra, 0x14(sp) jr ra addiu sp, sp, 0x18 // end // begin 8030F9A8 (CA9A8) addiu sp, sp, 0xFFF8 sw s0, 0x04(sp) lui s0, 0x8036 lw s0, 0x1160(s0) lw t7, 0x68(s0) lw t8, 0x104(t7) bltz t8, 8030F9A8_2C nop lw t9, 0x144(s0) lw t0, 0x100(t7) bne t9, t0, 8030F9A8_78 nop 8030F9A8_2C: // 8030FD20 addiu t1, r0, 0xb sw t1, 0x14c(s0) lui at, 0x4680 mtc1 at, f6 lw t4, 0x68(s0) lw t5, 0xd4(s0) lwc1 f4, 0x108(t4) mtc1 t5, f10 mul.s f8, f4, f6 cvt.s.w f16, f10 sub.s f18, f16, f8 trunc.w.s f4, f18 mfc1 t6, f4 beqz r0, 8030F9A8_13C sw t6, 0xc8(s0) 8030F9A8_78: // 8030FD6C lui at, 0x43c8 mtc1 at, f6 lw t9, 0x68(s0) lw t0, 0x144(s0) lui at, 0x4334 lwc1 f10, 0x108(t9) mtc1 t0, f4 lwc1 f8, 0xa0(t9) mul.s f16, f6, f10 mtc1 at, f10 cvt.s.w f6, f4 add.s f18, f8, f16 mul.s f8, f6, f10 sub.s f16, f18, f8 lwc1 f6, 0x164(s0) lw t2, 0x68(s0) sub.s f10, f16, f6 lwc1 f18, 0x110(t2) mul.s f8, f18, f10 add.s f16, f8, f6 swc1 f16, 0xa0(s0) lui at, 0x4396 mtc1 at, f18 lw t5, 0x68(s0) lwc1 f8, 0x168(s0) lwc1 f4, 0x110(t5) mul.s f10, f4, f18 add.s f6, f10, f8 swc1 f6, 0xa4(s0) lw t6, 0x68(s0) lwc1 f4, 0x16c(s0) lwc1 f16, 0x10c(t6) lwc1 f10, 0x110(t6) sub.s f18, f16, f4 mul.s f8, f10, f18 add.s f6, f8, f4 swc1 f6, 0xa8(s0) 8030F9A8_13C: // 8030FE30 lw s0, 0x04(sp) jr ra addiu sp, sp, 0x8 // end // begin 8030FAB4 (CAAB4) addiu sp, sp, 0xFFE8 sw ra, 0x14(sp) sw s0, 0x10(sp) lui s0, 0x8036 lw s0, 0x1160(s0) addiu at, r0, 0x2 lw t7, 0x68(s0) lw t8, 0xf8(t7) beq t8, at, 8030FAB4_38 nop lw t0, 0x144(s0) lw t1, 0x68(s0) sw t0, 0x100(t1) 8030FAB4_38: // 8030FE70 addiu at, r0, 0x1 lw t3, 0x68(s0) lw t4, 0x104(t3) bne t4, at, 8030FAB4_7C nop addiu t5, r0, 0x5 sw t5, 0x14c(s0) lw t8, 0x144(s0) lw t9, 0x68(s0) beqz r0, 8030FAB4_1B0 sw t8, 0x1ac(t9) 8030FAB4_7C: // 8030FEB4 lw t2, 0x68(s0) lw t1, 0x144(s0) lw t3, 0x100(t2) bne t1, t3, 8030FAB4_1B0 nop lw t5, 0xec(s0) andi t6, t5, 0x3 beqz t6, 8030FAB4_170 nop lui at, 0xc170 mtc1 at, f6 lwc1 f4, 0xe4(s0) hex { 46 06 20 3C } // c.lt.s f4, f6; c.lt.s is bugged in CajeASM v7.24 :( nop bc1f 8030FAB4_118 nop lw t9, 0x68(s0) sw r0, 0x100(t9) jal 0x8030ECA8 nop mtc1 r0, f8 nop swc1 f8, 0xb8(s0) lui at, 0xc170 mtc1 at, f10 beqz r0, 8030FAB4_168 swc1 f10, 0xe4(s0) 8030FAB4_118: // 8030FF50 lw t3, 0x68(s0) jal 0x802A3634 lwc1 f12, 0x108(t3) lui at, 0x41f0 mtc1 at, f16 mul.s f18, f0, f16 swc1 f18, 0xb8(s0) lui at, 0x42c8 mtc1 at, f4 nop swc1 f4, 0xb0(s0) sw r0, 0xec(s0) 8030FAB4_168: // 8030FFA0 beqz r0, 8030FAB4_1B0 nop 8030FAB4_170: // 8030FFA8 mtc1 r0, f8 lwc1 f6, 0xb0(s0) hex { 46 08 30 3E } // c.le.s f6, f8; c.le.s is bugged in CajeASM v7.24 :( nop bc1f 8030FAB4_1B0 nop lui at, 0xc1a0 mtc1 at, f10 nop swc1 f10, 0xe4(s0) 8030FAB4_1B0: // 8030FFE8 lw s0, 0x10(sp) lw ra, 0x14(sp) jr ra addiu sp, sp, 0x18 // end, 0x408 bytes freed up total /* Collision data, 0x378 bytes long (0030FBF0) replaces (07028274) (0030FC74) replaces (070284B0) (0030FDB2) replaces (070282F8) (0030FE2A) replaces (07028370) 07028274 -> ROM 0xEE87FB, 0x84 bytes 070284B0 -> ROM 0xEE8A37, 0x13E bytes 070282F8 -> ROM 0xEE887F, 0x78 bytes 07028370 -> ROM 0xEE88F7, 0x13E bytes */ .org 0xCABF0 hex { 0040 0008 FFA9 0003 0093 FFC1 00CC FFA6 FFC1 0003 FFA6 FFA9 00CC 0093 0044 00CC 0093 0044 00CC FF7A 0044 0003 0093 0044 0003 FF7A 0000 000C 0000 0001 0002 0000 0003 0001 0001 0003 0004 0001 0004 0005 0006 0004 0003 0006 0003 0000 0007 0005 0004 0007 0004 0006 0002 0001 0005 0002 0005 0007 0006 0000 0002 0006 0002 0007 0041 0042 0040 0013 0064 0000 0097 0064 0064 0097 FF9C 0064 0097 0064 0000 FF86 0064 0064 FF86 FF9C 0032 0097 FF9C 0000 FF86 FF9C 0000 0097 FF9C 0064 FF86 FF9C 004B FF86 FF69 0000 FFEB FF6A 0000 0097 FF6A 0032 0097 FF69 0032 FFEB FF69 0000 FF86 FF69 004B FF86 FF9C 0032 FFEB FF69 004B FFEC FF9C 004B FFEC 0000 0020 000B 0007 0005 0000 0001 0002 0001 0000 0003 0004 0001 0003 0002 0001 0004 0000 0002 0005 0003 0000 0006 0000 0007 0006 0008 0003 0009 0008 0004 0003 0008 0002 0004 000A 000B 000C 000C 000B 0005 000D 0010 0012 000D 000C 0005 000D 0005 0010 000A 000C 000D 0006 000E 000F 0006 000F 0009 000F 0011 0012 000E 0011 000F 000F 0012 0009 000E 000A 0011 000D 0012 0011 0012 0010 0002 0010 0005 0002 0000 0005 0007 0008 0009 0002 0009 0012 0002 0009 0003 0006 0007 000B 0006 000B 000E 0006 0041 0042 0040 0008 FF9A 0000 0033 FF9A 0152 0033 FF9A 0152 FFCD 0099 0152 0033 0066 0152 FFCD 0099 0000 0033 0066 0000 FFCD FF9A 0000 FFCD 0000 000A 0000 0001 0002 0001 0003 0004 0001 0004 0002 0005 0003 0001 0005 0001 0000 0006 0003 0005 0006 0004 0003 0007 0002 0004 0007 0004 0006 0000 0002 0007 0041 0042 0040 0013 0064 004B FF86 FF9C 0000 FF86 0064 0064 FF86 FF9C 0064 FF86 FF9C 0000 0097 FF9C 0064 0097 0064 0000 FF86 0064 0032 0097 0064 0064 0097 0064 0000 0097 0097 0032 0097 0097 0032 FFEB 0064 0032 FFEB 0097 0000 0097 0097 0000 FFEB 0097 004B FF86 0064 004B FFEC 0097 004B FFEC 0097 0000 FF86 0000 0020 0000 0001 0002 0001 0003 0002 0001 0004 0005 0001 0005 0003 0006 0004 0001 0007 0008 0004 0008 0005 0004 0006 0009 0004 0003 0005 0008 0003 0008 0002 0007 000A 000B 000C 0007 000B 0007 000D 000A 0007 0009 000D 000A 000D 000E 000B 000A 000E 000F 0012 0006 0000 000F 0006 0000 0010 000F 0010 0011 000F 000F 0011 0012 0011 000E 0012 0011 0010 000B 0010 000C 000B 0008 000C 0010 0008 0000 0002 0008 0010 0000 0008 0007 000C 0009 0007 0004 0006 0001 0000 0006 000D 0009 0006 0012 000D 0041 0042 } //BehEyerokHandLoop: // begin 8030FFF8 (0CAFF8) .org 0x0CAFF8 addiu sp, sp, 0xFFE8 sw ra, 0x14(sp) lui at, 0x3fc0 lui t6, 0x8036 lw t6, 0x1160(t6) mtc1 at, f4 nop swc1 f4, 0x2c(t6) lui t7, 0x8036 lw t7, 0x1160(t7) lw t8, 0x14c(t7) bnez t8, LBehEyerokHandLoop_44 nop jal 0x8030ECF8 nop beqz r0, LBehEyerokHandLoop_19C nop LBehEyerokHandLoop_44: // 8031003C jal 0x802A2320 // MoveRelated nop lui t9, 0x8036 lw t9, 0x1160(t9) lw t0, 0x14c(t9) addiu t1, t0, 0xFFFF sltiu at, t1, 0xf beqz at, LBehEyerokHandLoop_170 nop sll t1, t1, 0x02 lui at, 0x8034 addu at, at, t1 lw t1, 0x8CA0(at) jr t1 nop jal 0x8030EEC4 nop beqz r0, LBehEyerokHandLoop_170 nop jal 0x8030F048 nop beqz r0, LBehEyerokHandLoop_170 nop jal 0x8030F100 nop beqz r0, LBehEyerokHandLoop_170 nop jal 0x8030F2A0 nop beqz r0, LBehEyerokHandLoop_170 nop jal 0x8030F494 nop beqz r0, LBehEyerokHandLoop_170 nop jal 0x8030F5DC nop beqz r0, LBehEyerokHandLoop_170 nop jal 0x8030F724 nop beqz r0, LBehEyerokHandLoop_170 nop jal 0x8030F83C nop beqz r0, LBehEyerokHandLoop_170 nop jal 0x8030F90C nop beqz r0, LBehEyerokHandLoop_170 nop jal 0x8030F9A8 nop beqz r0, LBehEyerokHandLoop_170 nop jal 0x8030FAB4 nop beqz r0, LBehEyerokHandLoop_170 nop jal 0x8030F334 nop beqz r0, LBehEyerokHandLoop_170 nop jal 0x8030F39C nop beqz r0, LBehEyerokHandLoop_170 nop jal 0x8030F3D0 nop beqz r0, LBehEyerokHandLoop_170 nop jal 0x8030F414 nop beqz r0, LBehEyerokHandLoop_170 nop LBehEyerokHandLoop_170: // 80310168 lui t2, 0x8036 lw t2, 0x1160(t2) lui a0, 0x8033 addiu a0, a0, 0x2ca4 jal 0x802FB938 lw a1, 0x14c(t2) lui t3, 0x8036 lw t3, 0x1160(t3) sw v0, 0xf8(t3) jal 0x802A2348 // MoveObj addiu a0, r0, 0xFFB2 LBehEyerokHandLoop_19C: // 80310194 jal 0x803839CC // ProcessCollision nop lui t4, 0x8036 lw t4, 0x1160(t4) lui at, 0x3fc0 mtc1 at, f10 lw t5, 0x144(t4) mtc1 t5, f6 nop cvt.s.w f8, f6 mul.s f16, f8, f10 swc1 f16, 0x2c(t4) beqz r0, LBehEyerokHandLoop_1D4 nop LBehEyerokHandLoop_1D4: // 803101CC lw ra, 0x14(sp) addiu sp, sp, 0x18 jr ra nop // end BehEyerokHandLoop