diff --git a/asm/non_matchings/code_80071F00/func_80078C70.s b/asm/non_matchings/code_80071F00/func_80078C70.s index 361c241fd..13849b382 100644 --- a/asm/non_matchings/code_80071F00/func_80078C70.s +++ b/asm/non_matchings/code_80071F00/func_80078C70.s @@ -43,8 +43,8 @@ glabel L80078CDC /* 07990C 80078D0C 1000002F */ b .L80078DCC /* 079910 80078D10 A429D200 */ sh $t1, %lo(D_8018D200)($at) glabel L80078D14 -/* 079914 80078D14 3C018015 */ lui $at, %hi(D_80150134) # $at, 0x8015 -/* 079918 80078D18 C4280134 */ lwc1 $f8, %lo(D_80150134)($at) +/* 079914 80078D14 3C018015 */ lui $at, %hi(D_80150130+0x4) # $at, 0x8015 +/* 079918 80078D18 C4280134 */ lwc1 $f8, %lo(D_80150130+0x4)($at) /* 07991C 80078D1C 3C014220 */ li $at, 0x42200000 # 40.000000 /* 079920 80078D20 44815000 */ mtc1 $at, $f10 /* 079924 80078D24 3C05800E */ lui $a1, %hi(camera2) # $a1, 0x800e @@ -75,8 +75,8 @@ glabel L80078D54 /* 079984 80078D84 10000011 */ b .L80078DCC /* 079988 80078D88 A42DD200 */ sh $t5, %lo(D_8018D200)($at) glabel L80078D8C -/* 07998C 80078D8C 3C018015 */ lui $at, %hi(D_80150134) # $at, 0x8015 -/* 079990 80078D90 C4300134 */ lwc1 $f16, %lo(D_80150134)($at) +/* 07998C 80078D8C 3C018015 */ lui $at, %hi(D_80150130+0x4) # $at, 0x8015 +/* 079990 80078D90 C4300134 */ lwc1 $f16, %lo(D_80150130+0x4)($at) /* 079994 80078D94 3C014220 */ li $at, 0x42200000 # 40.000000 /* 079998 80078D98 44819000 */ mtc1 $at, $f18 /* 07999C 80078D9C 3C05800E */ lui $a1, %hi(camera2) # $a1, 0x800e diff --git a/asm/non_matchings/code_802B0210/func_802B0210.s b/asm/non_matchings/code_802B0210/func_802B0210.s deleted file mode 100644 index f0ac436b5..000000000 --- a/asm/non_matchings/code_802B0210/func_802B0210.s +++ /dev/null @@ -1,42 +0,0 @@ -glabel func_802B0210 -/* 119820 802B0210 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 119824 802B0214 AFBF0014 */ sw $ra, 0x14($sp) -/* 119828 802B0218 948E0000 */ lhu $t6, ($a0) -/* 11982C 802B021C 00803825 */ move $a3, $a0 -/* 119830 802B0220 00A03025 */ move $a2, $a1 -/* 119834 802B0224 A4AE0000 */ sh $t6, ($a1) -/* 119838 802B0228 948F0002 */ lhu $t7, 2($a0) -/* 11983C 802B022C A4AF0002 */ sh $t7, 2($a1) -/* 119840 802B0230 94980004 */ lhu $t8, 4($a0) -/* 119844 802B0234 A4B80004 */ sh $t8, 4($a1) -/* 119848 802B0238 94990006 */ lhu $t9, 6($a0) -/* 11984C 802B023C A4B90006 */ sh $t9, 6($a1) -/* 119850 802B0240 94880008 */ lhu $t0, 8($a0) -/* 119854 802B0244 A4A80008 */ sh $t0, 8($a1) -/* 119858 802B0248 9489000A */ lhu $t1, 0xa($a0) -/* 11985C 802B024C A4A9000A */ sh $t1, 0xa($a1) -/* 119860 802B0250 C484000C */ lwc1 $f4, 0xc($a0) -/* 119864 802B0254 E4A4000C */ swc1 $f4, 0xc($a1) -/* 119868 802B0258 C4860010 */ lwc1 $f6, 0x10($a0) -/* 11986C 802B025C E4A60010 */ swc1 $f6, 0x10($a1) -/* 119870 802B0260 C4880014 */ lwc1 $f8, 0x14($a0) -/* 119874 802B0264 24A40018 */ addiu $a0, $a1, 0x18 -/* 119878 802B0268 E4A80014 */ swc1 $f8, 0x14($a1) -/* 11987C 802B026C AFA70018 */ sw $a3, 0x18($sp) -/* 119880 802B0270 AFA6001C */ sw $a2, 0x1c($sp) -/* 119884 802B0274 0C0AD4B6 */ jal vec3f_copy -/* 119888 802B0278 24E50018 */ addiu $a1, $a3, 0x18 -/* 11988C 802B027C 8FA6001C */ lw $a2, 0x1c($sp) -/* 119890 802B0280 8FA70018 */ lw $a3, 0x18($sp) -/* 119894 802B0284 24C40024 */ addiu $a0, $a2, 0x24 -/* 119898 802B0288 0C0AD4B6 */ jal vec3f_copy -/* 11989C 802B028C 24E50024 */ addiu $a1, $a3, 0x24 -/* 1198A0 802B0290 8FA6001C */ lw $a2, 0x1c($sp) -/* 1198A4 802B0294 8FA70018 */ lw $a3, 0x18($sp) -/* 1198A8 802B0298 24C40030 */ addiu $a0, $a2, 0x30 -/* 1198AC 802B029C 0C0AD4B6 */ jal vec3f_copy -/* 1198B0 802B02A0 24E50030 */ addiu $a1, $a3, 0x30 -/* 1198B4 802B02A4 8FBF0014 */ lw $ra, 0x14($sp) -/* 1198B8 802B02A8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 1198BC 802B02AC 03E00008 */ jr $ra -/* 1198C0 802B02B0 00000000 */ nop diff --git a/asm/non_matchings/code_802B0210/func_802B4E30.s b/asm/non_matchings/code_802B0210/func_802B4E30.s deleted file mode 100644 index f0260fff0..000000000 --- a/asm/non_matchings/code_802B0210/func_802B4E30.s +++ /dev/null @@ -1,80 +0,0 @@ -glabel func_802B4E30 -/* 11E440 802B4E30 44801000 */ mtc1 $zero, $f2 -/* 11E444 802B4E34 C4800044 */ lwc1 $f0, 0x44($a0) -/* 11E448 802B4E38 4602003C */ c.lt.s $f0, $f2 -/* 11E44C 802B4E3C 00000000 */ nop -/* 11E450 802B4E40 45020015 */ bc1fl .L802B4E98 -/* 11E454 802B4E44 C480003C */ lwc1 $f0, 0x3c($a0) -/* 11E458 802B4E48 948E0034 */ lhu $t6, 0x34($a0) -/* 11E45C 802B4E4C 24020001 */ li $v0, 1 -/* 11E460 802B4E50 544E0011 */ bnel $v0, $t6, .L802B4E98 -/* 11E464 802B4E54 C480003C */ lwc1 $f0, 0x3c($a0) -/* 11E468 802B4E58 C4860060 */ lwc1 $f6, 0x60($a0) -/* 11E46C 802B4E5C C4840018 */ lwc1 $f4, 0x18($a0) -/* 11E470 802B4E60 C4920064 */ lwc1 $f18, 0x64($a0) -/* 11E474 802B4E64 46003202 */ mul.s $f8, $f6, $f0 -/* 11E478 802B4E68 C490001C */ lwc1 $f16, 0x1c($a0) -/* 11E47C 802B4E6C 46009182 */ mul.s $f6, $f18, $f0 -/* 11E480 802B4E70 46082281 */ sub.s $f10, $f4, $f8 -/* 11E484 802B4E74 C4880020 */ lwc1 $f8, 0x20($a0) -/* 11E488 802B4E78 46068101 */ sub.s $f4, $f16, $f6 -/* 11E48C 802B4E7C E48A0018 */ swc1 $f10, 0x18($a0) -/* 11E490 802B4E80 C48A0068 */ lwc1 $f10, 0x68($a0) -/* 11E494 802B4E84 E484001C */ swc1 $f4, 0x1c($a0) -/* 11E498 802B4E88 46005482 */ mul.s $f18, $f10, $f0 -/* 11E49C 802B4E8C 46124401 */ sub.s $f16, $f8, $f18 -/* 11E4A0 802B4E90 E4900020 */ swc1 $f16, 0x20($a0) -/* 11E4A4 802B4E94 C480003C */ lwc1 $f0, 0x3c($a0) -.L802B4E98: -/* 11E4A8 802B4E98 24020001 */ li $v0, 1 -/* 11E4AC 802B4E9C 4602003C */ c.lt.s $f0, $f2 -/* 11E4B0 802B4EA0 00000000 */ nop -/* 11E4B4 802B4EA4 45020014 */ bc1fl .L802B4EF8 -/* 11E4B8 802B4EA8 C4800040 */ lwc1 $f0, 0x40($a0) -/* 11E4BC 802B4EAC 948F0030 */ lhu $t7, 0x30($a0) -/* 11E4C0 802B4EB0 544F0011 */ bnel $v0, $t7, .L802B4EF8 -/* 11E4C4 802B4EB4 C4800040 */ lwc1 $f0, 0x40($a0) -/* 11E4C8 802B4EB8 C4840048 */ lwc1 $f4, 0x48($a0) -/* 11E4CC 802B4EBC C4860018 */ lwc1 $f6, 0x18($a0) -/* 11E4D0 802B4EC0 C490004C */ lwc1 $f16, 0x4c($a0) -/* 11E4D4 802B4EC4 46002282 */ mul.s $f10, $f4, $f0 -/* 11E4D8 802B4EC8 C492001C */ lwc1 $f18, 0x1c($a0) -/* 11E4DC 802B4ECC 46008102 */ mul.s $f4, $f16, $f0 -/* 11E4E0 802B4ED0 460A3201 */ sub.s $f8, $f6, $f10 -/* 11E4E4 802B4ED4 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 11E4E8 802B4ED8 46049181 */ sub.s $f6, $f18, $f4 -/* 11E4EC 802B4EDC E4880018 */ swc1 $f8, 0x18($a0) -/* 11E4F0 802B4EE0 C4880050 */ lwc1 $f8, 0x50($a0) -/* 11E4F4 802B4EE4 E486001C */ swc1 $f6, 0x1c($a0) -/* 11E4F8 802B4EE8 46004402 */ mul.s $f16, $f8, $f0 -/* 11E4FC 802B4EEC 46105481 */ sub.s $f18, $f10, $f16 -/* 11E500 802B4EF0 E4920020 */ swc1 $f18, 0x20($a0) -/* 11E504 802B4EF4 C4800040 */ lwc1 $f0, 0x40($a0) -.L802B4EF8: -/* 11E508 802B4EF8 4602003C */ c.lt.s $f0, $f2 -/* 11E50C 802B4EFC 00000000 */ nop -/* 11E510 802B4F00 45000013 */ bc1f .L802B4F50 -/* 11E514 802B4F04 00000000 */ nop -/* 11E518 802B4F08 94980032 */ lhu $t8, 0x32($a0) -/* 11E51C 802B4F0C 14580010 */ bne $v0, $t8, .L802B4F50 -/* 11E520 802B4F10 00000000 */ nop -/* 11E524 802B4F14 C4860054 */ lwc1 $f6, 0x54($a0) -/* 11E528 802B4F18 C4840018 */ lwc1 $f4, 0x18($a0) -/* 11E52C 802B4F1C C4920058 */ lwc1 $f18, 0x58($a0) -/* 11E530 802B4F20 46003202 */ mul.s $f8, $f6, $f0 -/* 11E534 802B4F24 C490001C */ lwc1 $f16, 0x1c($a0) -/* 11E538 802B4F28 46009182 */ mul.s $f6, $f18, $f0 -/* 11E53C 802B4F2C 46082281 */ sub.s $f10, $f4, $f8 -/* 11E540 802B4F30 C4880020 */ lwc1 $f8, 0x20($a0) -/* 11E544 802B4F34 46068101 */ sub.s $f4, $f16, $f6 -/* 11E548 802B4F38 E48A0018 */ swc1 $f10, 0x18($a0) -/* 11E54C 802B4F3C C48A005C */ lwc1 $f10, 0x5c($a0) -/* 11E550 802B4F40 E484001C */ swc1 $f4, 0x1c($a0) -/* 11E554 802B4F44 46005482 */ mul.s $f18, $f10, $f0 -/* 11E558 802B4F48 46124401 */ sub.s $f16, $f8, $f18 -/* 11E55C 802B4F4C E4900020 */ swc1 $f16, 0x20($a0) -.L802B4F50: -/* 11E560 802B4F50 03E00008 */ jr $ra -/* 11E564 802B4F54 00000000 */ nop - -/* 11E568 802B4F58 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_8029ABD4.s b/asm/non_matchings/code_actors/func_8029ABD4.s new file mode 100644 index 000000000..05e93bcf4 --- /dev/null +++ b/asm/non_matchings/code_actors/func_8029ABD4.s @@ -0,0 +1,18 @@ +glabel func_8029ABD4 +/* 1041E4 8029ABD4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 1041E8 8029ABD8 AFBF0014 */ sw $ra, 0x14($sp) +/* 1041EC 8029ABDC AFA5001C */ sw $a1, 0x1c($sp) +/* 1041F0 8029ABE0 3C018015 */ lui $at, %hi(D_80150110) # $at, 0x8015 +/* 1041F4 8029ABE4 A4200110 */ sh $zero, %lo(D_80150110)($at) +/* 1041F8 8029ABE8 0C0A7B4E */ jal func_8029ED38 +/* 1041FC 8029ABEC 24050014 */ li $a1, 20 +/* 104200 8029ABF0 000278C0 */ sll $t7, $v0, 3 +/* 104204 8029ABF4 8FBF0014 */ lw $ra, 0x14($sp) +/* 104208 8029ABF8 01E27823 */ subu $t7, $t7, $v0 +/* 10420C 8029ABFC 87AE001E */ lh $t6, 0x1e($sp) +/* 104210 8029AC00 000F7900 */ sll $t7, $t7, 4 +/* 104214 8029AC04 3C018016 */ lui $at, %hi(D_8015F9BE) # 0x8016 +/* 104218 8029AC08 002F0821 */ addu $at, $at, $t7 +/* 10421C 8029AC0C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 104220 8029AC10 03E00008 */ jr $ra +/* 104224 8029AC14 A42EF9BE */ sh $t6, %lo(D_8015F9BE)($at) # -0x642($at) diff --git a/asm/non_matchings/code_actors/func_8029B4E0.s b/asm/non_matchings/code_actors/func_8029B4E0.s deleted file mode 100644 index fefbedfe0..000000000 --- a/asm/non_matchings/code_actors/func_8029B4E0.s +++ /dev/null @@ -1,137 +0,0 @@ -glabel func_8029B4E0 -/* 104AF0 8029B4E0 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e -/* 104AF4 8029B4E4 8DCEDB40 */ lw $t6, %lo(camera1)($t6) -/* 104AF8 8029B4E8 240100B8 */ li $at, 184 -/* 104AFC 8029B4EC 27BDFEE0 */ addiu $sp, $sp, -0x120 -/* 104B00 8029B4F0 008E7823 */ subu $t7, $a0, $t6 -/* 104B04 8029B4F4 01E1001A */ div $zero, $t7, $at -/* 104B08 8029B4F8 0000C012 */ mflo $t8 -/* 104B0C 8029B4FC 0018C880 */ sll $t9, $t8, 2 -/* 104B10 8029B500 3C018015 */ lui $at, %hi(D_80150130) -/* 104B14 8029B504 00390821 */ addu $at, $at, $t9 -/* 104B18 8029B508 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 104B1C 8029B50C AFBF001C */ sw $ra, 0x1c($sp) -/* 104B20 8029B510 AFA50124 */ sw $a1, 0x124($sp) -/* 104B24 8029B514 3C01802C */ lui $at, %hi(D_802B9700) # $at, 0x802c -/* 104B28 8029B518 C4269700 */ lwc1 $f6, %lo(D_802B9700)($at) -/* 104B2C 8029B51C 94860026 */ lhu $a2, 0x26($a0) -/* 104B30 8029B520 24A50018 */ addiu $a1, $a1, 0x18 -/* 104B34 8029B524 3C07451C */ lui $a3, (0x451C4000 >> 16) # lui $a3, 0x451c -/* 104B38 8029B528 34E74000 */ ori $a3, (0x451C4000 & 0xFFFF) # ori $a3, $a3, 0x4000 -/* 104B3C 8029B52C AFA50024 */ sw $a1, 0x24($sp) -/* 104B40 8029B530 E7A40010 */ swc1 $f4, 0x10($sp) -/* 104B44 8029B534 0C0AE034 */ jal func_802B80D0 -/* 104B48 8029B538 E7A60014 */ swc1 $f6, 0x14($sp) -/* 104B4C 8029B53C 44804000 */ mtc1 $zero, $f8 -/* 104B50 8029B540 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 104B54 8029B544 3C0ABB00 */ lui $t2, (0xBB000001 >> 16) # lui $t2, 0xbb00 -/* 104B58 8029B548 4608003C */ c.lt.s $f0, $f8 -/* 104B5C 8029B54C 8FA50024 */ lw $a1, 0x24($sp) -/* 104B60 8029B550 46000086 */ mov.s $f2, $f0 -/* 104B64 8029B554 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 104B68 8029B558 45010060 */ bc1t .L8029B6DC -/* 104B6C 8029B55C 354A0001 */ ori $t2, (0xBB000001 & 0xFFFF) # ori $t2, $t2, 1 -/* 104B70 8029B560 8C620000 */ lw $v0, ($v1) -/* 104B74 8029B564 240BFFFF */ li $t3, -1 -/* 104B78 8029B568 3C0DB600 */ lui $t5, 0xb600 -/* 104B7C 8029B56C 24490008 */ addiu $t1, $v0, 8 -/* 104B80 8029B570 AC690000 */ sw $t1, ($v1) -/* 104B84 8029B574 AC4B0004 */ sw $t3, 4($v0) -/* 104B88 8029B578 AC4A0000 */ sw $t2, ($v0) -/* 104B8C 8029B57C 8C620000 */ lw $v0, ($v1) -/* 104B90 8029B580 3C0E0002 */ lui $t6, 2 -/* 104B94 8029B584 27A400C8 */ addiu $a0, $sp, 0xc8 -/* 104B98 8029B588 244C0008 */ addiu $t4, $v0, 8 -/* 104B9C 8029B58C AC6C0000 */ sw $t4, ($v1) -/* 104BA0 8029B590 AC4E0004 */ sw $t6, 4($v0) -/* 104BA4 8029B594 AC4D0000 */ sw $t5, ($v0) -/* 104BA8 8029B598 8FA60124 */ lw $a2, 0x124($sp) -/* 104BAC 8029B59C E7A20044 */ swc1 $f2, 0x44($sp) -/* 104BB0 8029B5A0 0C0AD7DD */ jal func_802B5F74 -/* 104BB4 8029B5A4 24C60010 */ addiu $a2, $a2, 0x10 -/* 104BB8 8029B5A8 3C053DCC */ lui $a1, (0x3DCCCCCD >> 16) # lui $a1, 0x3dcc -/* 104BBC 8029B5AC 34A5CCCD */ ori $a1, (0x3DCCCCCD & 0xFFFF) # ori $a1, $a1, 0xcccd -/* 104BC0 8029B5B0 0C0AD7C0 */ jal func_802B5F00 -/* 104BC4 8029B5B4 27A400C8 */ addiu $a0, $sp, 0xc8 -/* 104BC8 8029B5B8 27A400C8 */ addiu $a0, $sp, 0xc8 -/* 104BCC 8029B5BC 0C0AD3FE */ jal func_802B4FF8 -/* 104BD0 8029B5C0 00002825 */ move $a1, $zero -/* 104BD4 8029B5C4 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 104BD8 8029B5C8 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 104BDC 8029B5CC 10400043 */ beqz $v0, .L8029B6DC -/* 104BE0 8029B5D0 C7A20044 */ lwc1 $f2, 0x44($sp) -/* 104BE4 8029B5D4 3C0F800E */ lui $t7, %hi(gActiveScreenMode) # $t7, 0x800e -/* 104BE8 8029B5D8 8DEFC52C */ lw $t7, %lo(gActiveScreenMode)($t7) -/* 104BEC 8029B5DC 3C01802C */ lui $at, %hi(D_802B970C) -/* 104BF0 8029B5E0 15E00028 */ bnez $t7, .L8029B684 -/* 104BF4 8029B5E4 00000000 */ nop -/* 104BF8 8029B5E8 3C01802C */ lui $at, %hi(D_802B9704) # $at, 0x802c -/* 104BFC 8029B5EC C42A9704 */ lwc1 $f10, %lo(D_802B9704)($at) -/* 104C00 8029B5F0 3C190600 */ lui $t9, 0x600 -/* 104C04 8029B5F4 3C01802C */ lui $at, %hi(D_802B9708) # $at, 0x802c -/* 104C08 8029B5F8 460A103C */ c.lt.s $f2, $f10 -/* 104C0C 8029B5FC 00000000 */ nop -/* 104C10 8029B600 45000009 */ bc1f .L8029B628 -/* 104C14 8029B604 00000000 */ nop -/* 104C18 8029B608 8C620000 */ lw $v0, ($v1) -/* 104C1C 8029B60C 3C090900 */ lui $t1, %hi(toads_turnpike_dl_9) # $t1, 0x900 -/* 104C20 8029B610 25290350 */ addiu $t1, %lo(toads_turnpike_dl_9) # addiu $t1, $t1, 0x350 -/* 104C24 8029B614 24580008 */ addiu $t8, $v0, 8 -/* 104C28 8029B618 AC780000 */ sw $t8, ($v1) -/* 104C2C 8029B61C AC490004 */ sw $t1, 4($v0) -/* 104C30 8029B620 1000002E */ b .L8029B6DC -/* 104C34 8029B624 AC590000 */ sw $t9, ($v0) -.L8029B628: -/* 104C38 8029B628 C4309708 */ lwc1 $f16, %lo(D_802B9708)($at) -/* 104C3C 8029B62C 3C0B0600 */ lui $t3, 0x600 -/* 104C40 8029B630 3C0E0600 */ lui $t6, 0x600 -/* 104C44 8029B634 4610103C */ c.lt.s $f2, $f16 -/* 104C48 8029B638 00000000 */ nop -/* 104C4C 8029B63C 4502000A */ bc1fl .L8029B668 -/* 104C50 8029B640 8C620000 */ lw $v0, ($v1) -/* 104C54 8029B644 8C620000 */ lw $v0, ($v1) -/* 104C58 8029B648 3C0C0900 */ lui $t4, %hi(toads_turnpike_dl_10) # $t4, 0x900 -/* 104C5C 8029B64C 258C0388 */ addiu $t4, %lo(toads_turnpike_dl_10) # addiu $t4, $t4, 0x388 -/* 104C60 8029B650 244A0008 */ addiu $t2, $v0, 8 -/* 104C64 8029B654 AC6A0000 */ sw $t2, ($v1) -/* 104C68 8029B658 AC4C0004 */ sw $t4, 4($v0) -/* 104C6C 8029B65C 1000001F */ b .L8029B6DC -/* 104C70 8029B660 AC4B0000 */ sw $t3, ($v0) -/* 104C74 8029B664 8C620000 */ lw $v0, ($v1) -.L8029B668: -/* 104C78 8029B668 3C0F0900 */ lui $t7, %hi(toads_turnpike_dl_11) # $t7, 0x900 -/* 104C7C 8029B66C 25EF03C0 */ addiu $t7, %lo(toads_turnpike_dl_11) # addiu $t7, $t7, 0x3c0 -/* 104C80 8029B670 244D0008 */ addiu $t5, $v0, 8 -/* 104C84 8029B674 AC6D0000 */ sw $t5, ($v1) -/* 104C88 8029B678 AC4F0004 */ sw $t7, 4($v0) -/* 104C8C 8029B67C 10000017 */ b .L8029B6DC -/* 104C90 8029B680 AC4E0000 */ sw $t6, ($v0) -.L8029B684: -/* 104C94 8029B684 C432970C */ lwc1 $f18, %lo(D_802B970C)($at) -/* 104C98 8029B688 3C190600 */ lui $t9, 0x600 -/* 104C9C 8029B68C 3C0B0600 */ lui $t3, 0x600 -/* 104CA0 8029B690 4612103C */ c.lt.s $f2, $f18 -/* 104CA4 8029B694 00000000 */ nop -/* 104CA8 8029B698 4502000A */ bc1fl .L8029B6C4 -/* 104CAC 8029B69C 8C620000 */ lw $v0, ($v1) -/* 104CB0 8029B6A0 8C620000 */ lw $v0, ($v1) -/* 104CB4 8029B6A4 3C090900 */ lui $t1, %hi(toads_turnpike_dl_10) # $t1, 0x900 -/* 104CB8 8029B6A8 25290388 */ addiu $t1, %lo(toads_turnpike_dl_10) # addiu $t1, $t1, 0x388 -/* 104CBC 8029B6AC 24580008 */ addiu $t8, $v0, 8 -/* 104CC0 8029B6B0 AC780000 */ sw $t8, ($v1) -/* 104CC4 8029B6B4 AC490004 */ sw $t1, 4($v0) -/* 104CC8 8029B6B8 10000008 */ b .L8029B6DC -/* 104CCC 8029B6BC AC590000 */ sw $t9, ($v0) -/* 104CD0 8029B6C0 8C620000 */ lw $v0, ($v1) -.L8029B6C4: -/* 104CD4 8029B6C4 3C0C0900 */ lui $t4, %hi(toads_turnpike_dl_11) # $t4, 0x900 -/* 104CD8 8029B6C8 258C03C0 */ addiu $t4, %lo(toads_turnpike_dl_11) # addiu $t4, $t4, 0x3c0 -/* 104CDC 8029B6CC 244A0008 */ addiu $t2, $v0, 8 -/* 104CE0 8029B6D0 AC6A0000 */ sw $t2, ($v1) -/* 104CE4 8029B6D4 AC4C0004 */ sw $t4, 4($v0) -/* 104CE8 8029B6D8 AC4B0000 */ sw $t3, ($v0) -.L8029B6DC: -/* 104CEC 8029B6DC 8FBF001C */ lw $ra, 0x1c($sp) -/* 104CF0 8029B6E0 27BD0120 */ addiu $sp, $sp, 0x120 -/* 104CF4 8029B6E4 03E00008 */ jr $ra -/* 104CF8 8029B6E8 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_8029B6EC.s b/asm/non_matchings/code_actors/func_8029B6EC.s deleted file mode 100644 index c43229619..000000000 --- a/asm/non_matchings/code_actors/func_8029B6EC.s +++ /dev/null @@ -1,133 +0,0 @@ -glabel func_8029B6EC -/* 104CFC 8029B6EC 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e -/* 104D00 8029B6F0 8DCEDB40 */ lw $t6, %lo(camera1)($t6) -/* 104D04 8029B6F4 240100B8 */ li $at, 184 -/* 104D08 8029B6F8 27BDFEE0 */ addiu $sp, $sp, -0x120 -/* 104D0C 8029B6FC 008E7823 */ subu $t7, $a0, $t6 -/* 104D10 8029B700 01E1001A */ div $zero, $t7, $at -/* 104D14 8029B704 0000C012 */ mflo $t8 -/* 104D18 8029B708 0018C880 */ sll $t9, $t8, 2 -/* 104D1C 8029B70C 3C018015 */ lui $at, %hi(D_80150130) -/* 104D20 8029B710 00390821 */ addu $at, $at, $t9 -/* 104D24 8029B714 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 104D28 8029B718 AFBF001C */ sw $ra, 0x1c($sp) -/* 104D2C 8029B71C AFA50124 */ sw $a1, 0x124($sp) -/* 104D30 8029B720 3C01802C */ lui $at, %hi(D_802B9710) # $at, 0x802c -/* 104D34 8029B724 C4269710 */ lwc1 $f6, %lo(D_802B9710)($at) -/* 104D38 8029B728 94860026 */ lhu $a2, 0x26($a0) -/* 104D3C 8029B72C 24A50018 */ addiu $a1, $a1, 0x18 -/* 104D40 8029B730 3C07451C */ lui $a3, (0x451C4000 >> 16) # lui $a3, 0x451c -/* 104D44 8029B734 34E74000 */ ori $a3, (0x451C4000 & 0xFFFF) # ori $a3, $a3, 0x4000 -/* 104D48 8029B738 AFA50024 */ sw $a1, 0x24($sp) -/* 104D4C 8029B73C E7A40010 */ swc1 $f4, 0x10($sp) -/* 104D50 8029B740 0C0AE034 */ jal func_802B80D0 -/* 104D54 8029B744 E7A60014 */ swc1 $f6, 0x14($sp) -/* 104D58 8029B748 44804000 */ mtc1 $zero, $f8 -/* 104D5C 8029B74C 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 104D60 8029B750 3C0ABB00 */ lui $t2, (0xBB000001 >> 16) # lui $t2, 0xbb00 -/* 104D64 8029B754 4608003C */ c.lt.s $f0, $f8 -/* 104D68 8029B758 8FA50024 */ lw $a1, 0x24($sp) -/* 104D6C 8029B75C 46000086 */ mov.s $f2, $f0 -/* 104D70 8029B760 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 104D74 8029B764 4501005C */ bc1t .L8029B8D8 -/* 104D78 8029B768 354A0001 */ ori $t2, (0xBB000001 & 0xFFFF) # ori $t2, $t2, 1 -/* 104D7C 8029B76C 8C620000 */ lw $v0, ($v1) -/* 104D80 8029B770 240BFFFF */ li $t3, -1 -/* 104D84 8029B774 3C0DB600 */ lui $t5, 0xb600 -/* 104D88 8029B778 24490008 */ addiu $t1, $v0, 8 -/* 104D8C 8029B77C AC690000 */ sw $t1, ($v1) -/* 104D90 8029B780 AC4B0004 */ sw $t3, 4($v0) -/* 104D94 8029B784 AC4A0000 */ sw $t2, ($v0) -/* 104D98 8029B788 8C620000 */ lw $v0, ($v1) -/* 104D9C 8029B78C 3C0E0002 */ lui $t6, 2 -/* 104DA0 8029B790 27A400C8 */ addiu $a0, $sp, 0xc8 -/* 104DA4 8029B794 244C0008 */ addiu $t4, $v0, 8 -/* 104DA8 8029B798 AC6C0000 */ sw $t4, ($v1) -/* 104DAC 8029B79C AC4E0004 */ sw $t6, 4($v0) -/* 104DB0 8029B7A0 AC4D0000 */ sw $t5, ($v0) -/* 104DB4 8029B7A4 8FA60124 */ lw $a2, 0x124($sp) -/* 104DB8 8029B7A8 E7A20044 */ swc1 $f2, 0x44($sp) -/* 104DBC 8029B7AC 0C0AD7DD */ jal func_802B5F74 -/* 104DC0 8029B7B0 24C60010 */ addiu $a2, $a2, 0x10 -/* 104DC4 8029B7B4 27A400C8 */ addiu $a0, $sp, 0xc8 -/* 104DC8 8029B7B8 0C0AD3FE */ jal func_802B4FF8 -/* 104DCC 8029B7BC 00002825 */ move $a1, $zero -/* 104DD0 8029B7C0 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 104DD4 8029B7C4 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 104DD8 8029B7C8 10400043 */ beqz $v0, .L8029B8D8 -/* 104DDC 8029B7CC C7A20044 */ lwc1 $f2, 0x44($sp) -/* 104DE0 8029B7D0 3C0F800E */ lui $t7, %hi(gActiveScreenMode) # $t7, 0x800e -/* 104DE4 8029B7D4 8DEFC52C */ lw $t7, %lo(gActiveScreenMode)($t7) -/* 104DE8 8029B7D8 3C01802C */ lui $at, %hi(D_802B971C) -/* 104DEC 8029B7DC 15E00028 */ bnez $t7, .L8029B880 -/* 104DF0 8029B7E0 00000000 */ nop -/* 104DF4 8029B7E4 3C01802C */ lui $at, %hi(D_802B9714) # $at, 0x802c -/* 104DF8 8029B7E8 C42A9714 */ lwc1 $f10, %lo(D_802B9714)($at) -/* 104DFC 8029B7EC 3C190600 */ lui $t9, 0x600 -/* 104E00 8029B7F0 3C01802C */ lui $at, %hi(D_802B9718) # $at, 0x802c -/* 104E04 8029B7F4 460A103C */ c.lt.s $f2, $f10 -/* 104E08 8029B7F8 00000000 */ nop -/* 104E0C 8029B7FC 45000009 */ bc1f .L8029B824 -/* 104E10 8029B800 00000000 */ nop -/* 104E14 8029B804 8C620000 */ lw $v0, ($v1) -/* 104E18 8029B808 3C090900 */ lui $t1, %hi(toads_turnpike_dl_6) # $t1, 0x900 -/* 104E1C 8029B80C 252902A0 */ addiu $t1, %lo(toads_turnpike_dl_6) # addiu $t1, $t1, 0x2a0 -/* 104E20 8029B810 24580008 */ addiu $t8, $v0, 8 -/* 104E24 8029B814 AC780000 */ sw $t8, ($v1) -/* 104E28 8029B818 AC490004 */ sw $t1, 4($v0) -/* 104E2C 8029B81C 1000002E */ b .L8029B8D8 -/* 104E30 8029B820 AC590000 */ sw $t9, ($v0) -.L8029B824: -/* 104E34 8029B824 C4309718 */ lwc1 $f16, %lo(D_802B9718)($at) -/* 104E38 8029B828 3C0B0600 */ lui $t3, 0x600 -/* 104E3C 8029B82C 3C0E0600 */ lui $t6, 0x600 -/* 104E40 8029B830 4610103C */ c.lt.s $f2, $f16 -/* 104E44 8029B834 00000000 */ nop -/* 104E48 8029B838 4502000A */ bc1fl .L8029B864 -/* 104E4C 8029B83C 8C620000 */ lw $v0, ($v1) -/* 104E50 8029B840 8C620000 */ lw $v0, ($v1) -/* 104E54 8029B844 3C0C0900 */ lui $t4, %hi(toads_turnpike_dl_7) # $t4, 0x900 -/* 104E58 8029B848 258C02D8 */ addiu $t4, %lo(toads_turnpike_dl_7) # addiu $t4, $t4, 0x2d8 -/* 104E5C 8029B84C 244A0008 */ addiu $t2, $v0, 8 -/* 104E60 8029B850 AC6A0000 */ sw $t2, ($v1) -/* 104E64 8029B854 AC4C0004 */ sw $t4, 4($v0) -/* 104E68 8029B858 1000001F */ b .L8029B8D8 -/* 104E6C 8029B85C AC4B0000 */ sw $t3, ($v0) -/* 104E70 8029B860 8C620000 */ lw $v0, ($v1) -.L8029B864: -/* 104E74 8029B864 3C0F0900 */ lui $t7, %hi(toads_turnpike_dl_8) # $t7, 0x900 -/* 104E78 8029B868 25EF0310 */ addiu $t7, %lo(toads_turnpike_dl_8) # addiu $t7, $t7, 0x310 -/* 104E7C 8029B86C 244D0008 */ addiu $t5, $v0, 8 -/* 104E80 8029B870 AC6D0000 */ sw $t5, ($v1) -/* 104E84 8029B874 AC4F0004 */ sw $t7, 4($v0) -/* 104E88 8029B878 10000017 */ b .L8029B8D8 -/* 104E8C 8029B87C AC4E0000 */ sw $t6, ($v0) -.L8029B880: -/* 104E90 8029B880 C432971C */ lwc1 $f18, %lo(D_802B971C)($at) -/* 104E94 8029B884 3C190600 */ lui $t9, 0x600 -/* 104E98 8029B888 3C0B0600 */ lui $t3, 0x600 -/* 104E9C 8029B88C 4612103C */ c.lt.s $f2, $f18 -/* 104EA0 8029B890 00000000 */ nop -/* 104EA4 8029B894 4502000A */ bc1fl .L8029B8C0 -/* 104EA8 8029B898 8C620000 */ lw $v0, ($v1) -/* 104EAC 8029B89C 8C620000 */ lw $v0, ($v1) -/* 104EB0 8029B8A0 3C090900 */ lui $t1, %hi(toads_turnpike_dl_7) # $t1, 0x900 -/* 104EB4 8029B8A4 252902D8 */ addiu $t1, %lo(toads_turnpike_dl_7) # addiu $t1, $t1, 0x2d8 -/* 104EB8 8029B8A8 24580008 */ addiu $t8, $v0, 8 -/* 104EBC 8029B8AC AC780000 */ sw $t8, ($v1) -/* 104EC0 8029B8B0 AC490004 */ sw $t1, 4($v0) -/* 104EC4 8029B8B4 10000008 */ b .L8029B8D8 -/* 104EC8 8029B8B8 AC590000 */ sw $t9, ($v0) -/* 104ECC 8029B8BC 8C620000 */ lw $v0, ($v1) -.L8029B8C0: -/* 104ED0 8029B8C0 3C0C0900 */ lui $t4, %hi(toads_turnpike_dl_8) # $t4, 0x900 -/* 104ED4 8029B8C4 258C0310 */ addiu $t4, %lo(toads_turnpike_dl_8) # addiu $t4, $t4, 0x310 -/* 104ED8 8029B8C8 244A0008 */ addiu $t2, $v0, 8 -/* 104EDC 8029B8CC AC6A0000 */ sw $t2, ($v1) -/* 104EE0 8029B8D0 AC4C0004 */ sw $t4, 4($v0) -/* 104EE4 8029B8D4 AC4B0000 */ sw $t3, ($v0) -.L8029B8D8: -/* 104EE8 8029B8D8 8FBF001C */ lw $ra, 0x1c($sp) -/* 104EEC 8029B8DC 27BD0120 */ addiu $sp, $sp, 0x120 -/* 104EF0 8029B8E0 03E00008 */ jr $ra -/* 104EF4 8029B8E4 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_8029FB80.s b/asm/non_matchings/code_actors/func_8029FB80.s deleted file mode 100644 index 2b78149eb..000000000 --- a/asm/non_matchings/code_actors/func_8029FB80.s +++ /dev/null @@ -1,90 +0,0 @@ -glabel func_8029FB80 -/* 109190 8029FB80 C4840070 */ lwc1 $f4, 0x70($a0) -/* 109194 8029FB84 C4A6000C */ lwc1 $f6, 0xc($a1) -/* 109198 8029FB88 C4A80018 */ lwc1 $f8, 0x18($a1) -/* 10919C 8029FB8C C48A0014 */ lwc1 $f10, 0x14($a0) -/* 1091A0 8029FB90 46062000 */ add.s $f0, $f4, $f6 -/* 1091A4 8029FB94 460A4081 */ sub.s $f2, $f8, $f10 -/* 1091A8 8029FB98 4602003C */ c.lt.s $f0, $f2 -/* 1091AC 8029FB9C 00000000 */ nop -/* 1091B0 8029FBA0 45020004 */ bc1fl .L8029FBB4 -/* 1091B4 8029FBA4 46000307 */ neg.s $f12, $f0 -/* 1091B8 8029FBA8 03E00008 */ jr $ra -/* 1091BC 8029FBAC 00001025 */ move $v0, $zero - -/* 1091C0 8029FBB0 46000307 */ neg.s $f12, $f0 -.L8029FBB4: -/* 1091C4 8029FBB4 460C103C */ c.lt.s $f2, $f12 -/* 1091C8 8029FBB8 00000000 */ nop -/* 1091CC 8029FBBC 45020004 */ bc1fl .L8029FBD0 -/* 1091D0 8029FBC0 C4B2001C */ lwc1 $f18, 0x1c($a1) -/* 1091D4 8029FBC4 03E00008 */ jr $ra -/* 1091D8 8029FBC8 00001025 */ move $v0, $zero - -/* 1091DC 8029FBCC C4B2001C */ lwc1 $f18, 0x1c($a1) -.L8029FBD0: -/* 1091E0 8029FBD0 C4840018 */ lwc1 $f4, 0x18($a0) -/* 1091E4 8029FBD4 46049381 */ sub.s $f14, $f18, $f4 -/* 1091E8 8029FBD8 460E003C */ c.lt.s $f0, $f14 -/* 1091EC 8029FBDC 00000000 */ nop -/* 1091F0 8029FBE0 45020004 */ bc1fl .L8029FBF4 -/* 1091F4 8029FBE4 460C703C */ c.lt.s $f14, $f12 -/* 1091F8 8029FBE8 03E00008 */ jr $ra -/* 1091FC 8029FBEC 00001025 */ move $v0, $zero - -/* 109200 8029FBF0 460C703C */ c.lt.s $f14, $f12 -.L8029FBF4: -/* 109204 8029FBF4 00000000 */ nop -/* 109208 8029FBF8 45020004 */ bc1fl .L8029FC0C -/* 10920C 8029FBFC C4A60020 */ lwc1 $f6, 0x20($a1) -/* 109210 8029FC00 03E00008 */ jr $ra -/* 109214 8029FC04 00001025 */ move $v0, $zero - -/* 109218 8029FC08 C4A60020 */ lwc1 $f6, 0x20($a1) -.L8029FC0C: -/* 10921C 8029FC0C C488001C */ lwc1 $f8, 0x1c($a0) -/* 109220 8029FC10 46083401 */ sub.s $f16, $f6, $f8 -/* 109224 8029FC14 4610003C */ c.lt.s $f0, $f16 -/* 109228 8029FC18 00000000 */ nop -/* 10922C 8029FC1C 45020004 */ bc1fl .L8029FC30 -/* 109230 8029FC20 460C803C */ c.lt.s $f16, $f12 -/* 109234 8029FC24 03E00008 */ jr $ra -/* 109238 8029FC28 00001025 */ move $v0, $zero - -/* 10923C 8029FC2C 460C803C */ c.lt.s $f16, $f12 -.L8029FC30: -/* 109240 8029FC30 00000000 */ nop -/* 109244 8029FC34 45000003 */ bc1f .L8029FC44 -/* 109248 8029FC38 00000000 */ nop -/* 10924C 8029FC3C 03E00008 */ jr $ra -/* 109250 8029FC40 00001025 */ move $v0, $zero - -.L8029FC44: -/* 109254 8029FC44 46021282 */ mul.s $f10, $f2, $f2 -/* 109258 8029FC48 3C01802C */ lui $at, %hi(D_802B98AC) # $at, 0x802c -/* 10925C 8029FC4C C42898AC */ lwc1 $f8, %lo(D_802B98AC)($at) -/* 109260 8029FC50 460E7482 */ mul.s $f18, $f14, $f14 -/* 109264 8029FC54 00001025 */ move $v0, $zero -/* 109268 8029FC58 46108182 */ mul.s $f6, $f16, $f16 -/* 10926C 8029FC5C 46125100 */ add.s $f4, $f10, $f18 -/* 109270 8029FC60 46062300 */ add.s $f12, $f4, $f6 -/* 109274 8029FC64 4608603C */ c.lt.s $f12, $f8 -/* 109278 8029FC68 00000000 */ nop -/* 10927C 8029FC6C 45000003 */ bc1f .L8029FC7C -/* 109280 8029FC70 00000000 */ nop -/* 109284 8029FC74 03E00008 */ jr $ra -/* 109288 8029FC78 00000000 */ nop - -.L8029FC7C: -/* 10928C 8029FC7C 46000282 */ mul.s $f10, $f0, $f0 -/* 109290 8029FC80 24020001 */ li $v0, 1 -/* 109294 8029FC84 460C503C */ c.lt.s $f10, $f12 -/* 109298 8029FC88 00000000 */ nop -/* 10929C 8029FC8C 45000003 */ bc1f .L8029FC9C -/* 1092A0 8029FC90 00000000 */ nop -/* 1092A4 8029FC94 03E00008 */ jr $ra -/* 1092A8 8029FC98 00001025 */ move $v0, $zero - -.L8029FC9C: -/* 1092AC 8029FC9C 03E00008 */ jr $ra -/* 1092B0 8029FCA0 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_8029FCA4.s b/asm/non_matchings/code_actors/func_8029FCA4.s deleted file mode 100644 index 0f6d9c094..000000000 --- a/asm/non_matchings/code_actors/func_8029FCA4.s +++ /dev/null @@ -1,90 +0,0 @@ -glabel func_8029FCA4 -/* 1092B4 8029FCA4 C484000C */ lwc1 $f4, 0xc($a0) -/* 1092B8 8029FCA8 C4A6000C */ lwc1 $f6, 0xc($a1) -/* 1092BC 8029FCAC C4880018 */ lwc1 $f8, 0x18($a0) -/* 1092C0 8029FCB0 C4AA0018 */ lwc1 $f10, 0x18($a1) -/* 1092C4 8029FCB4 46062000 */ add.s $f0, $f4, $f6 -/* 1092C8 8029FCB8 460A4081 */ sub.s $f2, $f8, $f10 -/* 1092CC 8029FCBC 4602003C */ c.lt.s $f0, $f2 -/* 1092D0 8029FCC0 00000000 */ nop -/* 1092D4 8029FCC4 45020004 */ bc1fl .L8029FCD8 -/* 1092D8 8029FCC8 46000307 */ neg.s $f12, $f0 -/* 1092DC 8029FCCC 03E00008 */ jr $ra -/* 1092E0 8029FCD0 00001025 */ move $v0, $zero - -/* 1092E4 8029FCD4 46000307 */ neg.s $f12, $f0 -.L8029FCD8: -/* 1092E8 8029FCD8 460C103C */ c.lt.s $f2, $f12 -/* 1092EC 8029FCDC 00000000 */ nop -/* 1092F0 8029FCE0 45020004 */ bc1fl .L8029FCF4 -/* 1092F4 8029FCE4 C492001C */ lwc1 $f18, 0x1c($a0) -/* 1092F8 8029FCE8 03E00008 */ jr $ra -/* 1092FC 8029FCEC 00001025 */ move $v0, $zero - -/* 109300 8029FCF0 C492001C */ lwc1 $f18, 0x1c($a0) -.L8029FCF4: -/* 109304 8029FCF4 C4A4001C */ lwc1 $f4, 0x1c($a1) -/* 109308 8029FCF8 46049381 */ sub.s $f14, $f18, $f4 -/* 10930C 8029FCFC 460E003C */ c.lt.s $f0, $f14 -/* 109310 8029FD00 00000000 */ nop -/* 109314 8029FD04 45020004 */ bc1fl .L8029FD18 -/* 109318 8029FD08 460C703C */ c.lt.s $f14, $f12 -/* 10931C 8029FD0C 03E00008 */ jr $ra -/* 109320 8029FD10 00001025 */ move $v0, $zero - -/* 109324 8029FD14 460C703C */ c.lt.s $f14, $f12 -.L8029FD18: -/* 109328 8029FD18 00000000 */ nop -/* 10932C 8029FD1C 45020004 */ bc1fl .L8029FD30 -/* 109330 8029FD20 C4860020 */ lwc1 $f6, 0x20($a0) -/* 109334 8029FD24 03E00008 */ jr $ra -/* 109338 8029FD28 00001025 */ move $v0, $zero - -/* 10933C 8029FD2C C4860020 */ lwc1 $f6, 0x20($a0) -.L8029FD30: -/* 109340 8029FD30 C4A80020 */ lwc1 $f8, 0x20($a1) -/* 109344 8029FD34 46083401 */ sub.s $f16, $f6, $f8 -/* 109348 8029FD38 4610003C */ c.lt.s $f0, $f16 -/* 10934C 8029FD3C 00000000 */ nop -/* 109350 8029FD40 45020004 */ bc1fl .L8029FD54 -/* 109354 8029FD44 460C803C */ c.lt.s $f16, $f12 -/* 109358 8029FD48 03E00008 */ jr $ra -/* 10935C 8029FD4C 00001025 */ move $v0, $zero - -/* 109360 8029FD50 460C803C */ c.lt.s $f16, $f12 -.L8029FD54: -/* 109364 8029FD54 00000000 */ nop -/* 109368 8029FD58 45000003 */ bc1f .L8029FD68 -/* 10936C 8029FD5C 00000000 */ nop -/* 109370 8029FD60 03E00008 */ jr $ra -/* 109374 8029FD64 00001025 */ move $v0, $zero - -.L8029FD68: -/* 109378 8029FD68 46021282 */ mul.s $f10, $f2, $f2 -/* 10937C 8029FD6C 3C01802C */ lui $at, %hi(D_802B98B0) # $at, 0x802c -/* 109380 8029FD70 C42898B0 */ lwc1 $f8, %lo(D_802B98B0)($at) -/* 109384 8029FD74 460E7482 */ mul.s $f18, $f14, $f14 -/* 109388 8029FD78 00001025 */ move $v0, $zero -/* 10938C 8029FD7C 46108182 */ mul.s $f6, $f16, $f16 -/* 109390 8029FD80 46125100 */ add.s $f4, $f10, $f18 -/* 109394 8029FD84 46062300 */ add.s $f12, $f4, $f6 -/* 109398 8029FD88 4608603C */ c.lt.s $f12, $f8 -/* 10939C 8029FD8C 00000000 */ nop -/* 1093A0 8029FD90 45000003 */ bc1f .L8029FDA0 -/* 1093A4 8029FD94 00000000 */ nop -/* 1093A8 8029FD98 03E00008 */ jr $ra -/* 1093AC 8029FD9C 00000000 */ nop - -.L8029FDA0: -/* 1093B0 8029FDA0 46000282 */ mul.s $f10, $f0, $f0 -/* 1093B4 8029FDA4 24020001 */ li $v0, 1 -/* 1093B8 8029FDA8 460C503C */ c.lt.s $f10, $f12 -/* 1093BC 8029FDAC 00000000 */ nop -/* 1093C0 8029FDB0 45000003 */ bc1f .L8029FDC0 -/* 1093C4 8029FDB4 00000000 */ nop -/* 1093C8 8029FDB8 03E00008 */ jr $ra -/* 1093CC 8029FDBC 00001025 */ move $v0, $zero - -.L8029FDC0: -/* 1093D0 8029FDC0 03E00008 */ jr $ra -/* 1093D4 8029FDC4 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_802A00E8.s b/asm/non_matchings/code_actors/func_802A00E8.s deleted file mode 100644 index addeade17..000000000 --- a/asm/non_matchings/code_actors/func_802A00E8.s +++ /dev/null @@ -1,170 +0,0 @@ -glabel func_802A00E8 -/* 1096F8 802A00E8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 1096FC 802A00EC AFBF001C */ sw $ra, 0x1c($sp) -/* 109700 802A00F0 AFB00018 */ sw $s0, 0x18($sp) -/* 109704 802A00F4 84820000 */ lh $v0, ($a0) -/* 109708 802A00F8 24030007 */ li $v1, 7 -/* 10970C 802A00FC 00A08025 */ move $s0, $a1 -/* 109710 802A0100 1043000A */ beq $v0, $v1, .L802A012C -/* 109714 802A0104 00803825 */ move $a3, $a0 -/* 109718 802A0108 24010008 */ li $at, 8 -/* 10971C 802A010C 10410016 */ beq $v0, $at, .L802A0168 -/* 109720 802A0110 2401000D */ li $at, 13 -/* 109724 802A0114 10410030 */ beq $v0, $at, .L802A01D8 -/* 109728 802A0118 2401002A */ li $at, 42 -/* 10972C 802A011C 50410022 */ beql $v0, $at, .L802A01A8 -/* 109730 802A0120 84E80006 */ lh $t0, 6($a3) -/* 109734 802A0124 1000003A */ b .L802A0210 -/* 109738 802A0128 86020000 */ lh $v0, ($s0) -.L802A012C: -/* 10973C 802A012C 84E20006 */ lh $v0, 6($a3) -/* 109740 802A0130 24010004 */ li $at, 4 -/* 109744 802A0134 24E40018 */ addiu $a0, $a3, 0x18 -/* 109748 802A0138 10400003 */ beqz $v0, .L802A0148 -/* 10974C 802A013C 24E50024 */ addiu $a1, $a3, 0x24 -/* 109750 802A0140 54410033 */ bnel $v0, $at, .L802A0210 -/* 109754 802A0144 86020000 */ lh $v0, ($s0) -.L802A0148: -/* 109758 802A0148 84EE0002 */ lh $t6, 2($a3) -/* 10975C 802A014C 3C061901 */ lui $a2, (0x19019053 >> 16) # lui $a2, 0x1901 -/* 109760 802A0150 34C69053 */ ori $a2, (0x19019053 & 0xFFFF) # ori $a2, $a2, 0x9053 -/* 109764 802A0154 35CF0200 */ ori $t7, $t6, 0x200 -/* 109768 802A0158 0C03262E */ jal func_800C98B8 -/* 10976C 802A015C A4EF0002 */ sh $t7, 2($a3) -/* 109770 802A0160 10000077 */ b .L802A0340 -/* 109774 802A0164 8FBF001C */ lw $ra, 0x1c($sp) -.L802A0168: -/* 109778 802A0168 84E20006 */ lh $v0, 6($a3) -/* 10977C 802A016C 24010006 */ li $at, 6 -/* 109780 802A0170 24E40018 */ addiu $a0, $a3, 0x18 -/* 109784 802A0174 10400003 */ beqz $v0, .L802A0184 -/* 109788 802A0178 24E50024 */ addiu $a1, $a3, 0x24 -/* 10978C 802A017C 54410024 */ bnel $v0, $at, .L802A0210 -/* 109790 802A0180 86020000 */ lh $v0, ($s0) -.L802A0184: -/* 109794 802A0184 84F80002 */ lh $t8, 2($a3) -/* 109798 802A0188 3C061901 */ lui $a2, (0x19019053 >> 16) # lui $a2, 0x1901 -/* 10979C 802A018C 34C69053 */ ori $a2, (0x19019053 & 0xFFFF) # ori $a2, $a2, 0x9053 -/* 1097A0 802A0190 37190200 */ ori $t9, $t8, 0x200 -/* 1097A4 802A0194 0C03262E */ jal func_800C98B8 -/* 1097A8 802A0198 A4F90002 */ sh $t9, 2($a3) -/* 1097AC 802A019C 10000068 */ b .L802A0340 -/* 1097B0 802A01A0 8FBF001C */ lw $ra, 0x1c($sp) -/* 1097B4 802A01A4 84E80006 */ lh $t0, 6($a3) -.L802A01A8: -/* 1097B8 802A01A8 24E40018 */ addiu $a0, $a3, 0x18 -/* 1097BC 802A01AC 24E50024 */ addiu $a1, $a3, 0x24 -/* 1097C0 802A01B0 55000017 */ bnel $t0, $zero, .L802A0210 -/* 1097C4 802A01B4 86020000 */ lh $v0, ($s0) -/* 1097C8 802A01B8 84E90002 */ lh $t1, 2($a3) -/* 1097CC 802A01BC 3C061901 */ lui $a2, (0x19019053 >> 16) # lui $a2, 0x1901 -/* 1097D0 802A01C0 34C69053 */ ori $a2, (0x19019053 & 0xFFFF) # ori $a2, $a2, 0x9053 -/* 1097D4 802A01C4 352A0200 */ ori $t2, $t1, 0x200 -/* 1097D8 802A01C8 0C03262E */ jal func_800C98B8 -/* 1097DC 802A01CC A4EA0002 */ sh $t2, 2($a3) -/* 1097E0 802A01D0 1000005B */ b .L802A0340 -/* 1097E4 802A01D4 8FBF001C */ lw $ra, 0x1c($sp) -.L802A01D8: -/* 1097E8 802A01D8 84EB0006 */ lh $t3, 6($a3) -/* 1097EC 802A01DC 24E40018 */ addiu $a0, $a3, 0x18 -/* 1097F0 802A01E0 24E50024 */ addiu $a1, $a3, 0x24 -/* 1097F4 802A01E4 5560000A */ bnel $t3, $zero, .L802A0210 -/* 1097F8 802A01E8 86020000 */ lh $v0, ($s0) -/* 1097FC 802A01EC 84EC0002 */ lh $t4, 2($a3) -/* 109800 802A01F0 3C061901 */ lui $a2, (0x19019053 >> 16) # lui $a2, 0x1901 -/* 109804 802A01F4 34C69053 */ ori $a2, (0x19019053 & 0xFFFF) # ori $a2, $a2, 0x9053 -/* 109808 802A01F8 358D0200 */ ori $t5, $t4, 0x200 -/* 10980C 802A01FC 0C03262E */ jal func_800C98B8 -/* 109810 802A0200 A4ED0002 */ sh $t5, 2($a3) -/* 109814 802A0204 1000004E */ b .L802A0340 -/* 109818 802A0208 8FBF001C */ lw $ra, 0x1c($sp) -/* 10981C 802A020C 86020000 */ lh $v0, ($s0) -.L802A0210: -/* 109820 802A0210 24010008 */ li $at, 8 -/* 109824 802A0214 5043000A */ beql $v0, $v1, .L802A0240 -/* 109828 802A0218 86020006 */ lh $v0, 6($s0) -/* 10982C 802A021C 10410016 */ beq $v0, $at, .L802A0278 -/* 109830 802A0220 2401000D */ li $at, 13 -/* 109834 802A0224 10410030 */ beq $v0, $at, .L802A02E8 -/* 109838 802A0228 2401002A */ li $at, 42 -/* 10983C 802A022C 50410022 */ beql $v0, $at, .L802A02B8 -/* 109840 802A0230 86080006 */ lh $t0, 6($s0) -/* 109844 802A0234 1000003A */ b .L802A0320 -/* 109848 802A0238 84EE0002 */ lh $t6, 2($a3) -/* 10984C 802A023C 86020006 */ lh $v0, 6($s0) -.L802A0240: -/* 109850 802A0240 24010004 */ li $at, 4 -/* 109854 802A0244 26040018 */ addiu $a0, $s0, 0x18 -/* 109858 802A0248 10400003 */ beqz $v0, .L802A0258 -/* 10985C 802A024C 26050024 */ addiu $a1, $s0, 0x24 -/* 109860 802A0250 54410033 */ bnel $v0, $at, .L802A0320 -/* 109864 802A0254 84EE0002 */ lh $t6, 2($a3) -.L802A0258: -/* 109868 802A0258 860E0002 */ lh $t6, 2($s0) -/* 10986C 802A025C 3C061901 */ lui $a2, (0x19019053 >> 16) # lui $a2, 0x1901 -/* 109870 802A0260 34C69053 */ ori $a2, (0x19019053 & 0xFFFF) # ori $a2, $a2, 0x9053 -/* 109874 802A0264 35CF0200 */ ori $t7, $t6, 0x200 -/* 109878 802A0268 0C03262E */ jal func_800C98B8 -/* 10987C 802A026C A60F0002 */ sh $t7, 2($s0) -/* 109880 802A0270 10000033 */ b .L802A0340 -/* 109884 802A0274 8FBF001C */ lw $ra, 0x1c($sp) -.L802A0278: -/* 109888 802A0278 86020006 */ lh $v0, 6($s0) -/* 10988C 802A027C 24010006 */ li $at, 6 -/* 109890 802A0280 26040018 */ addiu $a0, $s0, 0x18 -/* 109894 802A0284 10400003 */ beqz $v0, .L802A0294 -/* 109898 802A0288 26050024 */ addiu $a1, $s0, 0x24 -/* 10989C 802A028C 54410024 */ bnel $v0, $at, .L802A0320 -/* 1098A0 802A0290 84EE0002 */ lh $t6, 2($a3) -.L802A0294: -/* 1098A4 802A0294 86180002 */ lh $t8, 2($s0) -/* 1098A8 802A0298 3C061901 */ lui $a2, (0x19019053 >> 16) # lui $a2, 0x1901 -/* 1098AC 802A029C 34C69053 */ ori $a2, (0x19019053 & 0xFFFF) # ori $a2, $a2, 0x9053 -/* 1098B0 802A02A0 37190200 */ ori $t9, $t8, 0x200 -/* 1098B4 802A02A4 0C03262E */ jal func_800C98B8 -/* 1098B8 802A02A8 A6190002 */ sh $t9, 2($s0) -/* 1098BC 802A02AC 10000024 */ b .L802A0340 -/* 1098C0 802A02B0 8FBF001C */ lw $ra, 0x1c($sp) -/* 1098C4 802A02B4 86080006 */ lh $t0, 6($s0) -.L802A02B8: -/* 1098C8 802A02B8 26040018 */ addiu $a0, $s0, 0x18 -/* 1098CC 802A02BC 26050024 */ addiu $a1, $s0, 0x24 -/* 1098D0 802A02C0 55000017 */ bnel $t0, $zero, .L802A0320 -/* 1098D4 802A02C4 84EE0002 */ lh $t6, 2($a3) -/* 1098D8 802A02C8 86090002 */ lh $t1, 2($s0) -/* 1098DC 802A02CC 3C061901 */ lui $a2, (0x19019053 >> 16) # lui $a2, 0x1901 -/* 1098E0 802A02D0 34C69053 */ ori $a2, (0x19019053 & 0xFFFF) # ori $a2, $a2, 0x9053 -/* 1098E4 802A02D4 352A0200 */ ori $t2, $t1, 0x200 -/* 1098E8 802A02D8 0C03262E */ jal func_800C98B8 -/* 1098EC 802A02DC A60A0002 */ sh $t2, 2($s0) -/* 1098F0 802A02E0 10000017 */ b .L802A0340 -/* 1098F4 802A02E4 8FBF001C */ lw $ra, 0x1c($sp) -.L802A02E8: -/* 1098F8 802A02E8 860B0006 */ lh $t3, 6($s0) -/* 1098FC 802A02EC 26040018 */ addiu $a0, $s0, 0x18 -/* 109900 802A02F0 26050024 */ addiu $a1, $s0, 0x24 -/* 109904 802A02F4 5560000A */ bnel $t3, $zero, .L802A0320 -/* 109908 802A02F8 84EE0002 */ lh $t6, 2($a3) -/* 10990C 802A02FC 860C0002 */ lh $t4, 2($s0) -/* 109910 802A0300 3C061901 */ lui $a2, (0x19019053 >> 16) # lui $a2, 0x1901 -/* 109914 802A0304 34C69053 */ ori $a2, (0x19019053 & 0xFFFF) # ori $a2, $a2, 0x9053 -/* 109918 802A0308 358D0200 */ ori $t5, $t4, 0x200 -/* 10991C 802A030C 0C03262E */ jal func_800C98B8 -/* 109920 802A0310 A60D0002 */ sh $t5, 2($s0) -/* 109924 802A0314 1000000A */ b .L802A0340 -/* 109928 802A0318 8FBF001C */ lw $ra, 0x1c($sp) -/* 10992C 802A031C 84EE0002 */ lh $t6, 2($a3) -.L802A0320: -/* 109930 802A0320 3C061901 */ lui $a2, (0x19018010 >> 16) # lui $a2, 0x1901 -/* 109934 802A0324 34C68010 */ ori $a2, (0x19018010 & 0xFFFF) # ori $a2, $a2, 0x8010 -/* 109938 802A0328 35CF0100 */ ori $t7, $t6, 0x100 -/* 10993C 802A032C A4EF0002 */ sh $t7, 2($a3) -/* 109940 802A0330 24E40018 */ addiu $a0, $a3, 0x18 -/* 109944 802A0334 0C03262E */ jal func_800C98B8 -/* 109948 802A0338 24E50024 */ addiu $a1, $a3, 0x24 -/* 10994C 802A033C 8FBF001C */ lw $ra, 0x1c($sp) -.L802A0340: -/* 109950 802A0340 8FB00018 */ lw $s0, 0x18($sp) -/* 109954 802A0344 27BD0020 */ addiu $sp, $sp, 0x20 -/* 109958 802A0348 03E00008 */ jr $ra -/* 10995C 802A034C 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_802A0350.s b/asm/non_matchings/code_actors/func_802A0350.s deleted file mode 100644 index a970b593c..000000000 --- a/asm/non_matchings/code_actors/func_802A0350.s +++ /dev/null @@ -1,72 +0,0 @@ -glabel func_802A0350 -/* 109960 802A0350 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 109964 802A0354 AFBF001C */ sw $ra, 0x1c($sp) -/* 109968 802A0358 AFB10018 */ sw $s1, 0x18($sp) -/* 10996C 802A035C AFB00014 */ sw $s0, 0x14($sp) -/* 109970 802A0360 00808025 */ move $s0, $a0 -/* 109974 802A0364 0C0A7F29 */ jal func_8029FCA4 -/* 109978 802A0368 00A08825 */ move $s1, $a1 -/* 10997C 802A036C 24010001 */ li $at, 1 -/* 109980 802A0370 54410033 */ bnel $v0, $at, .L802A0440 -/* 109984 802A0374 8FBF001C */ lw $ra, 0x1c($sp) -/* 109988 802A0378 86020000 */ lh $v0, ($s0) -/* 10998C 802A037C 2403002A */ li $v1, 42 -/* 109990 802A0380 14620012 */ bne $v1, $v0, .L802A03CC -/* 109994 802A0384 00000000 */ nop -/* 109998 802A0388 862E0000 */ lh $t6, ($s1) -/* 10999C 802A038C 146E000F */ bne $v1, $t6, .L802A03CC -/* 1099A0 802A0390 00000000 */ nop -/* 1099A4 802A0394 0C0A7F72 */ jal func_8029FDC8 -/* 1099A8 802A0398 02002025 */ move $a0, $s0 -/* 1099AC 802A039C 0C0A7F72 */ jal func_8029FDC8 -/* 1099B0 802A03A0 02202025 */ move $a0, $s1 -/* 1099B4 802A03A4 860F0002 */ lh $t7, 2($s0) -/* 1099B8 802A03A8 3C061901 */ lui $a2, (0x19018010 >> 16) # lui $a2, 0x1901 -/* 1099BC 802A03AC 34C68010 */ ori $a2, (0x19018010 & 0xFFFF) # ori $a2, $a2, 0x8010 -/* 1099C0 802A03B0 35F80100 */ ori $t8, $t7, 0x100 -/* 1099C4 802A03B4 A6180002 */ sh $t8, 2($s0) -/* 1099C8 802A03B8 26040018 */ addiu $a0, $s0, 0x18 -/* 1099CC 802A03BC 0C03262E */ jal func_800C98B8 -/* 1099D0 802A03C0 26050024 */ addiu $a1, $s0, 0x24 -/* 1099D4 802A03C4 1000001E */ b .L802A0440 -/* 1099D8 802A03C8 8FBF001C */ lw $ra, 0x1c($sp) -.L802A03CC: -/* 1099DC 802A03CC 14620009 */ bne $v1, $v0, .L802A03F4 -/* 1099E0 802A03D0 00000000 */ nop -/* 1099E4 802A03D4 86190006 */ lh $t9, 6($s0) -/* 1099E8 802A03D8 17200004 */ bnez $t9, .L802A03EC -/* 1099EC 802A03DC 00000000 */ nop -/* 1099F0 802A03E0 0C0A7F72 */ jal func_8029FDC8 -/* 1099F4 802A03E4 02002025 */ move $a0, $s0 -/* 1099F8 802A03E8 2403002A */ li $v1, 42 -.L802A03EC: -/* 1099FC 802A03EC 10000005 */ b .L802A0404 -/* 109A00 802A03F0 86220000 */ lh $v0, ($s1) -.L802A03F4: -/* 109A04 802A03F4 0C0A7F72 */ jal func_8029FDC8 -/* 109A08 802A03F8 02002025 */ move $a0, $s0 -/* 109A0C 802A03FC 2403002A */ li $v1, 42 -/* 109A10 802A0400 86220000 */ lh $v0, ($s1) -.L802A0404: -/* 109A14 802A0404 14620008 */ bne $v1, $v0, .L802A0428 -/* 109A18 802A0408 00000000 */ nop -/* 109A1C 802A040C 86280006 */ lh $t0, 6($s1) -/* 109A20 802A0410 55000008 */ bnel $t0, $zero, .L802A0434 -/* 109A24 802A0414 02002025 */ move $a0, $s0 -/* 109A28 802A0418 0C0A7F72 */ jal func_8029FDC8 -/* 109A2C 802A041C 02202025 */ move $a0, $s1 -/* 109A30 802A0420 10000004 */ b .L802A0434 -/* 109A34 802A0424 02002025 */ move $a0, $s0 -.L802A0428: -/* 109A38 802A0428 0C0A7F72 */ jal func_8029FDC8 -/* 109A3C 802A042C 02202025 */ move $a0, $s1 -/* 109A40 802A0430 02002025 */ move $a0, $s0 -.L802A0434: -/* 109A44 802A0434 0C0A803A */ jal func_802A00E8 -/* 109A48 802A0438 02202825 */ move $a1, $s1 -/* 109A4C 802A043C 8FBF001C */ lw $ra, 0x1c($sp) -.L802A0440: -/* 109A50 802A0440 8FB00014 */ lw $s0, 0x14($sp) -/* 109A54 802A0444 8FB10018 */ lw $s1, 0x18($sp) -/* 109A58 802A0448 03E00008 */ jr $ra -/* 109A5C 802A044C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/non_matchings/code_actors/func_802A0D54.s b/asm/non_matchings/code_actors/func_802A0D54.s deleted file mode 100644 index 4f50b4bfb..000000000 --- a/asm/non_matchings/code_actors/func_802A0D54.s +++ /dev/null @@ -1,66 +0,0 @@ -glabel func_802A0D54 -/* 10A364 802A0D54 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 10A368 802A0D58 AFB60030 */ sw $s6, 0x30($sp) -/* 10A36C 802A0D5C AFB30024 */ sw $s3, 0x24($sp) -/* 10A370 802A0D60 AFB1001C */ sw $s1, 0x1c($sp) -/* 10A374 802A0D64 AFB5002C */ sw $s5, 0x2c($sp) -/* 10A378 802A0D68 AFB40028 */ sw $s4, 0x28($sp) -/* 10A37C 802A0D6C AFB20020 */ sw $s2, 0x20($sp) -/* 10A380 802A0D70 3C11800F */ lui $s1, %hi(gPlayers) # $s1, 0x800f -/* 10A384 802A0D74 3C138016 */ lui $s3, %hi(D_8015F9B8) # $s3, 0x8016 -/* 10A388 802A0D78 3C168010 */ lui $s6, %hi(gPlayers+0x6EC0) # 0x8010 -/* 10A38C 802A0D7C AFBF0034 */ sw $ra, 0x34($sp) -/* 10A390 802A0D80 AFB00018 */ sw $s0, 0x18($sp) -/* 10A394 802A0D84 26D6D850 */ addiu $s6, $s6, %lo(gPlayers+0x6EC0) # -0x27b0 -/* 10A398 802A0D88 2673F9B8 */ addiu $s3, %lo(D_8015F9B8) # addiu $s3, $s3, -0x648 -/* 10A39C 802A0D8C 26316990 */ addiu $s1, %lo(gPlayers) # addiu $s1, $s1, 0x6990 -/* 10A3A0 802A0D90 3C120400 */ lui $s2, 0x400 -/* 10A3A4 802A0D94 24140070 */ li $s4, 112 -/* 10A3A8 802A0D98 24150064 */ li $s5, 100 -/* 10A3AC 802A0D9C 962E0000 */ lhu $t6, ($s1) -.L802A0DA0: -/* 10A3B0 802A0DA0 31CF8000 */ andi $t7, $t6, 0x8000 -/* 10A3B4 802A0DA4 51E0001B */ beql $t7, $zero, .L802A0E14 -/* 10A3B8 802A0DA8 26310DD8 */ addiu $s1, $s1, 0xdd8 -/* 10A3BC 802A0DAC 8E3800BC */ lw $t8, 0xbc($s1) -/* 10A3C0 802A0DB0 0312C824 */ and $t9, $t8, $s2 -/* 10A3C4 802A0DB4 57200017 */ bnel $t9, $zero, .L802A0E14 -/* 10A3C8 802A0DB8 26310DD8 */ addiu $s1, $s1, 0xdd8 -/* 10A3CC 802A0DBC 0C0A5DF9 */ jal func_802977E4 -/* 10A3D0 802A0DC0 02202025 */ move $a0, $s1 -/* 10A3D4 802A0DC4 00008025 */ move $s0, $zero -/* 10A3D8 802A0DC8 8E2800BC */ lw $t0, 0xbc($s1) -.L802A0DCC: -/* 10A3DC 802A0DCC 01124824 */ and $t1, $t0, $s2 -/* 10A3E0 802A0DD0 5520000D */ bnel $t1, $zero, .L802A0E08 -/* 10A3E4 802A0DD4 26100001 */ addiu $s0, $s0, 1 -/* 10A3E8 802A0DD8 02140019 */ multu $s0, $s4 -/* 10A3EC 802A0DDC 00005012 */ mflo $t2 -/* 10A3F0 802A0DE0 026A2821 */ addu $a1, $s3, $t2 -/* 10A3F4 802A0DE4 84A20002 */ lh $v0, 2($a1) -/* 10A3F8 802A0DE8 304B8000 */ andi $t3, $v0, 0x8000 -/* 10A3FC 802A0DEC 11600005 */ beqz $t3, .L802A0E04 -/* 10A400 802A0DF0 304C4000 */ andi $t4, $v0, 0x4000 -/* 10A404 802A0DF4 51800004 */ beql $t4, $zero, .L802A0E08 -/* 10A408 802A0DF8 26100001 */ addiu $s0, $s0, 1 -/* 10A40C 802A0DFC 0C0A8114 */ jal func_802A0450 -/* 10A410 802A0E00 02202025 */ move $a0, $s1 -.L802A0E04: -/* 10A414 802A0E04 26100001 */ addiu $s0, $s0, 1 -.L802A0E08: -/* 10A418 802A0E08 5615FFF0 */ bnel $s0, $s5, .L802A0DCC -/* 10A41C 802A0E0C 8E2800BC */ lw $t0, 0xbc($s1) -/* 10A420 802A0E10 26310DD8 */ addiu $s1, $s1, 0xdd8 -.L802A0E14: -/* 10A424 802A0E14 5636FFE2 */ bnel $s1, $s6, .L802A0DA0 -/* 10A428 802A0E18 962E0000 */ lhu $t6, ($s1) -/* 10A42C 802A0E1C 8FBF0034 */ lw $ra, 0x34($sp) -/* 10A430 802A0E20 8FB00018 */ lw $s0, 0x18($sp) -/* 10A434 802A0E24 8FB1001C */ lw $s1, 0x1c($sp) -/* 10A438 802A0E28 8FB20020 */ lw $s2, 0x20($sp) -/* 10A43C 802A0E2C 8FB30024 */ lw $s3, 0x24($sp) -/* 10A440 802A0E30 8FB40028 */ lw $s4, 0x28($sp) -/* 10A444 802A0E34 8FB5002C */ lw $s5, 0x2c($sp) -/* 10A448 802A0E38 8FB60030 */ lw $s6, 0x30($sp) -/* 10A44C 802A0E3C 03E00008 */ jr $ra -/* 10A450 802A0E40 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/non_matchings/code_actors/func_802A0E44.s b/asm/non_matchings/code_actors/func_802A0E44.s deleted file mode 100644 index 200bef10a..000000000 --- a/asm/non_matchings/code_actors/func_802A0E44.s +++ /dev/null @@ -1,152 +0,0 @@ -glabel func_802A0E44 -/* 10A454 802A0E44 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 10A458 802A0E48 3C038016 */ lui $v1, %hi(D_8015F900) # $v1, 0x8016 -/* 10A45C 802A0E4C 9463F900 */ lhu $v1, %lo(D_8015F900)($v1) -/* 10A460 802A0E50 AFBF003C */ sw $ra, 0x3c($sp) -/* 10A464 802A0E54 AFBE0038 */ sw $fp, 0x38($sp) -/* 10A468 802A0E58 28610063 */ slti $at, $v1, 0x63 -/* 10A46C 802A0E5C AFB70034 */ sw $s7, 0x34($sp) -/* 10A470 802A0E60 AFB60030 */ sw $s6, 0x30($sp) -/* 10A474 802A0E64 AFB5002C */ sw $s5, 0x2c($sp) -/* 10A478 802A0E68 AFB40028 */ sw $s4, 0x28($sp) -/* 10A47C 802A0E6C AFB30024 */ sw $s3, 0x24($sp) -/* 10A480 802A0E70 AFB20020 */ sw $s2, 0x20($sp) -/* 10A484 802A0E74 AFB1001C */ sw $s1, 0x1c($sp) -/* 10A488 802A0E78 1020006E */ beqz $at, .L802A1034 -/* 10A48C 802A0E7C AFB00018 */ sw $s0, 0x18($sp) -/* 10A490 802A0E80 000370C0 */ sll $t6, $v1, 3 -/* 10A494 802A0E84 01C37023 */ subu $t6, $t6, $v1 -/* 10A498 802A0E88 3C0F8016 */ lui $t7, %hi(D_8015F9B8) # $t7, 0x8016 -/* 10A49C 802A0E8C 25EFF9B8 */ addiu $t7, %lo(D_8015F9B8) # addiu $t7, $t7, -0x648 -/* 10A4A0 802A0E90 000E7100 */ sll $t6, $t6, 4 -/* 10A4A4 802A0E94 3C1E8016 */ lui $fp, %hi(D_8015F9B8) # $fp, 0x8016 -/* 10A4A8 802A0E98 27DEF9B8 */ addiu $fp, %lo(D_8015F9B8) # addiu $fp, $fp, -0x648 -/* 10A4AC 802A0E9C 01CF8021 */ addu $s0, $t6, $t7 -/* 10A4B0 802A0EA0 24170064 */ li $s7, 100 -/* 10A4B4 802A0EA4 2416002A */ li $s6, 42 -/* 10A4B8 802A0EA8 2415000D */ li $s5, 13 -/* 10A4BC 802A0EAC 24140008 */ li $s4, 8 -/* 10A4C0 802A0EB0 24130007 */ li $s3, 7 -/* 10A4C4 802A0EB4 24120006 */ li $s2, 6 -/* 10A4C8 802A0EB8 86020002 */ lh $v0, 2($s0) -.L802A0EBC: -/* 10A4CC 802A0EBC 24790001 */ addiu $t9, $v1, 1 -/* 10A4D0 802A0EC0 30588000 */ andi $t8, $v0, 0x8000 -/* 10A4D4 802A0EC4 17000003 */ bnez $t8, .L802A0ED4 -/* 10A4D8 802A0EC8 30484000 */ andi $t0, $v0, 0x4000 -/* 10A4DC 802A0ECC 10000054 */ b .L802A1020 -/* 10A4E0 802A0ED0 AFB90044 */ sw $t9, 0x44($sp) -.L802A0ED4: -/* 10A4E4 802A0ED4 15000003 */ bnez $t0, .L802A0EE4 -/* 10A4E8 802A0ED8 24690001 */ addiu $t1, $v1, 1 -/* 10A4EC 802A0EDC 10000050 */ b .L802A1020 -/* 10A4F0 802A0EE0 AFA90044 */ sw $t1, 0x44($sp) -.L802A0EE4: -/* 10A4F4 802A0EE4 86020000 */ lh $v0, ($s0) -/* 10A4F8 802A0EE8 24710001 */ addiu $s1, $v1, 1 -/* 10A4FC 802A0EEC 2A210064 */ slti $at, $s1, 0x64 -/* 10A500 802A0EF0 1052000B */ beq $v0, $s2, .L802A0F20 -/* 10A504 802A0EF4 00000000 */ nop -/* 10A508 802A0EF8 10530009 */ beq $v0, $s3, .L802A0F20 -/* 10A50C 802A0EFC 00000000 */ nop -/* 10A510 802A0F00 10540007 */ beq $v0, $s4, .L802A0F20 -/* 10A514 802A0F04 00000000 */ nop -/* 10A518 802A0F08 10550005 */ beq $v0, $s5, .L802A0F20 -/* 10A51C 802A0F0C 00000000 */ nop -/* 10A520 802A0F10 10560003 */ beq $v0, $s6, .L802A0F20 -/* 10A524 802A0F14 246A0001 */ addiu $t2, $v1, 1 -/* 10A528 802A0F18 10000041 */ b .L802A1020 -/* 10A52C 802A0F1C AFAA0044 */ sw $t2, 0x44($sp) -.L802A0F20: -/* 10A530 802A0F20 1020003F */ beqz $at, .L802A1020 -/* 10A534 802A0F24 AFB10044 */ sw $s1, 0x44($sp) -/* 10A538 802A0F28 86020002 */ lh $v0, 2($s0) -.L802A0F2C: -/* 10A53C 802A0F2C 304D8000 */ andi $t5, $v0, 0x8000 -/* 10A540 802A0F30 11A00038 */ beqz $t5, .L802A1014 -/* 10A544 802A0F34 304E4000 */ andi $t6, $v0, 0x4000 -/* 10A548 802A0F38 11C00036 */ beqz $t6, .L802A1014 -/* 10A54C 802A0F3C 001178C0 */ sll $t7, $s1, 3 -/* 10A550 802A0F40 01F17823 */ subu $t7, $t7, $s1 -/* 10A554 802A0F44 000F7900 */ sll $t7, $t7, 4 -/* 10A558 802A0F48 03CF2821 */ addu $a1, $fp, $t7 -/* 10A55C 802A0F4C 84A20002 */ lh $v0, 2($a1) -/* 10A560 802A0F50 30588000 */ andi $t8, $v0, 0x8000 -/* 10A564 802A0F54 1300002F */ beqz $t8, .L802A1014 -/* 10A568 802A0F58 30594000 */ andi $t9, $v0, 0x4000 -/* 10A56C 802A0F5C 5320002E */ beql $t9, $zero, .L802A1018 -/* 10A570 802A0F60 26310001 */ addiu $s1, $s1, 1 -/* 10A574 802A0F64 84A20000 */ lh $v0, ($a1) -/* 10A578 802A0F68 5052000C */ beql $v0, $s2, .L802A0F9C -/* 10A57C 802A0F6C 86080000 */ lh $t0, ($s0) -/* 10A580 802A0F70 50530011 */ beql $v0, $s3, .L802A0FB8 -/* 10A584 802A0F74 86090000 */ lh $t1, ($s0) -/* 10A588 802A0F78 5054001A */ beql $v0, $s4, .L802A0FE4 -/* 10A58C 802A0F7C 860C0000 */ lh $t4, ($s0) -/* 10A590 802A0F80 10550022 */ beq $v0, $s5, .L802A100C -/* 10A594 802A0F84 00000000 */ nop -/* 10A598 802A0F88 10560020 */ beq $v0, $s6, .L802A100C -/* 10A59C 802A0F8C 00000000 */ nop -/* 10A5A0 802A0F90 10000021 */ b .L802A1018 -/* 10A5A4 802A0F94 26310001 */ addiu $s1, $s1, 1 -/* 10A5A8 802A0F98 86080000 */ lh $t0, ($s0) -.L802A0F9C: -/* 10A5AC 802A0F9C 5248001E */ beql $s2, $t0, .L802A1018 -/* 10A5B0 802A0FA0 26310001 */ addiu $s1, $s1, 1 -/* 10A5B4 802A0FA4 0C0A80D4 */ jal func_802A0350 -/* 10A5B8 802A0FA8 02002025 */ move $a0, $s0 -/* 10A5BC 802A0FAC 1000001A */ b .L802A1018 -/* 10A5C0 802A0FB0 26310001 */ addiu $s1, $s1, 1 -/* 10A5C4 802A0FB4 86090000 */ lh $t1, ($s0) -.L802A0FB8: -/* 10A5C8 802A0FB8 16690005 */ bne $s3, $t1, .L802A0FD0 -/* 10A5CC 802A0FBC 00000000 */ nop -/* 10A5D0 802A0FC0 860A0014 */ lh $t2, 0x14($s0) -/* 10A5D4 802A0FC4 84AB0014 */ lh $t3, 0x14($a1) -/* 10A5D8 802A0FC8 514B0013 */ beql $t2, $t3, .L802A1018 -/* 10A5DC 802A0FCC 26310001 */ addiu $s1, $s1, 1 -.L802A0FD0: -/* 10A5E0 802A0FD0 0C0A80D4 */ jal func_802A0350 -/* 10A5E4 802A0FD4 02002025 */ move $a0, $s0 -/* 10A5E8 802A0FD8 1000000F */ b .L802A1018 -/* 10A5EC 802A0FDC 26310001 */ addiu $s1, $s1, 1 -/* 10A5F0 802A0FE0 860C0000 */ lh $t4, ($s0) -.L802A0FE4: -/* 10A5F4 802A0FE4 168C0005 */ bne $s4, $t4, .L802A0FFC -/* 10A5F8 802A0FE8 00000000 */ nop -/* 10A5FC 802A0FEC 860D0014 */ lh $t5, 0x14($s0) -/* 10A600 802A0FF0 84AE0014 */ lh $t6, 0x14($a1) -/* 10A604 802A0FF4 51AE0008 */ beql $t5, $t6, .L802A1018 -/* 10A608 802A0FF8 26310001 */ addiu $s1, $s1, 1 -.L802A0FFC: -/* 10A60C 802A0FFC 0C0A80D4 */ jal func_802A0350 -/* 10A610 802A1000 02002025 */ move $a0, $s0 -/* 10A614 802A1004 10000004 */ b .L802A1018 -/* 10A618 802A1008 26310001 */ addiu $s1, $s1, 1 -.L802A100C: -/* 10A61C 802A100C 0C0A80D4 */ jal func_802A0350 -/* 10A620 802A1010 02002025 */ move $a0, $s0 -.L802A1014: -/* 10A624 802A1014 26310001 */ addiu $s1, $s1, 1 -.L802A1018: -/* 10A628 802A1018 5637FFC4 */ bnel $s1, $s7, .L802A0F2C -/* 10A62C 802A101C 86020002 */ lh $v0, 2($s0) -.L802A1020: -/* 10A630 802A1020 8FA30044 */ lw $v1, 0x44($sp) -/* 10A634 802A1024 26100070 */ addiu $s0, $s0, 0x70 -/* 10A638 802A1028 28610063 */ slti $at, $v1, 0x63 -/* 10A63C 802A102C 5420FFA3 */ bnel $at, $zero, .L802A0EBC -/* 10A640 802A1030 86020002 */ lh $v0, 2($s0) -.L802A1034: -/* 10A644 802A1034 8FBF003C */ lw $ra, 0x3c($sp) -/* 10A648 802A1038 8FB00018 */ lw $s0, 0x18($sp) -/* 10A64C 802A103C 8FB1001C */ lw $s1, 0x1c($sp) -/* 10A650 802A1040 8FB20020 */ lw $s2, 0x20($sp) -/* 10A654 802A1044 8FB30024 */ lw $s3, 0x24($sp) -/* 10A658 802A1048 8FB40028 */ lw $s4, 0x28($sp) -/* 10A65C 802A104C 8FB5002C */ lw $s5, 0x2c($sp) -/* 10A660 802A1050 8FB60030 */ lw $s6, 0x30($sp) -/* 10A664 802A1054 8FB70034 */ lw $s7, 0x34($sp) -/* 10A668 802A1058 8FBE0038 */ lw $fp, 0x38($sp) -/* 10A66C 802A105C 03E00008 */ jr $ra -/* 10A670 802A1060 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/non_matchings/code_actors/func_802A1064.s b/asm/non_matchings/code_actors/func_802A1064.s deleted file mode 100644 index 8671a3535..000000000 --- a/asm/non_matchings/code_actors/func_802A1064.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel func_802A1064 -/* 10A674 802A1064 3C0E8016 */ lui $t6, %hi(D_8015F9B8) # $t6, 0x8016 -/* 10A678 802A1068 25CEF9B8 */ addiu $t6, %lo(D_8015F9B8) # addiu $t6, $t6, -0x648 -/* 10A67C 802A106C 008E7823 */ subu $t7, $a0, $t6 -/* 10A680 802A1070 24010070 */ li $at, 112 -/* 10A684 802A1074 01E1001A */ div $zero, $t7, $at -/* 10A688 802A1078 0000C012 */ mflo $t8 -/* 10A68C 802A107C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 10A690 802A1080 2F010065 */ sltiu $at, $t8, 0x65 -/* 10A694 802A1084 AFBF0014 */ sw $ra, 0x14($sp) -/* 10A698 802A1088 10200015 */ beqz $at, .L802A10E0 -/* 10A69C 802A108C 00803025 */ move $a2, $a0 -/* 10A6A0 802A1090 84990002 */ lh $t9, 2($a0) -/* 10A6A4 802A1094 33288000 */ andi $t0, $t9, 0x8000 -/* 10A6A8 802A1098 51000012 */ beql $t0, $zero, .L802A10E4 -/* 10A6AC 802A109C 8FBF0014 */ lw $ra, 0x14($sp) -/* 10A6B0 802A10A0 84890000 */ lh $t1, ($a0) -/* 10A6B4 802A10A4 2401000D */ li $at, 13 -/* 10A6B8 802A10A8 240A0001 */ li $t2, 1 -/* 10A6BC 802A10AC 1521000C */ bne $t1, $at, .L802A10E0 -/* 10A6C0 802A10B0 24C50018 */ addiu $a1, $a2, 0x18 -/* 10A6C4 802A10B4 A48A0006 */ sh $t2, 6($a0) -/* 10A6C8 802A10B8 AFA60018 */ sw $a2, 0x18($sp) -/* 10A6CC 802A10BC 0C0AAFAB */ jal func_802ABEAC -/* 10A6D0 802A10C0 24840030 */ addiu $a0, $a0, 0x30 -/* 10A6D4 802A10C4 3C01802C */ lui $at, %hi(D_802B99CC) # $at, 0x802c -/* 10A6D8 802A10C8 C42499CC */ lwc1 $f4, %lo(D_802B99CC)($at) -/* 10A6DC 802A10CC 8FA60018 */ lw $a2, 0x18($sp) -/* 10A6E0 802A10D0 240B0064 */ li $t3, 100 -/* 10A6E4 802A10D4 46040180 */ add.s $f6, $f0, $f4 -/* 10A6E8 802A10D8 A4CB0004 */ sh $t3, 4($a2) -/* 10A6EC 802A10DC E4C60028 */ swc1 $f6, 0x28($a2) -.L802A10E0: -/* 10A6F0 802A10E0 8FBF0014 */ lw $ra, 0x14($sp) -.L802A10E4: -/* 10A6F4 802A10E4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 10A6F8 802A10E8 03E00008 */ jr $ra -/* 10A6FC 802A10EC 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_802A14BC.s b/asm/non_matchings/code_actors/func_802A14BC.s deleted file mode 100644 index 2f83e19ba..000000000 --- a/asm/non_matchings/code_actors/func_802A14BC.s +++ /dev/null @@ -1,46 +0,0 @@ -glabel func_802A14BC -/* 10AACC 802A14BC 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e -/* 10AAD0 802A14C0 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6) -/* 10AAD4 802A14C4 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 10AAD8 802A14C8 24010001 */ li $at, 1 -/* 10AADC 802A14CC AFBF0014 */ sw $ra, 0x14($sp) -/* 10AAE0 802A14D0 E7AC0040 */ swc1 $f12, 0x40($sp) -/* 10AAE4 802A14D4 E7AE0044 */ swc1 $f14, 0x44($sp) -/* 10AAE8 802A14D8 11C10020 */ beq $t6, $at, .L802A155C -/* 10AAEC 802A14DC AFA60048 */ sw $a2, 0x48($sp) -/* 10AAF0 802A14E0 27A40020 */ addiu $a0, $sp, 0x20 -/* 10AAF4 802A14E4 00002825 */ move $a1, $zero -/* 10AAF8 802A14E8 00003025 */ move $a2, $zero -/* 10AAFC 802A14EC 0C0AD4AF */ jal func_802B52BC -/* 10AB00 802A14F0 00003825 */ move $a3, $zero -/* 10AB04 802A14F4 44800000 */ mtc1 $zero, $f0 -/* 10AB08 802A14F8 27A40028 */ addiu $a0, $sp, 0x28 -/* 10AB0C 802A14FC 44050000 */ mfc1 $a1, $f0 -/* 10AB10 802A1500 44060000 */ mfc1 $a2, $f0 -/* 10AB14 802A1504 44070000 */ mfc1 $a3, $f0 -/* 10AB18 802A1508 0C0AD4A7 */ jal load_giant_egg -/* 10AB1C 802A150C 00000000 */ nop -/* 10AB20 802A1510 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 10AB24 802A1514 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 10AB28 802A1518 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 10AB2C 802A151C 27A40034 */ addiu $a0, $sp, 0x34 -/* 10AB30 802A1520 27A50020 */ addiu $a1, $sp, 0x20 -/* 10AB34 802A1524 27A60028 */ addiu $a2, $sp, 0x28 -/* 10AB38 802A1528 2407002B */ li $a3, 43 -/* 10AB3C 802A152C E7A40034 */ swc1 $f4, 0x34($sp) -/* 10AB40 802A1530 E7A60038 */ swc1 $f6, 0x38($sp) -/* 10AB44 802A1534 0C0A7B22 */ jal func_8029EC88 -/* 10AB48 802A1538 E7A8003C */ swc1 $f8, 0x3c($sp) -/* 10AB4C 802A153C 000278C0 */ sll $t7, $v0, 3 -/* 10AB50 802A1540 01E27823 */ subu $t7, $t7, $v0 -/* 10AB54 802A1544 3C188016 */ lui $t8, %hi(D_8015F9B8) # $t8, 0x8016 -/* 10AB58 802A1548 2718F9B8 */ addiu $t8, %lo(D_8015F9B8) # addiu $t8, $t8, -0x648 -/* 10AB5C 802A154C 000F7900 */ sll $t7, $t7, 4 -/* 10AB60 802A1550 01F8C821 */ addu $t9, $t7, $t8 -/* 10AB64 802A1554 3C01802C */ lui $at, %hi(D_802BA05C) # $at, 0x802c -/* 10AB68 802A1558 AC39A05C */ sw $t9, %lo(D_802BA05C)($at) -.L802A155C: -/* 10AB6C 802A155C 8FBF0014 */ lw $ra, 0x14($sp) -/* 10AB70 802A1560 27BD0040 */ addiu $sp, $sp, 0x40 -/* 10AB74 802A1564 03E00008 */ jr $ra -/* 10AB78 802A1568 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_802A269C.s b/asm/non_matchings/code_actors/func_802A269C.s deleted file mode 100644 index 9fe5b2d73..000000000 --- a/asm/non_matchings/code_actors/func_802A269C.s +++ /dev/null @@ -1,68 +0,0 @@ -glabel func_802A269C -/* 10BCAC 802A269C 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e -/* 10BCB0 802A26A0 8DCEDB40 */ lw $t6, %lo(camera1)($t6) -/* 10BCB4 802A26A4 240100B8 */ li $at, 184 -/* 10BCB8 802A26A8 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 10BCBC 802A26AC 008E7823 */ subu $t7, $a0, $t6 -/* 10BCC0 802A26B0 01E1001A */ div $zero, $t7, $at -/* 10BCC4 802A26B4 0000C012 */ mflo $t8 -/* 10BCC8 802A26B8 0018C880 */ sll $t9, $t8, 2 -/* 10BCCC 802A26BC 3C018015 */ lui $at, %hi(D_80150130) -/* 10BCD0 802A26C0 00390821 */ addu $at, $at, $t9 -/* 10BCD4 802A26C4 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 10BCD8 802A26C8 AFBF001C */ sw $ra, 0x1c($sp) -/* 10BCDC 802A26CC AFA5007C */ sw $a1, 0x7c($sp) -/* 10BCE0 802A26D0 3C01802C */ lui $at, %hi(D_802B9A28) # $at, 0x802c -/* 10BCE4 802A26D4 C4269A28 */ lwc1 $f6, %lo(D_802B9A28)($at) -/* 10BCE8 802A26D8 94860026 */ lhu $a2, 0x26($a0) -/* 10BCEC 802A26DC 24A50018 */ addiu $a1, $a1, 0x18 -/* 10BCF0 802A26E0 AFA50024 */ sw $a1, 0x24($sp) -/* 10BCF4 802A26E4 24070000 */ li $a3, 0 -/* 10BCF8 802A26E8 E7A40010 */ swc1 $f4, 0x10($sp) -/* 10BCFC 802A26EC 0C0AE034 */ jal func_802B80D0 -/* 10BD00 802A26F0 E7A60014 */ swc1 $f6, 0x14($sp) -/* 10BD04 802A26F4 44804000 */ mtc1 $zero, $f8 -/* 10BD08 802A26F8 3C088015 */ lui $t0, %hi(gDisplayListHead) # $t0, 0x8015 -/* 10BD0C 802A26FC 8FA50024 */ lw $a1, 0x24($sp) -/* 10BD10 802A2700 4608003C */ c.lt.s $f0, $f8 -/* 10BD14 802A2704 25080298 */ addiu $t0, %lo(gDisplayListHead) # addiu $t0, $t0, 0x298 -/* 10BD18 802A2708 45030022 */ bc1tl .L802A2794 -/* 10BD1C 802A270C 8FBF001C */ lw $ra, 0x1c($sp) -/* 10BD20 802A2710 8D020000 */ lw $v0, ($t0) -/* 10BD24 802A2714 3C0AB700 */ lui $t2, 0xb700 -/* 10BD28 802A2718 240B0200 */ li $t3, 512 -/* 10BD2C 802A271C 24490008 */ addiu $t1, $v0, 8 -/* 10BD30 802A2720 AD090000 */ sw $t1, ($t0) -/* 10BD34 802A2724 AC4B0004 */ sw $t3, 4($v0) -/* 10BD38 802A2728 AC4A0000 */ sw $t2, ($v0) -/* 10BD3C 802A272C 8D020000 */ lw $v0, ($t0) -/* 10BD40 802A2730 3C0DB600 */ lui $t5, 0xb600 -/* 10BD44 802A2734 3C0E0002 */ lui $t6, 2 -/* 10BD48 802A2738 244C0008 */ addiu $t4, $v0, 8 -/* 10BD4C 802A273C AD0C0000 */ sw $t4, ($t0) -/* 10BD50 802A2740 AC4E0004 */ sw $t6, 4($v0) -/* 10BD54 802A2744 AC4D0000 */ sw $t5, ($v0) -/* 10BD58 802A2748 8FA6007C */ lw $a2, 0x7c($sp) -/* 10BD5C 802A274C 27A40038 */ addiu $a0, $sp, 0x38 -/* 10BD60 802A2750 0C0AD7DD */ jal func_802B5F74 -/* 10BD64 802A2754 24C60010 */ addiu $a2, $a2, 0x10 -/* 10BD68 802A2758 27A40038 */ addiu $a0, $sp, 0x38 -/* 10BD6C 802A275C 0C0AD3FE */ jal func_802B4FF8 -/* 10BD70 802A2760 00002825 */ move $a1, $zero -/* 10BD74 802A2764 3C088015 */ lui $t0, %hi(gDisplayListHead) # $t0, 0x8015 -/* 10BD78 802A2768 10400009 */ beqz $v0, .L802A2790 -/* 10BD7C 802A276C 25080298 */ addiu $t0, %lo(gDisplayListHead) # addiu $t0, $t0, 0x298 -/* 10BD80 802A2770 8D020000 */ lw $v0, ($t0) -/* 10BD84 802A2774 3C190601 */ lui $t9, %hi(D_0600CA60) # $t9, 0x601 -/* 10BD88 802A2778 2739CA60 */ addiu $t9, %lo(D_0600CA60) # addiu $t9, $t9, -0x35a0 -/* 10BD8C 802A277C 244F0008 */ addiu $t7, $v0, 8 -/* 10BD90 802A2780 AD0F0000 */ sw $t7, ($t0) -/* 10BD94 802A2784 3C180600 */ lui $t8, 0x600 -/* 10BD98 802A2788 AC580000 */ sw $t8, ($v0) -/* 10BD9C 802A278C AC590004 */ sw $t9, 4($v0) -.L802A2790: -/* 10BDA0 802A2790 8FBF001C */ lw $ra, 0x1c($sp) -.L802A2794: -/* 10BDA4 802A2794 27BD0078 */ addiu $sp, $sp, 0x78 -/* 10BDA8 802A2798 03E00008 */ jr $ra -/* 10BDAC 802A279C 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_802A27A0.s b/asm/non_matchings/code_actors/func_802A27A0.s deleted file mode 100644 index 558059f2e..000000000 --- a/asm/non_matchings/code_actors/func_802A27A0.s +++ /dev/null @@ -1,142 +0,0 @@ -glabel func_802A27A0 -/* 10BDB0 802A27A0 3C0E800E */ lui $t6, %hi(D_800DC50C) # $t6, 0x800e -/* 10BDB4 802A27A4 8DCEC50C */ lw $t6, %lo(D_800DC50C)($t6) -/* 10BDB8 802A27A8 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 10BDBC 802A27AC AFB00020 */ sw $s0, 0x20($sp) -/* 10BDC0 802A27B0 24010009 */ li $at, 9 -/* 10BDC4 802A27B4 00C08025 */ move $s0, $a2 -/* 10BDC8 802A27B8 AFBF0024 */ sw $ra, 0x24($sp) -/* 10BDCC 802A27BC AFA500A4 */ sw $a1, 0xa4($sp) -/* 10BDD0 802A27C0 11C1001B */ beq $t6, $at, .L802A2830 -/* 10BDD4 802A27C4 AFA700AC */ sw $a3, 0xac($sp) -/* 10BDD8 802A27C8 3C0F800E */ lui $t7, %hi(camera1) # $t7, 0x800e -/* 10BDDC 802A27CC 8DEFDB40 */ lw $t7, %lo(camera1)($t7) -/* 10BDE0 802A27D0 240100B8 */ li $at, 184 -/* 10BDE4 802A27D4 24C50018 */ addiu $a1, $a2, 0x18 -/* 10BDE8 802A27D8 008FC023 */ subu $t8, $a0, $t7 -/* 10BDEC 802A27DC 0301001A */ div $zero, $t8, $at -/* 10BDF0 802A27E0 0000C812 */ mflo $t9 -/* 10BDF4 802A27E4 00194080 */ sll $t0, $t9, 2 -/* 10BDF8 802A27E8 3C018015 */ lui $at, %hi(D_80150130) -/* 10BDFC 802A27EC 00280821 */ addu $at, $at, $t0 -/* 10BE00 802A27F0 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 10BE04 802A27F4 3C01802C */ lui $at, %hi(D_802B9A2C) # $at, 0x802c -/* 10BE08 802A27F8 C4269A2C */ lwc1 $f6, %lo(D_802B9A2C)($at) -/* 10BE0C 802A27FC 94860026 */ lhu $a2, 0x26($a0) -/* 10BE10 802A2800 3C074348 */ lui $a3, 0x4348 -/* 10BE14 802A2804 E7A40010 */ swc1 $f4, 0x10($sp) -/* 10BE18 802A2808 0C0AE034 */ jal func_802B80D0 -/* 10BE1C 802A280C E7A60014 */ swc1 $f6, 0x14($sp) -/* 10BE20 802A2810 44804000 */ mtc1 $zero, $f8 -/* 10BE24 802A2814 46000086 */ mov.s $f2, $f0 -/* 10BE28 802A2818 4608003C */ c.lt.s $f0, $f8 -/* 10BE2C 802A281C 00000000 */ nop -/* 10BE30 802A2820 45000006 */ bc1f .L802A283C -/* 10BE34 802A2824 00000000 */ nop -/* 10BE38 802A2828 10000060 */ b .L802A29AC -/* 10BE3C 802A282C 8FBF0024 */ lw $ra, 0x24($sp) -.L802A2830: -/* 10BE40 802A2830 2409000F */ li $t1, 15 -/* 10BE44 802A2834 44801000 */ mtc1 $zero, $f2 -/* 10BE48 802A2838 A7A900AE */ sh $t1, 0xae($sp) -.L802A283C: -/* 10BE4C 802A283C 3C078015 */ lui $a3, %hi(gDisplayListHead) # $a3, 0x8015 -/* 10BE50 802A2840 24E70298 */ addiu $a3, %lo(gDisplayListHead) # addiu $a3, $a3, 0x298 -/* 10BE54 802A2844 8CE20000 */ lw $v0, ($a3) -/* 10BE58 802A2848 3C0BB700 */ lui $t3, 0xb700 -/* 10BE5C 802A284C 240C0200 */ li $t4, 512 -/* 10BE60 802A2850 244A0008 */ addiu $t2, $v0, 8 -/* 10BE64 802A2854 ACEA0000 */ sw $t2, ($a3) -/* 10BE68 802A2858 AC4C0004 */ sw $t4, 4($v0) -/* 10BE6C 802A285C AC4B0000 */ sw $t3, ($v0) -/* 10BE70 802A2860 97A400AE */ lhu $a0, 0xae($sp) -/* 10BE74 802A2864 2881000D */ slti $at, $a0, 0xd -/* 10BE78 802A2868 14200034 */ bnez $at, .L802A293C -/* 10BE7C 802A286C 28810014 */ slti $at, $a0, 0x14 -/* 10BE80 802A2870 10200032 */ beqz $at, .L802A293C -/* 10BE84 802A2874 3C01802C */ lui $at, %hi(D_802B9A30) # $at, 0x802c -/* 10BE88 802A2878 C42A9A30 */ lwc1 $f10, %lo(D_802B9A30)($at) -/* 10BE8C 802A287C 260D0018 */ addiu $t5, $s0, 0x18 -/* 10BE90 802A2880 AFAD0030 */ sw $t5, 0x30($sp) -/* 10BE94 802A2884 460A103C */ c.lt.s $f2, $f10 -/* 10BE98 802A2888 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 10BE9C 802A288C 4502000E */ bc1fl .L802A28C8 -/* 10BEA0 802A2890 A7A00058 */ sh $zero, 0x58($sp) -/* 10BEA4 802A2894 C6100018 */ lwc1 $f16, 0x18($s0) -/* 10BEA8 802A2898 44819000 */ mtc1 $at, $f18 -/* 10BEAC 802A289C 27A40058 */ addiu $a0, $sp, 0x58 -/* 10BEB0 802A28A0 E7B0004C */ swc1 $f16, 0x4c($sp) -/* 10BEB4 802A28A4 E7B20050 */ swc1 $f18, 0x50($sp) -/* 10BEB8 802A28A8 C6040020 */ lwc1 $f4, 0x20($s0) -/* 10BEBC 802A28AC 0C0A5DB6 */ jal func_802976D8 -/* 10BEC0 802A28B0 E7A40054 */ swc1 $f4, 0x54($sp) -/* 10BEC4 802A28B4 27A4004C */ addiu $a0, $sp, 0x4c -/* 10BEC8 802A28B8 27A50058 */ addiu $a1, $sp, 0x58 -/* 10BECC 802A28BC 0C0A5E53 */ jal func_8029794C -/* 10BED0 802A28C0 3C064120 */ lui $a2, 0x4120 -/* 10BED4 802A28C4 A7A00058 */ sh $zero, 0x58($sp) -.L802A28C8: -/* 10BED8 802A28C8 860E0012 */ lh $t6, 0x12($s0) -/* 10BEDC 802A28CC A7A0005C */ sh $zero, 0x5c($sp) -/* 10BEE0 802A28D0 27A40060 */ addiu $a0, $sp, 0x60 -/* 10BEE4 802A28D4 8FA50030 */ lw $a1, 0x30($sp) -/* 10BEE8 802A28D8 27A60058 */ addiu $a2, $sp, 0x58 -/* 10BEEC 802A28DC 0C0AD7DD */ jal func_802B5F74 -/* 10BEF0 802A28E0 A7AE005A */ sh $t6, 0x5a($sp) -/* 10BEF4 802A28E4 27A40060 */ addiu $a0, $sp, 0x60 -/* 10BEF8 802A28E8 0C0AD3FE */ jal func_802B4FF8 -/* 10BEFC 802A28EC 00002825 */ move $a1, $zero -/* 10BF00 802A28F0 3C078015 */ lui $a3, %hi(gDisplayListHead) # $a3, 0x8015 -/* 10BF04 802A28F4 1040002C */ beqz $v0, .L802A29A8 -/* 10BF08 802A28F8 24E70298 */ addiu $a3, %lo(gDisplayListHead) # addiu $a3, $a3, 0x298 -/* 10BF0C 802A28FC 8CE20000 */ lw $v0, ($a3) -/* 10BF10 802A2900 3C18B700 */ lui $t8, 0xb700 -/* 10BF14 802A2904 3C190002 */ lui $t9, 2 -/* 10BF18 802A2908 244F0008 */ addiu $t7, $v0, 8 -/* 10BF1C 802A290C ACEF0000 */ sw $t7, ($a3) -/* 10BF20 802A2910 AC590004 */ sw $t9, 4($v0) -/* 10BF24 802A2914 AC580000 */ sw $t8, ($v0) -/* 10BF28 802A2918 8CE20000 */ lw $v0, ($a3) -/* 10BF2C 802A291C 3C0A0601 */ lui $t2, %hi(D_06016D70) # $t2, 0x601 -/* 10BF30 802A2920 254A6D70 */ addiu $t2, %lo(D_06016D70) # addiu $t2, $t2, 0x6d70 -/* 10BF34 802A2924 24480008 */ addiu $t0, $v0, 8 -/* 10BF38 802A2928 ACE80000 */ sw $t0, ($a3) -/* 10BF3C 802A292C 3C090600 */ lui $t1, 0x600 -/* 10BF40 802A2930 AC490000 */ sw $t1, ($v0) -/* 10BF44 802A2934 1000001C */ b .L802A29A8 -/* 10BF48 802A2938 AC4A0004 */ sw $t2, 4($v0) -.L802A293C: -/* 10BF4C 802A293C C6060018 */ lwc1 $f6, 0x18($s0) -/* 10BF50 802A2940 8FA400A4 */ lw $a0, 0xa4($sp) -/* 10BF54 802A2944 00002825 */ move $a1, $zero -/* 10BF58 802A2948 E4860030 */ swc1 $f6, 0x30($a0) -/* 10BF5C 802A294C C608001C */ lwc1 $f8, 0x1c($s0) -/* 10BF60 802A2950 E4880034 */ swc1 $f8, 0x34($a0) -/* 10BF64 802A2954 C60A0020 */ lwc1 $f10, 0x20($s0) -/* 10BF68 802A2958 0C0AD3FE */ jal func_802B4FF8 -/* 10BF6C 802A295C E48A0038 */ swc1 $f10, 0x38($a0) -/* 10BF70 802A2960 3C078015 */ lui $a3, %hi(gDisplayListHead) # $a3, 0x8015 -/* 10BF74 802A2964 10400010 */ beqz $v0, .L802A29A8 -/* 10BF78 802A2968 24E70298 */ addiu $a3, %lo(gDisplayListHead) # addiu $a3, $a3, 0x298 -/* 10BF7C 802A296C 8CE20000 */ lw $v0, ($a3) -/* 10BF80 802A2970 3C0DB600 */ lui $t5, 0xb600 -/* 10BF84 802A2974 3C0E0002 */ lui $t6, 2 -/* 10BF88 802A2978 244C0008 */ addiu $t4, $v0, 8 -/* 10BF8C 802A297C ACEC0000 */ sw $t4, ($a3) -/* 10BF90 802A2980 AC4E0004 */ sw $t6, 4($v0) -/* 10BF94 802A2984 AC4D0000 */ sw $t5, ($v0) -/* 10BF98 802A2988 8CE20000 */ lw $v0, ($a3) -/* 10BF9C 802A298C 3C190601 */ lui $t9, %hi(D_06017FA8) # $t9, 0x601 -/* 10BFA0 802A2990 27397FA8 */ addiu $t9, %lo(D_06017FA8) # addiu $t9, $t9, 0x7fa8 -/* 10BFA4 802A2994 244F0008 */ addiu $t7, $v0, 8 -/* 10BFA8 802A2998 ACEF0000 */ sw $t7, ($a3) -/* 10BFAC 802A299C 3C180600 */ lui $t8, 0x600 -/* 10BFB0 802A29A0 AC580000 */ sw $t8, ($v0) -/* 10BFB4 802A29A4 AC590004 */ sw $t9, 4($v0) -.L802A29A8: -/* 10BFB8 802A29A8 8FBF0024 */ lw $ra, 0x24($sp) -.L802A29AC: -/* 10BFBC 802A29AC 8FB00020 */ lw $s0, 0x20($sp) -/* 10BFC0 802A29B0 27BD00A0 */ addiu $sp, $sp, 0xa0 -/* 10BFC4 802A29B4 03E00008 */ jr $ra -/* 10BFC8 802A29B8 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_802A29BC.s b/asm/non_matchings/code_actors/func_802A29BC.s deleted file mode 100644 index 6d5b262bd..000000000 --- a/asm/non_matchings/code_actors/func_802A29BC.s +++ /dev/null @@ -1,72 +0,0 @@ -glabel func_802A29BC -/* 10BFCC 802A29BC 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 10BFD0 802A29C0 AFBF001C */ sw $ra, 0x1c($sp) -/* 10BFD4 802A29C4 AFA50084 */ sw $a1, 0x84($sp) -/* 10BFD8 802A29C8 AFA60088 */ sw $a2, 0x88($sp) -/* 10BFDC 802A29CC 84C20002 */ lh $v0, 2($a2) -/* 10BFE0 802A29D0 24C50018 */ addiu $a1, $a2, 0x18 -/* 10BFE4 802A29D4 24070000 */ li $a3, 0 -/* 10BFE8 802A29D8 304F0800 */ andi $t7, $v0, 0x800 -/* 10BFEC 802A29DC 15E00038 */ bnez $t7, .L802A2AC0 -/* 10BFF0 802A29E0 3C18800E */ lui $t8, %hi(camera1) # $t8, 0x800e -/* 10BFF4 802A29E4 8F18DB40 */ lw $t8, %lo(camera1)($t8) -/* 10BFF8 802A29E8 240100B8 */ li $at, 184 -/* 10BFFC 802A29EC 94860026 */ lhu $a2, 0x26($a0) -/* 10C000 802A29F0 0098C823 */ subu $t9, $a0, $t8 -/* 10C004 802A29F4 0321001A */ div $zero, $t9, $at -/* 10C008 802A29F8 00004812 */ mflo $t1 -/* 10C00C 802A29FC 00095080 */ sll $t2, $t1, 2 -/* 10C010 802A2A00 3C018015 */ lui $at, %hi(D_80150130) -/* 10C014 802A2A04 002A0821 */ addu $at, $at, $t2 -/* 10C018 802A2A08 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 10C01C 802A2A0C 3C01802C */ lui $at, %hi(D_802B9A34) # $at, 0x802c -/* 10C020 802A2A10 C4269A34 */ lwc1 $f6, %lo(D_802B9A34)($at) -/* 10C024 802A2A14 AFA50028 */ sw $a1, 0x28($sp) -/* 10C028 802A2A18 E7A40010 */ swc1 $f4, 0x10($sp) -/* 10C02C 802A2A1C 0C0AE034 */ jal func_802B80D0 -/* 10C030 802A2A20 E7A60014 */ swc1 $f6, 0x14($sp) -/* 10C034 802A2A24 44804000 */ mtc1 $zero, $f8 -/* 10C038 802A2A28 3C088015 */ lui $t0, %hi(gDisplayListHead) # $t0, 0x8015 -/* 10C03C 802A2A2C 8FA50028 */ lw $a1, 0x28($sp) -/* 10C040 802A2A30 4608003C */ c.lt.s $f0, $f8 -/* 10C044 802A2A34 25080298 */ addiu $t0, %lo(gDisplayListHead) # addiu $t0, $t0, 0x298 -/* 10C048 802A2A38 45030022 */ bc1tl .L802A2AC4 -/* 10C04C 802A2A3C 8FBF001C */ lw $ra, 0x1c($sp) -/* 10C050 802A2A40 8D020000 */ lw $v0, ($t0) -/* 10C054 802A2A44 3C0CB700 */ lui $t4, 0xb700 -/* 10C058 802A2A48 240D0200 */ li $t5, 512 -/* 10C05C 802A2A4C 244B0008 */ addiu $t3, $v0, 8 -/* 10C060 802A2A50 AD0B0000 */ sw $t3, ($t0) -/* 10C064 802A2A54 AC4D0004 */ sw $t5, 4($v0) -/* 10C068 802A2A58 AC4C0000 */ sw $t4, ($v0) -/* 10C06C 802A2A5C 8D020000 */ lw $v0, ($t0) -/* 10C070 802A2A60 3C0FB600 */ lui $t7, 0xb600 -/* 10C074 802A2A64 3C180002 */ lui $t8, 2 -/* 10C078 802A2A68 244E0008 */ addiu $t6, $v0, 8 -/* 10C07C 802A2A6C AD0E0000 */ sw $t6, ($t0) -/* 10C080 802A2A70 AC580004 */ sw $t8, 4($v0) -/* 10C084 802A2A74 AC4F0000 */ sw $t7, ($v0) -/* 10C088 802A2A78 8FA60088 */ lw $a2, 0x88($sp) -/* 10C08C 802A2A7C 27A40040 */ addiu $a0, $sp, 0x40 -/* 10C090 802A2A80 0C0AD7DD */ jal func_802B5F74 -/* 10C094 802A2A84 24C60010 */ addiu $a2, $a2, 0x10 -/* 10C098 802A2A88 27A40040 */ addiu $a0, $sp, 0x40 -/* 10C09C 802A2A8C 0C0AD3FE */ jal func_802B4FF8 -/* 10C0A0 802A2A90 00002825 */ move $a1, $zero -/* 10C0A4 802A2A94 3C088015 */ lui $t0, %hi(gDisplayListHead) # $t0, 0x8015 -/* 10C0A8 802A2A98 10400009 */ beqz $v0, .L802A2AC0 -/* 10C0AC 802A2A9C 25080298 */ addiu $t0, %lo(gDisplayListHead) # addiu $t0, $t0, 0x298 -/* 10C0B0 802A2AA0 8D020000 */ lw $v0, ($t0) -/* 10C0B4 802A2AA4 3C0A0601 */ lui $t2, %hi(D_06009330) # $t2, 0x601 -/* 10C0B8 802A2AA8 254A9330 */ addiu $t2, %lo(D_06009330) # addiu $t2, $t2, -0x6cd0 -/* 10C0BC 802A2AAC 24590008 */ addiu $t9, $v0, 8 -/* 10C0C0 802A2AB0 AD190000 */ sw $t9, ($t0) -/* 10C0C4 802A2AB4 3C090600 */ lui $t1, 0x600 -/* 10C0C8 802A2AB8 AC490000 */ sw $t1, ($v0) -/* 10C0CC 802A2ABC AC4A0004 */ sw $t2, 4($v0) -.L802A2AC0: -/* 10C0D0 802A2AC0 8FBF001C */ lw $ra, 0x1c($sp) -.L802A2AC4: -/* 10C0D4 802A2AC4 27BD0080 */ addiu $sp, $sp, 0x80 -/* 10C0D8 802A2AC8 03E00008 */ jr $ra -/* 10C0DC 802A2ACC 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_802A2AD0.s b/asm/non_matchings/code_actors/func_802A2AD0.s deleted file mode 100644 index 56a859b18..000000000 --- a/asm/non_matchings/code_actors/func_802A2AD0.s +++ /dev/null @@ -1,112 +0,0 @@ -glabel func_802A2AD0 -/* 10C0E0 802A2AD0 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 10C0E4 802A2AD4 3C0F802C */ lui $t7, %hi(D_802B8864) # $t7, 0x802c -/* 10C0E8 802A2AD8 AFBF001C */ sw $ra, 0x1c($sp) -/* 10C0EC 802A2ADC AFA5008C */ sw $a1, 0x8c($sp) -/* 10C0F0 802A2AE0 25EF8864 */ addiu $t7, %lo(D_802B8864) # addiu $t7, $t7, -0x779c -/* 10C0F4 802A2AE4 8DE10000 */ lw $at, ($t7) -/* 10C0F8 802A2AE8 27AE0080 */ addiu $t6, $sp, 0x80 -/* 10C0FC 802A2AEC 3C09800E */ lui $t1, %hi(camera1) # $t1, 0x800e -/* 10C100 802A2AF0 ADC10000 */ sw $at, ($t6) -/* 10C104 802A2AF4 95E10004 */ lhu $at, 4($t7) -/* 10C108 802A2AF8 24070000 */ li $a3, 0 -/* 10C10C 802A2AFC A5C10004 */ sh $at, 4($t6) -/* 10C110 802A2B00 8D29DB40 */ lw $t1, %lo(camera1)($t1) -/* 10C114 802A2B04 240100B8 */ li $at, 184 -/* 10C118 802A2B08 8FA5008C */ lw $a1, 0x8c($sp) -/* 10C11C 802A2B0C 00895023 */ subu $t2, $a0, $t1 -/* 10C120 802A2B10 0141001A */ div $zero, $t2, $at -/* 10C124 802A2B14 00005812 */ mflo $t3 -/* 10C128 802A2B18 000B6080 */ sll $t4, $t3, 2 -/* 10C12C 802A2B1C 3C018015 */ lui $at, %hi(D_80150130) -/* 10C130 802A2B20 002C0821 */ addu $at, $at, $t4 -/* 10C134 802A2B24 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 10C138 802A2B28 3C01802C */ lui $at, %hi(D_802B9A38) # $at, 0x802c -/* 10C13C 802A2B2C C4269A38 */ lwc1 $f6, %lo(D_802B9A38)($at) -/* 10C140 802A2B30 94860026 */ lhu $a2, 0x26($a0) -/* 10C144 802A2B34 24A50018 */ addiu $a1, $a1, 0x18 -/* 10C148 802A2B38 AFA50020 */ sw $a1, 0x20($sp) -/* 10C14C 802A2B3C E7A40010 */ swc1 $f4, 0x10($sp) -/* 10C150 802A2B40 0C0AE034 */ jal func_802B80D0 -/* 10C154 802A2B44 E7A60014 */ swc1 $f6, 0x14($sp) -/* 10C158 802A2B48 44804000 */ mtc1 $zero, $f8 -/* 10C15C 802A2B4C 8FA6008C */ lw $a2, 0x8c($sp) -/* 10C160 802A2B50 8FA50020 */ lw $a1, 0x20($sp) -/* 10C164 802A2B54 4608003C */ c.lt.s $f0, $f8 -/* 10C168 802A2B58 24C60010 */ addiu $a2, $a2, 0x10 -/* 10C16C 802A2B5C 45030043 */ bc1tl .L802A2C6C -/* 10C170 802A2B60 8FBF001C */ lw $ra, 0x1c($sp) -/* 10C174 802A2B64 0C0AD7DD */ jal func_802B5F74 -/* 10C178 802A2B68 27A40040 */ addiu $a0, $sp, 0x40 -/* 10C17C 802A2B6C 27A40040 */ addiu $a0, $sp, 0x40 -/* 10C180 802A2B70 0C0AD3FE */ jal func_802B4FF8 -/* 10C184 802A2B74 00002825 */ move $a1, $zero -/* 10C188 802A2B78 1040003B */ beqz $v0, .L802A2C68 -/* 10C18C 802A2B7C 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 10C190 802A2B80 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 10C194 802A2B84 8C620000 */ lw $v0, ($v1) -/* 10C198 802A2B88 3C06B700 */ lui $a2, 0xb700 -/* 10C19C 802A2B8C 3C190002 */ lui $t9, 2 -/* 10C1A0 802A2B90 244D0008 */ addiu $t5, $v0, 8 -/* 10C1A4 802A2B94 AC6D0000 */ sw $t5, ($v1) -/* 10C1A8 802A2B98 AC590004 */ sw $t9, 4($v0) -/* 10C1AC 802A2B9C AC460000 */ sw $a2, ($v0) -/* 10C1B0 802A2BA0 8C620000 */ lw $v0, ($v1) -/* 10C1B4 802A2BA4 24072000 */ li $a3, 8192 -/* 10C1B8 802A2BA8 3C0EB600 */ lui $t6, 0xb600 -/* 10C1BC 802A2BAC 24580008 */ addiu $t8, $v0, 8 -/* 10C1C0 802A2BB0 AC780000 */ sw $t8, ($v1) -/* 10C1C4 802A2BB4 AC470004 */ sw $a3, 4($v0) -/* 10C1C8 802A2BB8 AC4E0000 */ sw $t6, ($v0) -/* 10C1CC 802A2BBC 8FAF008C */ lw $t7, 0x8c($sp) -/* 10C1D0 802A2BC0 3C0A8016 */ lui $t2, %hi(D_801637B8) # 0x8016 -/* 10C1D4 802A2BC4 85E80006 */ lh $t0, 6($t7) -/* 10C1D8 802A2BC8 00084840 */ sll $t1, $t0, 1 -/* 10C1DC 802A2BCC 01495021 */ addu $t2, $t2, $t1 -/* 10C1E0 802A2BD0 954A37B8 */ lhu $t2, %lo(D_801637B8)($t2) # 0x37b8($t2) -/* 10C1E4 802A2BD4 51400018 */ beql $t2, $zero, .L802A2C38 -/* 10C1E8 802A2BD8 8C620000 */ lw $v0, ($v1) -/* 10C1EC 802A2BDC 85EB0004 */ lh $t3, 4($t7) -/* 10C1F0 802A2BE0 3C0D0600 */ lui $t5, 0x600 -/* 10C1F4 802A2BE4 3C0E0600 */ lui $t6, 0x600 -/* 10C1F8 802A2BE8 29610014 */ slti $at, $t3, 0x14 -/* 10C1FC 802A2BEC 5020000A */ beql $at, $zero, .L802A2C18 -/* 10C200 802A2BF0 8C620000 */ lw $v0, ($v1) -/* 10C204 802A2BF4 8C620000 */ lw $v0, ($v1) -/* 10C208 802A2BF8 3C190601 */ lui $t9, %hi(D_06010AE8) # $t9, 0x601 -/* 10C20C 802A2BFC 27390AE8 */ addiu $t9, %lo(D_06010AE8) # addiu $t9, $t9, 0xae8 -/* 10C210 802A2C00 244C0008 */ addiu $t4, $v0, 8 -/* 10C214 802A2C04 AC6C0000 */ sw $t4, ($v1) -/* 10C218 802A2C08 AC590004 */ sw $t9, 4($v0) -/* 10C21C 802A2C0C 10000011 */ b .L802A2C54 -/* 10C220 802A2C10 AC4D0000 */ sw $t5, ($v0) -/* 10C224 802A2C14 8C620000 */ lw $v0, ($v1) -.L802A2C18: -/* 10C228 802A2C18 3C080601 */ lui $t0, %hi(D_06010C10) # $t0, 0x601 -/* 10C22C 802A2C1C 25080C10 */ addiu $t0, %lo(D_06010C10) # addiu $t0, $t0, 0xc10 -/* 10C230 802A2C20 24580008 */ addiu $t8, $v0, 8 -/* 10C234 802A2C24 AC780000 */ sw $t8, ($v1) -/* 10C238 802A2C28 AC480004 */ sw $t0, 4($v0) -/* 10C23C 802A2C2C 10000009 */ b .L802A2C54 -/* 10C240 802A2C30 AC4E0000 */ sw $t6, ($v0) -/* 10C244 802A2C34 8C620000 */ lw $v0, ($v1) -.L802A2C38: -/* 10C248 802A2C38 3C0F0601 */ lui $t7, %hi(D_06010D38) # $t7, 0x601 -/* 10C24C 802A2C3C 25EF0D38 */ addiu $t7, %lo(D_06010D38) # addiu $t7, $t7, 0xd38 -/* 10C250 802A2C40 24490008 */ addiu $t1, $v0, 8 -/* 10C254 802A2C44 AC690000 */ sw $t1, ($v1) -/* 10C258 802A2C48 3C0A0600 */ lui $t2, 0x600 -/* 10C25C 802A2C4C AC4A0000 */ sw $t2, ($v0) -/* 10C260 802A2C50 AC4F0004 */ sw $t7, 4($v0) -.L802A2C54: -/* 10C264 802A2C54 8C620000 */ lw $v0, ($v1) -/* 10C268 802A2C58 244B0008 */ addiu $t3, $v0, 8 -/* 10C26C 802A2C5C AC6B0000 */ sw $t3, ($v1) -/* 10C270 802A2C60 AC470004 */ sw $a3, 4($v0) -/* 10C274 802A2C64 AC460000 */ sw $a2, ($v0) -.L802A2C68: -/* 10C278 802A2C68 8FBF001C */ lw $ra, 0x1c($sp) -.L802A2C6C: -/* 10C27C 802A2C6C 27BD0088 */ addiu $sp, $sp, 0x88 -/* 10C280 802A2C70 03E00008 */ jr $ra -/* 10C284 802A2C74 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_802A2C78.s b/asm/non_matchings/code_actors/func_802A2C78.s deleted file mode 100644 index 1d28da99a..000000000 --- a/asm/non_matchings/code_actors/func_802A2C78.s +++ /dev/null @@ -1,183 +0,0 @@ -glabel func_802A2C78 -/* 10C288 802A2C78 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 10C28C 802A2C7C 3C0F802C */ lui $t7, %hi(D_802B886C) # $t7, 0x802c -/* 10C290 802A2C80 AFBF001C */ sw $ra, 0x1c($sp) -/* 10C294 802A2C84 AFA500B4 */ sw $a1, 0xb4($sp) -/* 10C298 802A2C88 AFA600B8 */ sw $a2, 0xb8($sp) -/* 10C29C 802A2C8C 25EF886C */ addiu $t7, %lo(D_802B886C) # addiu $t7, $t7, -0x7794 -/* 10C2A0 802A2C90 8DE10000 */ lw $at, ($t7) -/* 10C2A4 802A2C94 27AE00A8 */ addiu $t6, $sp, 0xa8 -/* 10C2A8 802A2C98 24070000 */ li $a3, 0 -/* 10C2AC 802A2C9C ADC10000 */ sw $at, ($t6) -/* 10C2B0 802A2CA0 95E10004 */ lhu $at, 4($t7) -/* 10C2B4 802A2CA4 3C19800E */ lui $t9, %hi(camera1) # $t9, 0x800e -/* 10C2B8 802A2CA8 A5C10004 */ sh $at, 4($t6) -/* 10C2BC 802A2CAC 8FAC00B8 */ lw $t4, 0xb8($sp) -/* 10C2C0 802A2CB0 8FA500B8 */ lw $a1, 0xb8($sp) -/* 10C2C4 802A2CB4 240100B8 */ li $at, 184 -/* 10C2C8 802A2CB8 85820002 */ lh $v0, 2($t4) -/* 10C2CC 802A2CBC 24A50018 */ addiu $a1, $a1, 0x18 -/* 10C2D0 802A2CC0 304D0800 */ andi $t5, $v0, 0x800 -/* 10C2D4 802A2CC4 55A00098 */ bnel $t5, $zero, .L802A2F28 -/* 10C2D8 802A2CC8 8FBF001C */ lw $ra, 0x1c($sp) -/* 10C2DC 802A2CCC 8F39DB40 */ lw $t9, %lo(camera1)($t9) -/* 10C2E0 802A2CD0 94860026 */ lhu $a2, 0x26($a0) -/* 10C2E4 802A2CD4 AFA50020 */ sw $a1, 0x20($sp) -/* 10C2E8 802A2CD8 0099C023 */ subu $t8, $a0, $t9 -/* 10C2EC 802A2CDC 0301001A */ div $zero, $t8, $at -/* 10C2F0 802A2CE0 00007012 */ mflo $t6 -/* 10C2F4 802A2CE4 000E7880 */ sll $t7, $t6, 2 -/* 10C2F8 802A2CE8 3C018015 */ lui $at, %hi(D_80150130) -/* 10C2FC 802A2CEC 002F0821 */ addu $at, $at, $t7 -/* 10C300 802A2CF0 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 10C304 802A2CF4 3C01802C */ lui $at, %hi(D_802B9A3C) # $at, 0x802c -/* 10C308 802A2CF8 C4269A3C */ lwc1 $f6, %lo(D_802B9A3C)($at) -/* 10C30C 802A2CFC A7A20062 */ sh $v0, 0x62($sp) -/* 10C310 802A2D00 E7A40010 */ swc1 $f4, 0x10($sp) -/* 10C314 802A2D04 0C0AE034 */ jal func_802B80D0 -/* 10C318 802A2D08 E7A60014 */ swc1 $f6, 0x14($sp) -/* 10C31C 802A2D0C 44804000 */ mtc1 $zero, $f8 -/* 10C320 802A2D10 87A20062 */ lh $v0, 0x62($sp) -/* 10C324 802A2D14 4608003C */ c.lt.s $f0, $f8 -/* 10C328 802A2D18 304B0400 */ andi $t3, $v0, 0x400 -/* 10C32C 802A2D1C 45030082 */ bc1tl .L802A2F28 -/* 10C330 802A2D20 8FBF001C */ lw $ra, 0x1c($sp) -/* 10C334 802A2D24 1560000A */ bnez $t3, .L802A2D50 -/* 10C338 802A2D28 3C01802C */ lui $at, %hi(D_802B9A40) # $at, 0x802c -/* 10C33C 802A2D2C C42A9A40 */ lwc1 $f10, %lo(D_802B9A40)($at) -/* 10C340 802A2D30 8FA500B8 */ lw $a1, 0xb8($sp) -/* 10C344 802A2D34 8FA40020 */ lw $a0, 0x20($sp) -/* 10C348 802A2D38 460A003C */ c.lt.s $f0, $f10 -/* 10C34C 802A2D3C 24A50010 */ addiu $a1, $a1, 0x10 -/* 10C350 802A2D40 45020004 */ bc1fl .L802A2D54 -/* 10C354 802A2D44 27A40068 */ addiu $a0, $sp, 0x68 -/* 10C358 802A2D48 0C0A5E53 */ jal func_8029794C -/* 10C35C 802A2D4C 3C064000 */ lui $a2, 0x4000 -.L802A2D50: -/* 10C360 802A2D50 27A40068 */ addiu $a0, $sp, 0x68 -.L802A2D54: -/* 10C364 802A2D54 8FA50020 */ lw $a1, 0x20($sp) -/* 10C368 802A2D58 0C0AD7DD */ jal func_802B5F74 -/* 10C36C 802A2D5C 27A600A8 */ addiu $a2, $sp, 0xa8 -/* 10C370 802A2D60 27A40068 */ addiu $a0, $sp, 0x68 -/* 10C374 802A2D64 0C0AD3FE */ jal func_802B4FF8 -/* 10C378 802A2D68 00002825 */ move $a1, $zero -/* 10C37C 802A2D6C 1040006D */ beqz $v0, .L802A2F24 -/* 10C380 802A2D70 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 10C384 802A2D74 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 10C388 802A2D78 8C620000 */ lw $v0, ($v1) -/* 10C38C 802A2D7C 3C0DBA00 */ lui $t5, (0xBA000E02 >> 16) # lui $t5, 0xba00 -/* 10C390 802A2D80 35AD0E02 */ ori $t5, (0xBA000E02 & 0xFFFF) # ori $t5, $t5, 0xe02 -/* 10C394 802A2D84 244C0008 */ addiu $t4, $v0, 8 -/* 10C398 802A2D88 AC6C0000 */ sw $t4, ($v1) -/* 10C39C 802A2D8C AC400004 */ sw $zero, 4($v0) -/* 10C3A0 802A2D90 AC4D0000 */ sw $t5, ($v0) -/* 10C3A4 802A2D94 8C620000 */ lw $v0, ($v1) -/* 10C3A8 802A2D98 3C0AB700 */ lui $t2, 0xb700 -/* 10C3AC 802A2D9C 3C180002 */ lui $t8, 2 -/* 10C3B0 802A2DA0 24590008 */ addiu $t9, $v0, 8 -/* 10C3B4 802A2DA4 AC790000 */ sw $t9, ($v1) -/* 10C3B8 802A2DA8 AC580004 */ sw $t8, 4($v0) -/* 10C3BC 802A2DAC AC4A0000 */ sw $t2, ($v0) -/* 10C3C0 802A2DB0 8FAE00B8 */ lw $t6, 0xb8($sp) -/* 10C3C4 802A2DB4 3C080600 */ lui $t0, 0x600 -/* 10C3C8 802A2DB8 24010001 */ li $at, 1 -/* 10C3CC 802A2DBC 85C60004 */ lh $a2, 4($t6) -/* 10C3D0 802A2DC0 50C00009 */ beql $a2, $zero, .L802A2DE8 -/* 10C3D4 802A2DC4 8C620000 */ lw $v0, ($v1) -/* 10C3D8 802A2DC8 10C10021 */ beq $a2, $at, .L802A2E50 -/* 10C3DC 802A2DCC 3C080600 */ lui $t0, 0x600 -/* 10C3E0 802A2DD0 24010002 */ li $at, 2 -/* 10C3E4 802A2DD4 10C10039 */ beq $a2, $at, .L802A2EBC -/* 10C3E8 802A2DD8 3C080600 */ lui $t0, 0x600 -/* 10C3EC 802A2DDC 10000052 */ b .L802A2F28 -/* 10C3F0 802A2DE0 8FBF001C */ lw $ra, 0x1c($sp) -/* 10C3F4 802A2DE4 8C620000 */ lw $v0, ($v1) -.L802A2DE8: -/* 10C3F8 802A2DE8 3C0B0602 */ lui $t3, %hi(D_060186B8) # $t3, 0x602 -/* 10C3FC 802A2DEC 256B86B8 */ addiu $t3, %lo(D_060186B8) # addiu $t3, $t3, -0x7948 -/* 10C400 802A2DF0 244F0008 */ addiu $t7, $v0, 8 -/* 10C404 802A2DF4 AC6F0000 */ sw $t7, ($v1) -/* 10C408 802A2DF8 AC4B0004 */ sw $t3, 4($v0) -/* 10C40C 802A2DFC AC480000 */ sw $t0, ($v0) -/* 10C410 802A2E00 8C620000 */ lw $v0, ($v1) -/* 10C414 802A2E04 24092000 */ li $t1, 8192 -/* 10C418 802A2E08 3C0DB600 */ lui $t5, 0xb600 -/* 10C41C 802A2E0C 244C0008 */ addiu $t4, $v0, 8 -/* 10C420 802A2E10 AC6C0000 */ sw $t4, ($v1) -/* 10C424 802A2E14 AC490004 */ sw $t1, 4($v0) -/* 10C428 802A2E18 AC4D0000 */ sw $t5, ($v0) -/* 10C42C 802A2E1C 8C620000 */ lw $v0, ($v1) -/* 10C430 802A2E20 3C180602 */ lui $t8, %hi(D_060185F8) # $t8, 0x602 -/* 10C434 802A2E24 271885F8 */ addiu $t8, %lo(D_060185F8) # addiu $t8, $t8, -0x7a08 -/* 10C438 802A2E28 24590008 */ addiu $t9, $v0, 8 -/* 10C43C 802A2E2C AC790000 */ sw $t9, ($v1) -/* 10C440 802A2E30 AC580004 */ sw $t8, 4($v0) -/* 10C444 802A2E34 AC480000 */ sw $t0, ($v0) -/* 10C448 802A2E38 8C620000 */ lw $v0, ($v1) -/* 10C44C 802A2E3C 244E0008 */ addiu $t6, $v0, 8 -/* 10C450 802A2E40 AC6E0000 */ sw $t6, ($v1) -/* 10C454 802A2E44 AC490004 */ sw $t1, 4($v0) -/* 10C458 802A2E48 10000036 */ b .L802A2F24 -/* 10C45C 802A2E4C AC4A0000 */ sw $t2, ($v0) -.L802A2E50: -/* 10C460 802A2E50 8C620000 */ lw $v0, ($v1) -/* 10C464 802A2E54 3C0B0602 */ lui $t3, %hi(D_06018A08) # $t3, 0x602 -/* 10C468 802A2E58 256B8A08 */ addiu $t3, %lo(D_06018A08) # addiu $t3, $t3, -0x75f8 -/* 10C46C 802A2E5C 244F0008 */ addiu $t7, $v0, 8 -/* 10C470 802A2E60 AC6F0000 */ sw $t7, ($v1) -/* 10C474 802A2E64 AC4B0004 */ sw $t3, 4($v0) -/* 10C478 802A2E68 AC480000 */ sw $t0, ($v0) -/* 10C47C 802A2E6C 8C620000 */ lw $v0, ($v1) -/* 10C480 802A2E70 24092000 */ li $t1, 8192 -/* 10C484 802A2E74 3C0DB600 */ lui $t5, 0xb600 -/* 10C488 802A2E78 244C0008 */ addiu $t4, $v0, 8 -/* 10C48C 802A2E7C AC6C0000 */ sw $t4, ($v1) -/* 10C490 802A2E80 AC490004 */ sw $t1, 4($v0) -/* 10C494 802A2E84 AC4D0000 */ sw $t5, ($v0) -/* 10C498 802A2E88 8C620000 */ lw $v0, ($v1) -/* 10C49C 802A2E8C 3C180602 */ lui $t8, %hi(D_06018948) # $t8, 0x602 -/* 10C4A0 802A2E90 27188948 */ addiu $t8, %lo(D_06018948) # addiu $t8, $t8, -0x76b8 -/* 10C4A4 802A2E94 24590008 */ addiu $t9, $v0, 8 -/* 10C4A8 802A2E98 AC790000 */ sw $t9, ($v1) -/* 10C4AC 802A2E9C AC580004 */ sw $t8, 4($v0) -/* 10C4B0 802A2EA0 AC480000 */ sw $t0, ($v0) -/* 10C4B4 802A2EA4 8C620000 */ lw $v0, ($v1) -/* 10C4B8 802A2EA8 244E0008 */ addiu $t6, $v0, 8 -/* 10C4BC 802A2EAC AC6E0000 */ sw $t6, ($v1) -/* 10C4C0 802A2EB0 AC490004 */ sw $t1, 4($v0) -/* 10C4C4 802A2EB4 1000001B */ b .L802A2F24 -/* 10C4C8 802A2EB8 AC4A0000 */ sw $t2, ($v0) -.L802A2EBC: -/* 10C4CC 802A2EBC 8C620000 */ lw $v0, ($v1) -/* 10C4D0 802A2EC0 3C0B0602 */ lui $t3, %hi(D_06018D58) # $t3, 0x602 -/* 10C4D4 802A2EC4 256B8D58 */ addiu $t3, %lo(D_06018D58) # addiu $t3, $t3, -0x72a8 -/* 10C4D8 802A2EC8 244F0008 */ addiu $t7, $v0, 8 -/* 10C4DC 802A2ECC AC6F0000 */ sw $t7, ($v1) -/* 10C4E0 802A2ED0 AC4B0004 */ sw $t3, 4($v0) -/* 10C4E4 802A2ED4 AC480000 */ sw $t0, ($v0) -/* 10C4E8 802A2ED8 8C620000 */ lw $v0, ($v1) -/* 10C4EC 802A2EDC 24092000 */ li $t1, 8192 -/* 10C4F0 802A2EE0 3C0DB600 */ lui $t5, 0xb600 -/* 10C4F4 802A2EE4 244C0008 */ addiu $t4, $v0, 8 -/* 10C4F8 802A2EE8 AC6C0000 */ sw $t4, ($v1) -/* 10C4FC 802A2EEC AC490004 */ sw $t1, 4($v0) -/* 10C500 802A2EF0 AC4D0000 */ sw $t5, ($v0) -/* 10C504 802A2EF4 8C620000 */ lw $v0, ($v1) -/* 10C508 802A2EF8 3C180602 */ lui $t8, %hi(D_06018C98) # $t8, 0x602 -/* 10C50C 802A2EFC 27188C98 */ addiu $t8, %lo(D_06018C98) # addiu $t8, $t8, -0x7368 -/* 10C510 802A2F00 24590008 */ addiu $t9, $v0, 8 -/* 10C514 802A2F04 AC790000 */ sw $t9, ($v1) -/* 10C518 802A2F08 AC580004 */ sw $t8, 4($v0) -/* 10C51C 802A2F0C AC480000 */ sw $t0, ($v0) -/* 10C520 802A2F10 8C620000 */ lw $v0, ($v1) -/* 10C524 802A2F14 244E0008 */ addiu $t6, $v0, 8 -/* 10C528 802A2F18 AC6E0000 */ sw $t6, ($v1) -/* 10C52C 802A2F1C AC490004 */ sw $t1, 4($v0) -/* 10C530 802A2F20 AC4A0000 */ sw $t2, ($v0) -.L802A2F24: -/* 10C534 802A2F24 8FBF001C */ lw $ra, 0x1c($sp) -.L802A2F28: -/* 10C538 802A2F28 27BD00B0 */ addiu $sp, $sp, 0xb0 -/* 10C53C 802A2F2C 03E00008 */ jr $ra -/* 10C540 802A2F30 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_802A2F34.s b/asm/non_matchings/code_actors/func_802A2F34.s deleted file mode 100644 index b49857478..000000000 --- a/asm/non_matchings/code_actors/func_802A2F34.s +++ /dev/null @@ -1,59 +0,0 @@ -glabel func_802A2F34 -/* 10C544 802A2F34 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 10C548 802A2F38 AFB2001C */ sw $s2, 0x1c($sp) -/* 10C54C 802A2F3C AFB00014 */ sw $s0, 0x14($sp) -/* 10C550 802A2F40 AFBF002C */ sw $ra, 0x2c($sp) -/* 10C554 802A2F44 AFB50028 */ sw $s5, 0x28($sp) -/* 10C558 802A2F48 AFB40024 */ sw $s4, 0x24($sp) -/* 10C55C 802A2F4C AFB30020 */ sw $s3, 0x20($sp) -/* 10C560 802A2F50 AFB10018 */ sw $s1, 0x18($sp) -/* 10C564 802A2F54 8C910004 */ lw $s1, 4($a0) -/* 10C568 802A2F58 3C018016 */ lui $at, %hi(D_8015F8DC) # $at, 0x8016 -/* 10C56C 802A2F5C 3C108016 */ lui $s0, %hi(D_8015F9B8) # $s0, 0x8016 -/* 10C570 802A2F60 3C128016 */ lui $s2, %hi(D_80162578) # $s2, 0x8016 -/* 10C574 802A2F64 AC20F8DC */ sw $zero, %lo(D_8015F8DC)($at) -/* 10C578 802A2F68 26522578 */ addiu $s2, %lo(D_80162578) # addiu $s2, $s2, 0x2578 -/* 10C57C 802A2F6C 2610F9B8 */ addiu $s0, %lo(D_8015F9B8) # addiu $s0, $s0, -0x648 -/* 10C580 802A2F70 2413000C */ li $s3, 12 -/* 10C584 802A2F74 2414000D */ li $s4, 13 -/* 10C588 802A2F78 2415002B */ li $s5, 43 -/* 10C58C 802A2F7C 860E0002 */ lh $t6, 2($s0) -.L802A2F80: -/* 10C590 802A2F80 51C00016 */ beql $t6, $zero, .L802A2FDC -/* 10C594 802A2F84 26100070 */ addiu $s0, $s0, 0x70 -/* 10C598 802A2F88 86020000 */ lh $v0, ($s0) -/* 10C59C 802A2F8C 02202025 */ move $a0, $s1 -/* 10C5A0 802A2F90 1053000B */ beq $v0, $s3, .L802A2FC0 -/* 10C5A4 802A2F94 00000000 */ nop -/* 10C5A8 802A2F98 10540005 */ beq $v0, $s4, .L802A2FB0 -/* 10C5AC 802A2F9C 02202025 */ move $a0, $s1 -/* 10C5B0 802A2FA0 1055000B */ beq $v0, $s5, .L802A2FD0 -/* 10C5B4 802A2FA4 02202025 */ move $a0, $s1 -/* 10C5B8 802A2FA8 1000000C */ b .L802A2FDC -/* 10C5BC 802A2FAC 26100070 */ addiu $s0, $s0, 0x70 -.L802A2FB0: -/* 10C5C0 802A2FB0 0C0A85C7 */ jal func_802A171C -/* 10C5C4 802A2FB4 02002825 */ move $a1, $s0 -/* 10C5C8 802A2FB8 10000008 */ b .L802A2FDC -/* 10C5CC 802A2FBC 26100070 */ addiu $s0, $s0, 0x70 -.L802A2FC0: -/* 10C5D0 802A2FC0 0C0A87A8 */ jal func_802A1EA0 -/* 10C5D4 802A2FC4 02002825 */ move $a1, $s0 -/* 10C5D8 802A2FC8 10000004 */ b .L802A2FDC -/* 10C5DC 802A2FCC 26100070 */ addiu $s0, $s0, 0x70 -.L802A2FD0: -/* 10C5E0 802A2FD0 0C0A87A8 */ jal func_802A1EA0 -/* 10C5E4 802A2FD4 02002825 */ move $a1, $s0 -/* 10C5E8 802A2FD8 26100070 */ addiu $s0, $s0, 0x70 -.L802A2FDC: -/* 10C5EC 802A2FDC 5612FFE8 */ bnel $s0, $s2, .L802A2F80 -/* 10C5F0 802A2FE0 860E0002 */ lh $t6, 2($s0) -/* 10C5F4 802A2FE4 8FBF002C */ lw $ra, 0x2c($sp) -/* 10C5F8 802A2FE8 8FB00014 */ lw $s0, 0x14($sp) -/* 10C5FC 802A2FEC 8FB10018 */ lw $s1, 0x18($sp) -/* 10C600 802A2FF0 8FB2001C */ lw $s2, 0x1c($sp) -/* 10C604 802A2FF4 8FB30020 */ lw $s3, 0x20($sp) -/* 10C608 802A2FF8 8FB40024 */ lw $s4, 0x24($sp) -/* 10C60C 802A2FFC 8FB50028 */ lw $s5, 0x28($sp) -/* 10C610 802A3000 03E00008 */ jr $ra -/* 10C614 802A3004 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/non_matchings/code_actors/func_802A3008.s b/asm/non_matchings/code_actors/func_802A3008.s deleted file mode 100644 index f552e9f4a..000000000 --- a/asm/non_matchings/code_actors/func_802A3008.s +++ /dev/null @@ -1,377 +0,0 @@ -glabel func_802A3008 -/* 10C618 802A3008 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 10C61C 802A300C AFBF0024 */ sw $ra, 0x24($sp) -/* 10C620 802A3010 AFB20020 */ sw $s2, 0x20($sp) -/* 10C624 802A3014 AFB1001C */ sw $s1, 0x1c($sp) -/* 10C628 802A3018 AFB00018 */ sw $s0, 0x18($sp) -/* 10C62C 802A301C 848E0038 */ lh $t6, 0x38($a0) -/* 10C630 802A3020 8C910004 */ lw $s1, 4($a0) -/* 10C634 802A3024 3C18802C */ lui $t8, %hi(D_802B8874) # $t8, 0x802c -/* 10C638 802A3028 27188874 */ addiu $t8, %lo(D_802B8874) # addiu $t8, $t8, -0x778c -/* 10C63C 802A302C A7AE0092 */ sh $t6, 0x92($sp) -/* 10C640 802A3030 8F010000 */ lw $at, ($t8) -/* 10C644 802A3034 27AF004C */ addiu $t7, $sp, 0x4c -/* 10C648 802A3038 8F0A0004 */ lw $t2, 4($t8) -/* 10C64C 802A303C ADE10000 */ sw $at, ($t7) -/* 10C650 802A3040 8F010008 */ lw $at, 8($t8) -/* 10C654 802A3044 ADEA0004 */ sw $t2, 4($t7) -/* 10C658 802A3048 ADE10008 */ sw $at, 8($t7) -/* 10C65C 802A304C 86240026 */ lh $a0, 0x26($s1) -/* 10C660 802A3050 24018000 */ li $at, -32768 -/* 10C664 802A3054 00812021 */ addu $a0, $a0, $at -/* 10C668 802A3058 308BFFFF */ andi $t3, $a0, 0xffff -/* 10C66C 802A305C 0C0AE006 */ jal sins -/* 10C670 802A3060 01602025 */ move $a0, $t3 -/* 10C674 802A3064 86240026 */ lh $a0, 0x26($s1) -/* 10C678 802A3068 24018000 */ li $at, -32768 -/* 10C67C 802A306C E7A00048 */ swc1 $f0, 0x48($sp) -/* 10C680 802A3070 00812021 */ addu $a0, $a0, $at -/* 10C684 802A3074 308CFFFF */ andi $t4, $a0, 0xffff -/* 10C688 802A3078 0C0AE00E */ jal coss -/* 10C68C 802A307C 01802025 */ move $a0, $t4 -/* 10C690 802A3080 3C128015 */ lui $s2, %hi(D_801502C0) # $s2, 0x8015 -/* 10C694 802A3084 265202C0 */ addiu $s2, %lo(D_801502C0) # addiu $s2, $s2, 0x2c0 -/* 10C698 802A3088 44801000 */ mtc1 $zero, $f2 -/* 10C69C 802A308C 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 10C6A0 802A3090 C7AC0048 */ lwc1 $f12, 0x48($sp) -/* 10C6A4 802A3094 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 10C6A8 802A3098 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 10C6AC 802A309C 44817000 */ mtc1 $at, $f14 -/* 10C6B0 802A30A0 8C620000 */ lw $v0, ($v1) -/* 10C6B4 802A30A4 46006107 */ neg.s $f4, $f12 -/* 10C6B8 802A30A8 E6400000 */ swc1 $f0, ($s2) -/* 10C6BC 802A30AC 244D0008 */ addiu $t5, $v0, 8 -/* 10C6C0 802A30B0 E6440008 */ swc1 $f4, 8($s2) -/* 10C6C4 802A30B4 E6400028 */ swc1 $f0, 0x28($s2) -/* 10C6C8 802A30B8 AC6D0000 */ sw $t5, ($v1) -/* 10C6CC 802A30BC E6420010 */ swc1 $f2, 0x10($s2) -/* 10C6D0 802A30C0 E6420004 */ swc1 $f2, 4($s2) -/* 10C6D4 802A30C4 E6420024 */ swc1 $f2, 0x24($s2) -/* 10C6D8 802A30C8 E6420018 */ swc1 $f2, 0x18($s2) -/* 10C6DC 802A30CC E642000C */ swc1 $f2, 0xc($s2) -/* 10C6E0 802A30D0 E642001C */ swc1 $f2, 0x1c($s2) -/* 10C6E4 802A30D4 E642002C */ swc1 $f2, 0x2c($s2) -/* 10C6E8 802A30D8 E64C0020 */ swc1 $f12, 0x20($s2) -/* 10C6EC 802A30DC E64E0014 */ swc1 $f14, 0x14($s2) -/* 10C6F0 802A30E0 E64E003C */ swc1 $f14, 0x3c($s2) -/* 10C6F4 802A30E4 3C0EB600 */ lui $t6, 0xb600 -/* 10C6F8 802A30E8 3C090002 */ lui $t1, 2 -/* 10C6FC 802A30EC AC490004 */ sw $t1, 4($v0) -/* 10C700 802A30F0 AC4E0000 */ sw $t6, ($v0) -/* 10C704 802A30F4 8C620000 */ lw $v0, ($v1) -/* 10C708 802A30F8 3C0FBC00 */ lui $t7, (0xBC000002 >> 16) # lui $t7, 0xbc00 -/* 10C70C 802A30FC 3C188000 */ lui $t8, (0x80000040 >> 16) # lui $t8, 0x8000 -/* 10C710 802A3100 24590008 */ addiu $t9, $v0, 8 -/* 10C714 802A3104 AC790000 */ sw $t9, ($v1) -/* 10C718 802A3108 37180040 */ ori $t8, (0x80000040 & 0xFFFF) # ori $t8, $t8, 0x40 -/* 10C71C 802A310C 35EF0002 */ ori $t7, (0xBC000002 & 0xFFFF) # ori $t7, $t7, 2 -/* 10C720 802A3110 AC4F0000 */ sw $t7, ($v0) -/* 10C724 802A3114 AC580004 */ sw $t8, 4($v0) -/* 10C728 802A3118 8C620000 */ lw $v0, ($v1) -/* 10C72C 802A311C 3C0B0386 */ lui $t3, (0x03860010 >> 16) # lui $t3, 0x386 -/* 10C730 802A3120 3C0C800E */ lui $t4, %hi(D_800DC610+0x20) # $t4, 0x800e -/* 10C734 802A3124 244A0008 */ addiu $t2, $v0, 8 -/* 10C738 802A3128 AC6A0000 */ sw $t2, ($v1) -/* 10C73C 802A312C 258CC630 */ addiu $t4, %lo(D_800DC610+0x20) # addiu $t4, $t4, -0x39d0 -/* 10C740 802A3130 356B0010 */ ori $t3, (0x03860010 & 0xFFFF) # ori $t3, $t3, 0x10 -/* 10C744 802A3134 AC4B0000 */ sw $t3, ($v0) -/* 10C748 802A3138 AC4C0004 */ sw $t4, 4($v0) -/* 10C74C 802A313C 8C620000 */ lw $v0, ($v1) -/* 10C750 802A3140 3C0E0388 */ lui $t6, (0x03880010 >> 16) # lui $t6, 0x388 -/* 10C754 802A3144 3C09800E */ lui $t1, %hi(D_800DC610+0x18) # $t1, 0x800e -/* 10C758 802A3148 244D0008 */ addiu $t5, $v0, 8 -/* 10C75C 802A314C AC6D0000 */ sw $t5, ($v1) -/* 10C760 802A3150 2529C628 */ addiu $t1, %lo(D_800DC610+0x18) # addiu $t1, $t1, -0x39d8 -/* 10C764 802A3154 35CE0010 */ ori $t6, (0x03880010 & 0xFFFF) # ori $t6, $t6, 0x10 -/* 10C768 802A3158 AC4E0000 */ sw $t6, ($v0) -/* 10C76C 802A315C AC490004 */ sw $t1, 4($v0) -/* 10C770 802A3160 8C620000 */ lw $v0, ($v1) -/* 10C774 802A3164 3C0FBB00 */ lui $t7, (0xBB000001 >> 16) # lui $t7, 0xbb00 -/* 10C778 802A3168 35EF0001 */ ori $t7, (0xBB000001 & 0xFFFF) # ori $t7, $t7, 1 -/* 10C77C 802A316C 24590008 */ addiu $t9, $v0, 8 -/* 10C780 802A3170 AC790000 */ sw $t9, ($v1) -/* 10C784 802A3174 2418FFFF */ li $t8, -1 -/* 10C788 802A3178 3C0A800E */ lui $t2, %hi(gModeSelection) # $t2, 0x800e -/* 10C78C 802A317C AC580004 */ sw $t8, 4($v0) -/* 10C790 802A3180 AC4F0000 */ sw $t7, ($v0) -/* 10C794 802A3184 8D4AC53C */ lw $t2, %lo(gModeSelection)($t2) -/* 10C798 802A3188 24010003 */ li $at, 3 -/* 10C79C 802A318C 11410003 */ beq $t2, $at, .L802A319C -/* 10C7A0 802A3190 00000000 */ nop -/* 10C7A4 802A3194 0C0A5CD0 */ jal func_80297340 -/* 10C7A8 802A3198 02202025 */ move $a0, $s1 -.L802A319C: -/* 10C7AC 802A319C 3C018016 */ lui $at, %hi(D_8015F8E0) # $at, 0x8016 -/* 10C7B0 802A31A0 3C108016 */ lui $s0, %hi(D_8015F9B8) # $s0, 0x8016 -/* 10C7B4 802A31A4 AC20F8E0 */ sw $zero, %lo(D_8015F8E0)($at) -/* 10C7B8 802A31A8 2610F9B8 */ addiu $s0, %lo(D_8015F9B8) # addiu $s0, $s0, -0x648 -/* 10C7BC 802A31AC 860B0002 */ lh $t3, 2($s0) -.L802A31B0: -/* 10C7C0 802A31B0 AFB00058 */ sw $s0, 0x58($sp) -/* 10C7C4 802A31B4 116000C7 */ beqz $t3, .L802A34D4 -/* 10C7C8 802A31B8 00000000 */ nop -/* 10C7CC 802A31BC 860C0000 */ lh $t4, ($s0) -/* 10C7D0 802A31C0 258DFFFE */ addiu $t5, $t4, -2 -/* 10C7D4 802A31C4 2DA1002C */ sltiu $at, $t5, 0x2c -/* 10C7D8 802A31C8 102000C2 */ beqz $at, .L802A34D4 -/* 10C7DC 802A31CC 000D6880 */ sll $t5, $t5, 2 -/* 10C7E0 802A31D0 3C01802C */ lui $at, %hi(jpt_802B9A44) -/* 10C7E4 802A31D4 002D0821 */ addu $at, $at, $t5 -/* 10C7E8 802A31D8 8C2D9A44 */ lw $t5, %lo(jpt_802B9A44)($at) -/* 10C7EC 802A31DC 01A00008 */ jr $t5 -/* 10C7F0 802A31E0 00000000 */ nop -glabel L802A31E4 -/* 10C7F4 802A31E4 02202025 */ move $a0, $s1 -/* 10C7F8 802A31E8 02402825 */ move $a1, $s2 -/* 10C7FC 802A31EC 0C0A6451 */ jal func_80299144 -/* 10C800 802A31F0 02003025 */ move $a2, $s0 -/* 10C804 802A31F4 100000B7 */ b .L802A34D4 -/* 10C808 802A31F8 00000000 */ nop -glabel L802A31FC -/* 10C80C 802A31FC 02202025 */ move $a0, $s1 -/* 10C810 802A3200 02402825 */ move $a1, $s2 -/* 10C814 802A3204 0C0A64C3 */ jal func_8029930C -/* 10C818 802A3208 02003025 */ move $a2, $s0 -/* 10C81C 802A320C 100000B1 */ b .L802A34D4 -/* 10C820 802A3210 00000000 */ nop -glabel L802A3214 -/* 10C824 802A3214 02202025 */ move $a0, $s1 -/* 10C828 802A3218 02402825 */ move $a1, $s2 -/* 10C82C 802A321C 0C0A6535 */ jal func_802994D4 -/* 10C830 802A3220 02003025 */ move $a2, $s0 -/* 10C834 802A3224 100000AB */ b .L802A34D4 -/* 10C838 802A3228 00000000 */ nop -glabel L802A322C -/* 10C83C 802A322C 02202025 */ move $a0, $s1 -/* 10C840 802A3230 02402825 */ move $a1, $s2 -/* 10C844 802A3234 0C0A65A7 */ jal func_8029969C -/* 10C848 802A3238 02003025 */ move $a2, $s0 -/* 10C84C 802A323C 100000A5 */ b .L802A34D4 -/* 10C850 802A3240 00000000 */ nop -glabel L802A3244 -/* 10C854 802A3244 02202025 */ move $a0, $s1 -/* 10C858 802A3248 02402825 */ move $a1, $s2 -/* 10C85C 802A324C 0C0A6619 */ jal func_80299864 -/* 10C860 802A3250 02003025 */ move $a2, $s0 -/* 10C864 802A3254 1000009F */ b .L802A34D4 -/* 10C868 802A3258 00000000 */ nop -glabel L802A325C -/* 10C86C 802A325C 02202025 */ move $a0, $s1 -/* 10C870 802A3260 02402825 */ move $a1, $s2 -/* 10C874 802A3264 0C0A668B */ jal func_80299A2C -/* 10C878 802A3268 02003025 */ move $a2, $s0 -/* 10C87C 802A326C 10000099 */ b .L802A34D4 -/* 10C880 802A3270 00000000 */ nop -glabel L802A3274 -/* 10C884 802A3274 02202025 */ move $a0, $s1 -/* 10C888 802A3278 02402825 */ move $a1, $s2 -/* 10C88C 802A327C 0C0A66FD */ jal func_80299BF4 -/* 10C890 802A3280 02003025 */ move $a2, $s0 -/* 10C894 802A3284 10000093 */ b .L802A34D4 -/* 10C898 802A3288 00000000 */ nop -glabel L802A328C -/* 10C89C 802A328C 02202025 */ move $a0, $s1 -/* 10C8A0 802A3290 02402825 */ move $a1, $s2 -/* 10C8A4 802A3294 0C0A676F */ jal func_80299DBC -/* 10C8A8 802A3298 02003025 */ move $a2, $s0 -/* 10C8AC 802A329C 1000008D */ b .L802A34D4 -/* 10C8B0 802A32A0 00000000 */ nop -glabel L802A32A4 -/* 10C8B4 802A32A4 02202025 */ move $a0, $s1 -/* 10C8B8 802A32A8 02402825 */ move $a1, $s2 -/* 10C8BC 802A32AC 0C0A67B7 */ jal func_80299EDC -/* 10C8C0 802A32B0 02003025 */ move $a2, $s0 -/* 10C8C4 802A32B4 10000087 */ b .L802A34D4 -/* 10C8C8 802A32B8 00000000 */ nop -glabel L802A32BC -/* 10C8CC 802A32BC 02202025 */ move $a0, $s1 -/* 10C8D0 802A32C0 02402825 */ move $a1, $s2 -/* 10C8D4 802A32C4 0C0A67FF */ jal func_80299FFC -/* 10C8D8 802A32C8 02003025 */ move $a2, $s0 -/* 10C8DC 802A32CC 10000081 */ b .L802A34D4 -/* 10C8E0 802A32D0 00000000 */ nop -glabel L802A32D4 -/* 10C8E4 802A32D4 02202025 */ move $a0, $s1 -/* 10C8E8 802A32D8 02402825 */ move $a1, $s2 -/* 10C8EC 802A32DC 0C0A6847 */ jal func_8029A11C -/* 10C8F0 802A32E0 02003025 */ move $a2, $s0 -/* 10C8F4 802A32E4 1000007B */ b .L802A34D4 -/* 10C8F8 802A32E8 00000000 */ nop -glabel L802A32EC -/* 10C8FC 802A32EC 02202025 */ move $a0, $s1 -/* 10C900 802A32F0 0C0A72A4 */ jal func_8029CA90 -/* 10C904 802A32F4 02002825 */ move $a1, $s0 -/* 10C908 802A32F8 10000076 */ b .L802A34D4 -/* 10C90C 802A32FC 00000000 */ nop -glabel L802A3300 -/* 10C910 802A3300 02202025 */ move $a0, $s1 -/* 10C914 802A3304 02402825 */ move $a1, $s2 -/* 10C918 802A3308 0C0A688F */ jal func_8029A23C -/* 10C91C 802A330C 02003025 */ move $a2, $s0 -/* 10C920 802A3310 10000070 */ b .L802A34D4 -/* 10C924 802A3314 00000000 */ nop -glabel L802A3318 -/* 10C928 802A3318 02202025 */ move $a0, $s1 -/* 10C92C 802A331C 02402825 */ move $a1, $s2 -/* 10C930 802A3320 0C0A6A3D */ jal func_8029A8F4 -/* 10C934 802A3324 02003025 */ move $a2, $s0 -/* 10C938 802A3328 1000006A */ b .L802A34D4 -/* 10C93C 802A332C 00000000 */ nop -glabel L802A3330 -/* 10C940 802A3330 02202025 */ move $a0, $s1 -/* 10C944 802A3334 02402825 */ move $a1, $s2 -/* 10C948 802A3338 0C0A69A4 */ jal func_8029A690 -/* 10C94C 802A333C 02003025 */ move $a2, $s0 -/* 10C950 802A3340 10000064 */ b .L802A34D4 -/* 10C954 802A3344 00000000 */ nop -glabel L802A3348 -/* 10C958 802A3348 02202025 */ move $a0, $s1 -/* 10C95C 802A334C 02402825 */ move $a1, $s2 -/* 10C960 802A3350 0C0A69D7 */ jal func_8029A75C -/* 10C964 802A3354 02003025 */ move $a2, $s0 -/* 10C968 802A3358 1000005E */ b .L802A34D4 -/* 10C96C 802A335C 00000000 */ nop -glabel L802A3360 -/* 10C970 802A3360 02202025 */ move $a0, $s1 -/* 10C974 802A3364 02402825 */ move $a1, $s2 -/* 10C978 802A3368 0C0A6A0A */ jal func_8029A828 -/* 10C97C 802A336C 02003025 */ move $a2, $s0 -/* 10C980 802A3370 10000058 */ b .L802A34D4 -/* 10C984 802A3374 00000000 */ nop -glabel L802A3378 -/* 10C988 802A3378 02202025 */ move $a0, $s1 -/* 10C98C 802A337C 02402825 */ move $a1, $s2 -/* 10C990 802A3380 0C0A60CA */ jal func_80298328 -/* 10C994 802A3384 02003025 */ move $a2, $s0 -/* 10C998 802A3388 10000052 */ b .L802A34D4 -/* 10C99C 802A338C 00000000 */ nop -glabel L802A3390 -/* 10C9A0 802A3390 02202025 */ move $a0, $s1 -/* 10C9A4 802A3394 0C0A6E3A */ jal func_8029B8E8 -/* 10C9A8 802A3398 02002825 */ move $a1, $s0 -/* 10C9AC 802A339C 1000004D */ b .L802A34D4 -/* 10C9B0 802A33A0 00000000 */ nop -glabel L802A33A4 -/* 10C9B4 802A33A4 02202025 */ move $a0, $s1 -/* 10C9B8 802A33A8 0C0A6FEC */ jal func_8029BFB0 -/* 10C9BC 802A33AC 02002825 */ move $a1, $s0 -/* 10C9C0 802A33B0 10000048 */ b .L802A34D4 -/* 10C9C4 802A33B4 00000000 */ nop -glabel L802A33B8 -/* 10C9C8 802A33B8 02202025 */ move $a0, $s1 -/* 10C9CC 802A33BC 0C0A70F3 */ jal func_8029C3CC -/* 10C9D0 802A33C0 02002825 */ move $a1, $s0 -/* 10C9D4 802A33C4 10000043 */ b .L802A34D4 -/* 10C9D8 802A33C8 00000000 */ nop -glabel L802A33CC -/* 10C9DC 802A33CC 02202025 */ move $a0, $s1 -/* 10C9E0 802A33D0 02402825 */ move $a1, $s2 -/* 10C9E4 802A33D4 0C0A5E94 */ jal func_80297A50 -/* 10C9E8 802A33D8 02003025 */ move $a2, $s0 -/* 10C9EC 802A33DC 1000003D */ b .L802A34D4 -/* 10C9F0 802A33E0 00000000 */ nop -glabel L802A33E4 -/* 10C9F4 802A33E4 02202025 */ move $a0, $s1 -/* 10C9F8 802A33E8 02402825 */ move $a1, $s2 -/* 10C9FC 802A33EC 0C0A6B06 */ jal func_8029AC18 -/* 10CA00 802A33F0 02003025 */ move $a2, $s0 -/* 10CA04 802A33F4 10000037 */ b .L802A34D4 -/* 10CA08 802A33F8 00000000 */ nop -glabel L802A33FC -/* 10CA0C 802A33FC 02202025 */ move $a0, $s1 -/* 10CA10 802A3400 02402825 */ move $a1, $s2 -/* 10CA14 802A3404 0C0A8A6F */ jal func_802A29BC -/* 10CA18 802A3408 02003025 */ move $a2, $s0 -/* 10CA1C 802A340C 10000031 */ b .L802A34D4 -/* 10CA20 802A3410 00000000 */ nop -glabel L802A3414 -/* 10CA24 802A3414 02202025 */ move $a0, $s1 -/* 10CA28 802A3418 0C0A89A7 */ jal func_802A269C -/* 10CA2C 802A341C 02002825 */ move $a1, $s0 -/* 10CA30 802A3420 1000002C */ b .L802A34D4 -/* 10CA34 802A3424 00000000 */ nop -glabel L802A3428 -/* 10CA38 802A3428 02202025 */ move $a0, $s1 -/* 10CA3C 802A342C 02402825 */ move $a1, $s2 -/* 10CA40 802A3430 0C0A8B1E */ jal func_802A2C78 -/* 10CA44 802A3434 02003025 */ move $a2, $s0 -/* 10CA48 802A3438 10000026 */ b .L802A34D4 -/* 10CA4C 802A343C 00000000 */ nop -glabel L802A3440 -/* 10CA50 802A3440 02202025 */ move $a0, $s1 -/* 10CA54 802A3444 02002825 */ move $a1, $s0 -/* 10CA58 802A3448 02403025 */ move $a2, $s2 -/* 10CA5C 802A344C 0C0A6B87 */ jal func_8029AE1C -/* 10CA60 802A3450 97A70092 */ lhu $a3, 0x92($sp) -/* 10CA64 802A3454 1000001F */ b .L802A34D4 -/* 10CA68 802A3458 00000000 */ nop -glabel L802A345C -/* 10CA6C 802A345C 02202025 */ move $a0, $s1 -/* 10CA70 802A3460 0C0A6C1B */ jal func_8029B06C -/* 10CA74 802A3464 02002825 */ move $a1, $s0 -/* 10CA78 802A3468 1000001A */ b .L802A34D4 -/* 10CA7C 802A346C 00000000 */ nop -glabel L802A3470 -/* 10CA80 802A3470 02202025 */ move $a0, $s1 -/* 10CA84 802A3474 0C0A6CB9 */ jal func_8029B2E4 -/* 10CA88 802A3478 02002825 */ move $a1, $s0 -/* 10CA8C 802A347C 10000015 */ b .L802A34D4 -/* 10CA90 802A3480 00000000 */ nop -glabel L802A3484 -/* 10CA94 802A3484 02202025 */ move $a0, $s1 -/* 10CA98 802A3488 0C0A6DBB */ jal func_8029B6EC -/* 10CA9C 802A348C 02002825 */ move $a1, $s0 -/* 10CAA0 802A3490 10000010 */ b .L802A34D4 -/* 10CAA4 802A3494 00000000 */ nop -glabel L802A3498 -/* 10CAA8 802A3498 02202025 */ move $a0, $s1 -/* 10CAAC 802A349C 0C0A6D38 */ jal func_8029B4E0 -/* 10CAB0 802A34A0 02002825 */ move $a1, $s0 -/* 10CAB4 802A34A4 1000000B */ b .L802A34D4 -/* 10CAB8 802A34A8 00000000 */ nop -glabel L802A34AC -/* 10CABC 802A34AC 02202025 */ move $a0, $s1 -/* 10CAC0 802A34B0 0C0A8AB4 */ jal func_802A2AD0 -/* 10CAC4 802A34B4 02002825 */ move $a1, $s0 -/* 10CAC8 802A34B8 10000006 */ b .L802A34D4 -/* 10CACC 802A34BC 00000000 */ nop -glabel L802A34C0 -/* 10CAD0 802A34C0 02202025 */ move $a0, $s1 -/* 10CAD4 802A34C4 02402825 */ move $a1, $s2 -/* 10CAD8 802A34C8 02003025 */ move $a2, $s0 -/* 10CADC 802A34CC 0C0A89E8 */ jal func_802A27A0 -/* 10CAE0 802A34D0 97A70092 */ lhu $a3, 0x92($sp) -.L802A34D4: -glabel L802A34D4 -/* 10CAE4 802A34D4 3C0E8016 */ lui $t6, %hi(D_80162578) # $t6, 0x8016 -/* 10CAE8 802A34D8 25CE2578 */ addiu $t6, %lo(D_80162578) # addiu $t6, $t6, 0x2578 -/* 10CAEC 802A34DC 26100070 */ addiu $s0, $s0, 0x70 -/* 10CAF0 802A34E0 560EFF33 */ bnel $s0, $t6, .L802A31B0 -/* 10CAF4 802A34E4 860B0002 */ lh $t3, 2($s0) -/* 10CAF8 802A34E8 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e -/* 10CAFC 802A34EC 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) -/* 10CB00 802A34F0 24010009 */ li $at, 9 -/* 10CB04 802A34F4 02202025 */ move $a0, $s1 -/* 10CB08 802A34F8 10410006 */ beq $v0, $at, .L802A3514 -/* 10CB0C 802A34FC 02402825 */ move $a1, $s2 -/* 10CB10 802A3500 24010012 */ li $at, 18 -/* 10CB14 802A3504 10410007 */ beq $v0, $at, .L802A3524 -/* 10CB18 802A3508 02202025 */ move $a0, $s1 -/* 10CB1C 802A350C 10000009 */ b .L802A3534 -/* 10CB20 802A3510 8FBF0024 */ lw $ra, 0x24($sp) -.L802A3514: -/* 10CB24 802A3514 0C0A61AD */ jal func_802986B4 -/* 10CB28 802A3518 8FA60058 */ lw $a2, 0x58($sp) -/* 10CB2C 802A351C 10000005 */ b .L802A3534 -/* 10CB30 802A3520 8FBF0024 */ lw $ra, 0x24($sp) -.L802A3524: -/* 10CB34 802A3524 02402825 */ move $a1, $s2 -/* 10CB38 802A3528 0C0A635F */ jal func_80298D7C -/* 10CB3C 802A352C 8FA60058 */ lw $a2, 0x58($sp) -/* 10CB40 802A3530 8FBF0024 */ lw $ra, 0x24($sp) -.L802A3534: -/* 10CB44 802A3534 8FB00018 */ lw $s0, 0x18($sp) -/* 10CB48 802A3538 8FB1001C */ lw $s1, 0x1c($sp) -/* 10CB4C 802A353C 8FB20020 */ lw $s2, 0x20($sp) -/* 10CB50 802A3540 03E00008 */ jr $ra -/* 10CB54 802A3544 27BD0098 */ addiu $sp, $sp, 0x98 diff --git a/asm/non_matchings/code_actors/update_obj_fake_item_box.s b/asm/non_matchings/code_actors/update_obj_fake_item_box.s deleted file mode 100644 index 852e2bcd2..000000000 --- a/asm/non_matchings/code_actors/update_obj_fake_item_box.s +++ /dev/null @@ -1,264 +0,0 @@ -glabel update_obj_fake_item_box -/* 10A700 802A10F0 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 10A704 802A10F4 AFBF0024 */ sw $ra, 0x24($sp) -/* 10A708 802A10F8 AFB00020 */ sw $s0, 0x20($sp) -/* 10A70C 802A10FC 444EF800 */ cfc1 $t6, $31 -/* 10A710 802A1100 24030001 */ li $v1, 1 -/* 10A714 802A1104 44C3F800 */ ctc1 $v1, $31 -/* 10A718 802A1108 C4840024 */ lwc1 $f4, 0x24($a0) -/* 10A71C 802A110C 3C0C800F */ lui $t4, %hi(gPlayers) # $t4, 0x800f -/* 10A720 802A1110 00808025 */ move $s0, $a0 -/* 10A724 802A1114 460021A4 */ cvt.w.s $f6, $f4 -/* 10A728 802A1118 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 10A72C 802A111C 258C6990 */ addiu $t4, %lo(gPlayers) # addiu $t4, $t4, 0x6990 -/* 10A730 802A1120 4443F800 */ cfc1 $v1, $31 -/* 10A734 802A1124 00000000 */ nop -/* 10A738 802A1128 30630078 */ andi $v1, $v1, 0x78 -/* 10A73C 802A112C 50600013 */ beql $v1, $zero, .L802A117C -/* 10A740 802A1130 44033000 */ mfc1 $v1, $f6 -/* 10A744 802A1134 44813000 */ mtc1 $at, $f6 -/* 10A748 802A1138 24030001 */ li $v1, 1 -/* 10A74C 802A113C 46062181 */ sub.s $f6, $f4, $f6 -/* 10A750 802A1140 44C3F800 */ ctc1 $v1, $31 -/* 10A754 802A1144 00000000 */ nop -/* 10A758 802A1148 460031A4 */ cvt.w.s $f6, $f6 -/* 10A75C 802A114C 4443F800 */ cfc1 $v1, $31 -/* 10A760 802A1150 00000000 */ nop -/* 10A764 802A1154 30630078 */ andi $v1, $v1, 0x78 -/* 10A768 802A1158 14600005 */ bnez $v1, .L802A1170 -/* 10A76C 802A115C 00000000 */ nop -/* 10A770 802A1160 44033000 */ mfc1 $v1, $f6 -/* 10A774 802A1164 3C018000 */ lui $at, 0x8000 -/* 10A778 802A1168 10000007 */ b .L802A1188 -/* 10A77C 802A116C 00611825 */ or $v1, $v1, $at -.L802A1170: -/* 10A780 802A1170 10000005 */ b .L802A1188 -/* 10A784 802A1174 2403FFFF */ li $v1, -1 -/* 10A788 802A1178 44033000 */ mfc1 $v1, $f6 -.L802A117C: -/* 10A78C 802A117C 00000000 */ nop -/* 10A790 802A1180 0460FFFB */ bltz $v1, .L802A1170 -/* 10A794 802A1184 00000000 */ nop -.L802A1188: -/* 10A798 802A1188 86020006 */ lh $v0, 6($s0) -/* 10A79C 802A118C 44CEF800 */ ctc1 $t6, $31 -/* 10A7A0 802A1190 3C0140B0 */ li $at, 0x40B00000 # 5.500000 -/* 10A7A4 802A1194 10400008 */ beqz $v0, .L802A11B8 -/* 10A7A8 802A1198 000358C0 */ sll $t3, $v1, 3 -/* 10A7AC 802A119C 24010001 */ li $at, 1 -/* 10A7B0 802A11A0 10410070 */ beq $v0, $at, .L802A1364 -/* 10A7B4 802A11A4 24010002 */ li $at, 2 -/* 10A7B8 802A11A8 504100A9 */ beql $v0, $at, .L802A1450 -/* 10A7BC 802A11AC 86020004 */ lh $v0, 4($s0) -/* 10A7C0 802A11B0 100000BB */ b .L802A14A0 -/* 10A7C4 802A11B4 00000000 */ nop -.L802A11B8: -/* 10A7C8 802A11B8 C6080008 */ lwc1 $f8, 8($s0) -/* 10A7CC 802A11BC 44815000 */ mtc1 $at, $f10 -/* 10A7D0 802A11C0 01635823 */ subu $t3, $t3, $v1 -/* 10A7D4 802A11C4 000B5900 */ sll $t3, $t3, 4 -/* 10A7D8 802A11C8 460A4102 */ mul.s $f4, $f8, $f10 -/* 10A7DC 802A11CC 860F0010 */ lh $t7, 0x10($s0) -/* 10A7E0 802A11D0 86190012 */ lh $t9, 0x12($s0) -/* 10A7E4 802A11D4 86090014 */ lh $t1, 0x14($s0) -/* 10A7E8 802A11D8 01635823 */ subu $t3, $t3, $v1 -/* 10A7EC 802A11DC 000B5880 */ sll $t3, $t3, 2 -/* 10A7F0 802A11E0 01635823 */ subu $t3, $t3, $v1 -/* 10A7F4 802A11E4 000B58C0 */ sll $t3, $t3, 3 -/* 10A7F8 802A11E8 25F8FF4A */ addiu $t8, $t7, -0xb6 -/* 10A7FC 802A11EC 2728016C */ addiu $t0, $t9, 0x16c -/* 10A800 802A11F0 252AFF4A */ addiu $t2, $t1, -0xb6 -/* 10A804 802A11F4 E604000C */ swc1 $f4, 0xc($s0) -/* 10A808 802A11F8 A6180010 */ sh $t8, 0x10($s0) -/* 10A80C 802A11FC A6080012 */ sh $t0, 0x12($s0) -/* 10A810 802A1200 A60A0014 */ sh $t2, 0x14($s0) -/* 10A814 802A1204 016C1021 */ addu $v0, $t3, $t4 -/* 10A818 802A1208 C4460014 */ lwc1 $f6, 0x14($v0) -/* 10A81C 802A120C C6080018 */ lwc1 $f8, 0x18($s0) -/* 10A820 802A1210 C44A0018 */ lwc1 $f10, 0x18($v0) -/* 10A824 802A1214 C604001C */ lwc1 $f4, 0x1c($s0) -/* 10A828 802A1218 46083381 */ sub.s $f14, $f6, $f8 -/* 10A82C 802A121C C6080020 */ lwc1 $f8, 0x20($s0) -/* 10A830 802A1220 C446001C */ lwc1 $f6, 0x1c($v0) -/* 10A834 802A1224 46045401 */ sub.s $f16, $f10, $f4 -/* 10A838 802A1228 460E7282 */ mul.s $f10, $f14, $f14 -/* 10A83C 802A122C E7AE0048 */ swc1 $f14, 0x48($sp) -/* 10A840 802A1230 46083481 */ sub.s $f18, $f6, $f8 -/* 10A844 802A1234 46108102 */ mul.s $f4, $f16, $f16 -/* 10A848 802A1238 E7B00044 */ swc1 $f16, 0x44($sp) -/* 10A84C 802A123C AFA30074 */ sw $v1, 0x74($sp) -/* 10A850 802A1240 46129202 */ mul.s $f8, $f18, $f18 -/* 10A854 802A1244 E7B20040 */ swc1 $f18, 0x40($sp) -/* 10A858 802A1248 AFA2002C */ sw $v0, 0x2c($sp) -/* 10A85C 802A124C 46045180 */ add.s $f6, $f10, $f4 -/* 10A860 802A1250 0C033850 */ jal sqrtf -/* 10A864 802A1254 46083300 */ add.s $f12, $f6, $f8 -/* 10A868 802A1258 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 10A86C 802A125C 44816000 */ mtc1 $at, $f12 -/* 10A870 802A1260 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 10A874 802A1264 44815000 */ mtc1 $at, $f10 -/* 10A878 802A1268 C7AE0048 */ lwc1 $f14, 0x48($sp) -/* 10A87C 802A126C C7B00044 */ lwc1 $f16, 0x44($sp) -/* 10A880 802A1270 460A0083 */ div.s $f2, $f0, $f10 -/* 10A884 802A1274 8FA2002C */ lw $v0, 0x2c($sp) -/* 10A888 802A1278 C7B20040 */ lwc1 $f18, 0x40($sp) -/* 10A88C 802A127C 8E05000C */ lw $a1, 0xc($s0) -/* 10A890 802A1280 C4440014 */ lwc1 $f4, 0x14($v0) -/* 10A894 802A1284 26040030 */ addiu $a0, $s0, 0x30 -/* 10A898 802A1288 46027383 */ div.s $f14, $f14, $f2 -/* 10A89C 802A128C 46028403 */ div.s $f16, $f16, $f2 -/* 10A8A0 802A1290 460E2181 */ sub.s $f6, $f4, $f14 -/* 10A8A4 802A1294 E6060018 */ swc1 $f6, 0x18($s0) -/* 10A8A8 802A1298 C4480018 */ lwc1 $f8, 0x18($v0) -/* 10A8AC 802A129C 8E060018 */ lw $a2, 0x18($s0) -/* 10A8B0 802A12A0 46029483 */ div.s $f18, $f18, $f2 -/* 10A8B4 802A12A4 46104281 */ sub.s $f10, $f8, $f16 -/* 10A8B8 802A12A8 460C5101 */ sub.s $f4, $f10, $f12 -/* 10A8BC 802A12AC E604001C */ swc1 $f4, 0x1c($s0) -/* 10A8C0 802A12B0 C446001C */ lwc1 $f6, 0x1c($v0) -/* 10A8C4 802A12B4 8E07001C */ lw $a3, 0x1c($s0) -/* 10A8C8 802A12B8 46123201 */ sub.s $f8, $f6, $f18 -/* 10A8CC 802A12BC E6080020 */ swc1 $f8, 0x20($s0) -/* 10A8D0 802A12C0 C60A0020 */ lwc1 $f10, 0x20($s0) -/* 10A8D4 802A12C4 0C0AB772 */ jal func_802ADDC8 -/* 10A8D8 802A12C8 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 10A8DC 802A12CC 0C0AD38C */ jal func_802B4E30 -/* 10A8E0 802A12D0 02002025 */ move $a0, $s0 -/* 10A8E4 802A12D4 8FA2002C */ lw $v0, 0x2c($sp) -/* 10A8E8 802A12D8 8FAF0074 */ lw $t7, 0x74($sp) -/* 10A8EC 802A12DC 3C19800F */ lui $t9, %hi(gControllers) # $t9, 0x800f -/* 10A8F0 802A12E0 944D0000 */ lhu $t5, ($v0) -/* 10A8F4 802A12E4 27396910 */ addiu $t9, %lo(gControllers) # addiu $t9, $t9, 0x6910 -/* 10A8F8 802A12E8 000FC100 */ sll $t8, $t7, 4 -/* 10A8FC 802A12EC 31AE4000 */ andi $t6, $t5, 0x4000 -/* 10A900 802A12F0 11C0006D */ beqz $t6, .L802A14A8 -/* 10A904 802A12F4 03191821 */ addu $v1, $t8, $t9 -/* 10A908 802A12F8 94650008 */ lhu $a1, 8($v1) -/* 10A90C 802A12FC 02002025 */ move $a0, $s0 -/* 10A910 802A1300 30A82000 */ andi $t0, $a1, 0x2000 -/* 10A914 802A1304 11000068 */ beqz $t0, .L802A14A8 -/* 10A918 802A1308 30A9DFFF */ andi $t1, $a1, 0xdfff -/* 10A91C 802A130C A4690008 */ sh $t1, 8($v1) -/* 10A920 802A1310 0C0A8419 */ jal func_802A1064 -/* 10A924 802A1314 AFA2002C */ sw $v0, 0x2c($sp) -/* 10A928 802A1318 8FA2002C */ lw $v0, 0x2c($sp) -/* 10A92C 802A131C 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb -/* 10A930 802A1320 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 10A934 802A1324 8C4A000C */ lw $t2, 0xc($v0) -/* 10A938 802A1328 3C0C800E */ lui $t4, %hi(gPlayerOne) # $t4, 0x800e -/* 10A93C 802A132C 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900 -/* 10A940 802A1330 01415824 */ and $t3, $t2, $at -/* 10A944 802A1334 AC4B000C */ sw $t3, 0xc($v0) -/* 10A948 802A1338 8D8CC4DC */ lw $t4, %lo(gPlayerOne)($t4) -/* 10A94C 802A133C 24010DD8 */ li $at, 3544 -/* 10A950 802A1340 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012 -/* 10A954 802A1344 004C2023 */ subu $a0, $v0, $t4 -/* 10A958 802A1348 0081001A */ div $zero, $a0, $at -/* 10A95C 802A134C 00006812 */ mflo $t5 -/* 10A960 802A1350 31A400FF */ andi $a0, $t5, 0xff -/* 10A964 802A1354 0C032418 */ jal func_800C9060 -/* 10A968 802A1358 00000000 */ nop -/* 10A96C 802A135C 10000053 */ b .L802A14AC -/* 10A970 802A1360 8FBF0024 */ lw $ra, 0x24($sp) -.L802A1364: -/* 10A974 802A1364 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 10A978 802A1368 44816000 */ mtc1 $at, $f12 -/* 10A97C 802A136C C6000008 */ lwc1 $f0, 8($s0) -/* 10A980 802A1370 3C01802C */ lui $at, %hi(D_802B99D0) # $at, 0x802c -/* 10A984 802A1374 460C003C */ c.lt.s $f0, $f12 -/* 10A988 802A1378 00000000 */ nop -/* 10A98C 802A137C 45020007 */ bc1fl .L802A139C -/* 10A990 802A1380 4600603E */ c.le.s $f12, $f0 -/* 10A994 802A1384 C42499D0 */ lwc1 $f4, %lo(D_802B99D0)($at) -/* 10A998 802A1388 46040180 */ add.s $f6, $f0, $f4 -/* 10A99C 802A138C E6060008 */ swc1 $f6, 8($s0) -/* 10A9A0 802A1390 10000007 */ b .L802A13B0 -/* 10A9A4 802A1394 C6000008 */ lwc1 $f0, 8($s0) -/* 10A9A8 802A1398 4600603E */ c.le.s $f12, $f0 -.L802A139C: -/* 10A9AC 802A139C 00000000 */ nop -/* 10A9B0 802A13A0 45020004 */ bc1fl .L802A13B4 -/* 10A9B4 802A13A4 3C0140B0 */ lui $at, 0x40b0 -/* 10A9B8 802A13A8 E60C0008 */ swc1 $f12, 8($s0) -/* 10A9BC 802A13AC C6000008 */ lwc1 $f0, 8($s0) -.L802A13B0: -/* 10A9C0 802A13B0 3C0140B0 */ li $at, 0x40B00000 # 5.500000 -.L802A13B4: -/* 10A9C4 802A13B4 44814000 */ mtc1 $at, $f8 -/* 10A9C8 802A13B8 C602001C */ lwc1 $f2, 0x1c($s0) -/* 10A9CC 802A13BC C60C0028 */ lwc1 $f12, 0x28($s0) -/* 10A9D0 802A13C0 46080282 */ mul.s $f10, $f0, $f8 -/* 10A9D4 802A13C4 3C01802C */ lui $at, %hi(D_802B99D4) # $at, 0x802c -/* 10A9D8 802A13C8 4602603E */ c.le.s $f12, $f2 -/* 10A9DC 802A13CC 00000000 */ nop -/* 10A9E0 802A13D0 45000003 */ bc1f .L802A13E0 -/* 10A9E4 802A13D4 E60A000C */ swc1 $f10, 0xc($s0) -/* 10A9E8 802A13D8 10000004 */ b .L802A13EC -/* 10A9EC 802A13DC E60C001C */ swc1 $f12, 0x1c($s0) -.L802A13E0: -/* 10A9F0 802A13E0 C42499D4 */ lwc1 $f4, %lo(D_802B99D4)($at) -/* 10A9F4 802A13E4 46041180 */ add.s $f6, $f2, $f4 -/* 10A9F8 802A13E8 E606001C */ swc1 $f6, 0x1c($s0) -.L802A13EC: -/* 10A9FC 802A13EC 86030002 */ lh $v1, 2($s0) -/* 10AA00 802A13F0 306F1000 */ andi $t7, $v1, 0x1000 -/* 10AA04 802A13F4 51E0000C */ beql $t7, $zero, .L802A1428 -/* 10AA08 802A13F8 86080010 */ lh $t0, 0x10($s0) -/* 10AA0C 802A13FC 86020004 */ lh $v0, 4($s0) -/* 10AA10 802A1400 3078EFFF */ andi $t8, $v1, 0xefff -/* 10AA14 802A1404 18400003 */ blez $v0, .L802A1414 -/* 10AA18 802A1408 2841012D */ slti $at, $v0, 0x12d -/* 10AA1C 802A140C 14200004 */ bnez $at, .L802A1420 -/* 10AA20 802A1410 2459FFFF */ addiu $t9, $v0, -1 -.L802A1414: -/* 10AA24 802A1414 A6180002 */ sh $t8, 2($s0) -/* 10AA28 802A1418 10000002 */ b .L802A1424 -/* 10AA2C 802A141C A6000004 */ sh $zero, 4($s0) -.L802A1420: -/* 10AA30 802A1420 A6190004 */ sh $t9, 4($s0) -.L802A1424: -/* 10AA34 802A1424 86080010 */ lh $t0, 0x10($s0) -.L802A1428: -/* 10AA38 802A1428 860A0012 */ lh $t2, 0x12($s0) -/* 10AA3C 802A142C 860C0014 */ lh $t4, 0x14($s0) -/* 10AA40 802A1430 2509FF4A */ addiu $t1, $t0, -0xb6 -/* 10AA44 802A1434 254B016C */ addiu $t3, $t2, 0x16c -/* 10AA48 802A1438 258DFF4A */ addiu $t5, $t4, -0xb6 -/* 10AA4C 802A143C A6090010 */ sh $t1, 0x10($s0) -/* 10AA50 802A1440 A60B0012 */ sh $t3, 0x12($s0) -/* 10AA54 802A1444 10000018 */ b .L802A14A8 -/* 10AA58 802A1448 A60D0014 */ sh $t5, 0x14($s0) -/* 10AA5C 802A144C 86020004 */ lh $v0, 4($s0) -.L802A1450: -/* 10AA60 802A1450 28410014 */ slti $at, $v0, 0x14 -/* 10AA64 802A1454 10200003 */ beqz $at, .L802A1464 -/* 10AA68 802A1458 00000000 */ nop -/* 10AA6C 802A145C 04410005 */ bgez $v0, .L802A1474 -/* 10AA70 802A1460 244E0001 */ addiu $t6, $v0, 1 -.L802A1464: -/* 10AA74 802A1464 0C0A7A15 */ jal func_8029E854 -/* 10AA78 802A1468 02002025 */ move $a0, $s0 -/* 10AA7C 802A146C 1000000F */ b .L802A14AC -/* 10AA80 802A1470 8FBF0024 */ lw $ra, 0x24($sp) -.L802A1474: -/* 10AA84 802A1474 860F0010 */ lh $t7, 0x10($s0) -/* 10AA88 802A1478 86190012 */ lh $t9, 0x12($s0) -/* 10AA8C 802A147C 86090014 */ lh $t1, 0x14($s0) -/* 10AA90 802A1480 25F80444 */ addiu $t8, $t7, 0x444 -/* 10AA94 802A1484 2728FD28 */ addiu $t0, $t9, -0x2d8 -/* 10AA98 802A1488 252A016C */ addiu $t2, $t1, 0x16c -/* 10AA9C 802A148C A60E0004 */ sh $t6, 4($s0) -/* 10AAA0 802A1490 A6180010 */ sh $t8, 0x10($s0) -/* 10AAA4 802A1494 A6080012 */ sh $t0, 0x12($s0) -/* 10AAA8 802A1498 10000003 */ b .L802A14A8 -/* 10AAAC 802A149C A60A0014 */ sh $t2, 0x14($s0) -.L802A14A0: -/* 10AAB0 802A14A0 0C0A7A15 */ jal func_8029E854 -/* 10AAB4 802A14A4 02002025 */ move $a0, $s0 -.L802A14A8: -/* 10AAB8 802A14A8 8FBF0024 */ lw $ra, 0x24($sp) -.L802A14AC: -/* 10AABC 802A14AC 8FB00020 */ lw $s0, 0x20($sp) -/* 10AAC0 802A14B0 27BD0078 */ addiu $sp, $sp, 0x78 -/* 10AAC4 802A14B4 03E00008 */ jr $ra -/* 10AAC8 802A14B8 00000000 */ nop diff --git a/asm/non_matchings/code_actors/update_obj_item_box.s b/asm/non_matchings/code_actors/update_obj_item_box.s deleted file mode 100644 index 2abcf32af..000000000 --- a/asm/non_matchings/code_actors/update_obj_item_box.s +++ /dev/null @@ -1,84 +0,0 @@ -glabel update_obj_item_box -/* 10AC10 802A1600 84820006 */ lh $v0, 6($a0) -/* 10AC14 802A1604 24010001 */ li $at, 1 -/* 10AC18 802A1608 240E0001 */ li $t6, 1 -/* 10AC1C 802A160C 10400009 */ beqz $v0, .L802A1634 -/* 10AC20 802A1610 00000000 */ nop -/* 10AC24 802A1614 10410009 */ beq $v0, $at, .L802A163C -/* 10AC28 802A1618 24010002 */ li $at, 2 -/* 10AC2C 802A161C 1041001C */ beq $v0, $at, .L802A1690 -/* 10AC30 802A1620 24010003 */ li $at, 3 -/* 10AC34 802A1624 50410025 */ beql $v0, $at, .L802A16BC -/* 10AC38 802A1628 84820004 */ lh $v0, 4($a0) -/* 10AC3C 802A162C 03E00008 */ jr $ra -/* 10AC40 802A1630 00000000 */ nop - -.L802A1634: -/* 10AC44 802A1634 03E00008 */ jr $ra -/* 10AC48 802A1638 A48E0006 */ sh $t6, 6($a0) - -.L802A163C: -/* 10AC4C 802A163C C480001C */ lwc1 $f0, 0x1c($a0) -/* 10AC50 802A1640 C4820024 */ lwc1 $f2, 0x24($a0) -/* 10AC54 802A1644 3C01802C */ lui $at, %hi(D_802B99D8) # $at, 0x802c -/* 10AC58 802A1648 C42C99D8 */ lwc1 $f12, %lo(D_802B99D8)($at) -/* 10AC5C 802A164C 46020101 */ sub.s $f4, $f0, $f2 -/* 10AC60 802A1650 3C01802C */ lui $at, %hi(D_802B99DC) # $at, 0x802c -/* 10AC64 802A1654 240F0002 */ li $t7, 2 -/* 10AC68 802A1658 2418C000 */ li $t8, -16384 -/* 10AC6C 802A165C 460C203C */ c.lt.s $f4, $f12 -/* 10AC70 802A1660 00000000 */ nop -/* 10AC74 802A1664 45020006 */ bc1fl .L802A1680 -/* 10AC78 802A1668 460C1280 */ add.s $f10, $f2, $f12 -/* 10AC7C 802A166C C42699DC */ lwc1 $f6, %lo(D_802B99DC)($at) -/* 10AC80 802A1670 46060200 */ add.s $f8, $f0, $f6 -/* 10AC84 802A1674 03E00008 */ jr $ra -/* 10AC88 802A1678 E488001C */ swc1 $f8, 0x1c($a0) - -/* 10AC8C 802A167C 460C1280 */ add.s $f10, $f2, $f12 -.L802A1680: -/* 10AC90 802A1680 A48F0006 */ sh $t7, 6($a0) -/* 10AC94 802A1684 A4980002 */ sh $t8, 2($a0) -/* 10AC98 802A1688 03E00008 */ jr $ra -/* 10AC9C 802A168C E48A001C */ swc1 $f10, 0x1c($a0) - -.L802A1690: -/* 10ACA0 802A1690 84990010 */ lh $t9, 0x10($a0) -/* 10ACA4 802A1694 84890012 */ lh $t1, 0x12($a0) -/* 10ACA8 802A1698 848B0014 */ lh $t3, 0x14($a0) -/* 10ACAC 802A169C 272800B6 */ addiu $t0, $t9, 0xb6 -/* 10ACB0 802A16A0 252AFE94 */ addiu $t2, $t1, -0x16c -/* 10ACB4 802A16A4 256C00B6 */ addiu $t4, $t3, 0xb6 -/* 10ACB8 802A16A8 A4880010 */ sh $t0, 0x10($a0) -/* 10ACBC 802A16AC A48A0012 */ sh $t2, 0x12($a0) -/* 10ACC0 802A16B0 03E00008 */ jr $ra -/* 10ACC4 802A16B4 A48C0014 */ sh $t4, 0x14($a0) - -/* 10ACC8 802A16B8 84820004 */ lh $v0, 4($a0) -.L802A16BC: -/* 10ACCC 802A16BC 24010014 */ li $at, 20 -/* 10ACD0 802A16C0 1441000A */ bne $v0, $at, .L802A16EC -/* 10ACD4 802A16C4 244E0001 */ addiu $t6, $v0, 1 -/* 10ACD8 802A16C8 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 10ACDC 802A16CC 44819000 */ mtc1 $at, $f18 -/* 10ACE0 802A16D0 C4900008 */ lwc1 $f16, 8($a0) -/* 10ACE4 802A16D4 240DC000 */ li $t5, -16384 -/* 10ACE8 802A16D8 A4800006 */ sh $zero, 6($a0) -/* 10ACEC 802A16DC 46128101 */ sub.s $f4, $f16, $f18 -/* 10ACF0 802A16E0 A48D0002 */ sh $t5, 2($a0) -/* 10ACF4 802A16E4 03E00008 */ jr $ra -/* 10ACF8 802A16E8 E484001C */ swc1 $f4, 0x1c($a0) - -.L802A16EC: -/* 10ACFC 802A16EC 848F0010 */ lh $t7, 0x10($a0) -/* 10AD00 802A16F0 84990012 */ lh $t9, 0x12($a0) -/* 10AD04 802A16F4 84890014 */ lh $t1, 0x14($a0) -/* 10AD08 802A16F8 25F80444 */ addiu $t8, $t7, 0x444 -/* 10AD0C 802A16FC 2728FD28 */ addiu $t0, $t9, -0x2d8 -/* 10AD10 802A1700 252A016C */ addiu $t2, $t1, 0x16c -/* 10AD14 802A1704 A48E0004 */ sh $t6, 4($a0) -/* 10AD18 802A1708 A4980010 */ sh $t8, 0x10($a0) -/* 10AD1C 802A170C A4880012 */ sh $t0, 0x12($a0) -/* 10AD20 802A1710 A48A0014 */ sh $t2, 0x14($a0) -/* 10AD24 802A1714 03E00008 */ jr $ra -/* 10AD28 802A1718 00000000 */ nop diff --git a/asm/non_matchings/code_actors/update_obj_item_box_hot_air_balloon.s b/asm/non_matchings/code_actors/update_obj_item_box_hot_air_balloon.s deleted file mode 100644 index d3d357c28..000000000 --- a/asm/non_matchings/code_actors/update_obj_item_box_hot_air_balloon.s +++ /dev/null @@ -1,43 +0,0 @@ -glabel update_obj_item_box_hot_air_balloon -/* 10AB7C 802A156C 84820006 */ lh $v0, 6($a0) -/* 10AB80 802A1570 24010003 */ li $at, 3 -/* 10AB84 802A1574 1041000D */ beq $v0, $at, .L802A15AC -/* 10AB88 802A1578 24010005 */ li $at, 5 -/* 10AB8C 802A157C 1441001E */ bne $v0, $at, .L802A15F8 -/* 10AB90 802A1580 00000000 */ nop -/* 10AB94 802A1584 848E0010 */ lh $t6, 0x10($a0) -/* 10AB98 802A1588 84980012 */ lh $t8, 0x12($a0) -/* 10AB9C 802A158C 84880014 */ lh $t0, 0x14($a0) -/* 10ABA0 802A1590 25CF00B6 */ addiu $t7, $t6, 0xb6 -/* 10ABA4 802A1594 2719FE94 */ addiu $t9, $t8, -0x16c -/* 10ABA8 802A1598 250900B6 */ addiu $t1, $t0, 0xb6 -/* 10ABAC 802A159C A48F0010 */ sh $t7, 0x10($a0) -/* 10ABB0 802A15A0 A4990012 */ sh $t9, 0x12($a0) -/* 10ABB4 802A15A4 03E00008 */ jr $ra -/* 10ABB8 802A15A8 A4890014 */ sh $t1, 0x14($a0) - -.L802A15AC: -/* 10ABBC 802A15AC 84820004 */ lh $v0, 4($a0) -/* 10ABC0 802A15B0 24010014 */ li $at, 20 -/* 10ABC4 802A15B4 240A0005 */ li $t2, 5 -/* 10ABC8 802A15B8 14410005 */ bne $v0, $at, .L802A15D0 -/* 10ABCC 802A15BC 244C0001 */ addiu $t4, $v0, 1 -/* 10ABD0 802A15C0 240BC000 */ li $t3, -16384 -/* 10ABD4 802A15C4 A48A0006 */ sh $t2, 6($a0) -/* 10ABD8 802A15C8 03E00008 */ jr $ra -/* 10ABDC 802A15CC A48B0002 */ sh $t3, 2($a0) - -.L802A15D0: -/* 10ABE0 802A15D0 848D0010 */ lh $t5, 0x10($a0) -/* 10ABE4 802A15D4 848F0012 */ lh $t7, 0x12($a0) -/* 10ABE8 802A15D8 84990014 */ lh $t9, 0x14($a0) -/* 10ABEC 802A15DC 25AE0444 */ addiu $t6, $t5, 0x444 -/* 10ABF0 802A15E0 25F8FD28 */ addiu $t8, $t7, -0x2d8 -/* 10ABF4 802A15E4 2728016C */ addiu $t0, $t9, 0x16c -/* 10ABF8 802A15E8 A48C0004 */ sh $t4, 4($a0) -/* 10ABFC 802A15EC A48E0010 */ sh $t6, 0x10($a0) -/* 10AC00 802A15F0 A4980012 */ sh $t8, 0x12($a0) -/* 10AC04 802A15F4 A4880014 */ sh $t0, 0x14($a0) -.L802A15F8: -/* 10AC08 802A15F8 03E00008 */ jr $ra -/* 10AC0C 802A15FC 00000000 */ nop diff --git a/asm/non_matchings/code_actors/update_obj_mario_raceway_sign.s b/asm/non_matchings/code_actors/update_obj_mario_raceway_sign.s deleted file mode 100644 index f0ec25b80..000000000 --- a/asm/non_matchings/code_actors/update_obj_mario_raceway_sign.s +++ /dev/null @@ -1,51 +0,0 @@ -glabel update_obj_mario_raceway_sign -/* 104170 8029AB60 84820002 */ lh $v0, 2($a0) -/* 104174 8029AB64 304E0800 */ andi $t6, $v0, 0x800 -/* 104178 8029AB68 15C00018 */ bnez $t6, .L8029ABCC -/* 10417C 8029AB6C 304F0400 */ andi $t7, $v0, 0x400 -/* 104180 8029AB70 11E00013 */ beqz $t7, .L8029ABC0 -/* 104184 8029AB74 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 104188 8029AB78 C484001C */ lwc1 $f4, 0x1c($a0) -/* 10418C 8029AB7C 44813000 */ mtc1 $at, $f6 -/* 104190 8029AB80 3C014448 */ li $at, 0x44480000 # 800.000000 -/* 104194 8029AB84 44815000 */ mtc1 $at, $f10 -/* 104198 8029AB88 46062200 */ add.s $f8, $f4, $f6 -/* 10419C 8029AB8C E488001C */ swc1 $f8, 0x1c($a0) -/* 1041A0 8029AB90 C490001C */ lwc1 $f16, 0x1c($a0) -/* 1041A4 8029AB94 4610503C */ c.lt.s $f10, $f16 -/* 1041A8 8029AB98 00000000 */ nop -/* 1041AC 8029AB9C 4500000B */ bc1f .L8029ABCC -/* 1041B0 8029ABA0 00000000 */ nop -/* 1041B4 8029ABA4 84980002 */ lh $t8, 2($a0) -/* 1041B8 8029ABA8 84880012 */ lh $t0, 0x12($a0) -/* 1041BC 8029ABAC 37190800 */ ori $t9, $t8, 0x800 -/* 1041C0 8029ABB0 2509071C */ addiu $t1, $t0, 0x71c -/* 1041C4 8029ABB4 A4990002 */ sh $t9, 2($a0) -/* 1041C8 8029ABB8 03E00008 */ jr $ra -/* 1041CC 8029ABBC A4890012 */ sh $t1, 0x12($a0) - -.L8029ABC0: -/* 1041D0 8029ABC0 848A0012 */ lh $t2, 0x12($a0) -/* 1041D4 8029ABC4 254B00B6 */ addiu $t3, $t2, 0xb6 -/* 1041D8 8029ABC8 A48B0012 */ sh $t3, 0x12($a0) -.L8029ABCC: -/* 1041DC 8029ABCC 03E00008 */ jr $ra -/* 1041E0 8029ABD0 00000000 */ nop - -/* 1041E4 8029ABD4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1041E8 8029ABD8 AFBF0014 */ sw $ra, 0x14($sp) -/* 1041EC 8029ABDC AFA5001C */ sw $a1, 0x1c($sp) -/* 1041F0 8029ABE0 3C018015 */ lui $at, %hi(D_80150110) # $at, 0x8015 -/* 1041F4 8029ABE4 A4200110 */ sh $zero, %lo(D_80150110)($at) -/* 1041F8 8029ABE8 0C0A7B4E */ jal func_8029ED38 -/* 1041FC 8029ABEC 24050014 */ li $a1, 20 -/* 104200 8029ABF0 000278C0 */ sll $t7, $v0, 3 -/* 104204 8029ABF4 8FBF0014 */ lw $ra, 0x14($sp) -/* 104208 8029ABF8 01E27823 */ subu $t7, $t7, $v0 -/* 10420C 8029ABFC 87AE001E */ lh $t6, 0x1e($sp) -/* 104210 8029AC00 000F7900 */ sll $t7, $t7, 4 -/* 104214 8029AC04 3C018016 */ lui $at, %hi(D_8015F9BE) # 0x8016 -/* 104218 8029AC08 002F0821 */ addu $at, $at, $t7 -/* 10421C 8029AC0C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 104220 8029AC10 03E00008 */ jr $ra -/* 104224 8029AC14 A42EF9BE */ sh $t6, %lo(D_8015F9BE)($at) # -0x642($at) diff --git a/asm/non_matchings/code_actors/update_obj_piranha_plant.s b/asm/non_matchings/code_actors/update_obj_piranha_plant.s deleted file mode 100644 index aea157e3a..000000000 --- a/asm/non_matchings/code_actors/update_obj_piranha_plant.s +++ /dev/null @@ -1,90 +0,0 @@ -glabel update_obj_piranha_plant -/* 1017FC 802981EC 84820002 */ lh $v0, 2($a0) -/* 101800 802981F0 304E0800 */ andi $t6, $v0, 0x800 -/* 101804 802981F4 15C0004A */ bnez $t6, .L80298320 -/* 101808 802981F8 304F0400 */ andi $t7, $v0, 0x400 -/* 10180C 802981FC 11E00010 */ beqz $t7, .L80298240 -/* 101810 80298200 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 101814 80298204 C484001C */ lwc1 $f4, 0x1c($a0) -/* 101818 80298208 44813000 */ mtc1 $at, $f6 -/* 10181C 8029820C 3C014448 */ li $at, 0x44480000 # 800.000000 -/* 101820 80298210 44815000 */ mtc1 $at, $f10 -/* 101824 80298214 46062200 */ add.s $f8, $f4, $f6 -/* 101828 80298218 E488001C */ swc1 $f8, 0x1c($a0) -/* 10182C 8029821C C490001C */ lwc1 $f16, 0x1c($a0) -/* 101830 80298220 4610503C */ c.lt.s $f10, $f16 -/* 101834 80298224 00000000 */ nop -/* 101838 80298228 4500003D */ bc1f .L80298320 -/* 10183C 8029822C 00000000 */ nop -/* 101840 80298230 84980002 */ lh $t8, 2($a0) -/* 101844 80298234 37190800 */ ori $t9, $t8, 0x800 -/* 101848 80298238 03E00008 */ jr $ra -/* 10184C 8029823C A4990002 */ sh $t9, 2($a0) - -.L80298240: -/* 101850 80298240 84880004 */ lh $t0, 4($a0) -/* 101854 80298244 24020001 */ li $v0, 1 -/* 101858 80298248 24030006 */ li $v1, 6 -/* 10185C 8029824C 5448000D */ bnel $v0, $t0, .L80298284 -/* 101860 80298250 A4800024 */ sh $zero, 0x24($a0) -/* 101864 80298254 84890024 */ lh $t1, 0x24($a0) -/* 101868 80298258 24030006 */ li $v1, 6 -/* 10186C 8029825C 252A0001 */ addiu $t2, $t1, 1 -/* 101870 80298260 A48A0024 */ sh $t2, 0x24($a0) -/* 101874 80298264 848B0024 */ lh $t3, 0x24($a0) -/* 101878 80298268 2961003D */ slti $at, $t3, 0x3d -/* 10187C 8029826C 14200002 */ bnez $at, .L80298278 -/* 101880 80298270 00000000 */ nop -/* 101884 80298274 A4830024 */ sh $v1, 0x24($a0) -.L80298278: -/* 101888 80298278 10000002 */ b .L80298284 -/* 10188C 8029827C 24030006 */ li $v1, 6 -/* 101890 80298280 A4800024 */ sh $zero, 0x24($a0) -.L80298284: -/* 101894 80298284 848C0006 */ lh $t4, 6($a0) -/* 101898 80298288 544C000B */ bnel $v0, $t4, .L802982B8 -/* 10189C 8029828C A4800026 */ sh $zero, 0x26($a0) -/* 1018A0 80298290 848D0026 */ lh $t5, 0x26($a0) -/* 1018A4 80298294 25AE0001 */ addiu $t6, $t5, 1 -/* 1018A8 80298298 A48E0026 */ sh $t6, 0x26($a0) -/* 1018AC 8029829C 848F0026 */ lh $t7, 0x26($a0) -/* 1018B0 802982A0 29E1003D */ slti $at, $t7, 0x3d -/* 1018B4 802982A4 54200005 */ bnel $at, $zero, .L802982BC -/* 1018B8 802982A8 84980008 */ lh $t8, 8($a0) -/* 1018BC 802982AC 10000002 */ b .L802982B8 -/* 1018C0 802982B0 A4830026 */ sh $v1, 0x26($a0) -/* 1018C4 802982B4 A4800026 */ sh $zero, 0x26($a0) -.L802982B8: -/* 1018C8 802982B8 84980008 */ lh $t8, 8($a0) -.L802982BC: -/* 1018CC 802982BC 5458000B */ bnel $v0, $t8, .L802982EC -/* 1018D0 802982C0 A4800028 */ sh $zero, 0x28($a0) -/* 1018D4 802982C4 84990028 */ lh $t9, 0x28($a0) -/* 1018D8 802982C8 27280001 */ addiu $t0, $t9, 1 -/* 1018DC 802982CC A4880028 */ sh $t0, 0x28($a0) -/* 1018E0 802982D0 84890028 */ lh $t1, 0x28($a0) -/* 1018E4 802982D4 2921003D */ slti $at, $t1, 0x3d -/* 1018E8 802982D8 54200005 */ bnel $at, $zero, .L802982F0 -/* 1018EC 802982DC 848A000A */ lh $t2, 0xa($a0) -/* 1018F0 802982E0 10000002 */ b .L802982EC -/* 1018F4 802982E4 A4830028 */ sh $v1, 0x28($a0) -/* 1018F8 802982E8 A4800028 */ sh $zero, 0x28($a0) -.L802982EC: -/* 1018FC 802982EC 848A000A */ lh $t2, 0xa($a0) -.L802982F0: -/* 101900 802982F0 544A000B */ bnel $v0, $t2, .L80298320 -/* 101904 802982F4 A480002A */ sh $zero, 0x2a($a0) -/* 101908 802982F8 848B002A */ lh $t3, 0x2a($a0) -/* 10190C 802982FC 256C0001 */ addiu $t4, $t3, 1 -/* 101910 80298300 A48C002A */ sh $t4, 0x2a($a0) -/* 101914 80298304 848D002A */ lh $t5, 0x2a($a0) -/* 101918 80298308 29A1003D */ slti $at, $t5, 0x3d -/* 10191C 8029830C 14200004 */ bnez $at, .L80298320 -/* 101920 80298310 00000000 */ nop -/* 101924 80298314 03E00008 */ jr $ra -/* 101928 80298318 A483002A */ sh $v1, 0x2a($a0) - -/* 10192C 8029831C A480002A */ sh $zero, 0x2a($a0) -.L80298320: -/* 101930 80298320 03E00008 */ jr $ra -/* 101934 80298324 00000000 */ nop diff --git a/asm/non_matchings/code_actors/update_obj_railroad_crossing.s b/asm/non_matchings/code_actors/update_obj_railroad_crossing.s deleted file mode 100644 index c9beb1a8b..000000000 --- a/asm/non_matchings/code_actors/update_obj_railroad_crossing.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel update_obj_railroad_crossing -/* 1040E8 8029AAD8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1040EC 8029AADC AFBF0014 */ sw $ra, 0x14($sp) -/* 1040F0 8029AAE0 848E0006 */ lh $t6, 6($a0) -/* 1040F4 8029AAE4 3C188016 */ lui $t8, %hi(D_801637B8) # 0x8016 -/* 1040F8 8029AAE8 00803825 */ move $a3, $a0 -/* 1040FC 8029AAEC 000E7840 */ sll $t7, $t6, 1 -/* 104100 8029AAF0 030FC021 */ addu $t8, $t8, $t7 -/* 104104 8029AAF4 971837B8 */ lhu $t8, %lo(D_801637B8)($t8) # 0x37b8($t8) -/* 104108 8029AAF8 53000016 */ beql $t8, $zero, .L8029AB54 -/* 10410C 8029AAFC 8FBF0014 */ lw $ra, 0x14($sp) -/* 104110 8029AB00 84990004 */ lh $t9, 4($a0) -/* 104114 8029AB04 3C061901 */ lui $a2, (0x19017016 >> 16) # lui $a2, 0x1901 -/* 104118 8029AB08 24090001 */ li $t1, 1 -/* 10411C 8029AB0C 27280001 */ addiu $t0, $t9, 1 -/* 104120 8029AB10 A4880004 */ sh $t0, 4($a0) -/* 104124 8029AB14 84820004 */ lh $v0, 4($a0) -/* 104128 8029AB18 34C67016 */ ori $a2, (0x19017016 & 0xFFFF) # ori $a2, $a2, 0x7016 -/* 10412C 8029AB1C 24E50024 */ addiu $a1, $a3, 0x24 -/* 104130 8029AB20 28410029 */ slti $at, $v0, 0x29 -/* 104134 8029AB24 54200004 */ bnel $at, $zero, .L8029AB38 -/* 104138 8029AB28 24010001 */ li $at, 1 -/* 10413C 8029AB2C A4890004 */ sh $t1, 4($a0) -/* 104140 8029AB30 84820004 */ lh $v0, 4($a0) -/* 104144 8029AB34 24010001 */ li $at, 1 -.L8029AB38: -/* 104148 8029AB38 10410003 */ beq $v0, $at, .L8029AB48 -/* 10414C 8029AB3C 24010014 */ li $at, 20 -/* 104150 8029AB40 54410004 */ bnel $v0, $at, .L8029AB54 -/* 104154 8029AB44 8FBF0014 */ lw $ra, 0x14($sp) -.L8029AB48: -/* 104158 8029AB48 0C03262E */ jal func_800C98B8 -/* 10415C 8029AB4C 24E40018 */ addiu $a0, $a3, 0x18 -/* 104160 8029AB50 8FBF0014 */ lw $ra, 0x14($sp) -.L8029AB54: -/* 104164 8029AB54 27BD0018 */ addiu $sp, $sp, 0x18 -/* 104168 8029AB58 03E00008 */ jr $ra -/* 10416C 8029AB5C 00000000 */ nop diff --git a/asm/non_matchings/code_actors/update_obj_wario_stadium_sign.s b/asm/non_matchings/code_actors/update_obj_wario_stadium_sign.s deleted file mode 100644 index 5196a27bd..000000000 --- a/asm/non_matchings/code_actors/update_obj_wario_stadium_sign.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel update_obj_wario_stadium_sign -/* 1040D8 8029AAC8 848E0012 */ lh $t6, 0x12($a0) -/* 1040DC 8029AACC 25CF00B6 */ addiu $t7, $t6, 0xb6 -/* 1040E0 8029AAD0 03E00008 */ jr $ra -/* 1040E4 8029AAD4 A48F0012 */ sh $t7, 0x12($a0) diff --git a/asm/non_matchings/code_actors/update_simple_objects.s b/asm/non_matchings/code_actors/update_simple_objects.s deleted file mode 100644 index b2bb7d0f2..000000000 --- a/asm/non_matchings/code_actors/update_simple_objects.s +++ /dev/null @@ -1,149 +0,0 @@ -glabel update_simple_objects -/* 10CB58 802A3548 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 10CB5C 802A354C AFB00018 */ sw $s0, 0x18($sp) -/* 10CB60 802A3550 3C108016 */ lui $s0, %hi(D_8015F9B8) # $s0, 0x8016 -/* 10CB64 802A3554 AFBF001C */ sw $ra, 0x1c($sp) -/* 10CB68 802A3558 2610F9B8 */ addiu $s0, %lo(D_8015F9B8) # addiu $s0, $s0, -0x648 -/* 10CB6C 802A355C 860E0002 */ lh $t6, 2($s0) -.L802A3560: -/* 10CB70 802A3560 11C00063 */ beqz $t6, .L802A36F0 -/* 10CB74 802A3564 00000000 */ nop -/* 10CB78 802A3568 860F0000 */ lh $t7, ($s0) -/* 10CB7C 802A356C 25F8FFFE */ addiu $t8, $t7, -2 -/* 10CB80 802A3570 2F01002C */ sltiu $at, $t8, 0x2c -/* 10CB84 802A3574 1020005E */ beqz $at, .L802A36F0 -/* 10CB88 802A3578 0018C080 */ sll $t8, $t8, 2 -/* 10CB8C 802A357C 3C01802C */ lui $at, %hi(jpt_802B9AF4) -/* 10CB90 802A3580 00380821 */ addu $at, $at, $t8 -/* 10CB94 802A3584 8C389AF4 */ lw $t8, %lo(jpt_802B9AF4)($at) -/* 10CB98 802A3588 03000008 */ jr $t8 -/* 10CB9C 802A358C 00000000 */ nop -glabel L802A3590 -/* 10CBA0 802A3590 0C0A7462 */ jal update_obj_falling_rocks -/* 10CBA4 802A3594 02002025 */ move $a0, $s0 -/* 10CBA8 802A3598 10000055 */ b .L802A36F0 -/* 10CBAC 802A359C 00000000 */ nop -glabel L802A35A0 -/* 10CBB0 802A35A0 0C0ACCB1 */ jal update_obj_green_shell -/* 10CBB4 802A35A4 02002025 */ move $a0, $s0 -/* 10CBB8 802A35A8 10000051 */ b .L802A36F0 -/* 10CBBC 802A35AC 00000000 */ nop -glabel L802A35B0 -/* 10CBC0 802A35B0 0C0AD086 */ jal update_obj_red_blue_shell -/* 10CBC4 802A35B4 02002025 */ move $a0, $s0 -/* 10CBC8 802A35B8 1000004D */ b .L802A36F0 -/* 10CBCC 802A35BC 00000000 */ nop -glabel L802A35C0 -/* 10CBD0 802A35C0 0C0AD086 */ jal update_obj_red_blue_shell -/* 10CBD4 802A35C4 02002025 */ move $a0, $s0 -/* 10CBD8 802A35C8 10000049 */ b .L802A36F0 -/* 10CBDC 802A35CC 00000000 */ nop -glabel L802A35D0 -/* 10CBE0 802A35D0 0C0A5F57 */ jal update_obj_kiwano_fruit -/* 10CBE4 802A35D4 02002025 */ move $a0, $s0 -/* 10CBE8 802A35D8 10000045 */ b .L802A36F0 -/* 10CBEC 802A35DC 00000000 */ nop -glabel L802A35E0 -/* 10CBF0 802A35E0 0C0AC80D */ jal update_obj_banana -/* 10CBF4 802A35E4 02002025 */ move $a0, $s0 -/* 10CBF8 802A35E8 10000041 */ b .L802A36F0 -/* 10CBFC 802A35EC 00000000 */ nop -glabel L802A35F0 -/* 10CC00 802A35F0 0C0A605B */ jal update_obj_paddle_wheel -/* 10CC04 802A35F4 02002025 */ move $a0, $s0 -/* 10CC08 802A35F8 1000003D */ b .L802A36F0 -/* 10CC0C 802A35FC 00000000 */ nop -glabel L802A3600 -/* 10CC10 802A3600 0C0A605F */ jal update_obj_train_engine -/* 10CC14 802A3604 02002025 */ move $a0, $s0 -/* 10CC18 802A3608 10000039 */ b .L802A36F0 -/* 10CC1C 802A360C 00000000 */ nop -glabel L802A3610 -/* 10CC20 802A3610 0C0A6073 */ jal update_obj_train_car1 -/* 10CC24 802A3614 02002025 */ move $a0, $s0 -/* 10CC28 802A3618 10000035 */ b .L802A36F0 -/* 10CC2C 802A361C 00000000 */ nop -glabel L802A3620 -/* 10CC30 802A3620 0C0A6077 */ jal update_obj_train_car2 -/* 10CC34 802A3624 02002025 */ move $a0, $s0 -/* 10CC38 802A3628 10000031 */ b .L802A36F0 -/* 10CC3C 802A362C 00000000 */ nop -glabel L802A3630 -/* 10CC40 802A3630 0C0A8580 */ jal update_obj_item_box -/* 10CC44 802A3634 02002025 */ move $a0, $s0 -/* 10CC48 802A3638 1000002D */ b .L802A36F0 -/* 10CC4C 802A363C 00000000 */ nop -glabel L802A3640 -/* 10CC50 802A3640 0C0A855B */ jal update_obj_item_box_hot_air_balloon -/* 10CC54 802A3644 02002025 */ move $a0, $s0 -/* 10CC58 802A3648 10000029 */ b .L802A36F0 -/* 10CC5C 802A364C 00000000 */ nop -glabel L802A3650 -/* 10CC60 802A3650 0C0A843C */ jal update_obj_fake_item_box -/* 10CC64 802A3654 02002025 */ move $a0, $s0 -/* 10CC68 802A3658 10000025 */ b .L802A36F0 -/* 10CC6C 802A365C 00000000 */ nop -glabel L802A3660 -/* 10CC70 802A3660 0C0A607B */ jal update_obj_piranha_plant -/* 10CC74 802A3664 02002025 */ move $a0, $s0 -/* 10CC78 802A3668 10000021 */ b .L802A36F0 -/* 10CC7C 802A366C 00000000 */ nop -glabel L802A3670 -/* 10CC80 802A3670 0C0AC28A */ jal update_obj_banana_bunch -/* 10CC84 802A3674 02002025 */ move $a0, $s0 -/* 10CC88 802A3678 1000001D */ b .L802A36F0 -/* 10CC8C 802A367C 00000000 */ nop -glabel L802A3680 -/* 10CC90 802A3680 02002025 */ move $a0, $s0 -/* 10CC94 802A3684 0C0AC3A6 */ jal update_obj_triple_shell -/* 10CC98 802A3688 24050007 */ li $a1, 7 -/* 10CC9C 802A368C 10000018 */ b .L802A36F0 -/* 10CCA0 802A3690 00000000 */ nop -glabel L802A3694 -/* 10CCA4 802A3694 02002025 */ move $a0, $s0 -/* 10CCA8 802A3698 0C0AC3A6 */ jal update_obj_triple_shell -/* 10CCAC 802A369C 24050008 */ li $a1, 8 -/* 10CCB0 802A36A0 10000013 */ b .L802A36F0 -/* 10CCB4 802A36A4 00000000 */ nop -glabel L802A36A8 -/* 10CCB8 802A36A8 0C0A6AD8 */ jal update_obj_mario_raceway_sign -/* 10CCBC 802A36AC 02002025 */ move $a0, $s0 -/* 10CCC0 802A36B0 1000000F */ b .L802A36F0 -/* 10CCC4 802A36B4 00000000 */ nop -glabel L802A36B8 -/* 10CCC8 802A36B8 0C0A6AB2 */ jal update_obj_wario_stadium_sign -/* 10CCCC 802A36BC 02002025 */ move $a0, $s0 -/* 10CCD0 802A36C0 1000000B */ b .L802A36F0 -/* 10CCD4 802A36C4 00000000 */ nop -glabel L802A36C8 -/* 10CCD8 802A36C8 0C0A6AB6 */ jal update_obj_railroad_crossing -/* 10CCDC 802A36CC 02002025 */ move $a0, $s0 -/* 10CCE0 802A36D0 10000007 */ b .L802A36F0 -/* 10CCE4 802A36D4 00000000 */ nop -glabel L802A36D8 -/* 10CCE8 802A36D8 0C0A5F41 */ jal update_obj_trees_cacti_shrubs -/* 10CCEC 802A36DC 02002025 */ move $a0, $s0 -/* 10CCF0 802A36E0 10000003 */ b .L802A36F0 -/* 10CCF4 802A36E4 00000000 */ nop -glabel L802A36E8 -/* 10CCF8 802A36E8 0C0A5EFF */ jal update_obj_yoshi_valley_egg -/* 10CCFC 802A36EC 02002025 */ move $a0, $s0 -.L802A36F0: -glabel L802A36F0 -/* 10CD00 802A36F0 3C198016 */ lui $t9, %hi(D_80162578) # $t9, 0x8016 -/* 10CD04 802A36F4 27392578 */ addiu $t9, %lo(D_80162578) # addiu $t9, $t9, 0x2578 -/* 10CD08 802A36F8 26100070 */ addiu $s0, $s0, 0x70 -/* 10CD0C 802A36FC 5619FF98 */ bnel $s0, $t9, .L802A3560 -/* 10CD10 802A3700 860E0002 */ lh $t6, 2($s0) -/* 10CD14 802A3704 0C0A8391 */ jal func_802A0E44 -/* 10CD18 802A3708 00000000 */ nop -/* 10CD1C 802A370C 0C0ACC3B */ jal func_802B30EC -/* 10CD20 802A3710 00000000 */ nop -/* 10CD24 802A3714 8FBF001C */ lw $ra, 0x1c($sp) -/* 10CD28 802A3718 8FB00018 */ lw $s0, 0x18($sp) -/* 10CD2C 802A371C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 10CD30 802A3720 03E00008 */ jr $ra -/* 10CD34 802A3724 00000000 */ nop - -/* 10CD38 802A3728 00000000 */ nop -/* 10CD3C 802A372C 00000000 */ nop diff --git a/asm/non_matchings/memory/func_802ABEAC.s b/asm/non_matchings/memory/func_802ABEAC.s deleted file mode 100644 index 96363faa2..000000000 --- a/asm/non_matchings/memory/func_802ABEAC.s +++ /dev/null @@ -1,43 +0,0 @@ -glabel func_802ABEAC -/* 1154BC 802ABEAC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1154C0 802ABEB0 AFBF0014 */ sw $ra, 0x14($sp) -/* 1154C4 802ABEB4 948E0004 */ lhu $t6, 4($a0) -/* 1154C8 802ABEB8 24020001 */ li $v0, 1 -/* 1154CC 802ABEBC 544E0009 */ bnel $v0, $t6, .L802ABEE4 -/* 1154D0 802ABEC0 948F0000 */ lhu $t7, ($a0) -/* 1154D4 802ABEC4 C4AC0000 */ lwc1 $f12, ($a1) -/* 1154D8 802ABEC8 C4AE0004 */ lwc1 $f14, 4($a1) -/* 1154DC 802ABECC 8CA60008 */ lw $a2, 8($a1) -/* 1154E0 802ABED0 0C0AAF8C */ jal func_802ABE30 -/* 1154E4 802ABED4 9487000A */ lhu $a3, 0xa($a0) -/* 1154E8 802ABED8 10000017 */ b .L802ABF38 -/* 1154EC 802ABEDC 8FBF0014 */ lw $ra, 0x14($sp) -/* 1154F0 802ABEE0 948F0000 */ lhu $t7, ($a0) -.L802ABEE4: -/* 1154F4 802ABEE4 544F0009 */ bnel $v0, $t7, .L802ABF0C -/* 1154F8 802ABEE8 94980002 */ lhu $t8, 2($a0) -/* 1154FC 802ABEEC C4AC0000 */ lwc1 $f12, ($a1) -/* 115500 802ABEF0 C4AE0004 */ lwc1 $f14, 4($a1) -/* 115504 802ABEF4 8CA60008 */ lw $a2, 8($a1) -/* 115508 802ABEF8 0C0AAF8C */ jal func_802ABE30 -/* 11550C 802ABEFC 94870006 */ lhu $a3, 6($a0) -/* 115510 802ABF00 1000000D */ b .L802ABF38 -/* 115514 802ABF04 8FBF0014 */ lw $ra, 0x14($sp) -/* 115518 802ABF08 94980002 */ lhu $t8, 2($a0) -.L802ABF0C: -/* 11551C 802ABF0C 54580009 */ bnel $v0, $t8, .L802ABF34 -/* 115520 802ABF10 C4A00004 */ lwc1 $f0, 4($a1) -/* 115524 802ABF14 C4AC0000 */ lwc1 $f12, ($a1) -/* 115528 802ABF18 C4AE0004 */ lwc1 $f14, 4($a1) -/* 11552C 802ABF1C 8CA60008 */ lw $a2, 8($a1) -/* 115530 802ABF20 0C0AAF8C */ jal func_802ABE30 -/* 115534 802ABF24 94870008 */ lhu $a3, 8($a0) -/* 115538 802ABF28 10000003 */ b .L802ABF38 -/* 11553C 802ABF2C 8FBF0014 */ lw $ra, 0x14($sp) -/* 115540 802ABF30 C4A00004 */ lwc1 $f0, 4($a1) -.L802ABF34: -/* 115544 802ABF34 8FBF0014 */ lw $ra, 0x14($sp) -.L802ABF38: -/* 115548 802ABF38 27BD0018 */ addiu $sp, $sp, 0x18 -/* 11554C 802ABF3C 03E00008 */ jr $ra -/* 115550 802ABF40 00000000 */ nop diff --git a/data/data_121DA0.s b/data/data_121DA0.s index 7f56e4f33..da28a4642 100644 --- a/data/data_121DA0.s +++ b/data/data_121DA0.s @@ -73,26 +73,26 @@ glabel D_802B8848 # struct .hword 0000 # fill -glabel D_802B8850 -.word 0, 0, 0 +#glabel D_802B8850 +#.word 0, 0, 0 -glabel D_802B885C -.hword 0, 0, 0 +#glabel D_802B885C +#.hword 0, 0, 0 -.hword 0000 # fill +#.hword 0000 # fill -glabel D_802B8864 -.hword 0, 0, 0 +#glabel D_802B8864 +#.hword 0, 0, 0 -.hword 0000 # fill +#.hword 0000 # fill -glabel D_802B886C -.hword 0, 0, 0 +#glabel D_802B886C +#.hword 0, 0, 0 -.hword 0000 # fill +#.hword 0000 # fill -glabel D_802B8874 -.float 0.0, 5.0, 10.0 +#glabel D_802B8874 +#.float 0.0, 5.0, 10.0 #glabel D_802B8880 # Vp viewport #.hword 640, 480, 511, 0 diff --git a/data/data_121DA0_2_1.s b/data/data_121DA0_2_1.s index c2a38f91b..71856c795 100644 --- a/data/data_121DA0_2_1.s +++ b/data/data_121DA0_2_1.s @@ -554,358 +554,43 @@ glabel D_802B9A28 glabel D_802B9A2C .float 16000000.0 -glabel D_802B9A30 -.float 640000.0 - -glabel D_802B9A34 -.float 16000000.0 - -glabel D_802B9A38 -.float 4000000.0 - -glabel D_802B9A3C -.float 4000000.0 - -glabel D_802B9A40 -.float 250000.0 - -glabel jpt_802B9A44 -.word L802A31E4, L802A31FC, L802A3214, L802A32EC -.word L802A3318, L802A3330, L802A3348, L802A34C0 -.word L802A3378, L802A34D4, L802A34D4, L802A34D4 -.word L802A34D4, L802A3390, L802A33A4, L802A33B8 -.word L802A33CC, L802A322C, L802A33E4, L802A34D4 -.word L802A34D4, L802A33FC, L802A34D4, L802A3428 -.word L802A3244, L802A34D4, L802A325C, L802A328C -.word L802A32A4, L802A32BC, L802A32D4, L802A3274 -.word L802A34D4, L802A3414, L802A34D4, L802A345C -.word L802A3440, L802A34AC, L802A3470, L802A3484 -.word L802A3360, L802A34D4, L802A3498, L802A3300 - -glabel jpt_802B9AF4 -.word L802A36D8, L802A36D8, L802A36D8, L802A3590 -.word L802A35E0, L802A35A0, L802A35B0, L802A36E8 -.word L802A3660, L802A36F0, L802A3630, L802A3650 -.word L802A3670, L802A3600, L802A3610, L802A3620 -.word L802A36F0, L802A36D8, L802A36F0, L802A3680 -.word L802A3694, L802A36A8, L802A36F0, L802A36D8 -.word L802A36D8, L802A36D8, L802A36D8, L802A36D8 -.word L802A36D8, L802A36D8, L802A36D8, L802A36D8 -.word L802A36F0, L802A36B8, L802A36F0, L802A36F0 -.word L802A35F0, L802A36C8, L802A36F0, L802A36F0 -.word L802A35C0, L802A3640, L802A36F0, L802A35D0 - -.word 0, 0, 0 - -glabel D_802B9BB0 -.float 30000.0 - -glabel D_802B9BB4 -.float 6800.0 - -glabel jtbl_802B9BB8 -.word L802A4E04, L802A4D98, L802A4D74, L802A4D74 -.word L802A4E04, L802A4E04, L802A4DBC, L802A4E04 -.word L802A4E04, L802A4E04, L802A4E04, L802A4E28 -.word L802A4E04, L802A4D74, L802A4DE0, L802A4D74 -.word L802A4D74, L802A4D98, L802A4E04 - -glabel D_802B9C04 -.float 2700.0 - -glabel D_802B9C08 -.float 1500.0 - -glabel D_802B9C0C -.float 5000.0 - -glabel D_802B9C10 -.float 4500.0 - -glabel D_802B9C14 -.float 7000.0 - -glabel D_802B9C18 -.float 6800.0 - -glabel D_802B9C1C -.float 1.3333333730697632 - -glabel D_802B9C20 -.float 0.6666666865348816 - -glabel D_802B9C24 -.float 2.6666667461395264 - -glabel D_802B9C28 -.float 1.3333333730697632 - -.word 0 - -glabel jpt_802B9C30 -.word L802A8FE0, L802A9014, L802A902C, L802A9044 -.word L802A9060, L802A907C, L802A9094, L802A9094 -.word L802A9094, L802A9094, L802A9094, L802A9094 -.word L802A9094, L802A9094, L802A9094, L802A9094 -.word L802A9094, L802A9094, L802A8FF8 - -glabel jpt_802B9C7C -.word L802A9250, L802A9268, L802A9280, L802A9298 -.word L802A92B4, L802A92D0 - -glabel jpt_802B9C94 -.word L802A9BB8, L802A9BDC, L802A9C00 -.word L802A9C24, L802A9C48, L802A9C6C, L802A9C90 -.word L802A9CB4, L802A9CD8, L802A9CFC, L802A9D20 -.word L802A9D44, L802A9D68, L802A9D8C, L802A9DB0 -.word L802A9DD4, L802A9DF8, L802A9E1C, L802A9E40 -.word L802A9E64, L802A9E88, L802A9EAC, L802A9EC8 -.word L802A9EE4, L802A9F38, L802A9F54, L802A9FC4 -.word L802AA00C, L802AA030, L802AA054, L802AA078 -.word L802AA09C, L802AA0C0, L802AA0E4, L802AA108 -.word L802AA12C, L802AA150, L802AA174, L802AA198 -.word L802AA1BC, L802AA1E0, L802AA684, L802AA714 -.word L802AA780, L802A9FE8, L802AA6F0, L802A9F00 -.word L802A9F70, L802AA6CC, L802A9B74, L802A9B74 -.word L802AA204, L802AA228, L802AA24C, L802AA270 -.word L802AA294, L802AA2B8, L802AA2DC, L802AA300 -.word L802AA324, L802AA348, L802AA36C, L802AA390 -.word L802AA3B4, L802AA3D8, L802AA3FC, L802AA420 -.word L802AA444, L802AA468, L802AA48C, L802AA4B0 -.word L802AA4D4, L802AA4F8, L802AA51C, L802AA540 -.word L802AA564, L802AA588, L802AA5AC, L802AA5D0 -.word L802AA5F4, L802AA618, L802AA63C, L802AA660 -.word L802A9F1C, L802A9F8C, L802A9FA8, L802AA738 -.word L802AA75C, L802AA6A8 - -.word 0, 0 - -glabel D_802B9E00 -.float 1859.0 - -glabel D_802B9E04 -.float 1549.0 - -glabel D_802B9E08 -.float -1102.0 - -glabel D_802B9E0C -.float -1402.0 - -glabel D_802B9E10 -.float 2405.0 - -glabel D_802B9E14 -.float 2233.0 - -glabel D_802B9E18 -.float 0.8 - -glabel D_802B9E1C -.float -475.0 - -glabel D_802B9E20 -.float -33.9 - -glabel D_802B9E24 -.float -838.0 - -glabel D_802B9E28 -.float -475.0 - -glabel D_802B9E2C -.float -475.0 - -glabel D_802B9E30 -.float -993.0 - -glabel D_802B9E34 -.float -33.9 - -glabel D_802B9E38 -.float -475.0 - -glabel D_802B9E3C -.float -33.9 - -glabel D_802B9E40 -.float -475.0 - -glabel D_802B9E44 -.float -33.9 - -glabel D_802B9E48 -.float -0.9 - -glabel D_802B9E4C -.float -3000.0 - -glabel D_802B9E50 -.float 3000.0 - -glabel D_802B9E54 -.float 3000.0 - -glabel D_802B9E58 -.float 3000.0 - -glabel D_802B9E5C -.float 3000.0 - -glabel D_802B9E60 -.float 3000.0 - -glabel D_802B9E64 -.float -0.9 - -glabel D_802B9E68 -.float 0.9 - -glabel D_802B9E6C -.float 0.1 - -glabel D_802B9E70 -.float -0.1 - -.word 0, 0, 0 - -glabel D_802B9E80 -.double 0.015 - -glabel D_802B9E88 -.double 0.015 - -glabel D_802B9E90 -.double 0.015 - -glabel jpt_802B9E98 -.word L802B0A88, L802B0AB0, L802B0AF8, L802B0B40 -.word L802B0B84, L802B0BCC, L802B0C70 - -glabel jpt_802B9EB4 -.word L802B0EF4, L802B0F60, L802B1050, L802B1154 -.word L802B11FC - -glabel jpt_802B9EC8 -.word L802B2094, L802B237C, L802B25A0, L802B2718 -.word L802B28E8, L802B285C - -glabel D_802B9EE0 -.float 0.2 - -glabel D_802B9EE4 -.float 0.15 - -glabel D_802B9EE8 -.float 0.2 - -glabel D_802B9EEC -.float 0.2 - -glabel D_802B9EF0 -.float 0.3 - -glabel jpt_802B9EF4 -.word L802B2B0C, L802B2B20, L802B2B4C, L802B2B78 -.word L802B2BA4 - -glabel jpt_802B9F08 -.word L802B301C, L802B302C, L802B2FEC, L802B30BC -.word L802B2FFC, L802B30CC, L802B300C, L802B309C -.word L802B30AC, L802B308C, L802B307C, L802B303C -.word L802B304C, L802B305C, L802B306C - -glabel jpt_802B9F44 -.word L802B33CC, L802B3614, L802B382C, L802B3B30 -.word L802B3974, L802B3AC4 - -glabel D_802B9F5C -.float 1.2 - -glabel D_802B9F60 -.float 1.2 - -glabel D_802B9F64 -.float 0.3 - -glabel D_802B9F68 -.float 25000000.0 - -glabel jpt_802B9F6C -.word L802B4324, L802B44B0, L802B4750, L802B4A9C -.word L802B4AD8, L802B4B18, L802B4B94, L802B4CE4 -.word L802B4D58, L802B4DE8 - -glabel D_802B9F94 -.float 1.2 - -glabel D_802B9F98 -.float 40000.0 - -glabel D_802B9F9C -.float 0.3 - -glabel D_802B9FA0 -.float 40000.0 - -.word 0, 0, 0 - -glabel D_802B9FB0 -.double 0.017453292222222222 - -glabel D_802B9FB8 -.double 3.141592653589793 - -glabel D_802B9FC0 -.double 360.0 - -glabel D_802B9FC8 -.double 3.141592653589793 - -glabel D_802B9FD0 -.double 360.0 - -glabel D_802B9FD8 -.float 1000000.0 - -glabel D_802B9FDC -.float -0.01600503 - -glabel D_802B9FE0 -.float 0.002834060 - -glabel D_802B9FE4 -.float -0.074954450 - -glabel D_802B9FE8 -.float 0.042587612 - -glabel D_802B9FEC -.float -0.142025709 - -glabel D_802B9FF0 -.float 0.106367543 - -glabel D_802B9FF4 -.float -0.333330661 - -glabel D_802B9FF8 -.double 1.3375206719956623e-08 - -glabel D_802BA000 -.double 1.5707963267948966 - -glabel D_802BA008 -.double 1.5707963267948966 - -glabel D_802BA010 -.double 50.123870849609375 - -glabel D_802BA018 -.double 3.141592653589793 - -glabel D_802BA020 -.double 3.141592653589793 - -glabel D_802BA028 -.double 65535.0 +#glabel D_802B9A30 +#.float 640000.0 + +#glabel D_802B9A34 +#.float 16000000.0 + +#glabel D_802B9A38 +#.float 4000000.0 + +#glabel D_802B9A3C +#.float 4000000.0 + +#glabel D_802B9A40 +#.float 250000.0 + +#glabel jpt_802B9A44 +#.word L802A31E4, L802A31FC, L802A3214, L802A32EC +#.word L802A3318, L802A3330, L802A3348, L802A34C0 +#.word L802A3378, L802A34D4, L802A34D4, L802A34D4 +#.word L802A34D4, L802A3390, L802A33A4, L802A33B8 +#.word L802A33CC, L802A322C, L802A33E4, L802A34D4 +#.word L802A34D4, L802A33FC, L802A34D4, L802A3428 +#.word L802A3244, L802A34D4, L802A325C, L802A328C +#.word L802A32A4, L802A32BC, L802A32D4, L802A3274 +#.word L802A34D4, L802A3414, L802A34D4, L802A345C +#.word L802A3440, L802A34AC, L802A3470, L802A3484 +#.word L802A3360, L802A34D4, L802A3498, L802A3300 + +#glabel jpt_802B9AF4 +#.word L802A36D8, L802A36D8, L802A36D8, L802A3590 +#.word L802A35E0, L802A35A0, L802A35B0, L802A36E8 +#.word L802A3660, L802A36F0, L802A3630, L802A3650 +#.word L802A3670, L802A3600, L802A3610, L802A3620 +#.word L802A36F0, L802A36D8, L802A36F0, L802A3680 +#.word L802A3694, L802A36A8, L802A36F0, L802A36D8 +#.word L802A36D8, L802A36D8, L802A36D8, L802A36D8 +#.word L802A36D8, L802A36D8, L802A36D8, L802A36D8 +#.word L802A36F0, L802A36B8, L802A36F0, L802A36F0 +#.word L802A35F0, L802A36C8, L802A36F0, L802A36F0 +#.word L802A35C0, L802A3640, L802A36F0, L802A35D0 diff --git a/data/data_121DA0_2_2.s b/data/data_121DA0_2_2.s new file mode 100644 index 000000000..3da71b9a3 --- /dev/null +++ b/data/data_121DA0_2_2.s @@ -0,0 +1,322 @@ +# Mario Kart 64 (U) disassembly and split file +# generated by n64split v0.4a - N64 ROM splitter + +.include "macros.inc" + +.section .data + + +#.word 0, 0, 0 + +glabel D_802B9BB0 +.float 30000.0 + +glabel D_802B9BB4 +.float 6800.0 + +glabel jtbl_802B9BB8 +.word L802A4E04, L802A4D98, L802A4D74, L802A4D74 +.word L802A4E04, L802A4E04, L802A4DBC, L802A4E04 +.word L802A4E04, L802A4E04, L802A4E04, L802A4E28 +.word L802A4E04, L802A4D74, L802A4DE0, L802A4D74 +.word L802A4D74, L802A4D98, L802A4E04 + +glabel D_802B9C04 +.float 2700.0 + +glabel D_802B9C08 +.float 1500.0 + +glabel D_802B9C0C +.float 5000.0 + +glabel D_802B9C10 +.float 4500.0 + +glabel D_802B9C14 +.float 7000.0 + +glabel D_802B9C18 +.float 6800.0 + +glabel D_802B9C1C +.float 1.3333333730697632 + +glabel D_802B9C20 +.float 0.6666666865348816 + +glabel D_802B9C24 +.float 2.6666667461395264 + +glabel D_802B9C28 +.float 1.3333333730697632 + +.word 0 + +glabel jpt_802B9C30 +.word L802A8FE0, L802A9014, L802A902C, L802A9044 +.word L802A9060, L802A907C, L802A9094, L802A9094 +.word L802A9094, L802A9094, L802A9094, L802A9094 +.word L802A9094, L802A9094, L802A9094, L802A9094 +.word L802A9094, L802A9094, L802A8FF8 + +glabel jpt_802B9C7C +.word L802A9250, L802A9268, L802A9280, L802A9298 +.word L802A92B4, L802A92D0 + +glabel jpt_802B9C94 +.word L802A9BB8, L802A9BDC, L802A9C00 +.word L802A9C24, L802A9C48, L802A9C6C, L802A9C90 +.word L802A9CB4, L802A9CD8, L802A9CFC, L802A9D20 +.word L802A9D44, L802A9D68, L802A9D8C, L802A9DB0 +.word L802A9DD4, L802A9DF8, L802A9E1C, L802A9E40 +.word L802A9E64, L802A9E88, L802A9EAC, L802A9EC8 +.word L802A9EE4, L802A9F38, L802A9F54, L802A9FC4 +.word L802AA00C, L802AA030, L802AA054, L802AA078 +.word L802AA09C, L802AA0C0, L802AA0E4, L802AA108 +.word L802AA12C, L802AA150, L802AA174, L802AA198 +.word L802AA1BC, L802AA1E0, L802AA684, L802AA714 +.word L802AA780, L802A9FE8, L802AA6F0, L802A9F00 +.word L802A9F70, L802AA6CC, L802A9B74, L802A9B74 +.word L802AA204, L802AA228, L802AA24C, L802AA270 +.word L802AA294, L802AA2B8, L802AA2DC, L802AA300 +.word L802AA324, L802AA348, L802AA36C, L802AA390 +.word L802AA3B4, L802AA3D8, L802AA3FC, L802AA420 +.word L802AA444, L802AA468, L802AA48C, L802AA4B0 +.word L802AA4D4, L802AA4F8, L802AA51C, L802AA540 +.word L802AA564, L802AA588, L802AA5AC, L802AA5D0 +.word L802AA5F4, L802AA618, L802AA63C, L802AA660 +.word L802A9F1C, L802A9F8C, L802A9FA8, L802AA738 +.word L802AA75C, L802AA6A8 + +.word 0, 0 + +glabel D_802B9E00 +.float 1859.0 + +glabel D_802B9E04 +.float 1549.0 + +glabel D_802B9E08 +.float -1102.0 + +glabel D_802B9E0C +.float -1402.0 + +glabel D_802B9E10 +.float 2405.0 + +glabel D_802B9E14 +.float 2233.0 + +glabel D_802B9E18 +.float 0.8 + +glabel D_802B9E1C +.float -475.0 + +glabel D_802B9E20 +.float -33.9 + +glabel D_802B9E24 +.float -838.0 + +glabel D_802B9E28 +.float -475.0 + +glabel D_802B9E2C +.float -475.0 + +glabel D_802B9E30 +.float -993.0 + +glabel D_802B9E34 +.float -33.9 + +glabel D_802B9E38 +.float -475.0 + +glabel D_802B9E3C +.float -33.9 + +glabel D_802B9E40 +.float -475.0 + +glabel D_802B9E44 +.float -33.9 + +glabel D_802B9E48 +.float -0.9 + +glabel D_802B9E4C +.float -3000.0 + +glabel D_802B9E50 +.float 3000.0 + +glabel D_802B9E54 +.float 3000.0 + +glabel D_802B9E58 +.float 3000.0 + +glabel D_802B9E5C +.float 3000.0 + +glabel D_802B9E60 +.float 3000.0 + +glabel D_802B9E64 +.float -0.9 + +glabel D_802B9E68 +.float 0.9 + +glabel D_802B9E6C +.float 0.1 + +glabel D_802B9E70 +.float -0.1 + +.word 0, 0, 0 + +glabel D_802B9E80 +.double 0.015 + +glabel D_802B9E88 +.double 0.015 + +glabel D_802B9E90 +.double 0.015 + +glabel jpt_802B9E98 +.word L802B0A88, L802B0AB0, L802B0AF8, L802B0B40 +.word L802B0B84, L802B0BCC, L802B0C70 + +glabel jpt_802B9EB4 +.word L802B0EF4, L802B0F60, L802B1050, L802B1154 +.word L802B11FC + +glabel jpt_802B9EC8 +.word L802B2094, L802B237C, L802B25A0, L802B2718 +.word L802B28E8, L802B285C + +glabel D_802B9EE0 +.float 0.2 + +glabel D_802B9EE4 +.float 0.15 + +glabel D_802B9EE8 +.float 0.2 + +glabel D_802B9EEC +.float 0.2 + +glabel D_802B9EF0 +.float 0.3 + +glabel jpt_802B9EF4 +.word L802B2B0C, L802B2B20, L802B2B4C, L802B2B78 +.word L802B2BA4 + +glabel jpt_802B9F08 +.word L802B301C, L802B302C, L802B2FEC, L802B30BC +.word L802B2FFC, L802B30CC, L802B300C, L802B309C +.word L802B30AC, L802B308C, L802B307C, L802B303C +.word L802B304C, L802B305C, L802B306C + +glabel jpt_802B9F44 +.word L802B33CC, L802B3614, L802B382C, L802B3B30 +.word L802B3974, L802B3AC4 + +glabel D_802B9F5C +.float 1.2 + +glabel D_802B9F60 +.float 1.2 + +glabel D_802B9F64 +.float 0.3 + +glabel D_802B9F68 +.float 25000000.0 + +glabel jpt_802B9F6C +.word L802B4324, L802B44B0, L802B4750, L802B4A9C +.word L802B4AD8, L802B4B18, L802B4B94, L802B4CE4 +.word L802B4D58, L802B4DE8 + +glabel D_802B9F94 +.float 1.2 + +glabel D_802B9F98 +.float 40000.0 + +glabel D_802B9F9C +.float 0.3 + +glabel D_802B9FA0 +.float 40000.0 + +.word 0, 0, 0 + +glabel D_802B9FB0 +.double 0.017453292222222222 + +glabel D_802B9FB8 +.double 3.141592653589793 + +glabel D_802B9FC0 +.double 360.0 + +glabel D_802B9FC8 +.double 3.141592653589793 + +glabel D_802B9FD0 +.double 360.0 + +glabel D_802B9FD8 +.float 1000000.0 + +glabel D_802B9FDC +.float -0.01600503 + +glabel D_802B9FE0 +.float 0.002834060 + +glabel D_802B9FE4 +.float -0.074954450 + +glabel D_802B9FE8 +.float 0.042587612 + +glabel D_802B9FEC +.float -0.142025709 + +glabel D_802B9FF0 +.float 0.106367543 + +glabel D_802B9FF4 +.float -0.333330661 + +glabel D_802B9FF8 +.double 1.3375206719956623e-08 + +glabel D_802BA000 +.double 1.5707963267948966 + +glabel D_802BA008 +.double 1.5707963267948966 + +glabel D_802BA010 +.double 50.123870849609375 + +glabel D_802BA018 +.double 3.141592653589793 + +glabel D_802BA020 +.double 3.141592653589793 + +glabel D_802BA028 +.double 65535.0 diff --git a/include/actor_types.h b/include/actor_types.h index 2ce7afaf9..2624689ce 100644 --- a/include/actor_types.h +++ b/include/actor_types.h @@ -1,179 +1,46 @@ #include #include +#include // Made this because there will likely be a lot of structs in this file that will be compiled into one eventually. // This keeps the other files cleaner. -struct choochoo { - s32 unk0; - s16 unk4; - s16 unk6; - s32 unk8; - +struct piranha_plant { + /* 0x00 */ s16 unk0; // 0xC, 0xD, or 0x2B + #ifdef AVOID_UB + /* 0x02 */ u16 unk2; + #else + s16 unk2; // bitflag + #endif + /* 0x04 */ s16 unk4; // Timer? + /* 0x06 */ s16 unk6; // 1 + /* 0x08 */ s16 unk8; + /* 0x0A */ s16 unkA; + /* 0x0C */ f32 unkC; + /* 0x10 */ Vec3s unk10; // Actor rotation + /* 0x18 */ s32 unk18; + /* 0x1C */ f32 unk1C; + /* 0x20 */ s16 unk20; + /* 0x22 */ s16 unk22; + /* 0x24 */ s16 unk24; + /* 0x26 */ s16 unk26; + /* 0x28 */ s16 unk28; + /* 0x2A */ s16 unk2A; }; -struct choochooTrain { - s32 unk0; - s16 unk4; - s16 unk6; - f32 unk8; - s32 unkC; - s32 unk10; - s32 unk14; - f32 unk18; - s32 unk1C; - s32 unk20; - f32 unk24; - s32 unk28; - s32 unk2C; - s32 unk2E; - s32 unk30; - s32 unk32; - s32 unk34; - s32 unk36; - s32 unk38; -}; - -struct UnkStruct_802976D8 { - s16 unk0; - s16 unk2; - s16 unk4; -}; - -// copied from player struct -struct bigboi { - /* 0x0000 */ f32 unk_000; - /* 0x0004 */ f32 unk_004; - /* 0x0008 */ f32 unk_008; - /* 0x000C */ s32 unk_00C; - /* 0x0010 */ char unk_010[0x4]; - /* 0x0014 */ f32 posX; - /* 0x0018 */ f32 unk_018; - /* 0x001C */ f32 unk_01C; - /* 0x0020 */ f32 unk_020; - /* 0x0024 */ f32 rotY; - /* 0x0028 */ f32 rotZ; - /* 0x002C */ s16 unk_02C; - /* 0x002E */ s16 unk_02E; - /* 0x0030 */ s16 unk_030; - /* 0x0032 */ char unk_032[0x2]; - /* 0x0034 */ f32 unk_034; - /* 0x0038 */ s16 unk_038; - s16 unk_03A; - /* 0x003C */ f32 unk_03C; - /* 0x0040 */ char unk_040[0x2]; - /* 0x0042 */ s16 unk_042; - /* 0x0044 */ s16 unk_044; - /* 0x0046 */ s16 unk_046; - /* 0x0048 */ char unk_048[0x10]; - /* 0x0058 */ f32 unk_058; - /* 0x005C */ f32 unk_05C; - /* 0x0060 */ f32 unk_060; - /* 0x0064 */ f32 unk_064; - /* 0x0068 */ f32 unk_068; - /* 0x006C */ f32 unk_06C; - /* 0x0070 */ f32 unk_070; - /* 0x0074 */ f32 unk_074; - /* 0x0078 */ s16 unk_078; - /* 0x007A */ s16 unk_07A; - /* 0x007C */ s32 unk_07C; - /* 0x0080 */ f32 unk_080; - /* 0x0084 */ f32 unk_084; - /* 0x0088 */ f32 unk_088; - /* 0x008C */ f32 unk_08C; - /* 0x0090 */ f32 unk_090; - /* 0x0094 */ f32 unk_094; - /* 0x0098 */ f32 unk_098; - /* 0x009C */ f32 unk_09C; - /* 0x00A0 */ f32 unk_0A0; - /* 0x00A4 */ f32 unk_0A4; - /* 0x00A8 */ s16 unk_0A8; - /* 0x00AA */ s16 unk_0AA; - /* 0x00AC */ s16 unk_0AC; - /* 0x00AE */ s16 unk_0AE; - /* 0x00B0 */ s16 unk_0B0; - /* 0x00B2 */ s16 unk_0B2; - /* 0x00B4 */ s16 unk_0B4; - /* 0x00B6 */ s16 unk_0B6; - /* 0x00B8 */ f32 unk_0B8; - /* 0x00BC */ s32 unk_0BC; - /* 0x00C0 */ s16 unk_0C0; - /* 0x00C2 */ s16 unk_0C2; - /* 0x00C4 */ s16 unk_0C4; - /* 0x00C6 */ s16 unk_0C6; - /* 0x00C8 */ s16 unk_0C8; - /* 0x00CA */ s16 unk_0CA; - /* 0x00CC */ char unk_0CC[0x10]; - /* 0x00DC */ s16 unk_0DC; - /* 0x00DE */ s16 unk_0DE; - /* 0x00E0 */ s16 unk_0E0; - /* 0x00E2 */ s16 unk_0E2; - /* 0x00E4 */ f32 unk_0E4; - /* 0x00E8 */ f32 unk_0E8; - /* 0x00EC */ f32 unk_0EC; - /* 0x00F0 */ f32 unk_0F0; - /* 0x00F4 */ f32 unk_0F4; - /* 0x00F8 */ char unk_0F8[0x2]; - /* 0x00FA */ s16 unk_0FA; - /* 0x00FC */ f32 unk_0FC; - /* 0x0100 */ f32 unk_100; - /* 0x0104 */ f32 unk_104; - /* 0x0108 */ f32 unk_108; - /* 0x010C */ s16 unk_10C; - /* 0x010E */ char unk_10E[0x2]; - /* 0x0110 */ s16 unk_110; - /* 0x0112 */ s16 unk_112; - /* 0x0114 */ s16 unk_114; - /* 0x0116 */ s16 unk_116; - /* 0x0118 */ s16 unk_118; - /* 0x011A */ s16 unk_11A; - /* 0x011C */ f32 unk_11C; - /* 0x0120 */ f32 unk_120; - /* 0x0124 */ f32 unk_124; - /* 0x0128 */ f32 unk_128; - /* 0x012C */ f32 unk_12C; - /* 0x0130 */ f32 unk_130; - /* 0x0134 */ f32 unk_134; - /* 0x0138 */ f32 unk_138; - /* 0x013C */ f32 unk_13C; - /* 0x0140 */ f32 unk_140; - /* 0x0144 */ f32 unk_144; - /* 0x0148 */ f32 unk_148; - /* 0x014C */ char unk_14C[0x4]; - /* 0x0150 */ f32 unk_150[9]; - /* 0x0174 */ f32 unk_174[9]; - /* 0x0198 */ f32 unk_198; - /* 0x019C */ f32 unk_19C; - /* 0x01A0 */ f32 unk_1A0; - /* 0x01A4 */ s8 unk_1A4; - /* 0x01A5 */ s8 unk_1A5; - /* 0x01A6 */ s16 unk_1A6; - /* 0x01A8 */ f32 unk_1A8; - /* 0x01AC */ s32 unk_1AC; - /* 0x01B0 */ f32 unk_1B0; - /* 0x01B4 */ f32 unk_1B4; - /* 0x01B8 */ f32 unk_1B8; - /* 0x01BC */ s8 unk_1BC; - /* 0x01BD */ s8 unk_1BD; - /* 0x01BE */ s16 unk_1BE; - /* 0x01C0 */ f32 unk_1C0; - /* 0x01C4 */ s32 unk_1C4; - /* 0x01C8 */ f32 unk_1C8; - /* 0x01CC */ f32 unk_1CC; - /* 0x01D0 */ f32 unk_1D0; - /* 0x01D4 */ s8 unk_1D4; - /* 0x01D5 */ s8 unk_1D5; - /* 0x01D6 */ s16 unk_1D6; - /* 0x01D8 */ f32 unk_1D8; - /* 0x01DC */ s32 unk_1DC; - /* 0x01E0 */ f32 unk_1E0; - /* 0x01E4 */ f32 unk_1E4; - /* 0x01E8 */ f32 unk_1E8; - /* 0x01EC */ s8 unk_1EC; - /* 0x01ED */ s8 unk_1ED; - /* 0x01EE */ s16 unk_1EE; - /* 0x01F0 */ f32 unk_1F0; - /* 0x01F4 */ s32 unk_1F4; - /* 0x01F8 */ f32 unk_1F8; - /* 0x01FC */ f32 unk_1FC; +struct Actor { + /* 0x00 */ s16 unk0; // 0xC, 0xD, or 0x2B + #ifdef AVOID_UB + /* 0x02 */ u16 unk2; + #else + s16 unk2; // bitflags + #endif + /* 0x04 */ s16 unk4; // Timer? + /* 0x06 */ s16 unk6; // 1 // train wheel rot? + /* 0x08 */ f32 unk8; + f32 unkC; + /* 0x0C */ Vec3s unk10; // Actor rotation + /* 0x18 */ Vec3f unk18; + /* 0x24 */ Vec3f unk24; + /* 0x30 */ UnkActorInner unk30; }; diff --git a/include/common_structs.h b/include/common_structs.h index 0006f1a71..8103f992b 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -6,6 +6,7 @@ typedef f32 Vec3f[3]; typedef s16 Vec3s[3]; +typedef s16 Vec4s[4]; typedef enum { /* 0x00 */ COURSE_MARIO_RACEWAY = 0, @@ -113,9 +114,7 @@ typedef struct { f32 angleX; f32 angleY; f32 angleZ; - s16 rotX; - s16 rotX2; - s16 rotY; // unused? + Vec3s rotX; s16 rotZ; s32 unk3; // zero s32 unk4; // 0x4119999A @@ -159,9 +158,7 @@ typedef struct { } Camera; typedef struct { - /* 0x00 */ f32 unk_000; - /* 0x04 */ f32 unk_004; - /* 0x08 */ f32 unk_008; + /* 0x00 */ Vec3f unk_000; /* 0x0C */ f32 unk_00C; /* 0x10 */ u16 unk_010; /* 0x12 */ u16 unk_012; @@ -258,6 +255,24 @@ typedef struct { #define BACK_LEFT_TYRE 2 #define BACK_RIGHT_TYRE 3 + +typedef struct { + /* 0x00 */ u16 unk30; + /* 0x02 */ u16 unk32; + /* 0x04 */ u16 unk34; + /* 0x06 */ u16 unk36; + /* 0x08 */ u16 unk38; + /* 0x0A */ u16 unk3A; + /* 0x0C */ f32 unk3C; + /* 0x10 */ f32 unk40; + /* 0x14 */ f32 unk44; + /* 0x18 */ Vec3f unk48; + /* 0x24 */ Vec3f unk54; + /* 0x30 */ Vec3f unk60; + /* 0x3C */ f32 unk6C; +} UnkActorInner; + + typedef struct { /* 0x0000 */ u16 unk_000; /* 0x0002 */ u16 unk_002; @@ -268,9 +283,7 @@ typedef struct { /* 0x000C */ s32 unk_00C; /* 0x0010 */ s16 unk_010; /* 0x0012 */ s16 unk_012; - /* 0x0014 */ f32 posX; - /* 0x0018 */ f32 posY; - /* 0x001C */ f32 posZ; + /* 0x0014 */ Vec3f pos; /* 0x0020 */ f32 rotX; /* 0x0024 */ f32 rotY; /* 0x0028 */ f32 rotZ; @@ -341,25 +354,7 @@ typedef struct { /* 0x0108 */ f32 unk_108; /* 0x010C */ s16 unk_10C; /* 0x010E */ char unk_10E[0x2]; - /* 0x0110 */ s16 unk_110; - /* 0x0112 */ s16 unk_112; - /* 0x0114 */ s16 unk_114; - /* 0x0116 */ s16 unk_116; - /* 0x0118 */ s16 unk_118; - /* 0x011A */ s16 unk_11A; - /* 0x011C */ f32 unk_11C; - /* 0x0120 */ f32 unk_120; - /* 0x0124 */ f32 unk_124; - /* 0x0128 */ f32 unk_128; - /* 0x012C */ f32 unk_12C; - /* 0x0130 */ f32 unk_130; - /* 0x0134 */ f32 unk_134; - /* 0x0138 */ f32 unk_138; - /* 0x013C */ f32 unk_13C; - /* 0x0140 */ f32 unk_140; - /* 0x0144 */ f32 unk_144; - /* 0x0148 */ f32 unk_148; - /* 0x014C */ char unk_14C[0x4]; + /* 0x0110 */ UnkActorInner unk_110; /* 0x0150 */ f32 unk_150[9]; /* 0x0174 */ f32 unk_174[9]; /* 0x0198 */ KartBoundingBoxCorner boundingBoxCorners[4]; diff --git a/include/types.h b/include/types.h index 6298dbf11..e952822cc 100644 --- a/include/types.h +++ b/include/types.h @@ -6,6 +6,7 @@ typedef f32 Mat4[4][4]; + enum SpTaskState { SPTASK_STATE_NOT_STARTED, SPTASK_STATE_RUNNING, @@ -159,26 +160,6 @@ struct UnkStruct_800DDB40 { u16 unk26; }; -// math util structs -struct UnkStruct_802B51E8 { - f32 unk0; - f32 unk4; - f32 unk8; - f32 unkC; -}; - -struct UnkStruct_802B52D8 { - f32 unk0; - f32 unk4; - f32 unk8; -}; - -struct UnkStruct_802B52BC { - s16 unk0; - s16 unk2; - s16 unk4; -}; - struct UnkStruct_802B53C8 { f32 unk0; f32 unk4; diff --git a/mk64.ld b/mk64.ld index 3cabe0c88..05926ed37 100644 --- a/mk64.ld +++ b/mk64.ld @@ -305,6 +305,7 @@ SECTIONS BUILD_DIR/src/code_802B0210.o(.text); BUILD_DIR/src/math_util.o(.text); BUILD_DIR/data/data_121DA0.o(.data); + BUILD_DIR/src/code_80296A50.o(.data); BUILD_DIR/src/code_802A3730.o(.data); BUILD_DIR/src/memory.o(.data); BUILD_DIR/data/data_121DA0_1.o(.data); @@ -312,6 +313,8 @@ SECTIONS BUILD_DIR/data/data_121DA0_2.o(.data); BUILD_DIR/src/code_8028DF00.o(.rodata); BUILD_DIR/data/data_121DA0_2_1.o(.data); + BUILD_DIR/src/code_80296A50.o(.rodata); + BUILD_DIR/data/data_121DA0_2_2.o(.data); } END_SEG(code_8028DF00) diff --git a/src/audio/external.c b/src/audio/external.c index ec11461f5..a10446013 100644 --- a/src/audio/external.c +++ b/src/audio/external.c @@ -5242,7 +5242,8 @@ extern ? D_800EA1C8; extern ? D_800EA1D4; extern ? D_800EA1DC; -void func_800C98B8(s32 arg0, ? arg1, s32 arg2) { +// Precursor to play_sound +void func_800C98B8(Vec3f arg0, Vec3f arg1, u32 arg2) { s32 temp_t0; void *temp_v0; s32 phi_s0; diff --git a/src/code_80027D00.c b/src/code_80027D00.c index 659918666..10525b42b 100644 --- a/src/code_80027D00.c +++ b/src/code_80027D00.c @@ -932,9 +932,9 @@ void func_8002934C(Player *player, s32 arg1, s8 arg2, s8 arg3) { } else { temp_v0 = phi_a3->unk244; if ((temp_v0 >= 0) && (temp_v0 < 0x101)) { - phi_f0 = player->rotY - player->posY; + phi_f0 = player->rotY - player->pos[1]; } else { - phi_f0 = player->posY - player->rotY; + phi_f0 = player->pos[1] - player->rotY; } sp24 = phi_a3; phi_a3->unkD4 = func_802B7C40(phi_f0 / phi_f2, 0x4000000) * 0.5; @@ -1124,9 +1124,9 @@ void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) { sp80 = player->boundingBoxCorners[0].cornerX; sp84 = player->boundingBoxCorners[0].cornerY; sp88 = player->boundingBoxCorners[0].cornerZ; - player->boundingBoxCorners[0].cornerX = sp8C + player->posX; - player->boundingBoxCorners[0].cornerY = sp90 + player->posY; - player->boundingBoxCorners[0].cornerZ = sp94 + player->posZ; + player->boundingBoxCorners[0].cornerX = sp8C + player->pos[0]; + player->boundingBoxCorners[0].cornerY = sp90 + player->pos[1]; + player->boundingBoxCorners[0].cornerZ = sp94 + player->pos[2]; func_802AFA34(player, player->boundingBoxCorners, sp80, sp84, sp88); temp_f14 = -sp48; temp_f2_2 = (f64) temp_f14; @@ -1140,9 +1140,9 @@ void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) { sp80 = player->boundingBoxCorners[1].cornerX; sp84 = player->boundingBoxCorners[1].cornerY; sp88 = player->boundingBoxCorners[1].cornerZ; - player->boundingBoxCorners[1].cornerX = sp8C + player->posX; - player->boundingBoxCorners[1].cornerY = sp90 + player->posY; - player->boundingBoxCorners[1].cornerZ = sp94 + player->posZ; + player->boundingBoxCorners[1].cornerX = sp8C + player->pos[0]; + player->boundingBoxCorners[1].cornerY = sp90 + player->pos[1]; + player->boundingBoxCorners[1].cornerZ = sp94 + player->pos[2]; func_802AFA34(player, &player->boundingBoxCorners[1], sp80, sp84, sp88); temp_a0_3 = &sp8C; temp_f12 = sp34 + 4.0f; @@ -1154,9 +1154,9 @@ void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) { sp80 = player->boundingBoxCorners[2].cornerX; sp84 = player->boundingBoxCorners[2].cornerY; sp88 = player->boundingBoxCorners[2].cornerZ; - player->boundingBoxCorners[2].cornerX = sp8C + player->posX; - player->boundingBoxCorners[2].cornerY = sp90 + player->posY; - player->boundingBoxCorners[2].cornerZ = sp94 + player->posZ; + player->boundingBoxCorners[2].cornerX = sp8C + player->pos[0]; + player->boundingBoxCorners[2].cornerY = sp90 + player->pos[1]; + player->boundingBoxCorners[2].cornerZ = sp94 + player->pos[2]; func_802AFA34(player, &player->boundingBoxCorners[2], sp80, sp84, sp88); temp_a0_4 = &sp8C; sp8C = (f32) (sp28 + 2.6); @@ -1166,9 +1166,9 @@ void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) { sp80 = player->boundingBoxCorners[3].cornerX; sp84 = player->boundingBoxCorners[3].cornerY; sp88 = player->boundingBoxCorners[3].cornerZ; - player->boundingBoxCorners[3].cornerX = sp8C + player->posX; - player->boundingBoxCorners[3].cornerY = sp90 + player->posY; - player->boundingBoxCorners[3].cornerZ = sp94 + player->posZ; + player->boundingBoxCorners[3].cornerX = sp8C + player->pos[0]; + player->boundingBoxCorners[3].cornerY = sp90 + player->pos[1]; + player->boundingBoxCorners[3].cornerZ = sp94 + player->pos[2]; func_802AFA34(player, &player->boundingBoxCorners[3], sp80, sp84, sp88); if ((player->unk_0BC & 8) == 0) { move_f32_towards(&player->unk_230, (player->boundingBoxCorners[0].cornerGroundY + player->boundingBoxCorners[2].cornerGroundY) / 2.0f, 0.5f); @@ -1619,7 +1619,7 @@ void func_8002AB70(Player *player) { move_f32_towards(&player->unk_DAC, 1.0f, 0.07f); } } else { - if (player->unk_124 >= 50.0f) { + if (player->unk_110.unk44 >= 50.0f) { player->unk_DAC = 2.0f; } move_f32_towards(&player->unk_100, gKartGravityTable[player->characterId], 0.02f); @@ -3207,10 +3207,10 @@ void func_8002D268(Player *player, s32 arg1, s8 arg2, s8 arg3) { if ((temp_v0_5 & 0x10) == 0x10) { player->unk_044 = temp_v0_5 & 0xFFEF; } - temp_f0_7 = player->posX; + temp_f0_7 = player->pos[0]; spF0 = temp_f0_7; - temp_f2_7 = player->posZ; - temp_f12_6 = player->posY; + temp_f2_7 = player->pos[2]; + temp_f12_6 = player->pos[1]; spE8 = temp_f2_7; player->rotX = temp_f0_7; player->rotZ = temp_f2_7; @@ -3353,7 +3353,7 @@ void func_8002D268(Player *player, s32 arg1, s8 arg2, s8 arg3) { player->posZ = spF4; } temp_v0_17 = player->unk_000; - player->posY = spF8; + player->pos[1] = spF8; if (((temp_v0_17 & 0x4000) != 0) && ((temp_v0_17 & 0x1000) == 0)) { func_8002BB9C(player, &spFC, &spF4, arg2, arg3, &sp98); } @@ -3404,9 +3404,9 @@ void func_8002E4C4(Player *player) { player->kartHopJerk = 0.0f; player->kartHopAcceleration = 0.0f; player->kartHopVelocity = 0.0f; - player->posY = func_802AE1C0(player->posX, D_80164510[player_index] + 10.0f, player->posZ) + player->unk_070; - if (((player->posY - D_80164510[player_index]) > 1200.0f) || ((player->posY - D_80164510[player_index]) < -1200.0f)) { - player->posY = player->rotY; + player->pos[1] = func_802AE1C0(player->pos[0], D_80164510[player_index] + 10.0f, player->pos[2]) + player->unk_070; + if (((player->pos[1] - D_80164510[player_index]) > 1200.0f) || ((player->pos[1] - D_80164510[player_index]) < -1200.0f)) { + player->pos[1] = player->rotY; } player->unk_038 = 0.0f; } diff --git a/src/code_800393C0.c b/src/code_800393C0.c index 9b8cd60f5..6f83a2718 100644 --- a/src/code_800393C0.c +++ b/src/code_800393C0.c @@ -49,10 +49,10 @@ void spawn_player(Player *player, s8 playerIndex, f32 arg2, f32 arg3, f32 arg4, break; } - player->posX = arg2; + player->pos[0] = arg2; ret = func_802AE1C0(arg2, arg4 + 50.0f, arg3) + player->unk_070; - player->posZ = arg3; - player->posY = ret; + player->pos[2] = arg3; + player->pos[1] = ret; player->rotX = arg2; player->rotY = ret; @@ -251,12 +251,12 @@ void spawn_player(Player *player, s8 playerIndex, f32 arg2, f32 arg3, f32 arg4, player->boundingBoxCorners[BACK_LEFT_TYRE].unk_14 = 0; player->boundingBoxCorners[BACK_RIGHT_TYRE].unk_14 = 0; - player->unk_110 = 0; - player->unk_112 = 0; - player->unk_114 = 0; - player->unk_116 = 0; - player->unk_118 = 0; - player->unk_11A = 0; + player->unk_110.unk30 = 0; + player->unk_110.unk32 = 0; + player->unk_110.unk34 = 0; + player->unk_110.unk36 = 0; + player->unk_110.unk38 = 0; + player->unk_110.unk3A = 0; player->boundingBoxCorners[FRONT_LEFT_TYRE].cornerX = 0.0f; player->boundingBoxCorners[FRONT_LEFT_TYRE].cornerY = 0.0f; @@ -279,18 +279,18 @@ void spawn_player(Player *player, s8 playerIndex, f32 arg2, f32 arg3, f32 arg4, player->boundingBoxCorners[BACK_LEFT_TYRE].cornerGroundY = 0.0f; player->boundingBoxCorners[BACK_RIGHT_TYRE].cornerGroundY = 0.0f; - player->unk_11C = 0.0f; - player->unk_120 = 0.0f; - player->unk_124 = 0.0f; - player->unk_128 = 0.0f; - player->unk_12C = 0.0f; - player->unk_130 = 0.0f; - player->unk_134 = 0.0f; - player->unk_138 = 0.0f; - player->unk_13C = 0.0f; - player->unk_140 = 0.0f; - player->unk_144 = 0.0f; - player->unk_148 = 0.0f; + player->unk_110.unk3C = 0.0f; + player->unk_110.unk40 = 0.0f; + player->unk_110.unk44 = 0.0f; + player->unk_110.unk48[0] = 0.0f; + player->unk_110.unk48[1] = 0.0f; + player->unk_110.unk48[2] = 0.0f; + player->unk_110.unk54[0] = 0.0f; + player->unk_110.unk54[1] = 0.0f; + player->unk_110.unk54[2] = 0.0f; + player->unk_110.unk60[0] = 0.0f; + player->unk_110.unk60[1] = 0.0f; + player->unk_110.unk60[2] = 0.0f; D_80165300[playerIndex] = 0; D_8018CE10[playerIndex].unk_04 = 0.0f; @@ -1115,17 +1115,17 @@ void func_8003D080(void) { switch (gModeSelection) { case GRAND_PRIX: func_8001C4D0(gPlayerOne->unk_0A4, gPlayerOne->unk_0A8, gPlayerOne->unk_0AC, gPlayerOne->unk_0BC, 1, 0); - func_8001C4D0(gPlayerTwo->posX, gPlayerTwo->posY, gPlayerTwo->posZ, gPlayerTwo->unk_02E, 1, 1); + func_8001C4D0(gPlayerTwo->pos[0], gPlayerTwo->pos[1], gPlayerTwo->pos[2], gPlayerTwo->unk_02E, 1, 1); break; case BATTLE: func_8001C4D0(gPlayerOne->unk_0A4, gPlayerOne->unk_0A8, gPlayerOne->unk_0AC, gPlayerOne->unk_0BC, 9, 0); - func_8001C4D0(gPlayerTwo->posX, gPlayerTwo->posY, gPlayerTwo->posZ, gPlayerTwo->unk_02E, 9, 1); + func_8001C4D0(gPlayerTwo->pos[0], gPlayerTwo->pos[1], gPlayerTwo->pos[2], gPlayerTwo->unk_02E, 9, 1); break; default: func_8001C4D0(gPlayerOne->unk_0A4, gPlayerOne->unk_0A8, gPlayerOne->unk_0AC, gPlayerOne->unk_0BC, 1, 0); - func_8001C4D0(gPlayerTwo->posX, gPlayerTwo->posY, gPlayerTwo->posZ, gPlayerTwo->unk_02E, 1, 1); + func_8001C4D0(gPlayerTwo->pos[0], gPlayerTwo->pos[1], gPlayerTwo->pos[2], gPlayerTwo->unk_02E, 1, 1); break; } break; @@ -1134,22 +1134,22 @@ void func_8003D080(void) { if (gModeSelection == BATTLE) { ptr = &gPlayerThree; func_8001C4D0(gPlayerOne->unk_0A4, gPlayerOne->unk_0A8, gPlayerOne->unk_0AC, gPlayerOne->unk_0BC, 9, 0); - func_8001C4D0(gPlayerTwo->posX, gPlayerTwo->posY, gPlayerTwo->posZ, gPlayerTwo->unk_02E, 9, 1); + func_8001C4D0(gPlayerTwo->pos[0], gPlayerTwo->pos[1], gPlayerTwo->pos[2], gPlayerTwo->unk_02E, 9, 1); ptr++; - func_8001C4D0(ptr->posX, ptr->posY, ptr->posZ, ptr->unk_02E, 9, 2); + func_8001C4D0(ptr->pos[0], ptr->pos[1], ptr->pos[2], ptr->unk_02E, 9, 2); ptr++; if (gPlayerCountSelection1 == 4) { - func_8001C4D0(ptr->posX, ptr->posY, ptr->posZ, ptr->unk_02E, 9, 3); + func_8001C4D0(ptr->pos[0], ptr->pos[1], ptr->pos[2], ptr->unk_02E, 9, 3); } } else { ptr = &gPlayerThree; func_8001C4D0(gPlayerOne->unk_0A4, gPlayerOne->unk_0A8, gPlayerOne->unk_0AC, gPlayerOne->unk_0BC, 1, 0); - func_8001C4D0(gPlayerTwo->posX, gPlayerTwo->posY, gPlayerTwo->posZ, gPlayerTwo->unk_02E, 1, 1); + func_8001C4D0(gPlayerTwo->pos[0], gPlayerTwo->pos[1], gPlayerTwo->pos[2], gPlayerTwo->unk_02E, 1, 1); ptr++; - func_8001C4D0(ptr->posX, ptr->posY, ptr->posZ, ptr->unk_02E, 1, 2); + func_8001C4D0(ptr->pos[0], ptr->pos[1], ptr->pos[2], ptr->unk_02E, 1, 2); ptr++; if (gPlayerCountSelection1 == 4) { - func_8001C4D0(ptr->posX, ptr->posY, ptr->posZ, ptr->unk_02E, 1, 3); + func_8001C4D0(ptr->pos[0], ptr->pos[1], ptr->pos[2], ptr->unk_02E, 1, 3); } } break; @@ -1163,17 +1163,17 @@ void func_8003D080(void) { case 1: case 2: func_8001C4D0(gPlayerOne->unk_0A4, gPlayerOne->unk_0A8, gPlayerOne->unk_0AC, gPlayerOne->unk_0BC, 3, 0); - func_8001C4D0(gPlayerTwo->posX, gPlayerTwo->posY, gPlayerTwo->posZ, gPlayerTwo->unk_02E, 3, 1); + func_8001C4D0(gPlayerTwo->pos[0], gPlayerTwo->pos[1], gPlayerTwo->pos[2], gPlayerTwo->unk_02E, 3, 1); break; case 3: ptr = &gPlayerThree; func_8001C4D0(gPlayerOne->unk_0A4, gPlayerOne->unk_0A8, gPlayerOne->unk_0AC, gPlayerOne->unk_0BC, 3, 0); - func_8001C4D0(gPlayerTwo->posX, gPlayerTwo->posY, gPlayerTwo->posZ, gPlayerTwo->unk_02E, 3, 1); + func_8001C4D0(gPlayerTwo->pos[0], gPlayerTwo->pos[1], gPlayerTwo->pos[2], gPlayerTwo->unk_02E, 3, 1); ptr++; - func_8001C4D0(ptr->posX, ptr->posY, ptr->posZ, ptr->unk_02E, 3, 2); + func_8001C4D0(ptr->pos[0], ptr->pos[1], ptr->pos[2], ptr->unk_02E, 3, 2); ptr++; - func_8001C4D0(ptr->posX, ptr->posY, ptr->posZ, ptr->unk_02E, 3, 3); + func_8001C4D0(ptr->pos[0], ptr->pos[1], ptr->pos[2], ptr->unk_02E, 3, 3); break; } } @@ -1242,8 +1242,8 @@ void func_8003DB5C(void) { Player *player = gPlayerOne; s32 i; - func_8001C4D0(player->posX, player->posY, player->posZ, player->unk_02E, 3, 0); - func_8001C4D0(player->posX, player->posY, player->posZ, player->unk_02E, 3, 1); + func_8001C4D0(player->pos[0], player->pos[1], player->pos[2], player->unk_02E, 3, 0); + func_8001C4D0(player->pos[0], player->pos[1], player->pos[2], player->unk_02E, 3, 1); for (i = 0; i < 8; i++, player++) { func_80027A20(player, i, 1, 0); diff --git a/src/code_80040E50.c b/src/code_80040E50.c index 361dfd7ba..45ed71625 100644 --- a/src/code_80040E50.c +++ b/src/code_80040E50.c @@ -192,7 +192,6 @@ UNUSED s32 s32_step_up_towards_alternate(s32 *value, s32 target, s32 *step) { } UNUSED s32 s32_step_down_towards_alternate(s32 *value, s32 target, s32 *step) { - s32 temp_t7; s32 targetReached = 0; if (target < *value) { diff --git a/src/code_80057C60.c b/src/code_80057C60.c index 311330e92..570e950ed 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -919,9 +919,9 @@ void func_80059820(s32 playerId) { D_8018CF14 = &camera1[playerId]; temp_v1 = D_8018CF1C; temp_v0 = &D_8018CA70[playerId]; - temp_v0->posXInt = (s32) temp_v1->posX; - temp_v0->posYInt = (s32) temp_v1->posY; - temp_v0->posZInt = (s32) temp_v1->posZ; + temp_v0->posXInt = (s32) temp_v1->pos[0]; + temp_v0->posYInt = (s32) temp_v1->pos[1]; + temp_v0->posZInt = (s32) temp_v1->pos[2]; } #else GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059820.s") @@ -3184,9 +3184,9 @@ void func_8005D6C0(Player* arg0) { } void func_8005D794(Player* arg0, UnkPlayerStruct258* arg1, f32 arg2, f32 arg3, f32 arg4, s8 arg5, s8 arg6) { - arg1->unk_008 = arg4; - arg1->unk_000 = arg2; - arg1->unk_004 = arg3; + arg1->unk_000[2] = arg4; + arg1->unk_000[0] = arg2; + arg1->unk_000[1] = arg3; arg1->unk_020 = -arg0->unk_02E; arg1->unk_014 = arg5; arg1->unk_010 = arg6; @@ -4144,15 +4144,15 @@ void func_8005F90C(Player *player, s16 arg1, s32 arg2, s32 arg3) { phi_t1 = 0; if ((player->unk_0BC & 0x80) == 0x80) { phi_v0 = (s32) player->boundingBoxCorners[2].surfaceType; - phi_f12 = player->posZ; - phi_f0 = player->posX; - phi_f2 = player->posY - player->unk_070; + phi_f12 = player->pos[2]; + phi_f0 = player->pos[0]; + phi_f2 = player->pos[1] - player->unk_070; phi_t1 = 1; } else { phi_v0 = (s32) player->boundingBoxCorners[3].surfaceType; - phi_f12 = player->posZ; - phi_f0 = player->posX; - phi_f2 = player->posY - player->unk_070; + phi_f12 = player->pos[2]; + phi_f0 = player->pos[0]; + phi_f2 = player->pos[1] - player->unk_070; } switch (phi_v0) { case 2: @@ -4655,9 +4655,9 @@ void func_80060F50(Player* arg0, s16 arg1, UNUSED s8 arg2, s8 arg3) { func_8005D800(&arg0->unk_258[arg1], 0xFFFFFF, 0xFF); } - arg0->unk_258[arg1].unk_008 = (coss(arg0->unk_258[arg1].unk_020) * D_800EE5A8) + arg0->posZ; - arg0->unk_258[arg1].unk_000 = (sins(arg0->unk_258[arg1].unk_020) * D_800EE5B0) + arg0->posX; - arg0->unk_258[arg1].unk_004 = D_801652A0[arg3]; + arg0->unk_258[arg1].unk_000[2] = arg0->pos[2] + (coss(arg0->unk_258[arg1].unk_020) * D_800EE5A8); + arg0->unk_258[arg1].unk_000[0] = arg0->pos[0] + (sins(arg0->unk_258[arg1].unk_020) * D_800EE5B0); + arg0->unk_258[arg1].unk_000[1] = D_801652A0[arg3]; arg0->unk_0DE &= ~0x0008; } @@ -4677,9 +4677,9 @@ void func_80061130(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { func_8005D7D8(&arg0->unk_258[arg1], 7, 0.6f); func_8005D800(&arg0->unk_258[arg1], 0xFFFFFF, 0xD0); - arg0->unk_258[arg1].unk_008 = (coss(arg0->unk_258[arg1].unk_020) * 6.0f) + arg0->posZ; - arg0->unk_258[arg1].unk_000 = (sins(arg0->unk_258[arg1].unk_020) * 6.0f) + arg0->posX; - arg0->unk_258[arg1].unk_004 = arg0->posY - 5.0f; + arg0->unk_258[arg1].unk_000[2] = arg0->pos[2] +(coss(arg0->unk_258[arg1].unk_020) * 6.0f); + arg0->unk_258[arg1].unk_000[0] = arg0->pos[0] + (sins(arg0->unk_258[arg1].unk_020) * 6.0f); + arg0->unk_258[arg1].unk_000[1] = arg0->pos[1] - 5.0f; arg0->unk_258[arg1].unk_040 = 0; arg0->unk_258[arg1].unk_024 = 0.0f; } @@ -5108,7 +5108,7 @@ void func_80061EF4(void *arg0, s16 arg1, s32 arg2, ? arg3) { GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80061EF4.s") #endif -void func_800621BC(Player *arg0, s16 arg1, s32 arg2, UNUSED s8 arg3) { +void func_800621BC(Player* arg0, s16 arg1, s32 arg2, UNUSED s8 arg3) { s32 temp_v1; s32 phi_t0; s32 phi_t1; @@ -5121,7 +5121,7 @@ void func_800621BC(Player *arg0, s16 arg1, s32 arg2, UNUSED s8 arg3) { if (temp_v1 == 1) { phi_t1 = 1; phi_t0 = 0; - phi_f2 = arg0->posY; + phi_f2 = arg0->pos[1]; } if (temp_v1 == 0) { @@ -5129,7 +5129,7 @@ void func_800621BC(Player *arg0, s16 arg1, s32 arg2, UNUSED s8 arg3) { if (1) { phi_t0 = 0; } - phi_f2 = arg0->posY; + phi_f2 = arg0->pos[1]; } if (phi_t0 == 0) { @@ -5145,8 +5145,8 @@ void func_800621BC(Player *arg0, s16 arg1, s32 arg2, UNUSED s8 arg3) { arg0->unk_258[30 + arg1].unk_020 -= 2184; } - arg0->unk_258[30 + arg1].unk_008 = (coss((arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E) - arg0->unk_0C0) * 5.0f) + arg0->posZ; - arg0->unk_258[30 + arg1].unk_000 = (sins((arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E) - arg0->unk_0C0) * 5.0f) + arg0->posX; + arg0->unk_258[30 + arg1].unk_000[2] = arg0->pos[2] + (coss((arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E) - arg0->unk_0C0) * 5.0f); + arg0->unk_258[30 + arg1].unk_000[0] = arg0->pos[0] + (sins((arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E) - arg0->unk_0C0) * 5.0f); return; } @@ -5163,17 +5163,17 @@ void func_800621BC(Player *arg0, s16 arg1, s32 arg2, UNUSED s8 arg3) { } new_var = new_var2; - new_var->unk_258[30 + arg1].unk_008 = (coss((new_var->unk_258[30 + arg1].unk_020 - new_var->unk_02E) - new_var->unk_0C0) * 5.0f) + new_var->posZ; - new_var->unk_258[30 + arg1].unk_000 = (sins((new_var->unk_258[30 + arg1].unk_020 - new_var->unk_02E) - new_var->unk_0C0) * 5.0f) + new_var->posX; + new_var->unk_258[30 + arg1].unk_000[2] = new_var->pos[2] + (coss((new_var->unk_258[30 + arg1].unk_020 - new_var->unk_02E) - new_var->unk_0C0) * 5.0f); + new_var->unk_258[30 + arg1].unk_000[0] = new_var->pos[0] + (sins((new_var->unk_258[30 + arg1].unk_020 - new_var->unk_02E) - new_var->unk_0C0) * 5.0f); } } } void func_80062484(Player* arg0, UnkPlayerStruct258* arg1, s32 arg2) { arg1->unk_01C = 1; - arg1->unk_004 = arg0->unk_074 + 1.0f; - arg1->unk_008 = arg0->posZ; - arg1->unk_000 = arg0->posX; + arg1->unk_000[1] = arg0->unk_074 + 1.0f; + arg1->unk_000[2] = arg0->pos[2]; + arg1->unk_000[0] = arg0->pos[0]; arg1->unk_020 = (arg2 * 0x1998) - arg0->unk_02E; arg1->unk_012 = 4; arg1->unk_01E = 0; @@ -5401,7 +5401,7 @@ void func_800629BC(Player* arg0, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { arg0->unk_258[20 + arg3].unk_012 = 6; arg0->unk_258[20 + arg3].unk_01E = 0; arg0->unk_258[20 + arg3].unk_00C = D_800EE604; - arg0->unk_258[20 + arg3].unk_004 = 0.0f; + arg0->unk_258[20 + arg3].unk_000[1] = 0.0f; } void func_80062A18(Player* arg0, s8 arg1, UNUSED s8 arg2, s8 arg3) { @@ -5411,9 +5411,9 @@ void func_80062A18(Player* arg0, s8 arg1, UNUSED s8 arg2, s8 arg3) { arg0->unk_258[20 + arg3].unk_01E = 1; arg0->unk_258[20 + arg3].unk_020 = 0; arg0->unk_0B6 &= ~0x0080; - arg0->unk_258[20 + arg3].unk_008 = arg0->posZ; - arg0->unk_258[20 + arg3].unk_000 = arg0->posX; - arg0->unk_258[20 + arg3].unk_004 = (arg0->posY + 4.0f); + arg0->unk_258[20 + arg3].unk_000[2] = arg0->pos[2]; + arg0->unk_258[20 + arg3].unk_000[0] = arg0->pos[0]; + arg0->unk_258[20 + arg3].unk_000[1] = (arg0->pos[1] + 4.0f); } void func_80062AA8(Player* arg0, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { @@ -5421,7 +5421,7 @@ void func_80062AA8(Player* arg0, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { arg0->unk_258[20 + arg3].unk_012 = 5; arg0->unk_258[20 + arg3].unk_00C = D_800EE60C; arg0->unk_258[20 + arg3].unk_01E = 0; - arg0->unk_258[20 + arg3].unk_004 = (arg0->posY + arg0->unk_070) - 2.5; + arg0->unk_258[20 + arg3].unk_000[1] = (arg0->pos[1] + arg0->unk_070) - 2.5; } void func_80062B18(f32 *arg0, f32 *arg1, f32 *arg2, f32 arg3, f32 arg4, f32 arg5, u16 arg6, u16 arg7) { @@ -5552,15 +5552,15 @@ void func_80062F98(Player* arg0, s16 arg1, s8 arg2, UNUSED s8 arg3) { temp_f0 = arg0->unk_258[10 + arg1].unk_018 / 10.0f; ++arg0->unk_258[10 + arg1].unk_01E; - arg0->unk_258[10 + arg1].unk_004 += temp_f0; + arg0->unk_258[10 + arg1].unk_000[1] += temp_f0; if ((arg0->unk_0CA & 1) == 1) { - arg0->unk_258[10 + arg1].unk_004 += (temp_f0 + D_800EE648); - if ((arg0->unk_258[10 + arg1].unk_01E == 0x10) || ((D_801652A0[arg2] - arg0->unk_258[10 + arg1].unk_004) < 3.0f)) { + arg0->unk_258[10 + arg1].unk_000[1] += (temp_f0 + D_800EE648); + if ((arg0->unk_258[10 + arg1].unk_01E == 0x10) || ((D_801652A0[arg2] - arg0->unk_258[10 + arg1].unk_000[1]) < 3.0f)) { arg0->unk_258[10 + arg1].unk_01C = 0; arg0->unk_258[10 + arg1].unk_01E = 0; arg0->unk_258[10 + arg1].unk_012 = 0; } - } else if ((arg0->unk_258[10 + arg1].unk_01E == 0xA) || ((D_801652A0[arg2] - arg0->unk_258[10 + arg1].unk_004) < 3.0f)) { + } else if ((arg0->unk_258[10 + arg1].unk_01E == 0xA) || ((D_801652A0[arg2] - arg0->unk_258[10 + arg1].unk_000[1]) < 3.0f)) { arg0->unk_258[10 + arg1].unk_01C = 0; arg0->unk_258[10 + arg1].unk_01E = 0; arg0->unk_258[10 + arg1].unk_012 = 0; @@ -5569,9 +5569,9 @@ void func_80062F98(Player* arg0, s16 arg1, s8 arg2, UNUSED s8 arg3) { void func_800630C0(Player* arg0, s16 arg1, s8 arg2, UNUSED s8 arg3) { ++arg0->unk_258[arg1].unk_01E; - arg0->unk_258[arg1].unk_008 = coss(arg0->unk_258[arg1].unk_020) * D_800EE650 + arg0->posZ; - arg0->unk_258[arg1].unk_000 = sins(arg0->unk_258[arg1].unk_020) * D_800EE658 + arg0->posX; - arg0->unk_258[arg1].unk_004 = D_801652A0[arg2]; + arg0->unk_258[arg1].unk_000[2] = arg0->pos[2] + coss(arg0->unk_258[arg1].unk_020) * D_800EE650; + arg0->unk_258[arg1].unk_000[0] = arg0->pos[0] + sins(arg0->unk_258[arg1].unk_020) * D_800EE658; + arg0->unk_258[arg1].unk_000[1] = D_801652A0[arg2]; if (arg0->unk_258[arg1].unk_01E == 15) { arg0->unk_258[arg1].unk_01C = 0; arg0->unk_258[arg1].unk_01E = 0; @@ -5611,9 +5611,9 @@ void func_80063268(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { } arg0->unk_258[arg1].unk_024 += 0.25; - arg0->unk_258[arg1].unk_008 = (coss((arg0->unk_258[arg1].unk_020 + arg0->unk_258[arg1].unk_040)) * 5.5) + arg0->posZ; - arg0->unk_258[arg1].unk_000 = (sins((arg0->unk_258[arg1].unk_020 + arg0->unk_258[arg1].unk_040)) * 5.5) + arg0->posX; - arg0->unk_258[arg1].unk_004 = (arg0->unk_258[arg1].unk_024 + (arg0->posY - 5.0f)); + arg0->unk_258[arg1].unk_000[2] = arg0->pos[2] + (coss((arg0->unk_258[arg1].unk_020 + arg0->unk_258[arg1].unk_040)) * 5.5); + arg0->unk_258[arg1].unk_000[0] = arg0->pos[0] + (sins((arg0->unk_258[arg1].unk_020 + arg0->unk_258[arg1].unk_040)) * 5.5); + arg0->unk_258[arg1].unk_000[1] = ((arg0->pos[1] - 5.0f) + arg0->unk_258[arg1].unk_024); ++arg0->unk_258[arg1].unk_01E; arg0->unk_258[arg1].unk_00C += D_800EE660; arg0->unk_258[arg1].unk_03E -= 5; @@ -5631,15 +5631,15 @@ void func_80063268(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { void func_80063408(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { if (arg0->unk_258[10 + arg1].unk_010 == 1) { - arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[2].cornerZ + (arg0->unk_258[10 + arg1].unk_01E * -7) * coss(arg0->unk_258[10 + arg1].unk_020); - arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[2].cornerX + (arg0->unk_258[10 + arg1].unk_01E * -7) * sins(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[2].cornerZ + (arg0->unk_258[10 + arg1].unk_01E * -7) * coss(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[2].cornerX + (arg0->unk_258[10 + arg1].unk_01E * -7) * sins(arg0->unk_258[10 + arg1].unk_020); } else { - arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[3].cornerZ + (arg0->unk_258[10 + arg1].unk_01E * -7) * coss(arg0->unk_258[10 + arg1].unk_020); - arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[3].cornerX + (arg0->unk_258[10 + arg1].unk_01E * -7) * sins(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[3].cornerZ + (arg0->unk_258[10 + arg1].unk_01E * -7) * coss(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[3].cornerX + (arg0->unk_258[10 + arg1].unk_01E * -7) * sins(arg0->unk_258[10 + arg1].unk_020); } ++arg0->unk_258[10 + arg1].unk_01E; - arg0->unk_258[10 + arg1].unk_004 += 1.0f; + arg0->unk_258[10 + arg1].unk_000[1] += 1.0f; if (((arg0->unk_0BC & 0x80) != 0) || ((arg0->unk_0BC & 0x40) != 0)) { arg0->unk_258[10 + arg1].unk_01C = 0; @@ -5670,23 +5670,23 @@ void func_800635D4(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { if (arg0->unk_258[10 + arg1].unk_010 == 1) { if ((arg0->unk_0BC * 2) < 0) { func_80062B18(&sp44, &sp40, &sp3C, -2.0f, 0.0f, (-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16, -arg0->unk_258[10 + arg1].unk_020, 2 * -arg0->unk_206); - arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[2].cornerX + sp44; - arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[2].cornerZ + sp3C; + arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[2].cornerX + sp44; + arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[2].cornerZ + sp3C; } else { - arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[2].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * coss(arg0->unk_258[10 + arg1].unk_020); - arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[2].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * sins(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[2].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * coss(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[2].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * sins(arg0->unk_258[10 + arg1].unk_020); } } else if ((arg0->unk_0BC * 2) < 0) { func_80062B18(&sp44, &sp40, &sp3C, 2.0f, 0.0f, (-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16, - arg0->unk_258[10 + arg1].unk_020, 2 * -arg0->unk_206); - arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[3].cornerX + sp44; - arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[3].cornerZ + sp3C; + arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[3].cornerX + sp44; + arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[3].cornerZ + sp3C; } else { - arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[3].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * coss(arg0->unk_258[10 + arg1].unk_020); - arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[3].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * sins(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[3].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * coss(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[3].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * sins(arg0->unk_258[10 + arg1].unk_020); } ++arg0->unk_258[10 + arg1].unk_01E; - arg0->unk_258[10 + arg1].unk_004 += D_800EE670; + arg0->unk_258[10 + arg1].unk_000[1] += D_800EE670; if (((arg0->unk_0BC & 0x80) != 0) || ((arg0->unk_0BC & 0x40) != 0)) { arg0->unk_258[10 + arg1].unk_01C = 0; arg0->unk_258[10 + arg1].unk_01E = 0; @@ -5718,14 +5718,14 @@ void func_800635D4(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { void func_800639DC(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { if (arg0->unk_258[10 + arg1].unk_010 == 1) { - arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[2].cornerZ + (D_800EE680 * arg0->unk_258[10 + arg1].unk_01E) * coss(arg0->unk_258[10 + arg1].unk_020); - arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[2].cornerX + (D_800EE684 * arg0->unk_258[10 + arg1].unk_01E) * sins(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[2].cornerZ + (D_800EE680 * arg0->unk_258[10 + arg1].unk_01E) * coss(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[2].cornerX + (D_800EE684 * arg0->unk_258[10 + arg1].unk_01E) * sins(arg0->unk_258[10 + arg1].unk_020); } else { - arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[3].cornerZ + (D_800EE688 * arg0->unk_258[10 + arg1].unk_01E) * coss(arg0->unk_258[10 + arg1].unk_020); - arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[3].cornerX + (D_800EE68C * arg0->unk_258[10 + arg1].unk_01E) * sins(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[3].cornerZ + (D_800EE688 * arg0->unk_258[10 + arg1].unk_01E) * coss(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[3].cornerX + (D_800EE68C * arg0->unk_258[10 + arg1].unk_01E) * sins(arg0->unk_258[10 + arg1].unk_020); } ++arg0->unk_258[10 + arg1].unk_01E; - arg0->unk_258[10 + arg1].unk_004 += D_800EE690; + arg0->unk_258[10 + arg1].unk_000[1] += D_800EE690; if (arg0->unk_258[10 + arg1].unk_01E == 8) { arg0->unk_258[10 + arg1].unk_01C = 0; arg0->unk_258[10 + arg1].unk_01E = 0; @@ -5753,15 +5753,15 @@ void func_800639DC(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { void func_80063BD4(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { if (arg0->unk_258[10 + arg1].unk_010 == 1) { - arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[2].cornerZ + (-2 * arg0->unk_258[10 + arg1].unk_01E * coss(arg0->unk_258[10 + arg1].unk_020)); - arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[2].cornerX + (-2 * arg0->unk_258[10 + arg1].unk_01E * sins(arg0->unk_258[10 + arg1].unk_020)); + arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[2].cornerZ + (-2 * arg0->unk_258[10 + arg1].unk_01E * coss(arg0->unk_258[10 + arg1].unk_020)); + arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[2].cornerX + (-2 * arg0->unk_258[10 + arg1].unk_01E * sins(arg0->unk_258[10 + arg1].unk_020)); } else { - arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[3].cornerZ + (-2 * arg0->unk_258[10 + arg1].unk_01E * coss(arg0->unk_258[10 + arg1].unk_020)); - arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[3].cornerX + (-2 * arg0->unk_258[10 + arg1].unk_01E * sins(arg0->unk_258[10 + arg1].unk_020)); + arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[3].cornerZ + (-2 * arg0->unk_258[10 + arg1].unk_01E * coss(arg0->unk_258[10 + arg1].unk_020)); + arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[3].cornerX + (-2 * arg0->unk_258[10 + arg1].unk_01E * sins(arg0->unk_258[10 + arg1].unk_020)); } ++arg0->unk_258[10 + arg1].unk_01E; - arg0->unk_258[10 + arg1].unk_004 += D_800EE6A0; + arg0->unk_258[10 + arg1].unk_000[1] += D_800EE6A0; if (arg0->unk_258[10 + arg1].unk_01E == 8) { arg0->unk_258[10 + arg1].unk_01C = 0; arg0->unk_258[10 + arg1].unk_01E = 0; @@ -5774,11 +5774,11 @@ void func_80063BD4(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { void func_80063D58(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { if (arg0->unk_258[10 + arg1].unk_010 == 1) { - arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[2].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * coss(arg0->unk_258[10 + arg1].unk_020); - arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[2].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * sins(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[2].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * coss(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[2].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * sins(arg0->unk_258[10 + arg1].unk_020); } else { - arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[3].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * coss(arg0->unk_258[10 + arg1].unk_020); - arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[3].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * sins(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[3].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * coss(arg0->unk_258[10 + arg1].unk_020); + arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[3].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * sins(arg0->unk_258[10 + arg1].unk_020); } ++arg0->unk_258[10 + arg1].unk_01E; @@ -5791,9 +5791,9 @@ void func_80063D58(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { arg0->unk_258[10 + arg1].unk_00C += D_800EE6B0; if (arg0->unk_258[10 + arg1].unk_01E >= 4) { arg0->unk_258[10 + arg1].unk_03E -= 18; - arg0->unk_258[10 + arg1].unk_004 -= D_800EE6B8; + arg0->unk_258[10 + arg1].unk_000[1] -= D_800EE6B8; } else { - arg0->unk_258[10 + arg1].unk_004 += D_800EE6C0; + arg0->unk_258[10 + arg1].unk_000[1] += D_800EE6C0; } if (arg0->unk_258[10 + arg1].unk_03E <= 0) { @@ -5840,17 +5840,17 @@ void func_80064184(Player* arg0, s16 arg1, s8 arg2, UNUSED s8 arg3) { f32 sp40; f32 sp3C; - sp40 = D_801652A0[arg2] - arg0->posY - 3.0f; + sp40 = D_801652A0[arg2] - arg0->pos[1] - 3.0f; if (((arg0->unk_0DE & 1) != 0) && (gCurrentCourseId != COURSE_KOOPA_BEACH)) { - sp40 = D_801652A0[arg2] - arg0->posY + D_800EE6C8; + sp40 = D_801652A0[arg2] - arg0->pos[1] + D_800EE6C8; } func_80062B18(&sp44, &sp40, &sp3C, 0.0f, sp40, -4.0f + ((-arg0->unk_258[arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 10.0f), -arg0->unk_258[arg1].unk_020, 2 * -arg0->unk_206); - arg0->unk_258[arg1].unk_000 = arg0->posX + sp44; - arg0->unk_258[arg1].unk_008 = arg0->posZ + sp3C; - arg0->unk_258[arg1].unk_004 = arg0->posY + sp40; + arg0->unk_258[arg1].unk_000[0] = arg0->pos[0] + sp44; + arg0->unk_258[arg1].unk_000[2] = arg0->pos[2] + sp3C; + arg0->unk_258[arg1].unk_000[1] = arg0->pos[1] + sp40; ++arg0->unk_258[arg1].unk_01E; - if ((arg0->unk_258[arg1].unk_01E == 12) || (D_801652A0[arg2] <= (arg0->posY - arg0->unk_070))) { + if ((arg0->unk_258[arg1].unk_01E == 12) || (D_801652A0[arg2] <= (arg0->pos[1] - arg0->unk_070))) { arg0->unk_258[arg1].unk_01C = 0; arg0->unk_258[arg1].unk_01E = 0; arg0->unk_258[arg1].unk_012 = 0; @@ -5868,9 +5868,9 @@ void func_80064184(Player* arg0, s16 arg1, s8 arg2, UNUSED s8 arg3) { } void func_800643A8(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { - arg0->unk_258[10 + arg1].unk_008 = (D_800EE6D8 * arg0->unk_258[10 + arg1].unk_01E * coss(arg0->unk_258[10 + arg1].unk_020) + arg0->posZ); - arg0->unk_258[10 + arg1].unk_000 = (D_800EE6E0 * arg0->unk_258[10 + arg1].unk_01E * sins(arg0->unk_258[10 + arg1].unk_020) + arg0->posX); - arg0->unk_258[10 + arg1].unk_004 = arg0->unk_258[10 + arg1].unk_004 + 0.5; + arg0->unk_258[10 + arg1].unk_000[2] = arg0->pos[2] + (D_800EE6D8 * arg0->unk_258[10 + arg1].unk_01E * coss(arg0->unk_258[10 + arg1].unk_020)); + arg0->unk_258[10 + arg1].unk_000[0] = arg0->pos[0] + (D_800EE6E0 * arg0->unk_258[10 + arg1].unk_01E * sins(arg0->unk_258[10 + arg1].unk_020)); + arg0->unk_258[10 + arg1].unk_000[1] = arg0->unk_258[10 + arg1].unk_000[1] + 0.5; ++arg0->unk_258[10 + arg1].unk_01E; if (arg0->unk_258[10 + arg1].unk_01E == 10) { @@ -5984,9 +5984,9 @@ GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80064664.s") void func_800647C8(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { ++arg0->unk_258[30 + arg1].unk_01E; - arg0->unk_258[30 + arg1].unk_008 = ((D_800EE710 * (arg0->unk_258[30 + arg1].unk_01E)) * coss(arg0->unk_258[30 + arg1].unk_020)) + arg0->posZ; - arg0->unk_258[30 + arg1].unk_000 = ((D_800EE718 * (arg0->unk_258[30 + arg1].unk_01E)) * sins(arg0->unk_258[30 + arg1].unk_020) + arg0->posX); - arg0->unk_258[30 + arg1].unk_004 = (arg0->unk_074 + 2.0f); + arg0->unk_258[30 + arg1].unk_000[2] = arg0->pos[2] + ((D_800EE710 * (arg0->unk_258[30 + arg1].unk_01E)) * coss(arg0->unk_258[30 + arg1].unk_020)); + arg0->unk_258[30 + arg1].unk_000[0] = arg0->pos[0] + ((D_800EE718 * (arg0->unk_258[30 + arg1].unk_01E)) * sins(arg0->unk_258[30 + arg1].unk_020)); + arg0->unk_258[30 + arg1].unk_000[1] = (arg0->unk_074 + 2.0f); if (arg0->unk_258[30 + arg1].unk_01E == 14) { arg0->unk_258[30 + arg1].unk_01C = 0; @@ -6003,7 +6003,7 @@ void func_800647C8(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { void func_800648E4(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { ++arg0->unk_258[30 + arg1].unk_01E; arg0->unk_258[30 + arg1].unk_00C -= D_800EE720; - arg0->unk_258[30 + arg1].unk_004 += D_800EE728; + arg0->unk_258[30 + arg1].unk_000[1] += D_800EE728; arg0->unk_258[30 + arg1].unk_03E -= 12; if (arg0->unk_258[30 + arg1].unk_03E <= 0) { @@ -6019,7 +6019,7 @@ void func_800648E4(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { void func_80064988(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { ++arg0->unk_258[30 + arg1].unk_01E; - arg0->unk_258[30 + arg1].unk_004 -= D_800EE730; + arg0->unk_258[30 + arg1].unk_000[1] -= D_800EE730; if (arg0->unk_258[30 + arg1].unk_01E == 10) { arg0->unk_258[30 + arg1].unk_01C = 0; @@ -6032,9 +6032,9 @@ void func_800649F4(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { f32 temp; temp = arg0->unk_258[30 + arg1].unk_018; - arg0->unk_258[30 + arg1].unk_008 = ((-temp * arg0->unk_258[30 + arg1].unk_01E) * (coss(arg0->unk_258[30 + arg1].unk_020) ) + arg0->unk_21C); - arg0->unk_258[30 + arg1].unk_000 = ((-temp * arg0->unk_258[30 + arg1].unk_01E) * (sins(arg0->unk_258[30 + arg1].unk_020)) + arg0->unk_218); - arg0->unk_258[30 + arg1].unk_004 = (arg0->unk_258[30 + arg1].unk_014 + arg0->posY); + arg0->unk_258[30 + arg1].unk_000[2] = arg0->unk_21C + (((-temp) * arg0->unk_258[30 + arg1].unk_01E) * coss(arg0->unk_258[30 + arg1].unk_020)); + arg0->unk_258[30 + arg1].unk_000[0] = arg0->unk_218 + (((-temp) * arg0->unk_258[30 + arg1].unk_01E) * sins(arg0->unk_258[30 + arg1].unk_020)); + arg0->unk_258[30 + arg1].unk_000[1] = arg0->pos[1] + arg0->unk_258[30 + arg1].unk_014; arg0->unk_258[30 + arg1].unk_00C += D_800EE738; ++arg0->unk_258[30 + arg1].unk_01E; @@ -6056,9 +6056,9 @@ void func_80064B30(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { f32 temp; temp = arg0->unk_258[30 + arg1].unk_018 * D_800EE740; - arg0->unk_258[30 + arg1].unk_008 = ((-temp * arg0->unk_258[30 + arg1].unk_01E) * (coss(arg0->unk_258[30 + arg1].unk_020)) + arg0->posZ); - arg0->unk_258[30 + arg1].unk_000 = ((-temp * arg0->unk_258[30 + arg1].unk_01E) * (sins(arg0->unk_258[30 + arg1].unk_020)) + arg0->posX); - arg0->unk_258[30 + arg1].unk_004 += D_800EE748; + arg0->unk_258[30 + arg1].unk_000[2] = (arg0->pos[2] + (-temp * arg0->unk_258[30 + arg1].unk_01E) * (coss(arg0->unk_258[30 + arg1].unk_020))); + arg0->unk_258[30 + arg1].unk_000[0] = (arg0->pos[0] + (-temp * arg0->unk_258[30 + arg1].unk_01E) * (sins(arg0->unk_258[30 + arg1].unk_020))); + arg0->unk_258[30 + arg1].unk_000[1] += D_800EE748; ++arg0->unk_258[30 + arg1].unk_01E; if (arg0->unk_258[30 + arg1].unk_01E == 10) { @@ -6084,9 +6084,9 @@ void func_80064C74(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { arg0->unk_258[30 + arg1].unk_020 -= 2184; } - arg0->unk_258[30 + arg1].unk_008 = (coss(arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E - arg0->unk_0C0) * 5.0f) + arg0->posZ; - arg0->unk_258[30 + arg1].unk_000 = (sins(arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E - arg0->unk_0C0) * 5.0f) + arg0->posX; - arg0->unk_258[30 + arg1].unk_004 = arg0->posY - 1.0f; + arg0->unk_258[30 + arg1].unk_000[2] = arg0->pos[2] + (coss(arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E - arg0->unk_0C0) * 5.0f); + arg0->unk_258[30 + arg1].unk_000[0] = arg0->pos[0] + (sins(arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E - arg0->unk_0C0) * 5.0f); + arg0->unk_258[30 + arg1].unk_000[1] = arg0->pos[1] - 1.0f; arg0->unk_258[30 + arg1].unk_00C += D_800EE750; ++arg0->unk_258[30 + arg1].unk_01E; @@ -6105,7 +6105,7 @@ void func_80064C74(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { void func_80064DEC(Player* arg0, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) { - arg0->unk_258[20 + arg3].unk_004 = arg0->posY; + arg0->unk_258[20 + arg3].unk_000[1] = arg0->pos[1]; ++arg0->unk_258[20 + arg3].unk_01E; if (arg0->unk_258[20 + arg3].unk_01E == 9) { @@ -6157,7 +6157,7 @@ void func_80064F88(Player* arg0, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) { void func_80065030(Player* arg0, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) { ++arg0->unk_258[20 + arg3].unk_01E; - arg0->unk_258[20 + arg3].unk_004 += D_800EE788; + arg0->unk_258[20 + arg3].unk_000[1] += D_800EE788; arg0->unk_258[20 + arg3].unk_00C += D_800EE790; if (arg0->unk_258[20 + arg3].unk_00C >= (f64) 1.5) { arg0->unk_258[20 + arg3].unk_00C = 1.5f; @@ -6172,9 +6172,9 @@ void func_80065030(Player* arg0, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) { } void func_800650FC(Player* arg0, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) { - arg0->unk_258[20 + arg3].unk_008 = (f32) arg0->posZ; - arg0->unk_258[20 + arg3].unk_000 = (f32) arg0->posX; - arg0->unk_258[20 + arg3].unk_004 = (f32) (arg0->posY + 4.0f); + arg0->unk_258[20 + arg3].unk_000[2] = (f32) arg0->pos[2]; + arg0->unk_258[20 + arg3].unk_000[0] = (f32) arg0->pos[0]; + arg0->unk_258[20 + arg3].unk_000[1] = (f32) (arg0->pos[1] + 4.0f); if ((arg0->unk_0BC & 0x80) == 0x80) { arg0->unk_258[20 + arg3].unk_020 += 4732; } else { diff --git a/src/code_80071F00.c b/src/code_80071F00.c index 01cbc5ce7..050fcc578 100644 --- a/src/code_80071F00.c +++ b/src/code_80071F00.c @@ -4143,27 +4143,27 @@ void func_80078C70(u32 arg0) { case 0: /* switch 1 */ sp1C = 0; sp18 = camera1; - D_8018D200 = D_80150130 + 40.0f; + D_8018D200 = D_80150130[0] + 40.0f; break; case 1: /* switch 1 */ sp1C = 0; sp18 = camera1; - D_8018D200 = D_80150130 + 40.0f; + D_8018D200 = D_80150130[0] + 40.0f; break; case 2: /* switch 1 */ sp18 = camera2; sp1C = D_8018D1F0; - D_8018D200 = D_80150134 + 40.0f; + D_8018D200 = D_80150130[1] + 40.0f; break; case 3: /* switch 1 */ sp1C = 0; sp18 = camera1; - D_8018D200 = D_80150130 + 40.0f; + D_8018D200 = D_80150130[0] + 40.0f; break; case 4: /* switch 1 */ sp18 = camera2; sp1C = D_8018D1F0; - D_8018D200 = D_80150134 + 40.0f; + D_8018D200 = D_80150130[1] + 40.0f; break; } temp_v0 = D_8018D200; diff --git a/src/code_8008C1D0.c b/src/code_8008C1D0.c index f7b7964cc..16f976896 100644 --- a/src/code_8008C1D0.c +++ b/src/code_8008C1D0.c @@ -854,7 +854,7 @@ void func_8008DC08(Player* player, s8 arg1) { player->unk_0C0 = 0; player->unk_08C = 0.0f; player->unk_09C = 0.0f; - if ((player->unk_124 >= 600.0f) || ((player->unk_0BC & 0x1000) != 0)) { D_8018D990[arg1] = 3; } // placed block on same line to match + if ((player->unk_110.unk44 >= 600.0f) || ((player->unk_0BC & 0x1000) != 0)) { D_8018D990[arg1] = 3; } // placed block on same line to match switch (D_8018D990[arg1]) { case 0: @@ -888,7 +888,7 @@ void func_8008DC08(Player* player, s8 arg1) { break; case 1: player->unk_DC4 = 4.5f; - player->posY += D_800EF570; + player->pos[1] += D_800EF570; ++player->unk_238; if ((player->unk_046 & 0x80) != 0) { @@ -920,12 +920,12 @@ void func_8008DC08(Player* player, s8 arg1) { player->unk_238 = 0; } - if (player->unk_124 >= 600.0f) { + if (player->unk_110.unk44 >= 600.0f) { D_8018D990[arg1] = 3; } player->unk_DC4 = 4.5f; - player->posY -= D_800EF580; + player->pos[1] -= D_800EF580; if ((player->unk_0BC & 8) != 8) { D_8018D990[arg1] = 3; diff --git a/src/code_80280000.c b/src/code_80280000.c index dcbe591bb..6636bece6 100644 --- a/src/code_80280000.c +++ b/src/code_80280000.c @@ -11,8 +11,8 @@ extern Gfx *gDisplayListHead; extern Camera cameras[];//, *camera1, *camera2, *camera3, *camera4; -extern f32 D_80150130, D_80150148, D_8015014C, D_80150150; - +extern f32 D_80150148, D_8015014C, D_80150150; +extern f32 D_80150130[4]; extern s16 gCreditsCourseId; extern u16 D_80150112; extern u16 D_80164AF0; @@ -52,7 +52,7 @@ void func_80280038(void) { func_802A3E3C(); func_80057FC4(0); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->mtxPool[1], &sp44[37], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[1], &sp44[37], D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp44[37]); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); @@ -103,9 +103,9 @@ void func_802802AC(void) { temp_f12 = camera->unk - camera->pos[0]; temp = camera->unk1 - camera->pos[1]; temp_f14 = camera->unk2 - camera->pos[2]; - camera->rotX2 = func_802B7830(temp_f12, temp_f14); - camera->rotX = func_802B7830(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), temp); - camera->rotY = 0; + camera->rotX[1] = func_802B7830(temp_f12, temp_f14); + camera->rotX[0] = func_802B7830(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), temp); + camera->rotX[2] = 0; if (D_802874A0 != 0) { D_800DC5E4++; } else { @@ -126,7 +126,7 @@ void func_80280420(void) { func_802A4D18(); func_802A74BC(); camera->unk30 = 60.0f; - D_80150130 = 60.0f; + D_80150130[0] = 60.0f; D_800DC5EC->screenWidth = 320; D_800DC5EC->screenHeight = 240; D_800DC5EC->screenStartX = 160; diff --git a/src/code_80281610.c b/src/code_80281610.c index 980eb0a53..7ccd7d6aa 100644 --- a/src/code_80281610.c +++ b/src/code_80281610.c @@ -18,14 +18,14 @@ void func_80281610(void) { temp_f12 = camera->unk - camera->pos[0]; temp = camera->unk1 - camera->pos[1]; temp_f14 = camera->unk2 - camera->pos[2]; - camera->rotX2 = func_802B7830(temp_f12, temp_f14); - camera->rotX = func_802B7830(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), temp); - camera->rotY = 0; + camera->rotX[1] = func_802B7830(temp_f12, temp_f14); + camera->rotX[0] = func_802B7830(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), temp); + camera->rotX[2] = 0; } // guPerspective params -extern f32 D_80150130, D_80150148, D_8015014C, D_80150150; - +extern f32 D_80150148, D_8015014C, D_80150150; +extern f32 D_80150130[]; // rodata extern const f32 D_80286B90, D_80286B94, D_80286B98, D_80286B9C, D_80286BA0; @@ -39,7 +39,7 @@ void func_802816B8(void) { cameras[0].angleX = 0.0f; cameras[0].angleY = 1.0f; cameras[0].angleZ = 0.0f; - D_80150130 = 40.0f; + D_80150130[0] = 40.0f; D_80150148 = D_80286B9C; D_80150150 = 3.0f; D_8015014C = D_80286BA0; diff --git a/src/code_80281780.c b/src/code_80281780.c index 0c1e2fe56..f79e43bc4 100644 --- a/src/code_80281780.c +++ b/src/code_80281780.c @@ -85,7 +85,7 @@ void load_ending_sequence_royalraceway(void) { func_802A4D18(); func_802A74BC(); camera->unk30 = 60.0f; - D_80150130 = 60.0f; + D_80150130[0] = 60.0f; D_800DC5EC->screenWidth = 320; D_800DC5EC->screenHeight = 240; D_800DC5EC->screenStartX = 160; diff --git a/src/code_80281780.h b/src/code_80281780.h index 6e1946b76..04a7f5652 100644 --- a/src/code_80281780.h +++ b/src/code_80281780.h @@ -33,7 +33,7 @@ extern struct UnkStruct_800DC5EC *D_800DC5EC; extern s32 gMenuSelectionFromEndingSequence; //D_80287550; extern s32 D_80287554; extern f32 D_801647A4; -extern f32 D_80150130; +extern f32 D_80150130[]; extern s32 gPrevLoadedAddress; extern s32 D_8015F734; diff --git a/src/code_80281C40.c b/src/code_80281C40.c index b14f2781c..efae661e2 100644 --- a/src/code_80281C40.c +++ b/src/code_80281C40.c @@ -24,9 +24,9 @@ extern Gfx D_00284EE0[]; extern Camera cameras[]; -extern f32 D_80150130, D_80150148, D_8015014C, D_80150150; - +extern f32 D_80150148, D_8015014C, D_80150150; +extern f32 D_80150130[]; void func_80281C40(void) { s32 i; @@ -64,7 +64,7 @@ void func_80281D00(void) { } func_8028150C(); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective((Mtx*) &gGfxPool->mtxPool[1], &sp64[39], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective((Mtx*) &gGfxPool->mtxPool[1], &sp64[39], D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp64[39]); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); guLookAt((Mtx*) &gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); diff --git a/src/code_80281FA0.c b/src/code_80281FA0.c index cb8e2f35a..38e4278a7 100644 --- a/src/code_80281FA0.c +++ b/src/code_80281FA0.c @@ -1070,7 +1070,7 @@ void func_80283EA0(s32 arg0) { } void func_80283ED0(Vec3f arg0) { - func_80282008(arg0, &gPlayerTwo->posX); + func_80282008(arg0, &gPlayerTwo->pos[0]); } #ifdef MIPS_TO_C @@ -1078,9 +1078,9 @@ void func_80283ED0(Vec3f arg0) { ? func_802821A0(f32, f32, ?); // extern void func_80283EF8(s32 arg0) { - func_802821A0(gPlayerTwo->posX, 0.12f); - func_802821A0((bitwise f32) (arg0 + 4), gPlayerTwo->posY, 0x3DF5C28F); - func_802821A0((bitwise f32) (arg0 + 8), gPlayerTwo->posZ, 0x3DF5C28F); + func_802821A0(gPlayerTwo->pos[0], 0.12f); + func_802821A0((bitwise f32) (arg0 + 4), gPlayerTwo->pos[1], 0x3DF5C28F); + func_802821A0((bitwise f32) (arg0 + 8), gPlayerTwo->pos[2], 0x3DF5C28F); } #else GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80283EF8.s") @@ -1095,7 +1095,7 @@ void func_80283F6C(s32 arg0) { } void func_80283FCC(Vec3f arg0) { - func_80282008(arg0, &gPlayerThree->posX); + func_80282008(arg0, &gPlayerThree->pos[0]); } #ifdef MIPS_TO_C @@ -1219,9 +1219,9 @@ void func_80284308(void *arg0) { func_80282D90(arg0, &D_802858E0, &D_802858F8, 0); temp_v0 = *(sp30 + (D_802874F5 * 4)); //player = gPlayerOne; - temp_f0 = temp_v0->unk14 - player->posX; - temp_f12 = temp_v0->unk1C - player->posZ; - temp_f2 = temp_v0->unk18 - player->posY; + temp_f0 = temp_v0->unk14 - player->pos[0]; + temp_f12 = temp_v0->unk1C - player->pos[2]; + temp_f2 = temp_v0->unk18 - player->pos[1]; arg0->unkC = arg0->unkC + temp_f0; arg0->unk0 = arg0->unk0 + temp_f0; arg0->unk14 = arg0->unk14 + temp_f12; diff --git a/src/code_8028DF00.c b/src/code_8028DF00.c index d2f4abb33..75bc388e9 100644 --- a/src/code_8028DF00.c +++ b/src/code_8028DF00.c @@ -588,7 +588,7 @@ void func_8028EDA8(void) { } f32 func_8028EE8C(s32 arg0) { - f32 temp_v0 = gPlayers[arg0].posZ; + f32 temp_v0 = gPlayers[arg0].pos[2]; f32 temp_v1 = gPlayers[arg0].rotZ; f32 temp_f14 = D_8015F8D8 - temp_v0; f32 temp_f16 = temp_v1 - D_8015F8D8; diff --git a/src/code_80296A50.c b/src/code_80296A50.c index 6e1261ead..a2423dc6a 100644 --- a/src/code_80296A50.c +++ b/src/code_80296A50.c @@ -3,10 +3,33 @@ #include #include "types.h" #include -#include "actor_types.h" +#include #include +#include + +f32 func_802B80D0(Vec3f, Vec3f, u16, f32, f32, f32); // extern +void func_800C98B8(Vec3f, Vec3f, u32); // extern +void func_8029794C(Vec3f, Vec3s, f32); +s32 func_802B4FF8(Mat4, s32); + +void func_802B52BC(Vec3s, s16, s16, s16); +void load_giant_egg(Vec3f, f32, f32, f32); +s16 func_8029EC88(Vec3f, Vec3s, Vec3f, s16); +extern struct Actor *D_802BA05C; + +extern Player gPlayers[]; +extern Player *gPlayerOne; +extern struct Controller gControllers[]; + +extern s32 gActiveScreenMode; extern Camera *camera1; +extern struct Actor D_8015F9B8[]; +extern Gfx *gDisplayListHead; +extern s32 gModeSelection; +extern s16 gCurrentCourseId; +extern f32 D_80150130[]; +extern u16 D_801637B8[]; #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 @@ -417,10 +440,10 @@ extern ? D_8015F8D0; extern s32 D_801625EC; extern s32 D_801625F0; extern s32 D_801625F4; -extern void *gDisplayListHead; + static u16 D_800DC5BC; /* type too large by 2; unable to generate initializer */ -void func_80297340(void *arg0) { +void func_80297340(Camera *arg0) { ? sp38; s16 sp36; void *temp_v0; @@ -472,11 +495,12 @@ void func_80297340(void *arg0) { GLOBAL_ASM("asm/non_matchings/code_actors/func_80297340.s") #endif -void func_802976D8(struct UnkStruct_802976D8 *arg0) { - arg0->unk0 = 0x4000; - arg0->unk2 = 0; - arg0->unk4 = 0; +void func_802976D8(Vec3s arg0) { + arg0[0] = 0x4000; + arg0[1] = 0; + arg0[2] = 0; } + #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_802976D8(void *); // extern @@ -504,11 +528,11 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_802976EC.s") f32 func_802ABE30(f32, f32, f32, u16); // extern -void func_80297760(struct bigboi *arg0, struct bigboi *arg1) { - arg1->unk_000 = arg0->unk_018; - arg1->unk_004 = arg0->unk_01C; - arg1->unk_008 = arg0->unk_020; - arg1->unk_004 = func_802ABE30(arg1->unk_000, arg1->unk_004, arg1->unk_008, arg0->unk_03A); +void func_80297760(struct Actor *arg0, Vec3f arg1) { + arg1[0] = arg0->unk18[0]; + arg1[1] = arg0->unk18[1]; + arg1[2] = arg0->unk18[2]; + arg1[1] = func_802ABE30(arg1[0], arg1[1], arg1[2], arg0->unk30.unk3A); } void func_802977B0(Player *arg0) { @@ -567,62 +591,58 @@ void func_80297818(void) { GLOBAL_ASM("asm/non_matchings/code_actors/func_80297818.s") #endif -#ifdef MIPS_TO_C +//#ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_802B4FF8(? *, ?); // extern -? func_802B5F00(? *, s32); // extern -? func_802B5F74(? *, void *, ?, void *); // extern -extern ? D_0D007B20; -extern void *gDisplayListHead; +//s32 func_802B4FF8(? *, ?); // extern +//? func_802B5F00(? *, s32); // extern +//? func_802B5F74(? *, void *, ?, void *); // extern +void func_802B5F74(Mat4, Vec3f, Vec3s); +void func_802B5F00(Mat4, f32); +extern s8 D_0D007B20[]; +// +// void func_8029794C(Vec3f, Vec3f, f32); +void func_8029794C(Vec3f arg0, Vec3s arg1, f32 arg2) { + Mat4 sp20; + arg0[1] += 2.0f; -void func_8029794C(void *arg0, ? arg1, s32 arg2) { - ? sp20; - void *temp_a1; - void *temp_a3; - void *temp_v1; + func_802B5F74(sp20, arg0, arg1); + func_802B5F00(sp20, arg2); + if (func_802B4FF8(sp20, 0) != 0) { - temp_a3 = arg0; - temp_a1 = temp_a3; - arg0->unk4 = arg0->unk4 + 2.0f; - arg0 = temp_a3; - func_802B5F74(&sp20, temp_a1, arg1, temp_a3); - func_802B5F00(&sp20, arg2); - if (func_802B4FF8(&sp20, 0) != 0) { - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->unk0 = 0x6000000; - temp_v1->unk4 = &D_0D007B20; - arg0->unk4 = arg0->unk4 - 2.0f; + gSPDisplayList(gDisplayListHead++, &D_0D007B20); + arg0[1] -= 2.0f; } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_8029794C.s") -#endif +//#else +//GLOBAL_ASM("asm/non_matchings/code_actors/func_8029794C.s") +//#endif -#ifdef MIPS_TO_C +//#ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_802976EC(void *, ? *, void *); // extern -? func_80297760(void *, ? *); // extern -? func_8029794C(? *, ? *, ?); // extern +//? func_802976EC(void *, ? *, void *); // extern +//? func_80297760(void *, ? *); // extern +//? func_8029794C(? *, ? *, ?); // extern -void func_802979F8(void *arg0, ? arg1) { - ? sp24; - ? sp1C; - void *temp_a0; - void *temp_a2; +void func_802976EC(UnkActorInner*, Vec3s); - temp_a2 = arg0; - temp_a0 = arg0 + 0x30; - if (arg0->unk34 != 0) { - arg0 = temp_a2; - func_802976EC(temp_a0, &sp1C, temp_a2); - func_80297760(arg0, &sp24); - func_8029794C(&sp24, &sp1C, 0x3EE66666); +void func_802979F8(struct Actor *arg0, f32 arg1) { + Vec3f sp24; + Vec3s sp1C; + //void *temp_a0; + //void *temp_a2; + + //temp_a2 = arg0; + //temp_a0 = arg0 + 0x30; + if (arg0->unk30.unk34 != 0) { + + func_802976EC(&arg0->unk30, sp1C); // arg0 + 0x30 + func_80297760(arg0, sp24); + func_8029794C(sp24, sp1C, 0.45f); } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_802979F8.s") -#endif +//#else +//GLOBAL_ASM("asm/non_matchings/code_actors/func_802979F8.s") +//#endif #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 @@ -881,13 +901,14 @@ block_18: GLOBAL_ASM("asm/non_matchings/code_actors/update_obj_kiwano_fruit.s") #endif -void update_obj_paddle_wheel(struct choochoo *arg0) { +void update_obj_paddle_wheel(struct Actor *arg0) { arg0->unk6 += 0x38E; } -extern void func_800C9D80(f32 *arg0, f32 *arg1, s32 arg2); // extern +extern void func_800C9D80(Vec3f *arg0, Vec3f *arg1, u32 arg2); // extern -void update_obj_train_engine(struct choochooTrain *arg0) { +// wheels +void update_obj_train_engine(struct Actor *arg0) { arg0->unk6 -= 0x666; if (arg0->unk8 != 0.0f) { @@ -896,70 +917,62 @@ void update_obj_train_engine(struct choochooTrain *arg0) { } } -void update_obj_train_car1(struct choochoo *arg0) { +// wheels +void update_obj_train_car1(struct Actor *arg0) { arg0->unk6 -= 0x4FA; } -void update_obj_train_car2(struct choochoo *arg0) { +// wheels +void update_obj_train_car2(struct Actor *arg0) { arg0->unk6 -= 0x666; } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void update_obj_piranha_plant(void *arg0) { - s16 temp_v0; +void update_obj_piranha_plant(void *data) { + struct piranha_plant *arg0 = (struct piranha_plant *) data; + s16 temp_v0 = arg0->unk2; - temp_v0 = arg0->unk2; if ((temp_v0 & 0x800) == 0) { if ((temp_v0 & 0x400) != 0) { - arg0->unk1C = arg0->unk1C + 4.0f; + arg0->unk1C += 4.0f; if (arg0->unk1C > 800.0f) { - arg0->unk2 = arg0->unk2 | 0x800; - return; - } - // Duplicate return node #21. Try simplifying control flow for better match - return; - } - if (arg0->unk4 == 1) { - arg0->unk24 = arg0->unk24 + 1; - if (arg0->unk24 >= 0x3D) { - arg0->unk24 = 6; + arg0->unk2 |= 0x800; } } else { - arg0->unk24 = 0; - } - if (arg0->unk6 == 1) { - arg0->unk26 = arg0->unk26 + 1; - if (arg0->unk26 >= 0x3D) { - arg0->unk26 = 6; + if (arg0->unk4 == 1) { + arg0->unk24++; + if (arg0->unk24 > 60) { + arg0->unk24 = 6; + } + } else { + arg0->unk24 = 0; } - } else { - arg0->unk26 = 0; - } - if (arg0->unk8 == 1) { - arg0->unk28 = arg0->unk28 + 1; - if (arg0->unk28 >= 0x3D) { - arg0->unk28 = 6; + if (arg0->unk6 == 1) { + arg0->unk26++; + if (arg0->unk26 > 60) { + arg0->unk26 = 6; + } + } else { + arg0->unk26 = 0; } - } else { - arg0->unk28 = 0; - } - if (arg0->unkA == 1) { - arg0->unk2A = arg0->unk2A + 1; - if (arg0->unk2A >= 0x3D) { - arg0->unk2A = 6; - return; + if (arg0->unk8 == 1) { + arg0->unk28++; + if (arg0->unk28 > 60) { + arg0->unk28 = 6; + } + } else { + arg0->unk28 = 0; + } + if (arg0->unkA == 1) { + arg0->unk2A++; + if (arg0->unk2A > 60) { + arg0->unk2A = 6; + } + } else { + arg0->unk2A = 0; } - // Duplicate return node #21. Try simplifying control flow for better match - return; } - arg0->unk2A = 0; - // Duplicate return node #21. Try simplifying control flow for better match } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/update_obj_piranha_plant.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -969,7 +982,7 @@ extern ? D_06006990; extern f32 D_802B9624; extern f32 D_802B9628; extern s32 D_802BA058; -extern void *gDisplayListHead; + void func_80298328(void *arg0, void *arg1, void *arg2) { s16 sp36; @@ -1416,7 +1429,7 @@ extern ? D_802B87E0; extern f32 D_802B9650; extern f32 D_802B9654; extern f32 gCourseDirection; -extern s32 *gDisplayListHead; + extern ? gSegmentTable; void func_80298D7C(void *arg0, ? *arg1, ? arg2) { @@ -1559,7 +1572,7 @@ extern ? D_06006A68; extern ? D_0D004C68; extern f32 D_802B9658; extern f32 D_802B965C; -extern void *gDisplayListHead; + void func_80299144(void *arg0, void *arg1, void *arg2) { s16 sp4A; @@ -1634,7 +1647,7 @@ extern ? D_06015B48; extern ? D_0D004C68; extern f32 D_802B9660; extern f32 D_802B9664; -extern void *gDisplayListHead; + void func_8029930C(void *arg0, void *arg1, void *arg2) { s16 sp4A; @@ -1709,7 +1722,7 @@ extern ? D_0600D4A0; extern ? D_0D004C68; extern f32 D_802B9668; extern f32 D_802B966C; -extern void *gDisplayListHead; + void func_802994D4(void *arg0, void *arg1, void *arg2) { s16 sp4A; @@ -1783,7 +1796,7 @@ f32 func_802B80D0(void *, u16, ?, f32, f32); // extern extern ? D_06013F20; extern ? D_0D004C68; extern f32 D_802B9670; -extern void *gDisplayListHead; + void func_8029969C(void *arg0, void *arg1, void *arg2) { s16 sp4A; @@ -1858,7 +1871,7 @@ extern ? D_0600FC70; extern ? D_0D004C68; extern f32 D_802B9674; extern f32 D_802B9678; -extern void *gDisplayListHead; + void func_80299864(void *arg0, void *arg1, void *arg2) { s16 sp4A; @@ -1933,7 +1946,7 @@ extern ? D_0600D578; extern ? D_0D004C68; extern f32 D_802B967C; extern f32 D_802B9680; -extern void *gDisplayListHead; + void func_80299A2C(void *arg0, void *arg1, void *arg2) { s16 sp4A; @@ -2008,7 +2021,7 @@ extern ? D_060090C8; extern ? D_0D004C68; extern f32 D_802B9684; extern f32 D_802B9688; -extern void *gDisplayListHead; + void func_80299BF4(void *arg0, void *arg1, void *arg2) { s16 sp4A; @@ -2082,7 +2095,7 @@ f32 func_802B80D0(void *, u16, ?, f32, f32); // extern extern ? D_060075A0; extern f32 D_802B968C; extern f32 D_802B9690; -extern void *gDisplayListHead; + void func_80299DBC(void *arg0, void *arg1, void *arg2) { s16 sp32; @@ -2126,7 +2139,7 @@ f32 func_802B80D0(void *, u16, ?, f32, f32); // extern extern ? D_06008528; extern f32 D_802B9694; extern f32 D_802B9698; -extern void *gDisplayListHead; + void func_80299EDC(void *arg0, void *arg1, void *arg2) { s16 sp32; @@ -2170,7 +2183,7 @@ f32 func_802B80D0(void *, u16, ?, f32, f32); // extern extern ? D_06008628; extern f32 D_802B969C; extern f32 D_802B96A0; -extern void *gDisplayListHead; + void func_80299FFC(void *arg0, void *arg1, void *arg2) { s16 sp32; @@ -2214,7 +2227,7 @@ f32 func_802B80D0(void *, u16, ?, f32, f32); // extern extern ? D_06008728; extern f32 D_802B96A4; extern f32 D_802B96A8; -extern void *gDisplayListHead; + void func_8029A11C(void *arg0, void *arg1, void *arg2) { s16 sp32; @@ -2254,7 +2267,7 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_8029A11C.s") //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 s32 func_802B4FF8(void *, ?); // extern extern ? D_06013BB8; -extern void *gDisplayListHead; + void func_8029A23C(s32 arg0, void *arg1, void *arg2) { void *temp_v0; @@ -2325,7 +2338,7 @@ extern f32 D_802B96AC; extern f32 D_802B96B0; extern s32 D_802BA050; extern s32 D_802BA054; -extern void *gDisplayListHead; + void func_8029A3AC(void *arg0, void *arg1, void *arg2) { u16 sp7C; @@ -2428,7 +2441,7 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_8029A3AC.s") //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_8029A3AC(); // extern extern ? D_0D004E38; -extern void *gDisplayListHead; + void func_8029A690(void) { void *temp_v0; @@ -2472,7 +2485,7 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_8029A690.s") //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_8029A3AC(); // extern extern ? D_802BA060; -extern void *gDisplayListHead; + void func_8029A75C(void) { void *temp_v0; @@ -2516,7 +2529,7 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_8029A75C.s") //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_8029A3AC(); // extern extern ? D_0D005038; -extern void *gDisplayListHead; + void func_8029A828(void) { void *temp_v0; @@ -2566,7 +2579,7 @@ f32 func_802B80D0(s32, u16, ?, f32, f32); // extern extern ? D_0D004B48; extern ? D_0D004BD8; extern f32 D_802B96B4; -extern void *gDisplayListHead; + void func_8029A8F4(void *arg0, ? arg1, void *arg2) { s16 sp80; @@ -2624,59 +2637,45 @@ void func_8029A8F4(void *arg0, ? arg1, void *arg2) { GLOBAL_ASM("asm/non_matchings/code_actors/func_8029A8F4.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void update_obj_wario_stadium_sign(void *arg0) { - arg0->unk12 = arg0->unk12 + 0xB6; +void update_obj_wario_stadium_sign(struct Actor *arg0) { + arg0->unk10[1] += 0xB6; } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/update_obj_wario_stadium_sign.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_800C98B8(void *, void *, ?, void *); // extern -extern ? D_801637B8; - -void update_obj_railroad_crossing(void *arg0) { - if (*(&D_801637B8 + (arg0->unk6 * 2)) != 0) { - arg0->unk4 = arg0->unk4 + 1; - if (arg0->unk4 >= 0x29) { +/** + * If train close activate bell sound according to timing + **/ +void update_obj_railroad_crossing(struct Actor *arg0) { + // If train close? + if (D_801637B8[arg0->unk6] != 0) { + // Timer++ + arg0->unk4++; + // Reset timer + if (arg0->unk4 > 40) { arg0->unk4 = 1; } - if ((arg0->unk4 == 1) || (arg0->unk4 == 0x14)) { - func_800C98B8(arg0 + 0x18, arg0 + 0x24, 0x19017016, arg0); + // Play Bell sound when timer hits 20 or 1. + if ((arg0->unk4 == 1) || (arg0->unk4 == 20)) { + func_800C98B8(arg0->unk18, arg0->unk24, 0x19017016); } } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/update_obj_railroad_crossing.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void update_obj_mario_raceway_sign(void *arg0) { - s16 temp_v0; - - temp_v0 = arg0->unk2; - if ((temp_v0 & 0x800) == 0) { - if ((temp_v0 & 0x400) != 0) { - arg0->unk1C = arg0->unk1C + 4.0f; - if (arg0->unk1C > 800.0f) { - arg0->unk2 = arg0->unk2 | 0x800; - arg0->unk12 = arg0->unk12 + 0x71C; - return; +void update_obj_mario_raceway_sign(struct Actor *arg0) { + if ((arg0->unk2 & 0x800) == 0) { + if ((arg0->unk2 & 0x400) != 0) { + arg0->unk18[1] += 4.0f; + if (arg0->unk18[1] > 800.0f) { + arg0->unk2 |= 0x800; + arg0->unk10[1] += 1820; } - // Duplicate return node #5. Try simplifying control flow for better match - return; + } else { + arg0->unk10[1] += 182; } - arg0->unk12 = arg0->unk12 + 0xB6; - // Duplicate return node #5. Try simplifying control flow for better match } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/update_obj_mario_raceway_sign.s") -#endif + +// UNUSED +GLOBAL_ASM("asm/non_matchings/code_actors/func_8029ABD4.s") #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 @@ -2790,7 +2789,7 @@ extern ? D_0600FC28; extern ? D_800DC628; extern ? D_800DC630; extern f32 D_802B96DC; -extern void *gDisplayListHead; + void func_8029AE1C(void *arg0, void *arg1, ? arg2, s32 arg3) { ? sp120; @@ -2884,7 +2883,7 @@ extern f32 D_802B96E0; extern f32 D_802B96E4; extern f32 D_802B96E8; extern f32 D_802B96EC; -extern s32 *gDisplayListHead; + extern ? toads_turnpike_dl_0; extern ? toads_turnpike_dl_1; extern ? toads_turnpike_dl_2; @@ -3001,7 +3000,7 @@ extern f32 D_802B96F0; extern f32 D_802B96F4; extern f32 D_802B96F8; extern f32 D_802B96FC; -extern s32 *gDisplayListHead; + extern ? toads_turnpike_dl_3; extern ? toads_turnpike_dl_4; extern ? toads_turnpike_dl_5; @@ -3068,158 +3067,89 @@ block_11: GLOBAL_ASM("asm/non_matchings/code_actors/func_8029B2E4.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_802B4FF8(? *, ?); // extern -? func_802B5F00(? *, ?); // extern -? func_802B5F74(? *, s32, s32); // extern -f32 func_802B80D0(s32, u16, ?, f32, f32); // extern extern f32 D_802B9700; extern f32 D_802B9704; extern f32 D_802B9708; extern f32 D_802B970C; -extern s32 *gDisplayListHead; -extern ? toads_turnpike_dl_10; -extern ? toads_turnpike_dl_11; -extern ? toads_turnpike_dl_9; -void func_8029B4E0(void *arg0, s32 arg1) { - ? spC8; - f32 sp44; - s32 sp24; - f32 temp_f0; - f32 temp_f2; - s32 *temp_v0; - s32 *temp_v0_2; - s32 *temp_v0_3; - s32 *temp_v0_4; - s32 *temp_v0_5; - s32 *temp_v0_6; - s32 *temp_v0_7; - s32 temp_a1; - s32 *phi_v0; +s32 func_802B4FF8(Mat4, s32); +extern s8 toads_turnpike_dl_10[]; +extern s8 toads_turnpike_dl_11[]; +extern s8 toads_turnpike_dl_9[]; - temp_a1 = arg1 + 0x18; - sp24 = temp_a1; - temp_f0 = func_802B80D0(temp_a1, arg0->unk26, 0x451C4000, (&D_80150130)[(arg0 - camera1) / 0xB8], D_802B9700); - temp_f2 = temp_f0; - if (!(temp_f0 < 0.0f) && (temp_v0 = gDisplayListHead, gDisplayListHead = temp_v0 + 8, temp_v0->unk4 = -1, temp_v0->unk0 = 0xBB000001, temp_v0_2 = gDisplayListHead, gDisplayListHead = temp_v0_2 + 8, temp_v0_2->unk4 = 0x20000, temp_v0_2->unk0 = 0xB6000000, sp44 = temp_f2, func_802B5F74(&spC8, temp_a1, arg1 + 0x10), func_802B5F00(&spC8, 0x3DCCCCCD), (func_802B4FF8(&spC8, 0) != 0))) { - if (gActiveScreenMode == 0) { - if (temp_f2 < D_802B9704) { - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = &toads_turnpike_dl_9; - temp_v0_3->unk0 = 0x6000000; - return; +void func_8029B4E0(Camera *arg0, struct Actor *arg1) { + s32 pad[6]; + Mat4 spC8; + s32 pad2[32]; + f32 temp_f0 = func_802B80D0(arg0->pos,arg1->unk18, arg0->rotX[1], 2500.0f, D_80150130[arg0 - camera1], D_802B9700); + + if (!(temp_f0 < 0.0f)) { + + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + + + func_802B5F74(spC8, arg1->unk18, arg1->unk10); + func_802B5F00(spC8, 0.1f); + if (func_802B4FF8(spC8, 0) != 0) { + + if (gActiveScreenMode == 0) { + if (temp_f0 < D_802B9704) { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_9); + } else if (temp_f0 < D_802B9708) { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_10); + } else { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_11); + } + } else if (temp_f0 < D_802B970C) { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_10); + } else { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_11); } - if (temp_f2 < D_802B9708) { - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = &toads_turnpike_dl_10; - phi_v0 = temp_v0_4; - goto block_11; - } - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk4 = &toads_turnpike_dl_11; - temp_v0_5->unk0 = 0x6000000; - return; } - if (temp_f2 < D_802B970C) { - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk4 = &toads_turnpike_dl_10; - temp_v0_6->unk0 = 0x6000000; - return; - } - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk4 = &toads_turnpike_dl_11; - phi_v0 = temp_v0_7; -block_11: - *phi_v0 = 0x6000000; - // Duplicate return node #12. Try simplifying control flow for better match } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_8029B4E0.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_802B4FF8(? *, ?); // extern -? func_802B5F74(? *, s32, s32); // extern -f32 func_802B80D0(s32, u16, ?, f32, f32); // extern extern f32 D_802B9710; extern f32 D_802B9714; extern f32 D_802B9718; extern f32 D_802B971C; -extern s32 *gDisplayListHead; -extern ? toads_turnpike_dl_6; -extern ? toads_turnpike_dl_7; -extern ? toads_turnpike_dl_8; -void func_8029B6EC(void *arg0, s32 arg1) { - ? spC8; - f32 sp44; - s32 sp24; - f32 temp_f0; - f32 temp_f2; - s32 *temp_v0; - s32 *temp_v0_2; - s32 *temp_v0_3; - s32 *temp_v0_4; - s32 *temp_v0_5; - s32 *temp_v0_6; - s32 *temp_v0_7; - s32 temp_a1; - s32 *phi_v0; +extern Gfx toads_turnpike_dl_6[]; +extern Gfx toads_turnpike_dl_7[]; +extern Gfx toads_turnpike_dl_8[]; - temp_a1 = arg1 + 0x18; - sp24 = temp_a1; - temp_f0 = func_802B80D0(temp_a1, arg0->unk26, 0x451C4000, (&D_80150130)[(arg0 - camera1) / 0xB8], D_802B9710); - temp_f2 = temp_f0; - if (!(temp_f0 < 0.0f) && (temp_v0 = gDisplayListHead, gDisplayListHead = temp_v0 + 8, temp_v0->unk4 = -1, temp_v0->unk0 = 0xBB000001, temp_v0_2 = gDisplayListHead, gDisplayListHead = temp_v0_2 + 8, temp_v0_2->unk4 = 0x20000, temp_v0_2->unk0 = 0xB6000000, sp44 = temp_f2, func_802B5F74(&spC8, temp_a1, arg1 + 0x10), (func_802B4FF8(&spC8, 0) != 0))) { - if (gActiveScreenMode == 0) { - if (temp_f2 < D_802B9714) { - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = &toads_turnpike_dl_6; - temp_v0_3->unk0 = 0x6000000; - return; - } - if (temp_f2 < D_802B9718) { - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = &toads_turnpike_dl_7; - phi_v0 = temp_v0_4; - goto block_11; - } - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk4 = &toads_turnpike_dl_8; - temp_v0_5->unk0 = 0x6000000; - return; +void func_8029B6EC(Camera *arg0, struct Actor* arg1) { + s32 pad[6]; + Mat4 spC8; + s32 pad2[32]; + f32 temp_f0 = func_802B80D0(arg0->pos, arg1->unk18, arg0->rotX[1], 2500.0f, D_80150130[arg0 - camera1], D_802B9710); + + if (!(temp_f0 < 0.0f)) { + + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + + func_802B5F74(spC8, arg1->unk18, arg1->unk10); + if (func_802B4FF8(spC8, 0) != 0) { + + if (gActiveScreenMode == 0) { + if (temp_f0 < D_802B9714) { + + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_6); + } else if (temp_f0 < D_802B9718) { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_7); + } else { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_8); + } + } else if (temp_f0 < D_802B971C) { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_7); + } else { + gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_8); + } } - if (temp_f2 < D_802B971C) { - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk4 = &toads_turnpike_dl_7; - temp_v0_6->unk0 = 0x6000000; - return; - } - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk4 = &toads_turnpike_dl_8; - phi_v0 = temp_v0_7; -block_11: - *phi_v0 = 0x6000000; - // Duplicate return node #12. Try simplifying control flow for better match } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_8029B6EC.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -3243,7 +3173,7 @@ extern f32 D_802B9720; extern f32 D_802B9724; extern f32 D_802B9728; extern f32 D_802B972C; -extern void *gDisplayListHead; + void func_8029B8E8(void *arg0, void *arg1) { ? sp160; @@ -3475,7 +3405,7 @@ extern f32 D_802B9730; extern f32 D_802B9734; extern f32 D_802B9738; extern f32 D_802B973C; -extern void *gDisplayListHead; + void func_8029BFB0(void *arg0, void *arg1) { ? sp100; @@ -3630,7 +3560,7 @@ extern f32 D_802B9740; extern f32 D_802B9744; extern f32 D_802B9748; extern f32 D_802B974C; -extern void *gDisplayListHead; + void func_8029C3CC(void *arg0, void *arg1) { ? sp128; @@ -3853,7 +3783,7 @@ extern ? D_06006F88; extern ? D_06006FE0; extern f32 D_802B9750; extern f32 D_802B9754; -extern void *gDisplayListHead; + void func_8029CA90(void *arg0, void *arg1) { s16 sp9C; @@ -4102,11 +4032,12 @@ GLOBAL_ASM("asm/non_matchings/code_actors/place_falling_rocks.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_800C98B8(void *, void *, ?); // extern -? func_8029CF0C(? *, void *); // extern -? func_802AC114(f32, f32 *, f32, void *, ?); // extern -? func_802ADDC8(f32, f32, void *, ?, f32, f32, f32); // extern -extern ? D_06007230; +//? func_800C98B8(void *, void *, ?); // extern +void func_8029CF0C(s8, struct Actor*); // extern +void func_802ADDC8(UnkActorInner, f32, f32, f32, f32); +//? func_802AC114(f32, f32 *, f32, void *, ?); // extern +//? func_802ADDC8(f32, f32, void *, ?, f32, f32, f32); // extern +extern s8 D_06007230[]; extern f32 D_802B9758; extern f64 D_802B9760; extern f32 D_802B9768; @@ -4114,8 +4045,9 @@ extern f32 D_802B976C; extern f32 D_802B9770; extern f32 D_802B9774; extern f32 D_802B9778; +extern f32 D_8015F8E4; -void update_obj_falling_rocks(void *arg0) { +void update_obj_falling_rocks(struct Actor *arg0) { f32 sp4C; f32 sp48; f32 sp44; @@ -4126,38 +4058,36 @@ void update_obj_falling_rocks(void *arg0) { f32 temp_f0_2; f32 temp_f0_3; f32 temp_f10; - f32 temp_f14; f32 temp_f2; f32 temp_f2_2; f32 temp_f2_3; f32 temp_f4; - s16 temp_v0; void *temp_s1; void *temp_s1_2; void *temp_s1_3; f32 phi_f12; - temp_v0 = arg0->unk4; - if (temp_v0 != 0) { - arg0->unk4 = temp_v0 - 1; + //temp_v0 = arg0->unk4; + if (arg0->unk4 != 0) { + arg0->unk4--; return; } - if (arg0->unk1C < D_8015F8E4) { + if (arg0->unk18[1] < D_8015F8E4) { func_8029CF0C(&D_06007230, arg0); } - temp_f14 = D_802B9758; - arg0->unk10 = arg0->unk10 + ((arg0->unk2C * temp_f14) / 20.0f); - arg0->unk14 = arg0->unk14 + ((arg0->unk24 * temp_f14) / 20.0f); - arg0->unk28 = arg0->unk28 - D_802B9760; - if (arg0->unk28 < -2.0f) { - arg0->unk28 = -2.0f; + //temp_f14 = D_802B9758; + arg0->unk10[0] += ((arg0->unk24[2] * D_802B9758) / 20.0f); + arg0->unk10[2] += ((arg0->unk24[0] * D_802B9758) / 20.0f); + arg0->unk24[1] -= D_802B9760; + if (arg0->unk24[1] < -2.0f) { + arg0->unk24[1] = -2.0f; } - arg0->unk18 = arg0->unk18 + arg0->unk24; - arg0->unk1C = arg0->unk1C + arg0->unk28; - arg0->unk20 = arg0->unk20 + arg0->unk2C; - sp3C = arg0->unk28; - func_802ADDC8(arg0->unk24, temp_f14, arg0 + 0x30, 0x41200000, arg0->unk18, arg0->unk1C, arg0->unk20); - temp_f2 = arg0->unk44; + arg0->unk18[0] += arg0->unk24[0]; + arg0->unk18[1] += arg0->unk24[1]; + arg0->unk18[2] += arg0->unk24[2]; + sp3C = arg0->unk24[1]; + func_802ADDC8(&arg0->unk30, 10.0f, arg0->unk18[0], arg0->unk18[1], arg0->unk18[2]); + temp_f2 = arg0->unk30.unkC; //unk44; phi_f12 = 0.0f; if (temp_f2 < 0.0f) { temp_s1 = arg0 + 0x24; @@ -4165,11 +4095,11 @@ void update_obj_falling_rocks(void *arg0) { sp48 = -arg0->unk64; sp4C = -arg0->unk68; temp_f0 = arg0->unk44; - arg0->unk18 = arg0->unk18 + (sp44 * temp_f0); - arg0->unk1C = arg0->unk1C + (sp48 * temp_f0); - arg0->unk20 = arg0->unk20 + (sp4C * temp_f0); + arg0->unk18[0] = arg0->unk18[0] + (sp44 * temp_f0); + arg0->unk18[1] = arg0->unk18[1] + (sp48 * temp_f0); + arg0->unk18[2] = arg0->unk18[2] + (sp4C * temp_f0); func_802AC114(0.0f, &sp44, temp_f2, temp_s1, 0x40000000); - arg0->unk28 = D_802B9768 * sp3C; + arg0->unk24[1] = D_802B9768 * sp3C; func_800C98B8(arg0 + 0x18, temp_s1, 0x1900800F); } temp_f2_2 = arg0->unk3C; @@ -4177,44 +4107,44 @@ void update_obj_falling_rocks(void *arg0) { if (temp_f2_2 < 0.0f) { sp48 = -arg0->unk4C; if (sp48 == 0.0f) { - arg0->unk28 = arg0->unk28 * D_802B976C; + arg0->unk24[1] *= D_802B976C; return; } temp_f4 = -arg0->unk48; - temp_s1_2 = arg0 + 0x24; + temp_s1_2 = arg0->unk24[0]; sp44 = temp_f4; sp4C = -arg0->unk50; temp_f0_2 = arg0->unk3C; - arg0->unk18 = arg0->unk18 + (temp_f4 * temp_f0_2); - arg0->unk1C = arg0->unk1C + (sp48 * temp_f0_2); - arg0->unk20 = arg0->unk20 + (sp4C * temp_f0_2); + arg0->unk18[0] += (temp_f4 * temp_f0_2); + arg0->unk18[1] += (sp48 * temp_f0_2); + arg0->unk18[2] += (sp4C * temp_f0_2); sp30 = arg0 + 0x18; sp34 = D_802B9770 * sp3C; func_802AC114(0.0f, &sp44, temp_f2_2, temp_s1_2, 0x40000000); - arg0->unk28 = sp34; + arg0->unk24[1] = sp34; func_800C98B8(sp30, temp_s1_2, 0x1900800F); - goto block_12; + //goto block_12; } -block_12: +//block_12: temp_f2_3 = arg0->unk40; if (temp_f2_3 < phi_f12) { sp48 = -arg0->unk58; if (phi_f12 == sp48) { - arg0->unk28 = arg0->unk28 * D_802B9774; + arg0->unk24[1] *= D_802B9774; return; } - temp_s1_3 = arg0 + 0x24; + temp_s1_3 = arg0->unk24[0]; temp_f10 = -arg0->unk54; sp44 = temp_f10; sp4C = -arg0->unk5C; temp_f0_3 = arg0->unk40; - arg0->unk18 = arg0->unk18 + (temp_f10 * temp_f0_3); - arg0->unk1C = arg0->unk1C + (sp48 * temp_f0_3); - arg0->unk20 = arg0->unk20 + (sp4C * temp_f0_3); - sp30 = arg0 + 0x18; - sp3C = arg0->unk28; + arg0->unk18[0] += (temp_f10 * temp_f0_3); + arg0->unk18[1] += (sp48 * temp_f0_3); + arg0->unk18[2] += (sp4C * temp_f0_3); + sp30 = arg0->unk18[0]; + sp3C = arg0->unk24[1]; func_802AC114(phi_f12, &sp44, temp_f2_3, temp_s1_3, 0x40000000); - arg0->unk28 = D_802B9778 * sp3C; + arg0->unk24[1] = D_802B9778 * sp3C; func_800C98B8(sp30, temp_s1_3, 0x1900800F); // Duplicate return node #16. Try simplifying control flow for better match } @@ -4443,43 +4373,22 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_8029D9F8.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern s16 D_80150110; -extern ? D_8015F9B8; -extern ? D_80162578; - +//extern ? D_8015F9B8; +extern s32 D_80162578; +extern struct Actor D_8015F9B8[112]; void func_8029DAB8(void) { - ? *temp_v1; - ? *phi_v1; - + struct Actor *temp_v1; + s32 i; D_80150110 = 0; - phi_v1 = &D_8015F9B8; - do { - temp_v1 = phi_v1 + 0x1C0; - temp_v1->unk-14E = 0; - temp_v1->unk-150 = 0; - temp_v1->unk-14C = 0; - temp_v1->unk-14A = 0; - temp_v1->unk-148 = 0.0f; - temp_v1->unk-144 = 0.0f; - temp_v1->unk-DE = 0; - temp_v1->unk-E0 = 0; - temp_v1->unk-DC = 0; - temp_v1->unk-DA = 0; - temp_v1->unk-D8 = 0.0f; - temp_v1->unk-D4 = 0.0f; - temp_v1->unk-6E = 0; - temp_v1->unk-70 = 0; - temp_v1->unk-6C = 0; - temp_v1->unk-6A = 0; - temp_v1->unk-68 = 0.0f; - temp_v1->unk-64 = 0.0f; - temp_v1->unk-1BE = 0; - temp_v1->unk-1C0 = 0; - temp_v1->unk-1BC = 0; - temp_v1->unk-1BA = 0; - temp_v1->unk-1B8 = 0.0f; - temp_v1->unk-1B4 = 0.0f; - phi_v1 = temp_v1; - } while (temp_v1 != &D_80162578); + for (i = 0; i < 100; i++) { + temp_v1 = &D_8015F9B8[i]; + temp_v1->unk2 = 0; + temp_v1->unk0 = 0; + temp_v1->unk4 = 0; + temp_v1->unk6 = 0; + temp_v1->unk8 = 0.0f; + temp_v1->unkC = 0.0f; + } } #else GLOBAL_ASM("asm/non_matchings/code_actors/func_8029DAB8.s") @@ -5125,17 +5034,16 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_8029EC88.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_8029EC88(s32, s32 *, s32 *, s32); // extern -void func_802B52BC(s32 *, s32, s32, s32); // extern -void load_giant_egg(s32 *, s32, s32, s32); // extern +//void func_8029EC88(s32, s32 *, s32 *, s32); // extern +//void func_802B52BC(s32 *, s32, s32, s32); // extern -void func_8029ED38(s32 *arg0, s32 arg1) { +void func_8029ED38(Vec3f arg0, Vec3s arg1) { //? sp24; //? sp1C; - load_giant_egg(&arg0, 0, 0, 0); - func_802B52BC(&arg1, 0, 0, 0); - func_8029EC88(arg0, &arg1, &arg0, arg1); + load_giant_egg(arg0, 0, 0, 0); + func_802B52BC(arg1, 0, 0, 0); + func_8029EC88(arg0, arg1, arg0, arg1); } #else GLOBAL_ASM("asm/non_matchings/code_actors/func_8029ED38.s") @@ -5347,14 +5255,14 @@ s32 func_8029F408(Player *arg0, Player *arg1) { f32 temp_f2; f32 temp_f2_2; - temp_f2 = arg1->posY - arg0->posX; + temp_f2 = arg1->posY - arg0->pos[0]; if ((temp_f2 < 0.0f) && (temp_f2 < -60.0f)) { return 0; } if (temp_f2 > 60.0f) { return 0; } - temp_f0 = arg1->rotX - arg0->posZ; + temp_f0 = arg1->rotX - arg0->pos[2]; if ((temp_f0 < 0.0f) && (temp_f0 < -60.0f)) { return 0; } @@ -5583,39 +5491,35 @@ block_36: GLOBAL_ASM("asm/non_matchings/code_actors/func_8029F69C.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern f32 D_802B98AC; -? func_8029FB80(void *arg0, void *arg1) { +s32 func_8029FB80(Player *arg0, struct Actor *arg1) { f32 temp_f0; - f32 temp_f12; f32 temp_f12_2; f32 temp_f14; f32 temp_f16; f32 temp_f2; - temp_f0 = arg0->unk70 + arg1->unkC; - temp_f2 = arg1->unk18 - arg0->unk14; + temp_f0 = arg0->unk_070 + arg1->unkC; + temp_f2 = arg1->unk18[0] - arg0->pos[0]; if (temp_f0 < temp_f2) { return 0; } - temp_f12 = -temp_f0; - if (temp_f2 < temp_f12) { + if (temp_f2 < -temp_f0) { return 0; } - temp_f14 = arg1->unk1C - arg0->unk18; + temp_f14 = arg1->unk18[1] - arg0->pos[1]; if (temp_f0 < temp_f14) { return 0; } - if (temp_f14 < temp_f12) { + if (temp_f14 < -temp_f0) { return 0; } - temp_f16 = arg1->unk20 - arg0->unk1C; + temp_f16 = arg1->unk18[2] - arg0->pos[2]; if (temp_f0 < temp_f16) { return 0; } - if (temp_f16 < temp_f12) { + if (temp_f16 < -temp_f0) { return 0; } temp_f12_2 = (temp_f2 * temp_f2) + (temp_f14 * temp_f14) + (temp_f16 * temp_f16); @@ -5627,43 +5531,36 @@ extern f32 D_802B98AC; } return 1; } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_8029FB80.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern f32 D_802B98B0; -? func_8029FCA4(void *arg0, void *arg1) { +s32 func_8029FCA4(struct Actor *arg0, struct Actor *arg1) { f32 temp_f0; - f32 temp_f12; f32 temp_f12_2; f32 temp_f14; f32 temp_f16; f32 temp_f2; temp_f0 = arg0->unkC + arg1->unkC; - temp_f2 = arg0->unk18 - arg1->unk18; + temp_f2 = arg0->unk18[0] - arg1->unk18[0]; if (temp_f0 < temp_f2) { return 0; } - temp_f12 = -temp_f0; - if (temp_f2 < temp_f12) { + if (temp_f2 < -temp_f0) { return 0; } - temp_f14 = arg0->unk1C - arg1->unk1C; + temp_f14 = arg0->unk18[1] - arg1->unk18[1]; if (temp_f0 < temp_f14) { return 0; } - if (temp_f14 < temp_f12) { + if (temp_f14 < -temp_f0) { return 0; } - temp_f16 = arg0->unk20 - arg1->unk20; + temp_f16 = arg0->unk18[2] - arg1->unk18[2]; if (temp_f0 < temp_f16) { return 0; } - if (temp_f16 < temp_f12) { + if (temp_f16 < -temp_f0) { return 0; } temp_f12_2 = (temp_f2 * temp_f2) + (temp_f14 * temp_f14) + (temp_f16 * temp_f16); @@ -5675,9 +5572,6 @@ extern f32 D_802B98B0; } return 1; } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_8029FCA4.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 @@ -5834,127 +5728,97 @@ block_18: GLOBAL_ASM("asm/non_matchings/code_actors/func_8029FDC8.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_800C98B8(void *, void *, ?, void *); // extern -void func_802A00E8(void *arg0, void *arg1) { - s16 temp_v0; - s16 temp_v0_2; - s16 temp_v0_3; - s16 temp_v0_4; - s16 temp_v0_5; - s16 temp_v0_6; +void func_802A00E8(struct Actor *arg0, struct Actor *arg1) { - temp_v0 = arg0->unk0; - if (temp_v0 != 7) { - if (temp_v0 != 8) { - if (temp_v0 != 0xD) { - if (temp_v0 != 0x2A) { - goto block_15; - } - if (arg0->unk6 == 0) { - arg0->unk2 = arg0->unk2 | 0x200; - func_800C98B8(arg0 + 0x18, arg0 + 0x24, 0x19019053, arg0); - return; - } - goto block_15; + + switch(arg0->unk0) { + case 7: + if ((arg0->unk6 == 0) || (arg0->unk6 == 4)) { + arg0->unk2 |= 0x200; + func_800C98B8(arg0->unk18, arg0->unk24, 0x19019053); + return; } + break; + case 8: + if ((arg0->unk6 == 0) || (arg0->unk6 == 6)) { + arg0->unk2 |= 0x200; + func_800C98B8(arg0->unk18, arg0->unk24, 0x19019053); + return; + } + break; + case 42: + if (arg0->unk6 == 0) { + arg0->unk2 |= 0x200; + func_800C98B8(arg0->unk18, arg0->unk24, 0x19019053); + return; + } + break; + case 13: if (arg0->unk6 == 0) { arg0->unk2 = arg0->unk2 | 0x200; - func_800C98B8(arg0 + 0x18, arg0 + 0x24, 0x19019053, arg0); + func_800C98B8(arg0->unk18, arg0->unk24, 0x19019053); return; } - goto block_15; - } - temp_v0_2 = arg0->unk6; - if ((temp_v0_2 == 0) || (temp_v0_2 == 6)) { - arg0->unk2 = arg0->unk2 | 0x200; - func_800C98B8(arg0 + 0x18, arg0 + 0x24, 0x19019053, arg0); - return; - } - goto block_15; + break; } - temp_v0_3 = arg0->unk6; - if ((temp_v0_3 == 0) || (temp_v0_3 == 4)) { - arg0->unk2 = arg0->unk2 | 0x200; - func_800C98B8(arg0 + 0x18, arg0 + 0x24, 0x19019053, arg0); + + switch(arg1->unk0) { + case 7: + if ((arg1->unk6 == 0) || (arg1->unk6 == 4)) { + arg1->unk2 |= 0x200; + func_800C98B8(arg1->unk18, arg1->unk24, 0x19019053); return; - } -block_15: - temp_v0_4 = arg1->unk0; - if (temp_v0_4 != 7) { - if (temp_v0_4 != 8) { - if (temp_v0_4 != 0xD) { - if (temp_v0_4 != 0x2A) { - goto block_30; - } - if (arg1->unk6 == 0) { - arg1->unk2 = arg1->unk2 | 0x200; - func_800C98B8(arg1 + 0x18, arg1 + 0x24, 0x19019053, arg0); - return; - } - goto block_30; } + break; + case 8: + if ((arg1->unk6 == 0) || (arg1->unk6 == 6)) { + arg1->unk2 = arg1->unk2 | 0x200; + func_800C98B8(arg1->unk18, arg1->unk24, 0x19019053); + return; + } + break; + case 42: if (arg1->unk6 == 0) { arg1->unk2 = arg1->unk2 | 0x200; - func_800C98B8(arg1 + 0x18, arg1 + 0x24, 0x19019053, arg0); + func_800C98B8(arg1->unk18, arg1->unk24, 0x19019053); return; } - goto block_30; - } - temp_v0_5 = arg1->unk6; - if ((temp_v0_5 == 0) || (temp_v0_5 == 6)) { - arg1->unk2 = arg1->unk2 | 0x200; - func_800C98B8(arg1 + 0x18, arg1 + 0x24, 0x19019053, arg0); - return; - } - goto block_30; + break; + case 13: + if (arg1->unk6 == 0) { + arg1->unk2 = arg1->unk2 | 0x200; + func_800C98B8(arg1->unk18, arg1->unk24, 0x19019053); + return; + } + break; + } - temp_v0_6 = arg1->unk6; - if ((temp_v0_6 == 0) || (temp_v0_6 == 4)) { - arg1->unk2 = arg1->unk2 | 0x200; - func_800C98B8(arg1 + 0x18, arg1 + 0x24, 0x19019053, arg0); - return; - } -block_30: - arg0->unk2 = arg0->unk2 | 0x100; - func_800C98B8(arg0 + 0x18, arg0 + 0x24, 0x19018010, arg0); + + arg0->unk2 |= 0x100; + func_800C98B8(arg0->unk18, arg0->unk24, 0x19018010); } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_802A00E8.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_800C98B8(void *, void *, ?); // extern -s32 func_8029FCA4(); // extern -? func_8029FDC8(void *); // extern -? func_802A00E8(void *, void *); // extern +s32 func_8029FCA4(struct Actor*, struct Actor*); // extern +void func_8029FDC8(struct Actor*); -void func_802A0350(void *arg0, void *arg1) { - s16 temp_v0; - s32 phi_v1; - - if (func_8029FCA4() == 1) { - temp_v0 = arg0->unk0; - phi_v1 = 0x2A; - if ((temp_v0 == 0x2A) && (arg1->unk0 == 0x2A)) { +void func_802A0350(struct Actor *arg0, struct Actor *arg1) { + if (func_8029FCA4(arg0, arg1) == 1) { + if ((arg0->unk0 == 42) && (arg1->unk0 == 42)) { func_8029FDC8(arg0); func_8029FDC8(arg1); - arg0->unk2 = arg0->unk2 | 0x100; - func_800C98B8(arg0 + 0x18, arg0 + 0x24, 0x19018010); + arg0->unk2 |= 256; + func_800C98B8(arg0->unk18, arg0->unk24, 0x19018010); return; } - if (temp_v0 == 0x2A) { + if (arg0->unk0 == 42) { if (arg0->unk6 == 0) { func_8029FDC8(arg0); } - phi_v1 = 0x2A; } else { func_8029FDC8(arg0); } - if (phi_v1 == arg1->unk0) { + if (arg1->unk0 == 42) { if (arg1->unk6 == 0) { func_8029FDC8(arg1); } @@ -5962,12 +5826,11 @@ void func_802A0350(void *arg0, void *arg1) { func_8029FDC8(arg1); } func_802A00E8(arg0, arg1); - // Duplicate return node #14. Try simplifying control flow for better match } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_802A0350.s") -#endif +//#else +//GLOBAL_ASM("asm/non_matchings/code_actors/func_802A0350.s") +//#endif #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 @@ -6216,393 +6079,271 @@ block_89: GLOBAL_ASM("asm/non_matchings/code_actors/func_802A0450.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_802977E4(? *); // extern -? func_802A0450(? *, void *); // extern -extern ? D_800FD850; -extern ? D_8015F9B8; -extern ? gPlayers; +extern Player gPlayers[]; void func_802A0D54(void) { - ? *temp_s1; - s16 temp_v0; - s32 temp_s0; - void *temp_a1; - ? *phi_s1; - s32 phi_s0; + struct Actor *temp_a1; + s32 i, j; + Player *phi_s1; - phi_s1 = &gPlayers; - do { - if (((phi_s1->unk0 & 0x8000) != 0) && ((phi_s1->unkBC & 0x4000000) == 0)) { + for (i = 0; i < 8; i++) { + phi_s1 = &gPlayers[i]; + + if (((phi_s1->unk_000 & 0x8000) != 0) && ((phi_s1->unk_0BC & 0x4000000) == 0)) { func_802977E4(phi_s1); - phi_s0 = 0; - do { - if ((phi_s1->unkBC & 0x4000000) == 0) { - temp_a1 = &D_8015F9B8 + (phi_s0 * 0x70); - temp_v0 = temp_a1->unk2; - if (((temp_v0 & 0x8000) != 0) && ((temp_v0 & 0x4000) != 0)) { - func_802A0450(phi_s1, temp_a1); - } - } - temp_s0 = phi_s0 + 1; - phi_s0 = temp_s0; - } while (temp_s0 != 0x64); - } - temp_s1 = phi_s1 + 0xDD8; - phi_s1 = temp_s1; - } while (temp_s1 != &D_800FD850); -} -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_802A0D54.s") -#endif + for (j = 0; j < 100; j++) { + temp_a1 = &D_8015F9B8[j]; + + if ((phi_s1->unk_0BC & 0x4000000) == 0) { + // temp_v0 = temp_a1->unk2; + if (((temp_a1->unk2 & 0x8000) != 0) && ((temp_a1->unk2 & 0x4000) != 0)) { + func_802A0450(phi_s1, temp_a1); + } + } + } + } + } +} -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_802A0350(void *, void *); // extern extern u16 D_8015F900; -extern ? D_8015F9B8; +void func_802A0350(struct Actor*, struct Actor*); void func_802A0E44(void) { - s32 sp44; - s16 temp_v0; - s16 temp_v0_2; - s16 temp_v0_3; - s16 temp_v0_4; - s16 temp_v0_5; - s32 temp_s1; - s32 temp_s1_2; - u16 temp_v1; - void *temp_a1; - void *phi_s0; - u16 phi_v1; - s32 phi_s1; + struct Actor *phi_s0; + struct Actor *temp_a1; + s32 i, j; + s32 pad; - temp_v1 = D_8015F900; - phi_v1 = temp_v1; - if (temp_v1 < 0x63) { - phi_s0 = (temp_v1 * 0x70) + &D_8015F9B8; - do { - temp_v0 = phi_s0->unk2; - if ((temp_v0 & 0x8000) == 0) { - sp44 = phi_v1 + 1; - } else if ((temp_v0 & 0x4000) == 0) { - sp44 = phi_v1 + 1; - } else { - temp_v0_2 = phi_s0->unk0; - temp_s1 = phi_v1 + 1; - phi_s1 = temp_s1; - if ((temp_v0_2 != 6) && (temp_v0_2 != 7) && (temp_v0_2 != 8) && (temp_v0_2 != 0xD) && (temp_v0_2 != 0x2A)) { - sp44 = phi_v1 + 1; - } else { - sp44 = temp_s1; - if (temp_s1 < 0x64) { - do { - temp_v0_3 = phi_s0->unk2; - if (((temp_v0_3 & 0x8000) != 0) && ((temp_v0_3 & 0x4000) != 0)) { - temp_a1 = &D_8015F9B8 + (phi_s1 * 0x70); - temp_v0_4 = temp_a1->unk2; - if (((temp_v0_4 & 0x8000) != 0) && ((temp_v0_4 & 0x4000) != 0)) { - temp_v0_5 = temp_a1->unk0; - if (temp_v0_5 != 6) { - if (temp_v0_5 != 7) { - if (temp_v0_5 != 8) { - if ((temp_v0_5 != 0xD) && (temp_v0_5 != 0x2A)) { + for (i = D_8015F900; i < 99; i++) { + phi_s0 = &D_8015F9B8[i]; - } else { - func_802A0350(phi_s0, temp_a1); - } - } else if ((phi_s0->unk0 != 8) || (phi_s0->unk14 != temp_a1->unk14)) { - func_802A0350(phi_s0, temp_a1); - } - } else if ((phi_s0->unk0 != 7) || (phi_s0->unk14 != temp_a1->unk14)) { - func_802A0350(phi_s0, temp_a1); - } - } else if (phi_s0->unk0 != 6) { - func_802A0350(phi_s0, temp_a1); - } - } + if ((phi_s0->unk2 & 0x8000) == 0) { continue; } + if ((phi_s0->unk2 & 0x4000) == 0) { continue; } + + switch(phi_s0->unk0) { + case 6: + case 7: + case 8: + case 42: + case 13: + + for (j = i + 1; j < 100; j++) { + temp_a1 = &D_8015F9B8[j]; + + if ((phi_s0->unk2 & 0x8000) == 0) {continue;} + if ((phi_s0->unk2 & 0x4000) == 0) {continue;} + + if ((temp_a1->unk2 & 0x8000) == 0) { continue; } + if ((temp_a1->unk2 & 0x4000) == 0) { continue; } + + switch(temp_a1->unk0) { + case 6: + if (phi_s0->unk0 == 6) { continue; } + func_802A0350(phi_s0, temp_a1); + break; + case 7: + if (phi_s0->unk0 == 7) { + if (phi_s0->unk10[2] == temp_a1->unk10[2]) { continue; } } - temp_s1_2 = phi_s1 + 1; - phi_s1 = temp_s1_2; - } while (temp_s1_2 != 0x64); + func_802A0350(phi_s0, temp_a1); + + break; + case 8: + if (phi_s0->unk0 == 8) { + if (phi_s0->unk10[2] == temp_a1->unk10[2]) { continue; } + } + func_802A0350(phi_s0, temp_a1); + break; + case 42: + case 13: + func_802A0350(phi_s0, temp_a1); + break; } } - } - phi_s0 += 0x70; - phi_v1 = sp44; - } while (sp44 < 0x63); + + break; + } } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_802A0E44.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -f32 func_802ABEAC(void *, void *, void *); // extern -extern ? D_8015F9B8; +f32 func_802ABEAC(UnkActorInner*, Vec3f); extern f32 D_802B99CC; -void func_802A1064(void *arg0) { - f32 temp_f6; - void *temp_a1; - void *temp_a2; +void func_802A1064(struct Actor *arg0) { + if (arg0 - &D_8015F9B8[0] > 100u) { return; } + if ((arg0->unk2 & 0x8000) == 0) { return; } - temp_a2 = arg0; - if ((((arg0 - &D_8015F9B8) / 0x70) < 0x65) && ((arg0->unk2 & 0x8000) != 0)) { - temp_a1 = temp_a2 + 0x18; - if (arg0->unk0 == 0xD) { - arg0->unk6 = 1; - arg0 = temp_a2; - temp_f6 = func_802ABEAC(arg0 + 0x30, temp_a1, temp_a2) + D_802B99CC; - arg0->unk4 = 0x64; - arg0->unk28 = temp_f6; - } + if (arg0->unk0 == 13) { + arg0->unk6 = 1; + arg0->unk24[1] = func_802ABEAC(&arg0->unk30, arg0->unk18) + D_802B99CC; + arg0->unk4 = 100; } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_802A1064.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_800C9060(s32, ?); // extern -? func_8029E854(void *); // extern -? func_802A1064(void *, u16); // extern -? func_802ADDC8(f32, f32, void *, f32, f32, f32, f32); // extern -? func_802B4E30(void *); // extern extern f32 D_802B99D0; extern f32 D_802B99D4; -extern ? gControllers; -extern ? gPlayers; +void func_802ADDC8(UnkActorInner*, f32, f32, f32, f32); +void func_802B4E30(struct Actor*); +void update_obj_fake_item_box(struct Actor *arg0) { + u32 temp_v1 = arg0->unk24[0]; + Player *temp_v0_4 = &gPlayers[temp_v1]; + struct Controller *temp_v1_3; -void update_obj_fake_item_box(void *arg0) { - u32 sp74; - f32 sp48; - f32 sp44; - f32 sp40; - void *sp2C; - f32 temp_f0; - f32 temp_f12; - f32 temp_f14; - f32 temp_f14_2; - f32 temp_f16; - f32 temp_f16_2; - f32 temp_f18; - f32 temp_f2; + s32 pad[7]; f32 temp_f2_2; - s16 temp_v0; - s16 temp_v0_2; - s16 temp_v0_3; - s16 temp_v1_2; - u16 temp_a1; - u32 temp_v1; - void *temp_v0_4; - void *temp_v1_3; + f32 temp_f14; + f32 temp_f16; + f32 temp_f18; + s32 pad2[3]; - temp_v1 = arg0->unk24; - temp_v0 = arg0->unk6; - if (temp_v0 != 0) { - if (temp_v0 != 1) { - if (temp_v0 != 2) { - func_8029E854(arg0); - // Duplicate return node #26. Try simplifying control flow for better match - return; + switch(arg0->unk6) { + case 0: + arg0->unkC = arg0->unk8 * 5.5f; + arg0->unk10[0] -= 0xB6; + arg0->unk10[1] += 0x16C; + arg0->unk10[2] -= 0xB6; + + temp_f14 = temp_v0_4->pos[0] - arg0->unk18[0]; + temp_f16 = temp_v0_4->pos[1] - arg0->unk18[1]; + temp_f18 = temp_v0_4->pos[2] - arg0->unk18[2]; + + temp_f2_2 = sqrtf((temp_f14 * temp_f14) + (temp_f16 * temp_f16) + (temp_f18 * temp_f18)) / 10.0f; + temp_f14 /= temp_f2_2; + temp_f16 /= temp_f2_2; + temp_f18 /= temp_f2_2; + arg0->unk18[0] = temp_v0_4->pos[0] - temp_f14; + arg0->unk18[1] = (temp_v0_4->pos[1] - temp_f16) - 1.0f; + arg0->unk18[2] = temp_v0_4->pos[2] - temp_f18; + func_802ADDC8(&arg0->unk30, arg0->unkC, arg0->unk18[0], arg0->unk18[1], arg0->unk18[2]); + func_802B4E30(arg0); + temp_v1_3 = &gControllers[temp_v1]; + if ((temp_v0_4->unk_000 & 0x4000) != 0) { + + if ((temp_v1_3->buttonDepressed & Z_TRIG) != 0) { + temp_v1_3->buttonDepressed &= 0xDFFF; + func_802A1064(arg0); + temp_v0_4->unk_00C &= 0xFFFBFFFF; + func_800C9060(((temp_v0_4 - gPlayerOne)) & 0xFF, 0x19008012); + } } - temp_v0_2 = arg0->unk4; - if ((temp_v0_2 >= 0x14) || (temp_v0_2 < 0)) { - func_8029E854(arg0); - return; + break; + case 1: + if (arg0->unk8 < 1.0f) { + arg0->unk8 += D_802B99D0; + } else if (arg0->unk8 >= 1.0f) { + arg0->unk8 = 1.0f; } - arg0->unk4 = temp_v0_2 + 1; - arg0->unk10 = arg0->unk10 + 0x444; - arg0->unk12 = arg0->unk12 - 0x2D8; - arg0->unk14 = arg0->unk14 + 0x16C; - return; - } - temp_f0 = arg0->unk8; - if (temp_f0 < 1.0f) { - arg0->unk8 = temp_f0 + D_802B99D0; - goto block_11; - } - if (temp_f0 >= 1.0f) { - arg0->unk8 = 1.0f; -block_11: - } - temp_f2 = arg0->unk1C; - temp_f12 = arg0->unk28; - arg0->unkC = arg0->unk8 * 5.5f; - if (temp_f12 <= temp_f2) { - arg0->unk1C = temp_f12; - } else { - arg0->unk1C = temp_f2 + D_802B99D4; - } - temp_v1_2 = arg0->unk2; - if ((temp_v1_2 & 0x1000) != 0) { - temp_v0_3 = arg0->unk4; - if ((temp_v0_3 <= 0) || (temp_v0_3 >= 0x12D)) { - arg0->unk2 = temp_v1_2 & 0xEFFF; - arg0->unk4 = 0; + + arg0->unkC = arg0->unk8 * 5.5f; + if (arg0->unk24[1] <= arg0->unk18[1]) { + arg0->unk18[1] = arg0->unk24[1]; } else { - arg0->unk4 = temp_v0_3 - 1; + arg0->unk18[1] += D_802B99D4; } - } - arg0->unk10 = arg0->unk10 - 0xB6; - arg0->unk12 = arg0->unk12 + 0x16C; - arg0->unk14 = arg0->unk14 - 0xB6; - return; - } - arg0->unkC = arg0->unk8 * 5.5f; - arg0->unk10 = arg0->unk10 - 0xB6; - arg0->unk12 = arg0->unk12 + 0x16C; - arg0->unk14 = arg0->unk14 - 0xB6; - temp_v0_4 = (temp_v1 * 0xDD8) + &gPlayers; - temp_f14 = temp_v0_4->unk14 - arg0->unk18; - temp_f16 = temp_v0_4->unk18 - arg0->unk1C; - sp48 = temp_f14; - temp_f18 = temp_v0_4->unk1C - arg0->unk20; - sp44 = temp_f16; - sp74 = temp_v1; - sp40 = temp_f18; - sp2C = temp_v0_4; - temp_f2_2 = sqrtf((temp_f14 * temp_f14) + (temp_f16 * temp_f16) + (temp_f18 * temp_f18)) / 10.0f; - temp_f14_2 = temp_f14 / temp_f2_2; - temp_f16_2 = temp_f16 / temp_f2_2; - arg0->unk18 = temp_v0_4->unk14 - temp_f14_2; - arg0->unk1C = (temp_v0_4->unk18 - temp_f16_2) - 1.0f; - arg0->unk20 = temp_v0_4->unk1C - (temp_f18 / temp_f2_2); - func_802ADDC8(1.0f, temp_f14_2, arg0 + 0x30, arg0->unkC, arg0->unk18, arg0->unk1C, arg0->unk20); - func_802B4E30(arg0); - temp_v1_3 = (sp74 * 0x10) + &gControllers; - if (((temp_v0_4->unk0 & 0x4000) != 0) && (temp_a1 = temp_v1_3->unk8, ((temp_a1 & 0x2000) != 0))) { - temp_v1_3->unk8 = temp_a1 & 0xDFFF; - sp2C = temp_v0_4; - func_802A1064(arg0, temp_a1); - temp_v0_4->unkC = temp_v0_4->unkC & 0xFFFBFFFF; - func_800C9060(((temp_v0_4 - gPlayerOne) / 0xDD8) & 0xFF, 0x19008012); + if ((arg0->unk2 & 0x1000) != 0) { + if ((arg0->unk4 <= 0) || (arg0->unk4 >= 0x12D)) { + arg0->unk2 &= 0xEFFF; + arg0->unk4 = 0; + } else { + arg0->unk4--; + } + } + arg0->unk10[0] -= 0xB6; + arg0->unk10[1] += 0x16C; + arg0->unk10[2] -= 0xB6; + break; + + case 2: + if ((arg0->unk4 >= 0x14) || (arg0->unk4 < 0)) { + func_8029E854(arg0); + } else { + arg0->unk4++; + arg0->unk10[0] += 0x444; + arg0->unk10[1] -= 0x2D8; + arg0->unk10[2] += 0x16C; + } + break; + default: + func_8029E854(arg0); + break; } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/update_obj_fake_item_box.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_8029EC88(f32 *, ? *, ? *, ?); // extern -? func_802B52BC(? *, ?, ?, ?); // extern -? load_giant_egg(? *, ?, ?, ?); // extern -extern ? D_8015F9B8; -extern void *D_802BA05C; void func_802A14BC(f32 arg0, f32 arg1, f32 arg2) { - f32 sp3C; - f32 sp38; - f32 sp34; - ? sp28; - ? sp20; - f32 *temp_a0; + Vec3f sp34; + Vec3f sp28; + Vec3s sp20; + s16 temp_a0; if (gModeSelection != TIME_TRIALS) { - func_802B52BC(&sp20, 0, 0, 0); - load_giant_egg(&sp28, 0, 0, 0); - temp_a0 = &sp34; - sp34 = arg0; - sp38 = arg1; - sp3C = arg2; - D_802BA05C = (func_8029EC88(temp_a0, &sp20, &sp28, 0x2B) * 0x70) + &D_8015F9B8; + func_802B52BC(sp20, 0, 0, 0); + load_giant_egg(sp28, 0, 0, 0); + sp34[0] = arg0; + sp34[1] = arg1; + sp34[2] = arg2; + temp_a0 = func_8029EC88(sp34, sp20, sp28, 43); + D_802BA05C = &D_8015F9B8[temp_a0]; } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_802A14BC.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void update_obj_item_box_hot_air_balloon(void *arg0) { - s16 temp_v0; - s16 temp_v0_2; +void update_obj_item_box_hot_air_balloon(struct Actor *arg0) { + switch(arg0->unk6) { + case 5: + arg0->unk10[0] += 0xB6; + arg0->unk10[1] -= 0x16C; + arg0->unk10[2] += 0xB6; + break; + case 3: + if (arg0->unk4 == 0x14) { + arg0->unk6 = 5; + arg0->unk2 = -0x4000; + return; + } + arg0->unk4++; + arg0->unk10[0] += 0x444; + arg0->unk10[1] -= 0x2D8; + arg0->unk10[2] += 0x16C; + break; - temp_v0 = arg0->unk6; - if (temp_v0 != 3) { - if (temp_v0 == 5) { - arg0->unk10 = arg0->unk10 + 0xB6; - arg0->unk12 = arg0->unk12 - 0x16C; - arg0->unk14 = arg0->unk14 + 0xB6; - return; - } - // Duplicate return node #6. Try simplifying control flow for better match - return; } - temp_v0_2 = arg0->unk4; - if (temp_v0_2 == 0x14) { - arg0->unk6 = 5; - arg0->unk2 = -0x4000; - return; - } - arg0->unk4 = temp_v0_2 + 1; - arg0->unk10 = arg0->unk10 + 0x444; - arg0->unk12 = arg0->unk12 - 0x2D8; - arg0->unk14 = arg0->unk14 + 0x16C; } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/update_obj_item_box_hot_air_balloon.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern f32 D_802B99D8; extern f32 D_802B99DC; -void update_obj_item_box(void *arg0) { - f32 temp_f0; - f32 temp_f12; - f32 temp_f2; - s16 temp_v0; - s16 temp_v0_2; - - temp_v0 = arg0->unk6; - if (temp_v0 != 0) { - if (temp_v0 != 1) { - if (temp_v0 != 2) { - if (temp_v0 != 3) { - return; - } - temp_v0_2 = arg0->unk4; - if (temp_v0_2 == 0x14) { - arg0->unk6 = 0; - arg0->unk2 = -0x4000; - arg0->unk1C = arg0->unk8 - 20.0f; - return; - } - arg0->unk4 = temp_v0_2 + 1; - arg0->unk10 = arg0->unk10 + 0x444; - arg0->unk12 = arg0->unk12 - 0x2D8; - arg0->unk14 = arg0->unk14 + 0x16C; - return; +void update_obj_item_box(struct Actor *arg0) { + switch (arg0->unk6) { + case 0: + arg0->unk6 = 1; + break; + case 1: + if ((arg0->unk18[1] - arg0->unk24[0]) < D_802B99D8) { + arg0->unk18[1] += D_802B99DC; + } else { + arg0->unk18[1] = arg0->unk24[0] + D_802B99D8; + arg0->unk6 = 2; + arg0->unk2 = 0xC000; } - arg0->unk10 = arg0->unk10 + 0xB6; - arg0->unk12 = arg0->unk12 - 0x16C; - arg0->unk14 = arg0->unk14 + 0xB6; - return; - } - temp_f0 = arg0->unk1C; - temp_f2 = arg0->unk24; - temp_f12 = D_802B99D8; - if ((temp_f0 - temp_f2) < temp_f12) { - arg0->unk1C = temp_f0 + D_802B99DC; - return; - } - arg0->unk6 = 2; - arg0->unk2 = -0x4000; - arg0->unk1C = temp_f2 + temp_f12; - return; + break; + case 2: + arg0->unk10[0] += 0xB6; + arg0->unk10[1] -= 0x16C; + arg0->unk10[2] += 0xB6; + break; + case 3: + if (arg0->unk4 == 20) { + arg0->unk6 = 0; + arg0->unk18[1] = arg0->unk8 - 20.0f; + arg0->unk2 = 0xC000; + } else { + arg0->unk4++; + arg0->unk10[0] += 0x444; + arg0->unk10[1] -= 0x2D8; + arg0->unk10[2] += 0x16C; + } + break; } - arg0->unk6 = 1; } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/update_obj_item_box.s") -#endif #ifdef MIPS_TO_C /* @@ -6630,7 +6371,7 @@ extern f32 D_802B99F0; extern f32 D_802B99F4; extern f32 D_802B99F8; extern f32 D_802B99FC; -extern void *gDisplayListHead; + void func_802A171C(void *arg0, void *arg1) { s16 sp184; @@ -6883,20 +6624,20 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_802A171C.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_802B4FF8(f32 *, ?); // extern -? func_802B5450(f32 *, f32 *, f32 *, f32 *); // extern -? func_802B5F00(f32, f32 *, f32); // extern -? func_802B5F74(f32 *, f32 *, s16 *, void *); // extern -f32 func_802B80D0(f32 *, u16, ?, f32, f32); // extern -extern ? D_0D002EE8; -extern ? D_0D003008; -extern ? D_0D003090; -extern ? D_0D0030F8; -extern ? D_0D003128; -extern ? D_0D003158; -extern ? D_0D003188; -extern ? D_0D0031B8; -extern ? D_0D0031E8; +//s32 func_802B4FF8(f32 *, ?); // extern +//? func_802B5450(f32 *, f32 *, f32 *, f32 *); // extern +//? func_802B5F00(f32, f32 *, f32); // extern +//? func_802B5F74(f32 *, f32 *, s16 *, void *); // extern +//f32 func_802B80D0(f32 *, u16, ?, f32, f32); // extern +extern s8 D_0D002EE8[]; +extern s8 D_0D003008[]; +extern s8 D_0D003090[]; +extern s8 D_0D0030F8[]; +extern s8 D_0D003128[]; +extern s8 D_0D003158[]; +extern s8 D_0D003188[]; +extern s8 D_0D0031B8[]; +extern s8 D_0D0031E8[]; extern f32 D_802B9A00; extern f32 D_802B9A04; extern f32 D_802B9A08; @@ -6907,7 +6648,7 @@ extern f32 D_802B9A18; extern f32 D_802B9A1C; extern f32 D_802B9A20; extern f32 D_802B9A24; -extern void *gDisplayListHead; + void func_802A1EA0(void *arg0, void *arg1) { f32 sp17C; @@ -6940,34 +6681,7 @@ void func_802A1EA0(void *arg0, void *arg1) { s16 *temp_a2; s16 temp_a0; s16 temp_v1; - void *temp_v0; - void *temp_v0_10; - void *temp_v0_11; - void *temp_v0_12; - void *temp_v0_13; - void *temp_v0_14; - void *temp_v0_15; - void *temp_v0_16; - void *temp_v0_17; - void *temp_v0_18; - void *temp_v0_19; - void *temp_v0_20; - void *temp_v0_21; - void *temp_v0_22; - void *temp_v0_23; - void *temp_v0_24; - void *temp_v0_25; - void *temp_v0_26; - void *temp_v0_27; - void *temp_v0_28; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - void *temp_v0_7; - void *temp_v0_8; - void *temp_v0_9; + s16 phi_a0; s16 phi_a0_2; void *phi_t1; @@ -6988,18 +6702,13 @@ void func_802A1EA0(void *arg0, void *arg1) { sp170 = arg1->unk20; func_802B5F74(&sp118, &sp168, &sp160); if (func_802B4FF8(&sp118, 0) != 0) { - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x6000000; - temp_v0->unk4 = &D_0D002EE8; + + gSPDisplayList(gDisplayListHead++, D_0D002EE8); sp162 = arg1->unk12 * 2; sp16C = arg1->unk1C; func_802B5F74(&sp118, &sp168, &sp160, arg1); if (func_802B4FF8(&sp118, 0) != 0) { - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk4 = &D_0D003008; - temp_v0_2->unk0 = 0x6000000; + gSPDisplayList(gDisplayListHead++, D_0D003008); phi_a0 = arg1->unk6; goto block_7; } @@ -7011,10 +6720,7 @@ block_7: if (phi_a0 == 5) { func_802B5F74(&sp118, sp38, arg1 + 0x10); if (func_802B4FF8(&sp118, 0) != 0) { - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = &D_0D003008; - temp_v0_3->unk0 = 0x6000000; + gSPDisplayList(gDisplayListHead++, D_0D003008); phi_a0_2 = arg1->unk6; phi_t1 = arg1; goto block_10; @@ -7025,68 +6731,35 @@ block_10: if (phi_a0_2 != 3) { func_802B5F74(&sp118, sp38, temp_a2); if (func_802B4FF8(&sp118, 0) != 0) { - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = 0x20000; - temp_v0_4->unk0 = 0xB6000000; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk0 = 0xFC121824; - temp_v0_5->unk4 = 0xFF33FFFF; + + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + gDPSetCombineLERP(gDisplayListHead++, TEXEL0, SHADE, SHADE, 1, TEXEL0, PRIMITIVE, LOD_FRACTION, 0, 0, 0, TEXEL1, 0, 0, 0, SHADE, 0); temp_v1 = arg1->unk12; if ((temp_v1 < 0xAA1) && (temp_v1 > 0)) { - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk0 = 0xB900031D; - temp_v0_6->unk4 = 0x552078; + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); } else if ((temp_v1 >= 0x6AA5) && (temp_v1 < 0x754E)) { - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk0 = 0xB900031D; - temp_v0_7->unk4 = 0x552078; + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); } else if ((temp_v1 >= 0x38E1) && (temp_v1 < 0x438A)) { - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->unk0 = 0xB900031D; - temp_v0_8->unk4 = 0x552078; + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); } else if ((temp_v1 >= 0xC711) && (temp_v1 < 0xD1BA)) { - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->unk0 = 0xB900031D; - temp_v0_9->unk4 = 0x552078; + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); } else { - temp_v0_10 = gDisplayListHead; - gDisplayListHead = temp_v0_10 + 8; - temp_v0_10->unk4 = 0; - temp_v0_10->unk0 = 0xC0000000; - temp_v0_11 = gDisplayListHead; - gDisplayListHead = temp_v0_11 + 8; + gDPNoOp(gDisplayListHead++); + gDPSetRenderMode(gDisplayListHead++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2); +/* + temp_v0_11->unk4 = 0x504B50; temp_v0_11->unk0 = 0xB900031D; + */ } - temp_v0_12 = gDisplayListHead; - gDisplayListHead = temp_v0_12 + 8; - temp_v0_12->unk4 = 0x200; - temp_v0_12->unk0 = 0xB7000000; - temp_v0_13 = gDisplayListHead; - gDisplayListHead = temp_v0_13 + 8; - temp_v0_13->unk0 = 0x6000000; - temp_v0_13->unk4 = &D_0D003090; + gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); + gSPDisplayList(gDisplayListHead++, D_0D003090); goto block_42; } } else { - temp_v0_14 = gDisplayListHead; - gDisplayListHead = temp_v0_14 + 8; - temp_v0_14->unk4 = 0x20000; - temp_v0_14->unk0 = 0xB6000000; - temp_v0_15 = gDisplayListHead; - gDisplayListHead = temp_v0_15 + 8; - temp_v0_15->unk4 = 0x2000; - temp_v0_15->unk0 = 0xB6000000; - temp_v0_16 = gDisplayListHead; - gDisplayListHead = temp_v0_16 + 8; - temp_v0_16->unk4 = 0; - temp_v0_16->unk0 = 0xC0000000; + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + gDPNoOp(gDisplayListHead++); sp15C = phi_t1->unk4; func_802B5F74(&sp118, sp38, temp_a2); if (sp15C < 10.0f) { @@ -7096,15 +6769,14 @@ block_10: } func_802B5F00(sp15C, &sp118, phi_f0); if ((arg1->unk4 & 1) != 0) { - temp_v0_17 = gDisplayListHead; - gDisplayListHead = temp_v0_17 + 8; - temp_v0_17->unk4 = 0x552078; - temp_v0_17->unk0 = 0xB900031D; + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + + } else { - temp_v0_18 = gDisplayListHead; - gDisplayListHead = temp_v0_18 + 8; - temp_v0_18->unk4 = 0x4045D8; - temp_v0_18->unk0 = 0xB900031D; + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2); + + //temp_v0_18->unk4 = 0x4045D8; + //temp_v0_18->unk0 = 0xB900031D; } sp174 = 0.0f; temp_f2 = 2.0f * sp15C; @@ -7113,10 +6785,7 @@ block_10: sp38 = (bitwise f32 *) temp_f2; func_802B5450(&sp118, &spD8, &sp174); if (func_802B4FF8(&spD8, 0) != 0) { - temp_v0_19 = gDisplayListHead; - gDisplayListHead = temp_v0_19 + 8; - temp_v0_19->unk0 = 0x6000000; - temp_v0_19->unk4 = &D_0D003158; + gSPDisplayList(gDisplayListHead++, D_0D003158); temp_f2_2 = D_802B9A10 * sp15C; temp_f12 = 0.5f * sp15C; sp174 = temp_f2_2; @@ -7126,10 +6795,7 @@ block_10: sp30 = temp_f12; func_802B5450((bitwise f32 *) temp_f12, &sp118, &spD8, &sp174); if (func_802B4FF8(&spD8, 0) != 0) { - temp_v0_20 = gDisplayListHead; - gDisplayListHead = temp_v0_20 + 8; - temp_v0_20->unk0 = 0x6000000; - temp_v0_20->unk4 = &D_0D0031B8; + gSPDisplayList(gDisplayListHead++, D_0D0031B8); temp_f0_2 = -0.5f * sp15C; temp_a2_2 = &sp174; sp174 = sp34; @@ -7138,20 +6804,11 @@ block_10: sp2C = temp_f0_2; func_802B5450(&sp118, &spD8, temp_a2_2); if (func_802B4FF8(&spD8, 0) != 0) { - temp_v0_21 = gDisplayListHead; - gDisplayListHead = temp_v0_21 + 8; - temp_v0_21->unk4 = &D_0D003128; - temp_v0_21->unk0 = 0x6000000; + gSPDisplayList(gDisplayListHead++, D_0D003128); if ((arg1->unk4 & 1) == 0) { - temp_v0_22 = gDisplayListHead; - gDisplayListHead = temp_v0_22 + 8; - temp_v0_22->unk4 = 0x552078; - temp_v0_22->unk0 = 0xB900031D; + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); } else { - temp_v0_23 = gDisplayListHead; - gDisplayListHead = temp_v0_23 + 8; - temp_v0_23->unk4 = 0x4045D8; - temp_v0_23->unk0 = 0xB900031D; + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2); } temp_a2_3 = &sp174; sp174 = 0.0f; @@ -7159,10 +6816,7 @@ block_10: sp17C = -1.0f * sp15C; func_802B5450(&sp118, &spD8, temp_a2_3); if (func_802B4FF8(&spD8, 0) != 0) { - temp_v0_24 = gDisplayListHead; - gDisplayListHead = temp_v0_24 + 8; - temp_v0_24->unk4 = &D_0D0031E8; - temp_v0_24->unk0 = 0x6000000; + gSPDisplayList(gDisplayListHead++, D_0D0031E8); temp_f0_3 = D_802B9A20 * sp15C; temp_a2_4 = &sp174; sp17C = sp2C; @@ -7171,29 +6825,17 @@ block_10: sp178 = D_802B9A24 * sp15C; func_802B5450(&sp118, &spD8, temp_a2_4); if (func_802B4FF8(&spD8, 0) != 0) { - temp_v0_25 = gDisplayListHead; - gDisplayListHead = temp_v0_25 + 8; - temp_v0_25->unk4 = &D_0D003188; - temp_v0_25->unk0 = 0x6000000; + gSPDisplayList(gDisplayListHead++, D_0D003188); temp_a2_5 = &sp174; sp174 = sp34; sp178 = (bitwise f32) sp38; sp17C = sp30; func_802B5450(&sp118, &spD8, temp_a2_5); if (func_802B4FF8(&spD8, 0) != 0) { - temp_v0_26 = gDisplayListHead; - gDisplayListHead = temp_v0_26 + 8; - temp_v0_26->unk4 = &D_0D0030F8; - temp_v0_26->unk0 = 0x6000000; - temp_v0_27 = gDisplayListHead; - gDisplayListHead = temp_v0_27 + 8; - temp_v0_27->unk4 = 0x2000; - temp_v0_27->unk0 = 0xB7000000; + gSPDisplayList(gDisplayListHead++, D_0D0030F8); + gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); block_42: - temp_v0_28 = gDisplayListHead; - gDisplayListHead = temp_v0_28 + 8; - temp_v0_28->unk4 = -1; - temp_v0_28->unk0 = 0xBB000001; } } } @@ -7209,694 +6851,433 @@ block_42: GLOBAL_ASM("asm/non_matchings/code_actors/func_802A1EA0.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_802B4FF8(? *, ?); // extern -? func_802B5F74(? *, s32, s32); // extern -f32 func_802B80D0(s32, u16, ?, f32, f32); // extern -extern ? D_0600CA60; +extern s8 D_0600CA60[]; extern f32 D_802B9A28; -extern void *gDisplayListHead; -void func_802A269C(void *arg0, s32 arg1) { - ? sp38; - s32 sp24; - s32 temp_a1; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; +void func_802A269C(Camera *arg0, struct Actor *arg1) { + Mat4 sp38; + f32 unk = func_802B80D0(arg0->pos, arg1->unk18, arg0->rotX[1], 0, D_80150130[arg0 - camera1], D_802B9A28); - temp_a1 = arg1 + 0x18; - sp24 = temp_a1; - if (!(func_802B80D0(temp_a1, arg0->unk26, 0, (&D_80150130)[(arg0 - camera1) / 0xB8], D_802B9A28) < 0.0f)) { - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk4 = 0x200; - temp_v0->unk0 = 0xB7000000; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk4 = 0x20000; - temp_v0_2->unk0 = 0xB6000000; - func_802B5F74(&sp38, temp_a1, arg1 + 0x10); - if (func_802B4FF8(&sp38, 0) != 0) { - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0x6000000; - temp_v0_3->unk4 = &D_0600CA60; + if (!(unk < 0.0f)) { + gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + + func_802B5F74(sp38, arg1->unk18, arg1->unk10); + if (func_802B4FF8(sp38, 0) != 0) { + + gSPDisplayList(gDisplayListHead++, D_0600CA60); } } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_802A269C.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_802976D8(s16 *); // extern -? func_8029794C(f32 *, s16 *, ?); // extern -s32 func_802B4FF8(? *, ?); // extern -? func_802B5F74(? *, s32, s16 *); // extern -f32 func_802B80D0(s32, u16, ?, f32, f32); // extern -extern ? D_06016D70; -extern ? D_06017FA8; +extern s8 D_06016D70[]; +extern s8 D_06017FA8[]; extern f32 D_802B9A2C; -extern f32 D_802B9A30; -extern void *gDisplayListHead; +extern s32 D_800DC50C; -void func_802A27A0(void *arg0, ? *arg1, void *arg2, u16 arg3) { - ? sp60; - s16 sp5C; - s16 sp5A; - s16 sp58; - f32 sp54; - f32 sp50; - f32 sp4C; - s32 sp30; +void func_802A27A0(Camera *arg0, Mat4 arg1, struct Actor *arg2, u16 arg3) { + Mat4 sp60; + Vec3s sp5C; + Vec3f sp54; f32 temp_f0; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - f32 phi_f2; if (D_800DC50C != CREDITS_SEQUENCE) { - temp_f0 = func_802B80D0(arg2 + 0x18, arg0->unk26, 0x43480000, (&D_80150130)[(arg0 - camera1) / 0xB8], D_802B9A2C); - phi_f2 = temp_f0; + temp_f0 = func_802B80D0(arg0->pos, arg2->unk18, arg0->rotX[1], 200.0f, D_80150130[arg0 - camera1], D_802B9A2C); if (temp_f0 < 0.0f) { return; } - goto block_4; + } else { + arg3 = 15; + temp_f0 = 0.0f; } - arg3 = 0xF; - phi_f2 = 0.0f; -block_4: - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk4 = 0x200; - temp_v0->unk0 = 0xB7000000; - if ((arg3 >= 0xD) && (arg3 < 0x14)) { - sp30 = arg2 + 0x18; - if (phi_f2 < D_802B9A30) { - sp4C = arg2->unk18; - sp50 = 3.0f; - sp54 = arg2->unk20; - func_802976D8(&sp58); - func_8029794C(&sp4C, &sp58, 0x41200000); + + gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); + if ((arg3 > 12) && (arg3 < 20)) { + if (temp_f0 < 640000.0f) { + sp54[0] = arg2->unk18[0]; + sp54[1] = 3.0f; + sp54[2] = arg2->unk18[2]; + func_802976D8(sp5C); + func_8029794C(sp54, sp5C, 10.0f); } - sp58 = 0; - sp5C = 0; - sp5A = arg2->unk12; - func_802B5F74(&sp60, sp30, &sp58); - if (func_802B4FF8(&sp60, 0) != 0) { - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk4 = 0x20000; - temp_v0_2->unk0 = 0xB7000000; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0x6000000; - temp_v0_3->unk4 = &D_06016D70; - return; + sp5C[0] = 0; + sp5C[1] = arg2->unk10[1]; + sp5C[2] = 0; + func_802B5F74(sp60, arg2->unk18, sp5C); + if (func_802B4FF8(sp60, 0) == 0) { return; } + + gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING); + gSPDisplayList(gDisplayListHead++, D_06016D70); + } else { + + arg1[3][0] = arg2->unk18[0]; + arg1[3][1] = arg2->unk18[1]; + arg1[3][2] = arg2->unk18[2]; + + if (func_802B4FF8(arg1, 0) != 0) { + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + gSPDisplayList(gDisplayListHead++, D_06017FA8); } - // Duplicate return node #12. Try simplifying control flow for better match + } +} + +extern s8 D_06009330[]; + + +void func_802A29BC(Camera *arg0, Mat4 arg1, struct Actor *arg2) { + Mat4 sp40; + f32 unk; + s16 temp = arg2->unk2; + + if (temp & 0x800) { return; } + unk = func_802B80D0(arg0->pos, arg2->unk18, arg0->rotX[1], 0, D_80150130[arg0 - camera1], 16000000.0f); + if (!(unk < 0.0f)) { + gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + func_802B5F74(&sp40, arg2->unk18, arg2->unk10); + if (func_802B4FF8(&sp40, 0) != 0) { + gSPDisplayList(gDisplayListHead++, D_06009330); + } + } +} + +s32 D_802B8850[] = {0, 0, 0}; +s16 D_802B885C[] = {0, 0, 0}; +//s16 filla; + +extern s8 D_06010AE8[]; +extern s8 D_06010C10[]; +extern s8 D_06010D38[]; +extern s8 D_802B8864[]; + + +void func_802A2AD0(Camera *arg0, struct Actor *arg1) { + Vec3s sp80 = {0, 0, 0}; + Mat4 sp40; + f32 unk = func_802B80D0(arg0->pos, arg1->unk18, arg0->rotX[1], 0.0f, D_80150130[arg0 - camera1], 4000000.0f); + + if (unk < 0.0f) { return; } + func_802B5F74(sp40, arg1->unk18, arg1->unk10); + if (func_802B4FF8(sp40, 0) == 0) { return; } + + gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING); + gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); + + if (D_801637B8[arg1->unk6]) { + + if (arg1->unk4 < 20) { + gSPDisplayList(gDisplayListHead++, D_06010AE8); + } else { + gSPDisplayList(gDisplayListHead++, D_06010C10); + } + } else { + gSPDisplayList(gDisplayListHead++, D_06010D38); + } + gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); + +} + +extern s8 D_060185F8[]; +extern s8 D_060186B8[]; +extern s8 D_06018948[]; +extern s8 D_06018A08[]; +extern s8 D_06018C98[]; +extern s8 D_06018D58[]; + +void func_802A2C78(Camera *arg0, Mat4 arg1, struct Actor *arg2) { + Vec3s spA8 = {0, 0, 0}; + Mat4 sp68; + f32 temp_f0; + s16 temp_v0 = arg2->unk2; + + if ((temp_v0 & 0x800)) { return; } - arg1->unk30 = arg2->unk18; - arg1->unk34 = arg2->unk1C; - arg1->unk38 = arg2->unk20; - if (func_802B4FF8(arg1, 0) != 0) { - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = 0x20000; - temp_v0_4->unk0 = 0xB6000000; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk0 = 0x6000000; - temp_v0_5->unk4 = &D_06017FA8; - } -} -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_802A27A0.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_802B4FF8(? *, ?); // extern -? func_802B5F74(? *, void *, void *); // extern -f32 func_802B80D0(void *, u16, ?, f32, f32); // extern -extern ? D_06009330; -extern f32 D_802B9A34; -extern void *gDisplayListHead; + temp_f0 = func_802B80D0(arg0->pos, arg2->unk18, arg0->rotX[1], 0.0f, D_80150130[arg0 - camera1], 4000000.0f); + + if (!(temp_f0 < 0.0f)) { + if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { + func_8029794C(arg2->unk18, arg2->unk10, 2.0f); + } + func_802B5F74(sp68, arg2->unk18, spA8); + if (func_802B4FF8(sp68, 0) != 0) { -void func_802A29BC(void *arg0, ? arg1, void *arg2) { - ? sp40; - void *sp28; - void *temp_a1; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; + gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); + gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING); + + switch(arg2->unk4) { + case 0: + gSPDisplayList(gDisplayListHead++, &D_060186B8); + gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); + gSPDisplayList(gDisplayListHead++, &D_060185F8); + gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); + break; + + case 1: + gSPDisplayList(gDisplayListHead++, &D_06018A08); + gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); + gSPDisplayList(gDisplayListHead++, &D_06018948); + gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); + break; + + case 2: + gSPDisplayList(gDisplayListHead++, &D_06018D58); + gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); + gSPDisplayList(gDisplayListHead++, &D_06018C98); + gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); + break; - temp_a1 = arg2 + 0x18; - if ((arg2->unk2 & 0x800) == 0) { - sp28 = temp_a1; - if (!(func_802B80D0(temp_a1, arg0->unk26, 0, (&D_80150130)[(arg0 - camera1) / 0xB8], D_802B9A34) < 0.0f)) { - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk4 = 0x200; - temp_v0->unk0 = 0xB7000000; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk4 = 0x20000; - temp_v0_2->unk0 = 0xB6000000; - func_802B5F74(&sp40, temp_a1, arg2 + 0x10); - if (func_802B4FF8(&sp40, 0) != 0) { - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0x6000000; - temp_v0_3->unk4 = &D_06009330; } } } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_802A29BC.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_802B4FF8(? *, ?); // extern -? func_802B5F74(? *, s32, s32); // extern -f32 func_802B80D0(s32, u16, ?, f32, f32); // extern -extern ? D_06010AE8; -extern ? D_06010C10; -extern ? D_06010D38; -extern ? D_801637B8; -extern ? D_802B8864; -extern f32 D_802B9A38; -extern void *gDisplayListHead; - -void func_802A2AD0(void *arg0, void *arg1) { - ? sp80; - ? sp40; - s32 sp20; - s32 temp_a1; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - - sp80.unk0 = D_802B8864.unk0; - sp80.unk4 = D_802B8864.unk4; - temp_a1 = arg1 + 0x18; - sp20 = temp_a1; - if (!(func_802B80D0(temp_a1, arg0->unk26, 0, (&D_80150130)[(arg0 - camera1) / 0xB8], D_802B9A38) < 0.0f)) { - func_802B5F74(&sp40, temp_a1, arg1 + 0x10); - if (func_802B4FF8(&sp40, 0) != 0) { - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk4 = 0x20000; - temp_v0->unk0 = 0xB7000000; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk4 = 0x2000; - temp_v0_2->unk0 = 0xB6000000; - if (*(&D_801637B8 + (arg1->unk6 * 2)) != 0) { - if (arg1->unk4 < 0x14) { - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = &D_06010AE8; - temp_v0_3->unk0 = 0x6000000; - } else { - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = &D_06010C10; - temp_v0_4->unk0 = 0x6000000; - } - } else { - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk0 = 0x6000000; - temp_v0_5->unk4 = &D_06010D38; - } - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk4 = 0x2000; - temp_v0_6->unk0 = 0xB7000000; - } - } -} -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_802A2AD0.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_8029794C(void *, void *, ?); // extern -s32 func_802B4FF8(? *, ?); // extern -? func_802B5F74(? *, void *, ? *); // extern -f32 func_802B80D0(void *, u16, ?, f32, f32); // extern -extern ? D_060185F8; -extern ? D_060186B8; -extern ? D_06018948; -extern ? D_06018A08; -extern ? D_06018C98; -extern ? D_06018D58; -extern ? D_802B886C; -extern f32 D_802B9A3C; -extern f32 D_802B9A40; -extern s32 *gDisplayListHead; - -void func_802A2C78(void *arg0, ? arg1, void *arg2) { - ? spA8; - ? sp68; - s16 sp62; - void *sp20; - f32 temp_f0; - s16 temp_a2; - s16 temp_v0; - s32 *temp_v0_10; - s32 *temp_v0_11; - s32 *temp_v0_12; - s32 *temp_v0_13; - s32 *temp_v0_14; - s32 *temp_v0_15; - s32 *temp_v0_2; - s32 *temp_v0_3; - s32 *temp_v0_4; - s32 *temp_v0_5; - s32 *temp_v0_6; - s32 *temp_v0_7; - s32 *temp_v0_8; - s32 *temp_v0_9; - void *temp_a1; - s32 *phi_v0; - - spA8.unk0 = D_802B886C.unk0; - spA8.unk4 = D_802B886C.unk4; - temp_v0 = arg2->unk2; - temp_a1 = arg2 + 0x18; - if (((temp_v0 & 0x800) == 0) && (sp20 = temp_a1, sp62 = temp_v0, temp_f0 = func_802B80D0(temp_a1, arg0->unk26, 0, (&D_80150130)[(arg0 - camera1) / 0xB8], D_802B9A3C), !(temp_f0 < 0.0f))) { - if (((temp_v0 & 0x400) == 0) && (temp_f0 < D_802B9A40)) { - func_8029794C(sp20, arg2 + 0x10, 0x40000000); - } - func_802B5F74(&sp68, sp20, &spA8); - if (func_802B4FF8(&sp68, 0) != 0) { - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk4 = 0; - temp_v0_2->unk0 = 0xBA000E02; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = 0x20000; - temp_v0_3->unk0 = 0xB7000000; - temp_a2 = arg2->unk4; - if (temp_a2 != 0) { - if (temp_a2 != 1) { - if (temp_a2 != 2) { - return; - } - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = &D_06018D58; - temp_v0_4->unk0 = 0x6000000; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk4 = 0x2000; - temp_v0_5->unk0 = 0xB6000000; - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk4 = &D_06018C98; - temp_v0_6->unk0 = 0x6000000; - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk4 = 0x2000; - phi_v0 = temp_v0_7; - goto block_13; - } - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->unk4 = &D_06018A08; - temp_v0_8->unk0 = 0x6000000; - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->unk4 = 0x2000; - temp_v0_9->unk0 = 0xB6000000; - temp_v0_10 = gDisplayListHead; - gDisplayListHead = temp_v0_10 + 8; - temp_v0_10->unk4 = &D_06018948; - temp_v0_10->unk0 = 0x6000000; - temp_v0_11 = gDisplayListHead; - gDisplayListHead = temp_v0_11 + 8; - temp_v0_11->unk4 = 0x2000; - phi_v0 = temp_v0_11; - goto block_13; - } - temp_v0_12 = gDisplayListHead; - gDisplayListHead = temp_v0_12 + 8; - temp_v0_12->unk4 = &D_060186B8; - temp_v0_12->unk0 = 0x6000000; - temp_v0_13 = gDisplayListHead; - gDisplayListHead = temp_v0_13 + 8; - temp_v0_13->unk4 = 0x2000; - temp_v0_13->unk0 = 0xB6000000; - temp_v0_14 = gDisplayListHead; - gDisplayListHead = temp_v0_14 + 8; - temp_v0_14->unk4 = &D_060185F8; - temp_v0_14->unk0 = 0x6000000; - temp_v0_15 = gDisplayListHead; - gDisplayListHead = temp_v0_15 + 8; - temp_v0_15->unk4 = 0x2000; - phi_v0 = temp_v0_15; -block_13: - *phi_v0 = 0xB7000000; - // Duplicate return node #14. Try simplifying control flow for better match - return; - } - // Duplicate return node #14. Try simplifying control flow for better match - } -} -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_802A2C78.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_802A171C(s32, ? *); // extern -? func_802A1EA0(s32, ? *); // extern +void func_802A171C(Camera*, struct Actor*); // extern +void func_802A1EA0(Camera*, struct Actor*); // extern extern s32 D_8015F8DC; -extern ? D_8015F9B8; -extern ? D_80162578; -void func_802A2F34(void *arg0) { - ? *temp_s0; - s16 temp_v0; - s32 temp_s1; - ? *phi_s0; - - temp_s1 = arg0->unk4; +void func_802A2F34(struct UnkStruct_800DC5EC *arg0) { + Camera *temp_s1 = arg0->camera; + struct Actor *phi_s0; + s32 i; D_8015F8DC = 0; - phi_s0 = &D_8015F9B8; - do { - if (phi_s0->unk2 != 0) { - temp_v0 = phi_s0->unk0; - if (temp_v0 != 0xC) { - if (temp_v0 != 0xD) { - if (temp_v0 != 0x2B) { - } else { - func_802A1EA0(temp_s1, phi_s0); - } - } else { - func_802A171C(temp_s1, phi_s0); - } - } else { - func_802A1EA0(temp_s1, phi_s0); - } + for (i = 0; i < 100; i++) { + phi_s0 = &D_8015F9B8[i]; + + if (phi_s0->unk2 == 0) { + continue; } - temp_s0 = phi_s0 + 0x70; - phi_s0 = temp_s0; - } while (temp_s0 != &D_80162578); -} -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_802A2F34.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_80297340(f32, f32, void *); /* extern */ -? func_80297A50(void *, ? *, ? *); /* extern */ -? func_80298328(void *, ? *, ? *); /* extern */ -? func_802986B4(void *, ? *, ? *); /* extern */ -? func_80298D7C(void *, ? *, ? *); /* extern */ -? func_80299144(void *, ? *, ? *); /* extern */ -? func_8029930C(void *, ? *, ? *); /* extern */ -? func_802994D4(void *, ? *, ? *); /* extern */ -? func_8029969C(void *, ? *, ? *); /* extern */ -? func_80299864(void *, ? *, ? *); /* extern */ -? func_80299A2C(void *, ? *, ? *); /* extern */ -? func_80299BF4(void *, ? *, ? *); /* extern */ -? func_80299DBC(void *, ? *, ? *); /* extern */ -? func_80299EDC(void *, ? *, ? *); /* extern */ -? func_80299FFC(void *, ? *, ? *); /* extern */ -? func_8029A11C(void *, ? *, ? *); /* extern */ -? func_8029A23C(void *, ? *, ? *); /* extern */ -? func_8029A690(void *, ? *, ? *); /* extern */ -? func_8029A75C(void *, ? *, ? *); /* extern */ -? func_8029A828(void *, ? *, ? *); /* extern */ -? func_8029A8F4(void *, ? *, ? *); /* extern */ -? func_8029AC18(void *, ? *, ? *); /* extern */ -? func_8029AE1C(void *, ? *, ? *, u16); /* extern */ -? func_8029B06C(void *, ? *); /* extern */ -? func_8029B2E4(void *, ? *); /* extern */ -? func_8029B4E0(void *, ? *); /* extern */ -? func_8029B6EC(void *, ? *); /* extern */ -? func_8029B8E8(void *, ? *); /* extern */ -? func_8029BFB0(void *, ? *); /* extern */ -? func_8029C3CC(void *, ? *); /* extern */ -? func_8029CA90(void *, ? *); /* extern */ -? func_802A269C(void *, ? *); /* extern */ -? func_802A27A0(void *, ? *, ? *, u16); /* extern */ -? func_802A29BC(void *, ? *, ? *); /* extern */ -? func_802A2AD0(void *, ? *); /* extern */ -? func_802A2C78(void *, ? *, ? *); /* extern */ + switch(phi_s0->unk0) { + case 13: + func_802A171C(temp_s1, phi_s0); + break; + case 12: + func_802A1EA0(temp_s1, phi_s0); + break; + case 43: + func_802A1EA0(temp_s1, phi_s0); + break; + } + } +} + f32 sins(s32); /* extern */ f32 coss(s32); /* extern */ -extern ? D_801502C0; +void func_802986B4(Camera*, Mat4, struct Actor*); +void func_80298D7C(Camera*, Mat4, struct Actor*); + + +void func_802A27A0(Camera*, Mat4, struct Actor*, u16); +void func_8029AE1C(Camera*, Mat4, struct Actor*, u16); + +extern Mat4 D_801502C0; extern s32 D_8015F8E0; -extern ? D_8015F9B8; -extern ? D_80162578; -extern void *gDisplayListHead; -extern s32 gModeSelection; -static ? D_800DC628; /* unable to generate initializer */ -static ? D_800DC630; /* unable to generate initializer */ -static ? D_802B8874; /* unable to generate initializer */ -static s16 gCurrentCourseId; /* type too large by 2; unable to generate initializer */ -void func_802A3008(void *arg0) { - s16 sp92; - ? *sp58; - ? sp4C; - f32 sp48; - ? *temp_s0; - f32 temp_f0; - s16 temp_t4; - s16 temp_v0_6; - void *temp_s1; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - ? *phi_s0; +void func_80299144(Camera *, Mat4, struct Actor*); /* extern */ +void func_8029930C(Camera *, Mat4, struct Actor*); /* extern */ +void func_802994D4(Camera *, Mat4, struct Actor*); /* extern */ +void func_8029969C(Camera *, Mat4, struct Actor*); /* extern */ +void func_80299864(Camera *, Mat4, struct Actor*); /* extern */ +void func_80299A2C(Camera *, Mat4, struct Actor*); /* extern */ +void func_80299BF4(Camera *, Mat4, struct Actor*); /* extern */ +void func_80299DBC(Camera *, Mat4, struct Actor*); /* extern */ +void func_80299EDC(Camera *, Mat4, struct Actor*); /* extern */ +void func_80299FFC(Camera *, Mat4, struct Actor*); /* extern */ +void func_8029A11C(Camera *, Mat4, struct Actor*); /* extern */ +void func_8029A690(Camera *, Mat4, struct Actor*); /* extern */ +void func_8029A23C(Camera *, Mat4, struct Actor*); /* extern */ +void func_8029A75C(Camera *, Mat4, struct Actor*); /* extern */ +void func_8029A828(Camera *, Mat4, struct Actor*); /* extern */ +void func_8029A8F4(Camera *, Mat4, struct Actor*); /* extern */ +void func_80298328(Camera *, Mat4, struct Actor*); +void func_8029AC18(Camera *, Mat4, struct Actor*); /* extern */ +void func_8029AE1C(Camera *, Mat4, struct Actor*, u16); /* extern */ +void func_8029B06C(Camera *, struct Actor*); /* extern */ +void func_8029B2E4(Camera *, struct Actor*); /* extern */ +void func_8029B6EC(Camera *, struct Actor*); /* extern */ +void func_8029B4E0(Camera *, struct Actor*); /* extern */ +void func_8029B8E8(Camera *, struct Actor*); /* extern */ +void func_8029BFB0(Camera *, struct Actor*); /* extern */ +void func_8029C3CC(Camera *, struct Actor*); /* extern */ +void func_8029CA90(Camera *, struct Actor*); /* extern */ +void func_80297A50(Camera *, Mat4, struct Actor*); +void func_802A269C(Camera *, struct Actor*); /* extern */ +void func_802A27A0(Camera *, Mat4, struct Actor*, u16); /* extern */ +void func_802A29BC(Camera *, Mat4, struct Actor*); /* extern */ +void func_802A2AD0(Camera *, struct Actor*); /* extern */ +void func_802A2C78(Camera *, Mat4, struct Actor*); /* extern */ + +extern Lights1 D_800DC610[]; + +extern void func_80297340(Camera*); +void func_802A3008(struct UnkStruct_800DC5EC *arg0) { + Camera *temp_s1 = arg0->camera; + u16 sp92 = arg0->pathCounter; + s32 pad[12]; + s32 i; + + struct Actor *phi_s0; + Vec3f sp4C = {0.0f, 5.0f, 10.0f}; + f32 sp48 = sins((temp_s1->rotX[1] - 0x8000) & 0xFFFF); // unk26; + f32 temp_f0 = coss((temp_s1->rotX[1] - 0x8000) & 0xFFFF); + + + D_801502C0[0][0] = temp_f0; + D_801502C0[0][2] = -sp48; + D_801502C0[2][2] = temp_f0; + D_801502C0[1][0] = 0.0f; + D_801502C0[0][1] = 0.0f; + D_801502C0[2][1] = 0.0f; + D_801502C0[1][2] = 0.0f; + D_801502C0[0][3] = 0.0f; + D_801502C0[1][3] = 0.0f; + D_801502C0[2][3] = 0.0f; // 2c + D_801502C0[2][0] = sp48; + D_801502C0[1][1] = 1.0f; + D_801502C0[3][3] = 1.0f; // unk3c + + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + gSPSetLights1(gDisplayListHead++, D_800DC610[1]); + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); + - temp_s1 = arg0->unk4; - sp92 = arg0->unk38; - sp4C.unk0 = D_802B8874.unk0; - sp4C.unk4 = D_802B8874.unk4; - sp4C.unk8 = D_802B8874.unk8; - sp48 = sins((temp_s1->unk26 - 0x8000) & 0xFFFF); - temp_f0 = coss((temp_s1->unk26 - 0x8000) & 0xFFFF); - temp_v0 = gDisplayListHead; - D_801502C0.unk0 = temp_f0; - D_801502C0.unk8 = -sp48; - D_801502C0.unk28 = temp_f0; - gDisplayListHead = temp_v0 + 8; - D_801502C0.unk10 = 0.0f; - D_801502C0.unk4 = 0.0f; - D_801502C0.unk24 = 0.0f; - D_801502C0.unk18 = 0.0f; - D_801502C0.unkC = 0.0f; - D_801502C0.unk1C = 0.0f; - D_801502C0.unk2C = 0.0f; - D_801502C0.unk20 = sp48; - D_801502C0.unk14 = 1.0f; - D_801502C0.unk3C = 1.0f; - temp_v0->unk4 = 0x20000; - temp_v0->unk0 = 0xB6000000; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0xBC000002; - temp_v0_2->unk4 = 0x80000040; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0x3860010; - temp_v0_3->unk4 = &D_800DC630; - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0x3880010; - temp_v0_4->unk4 = &D_800DC628; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk4 = -1; - temp_v0_5->unk0 = 0xBB000001; if (gModeSelection != BATTLE) { - func_80297340(sp48, 1.0f, temp_s1); + func_80297340(temp_s1); } D_8015F8E0 = 0; - phi_s0 = &D_8015F9B8; - do { - sp58 = phi_s0; - if (phi_s0->unk2 != 0) { - temp_t4 = phi_s0->unk0; - switch (temp_t4) { - case 2: - func_80299144(temp_s1, &D_801502C0, phi_s0); - break; - case 3: - func_8029930C(temp_s1, &D_801502C0, phi_s0); - break; - case 4: - func_802994D4(temp_s1, &D_801502C0, phi_s0); - break; - case 19: - func_8029969C(temp_s1, &D_801502C0, phi_s0); - break; - case 26: - func_80299864(temp_s1, &D_801502C0, phi_s0); - break; - case 28: - func_80299A2C(temp_s1, &D_801502C0, phi_s0); - break; - case 33: - func_80299BF4(temp_s1, &D_801502C0, phi_s0); - break; - case 29: - func_80299DBC(temp_s1, &D_801502C0, phi_s0); - break; - case 30: - func_80299EDC(temp_s1, &D_801502C0, phi_s0); - break; - case 31: - func_80299FFC(temp_s1, &D_801502C0, phi_s0); - break; - case 32: - func_8029A11C(temp_s1, &D_801502C0, phi_s0); - break; - case 5: - func_8029CA90(temp_s1, phi_s0); - break; - case 45: - func_8029A23C(temp_s1, &D_801502C0, phi_s0); - break; - case 6: - func_8029A8F4(temp_s1, &D_801502C0, phi_s0); - break; - case 7: - func_8029A690(temp_s1, &D_801502C0, phi_s0); - break; - case 8: - func_8029A75C(temp_s1, &D_801502C0, phi_s0); - break; - case 42: - func_8029A828(temp_s1, &D_801502C0, phi_s0); - break; - case 10: - func_80298328(temp_s1, &D_801502C0, phi_s0); - break; - case 15: - func_8029B8E8(temp_s1, phi_s0); - break; - case 16: - func_8029BFB0(temp_s1, phi_s0); - break; - case 17: - func_8029C3CC(temp_s1, phi_s0); - break; - case 18: - func_80297A50(temp_s1, &D_801502C0, phi_s0); - break; - case 20: - func_8029AC18(temp_s1, &D_801502C0, phi_s0); - break; - case 23: - func_802A29BC(temp_s1, &D_801502C0, phi_s0); - break; - case 35: - func_802A269C(temp_s1, phi_s0); - break; - case 25: - func_802A2C78(temp_s1, &D_801502C0, phi_s0); - break; - case 38: - func_8029AE1C(temp_s1, phi_s0, &D_801502C0, sp92); - break; - case 37: - func_8029B06C(temp_s1, phi_s0); - break; - case 40: - func_8029B2E4(temp_s1, phi_s0); - break; - case 41: - func_8029B6EC(temp_s1, phi_s0); - break; - case 44: - func_8029B4E0(temp_s1, phi_s0); - break; - case 39: - func_802A2AD0(temp_s1, phi_s0); - break; - case 9: - func_802A27A0(temp_s1, &D_801502C0, phi_s0, sp92); - break; - } - } - temp_s0 = phi_s0 + 0x70; - phi_s0 = temp_s0; - } while (temp_s0 != &D_80162578); - temp_v0_6 = gCurrentCourseId; - if (temp_v0_6 != 9) { - if (temp_v0_6 != 0x12) { - return; - } - func_80298D7C(temp_s1, &D_801502C0, sp58); - return; - } - func_802986B4(temp_s1, &D_801502C0, sp58); -} -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_802A3008.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_802A0E44(); /* extern */ -? func_802B30EC(); /* extern */ -? update_obj_banana(? *); /* extern */ -? update_obj_banana_bunch(? *); /* extern */ -? update_obj_fake_item_box(? *); /* extern */ -? update_obj_falling_rocks(? *); /* extern */ -? update_obj_green_shell(? *); /* extern */ -? update_obj_item_box(? *); /* extern */ -? update_obj_item_box_hot_air_balloon(? *); /* extern */ -? update_obj_kiwano_fruit(? *); /* extern */ -? update_obj_mario_raceway_sign(? *); /* extern */ -? update_obj_paddle_wheel(? *); /* extern */ -? update_obj_piranha_plant(? *); /* extern */ -? update_obj_railroad_crossing(? *); /* extern */ -? update_obj_red_blue_shell(? *); /* extern */ -? update_obj_train_car1(? *); /* extern */ -? update_obj_train_car2(? *); /* extern */ -? update_obj_train_engine(? *); /* extern */ -? update_obj_trees_cacti_shrubs(? *); /* extern */ -? update_obj_triple_shell(? *, ?); /* extern */ -? update_obj_wario_stadium_sign(? *); /* extern */ -? update_obj_yoshi_valley_egg(? *); /* extern */ -extern ? D_8015F9B8; -extern ? D_80162578; + for (i = 0; i < 100; i++) { + phi_s0 = &D_8015F9B8[i]; + + if (phi_s0->unk2 == 0) { + continue; + } + switch (phi_s0->unk0) { + case 2: + func_80299144(temp_s1, D_801502C0, phi_s0); + break; + case 3: + func_8029930C(temp_s1, D_801502C0, phi_s0); + break; + case 4: + func_802994D4(temp_s1, D_801502C0, phi_s0); + break; + case 19: + func_8029969C(temp_s1, D_801502C0, phi_s0); + break; + case 26: + func_80299864(temp_s1, D_801502C0, phi_s0); + break; + case 28: + func_80299A2C(temp_s1, D_801502C0, phi_s0); + break; + case 33: + func_80299BF4(temp_s1, D_801502C0, phi_s0); + break; + case 29: + func_80299DBC(temp_s1, D_801502C0, phi_s0); + break; + case 30: + func_80299EDC(temp_s1, D_801502C0, phi_s0); + break; + case 31: + func_80299FFC(temp_s1, D_801502C0, phi_s0); + break; + case 32: + func_8029A11C(temp_s1, D_801502C0, phi_s0); + break; + case 5: + func_8029CA90(temp_s1, phi_s0); + break; + case 45: + func_8029A23C(temp_s1, D_801502C0, phi_s0); + break; + case 6: + func_8029A8F4(temp_s1, D_801502C0, phi_s0); + break; + case 7: + func_8029A690(temp_s1, D_801502C0, phi_s0); + break; + case 8: + func_8029A75C(temp_s1, D_801502C0, phi_s0); + break; + case 42: + func_8029A828(temp_s1, D_801502C0, phi_s0); + break; + case 10: + func_80298328(temp_s1, D_801502C0, phi_s0); + break; + case 15: + func_8029B8E8(temp_s1, phi_s0); + break; + case 16: + func_8029BFB0(temp_s1, phi_s0); + break; + case 17: + func_8029C3CC(temp_s1, phi_s0); + break; + case 18: + func_80297A50(temp_s1, D_801502C0, phi_s0); + break; + case 20: + func_8029AC18(temp_s1, D_801502C0, phi_s0); + break; + case 23: + func_802A29BC(temp_s1, D_801502C0, phi_s0); + break; + case 35: + func_802A269C(temp_s1, phi_s0); + break; + case 25: + func_802A2C78(temp_s1, D_801502C0, phi_s0); + break; + case 38: + func_8029AE1C(temp_s1, phi_s0, D_801502C0, sp92); + break; + case 37: + func_8029B06C(temp_s1, phi_s0); + break; + case 40: + func_8029B2E4(temp_s1, phi_s0); + break; + case 41: + func_8029B6EC(temp_s1, phi_s0); + break; + case 44: + func_8029B4E0(temp_s1, phi_s0); + break; + case 39: + func_802A2AD0(temp_s1, phi_s0); + break; + case 9: + func_802A27A0(temp_s1, D_801502C0, phi_s0, sp92); + break; + } + } + switch (gCurrentCourseId) { + case COURSE_MOO_MOO_FARM: + func_802986B4(temp_s1, D_801502C0, phi_s0); + break; + case COURSE_DK_JUNGLE: + func_80298D7C(temp_s1, D_801502C0, phi_s0); + break; + } +} void update_simple_objects(void) { - ? *temp_s0; - s16 temp_t7; - ? *phi_s0; + struct Actor *phi_s0; + s32 i; + for (i = 0; i < 100; i++) { - phi_s0 = &D_8015F9B8; - do { - if (phi_s0->unk2 != 0) { - temp_t7 = phi_s0->unk0; - switch (temp_t7) { + phi_s0 = &D_8015F9B8[i]; + if (phi_s0->unk2 == 0) { + continue; + } + + switch (phi_s0->unk0) { case 5: update_obj_falling_rocks(phi_s0); break; @@ -7977,12 +7358,10 @@ void update_simple_objects(void) { break; } } - temp_s0 = phi_s0 + 0x70; - phi_s0 = temp_s0; - } while (temp_s0 != &D_80162578); func_802A0E44(); func_802B30EC(); } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/update_simple_objects.s") -#endif + +//#else +//GLOBAL_ASM("asm/non_matchings/code_actors/update_simple_objects.s") +//#endif diff --git a/src/code_802A3730.c b/src/code_802A3730.c index b131d62d1..e6191b514 100644 --- a/src/code_802A3730.c +++ b/src/code_802A3730.c @@ -754,31 +754,31 @@ void func_802A4D18(void) { GLOBAL_ASM("asm/non_matchings/code_802A3730/func_802A4D18.s") #endif -extern f32 D_80150134; -extern f32 D_80150138; -extern f32 D_8015013C; +//extern f32 D_80150134; +//extern f32 D_80150138; +//extern f32 D_8015013C; -extern f32 D_80150130; +extern f32 D_80150130[]; void func_802A4EF4(void) { switch(gActiveScreenMode) { case 0: - func_8001F394(gPlayerOne, &D_80150130); + func_8001F394(gPlayerOne, &D_80150130[0]); break; case 2: - func_8001F394(gPlayerOne, &D_80150130); - func_8001F394(gPlayerTwo, &D_80150134); + func_8001F394(gPlayerOne, &D_80150130[0]); + func_8001F394(gPlayerTwo, &D_80150130[1]); break; case 1: - func_8001F394(gPlayerOne, &D_80150130); - func_8001F394(gPlayerTwo, &D_80150134); + func_8001F394(gPlayerOne, &D_80150130[0]); + func_8001F394(gPlayerTwo, &D_80150130[1]); break; case 3: - func_8001F394(gPlayerOne, &D_80150130); - func_8001F394(gPlayerTwo, &D_80150134); - func_8001F394(gPlayerThree, &D_80150138); - func_8001F394(gPlayerFour, &D_8015013C); + func_8001F394(gPlayerOne, &D_80150130[0]); + func_8001F394(gPlayerTwo, &D_80150130[1]); + func_8001F394(gPlayerThree, &D_80150130[2]); + func_8001F394(gPlayerFour, &D_80150130[3]); break; } } @@ -796,9 +796,9 @@ void func_802A5004(void) { func_802A39E0(D_800DC5F0); if (D_800DC5B4 != 0) { - func_802A4A0C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150134); + func_802A4A0C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]); func_80057FC4(2); - func_802A487C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150134); + func_802A487C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]); func_80093A30(2); } } @@ -813,9 +813,9 @@ void func_802A50EC(void) { func_802A39E0(D_800DC5EC); if (D_800DC5B4 != 0) { - func_802A4A0C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130); + func_802A4A0C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[0]); func_80057FC4(1); - func_802A487C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130); + func_802A487C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[0]); func_80093A30(1); } } @@ -830,9 +830,9 @@ void func_802A51D4(void) { gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING); if (D_800DC5B4 != 0) { - func_802A4A0C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130); + func_802A4A0C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[0]); func_80057FC4(3); - func_802A487C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130); + func_802A487C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[0]); func_80093A30(3); } } @@ -847,9 +847,9 @@ void func_802A52BC(void) { gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING); if (D_800DC5B4 != 0) { - func_802A4A0C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150134); + func_802A4A0C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]); func_80057FC4(4); - func_802A487C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150134); + func_802A487C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]); func_80093A30(4); } } @@ -866,11 +866,11 @@ void func_802A53A4(void) { func_802A3CB0(); func_802A41D4(); if (D_800DC5B4 != 0) { - func_802A4A0C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130); + func_802A4A0C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130[0]); if (D_800DC50C != CREDITS_SEQUENCE) { func_80057FC4(0); } - func_802A487C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130); + func_802A487C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130[0]); func_80093A30(0); } } @@ -885,9 +885,9 @@ void func_802A54A8(void) { gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING); if (D_800DC5B4 != 0) { - func_802A4A0C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130); + func_802A4A0C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130[0]); func_80057FC4(8); - func_802A487C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130); + func_802A487C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130[0]); func_80093A30(8); } } @@ -902,9 +902,9 @@ void func_802A5590(void) { gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING); if (D_800DC5B4 != 0) { - func_802A4A0C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150134); + func_802A4A0C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]); func_80057FC4(9); - func_802A487C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150134); + func_802A487C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]); func_80093A30(9); } } @@ -919,9 +919,9 @@ void func_802A5678(void) { gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING); if (D_800DC5B4 != 0) { - func_802A4A0C(&D_802B8990, D_800DC5F4, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150138); + func_802A4A0C(&D_802B8990, D_800DC5F4, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[2]); func_80057FC4(10); - func_802A487C(&D_802B8990, D_800DC5F4, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150138); + func_802A487C(&D_802B8990, D_800DC5F4, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[2]); func_80093A30(10); } } @@ -955,9 +955,9 @@ void func_802A5760(void) { func_802A39E0(D_800DC5F8); if (D_800DC5B4 != 0) { - func_802A4A0C(&D_802B8A10, D_800DC5F8, SCREEN_WIDTH, SCREEN_HEIGHT, &D_8015013C); + func_802A4A0C(&D_802B8A10, D_800DC5F8, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[3]); func_80057FC4(11); - func_802A487C(&D_802B8A10, D_800DC5F8, SCREEN_WIDTH, SCREEN_HEIGHT, &D_8015013C); + func_802A487C(&D_802B8A10, D_800DC5F8, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[3]); func_80093A30(11); } } @@ -983,7 +983,7 @@ void func_802A59A4(void) { gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); - guPerspective(&gGfxPool->mtxPool[1], &spAA[23], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[1], &spAA[23], D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, spAA[23]); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); @@ -1033,7 +1033,7 @@ void func_802A5CB4(void) { gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp9A[17]); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); @@ -1082,7 +1082,7 @@ void func_802A5FAC(void) { func_802A3730(D_800DC5F0); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150130[1], D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp9A[17]); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); guLookAt(&gGfxPool->mtxPool[8], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); @@ -1130,7 +1130,7 @@ void func_802A62A4(void) { func_802A3E3C(); func_802A3730(D_800DC5EC); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp9A[17]); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); @@ -1178,7 +1178,7 @@ void func_802A65B8(void) { func_802A3E3C(); func_802A3730(D_800DC5F0); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150130[1], D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp9A[17]); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); guLookAt(&gGfxPool->mtxPool[8], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); @@ -1224,7 +1224,7 @@ void func_802A68CC(void) { func_802A3730(D_800DC5EC); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp9A[17]); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); @@ -1270,7 +1270,7 @@ void func_802A6BB0(void) { func_802A3730(D_800DC5F0); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150130[1], D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp9A[17]); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); @@ -1315,7 +1315,7 @@ void func_802A6E94(void) { func_802A3E3C(); func_802A3730(D_800DC5F4); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->mtxPool[3], &sp9A[17], D_80150138, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[3], &sp9A[17], D_80150130[2], D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp9A[17]); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[3]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); guLookAt(&gGfxPool->mtxPool[9], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); @@ -1370,7 +1370,7 @@ void func_802A7178(void) { func_802A3730(D_800DC5F8); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->mtxPool[4], &sp92[17], D_8015013C, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[4], &sp92[17], D_80150130[3], D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp92[17]); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[4]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); guLookAt(&gGfxPool->mtxPool[10], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); diff --git a/src/code_802B0210.c b/src/code_802B0210.c index 651fcd8d1..5b7721ffd 100644 --- a/src/code_802B0210.c +++ b/src/code_802B0210.c @@ -1,78 +1,61 @@ #include #include #include +#include -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? vec3f_copy(void *, void *, void *, void *); // extern +void *vec3f_copy(Vec3f, Vec3f); // extern -void func_802B0210(void *arg0, void *arg1) { - void *temp_a0; - void *temp_a2; - void *temp_a3; +void func_802B0210(UnkActorInner *arg0, UnkActorInner *arg1) { + arg1->unk30 = arg0->unk30; + arg1->unk32 = arg0->unk32; + arg1->unk34 = arg0->unk34; + arg1->unk36 = arg0->unk36; + arg1->unk38 = arg0->unk38; + arg1->unk3A = arg0->unk3A; + arg1->unk3C = arg0->unk3C; + arg1->unk40 = arg0->unk40; - temp_a3 = arg0; - temp_a2 = arg1; - arg1->unk0 = arg0->unk0; - arg1->unk2 = arg0->unk2; - arg1->unk4 = arg0->unk4; - arg1->unk6 = arg0->unk6; - arg1->unk8 = arg0->unk8; - arg1->unkA = arg0->unkA; - arg1->unkC = arg0->unkC; - arg1->unk10 = arg0->unk10; - temp_a0 = arg1 + 0x18; - arg1->unk14 = arg0->unk14; - arg0 = temp_a3; - arg1 = temp_a2; - vec3f_copy(temp_a0, temp_a3 + 0x18, temp_a2, temp_a3); - vec3f_copy(arg1 + 0x24, arg0 + 0x24, arg1, arg0); - vec3f_copy(arg1 + 0x30, arg0 + 0x30, arg1, arg0); + arg1->unk44 = arg0->unk44; + vec3f_copy(arg1->unk48, arg0->unk48); + vec3f_copy(arg1->unk54, arg0->unk54); + vec3f_copy(arg1->unk60, arg0->unk60); } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B0210.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern ? D_8015F9B8; +extern struct Actor D_8015F9B8[]; -void func_802B02B4(void *arg0, s32 arg1) { +void func_802B02B4(struct Actor *arg0, s32 arg1) { s32 temp_f6; - void *temp_v0; + struct Actor *temp_v0 = &D_8015F9B8[arg0->unk4]; + + temp_v0->unk4--; + + switch((s16)arg0->unk8) { + case 0: + temp_v0->unk24[0] = -1.0f; + break; + case 1: + temp_v0->unk24[1] = -1.0f; + break; + case 2: + temp_v0->unk24[2] = -1.0f; + break; - temp_v0 = (arg0->unk4 * 0x70) + &D_8015F9B8; - temp_v0->unk4 = temp_v0->unk4 - 1; - temp_f6 = arg0->unk8; - if (temp_f6 != 0) { - if (temp_f6 != 1) { - if (temp_f6 != 2) { - } else { - temp_v0->unk2C = -1.0f; - } - } else { - temp_v0->unk28 = -1.0f; - } - } else { - temp_v0->unk24 = -1.0f; } - arg0->unk2 = -0x8000; - arg0->unk12 = 0; - arg0->unk4 = 0x3C; - arg0->unk28 = 3.0f; - if (arg1 != 7) { - if (arg1 != 8) { - return; - } - arg0->unk6 = 7; - return; + arg0->unk2 = 0x8000; // bitflag + arg0->unk10[1] = 0; + arg0->unk24[1] = 3.0f; + arg0->unk4 = 60; + + switch(arg1) { + case 7: + arg0->unk6 = 5; + break; + case 8: + arg0->unk6 = 7; + break; } - arg0->unk6 = 5; } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B02B4.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -1130,10 +1113,10 @@ void update_obj_banana(void *arg0) { temp_t9 = arg0->unk6; switch (temp_t9) { case 0: - temp_f2 = gPlayers[temp_t6].posX - arg0->unk18; - temp_f14 = gPlayers[temp_t6].posY - arg0->unk1C; + temp_f2 = gPlayers[temp_t6].pos[0] - arg0->unk18; + temp_f14 = gPlayers[temp_t6].pos[1] - arg0->unk1C; sp48 = temp_f2; - temp_f16 = gPlayers[temp_t6].posZ - arg0->unk20; + temp_f16 = gPlayers[temp_t6].pos[2] - arg0->unk20; sp44 = temp_f14; sp88 = &gPlayers[temp_t6]; sp40 = temp_f16; @@ -1141,13 +1124,13 @@ void update_obj_banana(void *arg0) { phi_f14 = (bitwise void *) temp_f14; if (temp_f12 == 0.0f) { temp_f0 = D_802B9EE0; - arg0->unk18 = gPlayers[temp_t6].posX + temp_f0; - arg0->unk1C = gPlayers[temp_t6].posY + temp_f0; + arg0->unk18 = gPlayers[temp_t6].pos[0] + temp_f0; + arg0->unk1C = gPlayers[temp_t6].pos[1] + temp_f0; phi_f6 = gPlayers[temp_t6].posZ + temp_f0; } else { temp_f14_2 = temp_f14 / temp_f12; - arg0->unk18 = gPlayers[temp_t6].posX - (temp_f2 / temp_f12); - arg0->unk1C = (gPlayers[temp_t6].posY - temp_f14_2) - 2.0f; + arg0->unk18 = gPlayers[temp_t6].pos[0] - (temp_f2 / temp_f12); + arg0->unk1C = (gPlayers[temp_t6].pos[1] - temp_f14_2) - 2.0f; phi_f6 = gPlayers[temp_t6].posZ - (temp_f16 / temp_f12); phi_f14 = (bitwise void *) temp_f14_2; } @@ -1239,9 +1222,9 @@ void update_obj_banana(void *arg0) { sp70 = -5.0f; sp88 = &gPlayers[temp_t6]; func_802B64C4(&sp68, gPlayers[temp_t6].unk_02E + gPlayers[temp_t6].unk_0C0); - temp_f18 = sp68 + gPlayers[temp_t6].posX; - temp_f0_7 = sp6C + gPlayers[temp_t6].posY; - temp_f10 = sp70 + gPlayers[temp_t6].posZ; + temp_f18 = sp68 + gPlayers[temp_t6].pos[0]; + temp_f0_7 = sp6C + gPlayers[temp_t6].pos[1]; + temp_f10 = sp70 + gPlayers[temp_t6].pos[2]; sp34 = temp_f10; temp_f2_4 = temp_f18 - arg0->unk18; sp3C = temp_f18; @@ -1254,9 +1237,9 @@ void update_obj_banana(void *arg0) { temp_f0_8 = sqrtf((temp_f2_4 * temp_f2_4) + (temp_f14_3 * temp_f14_3) + (temp_f16_2 * temp_f16_2), temp_f14_3); if (temp_f0_8 == 0.0f) { temp_f0_9 = D_802B9EE8; - arg0->unk18 = gPlayers[temp_t6].posX + temp_f0_9; - arg0->unk1C = gPlayers[temp_t6].posY + temp_f0_9; - arg0->unk20 = gPlayers[temp_t6].posZ + temp_f0_9; + arg0->unk18 = gPlayers[temp_t6].pos[0] + temp_f0_9; + arg0->unk1C = gPlayers[temp_t6].pos[1] + temp_f0_9; + arg0->unk20 = gPlayers[temp_t6].pos[2] + temp_f0_9; } else { arg0->unk18 = sp68 + (temp_f18 - (temp_f2_4 / temp_f0_8)); arg0->unk1C = (sp38 - (temp_f14_3 / temp_f0_8)) - 2.0f; @@ -1355,9 +1338,9 @@ void func_802B2914(void *arg0, Player *player, s16 arg2) { temp_a0 = &sp4C; temp_a1 = &sp58; temp_a2 = &sp60; - sp4C += player->posX; - sp50 += player->posY; - sp54 += player->posZ; + sp4C += player->pos[0]; + sp50 += player->pos[1]; + sp54 += player->pos[2]; sp60 = player->unk_034; sp64 = player->unk_038; sp58 = 0; @@ -1368,10 +1351,10 @@ void func_802B2914(void *arg0, Player *player, s16 arg2) { temp_t6 = temp_v0; if (temp_v0 >= 0) { temp_lo = temp_t6 * 0x70; - sp4C = player->posX; - sp50 = player->posY; + sp4C = player->pos[0]; + sp50 = player->pos[1]; temp_s0 = &D_8015F9B8 + temp_lo; - sp54 = player->posZ; + sp54 = player->pos[2]; sp6E = temp_t6; func_802AD950(temp_s0 + 0x30, temp_s0->unkC + 1.0f, temp_s0->unk18, temp_s0->unk1C, temp_s0->unk20, sp4C, sp50, sp54); func_802B4E30(temp_s0); @@ -1724,7 +1707,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B30EC.s") ? func_802B64C4(f32 *, s16); /* extern */ extern ? D_8015F9B8; -void update_obj_green_shell(void *arg0) { +void update_obj_green_shell(struct Actor *arg0) { f32 sp80; f32 sp7C; f32 sp78; @@ -1767,15 +1750,15 @@ void update_obj_green_shell(void *arg0) { arg0->unk10 = arg0->unk10 + 0x71C; switch (temp_t3) { case 0: - temp_s1 = &gPlayers[arg0->unk14]; + temp_s1 = &gPlayers[arg0->unk10[2]]; func_802B0210(&temp_s1->unk_110, arg0 + 0x30); sp6C = 0.0f; sp70 = temp_s1->unk_070; sp74 = -(temp_s1->unk_070 + arg0->unkC + 2.0f); func_802B63B8(&sp6C, temp_s1->unk_174); - arg0->unk18 = sp6C + temp_s1->posX; + arg0->unk18 = sp6C + temp_s1->pos[0]; temp_f14 = temp_s1->posY - sp70; - arg0->unk20 = sp74 + temp_s1->posZ; + arg0->unk20 = sp74 + temp_s1->pos[2]; sp54 = temp_f14; temp_f0_2 = func_802ABE30(arg0->unk18, temp_f14, arg0->unk20, temp_s1->unk_11A); temp_f2_2 = temp_f14 - temp_f0_2; @@ -2521,32 +2504,20 @@ block_16: GLOBAL_ASM("asm/non_matchings/code_802B0210/update_obj_red_blue_shell.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_802B4E30(void *arg0) { - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f0_3; - - temp_f0 = arg0->unk44; - if ((temp_f0 < 0.0f) && (arg0->unk34 == 1)) { - arg0->unk18 = arg0->unk18 - (arg0->unk60 * temp_f0); - arg0->unk1C = arg0->unk1C - (arg0->unk64 * temp_f0); - arg0->unk20 = arg0->unk20 - (arg0->unk68 * temp_f0); +void func_802B4E30(struct Actor *arg0) { + if ((arg0->unk30.unk44 < 0.0f) && (arg0->unk30.unk34 == 1)) { + arg0->unk18[0] -= (arg0->unk30.unk60[0] * arg0->unk30.unk44); + arg0->unk18[1] -= (arg0->unk30.unk60[1] * arg0->unk30.unk44); + arg0->unk18[2] -= (arg0->unk30.unk60[2] * arg0->unk30.unk44); } - temp_f0_2 = arg0->unk3C; - if ((temp_f0_2 < 0.0f) && (arg0->unk30 == 1)) { - arg0->unk18 = arg0->unk18 - (arg0->unk48 * temp_f0_2); - arg0->unk1C = arg0->unk1C - (arg0->unk4C * temp_f0_2); - arg0->unk20 = arg0->unk20 - (arg0->unk50 * temp_f0_2); + if ((arg0->unk30.unk3C < 0.0f) && (arg0->unk30.unk30 == 1)) { + arg0->unk18[0] -= (arg0->unk30.unk48[0] * arg0->unk30.unk3C); + arg0->unk18[1] -= (arg0->unk30.unk48[1] * arg0->unk30.unk3C); + arg0->unk18[2] -= (arg0->unk30.unk48[2] * arg0->unk30.unk3C); } - temp_f0_3 = arg0->unk40; - if ((temp_f0_3 < 0.0f) && (arg0->unk32 == 1)) { - arg0->unk18 = arg0->unk18 - (arg0->unk54 * temp_f0_3); - arg0->unk1C = arg0->unk1C - (arg0->unk58 * temp_f0_3); - arg0->unk20 = arg0->unk20 - (arg0->unk5C * temp_f0_3); + if ((arg0->unk30.unk40 < 0.0f) && (arg0->unk30.unk32 == 1)) { + arg0->unk18[0] -= (arg0->unk30.unk54[0] * arg0->unk30.unk40); + arg0->unk18[1] -= (arg0->unk30.unk54[1] * arg0->unk30.unk40); + arg0->unk18[2] -= (arg0->unk30.unk54[2] * arg0->unk30.unk40); } } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B4E30.s") -#endif diff --git a/src/main.c b/src/main.c index 05dd6b1a3..bd01d6b5d 100644 --- a/src/main.c +++ b/src/main.c @@ -118,10 +118,10 @@ s32 D_80150120; s32 gMenuSelectionFromQuit; UNUSED s32 D_80150128; UNUSED s32 D_8015012C; -s32 D_80150130; -s32 D_80150134; -s32 D_80150138; -s32 D_8015013C; +f32 D_80150130[4]; +//f32 D_80150134; +//f32 D_80150138; +//f32 D_8015013C; UNUSED s32 D_80150140; UNUSED s32 D_80150144; f32 D_80150148; @@ -139,7 +139,9 @@ uintptr_t gPhysicalFramebuffers[3]; u32 D_801502B4; UNUSED u32 D_801502B8; UNUSED u32 D_801502BC; -s32 D_801502C0[2064]; +Mat4 D_801502C0; + +s32 padding[2048]; u16 D_80152300[4]; u16 D_80152308; @@ -640,7 +642,7 @@ void func_8000142C(void) { D_800DC514 = 0; } - temp_v0 = camera1->rotX2; + temp_v0 = camera1->rotX[1]; D_801625E8 = D_800DC5EC->pathCounter; if (temp_v0 < 0x2000) { func_80057A50(40, 100, "SOUTH ", D_801625E8); diff --git a/src/math_util.c b/src/math_util.c index 8bdea2ee6..edc7d5e35 100644 --- a/src/math_util.c +++ b/src/math_util.c @@ -38,34 +38,34 @@ s32 func_802B4FF8(Mat4 arg0, s32 arg1) { } func_802B75F8(&gGfxPool->mtxPool[D_80150112 + 0x32B], arg0); switch (arg1) { /* irregular */ - case 0: - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - D_80150112 += 1; - break; - case 1: - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - D_80150112 += 1; - break; - case 3: - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); - D_80150112 += 1; - break; - case 2: - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); - D_80150112 += 1; - break; + case 0: + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + D_80150112 += 1; + break; + case 1: + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + D_80150112 += 1; + break; + case 3: + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); + D_80150112 += 1; + break; + case 2: + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); + D_80150112 += 1; + break; } return 1; } -f32 func_802B51E8(struct UnkStruct_802B51E8 *arg0, struct UnkStruct_802B51E8 *arg1) { +f32 func_802B51E8(Vec3f arg0, Vec3f arg1) { f32 temp_f12; f32 temp_f14; f32 temp_f2; - temp_f2 = arg1->unk0 - arg0->unk0; - temp_f12 = arg1->unk4 - arg0->unk4; - temp_f14 = arg1->unk8 - arg0->unk8; + temp_f2 = arg1[0] - arg0[0]; + temp_f12 = arg1[1] - arg0[1]; + temp_f14 = arg1[2] - arg0[2]; return (temp_f2 * temp_f2) + (temp_f12 * temp_f12) + temp_f14 + temp_f14; } @@ -87,16 +87,16 @@ u32 func_802B5258(Vec3f arg0, Vec3s arg1) { return func_802B7830(temp_v1, temp_v2); } -void load_giant_egg(struct UnkStruct_802B51E8 *arg0, f32 arg1, f32 arg2, f32 arg3) { - arg0->unk0 = arg1; - arg0->unk4 = arg2; - arg0->unk8 = arg3; +void load_giant_egg(Vec3f arg0, f32 arg1, f32 arg2, f32 arg3) { + arg0[0] = arg1; + arg0[1] = arg2; + arg0[2] = arg3; } -void func_802B52BC(struct UnkStruct_802B52BC *arg0, s16 arg1, s16 arg2, s16 arg3) { - arg0->unk0 = arg1; - arg0->unk2 = arg2; - arg0->unk4 = arg3; +void func_802B52BC(Vec3s arg0, s16 arg1, s16 arg2, s16 arg3) { + arg0[0] = arg1; + arg0[1] = arg2; + arg0[2] = arg3; } // These functions have bogus return values. @@ -707,7 +707,7 @@ void func_802B5F00(Mat4 arg0, f32 arg1) { f32 sins(u16); /* extern */ f32 coss(u16); /* extern */ -void func_802B5F74(void *arg0, void *arg1, void *arg2) { +void func_802B5F74(Mat4 arg0, Vec3f arg1, Vec3s arg2) { f32 sp3C; f32 sp34; f32 sp30; @@ -1810,7 +1810,7 @@ s32 func_802B5224(f32, f32, u16); /* extern */ u16 func_802B7CA8(f32, f32); /* extern */ s32 func_802B8058(s32, s32, u16, u16); /* extern */ -f32 func_802B80D0(void *arg0, void *arg1, u16 arg2, f32 arg3, f32 arg4, f32 arg5) { +f32 func_802B80D0(Vec3f arg0, Vec3f arg1, u16 arg2, f32 arg3, f32 arg4, f32 arg5) { u16 sp5E; u16 sp5A; s32 sp28; diff --git a/src/memory.c b/src/memory.c index 96b174178..c10ad0cca 100644 --- a/src/memory.c +++ b/src/memory.c @@ -10,6 +10,7 @@ #include "main.h" #include "memory.h" #include "variables.h" +#include //#include "segment_symbols.h" //#include "segments.h" @@ -2478,25 +2479,21 @@ f32 func_802ABE30(f32 arg0, f32 arg1, f32 arg2, u16 arg3) { return ((tile->height * arg0) + (tile->rotation * arg2) + tile->height2) / -tile->gravity; } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -f32 func_802ABE30(f32, f32, s32, u16); // extern +f32 func_802ABE30(f32, f32, f32, u16); // extern -f32 func_802ABEAC(void *arg0, void *arg1) { - if (arg0->unk4 == 1) { - return func_802ABE30(arg1->unk0, arg1->unk4, arg1->unk8, arg0->unkA); + +f32 func_802ABEAC(UnkActorInner *arg0, Vec3f arg1) { + if (arg0->unk34 == 1) { + return func_802ABE30(arg1[0], arg1[1], arg1[2], arg0->unk3A); } - if (arg0->unk0 == 1) { - return func_802ABE30(arg1->unk0, arg1->unk4, arg1->unk8, arg0->unk6); + if (arg0->unk30 == 1) { + return func_802ABE30(arg1[0], arg1[1], arg1[2], arg0->unk36); } - if (arg0->unk2 == 1) { - return func_802ABE30(arg1->unk0, arg1->unk4, arg1->unk8, arg0->unk8); + if (arg0->unk32 == 1) { + return func_802ABE30(arg1[0], arg1[1], arg1[2], arg0->unk38); } - return arg1->unk4; + return arg1[1]; } -#else -GLOBAL_ASM("asm/non_matchings/memory/func_802ABEAC.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -4500,7 +4497,7 @@ s32 func_802AFA34(Player *player, kartBoundingBoxCorner *corner, f32 cornerX, f3 } if (func_802AD278(&spF8, temp_f20, temp_f22, temp_f24, temp_f26, (s32) corner->surfaceMapIndex, cornerX, cornerY, cornerZ) == 1) { temp_f0 = func_802ABE30(temp_f22, temp_f24, temp_f26, corner->surfaceMapIndex); - temp_f2 = player->posY; + temp_f2 = player->pos[1]; if (!(temp_f2 < temp_f0) && !((2.0f * temp_f20) < (temp_f2 - temp_f0))) { corner->cornerGroundY = temp_f0; func_802AF9F0(temp_f0, &sp11C, sp108, corner); @@ -4512,7 +4509,7 @@ s32 func_802AFA34(Player *player, kartBoundingBoxCorner *corner, f32 cornerX, f3 } if (func_802AC760(&spF8, temp_f20, temp_f22, temp_f24, temp_f26, (s32) corner->surfaceMapIndex, cornerX, cornerY, cornerZ) == 1) { temp_f0_2 = func_802ABE30(temp_f22, temp_f24, temp_f26, corner->surfaceMapIndex); - temp_f2_2 = player->posY; + temp_f2_2 = player->pos[1]; if (!(temp_f2_2 < temp_f0_2) && !((2.0f * temp_f20) < (temp_f2_2 - temp_f0_2))) { corner->cornerGroundY = temp_f0_2; func_802AF9F0(temp_f0_2, &sp128, sp10C, corner); @@ -4524,7 +4521,7 @@ s32 func_802AFA34(Player *player, kartBoundingBoxCorner *corner, f32 cornerX, f3 } if (func_802ACBA4(&spF8, temp_f20, temp_f22, temp_f24, temp_f26, (s32) corner->surfaceMapIndex, cornerX, cornerY, cornerZ) == 1) { temp_f0_3 = func_802ABE30(temp_f22, temp_f24, temp_f26, corner->surfaceMapIndex); - temp_f2_3 = player->posY; + temp_f2_3 = player->pos[1]; if (!(temp_f2_3 < temp_f0_3) && !((2.0f * temp_f20) < (temp_f2_3 - temp_f0_3))) { corner->cornerGroundY = temp_f0_3; func_802AF9F0(temp_f0_3, &sp110, sp104, corner); @@ -4570,7 +4567,7 @@ loop_34: if ((temp_v1_3 & 0x4000) != 0) { if ((corner->surfaceMapIndex != temp_s0) && (func_802AC760(phi_s7, temp_f20, temp_f22, temp_f24, temp_f26, (s32) temp_s0, cornerX, cornerY, cornerZ) == 1)) { temp_f0_4 = func_802ABE30(temp_f22, temp_f24, temp_f26, temp_s0 & 0xFFFF); - temp_f2_4 = player->posY; + temp_f2_4 = player->pos[1]; if (!(temp_f2_4 < temp_f0_4) && !((phi_f30 * temp_f20) < (temp_f2_4 - temp_f0_4))) { spD4 = temp_f0_4; func_802AF9F0(temp_f0_4, &sp128, sp10C, corner); @@ -4591,7 +4588,7 @@ loop_34: if ((temp_v1_3 & 0x8000) != 0) { if ((temp_v0_4->gravity != 0.0f) && (corner->surfaceMapIndex != temp_s0) && (func_802AD278(phi_s7, temp_f20, temp_f22, temp_f24, temp_f26, (s32) temp_s0, cornerX, cornerY, cornerZ) == 1)) { temp_f0_5 = func_802ABE30(temp_f22, temp_f24, temp_f26, temp_s0 & 0xFFFF); - temp_f2_5 = player->posY; + temp_f2_5 = player->pos[1]; if (!(temp_f2_5 < temp_f0_5) && !((phi_f30 * temp_f20) < (temp_f2_5 - temp_f0_5))) { corner->cornerGroundY = temp_f0_5; func_802AF9F0(temp_f0_5, &sp11C, sp108, corner); @@ -4606,7 +4603,7 @@ loop_34: } if ((temp_v0_4->gravity != 0.0f) && (corner->surfaceMapIndex != temp_s0) && (func_802ACBA4(phi_s7, temp_f20, temp_f22, temp_f24, temp_f26, (s32) temp_s0, cornerX, cornerY, cornerZ) == 1)) { temp_f0_6 = func_802ABE30(temp_f22, temp_f24, temp_f26, temp_s0 & 0xFFFF); - temp_f2_6 = player->posY; + temp_f2_6 = player->pos[1]; if (!(temp_f2_6 < temp_f0_6) && !((phi_f30 * temp_f20) < (temp_f2_6 - temp_f0_6))) { corner->cornerGroundY = temp_f0_6; func_802AF9F0(temp_f0_6, &sp110, sp104, corner);