From 2c57c81f3ae937e0cc8c038eca2fcea5259d9121 Mon Sep 17 00:00:00 2001 From: Tyler McGavran Date: Thu, 8 Sep 2022 19:19:53 -0400 Subject: [PATCH] Match the rest of actors.h (#254) * Matched rest of actors and more Signed-off-by: Taggerung --- asm/non_matchings/actors/func_80296A50.s | 201 - asm/non_matchings/actors/func_80296D10.s | 357 -- asm/non_matchings/actors/func_80297524.s | 118 - asm/non_matchings/actors/func_80297A50.s | 115 - asm/non_matchings/actors/func_802986B4.s | 273 -- asm/non_matchings/actors/func_80298AC0.s | 123 - asm/non_matchings/actors/func_80298D7C.s | 261 -- asm/non_matchings/actors/func_8029AC18.s | 138 - asm/non_matchings/actors/func_8029DB44.s | 413 -- asm/non_matchings/actors/func_8029E158.s | 429 -- asm/non_matchings/actors/func_8029E890.s | 286 -- asm/non_matchings/actors/func_8029ED98.s | 75 - asm/non_matchings/actors/func_8029EEB8.s | 223 - asm/non_matchings/actors/func_8029F1F8.s | 70 - asm/non_matchings/actors/func_8029F2FC.s | 72 - asm/non_matchings/actors/func_8029F69C.s | 332 -- asm/non_matchings/actors/func_8029FDC8.s | 221 - asm/non_matchings/actors/func_802A0450.s | 614 --- asm/non_matchings/actors/func_802A171C.s | 500 --- asm/non_matchings/actors/func_802A1EA0.s | 530 --- .../actors/place_falling_rocks.s | 95 - asm/non_matchings/actors/place_segment_06.s | 192 - .../actors/update_obj_falling_rocks.s | 265 -- .../actors/update_obj_kiwano_fruit.s | 275 -- asm/non_matchings/memory/func_802AAAAC.s | 41 - data/data_121DA0.s | 153 - data/data_121DA0_2.s | 17 - data/data_121DA0_2_1_2.s | 492 --- include/actor_types.h | 11 +- include/common_structs.h | 6 +- include/functions.h | 2 - mk64.ld | 3 +- permuter_settings.toml | 1 + src/actors.c | 3582 ++++++----------- src/actors.h | 288 +- src/actors_extended.c | 44 +- src/code_800029B0.c | 82 +- src/code_80005FD0.c | 243 +- src/code_80005FD0.h | 67 +- src/code_8001F980.c | 4 +- src/code_80027D00.c | 30 +- src/code_8003DC40.c | 86 +- src/code_800431B0.h | 22 + src/code_80057C60.c | 84 +- src/code_80057C60.h | 46 +- src/code_8006E9C0.c | 259 +- src/code_80071F00.c | 19 +- src/code_80071F00.h | 4 +- src/code_80086E70.c | 18 +- src/code_8008C1D0.c | 542 ++- src/code_800B45E0.c | 110 +- src/code_80280650.c | 69 +- src/math_util.c | 24 +- src/math_util.h | 4 +- src/memory.c | 807 ++-- src/memory.h | 1 + src/race_logic.c | 3 + src/render_courses.c | 4 +- src/render_courses.h | 4 +- src/spawn_players.c | 8 +- 60 files changed, 2658 insertions(+), 10700 deletions(-) delete mode 100644 asm/non_matchings/actors/func_80296A50.s delete mode 100644 asm/non_matchings/actors/func_80296D10.s delete mode 100644 asm/non_matchings/actors/func_80297524.s delete mode 100644 asm/non_matchings/actors/func_80297A50.s delete mode 100644 asm/non_matchings/actors/func_802986B4.s delete mode 100644 asm/non_matchings/actors/func_80298AC0.s delete mode 100644 asm/non_matchings/actors/func_80298D7C.s delete mode 100644 asm/non_matchings/actors/func_8029AC18.s delete mode 100644 asm/non_matchings/actors/func_8029DB44.s delete mode 100644 asm/non_matchings/actors/func_8029E158.s delete mode 100644 asm/non_matchings/actors/func_8029E890.s delete mode 100644 asm/non_matchings/actors/func_8029ED98.s delete mode 100644 asm/non_matchings/actors/func_8029EEB8.s delete mode 100644 asm/non_matchings/actors/func_8029F1F8.s delete mode 100644 asm/non_matchings/actors/func_8029F2FC.s delete mode 100644 asm/non_matchings/actors/func_8029F69C.s delete mode 100644 asm/non_matchings/actors/func_8029FDC8.s delete mode 100644 asm/non_matchings/actors/func_802A0450.s delete mode 100644 asm/non_matchings/actors/func_802A171C.s delete mode 100644 asm/non_matchings/actors/func_802A1EA0.s delete mode 100644 asm/non_matchings/actors/place_falling_rocks.s delete mode 100644 asm/non_matchings/actors/place_segment_06.s delete mode 100644 asm/non_matchings/actors/update_obj_falling_rocks.s delete mode 100644 asm/non_matchings/actors/update_obj_kiwano_fruit.s delete mode 100644 asm/non_matchings/memory/func_802AAAAC.s delete mode 100644 data/data_121DA0_2.s delete mode 100644 data/data_121DA0_2_1_2.s diff --git a/asm/non_matchings/actors/func_80296A50.s b/asm/non_matchings/actors/func_80296A50.s deleted file mode 100644 index 42af7b13b..000000000 --- a/asm/non_matchings/actors/func_80296A50.s +++ /dev/null @@ -1,201 +0,0 @@ -glabel func_80296A50 -/* 100060 80296A50 3C098016 */ lui $t1, %hi(gNumPermanentActors) # $t1, 0x8016 -/* 100064 80296A54 9529F900 */ lhu $t1, %lo(gNumPermanentActors)($t1) -/* 100068 80296A58 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 10006C 80296A5C AFBF0014 */ sw $ra, 0x14($sp) -/* 100070 80296A60 29210064 */ slti $at, $t1, 0x64 -/* 100074 80296A64 10200027 */ beqz $at, .L80296B04 -/* 100078 80296A68 01203025 */ move $a2, $t1 -/* 10007C 80296A6C 000670C0 */ sll $t6, $a2, 3 -/* 100080 80296A70 01C67023 */ subu $t6, $t6, $a2 -/* 100084 80296A74 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016 -/* 100088 80296A78 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648 -/* 10008C 80296A7C 000E7100 */ sll $t6, $t6, 4 -/* 100090 80296A80 01CF2821 */ addu $a1, $t6, $t7 -/* 100094 80296A84 24030007 */ li $v1, 7 -.L80296A88: -/* 100098 80296A88 5085001A */ beql $a0, $a1, .L80296AF4 -/* 10009C 80296A8C 24C60001 */ addiu $a2, $a2, 1 -/* 1000A0 80296A90 84B80002 */ lh $t8, 2($a1) -/* 1000A4 80296A94 3319000F */ andi $t9, $t8, 0xf -/* 1000A8 80296A98 57200016 */ bnel $t9, $zero, .L80296AF4 -/* 1000AC 80296A9C 24C60001 */ addiu $a2, $a2, 1 -/* 1000B0 80296AA0 84AA0000 */ lh $t2, ($a1) -/* 1000B4 80296AA4 546A0013 */ bnel $v1, $t2, .L80296AF4 -/* 1000B8 80296AA8 24C60001 */ addiu $a2, $a2, 1 -/* 1000BC 80296AAC 84AB0006 */ lh $t3, 6($a1) -/* 1000C0 80296AB0 24070002 */ li $a3, 2 -/* 1000C4 80296AB4 00C02025 */ move $a0, $a2 -/* 1000C8 80296AB8 14EB0004 */ bne $a3, $t3, .L80296ACC -/* 1000CC 80296ABC 00000000 */ nop -/* 1000D0 80296AC0 0C003B96 */ jal func_8000EE58 -/* 1000D4 80296AC4 AFA5001C */ sw $a1, 0x1c($sp) -/* 1000D8 80296AC8 8FA5001C */ lw $a1, 0x1c($sp) -.L80296ACC: -/* 1000DC 80296ACC 3C028016 */ lui $v0, %hi(D_8015F6FE) # $v0, 0x8016 -/* 1000E0 80296AD0 2442F6FE */ addiu $v0, %lo(D_8015F6FE) # addiu $v0, $v0, -0x902 -/* 1000E4 80296AD4 944C0000 */ lhu $t4, ($v0) -/* 1000E8 80296AD8 00A02025 */ move $a0, $a1 -/* 1000EC 80296ADC 258DFFFF */ addiu $t5, $t4, -1 -/* 1000F0 80296AE0 0C0A7A15 */ jal destroy_actor -/* 1000F4 80296AE4 A44D0000 */ sh $t5, ($v0) -/* 1000F8 80296AE8 10000086 */ b .L80296D04 -/* 1000FC 80296AEC 8FBF0014 */ lw $ra, 0x14($sp) -/* 100100 80296AF0 24C60001 */ addiu $a2, $a2, 1 -.L80296AF4: -/* 100104 80296AF4 28C10064 */ slti $at, $a2, 0x64 -/* 100108 80296AF8 1420FFE3 */ bnez $at, .L80296A88 -/* 10010C 80296AFC 24A50070 */ addiu $a1, $a1, 0x70 -/* 100110 80296B00 01203025 */ move $a2, $t1 -.L80296B04: -/* 100114 80296B04 28C10064 */ slti $at, $a2, 0x64 -/* 100118 80296B08 1020002D */ beqz $at, .L80296BC0 -/* 10011C 80296B0C 24030007 */ li $v1, 7 -/* 100120 80296B10 000670C0 */ sll $t6, $a2, 3 -/* 100124 80296B14 01C67023 */ subu $t6, $t6, $a2 -/* 100128 80296B18 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016 -/* 10012C 80296B1C 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648 -/* 100130 80296B20 000E7100 */ sll $t6, $t6, 4 -/* 100134 80296B24 01CF2821 */ addu $a1, $t6, $t7 -/* 100138 80296B28 24080008 */ li $t0, 8 -.L80296B2C: -/* 10013C 80296B2C 50850020 */ beql $a0, $a1, .L80296BB0 -/* 100140 80296B30 24C60001 */ addiu $a2, $a2, 1 -/* 100144 80296B34 84B80002 */ lh $t8, 2($a1) -/* 100148 80296B38 3319000F */ andi $t9, $t8, 0xf -/* 10014C 80296B3C 5720001C */ bnel $t9, $zero, .L80296BB0 -/* 100150 80296B40 24C60001 */ addiu $a2, $a2, 1 -/* 100154 80296B44 84AA0000 */ lh $t2, ($a1) -/* 100158 80296B48 550A0019 */ bnel $t0, $t2, .L80296BB0 -/* 10015C 80296B4C 24C60001 */ addiu $a2, $a2, 1 -/* 100160 80296B50 84AB0006 */ lh $t3, 6($a1) -/* 100164 80296B54 256CFFFE */ addiu $t4, $t3, -2 -/* 100168 80296B58 2D810008 */ sltiu $at, $t4, 8 -/* 10016C 80296B5C 10200013 */ beqz $at, .L80296BAC -/* 100170 80296B60 000C6080 */ sll $t4, $t4, 2 -/* 100174 80296B64 3C01802C */ lui $at, %hi(jpt_802B9500) -/* 100178 80296B68 002C0821 */ addu $at, $at, $t4 -/* 10017C 80296B6C 8C2C9500 */ lw $t4, %lo(jpt_802B9500)($at) -/* 100180 80296B70 01800008 */ jr $t4 -/* 100184 80296B74 00000000 */ nop -glabel L80296B78 -/* 100188 80296B78 00C02025 */ move $a0, $a2 -/* 10018C 80296B7C 0C003B96 */ jal func_8000EE58 -/* 100190 80296B80 AFA5001C */ sw $a1, 0x1c($sp) -/* 100194 80296B84 8FA5001C */ lw $a1, 0x1c($sp) -glabel L80296B88 -/* 100198 80296B88 3C028016 */ lui $v0, %hi(D_8015F6FE) # $v0, 0x8016 -/* 10019C 80296B8C 2442F6FE */ addiu $v0, %lo(D_8015F6FE) # addiu $v0, $v0, -0x902 -/* 1001A0 80296B90 944D0000 */ lhu $t5, ($v0) -/* 1001A4 80296B94 00A02025 */ move $a0, $a1 -/* 1001A8 80296B98 25AEFFFF */ addiu $t6, $t5, -1 -/* 1001AC 80296B9C 0C0A7A15 */ jal destroy_actor -/* 1001B0 80296BA0 A44E0000 */ sh $t6, ($v0) -/* 1001B4 80296BA4 10000057 */ b .L80296D04 -/* 1001B8 80296BA8 8FBF0014 */ lw $ra, 0x14($sp) -.L80296BAC: -glabel L80296BAC -/* 1001BC 80296BAC 24C60001 */ addiu $a2, $a2, 1 -.L80296BB0: -/* 1001C0 80296BB0 28C10064 */ slti $at, $a2, 0x64 -/* 1001C4 80296BB4 1420FFDD */ bnez $at, .L80296B2C -/* 1001C8 80296BB8 24A50070 */ addiu $a1, $a1, 0x70 -/* 1001CC 80296BBC 01203025 */ move $a2, $t1 -.L80296BC0: -/* 1001D0 80296BC0 28C10064 */ slti $at, $a2, 0x64 -/* 1001D4 80296BC4 10200026 */ beqz $at, .L80296C60 -/* 1001D8 80296BC8 24080008 */ li $t0, 8 -/* 1001DC 80296BCC 000678C0 */ sll $t7, $a2, 3 -/* 1001E0 80296BD0 01E67823 */ subu $t7, $t7, $a2 -/* 1001E4 80296BD4 3C188016 */ lui $t8, %hi(gActorList) # $t8, 0x8016 -/* 1001E8 80296BD8 2718F9B8 */ addiu $t8, %lo(gActorList) # addiu $t8, $t8, -0x648 -/* 1001EC 80296BDC 000F7900 */ sll $t7, $t7, 4 -/* 1001F0 80296BE0 01F82821 */ addu $a1, $t7, $t8 -/* 1001F4 80296BE4 24070002 */ li $a3, 2 -.L80296BE8: -/* 1001F8 80296BE8 50850019 */ beql $a0, $a1, .L80296C50 -/* 1001FC 80296BEC 24C60001 */ addiu $a2, $a2, 1 -/* 100200 80296BF0 84B90000 */ lh $t9, ($a1) -/* 100204 80296BF4 54790016 */ bnel $v1, $t9, .L80296C50 -/* 100208 80296BF8 24C60001 */ addiu $a2, $a2, 1 -/* 10020C 80296BFC 84A20006 */ lh $v0, 6($a1) -/* 100210 80296C00 50470006 */ beql $v0, $a3, .L80296C1C -/* 100214 80296C04 00C02025 */ move $a0, $a2 -/* 100218 80296C08 10430007 */ beq $v0, $v1, .L80296C28 -/* 10021C 80296C0C 00000000 */ nop -/* 100220 80296C10 1000000F */ b .L80296C50 -/* 100224 80296C14 24C60001 */ addiu $a2, $a2, 1 -/* 100228 80296C18 00C02025 */ move $a0, $a2 -.L80296C1C: -/* 10022C 80296C1C 0C003B96 */ jal func_8000EE58 -/* 100230 80296C20 AFA5001C */ sw $a1, 0x1c($sp) -/* 100234 80296C24 8FA5001C */ lw $a1, 0x1c($sp) -.L80296C28: -/* 100238 80296C28 3C028016 */ lui $v0, %hi(D_8015F6FE) # $v0, 0x8016 -/* 10023C 80296C2C 2442F6FE */ addiu $v0, %lo(D_8015F6FE) # addiu $v0, $v0, -0x902 -/* 100240 80296C30 944A0000 */ lhu $t2, ($v0) -/* 100244 80296C34 00A02025 */ move $a0, $a1 -/* 100248 80296C38 254BFFFF */ addiu $t3, $t2, -1 -/* 10024C 80296C3C 0C0A7A15 */ jal destroy_actor -/* 100250 80296C40 A44B0000 */ sh $t3, ($v0) -/* 100254 80296C44 1000002F */ b .L80296D04 -/* 100258 80296C48 8FBF0014 */ lw $ra, 0x14($sp) -/* 10025C 80296C4C 24C60001 */ addiu $a2, $a2, 1 -.L80296C50: -/* 100260 80296C50 28C10064 */ slti $at, $a2, 0x64 -/* 100264 80296C54 1420FFE4 */ bnez $at, .L80296BE8 -/* 100268 80296C58 24A50070 */ addiu $a1, $a1, 0x70 -/* 10026C 80296C5C 01203025 */ move $a2, $t1 -.L80296C60: -/* 100270 80296C60 28C10064 */ slti $at, $a2, 0x64 -/* 100274 80296C64 10200026 */ beqz $at, .L80296D00 -/* 100278 80296C68 000660C0 */ sll $t4, $a2, 3 -/* 10027C 80296C6C 01866023 */ subu $t4, $t4, $a2 -/* 100280 80296C70 3C0D8016 */ lui $t5, %hi(gActorList) # $t5, 0x8016 -/* 100284 80296C74 25ADF9B8 */ addiu $t5, %lo(gActorList) # addiu $t5, $t5, -0x648 -/* 100288 80296C78 000C6100 */ sll $t4, $t4, 4 -/* 10028C 80296C7C 018D2821 */ addu $a1, $t4, $t5 -.L80296C80: -/* 100290 80296C80 5085001C */ beql $a0, $a1, .L80296CF4 -/* 100294 80296C84 24C60001 */ addiu $a2, $a2, 1 -/* 100298 80296C88 84AE0000 */ lh $t6, ($a1) -/* 10029C 80296C8C 550E0019 */ bnel $t0, $t6, .L80296CF4 -/* 1002A0 80296C90 24C60001 */ addiu $a2, $a2, 1 -/* 1002A4 80296C94 84AF0006 */ lh $t7, 6($a1) -/* 1002A8 80296C98 25F8FFFE */ addiu $t8, $t7, -2 -/* 1002AC 80296C9C 2F010008 */ sltiu $at, $t8, 8 -/* 1002B0 80296CA0 10200013 */ beqz $at, .L80296CF0 -/* 1002B4 80296CA4 0018C080 */ sll $t8, $t8, 2 -/* 1002B8 80296CA8 3C01802C */ lui $at, %hi(jpt_802B9520) -/* 1002BC 80296CAC 00380821 */ addu $at, $at, $t8 -/* 1002C0 80296CB0 8C389520 */ lw $t8, %lo(jpt_802B9520)($at) -/* 1002C4 80296CB4 03000008 */ jr $t8 -/* 1002C8 80296CB8 00000000 */ nop -glabel L80296CBC -/* 1002CC 80296CBC 00C02025 */ move $a0, $a2 -/* 1002D0 80296CC0 0C003B96 */ jal func_8000EE58 -/* 1002D4 80296CC4 AFA5001C */ sw $a1, 0x1c($sp) -/* 1002D8 80296CC8 8FA5001C */ lw $a1, 0x1c($sp) -glabel L80296CCC -/* 1002DC 80296CCC 3C028016 */ lui $v0, %hi(D_8015F6FE) # $v0, 0x8016 -/* 1002E0 80296CD0 2442F6FE */ addiu $v0, %lo(D_8015F6FE) # addiu $v0, $v0, -0x902 -/* 1002E4 80296CD4 94590000 */ lhu $t9, ($v0) -/* 1002E8 80296CD8 00A02025 */ move $a0, $a1 -/* 1002EC 80296CDC 272AFFFF */ addiu $t2, $t9, -1 -/* 1002F0 80296CE0 0C0A7A15 */ jal destroy_actor -/* 1002F4 80296CE4 A44A0000 */ sh $t2, ($v0) -/* 1002F8 80296CE8 10000006 */ b .L80296D04 -/* 1002FC 80296CEC 8FBF0014 */ lw $ra, 0x14($sp) -.L80296CF0: -glabel L80296CF0 -/* 100300 80296CF0 24C60001 */ addiu $a2, $a2, 1 -.L80296CF4: -/* 100304 80296CF4 28C10064 */ slti $at, $a2, 0x64 -/* 100308 80296CF8 1420FFE1 */ bnez $at, .L80296C80 -/* 10030C 80296CFC 24A50070 */ addiu $a1, $a1, 0x70 -.L80296D00: -/* 100310 80296D00 8FBF0014 */ lw $ra, 0x14($sp) -.L80296D04: -/* 100314 80296D04 27BD0030 */ addiu $sp, $sp, 0x30 -/* 100318 80296D08 03E00008 */ jr $ra -/* 10031C 80296D0C 00000000 */ nop diff --git a/asm/non_matchings/actors/func_80296D10.s b/asm/non_matchings/actors/func_80296D10.s deleted file mode 100644 index 847367ebb..000000000 --- a/asm/non_matchings/actors/func_80296D10.s +++ /dev/null @@ -1,357 +0,0 @@ -glabel func_80296D10 -/* 100320 80296D10 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 100324 80296D14 AFB00020 */ sw $s0, 0x20($sp) -/* 100328 80296D18 00808025 */ move $s0, $a0 -/* 10032C 80296D1C AFBF0024 */ sw $ra, 0x24($sp) -/* 100330 80296D20 AFA60038 */ sw $a2, 0x38($sp) -/* 100334 80296D24 AFA7003C */ sw $a3, 0x3c($sp) -/* 100338 80296D28 0C0AD4B6 */ jal vec3f_copy -/* 10033C 80296D2C 24840018 */ addiu $a0, $a0, 0x18 -/* 100340 80296D30 26040010 */ addiu $a0, $s0, 0x10 -/* 100344 80296D34 0C0AD4C1 */ jal vec3s_copy -/* 100348 80296D38 8FA50038 */ lw $a1, 0x38($sp) -/* 10034C 80296D3C 26040024 */ addiu $a0, $s0, 0x24 -/* 100350 80296D40 0C0AD4B6 */ jal vec3f_copy -/* 100354 80296D44 8FA5003C */ lw $a1, 0x3c($sp) -/* 100358 80296D48 87AE0042 */ lh $t6, 0x42($sp) -/* 10035C 80296D4C 44800000 */ mtc1 $zero, $f0 -/* 100360 80296D50 240F8000 */ li $t7, -32768 -/* 100364 80296D54 A60F0002 */ sh $t7, 2($s0) -/* 100368 80296D58 A6000004 */ sh $zero, 4($s0) -/* 10036C 80296D5C A6000006 */ sh $zero, 6($s0) -/* 100370 80296D60 26040030 */ addiu $a0, $s0, 0x30 -/* 100374 80296D64 A60E0000 */ sh $t6, ($s0) -/* 100378 80296D68 E6000008 */ swc1 $f0, 8($s0) -/* 10037C 80296D6C E600000C */ swc1 $f0, 0xc($s0) -/* 100380 80296D70 0C0AAAAB */ jal func_802AAAAC -/* 100384 80296D74 AFA4002C */ sw $a0, 0x2c($sp) -/* 100388 80296D78 87B80042 */ lh $t8, 0x42($sp) -/* 10038C 80296D7C 24028000 */ li $v0, -32768 -/* 100390 80296D80 8FA4002C */ lw $a0, 0x2c($sp) -/* 100394 80296D84 2719FFFE */ addiu $t9, $t8, -2 -/* 100398 80296D88 2F21002C */ sltiu $at, $t9, 0x2c -/* 10039C 80296D8C 10200123 */ beqz $at, .L8029721C -/* 1003A0 80296D90 0019C880 */ sll $t9, $t9, 2 -/* 1003A4 80296D94 3C01802C */ lui $at, %hi(jpt_802B9540) -/* 1003A8 80296D98 00390821 */ addu $at, $at, $t9 -/* 1003AC 80296D9C 8C399540 */ lw $t9, %lo(jpt_802B9540)($at) -/* 1003B0 80296DA0 03200008 */ jr $t9 -/* 1003B4 80296DA4 00000000 */ nop -glabel L80296DA8 -/* 1003B8 80296DA8 3C03802C */ lui $v1, %hi(D_802BA260) # $v1, 0x802c -/* 1003BC 80296DAC 2463A260 */ addiu $v1, %lo(D_802BA260) # addiu $v1, $v1, -0x5da0 -/* 1003C0 80296DB0 94620000 */ lhu $v0, ($v1) -/* 1003C4 80296DB4 28410003 */ slti $at, $v0, 3 -/* 1003C8 80296DB8 54200004 */ bnel $at, $zero, .L80296DCC -/* 1003CC 80296DBC A6020006 */ sh $v0, 6($s0) -/* 1003D0 80296DC0 A4600000 */ sh $zero, ($v1) -/* 1003D4 80296DC4 3002FFFF */ andi $v0, $zero, 0xffff -/* 1003D8 80296DC8 A6020006 */ sh $v0, 6($s0) -.L80296DCC: -/* 1003DC 80296DCC 94680000 */ lhu $t0, ($v1) -/* 1003E0 80296DD0 25090001 */ addiu $t1, $t0, 1 -/* 1003E4 80296DD4 10000111 */ b .L8029721C -/* 1003E8 80296DD8 A4690000 */ sh $t1, ($v1) -glabel L80296DDC -/* 1003EC 80296DDC 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 1003F0 80296DE0 44810000 */ mtc1 $at, $f0 -/* 1003F4 80296DE4 C60A0020 */ lwc1 $f10, 0x20($s0) -/* 1003F8 80296DE8 860A0002 */ lh $t2, 2($s0) -/* 1003FC 80296DEC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 100400 80296DF0 46005400 */ add.s $f16, $f10, $f0 -/* 100404 80296DF4 44812000 */ mtc1 $at, $f4 -/* 100408 80296DF8 C6060018 */ lwc1 $f6, 0x18($s0) -/* 10040C 80296DFC C608001C */ lwc1 $f8, 0x1c($s0) -/* 100410 80296E00 354B4000 */ ori $t3, $t2, 0x4000 -/* 100414 80296E04 A60B0002 */ sh $t3, 2($s0) -/* 100418 80296E08 E610002C */ swc1 $f16, 0x2c($s0) -/* 10041C 80296E0C E6000008 */ swc1 $f0, 8($s0) -/* 100420 80296E10 E604000C */ swc1 $f4, 0xc($s0) -/* 100424 80296E14 E6060024 */ swc1 $f6, 0x24($s0) -/* 100428 80296E18 10000100 */ b .L8029721C -/* 10042C 80296E1C E6080028 */ swc1 $f8, 0x28($s0) -glabel L80296E20 -/* 100430 80296E20 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 100434 80296E24 44819000 */ mtc1 $at, $f18 -/* 100438 80296E28 A6000006 */ sh $zero, 6($s0) -/* 10043C 80296E2C A6000010 */ sh $zero, 0x10($s0) -/* 100440 80296E30 A6000012 */ sh $zero, 0x12($s0) -/* 100444 80296E34 A6000014 */ sh $zero, 0x14($s0) -/* 100448 80296E38 100000F8 */ b .L8029721C -/* 10044C 80296E3C E612000C */ swc1 $f18, 0xc($s0) -glabel L80296E40 -/* 100450 80296E40 860C0002 */ lh $t4, 2($s0) -/* 100454 80296E44 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 100458 80296E48 44812000 */ mtc1 $at, $f4 -/* 10045C 80296E4C 358D4000 */ ori $t5, $t4, 0x4000 -/* 100460 80296E50 A60D0002 */ sh $t5, 2($s0) -/* 100464 80296E54 100000F1 */ b .L8029721C -/* 100468 80296E58 E604000C */ swc1 $f4, 0xc($s0) -glabel L80296E5C -/* 10046C 80296E5C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 100470 80296E60 44813000 */ mtc1 $at, $f6 -/* 100474 80296E64 100000ED */ b .L8029721C -/* 100478 80296E68 E6060008 */ swc1 $f6, 8($s0) -glabel L80296E6C -/* 10047C 80296E6C 860F0002 */ lh $t7, 2($s0) -/* 100480 80296E70 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 100484 80296E74 44814000 */ mtc1 $at, $f8 -/* 100488 80296E78 35F85000 */ ori $t8, $t7, 0x5000 -/* 10048C 80296E7C A6180002 */ sh $t8, 2($s0) -/* 100490 80296E80 100000E6 */ b .L8029721C -/* 100494 80296E84 E608000C */ swc1 $f8, 0xc($s0) -glabel L80296E88 -/* 100498 80296E88 3C028016 */ lui $v0, %hi(D_8015F6FE) # $v0, 0x8016 -/* 10049C 80296E8C 2442F6FE */ addiu $v0, %lo(D_8015F6FE) # addiu $v0, $v0, -0x902 -/* 1004A0 80296E90 94590000 */ lhu $t9, ($v0) -/* 1004A4 80296E94 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 1004A8 80296E98 44815000 */ mtc1 $at, $f10 -/* 1004AC 80296E9C 27280001 */ addiu $t0, $t9, 1 -/* 1004B0 80296EA0 A4480000 */ sh $t0, ($v0) -/* 1004B4 80296EA4 860B0002 */ lh $t3, 2($s0) -/* 1004B8 80296EA8 A6000004 */ sh $zero, 4($s0) -/* 1004BC 80296EAC E60A000C */ swc1 $f10, 0xc($s0) -/* 1004C0 80296EB0 356C7000 */ ori $t4, $t3, 0x7000 -/* 1004C4 80296EB4 A60C0002 */ sh $t4, 2($s0) -/* 1004C8 80296EB8 944D0000 */ lhu $t5, ($v0) -/* 1004CC 80296EBC 29A10015 */ slti $at, $t5, 0x15 -/* 1004D0 80296EC0 542000D7 */ bnel $at, $zero, .L80297220 -/* 1004D4 80296EC4 8FBF0024 */ lw $ra, 0x24($sp) -/* 1004D8 80296EC8 0C0A5A94 */ jal func_80296A50 -/* 1004DC 80296ECC 02002025 */ move $a0, $s0 -/* 1004E0 80296ED0 100000D3 */ b .L80297220 -/* 1004E4 80296ED4 8FBF0024 */ lw $ra, 0x24($sp) -glabel L80296ED8 -/* 1004E8 80296ED8 3C028016 */ lui $v0, %hi(D_8015F6FE) # $v0, 0x8016 -/* 1004EC 80296EDC 2442F6FE */ addiu $v0, %lo(D_8015F6FE) # addiu $v0, $v0, -0x902 -/* 1004F0 80296EE0 944E0000 */ lhu $t6, ($v0) -/* 1004F4 80296EE4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 1004F8 80296EE8 44818000 */ mtc1 $at, $f16 -/* 1004FC 80296EEC 25CF0001 */ addiu $t7, $t6, 1 -/* 100500 80296EF0 A44F0000 */ sh $t7, ($v0) -/* 100504 80296EF4 86080002 */ lh $t0, 2($s0) -/* 100508 80296EF8 A6000004 */ sh $zero, 4($s0) -/* 10050C 80296EFC E610000C */ swc1 $f16, 0xc($s0) -/* 100510 80296F00 35097000 */ ori $t1, $t0, 0x7000 -/* 100514 80296F04 A6090002 */ sh $t1, 2($s0) -/* 100518 80296F08 944A0000 */ lhu $t2, ($v0) -/* 10051C 80296F0C 29410015 */ slti $at, $t2, 0x15 -/* 100520 80296F10 542000C3 */ bnel $at, $zero, .L80297220 -/* 100524 80296F14 8FBF0024 */ lw $ra, 0x24($sp) -/* 100528 80296F18 0C0A5A94 */ jal func_80296A50 -/* 10052C 80296F1C 02002025 */ move $a0, $s0 -/* 100530 80296F20 100000BF */ b .L80297220 -/* 100534 80296F24 8FBF0024 */ lw $ra, 0x24($sp) -glabel L80296F28 -/* 100538 80296F28 3C028016 */ lui $v0, %hi(D_8015F6FE) # $v0, 0x8016 -/* 10053C 80296F2C 2442F6FE */ addiu $v0, %lo(D_8015F6FE) # addiu $v0, $v0, -0x902 -/* 100540 80296F30 944B0000 */ lhu $t3, ($v0) -/* 100544 80296F34 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 100548 80296F38 44819000 */ mtc1 $at, $f18 -/* 10054C 80296F3C 256C0001 */ addiu $t4, $t3, 1 -/* 100550 80296F40 A44C0000 */ sh $t4, ($v0) -/* 100554 80296F44 860D0002 */ lh $t5, 2($s0) -/* 100558 80296F48 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 10055C 80296F4C 44812000 */ mtc1 $at, $f4 -/* 100560 80296F50 240F0043 */ li $t7, 67 -/* 100564 80296F54 35AE4000 */ ori $t6, $t5, 0x4000 -/* 100568 80296F58 A60E0002 */ sh $t6, 2($s0) -/* 10056C 80296F5C A60F0006 */ sh $t7, 6($s0) -/* 100570 80296F60 E612000C */ swc1 $f18, 0xc($s0) -/* 100574 80296F64 100000AD */ b .L8029721C -/* 100578 80296F68 E6040008 */ swc1 $f4, 8($s0) -glabel L80296F6C -/* 10057C 80296F6C 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 100580 80296F70 86180002 */ lh $t8, 2($s0) -/* 100584 80296F74 44813000 */ mtc1 $at, $f6 -/* 100588 80296F78 3C0141B8 */ li $at, 0x41B80000 # 23.000000 -/* 10058C 80296F7C 44814000 */ mtc1 $at, $f8 -/* 100590 80296F80 24080043 */ li $t0, 67 -/* 100594 80296F84 37194000 */ ori $t9, $t8, 0x4000 -/* 100598 80296F88 A6190002 */ sh $t9, 2($s0) -/* 10059C 80296F8C A6080006 */ sh $t0, 6($s0) -/* 1005A0 80296F90 E606000C */ swc1 $f6, 0xc($s0) -/* 1005A4 80296F94 100000A1 */ b .L8029721C -/* 1005A8 80296F98 E6080008 */ swc1 $f8, 8($s0) -glabel L80296F9C -/* 1005AC 80296F9C 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 1005B0 80296FA0 86090002 */ lh $t1, 2($s0) -/* 1005B4 80296FA4 44815000 */ mtc1 $at, $f10 -/* 1005B8 80296FA8 3C014188 */ li $at, 0x41880000 # 17.000000 -/* 1005BC 80296FAC 44818000 */ mtc1 $at, $f16 -/* 1005C0 80296FB0 240B0043 */ li $t3, 67 -/* 1005C4 80296FB4 352A4000 */ ori $t2, $t1, 0x4000 -/* 1005C8 80296FB8 A60A0002 */ sh $t2, 2($s0) -/* 1005CC 80296FBC A60B0006 */ sh $t3, 6($s0) -/* 1005D0 80296FC0 E60A000C */ swc1 $f10, 0xc($s0) -/* 1005D4 80296FC4 10000095 */ b .L8029721C -/* 1005D8 80296FC8 E6100008 */ swc1 $f16, 8($s0) -glabel L80296FCC -/* 1005DC 80296FCC 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 1005E0 80296FD0 44819000 */ mtc1 $at, $f18 -/* 1005E4 80296FD4 3C014188 */ li $at, 0x41880000 # 17.000000 -/* 1005E8 80296FD8 44812000 */ mtc1 $at, $f4 -/* 1005EC 80296FDC 240C0043 */ li $t4, 67 -/* 1005F0 80296FE0 A60C0006 */ sh $t4, 6($s0) -/* 1005F4 80296FE4 A6020002 */ sh $v0, 2($s0) -/* 1005F8 80296FE8 E612000C */ swc1 $f18, 0xc($s0) -/* 1005FC 80296FEC 1000008B */ b .L8029721C -/* 100600 80296FF0 E6040008 */ swc1 $f4, 8($s0) -glabel L80296FF4 -/* 100604 80296FF4 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 100608 80296FF8 860D0002 */ lh $t5, 2($s0) -/* 10060C 80296FFC 44813000 */ mtc1 $at, $f6 -/* 100610 80297000 3C014188 */ li $at, 0x41880000 # 17.000000 -/* 100614 80297004 44814000 */ mtc1 $at, $f8 -/* 100618 80297008 240F0043 */ li $t7, 67 -/* 10061C 8029700C 35AE4000 */ ori $t6, $t5, 0x4000 -/* 100620 80297010 A60E0002 */ sh $t6, 2($s0) -/* 100624 80297014 A60F0006 */ sh $t7, 6($s0) -/* 100628 80297018 E606000C */ swc1 $f6, 0xc($s0) -/* 10062C 8029701C 1000007F */ b .L8029721C -/* 100630 80297020 E6080008 */ swc1 $f8, 8($s0) -glabel L80297024 -/* 100634 80297024 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 100638 80297028 44815000 */ mtc1 $at, $f10 -/* 10063C 8029702C 3C014188 */ li $at, 0x41880000 # 17.000000 -/* 100640 80297030 44818000 */ mtc1 $at, $f16 -/* 100644 80297034 24180043 */ li $t8, 67 -/* 100648 80297038 A6180006 */ sh $t8, 6($s0) -/* 10064C 8029703C A6020002 */ sh $v0, 2($s0) -/* 100650 80297040 E60A000C */ swc1 $f10, 0xc($s0) -/* 100654 80297044 10000075 */ b .L8029721C -/* 100658 80297048 E6100008 */ swc1 $f16, 8($s0) -glabel L8029704C -/* 10065C 8029704C 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 100660 80297050 86190002 */ lh $t9, 2($s0) -/* 100664 80297054 44819000 */ mtc1 $at, $f18 -/* 100668 80297058 3C014188 */ li $at, 0x41880000 # 17.000000 -/* 10066C 8029705C 44812000 */ mtc1 $at, $f4 -/* 100670 80297060 24090043 */ li $t1, 67 -/* 100674 80297064 37284000 */ ori $t0, $t9, 0x4000 -/* 100678 80297068 A6080002 */ sh $t0, 2($s0) -/* 10067C 8029706C A6090006 */ sh $t1, 6($s0) -/* 100680 80297070 E612000C */ swc1 $f18, 0xc($s0) -/* 100684 80297074 10000069 */ b .L8029721C -/* 100688 80297078 E6040008 */ swc1 $f4, 8($s0) -glabel L8029707C -/* 10068C 8029707C 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 100690 80297080 860A0002 */ lh $t2, 2($s0) -/* 100694 80297084 44813000 */ mtc1 $at, $f6 -/* 100698 80297088 3C014188 */ li $at, 0x41880000 # 17.000000 -/* 10069C 8029708C 44814000 */ mtc1 $at, $f8 -/* 1006A0 80297090 240C0043 */ li $t4, 67 -/* 1006A4 80297094 354B4000 */ ori $t3, $t2, 0x4000 -/* 1006A8 80297098 A60B0002 */ sh $t3, 2($s0) -/* 1006AC 8029709C A60C0006 */ sh $t4, 6($s0) -/* 1006B0 802970A0 E606000C */ swc1 $f6, 0xc($s0) -/* 1006B4 802970A4 1000005D */ b .L8029721C -/* 1006B8 802970A8 E6080008 */ swc1 $f8, 8($s0) -glabel L802970AC -/* 1006BC 802970AC 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 1006C0 802970B0 860D0002 */ lh $t5, 2($s0) -/* 1006C4 802970B4 44815000 */ mtc1 $at, $f10 -/* 1006C8 802970B8 3C0140E0 */ li $at, 0x40E00000 # 7.000000 -/* 1006CC 802970BC 44818000 */ mtc1 $at, $f16 -/* 1006D0 802970C0 240F0019 */ li $t7, 25 -/* 1006D4 802970C4 35AE4000 */ ori $t6, $t5, 0x4000 -/* 1006D8 802970C8 A60E0002 */ sh $t6, 2($s0) -/* 1006DC 802970CC A60F0006 */ sh $t7, 6($s0) -/* 1006E0 802970D0 E60A000C */ swc1 $f10, 0xc($s0) -/* 1006E4 802970D4 10000051 */ b .L8029721C -/* 1006E8 802970D8 E6100008 */ swc1 $f16, 8($s0) -glabel L802970DC -/* 1006EC 802970DC 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 1006F0 802970E0 86180002 */ lh $t8, 2($s0) -/* 1006F4 802970E4 44819000 */ mtc1 $at, $f18 -/* 1006F8 802970E8 3C0140E0 */ li $at, 0x40E00000 # 7.000000 -/* 1006FC 802970EC 44812000 */ mtc1 $at, $f4 -/* 100700 802970F0 24080019 */ li $t0, 25 -/* 100704 802970F4 37194000 */ ori $t9, $t8, 0x4000 -/* 100708 802970F8 A6190002 */ sh $t9, 2($s0) -/* 10070C 802970FC A6080006 */ sh $t0, 6($s0) -/* 100710 80297100 E612000C */ swc1 $f18, 0xc($s0) -/* 100714 80297104 10000045 */ b .L8029721C -/* 100718 80297108 E6040008 */ swc1 $f4, 8($s0) -glabel L8029710C -/* 10071C 8029710C 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 100720 80297110 86090002 */ lh $t1, 2($s0) -/* 100724 80297114 44813000 */ mtc1 $at, $f6 -/* 100728 80297118 3C0140E0 */ li $at, 0x40E00000 # 7.000000 -/* 10072C 8029711C 44814000 */ mtc1 $at, $f8 -/* 100730 80297120 240B0019 */ li $t3, 25 -/* 100734 80297124 352A4000 */ ori $t2, $t1, 0x4000 -/* 100738 80297128 A60A0002 */ sh $t2, 2($s0) -/* 10073C 8029712C A60B0006 */ sh $t3, 6($s0) -/* 100740 80297130 E606000C */ swc1 $f6, 0xc($s0) -/* 100744 80297134 10000039 */ b .L8029721C -/* 100748 80297138 E6080008 */ swc1 $f8, 8($s0) -glabel L8029713C -/* 10074C 8029713C 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 100750 80297140 860C0002 */ lh $t4, 2($s0) -/* 100754 80297144 44815000 */ mtc1 $at, $f10 -/* 100758 80297148 3C014150 */ li $at, 0x41500000 # 13.000000 -/* 10075C 8029714C 44818000 */ mtc1 $at, $f16 -/* 100760 80297150 240E003C */ li $t6, 60 -/* 100764 80297154 358D4000 */ ori $t5, $t4, 0x4000 -/* 100768 80297158 A60D0002 */ sh $t5, 2($s0) -/* 10076C 8029715C A60E0006 */ sh $t6, 6($s0) -/* 100770 80297160 E60A000C */ swc1 $f10, 0xc($s0) -/* 100774 80297164 1000002D */ b .L8029721C -/* 100778 80297168 E6100008 */ swc1 $f16, 8($s0) -glabel L8029716C -/* 10077C 8029716C 86180002 */ lh $t8, 2($s0) -/* 100780 80297170 3C01802C */ lui $at, %hi(D_802B95F0) # $at, 0x802c -/* 100784 80297174 C42095F0 */ lwc1 $f0, %lo(D_802B95F0)($at) -/* 100788 80297178 37195000 */ ori $t9, $t8, 0x5000 -/* 10078C 8029717C A6190002 */ sh $t9, 2($s0) -/* 100790 80297180 3C01802C */ lui $at, %hi(D_802B95F4) # $at, 0x802c -/* 100794 80297184 C43295F4 */ lwc1 $f18, %lo(D_802B95F4)($at) -/* 100798 80297188 C6040020 */ lwc1 $f4, 0x20($s0) -/* 10079C 8029718C 8E060018 */ lw $a2, 0x18($s0) -/* 1007A0 80297190 8E07001C */ lw $a3, 0x1c($s0) -/* 1007A4 80297194 E600000C */ swc1 $f0, 0xc($s0) -/* 1007A8 80297198 44050000 */ mfc1 $a1, $f0 -/* 1007AC 8029719C E6120008 */ swc1 $f18, 8($s0) -/* 1007B0 802971A0 0C0AB772 */ jal func_802ADDC8 -/* 1007B4 802971A4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 1007B8 802971A8 1000001D */ b .L80297220 -/* 1007BC 802971AC 8FBF0024 */ lw $ra, 0x24($sp) -glabel L802971B0 -/* 1007C0 802971B0 86080002 */ lh $t0, 2($s0) -/* 1007C4 802971B4 3C0140B0 */ li $at, 0x40B00000 # 5.500000 -/* 1007C8 802971B8 44813000 */ mtc1 $at, $f6 -/* 1007CC 802971BC 240A0005 */ li $t2, 5 -/* 1007D0 802971C0 35094000 */ ori $t1, $t0, 0x4000 -/* 1007D4 802971C4 A6090002 */ sh $t1, 2($s0) -/* 1007D8 802971C8 A6000004 */ sh $zero, 4($s0) -/* 1007DC 802971CC A60A0006 */ sh $t2, 6($s0) -/* 1007E0 802971D0 10000012 */ b .L8029721C -/* 1007E4 802971D4 E606000C */ swc1 $f6, 0xc($s0) -glabel L802971D8 -/* 1007E8 802971D8 860B0002 */ lh $t3, 2($s0) -/* 1007EC 802971DC 3C0140B0 */ li $at, 0x40B00000 # 5.500000 -/* 1007F0 802971E0 44814000 */ mtc1 $at, $f8 -/* 1007F4 802971E4 356C4000 */ ori $t4, $t3, 0x4000 -/* 1007F8 802971E8 A60C0002 */ sh $t4, 2($s0) -/* 1007FC 802971EC A6000004 */ sh $zero, 4($s0) -/* 100800 802971F0 A6000006 */ sh $zero, 6($s0) -/* 100804 802971F4 10000009 */ b .L8029721C -/* 100808 802971F8 E608000C */ swc1 $f8, 0xc($s0) -glabel L802971FC -/* 10080C 802971FC 860D0002 */ lh $t5, 2($s0) -/* 100810 80297200 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 100814 80297204 44815000 */ mtc1 $at, $f10 -/* 100818 80297208 240F001E */ li $t7, 30 -/* 10081C 8029720C 35AE4000 */ ori $t6, $t5, 0x4000 -/* 100820 80297210 A60E0002 */ sh $t6, 2($s0) -/* 100824 80297214 A60F0006 */ sh $t7, 6($s0) -/* 100828 80297218 E60A000C */ swc1 $f10, 0xc($s0) -.L8029721C: -glabel L8029721C -/* 10082C 8029721C 8FBF0024 */ lw $ra, 0x24($sp) -.L80297220: -/* 100830 80297220 8FB00020 */ lw $s0, 0x20($sp) -/* 100834 80297224 27BD0030 */ addiu $sp, $sp, 0x30 -/* 100838 80297228 03E00008 */ jr $ra -/* 10083C 8029722C 00000000 */ nop diff --git a/asm/non_matchings/actors/func_80297524.s b/asm/non_matchings/actors/func_80297524.s deleted file mode 100644 index e4bcbadd3..000000000 --- a/asm/non_matchings/actors/func_80297524.s +++ /dev/null @@ -1,118 +0,0 @@ -glabel func_80297524 -/* 100B34 80297524 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 100B38 80297528 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 100B3C 8029752C 8C620000 */ lw $v0, ($v1) -/* 100B40 80297530 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 100B44 80297534 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 100B48 80297538 244E0008 */ addiu $t6, $v0, 8 -/* 100B4C 8029753C AC6E0000 */ sw $t6, ($v1) -/* 100B50 80297540 0081C024 */ and $t8, $a0, $at -/* 100B54 80297544 3C0FFD10 */ lui $t7, 0xfd10 -/* 100B58 80297548 AC4F0000 */ sw $t7, ($v0) -/* 100B5C 8029754C AC580004 */ sw $t8, 4($v0) -/* 100B60 80297550 8C620000 */ lw $v0, ($v1) -/* 100B64 80297554 3C0E0708 */ lui $t6, (0x07080200 >> 16) # lui $t6, 0x708 -/* 100B68 80297558 3C08F510 */ lui $t0, 0xf510 -/* 100B6C 8029755C 24590008 */ addiu $t9, $v0, 8 -/* 100B70 80297560 AC790000 */ sw $t9, ($v1) -/* 100B74 80297564 35CE0200 */ ori $t6, (0x07080200 & 0xFFFF) # ori $t6, $t6, 0x200 -/* 100B78 80297568 00A60019 */ multu $a1, $a2 -/* 100B7C 8029756C AC4E0004 */ sw $t6, 4($v0) -/* 100B80 80297570 AC480000 */ sw $t0, ($v0) -/* 100B84 80297574 8C620000 */ lw $v0, ($v1) -/* 100B88 80297578 3C18E600 */ lui $t8, 0xe600 -/* 100B8C 8029757C 3C0EF300 */ lui $t6, 0xf300 -/* 100B90 80297580 244F0008 */ addiu $t7, $v0, 8 -/* 100B94 80297584 AC6F0000 */ sw $t7, ($v1) -/* 100B98 80297588 AC400004 */ sw $zero, 4($v0) -/* 100B9C 8029758C AC580000 */ sw $t8, ($v0) -/* 100BA0 80297590 8C670000 */ lw $a3, ($v1) -/* 100BA4 80297594 00006012 */ mflo $t4 -/* 100BA8 80297598 258CFFFF */ addiu $t4, $t4, -1 -/* 100BAC 8029759C 24F90008 */ addiu $t9, $a3, 8 -/* 100BB0 802975A0 AC790000 */ sw $t9, ($v1) -/* 100BB4 802975A4 298107FF */ slti $at, $t4, 0x7ff -/* 100BB8 802975A8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 100BBC 802975AC 10200003 */ beqz $at, .L802975BC -/* 100BC0 802975B0 ACEE0000 */ sw $t6, ($a3) -/* 100BC4 802975B4 10000002 */ b .L802975C0 -/* 100BC8 802975B8 01802025 */ move $a0, $t4 -.L802975BC: -/* 100BCC 802975BC 240407FF */ li $a0, 2047 -.L802975C0: -/* 100BD0 802975C0 00054840 */ sll $t1, $a1, 1 -/* 100BD4 802975C4 05210003 */ bgez $t1, .L802975D4 -/* 100BD8 802975C8 000910C3 */ sra $v0, $t1, 3 -/* 100BDC 802975CC 25210007 */ addiu $at, $t1, 7 -/* 100BE0 802975D0 000110C3 */ sra $v0, $at, 3 -.L802975D4: -/* 100BE4 802975D4 1C400003 */ bgtz $v0, .L802975E4 -/* 100BE8 802975D8 00405025 */ move $t2, $v0 -/* 100BEC 802975DC 10000001 */ b .L802975E4 -/* 100BF0 802975E0 240A0001 */ li $t2, 1 -.L802975E4: -/* 100BF4 802975E4 1C400003 */ bgtz $v0, .L802975F4 -/* 100BF8 802975E8 254F07FF */ addiu $t7, $t2, 0x7ff -/* 100BFC 802975EC 10000002 */ b .L802975F8 -/* 100C00 802975F0 240B0001 */ li $t3, 1 -.L802975F4: -/* 100C04 802975F4 00405825 */ move $t3, $v0 -.L802975F8: -/* 100C08 802975F8 01EB001A */ div $zero, $t7, $t3 -/* 100C0C 802975FC 15600002 */ bnez $t3, .L80297608 -/* 100C10 80297600 00000000 */ nop -/* 100C14 80297604 0007000D */ break 7 -.L80297608: -/* 100C18 80297608 2401FFFF */ li $at, -1 -/* 100C1C 8029760C 15610004 */ bne $t3, $at, .L80297620 -/* 100C20 80297610 3C018000 */ lui $at, 0x8000 -/* 100C24 80297614 15E10002 */ bne $t7, $at, .L80297620 -/* 100C28 80297618 00000000 */ nop -/* 100C2C 8029761C 0006000D */ break 6 -.L80297620: -/* 100C30 80297620 0000C012 */ mflo $t8 -/* 100C34 80297624 33190FFF */ andi $t9, $t8, 0xfff -/* 100C38 80297628 3C010700 */ lui $at, 0x700 -/* 100C3C 8029762C 308F0FFF */ andi $t7, $a0, 0xfff -/* 100C40 80297630 000FC300 */ sll $t8, $t7, 0xc -/* 100C44 80297634 03217025 */ or $t6, $t9, $at -/* 100C48 80297638 01D8C825 */ or $t9, $t6, $t8 -/* 100C4C 8029763C ACF90004 */ sw $t9, 4($a3) -/* 100C50 80297640 8C620000 */ lw $v0, ($v1) -/* 100C54 80297644 3C0EE700 */ lui $t6, 0xe700 -/* 100C58 80297648 25390007 */ addiu $t9, $t1, 7 -/* 100C5C 8029764C 244F0008 */ addiu $t7, $v0, 8 -/* 100C60 80297650 AC6F0000 */ sw $t7, ($v1) -/* 100C64 80297654 AC400004 */ sw $zero, 4($v0) -/* 100C68 80297658 AC4E0000 */ sw $t6, ($v0) -/* 100C6C 8029765C 00406025 */ move $t4, $v0 -/* 100C70 80297660 8C620000 */ lw $v0, ($v1) -/* 100C74 80297664 001978C3 */ sra $t7, $t9, 3 -/* 100C78 80297668 31EE01FF */ andi $t6, $t7, 0x1ff -/* 100C7C 8029766C 24580008 */ addiu $t8, $v0, 8 -/* 100C80 80297670 AC780000 */ sw $t8, ($v1) -/* 100C84 80297674 000EC240 */ sll $t8, $t6, 9 -/* 100C88 80297678 3C0F0008 */ lui $t7, (0x00080200 >> 16) # lui $t7, 8 -/* 100C8C 8029767C 35EF0200 */ ori $t7, (0x00080200 & 0xFFFF) # ori $t7, $t7, 0x200 -/* 100C90 80297680 0308C825 */ or $t9, $t8, $t0 -/* 100C94 80297684 AC590000 */ sw $t9, ($v0) -/* 100C98 80297688 AC4F0004 */ sw $t7, 4($v0) -/* 100C9C 8029768C 00406825 */ move $t5, $v0 -/* 100CA0 80297690 8C620000 */ lw $v0, ($v1) -/* 100CA4 80297694 24AFFFFF */ addiu $t7, $a1, -1 -/* 100CA8 80297698 3C18F200 */ lui $t8, 0xf200 -/* 100CAC 8029769C 244E0008 */ addiu $t6, $v0, 8 -/* 100CB0 802976A0 AC6E0000 */ sw $t6, ($v1) -/* 100CB4 802976A4 AFA20004 */ sw $v0, 4($sp) -/* 100CB8 802976A8 000F7080 */ sll $t6, $t7, 2 -/* 100CBC 802976AC AC580000 */ sw $t8, ($v0) -/* 100CC0 802976B0 31D80FFF */ andi $t8, $t6, 0xfff -/* 100CC4 802976B4 00187B00 */ sll $t7, $t8, 0xc -/* 100CC8 802976B8 24CEFFFF */ addiu $t6, $a2, -1 -/* 100CCC 802976BC 000EC080 */ sll $t8, $t6, 2 -/* 100CD0 802976C0 330E0FFF */ andi $t6, $t8, 0xfff -/* 100CD4 802976C4 01EEC025 */ or $t8, $t7, $t6 -/* 100CD8 802976C8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 100CDC 802976CC AC580004 */ sw $t8, 4($v0) -/* 100CE0 802976D0 03E00008 */ jr $ra -/* 100CE4 802976D4 0040C825 */ move $t9, $v0 diff --git a/asm/non_matchings/actors/func_80297A50.s b/asm/non_matchings/actors/func_80297A50.s deleted file mode 100644 index 50a541155..000000000 --- a/asm/non_matchings/actors/func_80297A50.s +++ /dev/null @@ -1,115 +0,0 @@ -glabel func_80297A50 -/* 101060 80297A50 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e -/* 101064 80297A54 8DCEDB40 */ lw $t6, %lo(camera1)($t6) -/* 101068 80297A58 240100B8 */ li $at, 184 -/* 10106C 80297A5C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 101070 80297A60 008E7823 */ subu $t7, $a0, $t6 -/* 101074 80297A64 01E1001A */ div $zero, $t7, $at -/* 101078 80297A68 0000C012 */ mflo $t8 -/* 10107C 80297A6C 0018C880 */ sll $t9, $t8, 2 -/* 101080 80297A70 3C018015 */ lui $at, %hi(D_80150130) -/* 101084 80297A74 00390821 */ addu $at, $at, $t9 -/* 101088 80297A78 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 10108C 80297A7C AFB00020 */ sw $s0, 0x20($sp) -/* 101090 80297A80 AFA5002C */ sw $a1, 0x2c($sp) -/* 101094 80297A84 3C01802C */ lui $at, %hi(D_802B95F8) # $at, 0x802c -/* 101098 80297A88 C42695F8 */ lwc1 $f6, %lo(D_802B95F8)($at) -/* 10109C 80297A8C 00C08025 */ move $s0, $a2 -/* 1010A0 80297A90 AFBF0024 */ sw $ra, 0x24($sp) -/* 1010A4 80297A94 24C50018 */ addiu $a1, $a2, 0x18 -/* 1010A8 80297A98 94860026 */ lhu $a2, 0x26($a0) -/* 1010AC 80297A9C 24070000 */ li $a3, 0 -/* 1010B0 80297AA0 E7A40010 */ swc1 $f4, 0x10($sp) -/* 1010B4 80297AA4 0C0AE034 */ jal func_802B80D0 -/* 1010B8 80297AA8 E7A60014 */ swc1 $f6, 0x14($sp) -/* 1010BC 80297AAC 44804000 */ mtc1 $zero, $f8 -/* 1010C0 80297AB0 8FA4002C */ lw $a0, 0x2c($sp) -/* 1010C4 80297AB4 4608003C */ c.lt.s $f0, $f8 -/* 1010C8 80297AB8 00000000 */ nop -/* 1010CC 80297ABC 4503004B */ bc1tl .L80297BEC -/* 1010D0 80297AC0 8FBF0024 */ lw $ra, 0x24($sp) -/* 1010D4 80297AC4 C60A0018 */ lwc1 $f10, 0x18($s0) -/* 1010D8 80297AC8 00002825 */ move $a1, $zero -/* 1010DC 80297ACC E48A0030 */ swc1 $f10, 0x30($a0) -/* 1010E0 80297AD0 C610001C */ lwc1 $f16, 0x1c($s0) -/* 1010E4 80297AD4 E4900034 */ swc1 $f16, 0x34($a0) -/* 1010E8 80297AD8 C6120020 */ lwc1 $f18, 0x20($s0) -/* 1010EC 80297ADC 0C0AD3FE */ jal func_802B4FF8 -/* 1010F0 80297AE0 E4920038 */ swc1 $f18, 0x38($a0) -/* 1010F4 80297AE4 50400041 */ beql $v0, $zero, .L80297BEC -/* 1010F8 80297AE8 8FBF0024 */ lw $ra, 0x24($sp) -/* 1010FC 80297AEC 96080006 */ lhu $t0, 6($s0) -/* 101100 80297AF0 2D010005 */ sltiu $at, $t0, 5 -/* 101104 80297AF4 1020003C */ beqz $at, .L80297BE8 -/* 101108 80297AF8 00084080 */ sll $t0, $t0, 2 -/* 10110C 80297AFC 3C01802C */ lui $at, %hi(jpt_802B95FC) -/* 101110 80297B00 00280821 */ addu $at, $at, $t0 -/* 101114 80297B04 8C2895FC */ lw $t0, %lo(jpt_802B95FC)($at) -/* 101118 80297B08 01000008 */ jr $t0 -/* 10111C 80297B0C 00000000 */ nop -glabel L80297B10 -/* 101120 80297B10 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 101124 80297B14 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 101128 80297B18 8C820000 */ lw $v0, ($a0) -/* 10112C 80297B1C 3C0B0601 */ lui $t3, %hi(D_06013C00) # $t3, 0x601 -/* 101130 80297B20 256B3C00 */ addiu $t3, %lo(D_06013C00) # addiu $t3, $t3, 0x3c00 -/* 101134 80297B24 24490008 */ addiu $t1, $v0, 8 -/* 101138 80297B28 AC890000 */ sw $t1, ($a0) -/* 10113C 80297B2C 3C0A0600 */ lui $t2, 0x600 -/* 101140 80297B30 AC4A0000 */ sw $t2, ($v0) -/* 101144 80297B34 1000002C */ b .L80297BE8 -/* 101148 80297B38 AC4B0004 */ sw $t3, 4($v0) -glabel L80297B3C -/* 10114C 80297B3C 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 101150 80297B40 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 101154 80297B44 8C820000 */ lw $v0, ($a0) -/* 101158 80297B48 3C0E0601 */ lui $t6, %hi(D_06013CA0) # $t6, 0x601 -/* 10115C 80297B4C 25CE3CA0 */ addiu $t6, %lo(D_06013CA0) # addiu $t6, $t6, 0x3ca0 -/* 101160 80297B50 244C0008 */ addiu $t4, $v0, 8 -/* 101164 80297B54 AC8C0000 */ sw $t4, ($a0) -/* 101168 80297B58 3C0D0600 */ lui $t5, 0x600 -/* 10116C 80297B5C AC4D0000 */ sw $t5, ($v0) -/* 101170 80297B60 10000021 */ b .L80297BE8 -/* 101174 80297B64 AC4E0004 */ sw $t6, 4($v0) -glabel L80297B68 -/* 101178 80297B68 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 10117C 80297B6C 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 101180 80297B70 8C820000 */ lw $v0, ($a0) -/* 101184 80297B74 3C190601 */ lui $t9, %hi(D_06013D20) # $t9, 0x601 -/* 101188 80297B78 27393D20 */ addiu $t9, %lo(D_06013D20) # addiu $t9, $t9, 0x3d20 -/* 10118C 80297B7C 244F0008 */ addiu $t7, $v0, 8 -/* 101190 80297B80 AC8F0000 */ sw $t7, ($a0) -/* 101194 80297B84 3C180600 */ lui $t8, 0x600 -/* 101198 80297B88 AC580000 */ sw $t8, ($v0) -/* 10119C 80297B8C 10000016 */ b .L80297BE8 -/* 1011A0 80297B90 AC590004 */ sw $t9, 4($v0) -glabel L80297B94 -/* 1011A4 80297B94 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 1011A8 80297B98 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 1011AC 80297B9C 8C820000 */ lw $v0, ($a0) -/* 1011B0 80297BA0 3C0A0601 */ lui $t2, %hi(D_06013DA0) # $t2, 0x601 -/* 1011B4 80297BA4 254A3DA0 */ addiu $t2, %lo(D_06013DA0) # addiu $t2, $t2, 0x3da0 -/* 1011B8 80297BA8 24480008 */ addiu $t0, $v0, 8 -/* 1011BC 80297BAC AC880000 */ sw $t0, ($a0) -/* 1011C0 80297BB0 3C090600 */ lui $t1, 0x600 -/* 1011C4 80297BB4 AC490000 */ sw $t1, ($v0) -/* 1011C8 80297BB8 1000000B */ b .L80297BE8 -/* 1011CC 80297BBC AC4A0004 */ sw $t2, 4($v0) -glabel L80297BC0 -/* 1011D0 80297BC0 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 1011D4 80297BC4 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 1011D8 80297BC8 8C820000 */ lw $v0, ($a0) -/* 1011DC 80297BCC 3C0D0601 */ lui $t5, %hi(D_06013E20) # $t5, 0x601 -/* 1011E0 80297BD0 25AD3E20 */ addiu $t5, %lo(D_06013E20) # addiu $t5, $t5, 0x3e20 -/* 1011E4 80297BD4 244B0008 */ addiu $t3, $v0, 8 -/* 1011E8 80297BD8 AC8B0000 */ sw $t3, ($a0) -/* 1011EC 80297BDC 3C0C0600 */ lui $t4, 0x600 -/* 1011F0 80297BE0 AC4C0000 */ sw $t4, ($v0) -/* 1011F4 80297BE4 AC4D0004 */ sw $t5, 4($v0) -.L80297BE8: -/* 1011F8 80297BE8 8FBF0024 */ lw $ra, 0x24($sp) -.L80297BEC: -/* 1011FC 80297BEC 8FB00020 */ lw $s0, 0x20($sp) -/* 101200 80297BF0 27BD0028 */ addiu $sp, $sp, 0x28 -/* 101204 80297BF4 03E00008 */ jr $ra -/* 101208 80297BF8 00000000 */ nop diff --git a/asm/non_matchings/actors/func_802986B4.s b/asm/non_matchings/actors/func_802986B4.s deleted file mode 100644 index 6a91fae63..000000000 --- a/asm/non_matchings/actors/func_802986B4.s +++ /dev/null @@ -1,273 +0,0 @@ -glabel func_802986B4 -/* 101CC4 802986B4 3C030601 */ lui $v1, %hi(D_06014200) # $v1, 0x601 -/* 101CC8 802986B8 24634200 */ addiu $v1, %lo(D_06014200) # addiu $v1, $v1, 0x4200 -/* 101CCC 802986BC 00037602 */ srl $t6, $v1, 0x18 -/* 101CD0 802986C0 000E7880 */ sll $t7, $t6, 2 -/* 101CD4 802986C4 3C188015 */ lui $t8, %hi(gSegmentTable) -/* 101CD8 802986C8 030FC021 */ addu $t8, $t8, $t7 -/* 101CDC 802986CC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 101CE0 802986D0 8F180258 */ lw $t8, %lo(gSegmentTable)($t8) -/* 101CE4 802986D4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 101CE8 802986D8 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 101CEC 802986DC 0061C824 */ and $t9, $v1, $at -/* 101CF0 802986E0 3C018000 */ lui $at, 0x8000 -/* 101CF4 802986E4 03194821 */ addu $t1, $t8, $t9 -/* 101CF8 802986E8 01214821 */ addu $t1, $t1, $at -/* 101CFC 802986EC 3C01802C */ lui $at, %hi(D_802B962C) # $at, 0x802c -/* 101D00 802986F0 C424962C */ lwc1 $f4, %lo(D_802B962C)($at) -/* 101D04 802986F4 AFB00030 */ sw $s0, 0x30($sp) -/* 101D08 802986F8 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 101D0C 802986FC 3C018016 */ lui $at, %hi(D_8015F704) # $at, 0x8016 -/* 101D10 80298700 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 101D14 80298704 E424F704 */ swc1 $f4, %lo(D_8015F704)($at) -/* 101D18 80298708 8E020000 */ lw $v0, ($s0) -/* 101D1C 8029870C AFBF0054 */ sw $ra, 0x54($sp) -/* 101D20 80298710 AFBE0050 */ sw $fp, 0x50($sp) -/* 101D24 80298714 244A0008 */ addiu $t2, $v0, 8 -/* 101D28 80298718 AFB7004C */ sw $s7, 0x4c($sp) -/* 101D2C 8029871C AFB60048 */ sw $s6, 0x48($sp) -/* 101D30 80298720 AFB50044 */ sw $s5, 0x44($sp) -/* 101D34 80298724 AFB40040 */ sw $s4, 0x40($sp) -/* 101D38 80298728 AFB3003C */ sw $s3, 0x3c($sp) -/* 101D3C 8029872C AFB20038 */ sw $s2, 0x38($sp) -/* 101D40 80298730 AFB10034 */ sw $s1, 0x34($sp) -/* 101D44 80298734 F7B60028 */ sdc1 $f22, 0x28($sp) -/* 101D48 80298738 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 101D4C 8029873C AFA600B0 */ sw $a2, 0xb0($sp) -/* 101D50 80298740 AE0A0000 */ sw $t2, ($s0) -/* 101D54 80298744 3C0BBB00 */ lui $t3, (0xBB000001 >> 16) # lui $t3, 0xbb00 -/* 101D58 80298748 356B0001 */ ori $t3, (0xBB000001 & 0xFFFF) # ori $t3, $t3, 1 -/* 101D5C 8029874C 240CFFFF */ li $t4, -1 -/* 101D60 80298750 AC4C0004 */ sw $t4, 4($v0) -/* 101D64 80298754 AC4B0000 */ sw $t3, ($v0) -/* 101D68 80298758 8E020000 */ lw $v0, ($s0) -/* 101D6C 8029875C 3C0EFC12 */ lui $t6, (0xFC127E24 >> 16) # lui $t6, 0xfc12 -/* 101D70 80298760 35CE7E24 */ ori $t6, (0xFC127E24 & 0xFFFF) # ori $t6, $t6, 0x7e24 -/* 101D74 80298764 244D0008 */ addiu $t5, $v0, 8 -/* 101D78 80298768 AE0D0000 */ sw $t5, ($s0) -/* 101D7C 8029876C 240FF3F9 */ li $t7, -3079 -/* 101D80 80298770 AC4F0004 */ sw $t7, 4($v0) -/* 101D84 80298774 AC4E0000 */ sw $t6, ($v0) -/* 101D88 80298778 8E020000 */ lw $v0, ($s0) -/* 101D8C 8029877C 3C0A0055 */ lui $t2, (0x00553078 >> 16) # lui $t2, 0x55 -/* 101D90 80298780 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 101D94 80298784 24580008 */ addiu $t8, $v0, 8 -/* 101D98 80298788 AE180000 */ sw $t8, ($s0) -/* 101D9C 8029878C 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 101DA0 80298790 354A3078 */ ori $t2, (0x00553078 & 0xFFFF) # ori $t2, $t2, 0x3078 -/* 101DA4 80298794 AC4A0004 */ sw $t2, 4($v0) -/* 101DA8 80298798 AC590000 */ sw $t9, ($v0) -/* 101DAC 8029879C 852B0000 */ lh $t3, ($t1) -/* 101DB0 802987A0 24168000 */ li $s6, -32768 -/* 101DB4 802987A4 00A09825 */ move $s3, $a1 -/* 101DB8 802987A8 0080A025 */ move $s4, $a0 -/* 101DBC 802987AC 0000A825 */ move $s5, $zero -/* 101DC0 802987B0 12CB007B */ beq $s6, $t3, .L802989A0 -/* 101DC4 802987B4 01208825 */ move $s1, $t1 -/* 101DC8 802987B8 86220000 */ lh $v0, ($s1) -/* 101DCC 802987BC 3C01802C */ lui $at, %hi(D_802B9630) # $at, 0x802c -/* 101DD0 802987C0 3C1E8015 */ lui $fp, %hi(D_80150130) # $fp, 0x8015 -/* 101DD4 802987C4 4480A000 */ mtc1 $zero, $f20 -/* 101DD8 802987C8 27DE0130 */ addiu $fp, %lo(D_80150130) # addiu $fp, $fp, 0x130 -/* 101DDC 802987CC C4369630 */ lwc1 $f22, %lo(D_802B9630)($at) -/* 101DE0 802987D0 AFA9009C */ sw $t1, 0x9c($sp) -/* 101DE4 802987D4 27B70088 */ addiu $s7, $sp, 0x88 -/* 101DE8 802987D8 3C120600 */ lui $s2, 0x600 -.L802987DC: -/* 101DEC 802987DC 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e -/* 101DF0 802987E0 8DCEDB40 */ lw $t6, %lo(camera1)($t6) -/* 101DF4 802987E4 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016 -/* 101DF8 802987E8 C42AF784 */ lwc1 $f10, %lo(gCourseDirection)($at) -/* 101DFC 802987EC 240100B8 */ li $at, 184 -/* 101E00 802987F0 028E7823 */ subu $t7, $s4, $t6 -/* 101E04 802987F4 01E1001A */ div $zero, $t7, $at -/* 101E08 802987F8 44823000 */ mtc1 $v0, $f6 -/* 101E0C 802987FC 0000C012 */ mflo $t8 -/* 101E10 80298800 0018C880 */ sll $t9, $t8, 2 -/* 101E14 80298804 46803220 */ cvt.s.w $f8, $f6 -/* 101E18 80298808 03D95021 */ addu $t2, $fp, $t9 -/* 101E1C 8029880C 4407A000 */ mfc1 $a3, $f20 -/* 101E20 80298810 02802025 */ move $a0, $s4 -/* 101E24 80298814 02E02825 */ move $a1, $s7 -/* 101E28 80298818 460A4402 */ mul.s $f16, $f8, $f10 -/* 101E2C 8029881C C54A0000 */ lwc1 $f10, ($t2) -/* 101E30 80298820 E7B00088 */ swc1 $f16, 0x88($sp) -/* 101E34 80298824 862C0002 */ lh $t4, 2($s1) -/* 101E38 80298828 448C9000 */ mtc1 $t4, $f18 -/* 101E3C 8029882C 00000000 */ nop -/* 101E40 80298830 46809120 */ cvt.s.w $f4, $f18 -/* 101E44 80298834 E7A4008C */ swc1 $f4, 0x8c($sp) -/* 101E48 80298838 862D0004 */ lh $t5, 4($s1) -/* 101E4C 8029883C 448D3000 */ mtc1 $t5, $f6 -/* 101E50 80298840 00000000 */ nop -/* 101E54 80298844 46803220 */ cvt.s.w $f8, $f6 -/* 101E58 80298848 E7A80090 */ swc1 $f8, 0x90($sp) -/* 101E5C 8029884C 96860026 */ lhu $a2, 0x26($s4) -/* 101E60 80298850 E7B60014 */ swc1 $f22, 0x14($sp) -/* 101E64 80298854 0C0AE034 */ jal func_802B80D0 -/* 101E68 80298858 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 101E6C 8029885C 4600A03C */ c.lt.s $f20, $f0 -/* 101E70 80298860 3C018016 */ lui $at, %hi(D_8015F704) # $at, 0x8016 -/* 101E74 80298864 02602025 */ move $a0, $s3 -/* 101E78 80298868 45020049 */ bc1fl .L80298990 -/* 101E7C 8029886C 86220008 */ lh $v0, 8($s1) -/* 101E80 80298870 C430F704 */ lwc1 $f16, %lo(D_8015F704)($at) -/* 101E84 80298874 3C018016 */ lui $at, %hi(D_8015F704) # $at, 0x8016 -/* 101E88 80298878 4610003C */ c.lt.s $f0, $f16 -/* 101E8C 8029887C 00000000 */ nop -/* 101E90 80298880 45020004 */ bc1fl .L80298894 -/* 101E94 80298884 C7B20088 */ lwc1 $f18, 0x88($sp) -/* 101E98 80298888 E420F704 */ swc1 $f0, %lo(D_8015F704)($at) -/* 101E9C 8029888C 0220A825 */ move $s5, $s1 -/* 101EA0 80298890 C7B20088 */ lwc1 $f18, 0x88($sp) -.L80298894: -/* 101EA4 80298894 3C0B8015 */ lui $t3, %hi(D_80150112) # $t3, 0x8015 -/* 101EA8 80298898 E6720030 */ swc1 $f18, 0x30($s3) -/* 101EAC 8029889C C7A4008C */ lwc1 $f4, 0x8c($sp) -/* 101EB0 802988A0 E6640034 */ swc1 $f4, 0x34($s3) -/* 101EB4 802988A4 C7A60090 */ lwc1 $f6, 0x90($sp) -/* 101EB8 802988A8 E6660038 */ swc1 $f6, 0x38($s3) -/* 101EBC 802988AC 956B0112 */ lhu $t3, %lo(D_80150112)($t3) -/* 101EC0 802988B0 29610080 */ slti $at, $t3, 0x80 -/* 101EC4 802988B4 50200075 */ beql $at, $zero, .L80298A8C -/* 101EC8 802988B8 8FBF0054 */ lw $ra, 0x54($sp) -/* 101ECC 802988BC 0C0AD3FE */ jal func_802B4FF8 -/* 101ED0 802988C0 00002825 */ move $a1, $zero -/* 101ED4 802988C4 50400071 */ beql $v0, $zero, .L80298A8C -/* 101ED8 802988C8 8FBF0054 */ lw $ra, 0x54($sp) -/* 101EDC 802988CC 962C0006 */ lhu $t4, 6($s1) -/* 101EE0 802988D0 2D810005 */ sltiu $at, $t4, 5 -/* 101EE4 802988D4 1020002D */ beqz $at, .L8029898C -/* 101EE8 802988D8 000C6080 */ sll $t4, $t4, 2 -/* 101EEC 802988DC 3C01802C */ lui $at, %hi(jpt_802B9634) -/* 101EF0 802988E0 002C0821 */ addu $at, $at, $t4 -/* 101EF4 802988E4 8C2C9634 */ lw $t4, %lo(jpt_802B9634)($at) -/* 101EF8 802988E8 01800008 */ jr $t4 -/* 101EFC 802988EC 00000000 */ nop -glabel L802988F0 -/* 101F00 802988F0 8E020000 */ lw $v0, ($s0) -/* 101F04 802988F4 3C0E0601 */ lui $t6, %hi(D_06013C00) # $t6, 0x601 -/* 101F08 802988F8 25CE3C00 */ addiu $t6, %lo(D_06013C00) # addiu $t6, $t6, 0x3c00 -/* 101F0C 802988FC 244D0008 */ addiu $t5, $v0, 8 -/* 101F10 80298900 AE0D0000 */ sw $t5, ($s0) -/* 101F14 80298904 AC4E0004 */ sw $t6, 4($v0) -/* 101F18 80298908 10000020 */ b .L8029898C -/* 101F1C 8029890C AC520000 */ sw $s2, ($v0) -glabel L80298910 -/* 101F20 80298910 8E020000 */ lw $v0, ($s0) -/* 101F24 80298914 3C180601 */ lui $t8, %hi(D_06013CA0) # $t8, 0x601 -/* 101F28 80298918 27183CA0 */ addiu $t8, %lo(D_06013CA0) # addiu $t8, $t8, 0x3ca0 -/* 101F2C 8029891C 244F0008 */ addiu $t7, $v0, 8 -/* 101F30 80298920 AE0F0000 */ sw $t7, ($s0) -/* 101F34 80298924 AC580004 */ sw $t8, 4($v0) -/* 101F38 80298928 10000018 */ b .L8029898C -/* 101F3C 8029892C AC520000 */ sw $s2, ($v0) -glabel L80298930 -/* 101F40 80298930 8E020000 */ lw $v0, ($s0) -/* 101F44 80298934 3C0A0601 */ lui $t2, %hi(D_06013D20) # $t2, 0x601 -/* 101F48 80298938 254A3D20 */ addiu $t2, %lo(D_06013D20) # addiu $t2, $t2, 0x3d20 -/* 101F4C 8029893C 24590008 */ addiu $t9, $v0, 8 -/* 101F50 80298940 AE190000 */ sw $t9, ($s0) -/* 101F54 80298944 AC4A0004 */ sw $t2, 4($v0) -/* 101F58 80298948 10000010 */ b .L8029898C -/* 101F5C 8029894C AC520000 */ sw $s2, ($v0) -glabel L80298950 -/* 101F60 80298950 8E020000 */ lw $v0, ($s0) -/* 101F64 80298954 3C0C0601 */ lui $t4, %hi(D_06013DA0) # $t4, 0x601 -/* 101F68 80298958 258C3DA0 */ addiu $t4, %lo(D_06013DA0) # addiu $t4, $t4, 0x3da0 -/* 101F6C 8029895C 244B0008 */ addiu $t3, $v0, 8 -/* 101F70 80298960 AE0B0000 */ sw $t3, ($s0) -/* 101F74 80298964 AC4C0004 */ sw $t4, 4($v0) -/* 101F78 80298968 10000008 */ b .L8029898C -/* 101F7C 8029896C AC520000 */ sw $s2, ($v0) -glabel L80298970 -/* 101F80 80298970 8E020000 */ lw $v0, ($s0) -/* 101F84 80298974 3C0E0601 */ lui $t6, %hi(D_06013E20) # $t6, 0x601 -/* 101F88 80298978 25CE3E20 */ addiu $t6, %lo(D_06013E20) # addiu $t6, $t6, 0x3e20 -/* 101F8C 8029897C 244D0008 */ addiu $t5, $v0, 8 -/* 101F90 80298980 AE0D0000 */ sw $t5, ($s0) -/* 101F94 80298984 AC4E0004 */ sw $t6, 4($v0) -/* 101F98 80298988 AC520000 */ sw $s2, ($v0) -.L8029898C: -/* 101F9C 8029898C 86220008 */ lh $v0, 8($s1) -.L80298990: -/* 101FA0 80298990 26310008 */ addiu $s1, $s1, 8 -/* 101FA4 80298994 16C2FF91 */ bne $s6, $v0, .L802987DC -/* 101FA8 80298998 00000000 */ nop -/* 101FAC 8029899C 8FA9009C */ lw $t1, 0x9c($sp) -.L802989A0: -/* 101FB0 802989A0 3C0F800E */ lui $t7, %hi(camera1) # $t7, 0x800e -/* 101FB4 802989A4 8DEFDB40 */ lw $t7, %lo(camera1)($t7) -/* 101FB8 802989A8 568F0038 */ bnel $s4, $t7, .L80298A8C -/* 101FBC 802989AC 8FBF0054 */ lw $ra, 0x54($sp) -/* 101FC0 802989B0 12A00035 */ beqz $s5, .L80298A88 -/* 101FC4 802989B4 3C128016 */ lui $s2, %hi(D_8015F700) # $s2, 0x8016 -/* 101FC8 802989B8 2652F700 */ addiu $s2, %lo(D_8015F700) # addiu $s2, $s2, -0x900 -/* 101FCC 802989BC 96420000 */ lhu $v0, ($s2) -/* 101FD0 802989C0 02A98823 */ subu $s1, $s5, $t1 -/* 101FD4 802989C4 3C0A8016 */ lui $t2, %hi(D_8015F702) # $t2, 0x8016 -/* 101FD8 802989C8 1440002E */ bnez $v0, .L80298A84 -/* 101FDC 802989CC 244FFFFF */ addiu $t7, $v0, -1 -/* 101FE0 802989D0 954AF702 */ lhu $t2, %lo(D_8015F702)($t2) -/* 101FE4 802989D4 0011C0C3 */ sra $t8, $s1, 3 -/* 101FE8 802989D8 3311FFFF */ andi $s1, $t8, 0xffff -/* 101FEC 802989DC 1151002A */ beq $t2, $s1, .L80298A88 -/* 101FF0 802989E0 3C018016 */ lui $at, %hi(D_8015F704) # $at, 0x8016 -/* 101FF4 802989E4 C428F704 */ lwc1 $f8, %lo(D_8015F704)($at) -/* 101FF8 802989E8 3C01802C */ lui $at, %hi(D_802B9648) # $at, 0x802c -/* 101FFC 802989EC C42A9648 */ lwc1 $f10, %lo(D_802B9648)($at) -/* 102000 802989F0 3C108016 */ lui $s0, %hi(D_8015F708) # $s0, 0x8016 -/* 102004 802989F4 2610F708 */ addiu $s0, %lo(D_8015F708) # addiu $s0, $s0, -0x8f8 -/* 102008 802989F8 460A403C */ c.lt.s $f8, $f10 -/* 10200C 802989FC 3C131901 */ lui $s3, (0x1901904D >> 16) # lui $s3, 0x1901 -/* 102010 80298A00 3673904D */ ori $s3, (0x1901904D & 0xFFFF) # ori $s3, $s3, 0x904d -/* 102014 80298A04 02002025 */ move $a0, $s0 -/* 102018 80298A08 45020020 */ bc1fl .L80298A8C -/* 10201C 80298A0C 8FBF0054 */ lw $ra, 0x54($sp) -/* 102020 80298A10 0C032678 */ jal func_800C99E0 -/* 102024 80298A14 02602825 */ move $a1, $s3 -/* 102028 80298A18 86AB0000 */ lh $t3, ($s5) -/* 10202C 80298A1C 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016 -/* 102030 80298A20 C424F784 */ lwc1 $f4, %lo(gCourseDirection)($at) -/* 102034 80298A24 448B8000 */ mtc1 $t3, $f16 -/* 102038 80298A28 3C018016 */ lui $at, %hi(D_8015F702) # $at, 0x8016 -/* 10203C 80298A2C 3C05802C */ lui $a1, %hi(D_802B91C8) # $a1, 0x802c -/* 102040 80298A30 468084A0 */ cvt.s.w $f18, $f16 -/* 102044 80298A34 24A591C8 */ addiu $a1, %lo(D_802B91C8) # addiu $a1, $a1, -0x6e38 -/* 102048 80298A38 02002025 */ move $a0, $s0 -/* 10204C 80298A3C 02603025 */ move $a2, $s3 -/* 102050 80298A40 46049182 */ mul.s $f6, $f18, $f4 -/* 102054 80298A44 E6060000 */ swc1 $f6, ($s0) -/* 102058 80298A48 86AC0002 */ lh $t4, 2($s5) -/* 10205C 80298A4C 448C4000 */ mtc1 $t4, $f8 -/* 102060 80298A50 00000000 */ nop -/* 102064 80298A54 468042A0 */ cvt.s.w $f10, $f8 -/* 102068 80298A58 E60A0004 */ swc1 $f10, 4($s0) -/* 10206C 80298A5C 86AD0004 */ lh $t5, 4($s5) -/* 102070 80298A60 448D8000 */ mtc1 $t5, $f16 -/* 102074 80298A64 00000000 */ nop -/* 102078 80298A68 468084A0 */ cvt.s.w $f18, $f16 -/* 10207C 80298A6C E6120008 */ swc1 $f18, 8($s0) -/* 102080 80298A70 0C03262E */ jal func_800C98B8 -/* 102084 80298A74 A431F702 */ sh $s1, %lo(D_8015F702)($at) -/* 102088 80298A78 240E00F0 */ li $t6, 240 -/* 10208C 80298A7C 10000002 */ b .L80298A88 -/* 102090 80298A80 A64E0000 */ sh $t6, ($s2) -.L80298A84: -/* 102094 80298A84 A64F0000 */ sh $t7, ($s2) -.L80298A88: -/* 102098 80298A88 8FBF0054 */ lw $ra, 0x54($sp) -.L80298A8C: -/* 10209C 80298A8C D7B40020 */ ldc1 $f20, 0x20($sp) -/* 1020A0 80298A90 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 1020A4 80298A94 8FB00030 */ lw $s0, 0x30($sp) -/* 1020A8 80298A98 8FB10034 */ lw $s1, 0x34($sp) -/* 1020AC 80298A9C 8FB20038 */ lw $s2, 0x38($sp) -/* 1020B0 80298AA0 8FB3003C */ lw $s3, 0x3c($sp) -/* 1020B4 80298AA4 8FB40040 */ lw $s4, 0x40($sp) -/* 1020B8 80298AA8 8FB50044 */ lw $s5, 0x44($sp) -/* 1020BC 80298AAC 8FB60048 */ lw $s6, 0x48($sp) -/* 1020C0 80298AB0 8FB7004C */ lw $s7, 0x4c($sp) -/* 1020C4 80298AB4 8FBE0050 */ lw $fp, 0x50($sp) -/* 1020C8 80298AB8 03E00008 */ jr $ra -/* 1020CC 80298ABC 27BD00A8 */ addiu $sp, $sp, 0xa8 diff --git a/asm/non_matchings/actors/func_80298AC0.s b/asm/non_matchings/actors/func_80298AC0.s deleted file mode 100644 index fe119e820..000000000 --- a/asm/non_matchings/actors/func_80298AC0.s +++ /dev/null @@ -1,123 +0,0 @@ -glabel func_80298AC0 -/* 1020D0 80298AC0 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 1020D4 80298AC4 3C030601 */ lui $v1, %hi(D_06013F78) # $v1, 0x601 -/* 1020D8 80298AC8 24633F78 */ addiu $v1, %lo(D_06013F78) # addiu $v1, $v1, 0x3f78 -/* 1020DC 80298ACC 00037602 */ srl $t6, $v1, 0x18 -/* 1020E0 80298AD0 000E7880 */ sll $t7, $t6, 2 -/* 1020E4 80298AD4 3C188015 */ lui $t8, %hi(gSegmentTable) -/* 1020E8 80298AD8 030FC021 */ addu $t8, $t8, $t7 -/* 1020EC 80298ADC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 1020F0 80298AE0 8F180258 */ lw $t8, %lo(gSegmentTable)($t8) -/* 1020F4 80298AE4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 1020F8 80298AE8 0061C824 */ and $t9, $v1, $at -/* 1020FC 80298AEC AFB00034 */ sw $s0, 0x34($sp) -/* 102100 80298AF0 3C018000 */ lui $at, 0x8000 -/* 102104 80298AF4 03198021 */ addu $s0, $t8, $t9 -/* 102108 80298AF8 AFBF004C */ sw $ra, 0x4c($sp) -/* 10210C 80298AFC AFB50048 */ sw $s5, 0x48($sp) -/* 102110 80298B00 AFB40044 */ sw $s4, 0x44($sp) -/* 102114 80298B04 AFB30040 */ sw $s3, 0x40($sp) -/* 102118 80298B08 AFB2003C */ sw $s2, 0x3c($sp) -/* 10211C 80298B0C AFB10038 */ sw $s1, 0x38($sp) -/* 102120 80298B10 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 102124 80298B14 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 102128 80298B18 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 10212C 80298B1C 02018021 */ addu $s0, $s0, $at -/* 102130 80298B20 86020000 */ lh $v0, ($s0) -/* 102134 80298B24 24118000 */ li $s1, -32768 -/* 102138 80298B28 0080A825 */ move $s5, $a0 -/* 10213C 80298B2C 1222004D */ beq $s1, $v0, .L80298C64 -/* 102140 80298B30 3C01802C */ lui $at, %hi(D_802B964C) # $at, 0x802c -/* 102144 80298B34 C438964C */ lwc1 $f24, %lo(D_802B964C)($at) -/* 102148 80298B38 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 10214C 80298B3C 4481B000 */ mtc1 $at, $f22 -/* 102150 80298B40 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 102154 80298B44 3C128016 */ lui $s2, %hi(gCourseDirection) # $s2, 0x8016 -/* 102158 80298B48 4481A000 */ mtc1 $at, $f20 -/* 10215C 80298B4C 2652F784 */ addiu $s2, %lo(gCourseDirection) # addiu $s2, $s2, -0x87c -/* 102160 80298B50 24140001 */ li $s4, 1 -/* 102164 80298B54 27B30064 */ addiu $s3, $sp, 0x64 -/* 102168 80298B58 44822000 */ mtc1 $v0, $f4 -.L80298B5C: -/* 10216C 80298B5C C6480000 */ lwc1 $f8, ($s2) -/* 102170 80298B60 4406A000 */ mfc1 $a2, $f20 -/* 102174 80298B64 468021A0 */ cvt.s.w $f6, $f4 -/* 102178 80298B68 4407B000 */ mfc1 $a3, $f22 -/* 10217C 80298B6C 02A02025 */ move $a0, $s5 -/* 102180 80298B70 02602825 */ move $a1, $s3 -/* 102184 80298B74 46083282 */ mul.s $f10, $f6, $f8 -/* 102188 80298B78 E7AA0064 */ swc1 $f10, 0x64($sp) -/* 10218C 80298B7C 86080002 */ lh $t0, 2($s0) -/* 102190 80298B80 44888000 */ mtc1 $t0, $f16 -/* 102194 80298B84 00000000 */ nop -/* 102198 80298B88 468084A0 */ cvt.s.w $f18, $f16 -/* 10219C 80298B8C E7B20068 */ swc1 $f18, 0x68($sp) -/* 1021A0 80298B90 86090004 */ lh $t1, 4($s0) -/* 1021A4 80298B94 E7B80010 */ swc1 $f24, 0x10($sp) -/* 1021A8 80298B98 44892000 */ mtc1 $t1, $f4 -/* 1021AC 80298B9C 00000000 */ nop -/* 1021B0 80298BA0 468021A0 */ cvt.s.w $f6, $f4 -/* 1021B4 80298BA4 0C0A7BAE */ jal func_8029EEB8 -/* 1021B8 80298BA8 E7A6006C */ swc1 $f6, 0x6c($sp) -/* 1021BC 80298BAC 5454002A */ bnel $v0, $s4, .L80298C58 -/* 1021C0 80298BB0 8602000A */ lh $v0, 0xa($s0) -/* 1021C4 80298BB4 8EAA00BC */ lw $t2, 0xbc($s5) -/* 1021C8 80298BB8 26A40014 */ addiu $a0, $s5, 0x14 -/* 1021CC 80298BBC 26A50034 */ addiu $a1, $s5, 0x34 -/* 1021D0 80298BC0 314B0200 */ andi $t3, $t2, 0x200 -/* 1021D4 80298BC4 11600013 */ beqz $t3, .L80298C14 -/* 1021D8 80298BC8 3C061901 */ lui $a2, (0x19018010 >> 16) # lui $a2, 0x1901 -/* 1021DC 80298BCC 0C03262E */ jal func_800C98B8 -/* 1021E0 80298BD0 34C68010 */ ori $a2, (0x19018010 & 0xFFFF) # ori $a2, $a2, 0x8010 -/* 1021E4 80298BD4 3C0C800E */ lui $t4, %hi(gPlayerOne) # $t4, 0x800e -/* 1021E8 80298BD8 8D8CC4DC */ lw $t4, %lo(gPlayerOne)($t4) -/* 1021EC 80298BDC 24010DD8 */ li $at, 3544 -/* 1021F0 80298BE0 96A50254 */ lhu $a1, 0x254($s5) -/* 1021F4 80298BE4 02AC2023 */ subu $a0, $s5, $t4 -/* 1021F8 80298BE8 0081001A */ div $zero, $a0, $at -/* 1021FC 80298BEC 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 102200 80298BF0 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 102204 80298BF4 00006812 */ mflo $t5 -/* 102208 80298BF8 00057900 */ sll $t7, $a1, 4 -/* 10220C 80298BFC 01E12821 */ addu $a1, $t7, $at -/* 102210 80298C00 0C03243D */ jal func_800C90F4 -/* 102214 80298C04 31A400FF */ andi $a0, $t5, 0xff -/* 102218 80298C08 86180006 */ lh $t8, 6($s0) -/* 10221C 80298C0C 37190400 */ ori $t9, $t8, 0x400 -/* 102220 80298C10 A6190006 */ sh $t9, 6($s0) -.L80298C14: -/* 102224 80298C14 96A80000 */ lhu $t0, ($s5) -/* 102228 80298C18 3C0A800E */ lui $t2, %hi(gPlayerOne) # $t2, 0x800e -/* 10222C 80298C1C 31090100 */ andi $t1, $t0, 0x100 -/* 102230 80298C20 55200011 */ bnel $t1, $zero, .L80298C68 -/* 102234 80298C24 8FBF004C */ lw $ra, 0x4c($sp) -/* 102238 80298C28 8D4AC4DC */ lw $t2, %lo(gPlayerOne)($t2) -/* 10223C 80298C2C 24010DD8 */ li $at, 3544 -/* 102240 80298C30 3C051900 */ lui $a1, (0x19007018 >> 16) # lui $a1, 0x1900 -/* 102244 80298C34 02AA2023 */ subu $a0, $s5, $t2 -/* 102248 80298C38 0081001A */ div $zero, $a0, $at -/* 10224C 80298C3C 00005812 */ mflo $t3 -/* 102250 80298C40 316400FF */ andi $a0, $t3, 0xff -/* 102254 80298C44 0C032418 */ jal func_800C9060 -/* 102258 80298C48 34A57018 */ ori $a1, (0x19007018 & 0xFFFF) # ori $a1, $a1, 0x7018 -/* 10225C 80298C4C 10000006 */ b .L80298C68 -/* 102260 80298C50 8FBF004C */ lw $ra, 0x4c($sp) -/* 102264 80298C54 8602000A */ lh $v0, 0xa($s0) -.L80298C58: -/* 102268 80298C58 2610000A */ addiu $s0, $s0, 0xa -/* 10226C 80298C5C 5622FFBF */ bnel $s1, $v0, .L80298B5C -/* 102270 80298C60 44822000 */ mtc1 $v0, $f4 -.L80298C64: -/* 102274 80298C64 8FBF004C */ lw $ra, 0x4c($sp) -.L80298C68: -/* 102278 80298C68 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 10227C 80298C6C D7B60020 */ ldc1 $f22, 0x20($sp) -/* 102280 80298C70 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 102284 80298C74 8FB00034 */ lw $s0, 0x34($sp) -/* 102288 80298C78 8FB10038 */ lw $s1, 0x38($sp) -/* 10228C 80298C7C 8FB2003C */ lw $s2, 0x3c($sp) -/* 102290 80298C80 8FB30040 */ lw $s3, 0x40($sp) -/* 102294 80298C84 8FB40044 */ lw $s4, 0x44($sp) -/* 102298 80298C88 8FB50048 */ lw $s5, 0x48($sp) -/* 10229C 80298C8C 03E00008 */ jr $ra -/* 1022A0 80298C90 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/non_matchings/actors/func_80298D7C.s b/asm/non_matchings/actors/func_80298D7C.s deleted file mode 100644 index b27a53218..000000000 --- a/asm/non_matchings/actors/func_80298D7C.s +++ /dev/null @@ -1,261 +0,0 @@ -glabel func_80298D7C -/* 10238C 80298D7C 27BDFF10 */ addiu $sp, $sp, -0xf0 -/* 102390 80298D80 3C020601 */ lui $v0, %hi(D_06013F78) # $v0, 0x601 -/* 102394 80298D84 24423F78 */ addiu $v0, %lo(D_06013F78) # addiu $v0, $v0, 0x3f78 -/* 102398 80298D88 00027602 */ srl $t6, $v0, 0x18 -/* 10239C 80298D8C 000E7880 */ sll $t7, $t6, 2 -/* 1023A0 80298D90 3C188015 */ lui $t8, %hi(gSegmentTable) -/* 1023A4 80298D94 030FC021 */ addu $t8, $t8, $t7 -/* 1023A8 80298D98 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 1023AC 80298D9C 8F180258 */ lw $t8, %lo(gSegmentTable)($t8) -/* 1023B0 80298DA0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 1023B4 80298DA4 0041C824 */ and $t9, $v0, $at -/* 1023B8 80298DA8 AFB10034 */ sw $s1, 0x34($sp) -/* 1023BC 80298DAC 3C018000 */ lui $at, 0x8000 -/* 1023C0 80298DB0 3C09802C */ lui $t1, %hi(D_802B87E0) # $t1, 0x802c -/* 1023C4 80298DB4 03198821 */ addu $s1, $t8, $t9 -/* 1023C8 80298DB8 AFBF0054 */ sw $ra, 0x54($sp) -/* 1023CC 80298DBC AFBE0050 */ sw $fp, 0x50($sp) -/* 1023D0 80298DC0 AFB7004C */ sw $s7, 0x4c($sp) -/* 1023D4 80298DC4 AFB60048 */ sw $s6, 0x48($sp) -/* 1023D8 80298DC8 AFB50044 */ sw $s5, 0x44($sp) -/* 1023DC 80298DCC AFB40040 */ sw $s4, 0x40($sp) -/* 1023E0 80298DD0 AFB3003C */ sw $s3, 0x3c($sp) -/* 1023E4 80298DD4 AFB20038 */ sw $s2, 0x38($sp) -/* 1023E8 80298DD8 AFB00030 */ sw $s0, 0x30($sp) -/* 1023EC 80298DDC F7B60028 */ sdc1 $f22, 0x28($sp) -/* 1023F0 80298DE0 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 1023F4 80298DE4 AFA600F8 */ sw $a2, 0xf8($sp) -/* 1023F8 80298DE8 02218821 */ addu $s1, $s1, $at -/* 1023FC 80298DEC 252987E0 */ addiu $t1, %lo(D_802B87E0) # addiu $t1, $t1, -0x7820 -/* 102400 80298DF0 8D210000 */ lw $at, ($t1) -/* 102404 80298DF4 27A80088 */ addiu $t0, $sp, 0x88 -/* 102408 80298DF8 3C0D800E */ lui $t5, %hi(gGamestate) # $t5, 0x800e -/* 10240C 80298DFC AD010000 */ sw $at, ($t0) -/* 102410 80298E00 95210004 */ lhu $at, 4($t1) -/* 102414 80298E04 3C128015 */ lui $s2, %hi(gDisplayListHead) # $s2, 0x8015 -/* 102418 80298E08 0080A025 */ move $s4, $a0 -/* 10241C 80298E0C A5010004 */ sh $at, 4($t0) -/* 102420 80298E10 8DADC50C */ lw $t5, %lo(gGamestate)($t5) -/* 102424 80298E14 24010009 */ li $at, 9 -/* 102428 80298E18 00A0A825 */ move $s5, $a1 -/* 10242C 80298E1C 15A10004 */ bne $t5, $at, .L80298E30 -/* 102430 80298E20 26520298 */ addiu $s2, %lo(gDisplayListHead) # addiu $s2, $s2, 0x298 -/* 102434 80298E24 3C01802C */ lui $at, %hi(D_802B9650) # $at, 0x802c -/* 102438 80298E28 10000003 */ b .L80298E38 -/* 10243C 80298E2C C4369650 */ lwc1 $f22, %lo(D_802B9650)($at) -.L80298E30: -/* 102440 80298E30 3C01802C */ lui $at, %hi(D_802B9654) # $at, 0x802c -/* 102444 80298E34 C4369654 */ lwc1 $f22, %lo(D_802B9654)($at) -.L80298E38: -/* 102448 80298E38 8E420000 */ lw $v0, ($s2) -/* 10244C 80298E3C 3C0FBB00 */ lui $t7, (0xBB000001 >> 16) # lui $t7, 0xbb00 -/* 102450 80298E40 35EF0001 */ ori $t7, (0xBB000001 & 0xFFFF) # ori $t7, $t7, 1 -/* 102454 80298E44 244E0008 */ addiu $t6, $v0, 8 -/* 102458 80298E48 AE4E0000 */ sw $t6, ($s2) -/* 10245C 80298E4C 2418FFFF */ li $t8, -1 -/* 102460 80298E50 AC580004 */ sw $t8, 4($v0) -/* 102464 80298E54 AC4F0000 */ sw $t7, ($v0) -/* 102468 80298E58 8E420000 */ lw $v0, ($s2) -/* 10246C 80298E5C 3C0BFC12 */ lui $t3, (0xFC127E24 >> 16) # lui $t3, 0xfc12 -/* 102470 80298E60 356B7E24 */ ori $t3, (0xFC127E24 & 0xFFFF) # ori $t3, $t3, 0x7e24 -/* 102474 80298E64 24590008 */ addiu $t9, $v0, 8 -/* 102478 80298E68 AE590000 */ sw $t9, ($s2) -/* 10247C 80298E6C 240AF3F9 */ li $t2, -3079 -/* 102480 80298E70 AC4A0004 */ sw $t2, 4($v0) -/* 102484 80298E74 AC4B0000 */ sw $t3, ($v0) -/* 102488 80298E78 8E420000 */ lw $v0, ($s2) -/* 10248C 80298E7C 3C09B900 */ lui $t1, (0xB900031D >> 16) # lui $t1, 0xb900 -/* 102490 80298E80 3C0C0055 */ lui $t4, (0x00553078 >> 16) # lui $t4, 0x55 -/* 102494 80298E84 24480008 */ addiu $t0, $v0, 8 -/* 102498 80298E88 AE480000 */ sw $t0, ($s2) -/* 10249C 80298E8C 358C3078 */ ori $t4, (0x00553078 & 0xFFFF) # ori $t4, $t4, 0x3078 -/* 1024A0 80298E90 3529031D */ ori $t1, (0xB900031D & 0xFFFF) # ori $t1, $t1, 0x31d -/* 1024A4 80298E94 AC490000 */ sw $t1, ($v0) -/* 1024A8 80298E98 AC4C0004 */ sw $t4, 4($v0) -/* 1024AC 80298E9C 862D0000 */ lh $t5, ($s1) -/* 1024B0 80298EA0 24018000 */ li $at, -32768 -/* 1024B4 80298EA4 241E0006 */ li $fp, 6 -/* 1024B8 80298EA8 11A10098 */ beq $t5, $at, .L8029910C -/* 1024BC 80298EAC 27B700D4 */ addiu $s7, $sp, 0xd4 -/* 1024C0 80298EB0 3C16800E */ lui $s6, %hi(camera1) # $s6, 0x800e -/* 1024C4 80298EB4 4480A000 */ mtc1 $zero, $f20 -/* 1024C8 80298EB8 26D6DB40 */ addiu $s6, %lo(camera1) # addiu $s6, $s6, -0x24c0 -/* 1024CC 80298EBC 3C130600 */ lui $s3, 0x600 -/* 1024D0 80298EC0 86300006 */ lh $s0, 6($s1) -.L80298EC4: -/* 1024D4 80298EC4 320E0800 */ andi $t6, $s0, 0x800 -/* 1024D8 80298EC8 11C00003 */ beqz $t6, .L80298ED8 -/* 1024DC 80298ECC 320F0400 */ andi $t7, $s0, 0x400 -/* 1024E0 80298ED0 1000008A */ b .L802990FC -/* 1024E4 80298ED4 2631000A */ addiu $s1, $s1, 0xa -.L80298ED8: -/* 1024E8 80298ED8 11E00011 */ beqz $t7, .L80298F20 -/* 1024EC 80298EDC 3C18800E */ lui $t8, %hi(D_800DC5FC) # $t8, 0x800e -/* 1024F0 80298EE0 9718C5FC */ lhu $t8, %lo(D_800DC5FC)($t8) -/* 1024F4 80298EE4 53000005 */ beql $t8, $zero, .L80298EFC -/* 1024F8 80298EE8 862B0002 */ lh $t3, 2($s1) -/* 1024FC 80298EEC 8ED90000 */ lw $t9, ($s6) -/* 102500 80298EF0 5699000C */ bnel $s4, $t9, .L80298F24 -/* 102504 80298EF4 8ED80000 */ lw $t8, ($s6) -/* 102508 80298EF8 862B0002 */ lh $t3, 2($s1) -.L80298EFC: -/* 10250C 80298EFC 256A000A */ addiu $t2, $t3, 0xa -/* 102510 80298F00 A62A0002 */ sh $t2, 2($s1) -/* 102514 80298F04 86280002 */ lh $t0, 2($s1) -/* 102518 80298F08 29010321 */ slti $at, $t0, 0x321 -/* 10251C 80298F0C 54200005 */ bnel $at, $zero, .L80298F24 -/* 102520 80298F10 8ED80000 */ lw $t8, ($s6) -/* 102524 80298F14 86290006 */ lh $t1, 6($s1) -/* 102528 80298F18 352C0800 */ ori $t4, $t1, 0x800 -/* 10252C 80298F1C A62C0006 */ sh $t4, 6($s1) -.L80298F20: -/* 102530 80298F20 8ED80000 */ lw $t8, ($s6) -.L80298F24: -/* 102534 80298F24 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016 -/* 102538 80298F28 C428F784 */ lwc1 $f8, %lo(gCourseDirection)($at) -/* 10253C 80298F2C 240100B8 */ li $at, 184 -/* 102540 80298F30 0298C823 */ subu $t9, $s4, $t8 -/* 102544 80298F34 0321001A */ div $zero, $t9, $at -/* 102548 80298F38 862D0000 */ lh $t5, ($s1) -/* 10254C 80298F3C 00005812 */ mflo $t3 -/* 102550 80298F40 000B5080 */ sll $t2, $t3, 2 -/* 102554 80298F44 448D2000 */ mtc1 $t5, $f4 -/* 102558 80298F48 3C018015 */ lui $at, %hi(D_80150130) -/* 10255C 80298F4C 002A0821 */ addu $at, $at, $t2 -/* 102560 80298F50 468021A0 */ cvt.s.w $f6, $f4 -/* 102564 80298F54 4407A000 */ mfc1 $a3, $f20 -/* 102568 80298F58 02802025 */ move $a0, $s4 -/* 10256C 80298F5C 02E02825 */ move $a1, $s7 -/* 102570 80298F60 46083282 */ mul.s $f10, $f6, $f8 -/* 102574 80298F64 C4280130 */ lwc1 $f8, %lo(D_80150130)($at) -/* 102578 80298F68 E7AA00D4 */ swc1 $f10, 0xd4($sp) -/* 10257C 80298F6C 862E0002 */ lh $t6, 2($s1) -/* 102580 80298F70 448E8000 */ mtc1 $t6, $f16 -/* 102584 80298F74 00000000 */ nop -/* 102588 80298F78 468084A0 */ cvt.s.w $f18, $f16 -/* 10258C 80298F7C E7B200D8 */ swc1 $f18, 0xd8($sp) -/* 102590 80298F80 862F0004 */ lh $t7, 4($s1) -/* 102594 80298F84 448F2000 */ mtc1 $t7, $f4 -/* 102598 80298F88 00000000 */ nop -/* 10259C 80298F8C 468021A0 */ cvt.s.w $f6, $f4 -/* 1025A0 80298F90 E7A600DC */ swc1 $f6, 0xdc($sp) -/* 1025A4 80298F94 96860026 */ lhu $a2, 0x26($s4) -/* 1025A8 80298F98 E7B60014 */ swc1 $f22, 0x14($sp) -/* 1025AC 80298F9C 0C0AE034 */ jal func_802B80D0 -/* 1025B0 80298FA0 E7A80010 */ swc1 $f8, 0x10($sp) -/* 1025B4 80298FA4 4614003C */ c.lt.s $f0, $f20 -/* 1025B8 80298FA8 3208000F */ andi $t0, $s0, 0xf -/* 1025BC 80298FAC 00084C00 */ sll $t1, $t0, 0x10 -/* 1025C0 80298FB0 00098403 */ sra $s0, $t1, 0x10 -/* 1025C4 80298FB4 45000003 */ bc1f .L80298FC4 -/* 1025C8 80298FB8 00000000 */ nop -/* 1025CC 80298FBC 1000004F */ b .L802990FC -/* 1025D0 80298FC0 2631000A */ addiu $s1, $s1, 0xa -.L80298FC4: -/* 1025D4 80298FC4 161E000F */ bne $s0, $fp, .L80299004 -/* 1025D8 80298FC8 C7AA00D4 */ lwc1 $f10, 0xd4($sp) -/* 1025DC 80298FCC 27A40090 */ addiu $a0, $sp, 0x90 -/* 1025E0 80298FD0 02E02825 */ move $a1, $s7 -/* 1025E4 80298FD4 0C0AD7DD */ jal func_802B5F74 -/* 1025E8 80298FD8 27A60088 */ addiu $a2, $sp, 0x88 -/* 1025EC 80298FDC 3C0D8015 */ lui $t5, %hi(D_80150112) # $t5, 0x8015 -/* 1025F0 80298FE0 95AD0112 */ lhu $t5, %lo(D_80150112)($t5) -/* 1025F4 80298FE4 27A40090 */ addiu $a0, $sp, 0x90 -/* 1025F8 80298FE8 29A10080 */ slti $at, $t5, 0x80 -/* 1025FC 80298FEC 50200048 */ beql $at, $zero, .L80299110 -/* 102600 80298FF0 8FBF0054 */ lw $ra, 0x54($sp) -/* 102604 80298FF4 0C0AD3FE */ jal func_802B4FF8 -/* 102608 80298FF8 00002825 */ move $a1, $zero -/* 10260C 80298FFC 1000000F */ b .L8029903C -/* 102610 80299000 8E420000 */ lw $v0, ($s2) -.L80299004: -/* 102614 80299004 E6AA0030 */ swc1 $f10, 0x30($s5) -/* 102618 80299008 C7B000D8 */ lwc1 $f16, 0xd8($sp) -/* 10261C 8029900C 3C0E8015 */ lui $t6, %hi(D_80150112) # $t6, 0x8015 -/* 102620 80299010 02A02025 */ move $a0, $s5 -/* 102624 80299014 E6B00034 */ swc1 $f16, 0x34($s5) -/* 102628 80299018 C7B200DC */ lwc1 $f18, 0xdc($sp) -/* 10262C 8029901C E6B20038 */ swc1 $f18, 0x38($s5) -/* 102630 80299020 95CE0112 */ lhu $t6, %lo(D_80150112)($t6) -/* 102634 80299024 29C10080 */ slti $at, $t6, 0x80 -/* 102638 80299028 50200039 */ beql $at, $zero, .L80299110 -/* 10263C 8029902C 8FBF0054 */ lw $ra, 0x54($sp) -/* 102640 80299030 0C0AD3FE */ jal func_802B4FF8 -/* 102644 80299034 00002825 */ move $a1, $zero -/* 102648 80299038 8E420000 */ lw $v0, ($s2) -.L8029903C: -/* 10264C 8029903C 3C18B600 */ lui $t8, 0xb600 -/* 102650 80299040 3C190002 */ lui $t9, 2 -/* 102654 80299044 244F0008 */ addiu $t7, $v0, 8 -/* 102658 80299048 AE4F0000 */ sw $t7, ($s2) -/* 10265C 8029904C AC590004 */ sw $t9, 4($v0) -/* 102660 80299050 1200000A */ beqz $s0, .L8029907C -/* 102664 80299054 AC580000 */ sw $t8, ($v0) -/* 102668 80299058 24010004 */ li $at, 4 -/* 10266C 8029905C 1201000F */ beq $s0, $at, .L8029909C -/* 102670 80299060 24010005 */ li $at, 5 -/* 102674 80299064 52010016 */ beql $s0, $at, .L802990C0 -/* 102678 80299068 8E420000 */ lw $v0, ($s2) -/* 10267C 8029906C 521E001C */ beql $s0, $fp, .L802990E0 -/* 102680 80299070 8E420000 */ lw $v0, ($s2) -/* 102684 80299074 10000021 */ b .L802990FC -/* 102688 80299078 2631000A */ addiu $s1, $s1, 0xa -.L8029907C: -/* 10268C 8029907C 8E420000 */ lw $v0, ($s2) -/* 102690 80299080 3C0A0601 */ lui $t2, %hi(D_06010CC0) # $t2, 0x601 -/* 102694 80299084 254A0CC0 */ addiu $t2, %lo(D_06010CC0) # addiu $t2, $t2, 0xcc0 -/* 102698 80299088 244B0008 */ addiu $t3, $v0, 8 -/* 10269C 8029908C AE4B0000 */ sw $t3, ($s2) -/* 1026A0 80299090 AC4A0004 */ sw $t2, 4($v0) -/* 1026A4 80299094 10000018 */ b .L802990F8 -/* 1026A8 80299098 AC530000 */ sw $s3, ($v0) -.L8029909C: -/* 1026AC 8029909C 8E420000 */ lw $v0, ($s2) -/* 1026B0 802990A0 3C090601 */ lui $t1, %hi(D_06011DC8) # $t1, 0x601 -/* 1026B4 802990A4 25291DC8 */ addiu $t1, %lo(D_06011DC8) # addiu $t1, $t1, 0x1dc8 -/* 1026B8 802990A8 24480008 */ addiu $t0, $v0, 8 -/* 1026BC 802990AC AE480000 */ sw $t0, ($s2) -/* 1026C0 802990B0 AC490004 */ sw $t1, 4($v0) -/* 1026C4 802990B4 10000010 */ b .L802990F8 -/* 1026C8 802990B8 AC530000 */ sw $s3, ($v0) -/* 1026CC 802990BC 8E420000 */ lw $v0, ($s2) -.L802990C0: -/* 1026D0 802990C0 3C0D0601 */ lui $t5, %hi(D_06012EF0) # $t5, 0x601 -/* 1026D4 802990C4 25AD2EF0 */ addiu $t5, %lo(D_06012EF0) # addiu $t5, $t5, 0x2ef0 -/* 1026D8 802990C8 244C0008 */ addiu $t4, $v0, 8 -/* 1026DC 802990CC AE4C0000 */ sw $t4, ($s2) -/* 1026E0 802990D0 AC4D0004 */ sw $t5, 4($v0) -/* 1026E4 802990D4 10000008 */ b .L802990F8 -/* 1026E8 802990D8 AC530000 */ sw $s3, ($v0) -/* 1026EC 802990DC 8E420000 */ lw $v0, ($s2) -.L802990E0: -/* 1026F0 802990E0 3C0F0601 */ lui $t7, %hi(D_060138D0) # $t7, 0x601 -/* 1026F4 802990E4 25EF38D0 */ addiu $t7, %lo(D_060138D0) # addiu $t7, $t7, 0x38d0 -/* 1026F8 802990E8 244E0008 */ addiu $t6, $v0, 8 -/* 1026FC 802990EC AE4E0000 */ sw $t6, ($s2) -/* 102700 802990F0 AC4F0004 */ sw $t7, 4($v0) -/* 102704 802990F4 AC530000 */ sw $s3, ($v0) -.L802990F8: -/* 102708 802990F8 2631000A */ addiu $s1, $s1, 0xa -.L802990FC: -/* 10270C 802990FC 86380000 */ lh $t8, ($s1) -/* 102710 80299100 24018000 */ li $at, -32768 -/* 102714 80299104 5701FF6F */ bnel $t8, $at, .L80298EC4 -/* 102718 80299108 86300006 */ lh $s0, 6($s1) -.L8029910C: -/* 10271C 8029910C 8FBF0054 */ lw $ra, 0x54($sp) -.L80299110: -/* 102720 80299110 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 102724 80299114 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 102728 80299118 8FB00030 */ lw $s0, 0x30($sp) -/* 10272C 8029911C 8FB10034 */ lw $s1, 0x34($sp) -/* 102730 80299120 8FB20038 */ lw $s2, 0x38($sp) -/* 102734 80299124 8FB3003C */ lw $s3, 0x3c($sp) -/* 102738 80299128 8FB40040 */ lw $s4, 0x40($sp) -/* 10273C 8029912C 8FB50044 */ lw $s5, 0x44($sp) -/* 102740 80299130 8FB60048 */ lw $s6, 0x48($sp) -/* 102744 80299134 8FB7004C */ lw $s7, 0x4c($sp) -/* 102748 80299138 8FBE0050 */ lw $fp, 0x50($sp) -/* 10274C 8029913C 03E00008 */ jr $ra -/* 102750 80299140 27BD00F0 */ addiu $sp, $sp, 0xf0 diff --git a/asm/non_matchings/actors/func_8029AC18.s b/asm/non_matchings/actors/func_8029AC18.s deleted file mode 100644 index 5d05e92d9..000000000 --- a/asm/non_matchings/actors/func_8029AC18.s +++ /dev/null @@ -1,138 +0,0 @@ -glabel func_8029AC18 -/* 104228 8029AC18 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e -/* 10422C 8029AC1C 8DCEDB40 */ lw $t6, %lo(camera1)($t6) -/* 104230 8029AC20 240100B8 */ li $at, 184 -/* 104234 8029AC24 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 104238 8029AC28 008E7823 */ subu $t7, $a0, $t6 -/* 10423C 8029AC2C 01E1001A */ div $zero, $t7, $at -/* 104240 8029AC30 0000C012 */ mflo $t8 -/* 104244 8029AC34 0018C880 */ sll $t9, $t8, 2 -/* 104248 8029AC38 3C018015 */ lui $at, %hi(D_80150130) -/* 10424C 8029AC3C 00390821 */ addu $at, $at, $t9 -/* 104250 8029AC40 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 104254 8029AC44 AFB00020 */ sw $s0, 0x20($sp) -/* 104258 8029AC48 AFA5002C */ sw $a1, 0x2c($sp) -/* 10425C 8029AC4C 3C01802C */ lui $at, %hi(D_802B96B8) # $at, 0x802c -/* 104260 8029AC50 C42696B8 */ lwc1 $f6, %lo(D_802B96B8)($at) -/* 104264 8029AC54 00C08025 */ move $s0, $a2 -/* 104268 8029AC58 AFBF0024 */ sw $ra, 0x24($sp) -/* 10426C 8029AC5C 24C50018 */ addiu $a1, $a2, 0x18 -/* 104270 8029AC60 94860026 */ lhu $a2, 0x26($a0) -/* 104274 8029AC64 24070000 */ li $a3, 0 -/* 104278 8029AC68 E7A40010 */ swc1 $f4, 0x10($sp) -/* 10427C 8029AC6C 0C0AE034 */ jal func_802B80D0 -/* 104280 8029AC70 E7A60014 */ swc1 $f6, 0x14($sp) -/* 104284 8029AC74 44804000 */ mtc1 $zero, $f8 -/* 104288 8029AC78 8FA4002C */ lw $a0, 0x2c($sp) -/* 10428C 8029AC7C 4608003C */ c.lt.s $f0, $f8 -/* 104290 8029AC80 00000000 */ nop -/* 104294 8029AC84 4503005F */ bc1tl .L8029AE04 -/* 104298 8029AC88 8FBF0024 */ lw $ra, 0x24($sp) -/* 10429C 8029AC8C C60A0018 */ lwc1 $f10, 0x18($s0) -/* 1042A0 8029AC90 00002825 */ move $a1, $zero -/* 1042A4 8029AC94 E48A0030 */ swc1 $f10, 0x30($a0) -/* 1042A8 8029AC98 C612000C */ lwc1 $f18, 0xc($s0) -/* 1042AC 8029AC9C C610001C */ lwc1 $f16, 0x1c($s0) -/* 1042B0 8029ACA0 46128101 */ sub.s $f4, $f16, $f18 -/* 1042B4 8029ACA4 E4840034 */ swc1 $f4, 0x34($a0) -/* 1042B8 8029ACA8 C6060020 */ lwc1 $f6, 0x20($s0) -/* 1042BC 8029ACAC 0C0AD3FE */ jal func_802B4FF8 -/* 1042C0 8029ACB0 E4860038 */ swc1 $f6, 0x38($a0) -/* 1042C4 8029ACB4 10400052 */ beqz $v0, .L8029AE00 -/* 1042C8 8029ACB8 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 1042CC 8029ACBC 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 1042D0 8029ACC0 8C620000 */ lw $v0, ($v1) -/* 1042D4 8029ACC4 3C090D00 */ lui $t1, %hi(D_0D001750) # $t1, 0xd00 -/* 1042D8 8029ACC8 3C050600 */ lui $a1, 0x600 -/* 1042DC 8029ACCC 24480008 */ addiu $t0, $v0, 8 -/* 1042E0 8029ACD0 AC680000 */ sw $t0, ($v1) -/* 1042E4 8029ACD4 25291750 */ addiu $t1, %lo(D_0D001750) # addiu $t1, $t1, 0x1750 -/* 1042E8 8029ACD8 AC490004 */ sw $t1, 4($v0) -/* 1042EC 8029ACDC AC450000 */ sw $a1, ($v0) -/* 1042F0 8029ACE0 960A0006 */ lhu $t2, 6($s0) -/* 1042F4 8029ACE4 2D410008 */ sltiu $at, $t2, 8 -/* 1042F8 8029ACE8 10200045 */ beqz $at, .L8029AE00 -/* 1042FC 8029ACEC 000A5080 */ sll $t2, $t2, 2 -/* 104300 8029ACF0 3C01802C */ lui $at, %hi(jpt_802B96BC) -/* 104304 8029ACF4 002A0821 */ addu $at, $at, $t2 -/* 104308 8029ACF8 8C2A96BC */ lw $t2, %lo(jpt_802B96BC)($at) -/* 10430C 8029ACFC 01400008 */ jr $t2 -/* 104310 8029AD00 00000000 */ nop -glabel L8029AD04 -/* 104314 8029AD04 8C620000 */ lw $v0, ($v1) -/* 104318 8029AD08 3C0C0D00 */ lui $t4, %hi(D_0D001780) # $t4, 0xd00 -/* 10431C 8029AD0C 258C1780 */ addiu $t4, %lo(D_0D001780) # addiu $t4, $t4, 0x1780 -/* 104320 8029AD10 244B0008 */ addiu $t3, $v0, 8 -/* 104324 8029AD14 AC6B0000 */ sw $t3, ($v1) -/* 104328 8029AD18 AC4C0004 */ sw $t4, 4($v0) -/* 10432C 8029AD1C 10000038 */ b .L8029AE00 -/* 104330 8029AD20 AC450000 */ sw $a1, ($v0) -glabel L8029AD24 -/* 104334 8029AD24 8C620000 */ lw $v0, ($v1) -/* 104338 8029AD28 3C0E0D00 */ lui $t6, %hi(D_0D001798) # $t6, 0xd00 -/* 10433C 8029AD2C 25CE1798 */ addiu $t6, %lo(D_0D001798) # addiu $t6, $t6, 0x1798 -/* 104340 8029AD30 244D0008 */ addiu $t5, $v0, 8 -/* 104344 8029AD34 AC6D0000 */ sw $t5, ($v1) -/* 104348 8029AD38 AC4E0004 */ sw $t6, 4($v0) -/* 10434C 8029AD3C 10000030 */ b .L8029AE00 -/* 104350 8029AD40 AC450000 */ sw $a1, ($v0) -glabel L8029AD44 -/* 104354 8029AD44 8C620000 */ lw $v0, ($v1) -/* 104358 8029AD48 3C180D00 */ lui $t8, %hi(D_0D0017B0) # $t8, 0xd00 -/* 10435C 8029AD4C 271817B0 */ addiu $t8, %lo(D_0D0017B0) # addiu $t8, $t8, 0x17b0 -/* 104360 8029AD50 244F0008 */ addiu $t7, $v0, 8 -/* 104364 8029AD54 AC6F0000 */ sw $t7, ($v1) -/* 104368 8029AD58 AC580004 */ sw $t8, 4($v0) -/* 10436C 8029AD5C 10000028 */ b .L8029AE00 -/* 104370 8029AD60 AC450000 */ sw $a1, ($v0) -glabel L8029AD64 -/* 104374 8029AD64 8C620000 */ lw $v0, ($v1) -/* 104378 8029AD68 3C080D00 */ lui $t0, %hi(D_0D0017C8) # $t0, 0xd00 -/* 10437C 8029AD6C 250817C8 */ addiu $t0, %lo(D_0D0017C8) # addiu $t0, $t0, 0x17c8 -/* 104380 8029AD70 24590008 */ addiu $t9, $v0, 8 -/* 104384 8029AD74 AC790000 */ sw $t9, ($v1) -/* 104388 8029AD78 AC480004 */ sw $t0, 4($v0) -/* 10438C 8029AD7C 10000020 */ b .L8029AE00 -/* 104390 8029AD80 AC450000 */ sw $a1, ($v0) -glabel L8029AD84 -/* 104394 8029AD84 8C620000 */ lw $v0, ($v1) -/* 104398 8029AD88 3C0A0D00 */ lui $t2, %hi(D_0D0017E0) # $t2, 0xd00 -/* 10439C 8029AD8C 254A17E0 */ addiu $t2, %lo(D_0D0017E0) # addiu $t2, $t2, 0x17e0 -/* 1043A0 8029AD90 24490008 */ addiu $t1, $v0, 8 -/* 1043A4 8029AD94 AC690000 */ sw $t1, ($v1) -/* 1043A8 8029AD98 AC4A0004 */ sw $t2, 4($v0) -/* 1043AC 8029AD9C 10000018 */ b .L8029AE00 -/* 1043B0 8029ADA0 AC450000 */ sw $a1, ($v0) -glabel L8029ADA4 -/* 1043B4 8029ADA4 8C620000 */ lw $v0, ($v1) -/* 1043B8 8029ADA8 3C0C0D00 */ lui $t4, %hi(D_0D0017F8) # $t4, 0xd00 -/* 1043BC 8029ADAC 258C17F8 */ addiu $t4, %lo(D_0D0017F8) # addiu $t4, $t4, 0x17f8 -/* 1043C0 8029ADB0 244B0008 */ addiu $t3, $v0, 8 -/* 1043C4 8029ADB4 AC6B0000 */ sw $t3, ($v1) -/* 1043C8 8029ADB8 AC4C0004 */ sw $t4, 4($v0) -/* 1043CC 8029ADBC 10000010 */ b .L8029AE00 -/* 1043D0 8029ADC0 AC450000 */ sw $a1, ($v0) -glabel L8029ADC4 -/* 1043D4 8029ADC4 8C620000 */ lw $v0, ($v1) -/* 1043D8 8029ADC8 3C0E0D00 */ lui $t6, %hi(D_0D001810) # $t6, 0xd00 -/* 1043DC 8029ADCC 25CE1810 */ addiu $t6, %lo(D_0D001810) # addiu $t6, $t6, 0x1810 -/* 1043E0 8029ADD0 244D0008 */ addiu $t5, $v0, 8 -/* 1043E4 8029ADD4 AC6D0000 */ sw $t5, ($v1) -/* 1043E8 8029ADD8 AC4E0004 */ sw $t6, 4($v0) -/* 1043EC 8029ADDC 10000008 */ b .L8029AE00 -/* 1043F0 8029ADE0 AC450000 */ sw $a1, ($v0) -glabel L8029ADE4 -/* 1043F4 8029ADE4 8C620000 */ lw $v0, ($v1) -/* 1043F8 8029ADE8 3C180D00 */ lui $t8, %hi(D_0D001828) # $t8, 0xd00 -/* 1043FC 8029ADEC 27181828 */ addiu $t8, %lo(D_0D001828) # addiu $t8, $t8, 0x1828 -/* 104400 8029ADF0 244F0008 */ addiu $t7, $v0, 8 -/* 104404 8029ADF4 AC6F0000 */ sw $t7, ($v1) -/* 104408 8029ADF8 AC580004 */ sw $t8, 4($v0) -/* 10440C 8029ADFC AC450000 */ sw $a1, ($v0) -.L8029AE00: -/* 104410 8029AE00 8FBF0024 */ lw $ra, 0x24($sp) -.L8029AE04: -/* 104414 8029AE04 8FB00020 */ lw $s0, 0x20($sp) -/* 104418 8029AE08 27BD0028 */ addiu $sp, $sp, 0x28 -/* 10441C 8029AE0C 03E00008 */ jr $ra -/* 104420 8029AE10 00000000 */ nop diff --git a/asm/non_matchings/actors/func_8029DB44.s b/asm/non_matchings/actors/func_8029DB44.s deleted file mode 100644 index 482ffda5d..000000000 --- a/asm/non_matchings/actors/func_8029DB44.s +++ /dev/null @@ -1,413 +0,0 @@ -glabel func_8029DB44 -/* 107154 8029DB44 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 107158 8029DB48 3C0F802C */ lui $t7, %hi(D_802B8850) # $t7, 0x802c -/* 10715C 8029DB4C AFBF0014 */ sw $ra, 0x14($sp) -/* 107160 8029DB50 25EF8850 */ addiu $t7, %lo(D_802B8850) # addiu $t7, $t7, -0x77b0 -/* 107164 8029DB54 8DE10000 */ lw $at, ($t7) -/* 107168 8029DB58 27AE0034 */ addiu $t6, $sp, 0x34 -/* 10716C 8029DB5C 8DE80004 */ lw $t0, 4($t7) -/* 107170 8029DB60 ADC10000 */ sw $at, ($t6) -/* 107174 8029DB64 8DE10008 */ lw $at, 8($t7) -/* 107178 8029DB68 3C0A802C */ lui $t2, %hi(D_802B885C) # $t2, 0x802c -/* 10717C 8029DB6C 254A885C */ addiu $t2, %lo(D_802B885C) # addiu $t2, $t2, -0x77a4 -/* 107180 8029DB70 ADC80004 */ sw $t0, 4($t6) -/* 107184 8029DB74 ADC10008 */ sw $at, 8($t6) -/* 107188 8029DB78 8D410000 */ lw $at, ($t2) -/* 10718C 8029DB7C 27A9002C */ addiu $t1, $sp, 0x2c -/* 107190 8029DB80 3C19800E */ lui $t9, %hi(gCurrentCourseId) # $t9, 0x800e -/* 107194 8029DB84 AD210000 */ sw $at, ($t1) -/* 107198 8029DB88 95410004 */ lhu $at, 4($t2) -/* 10719C 8029DB8C A5210004 */ sh $at, 4($t1) -/* 1071A0 8029DB90 9739C5A0 */ lhu $t9, %lo(gCurrentCourseId)($t9) -/* 1071A4 8029DB94 3C018016 */ lui $at, %hi(gNumPermanentActors) # $at, 0x8016 -/* 1071A8 8029DB98 A420F900 */ sh $zero, %lo(gNumPermanentActors)($at) -/* 1071AC 8029DB9C 2F210014 */ sltiu $at, $t9, 0x14 -/* 1071B0 8029DBA0 10200166 */ beqz $at, .L8029E13C -/* 1071B4 8029DBA4 0019C880 */ sll $t9, $t9, 2 -/* 1071B8 8029DBA8 3C01802C */ lui $at, %hi(jpt_802B97AC) -/* 1071BC 8029DBAC 00390821 */ addu $at, $at, $t9 -/* 1071C0 8029DBB0 8C3997AC */ lw $t9, %lo(jpt_802B97AC)($at) -/* 1071C4 8029DBB4 03200008 */ jr $t9 -/* 1071C8 8029DBB8 00000000 */ nop -glabel L8029DBBC -/* 1071CC 8029DBBC 3C040601 */ lui $a0, %hi(D_06009570) # $a0, 0x601 -/* 1071D0 8029DBC0 0C0A7561 */ jal place_segment_06 -/* 1071D4 8029DBC4 24849570 */ addiu $a0, %lo(D_06009570) # addiu $a0, $a0, -0x6a90 -/* 1071D8 8029DBC8 3C040601 */ lui $a0, %hi(D_06009518) # $a0, 0x601 -/* 1071DC 8029DBCC 0C0A7305 */ jal place_piranha_plants -/* 1071E0 8029DBD0 24849518 */ addiu $a0, %lo(D_06009518) # addiu $a0, $a0, -0x6ae8 -/* 1071E4 8029DBD4 3C040601 */ lui $a0, %hi(D_06009498) # $a0, 0x601 -/* 1071E8 8029DBD8 0C0A760C */ jal place_all_item_boxes -/* 1071EC 8029DBDC 24849498 */ addiu $a0, %lo(D_06009498) # addiu $a0, $a0, -0x6b68 -/* 1071F0 8029DBE0 3C07C4A2 */ lui $a3, (0xC4A28000 >> 16) # lui $a3, 0xc4a2 -/* 1071F4 8029DBE4 34E78000 */ ori $a3, (0xC4A28000 & 0xFFFF) # ori $a3, $a3, 0x8000 -/* 1071F8 8029DBE8 27A40040 */ addiu $a0, $sp, 0x40 -/* 1071FC 8029DBEC 3C054316 */ lui $a1, 0x4316 -/* 107200 8029DBF0 0C0AD4A7 */ jal vec3f_set -/* 107204 8029DBF4 3C064220 */ lui $a2, 0x4220 -/* 107208 8029DBF8 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016 -/* 10720C 8029DBFC C426F784 */ lwc1 $f6, %lo(gCourseDirection)($at) -/* 107210 8029DC00 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 107214 8029DC04 27A40040 */ addiu $a0, $sp, 0x40 -/* 107218 8029DC08 27A5002C */ addiu $a1, $sp, 0x2c -/* 10721C 8029DC0C 46062202 */ mul.s $f8, $f4, $f6 -/* 107220 8029DC10 27A60034 */ addiu $a2, $sp, 0x34 -/* 107224 8029DC14 24070017 */ li $a3, 23 -/* 107228 8029DC18 0C0A7B22 */ jal func_8029EC88 -/* 10722C 8029DC1C E7A80040 */ swc1 $f8, 0x40($sp) -/* 107230 8029DC20 3C05451D */ lui $a1, (0x451D8000 >> 16) # lui $a1, 0x451d -/* 107234 8029DC24 34A58000 */ ori $a1, (0x451D8000 & 0xFFFF) # ori $a1, $a1, 0x8000 -/* 107238 8029DC28 27A40040 */ addiu $a0, $sp, 0x40 -/* 10723C 8029DC2C 24060000 */ li $a2, 0 -/* 107240 8029DC30 0C0AD4A7 */ jal vec3f_set -/* 107244 8029DC34 3C07449B */ lui $a3, 0x449b -/* 107248 8029DC38 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016 -/* 10724C 8029DC3C C430F784 */ lwc1 $f16, %lo(gCourseDirection)($at) -/* 107250 8029DC40 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 107254 8029DC44 27A40040 */ addiu $a0, $sp, 0x40 -/* 107258 8029DC48 27A5002C */ addiu $a1, $sp, 0x2c -/* 10725C 8029DC4C 46105482 */ mul.s $f18, $f10, $f16 -/* 107260 8029DC50 27A60034 */ addiu $a2, $sp, 0x34 -/* 107264 8029DC54 24070017 */ li $a3, 23 -/* 107268 8029DC58 0C0A7B22 */ jal func_8029EC88 -/* 10726C 8029DC5C E7B20040 */ swc1 $f18, 0x40($sp) -/* 107270 8029DC60 0002C0C0 */ sll $t8, $v0, 3 -/* 107274 8029DC64 0302C023 */ subu $t8, $t8, $v0 -/* 107278 8029DC68 3C0E8016 */ lui $t6, %hi(gActorList) # $t6, 0x8016 -/* 10727C 8029DC6C 25CEF9B8 */ addiu $t6, %lo(gActorList) # addiu $t6, $t6, -0x648 -/* 107280 8029DC70 0018C100 */ sll $t8, $t8, 4 -/* 107284 8029DC74 030E1821 */ addu $v1, $t8, $t6 -/* 107288 8029DC78 846F0002 */ lh $t7, 2($v1) -/* 10728C 8029DC7C 35E84000 */ ori $t0, $t7, 0x4000 -/* 107290 8029DC80 1000012E */ b .L8029E13C -/* 107294 8029DC84 A4680002 */ sh $t0, 2($v1) -glabel L8029DC88 -/* 107298 8029DC88 3C040600 */ lui $a0, %hi(D_06007250) # $a0, 0x600 -/* 10729C 8029DC8C 0C0A760C */ jal place_all_item_boxes -/* 1072A0 8029DC90 24847250 */ addiu $a0, %lo(D_06007250) # addiu $a0, $a0, 0x7250 -/* 1072A4 8029DC94 3C040600 */ lui $a0, %hi(D_06007230) # $a0, 0x600 -/* 1072A8 8029DC98 0C0A7406 */ jal place_falling_rocks -/* 1072AC 8029DC9C 24847230 */ addiu $a0, %lo(D_06007230) # addiu $a0, $a0, 0x7230 -/* 1072B0 8029DCA0 10000127 */ b .L8029E140 -/* 1072B4 8029DCA4 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029DCA8 -/* 1072B8 8029DCA8 3C040601 */ lui $a0, %hi(D_06009290) # $a0, 0x601 -/* 1072BC 8029DCAC 0C0A7561 */ jal place_segment_06 -/* 1072C0 8029DCB0 24849290 */ addiu $a0, %lo(D_06009290) # addiu $a0, $a0, -0x6d70 -/* 1072C4 8029DCB4 3C040601 */ lui $a0, %hi(D_06009370) # $a0, 0x601 -/* 1072C8 8029DCB8 0C0A760C */ jal place_all_item_boxes -/* 1072CC 8029DCBC 24849370 */ addiu $a0, %lo(D_06009370) # addiu $a0, $a0, -0x6c90 -/* 1072D0 8029DCC0 1000011F */ b .L8029E140 -/* 1072D4 8029DCC4 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029DCC8 -/* 1072D8 8029DCC8 3C040601 */ lui $a0, %hi(D_0600B3D0) # $a0, 0x601 -/* 1072DC 8029DCCC 0C0A760C */ jal place_all_item_boxes -/* 1072E0 8029DCD0 2484B3D0 */ addiu $a0, %lo(D_0600B3D0) # addiu $a0, $a0, -0x4c30 -/* 1072E4 8029DCD4 1000011A */ b .L8029E140 -/* 1072E8 8029DCD8 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029DCDC -/* 1072EC 8029DCDC 3C040602 */ lui $a0, %hi(D_060180A0) # $a0, 0x602 -/* 1072F0 8029DCE0 0C0A7561 */ jal place_segment_06 -/* 1072F4 8029DCE4 248480A0 */ addiu $a0, %lo(D_060180A0) # addiu $a0, $a0, -0x7f60 -/* 1072F8 8029DCE8 3C040602 */ lui $a0, %hi(D_06018110) # $a0, 0x602 -/* 1072FC 8029DCEC 0C0A760C */ jal place_all_item_boxes -/* 107300 8029DCF0 24848110 */ addiu $a0, %lo(D_06018110) # addiu $a0, $a0, -0x7ef0 -/* 107304 8029DCF4 3C05C50F */ lui $a1, (0xC50FC000 >> 16) # lui $a1, 0xc50f -/* 107308 8029DCF8 3C07441E */ lui $a3, (0x441E8000 >> 16) # lui $a3, 0x441e -/* 10730C 8029DCFC 34E78000 */ ori $a3, (0x441E8000 & 0xFFFF) # ori $a3, $a3, 0x8000 -/* 107310 8029DD00 34A5C000 */ ori $a1, (0xC50FC000 & 0xFFFF) # ori $a1, $a1, 0xc000 -/* 107314 8029DD04 27A40040 */ addiu $a0, $sp, 0x40 -/* 107318 8029DD08 0C0AD4A7 */ jal vec3f_set -/* 10731C 8029DD0C 24060000 */ li $a2, 0 -/* 107320 8029DD10 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016 -/* 107324 8029DD14 C426F784 */ lwc1 $f6, %lo(gCourseDirection)($at) -/* 107328 8029DD18 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 10732C 8029DD1C 27A40040 */ addiu $a0, $sp, 0x40 -/* 107330 8029DD20 27A5002C */ addiu $a1, $sp, 0x2c -/* 107334 8029DD24 46062202 */ mul.s $f8, $f4, $f6 -/* 107338 8029DD28 27A60034 */ addiu $a2, $sp, 0x34 -/* 10733C 8029DD2C 24070009 */ li $a3, 9 -/* 107340 8029DD30 0C0A7B22 */ jal func_8029EC88 -/* 107344 8029DD34 E7A80040 */ swc1 $f8, 0x40($sp) -/* 107348 8029DD38 10000101 */ b .L8029E140 -/* 10734C 8029DD3C 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029DD40 -/* 107350 8029DD40 3C040600 */ lui $a0, %hi(D_06007718) # $a0, 0x600 -/* 107354 8029DD44 0C0A7561 */ jal place_segment_06 -/* 107358 8029DD48 24847718 */ addiu $a0, %lo(D_06007718) # addiu $a0, $a0, 0x7718 -/* 10735C 8029DD4C 3C040600 */ lui $a0, %hi(D_06007810) # $a0, 0x600 -/* 107360 8029DD50 0C0A760C */ jal place_all_item_boxes -/* 107364 8029DD54 24847810 */ addiu $a0, %lo(D_06007810) # addiu $a0, $a0, 0x7810 -/* 107368 8029DD58 100000F9 */ b .L8029E140 -/* 10736C 8029DD5C 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029DD60 -/* 107370 8029DD60 3C0143A4 */ li $at, 0x43A40000 # 328.000000 -/* 107374 8029DD64 44815000 */ mtc1 $at, $f10 -/* 107378 8029DD68 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016 -/* 10737C 8029DD6C C430F784 */ lwc1 $f16, %lo(gCourseDirection)($at) -/* 107380 8029DD70 3C01428C */ li $at, 0x428C0000 # 70.000000 -/* 107384 8029DD74 44817000 */ mtc1 $at, $f14 -/* 107388 8029DD78 3C06451E */ lui $a2, (0x451ED000 >> 16) # lui $a2, 0x451e -/* 10738C 8029DD7C 46105302 */ mul.s $f12, $f10, $f16 -/* 107390 8029DD80 0C0A852F */ jal func_802A14BC -/* 107394 8029DD84 34C6D000 */ ori $a2, (0x451ED000 & 0xFFFF) # ori $a2, $a2, 0xd000 -/* 107398 8029DD88 3C040602 */ lui $a0, %hi(D_06018E78) # $a0, 0x602 -/* 10739C 8029DD8C 0C0A760C */ jal place_all_item_boxes -/* 1073A0 8029DD90 24848E78 */ addiu $a0, %lo(D_06018E78) # addiu $a0, $a0, -0x7188 -/* 1073A4 8029DD94 3C040602 */ lui $a0, %hi(D_06018F70) # $a0, 0x602 -/* 1073A8 8029DD98 0C0A7360 */ jal place_palm_trees -/* 1073AC 8029DD9C 24848F70 */ addiu $a0, %lo(D_06018F70) # addiu $a0, $a0, -0x7090 -/* 1073B0 8029DDA0 100000E7 */ b .L8029E140 -/* 1073B4 8029DDA4 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029DDA8 -/* 1073B8 8029DDA8 3C040601 */ lui $a0, %hi(D_0600DA78) # $a0, 0x601 -/* 1073BC 8029DDAC 0C0A7561 */ jal place_segment_06 -/* 1073C0 8029DDB0 2484DA78 */ addiu $a0, %lo(D_0600DA78) # addiu $a0, $a0, -0x2588 -/* 1073C4 8029DDB4 3C040601 */ lui $a0, %hi(D_0600DB80) # $a0, 0x601 -/* 1073C8 8029DDB8 0C0A760C */ jal place_all_item_boxes -/* 1073CC 8029DDBC 2484DB80 */ addiu $a0, %lo(D_0600DB80) # addiu $a0, $a0, -0x2480 -/* 1073D0 8029DDC0 3C040601 */ lui $a0, %hi(D_0600D9F0) # $a0, 0x601 -/* 1073D4 8029DDC4 0C0A7305 */ jal place_piranha_plants -/* 1073D8 8029DDC8 2484D9F0 */ addiu $a0, %lo(D_0600D9F0) # addiu $a0, $a0, -0x2610 -/* 1073DC 8029DDCC 100000DC */ b .L8029E140 -/* 1073E0 8029DDD0 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029DDD4 -/* 1073E4 8029DDD4 3C040601 */ lui $a0, %hi(D_0600FE80) # $a0, 0x601 -/* 1073E8 8029DDD8 0C0A7561 */ jal place_segment_06 -/* 1073EC 8029DDDC 2484FE80 */ addiu $a0, %lo(D_0600FE80) # addiu $a0, $a0, -0x180 -/* 1073F0 8029DDE0 3C040601 */ lui $a0, %hi(D_0600FDE8) # $a0, 0x601 -/* 1073F4 8029DDE4 0C0A760C */ jal place_all_item_boxes -/* 1073F8 8029DDE8 2484FDE8 */ addiu $a0, %lo(D_0600FDE8) # addiu $a0, $a0, -0x218 -/* 1073FC 8029DDEC 100000D4 */ b .L8029E140 -/* 107400 8029DDF0 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029DDF4 -/* 107404 8029DDF4 3C0C800E */ lui $t4, %hi(gPlayerCountSelection1) # $t4, 0x800e -/* 107408 8029DDF8 8D8CC538 */ lw $t4, %lo(gPlayerCountSelection1)($t4) -/* 10740C 8029DDFC 24010004 */ li $at, 4 -/* 107410 8029DE00 3C040601 */ lui $a0, %hi(D_06014330) # $a0, 0x601 -/* 107414 8029DE04 11810003 */ beq $t4, $at, .L8029DE14 -/* 107418 8029DE08 00000000 */ nop -/* 10741C 8029DE0C 0C0A7561 */ jal place_segment_06 -/* 107420 8029DE10 24844330 */ addiu $a0, %lo(D_06014330) # addiu $a0, $a0, 0x4330 -.L8029DE14: -/* 107424 8029DE14 3C040601 */ lui $a0, %hi(D_060143E0) # $a0, 0x601 -/* 107428 8029DE18 0C0A760C */ jal place_all_item_boxes -/* 10742C 8029DE1C 248443E0 */ addiu $a0, %lo(D_060143E0) # addiu $a0, $a0, 0x43e0 -/* 107430 8029DE20 100000C7 */ b .L8029E140 -/* 107434 8029DE24 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029DE28 -/* 107438 8029DE28 3C040602 */ lui $a0, %hi(D_06023AE0) # $a0, 0x602 -/* 10743C 8029DE2C 0C0A760C */ jal place_all_item_boxes -/* 107440 8029DE30 24843AE0 */ addiu $a0, %lo(D_06023AE0) # addiu $a0, $a0, 0x3ae0 -/* 107444 8029DE34 100000C2 */ b .L8029E140 -/* 107448 8029DE38 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029DE3C -/* 10744C 8029DE3C 3C040602 */ lui $a0, %hi(D_06022F08) # $a0, 0x602 -/* 107450 8029DE40 0C0A7561 */ jal place_segment_06 -/* 107454 8029DE44 24842F08 */ addiu $a0, %lo(D_06022F08) # addiu $a0, $a0, 0x2f08 -/* 107458 8029DE48 3C040602 */ lui $a0, %hi(D_06022E88) # $a0, 0x602 -/* 10745C 8029DE4C 0C0A760C */ jal place_all_item_boxes -/* 107460 8029DE50 24842E88 */ addiu $a0, %lo(D_06022E88) # addiu $a0, $a0, 0x2e88 -/* 107464 8029DE54 27A40040 */ addiu $a0, $sp, 0x40 -/* 107468 8029DE58 3C05C4D2 */ lui $a1, 0xc4d2 -/* 10746C 8029DE5C 3C064000 */ lui $a2, 0x4000 -/* 107470 8029DE60 0C0AD4A7 */ jal vec3f_set -/* 107474 8029DE64 3C07420C */ lui $a3, 0x420c -/* 107478 8029DE68 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016 -/* 10747C 8029DE6C C424F784 */ lwc1 $f4, %lo(gCourseDirection)($at) -/* 107480 8029DE70 C7B20040 */ lwc1 $f18, 0x40($sp) -/* 107484 8029DE74 27A40040 */ addiu $a0, $sp, 0x40 -/* 107488 8029DE78 27A5002C */ addiu $a1, $sp, 0x2c -/* 10748C 8029DE7C 46049182 */ mul.s $f6, $f18, $f4 -/* 107490 8029DE80 27A60034 */ addiu $a2, $sp, 0x34 -/* 107494 8029DE84 24070027 */ li $a3, 39 -/* 107498 8029DE88 0C0A7B22 */ jal func_8029EC88 -/* 10749C 8029DE8C E7A60040 */ swc1 $f6, 0x40($sp) -/* 1074A0 8029DE90 000248C0 */ sll $t1, $v0, 3 -/* 1074A4 8029DE94 01224823 */ subu $t1, $t1, $v0 -/* 1074A8 8029DE98 00094900 */ sll $t1, $t1, 4 -/* 1074AC 8029DE9C 3C018016 */ lui $at, %hi(gActorList) # 0x8016 -/* 1074B0 8029DEA0 00290821 */ addu $at, $at, $t1 -/* 1074B4 8029DEA4 240B0001 */ li $t3, 1 -/* 1074B8 8029DEA8 A42BF9BE */ sh $t3, %lo(gActorList+6)($at) # -0x642($at) -/* 1074BC 8029DEAC 27A40040 */ addiu $a0, $sp, 0x40 -/* 1074C0 8029DEB0 3C05C4C8 */ lui $a1, 0xc4c8 -/* 1074C4 8029DEB4 3C064000 */ lui $a2, 0x4000 -/* 1074C8 8029DEB8 0C0AD4A7 */ jal vec3f_set -/* 1074CC 8029DEBC 3C07420C */ lui $a3, 0x420c -/* 1074D0 8029DEC0 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016 -/* 1074D4 8029DEC4 C42AF784 */ lwc1 $f10, %lo(gCourseDirection)($at) -/* 1074D8 8029DEC8 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 1074DC 8029DECC 27A40040 */ addiu $a0, $sp, 0x40 -/* 1074E0 8029DED0 27A5002C */ addiu $a1, $sp, 0x2c -/* 1074E4 8029DED4 460A4402 */ mul.s $f16, $f8, $f10 -/* 1074E8 8029DED8 27A60034 */ addiu $a2, $sp, 0x34 -/* 1074EC 8029DEDC 24070027 */ li $a3, 39 -/* 1074F0 8029DEE0 0C0A7B22 */ jal func_8029EC88 -/* 1074F4 8029DEE4 E7B00040 */ swc1 $f16, 0x40($sp) -/* 1074F8 8029DEE8 000268C0 */ sll $t5, $v0, 3 -/* 1074FC 8029DEEC 01A26823 */ subu $t5, $t5, $v0 -/* 107500 8029DEF0 000D6900 */ sll $t5, $t5, 4 -/* 107504 8029DEF4 3C018016 */ lui $at, %hi(gActorList) # 0x8016 -/* 107508 8029DEF8 002D0821 */ addu $at, $at, $t5 -/* 10750C 8029DEFC 240A0001 */ li $t2, 1 -/* 107510 8029DF00 A42AF9BE */ sh $t2, %lo(gActorList+6)($at) # -0x642($at) -/* 107514 8029DF04 27A4002C */ addiu $a0, $sp, 0x2c -/* 107518 8029DF08 00002825 */ move $a1, $zero -/* 10751C 8029DF0C 2406E000 */ li $a2, -8192 -/* 107520 8029DF10 0C0AD4AF */ jal vec3s_set -/* 107524 8029DF14 00003825 */ move $a3, $zero -/* 107528 8029DF18 3C05C519 */ lui $a1, (0xC519B000 >> 16) # lui $a1, 0xc519 -/* 10752C 8029DF1C 3C07450D */ lui $a3, (0x450D7000 >> 16) # lui $a3, 0x450d -/* 107530 8029DF20 34E77000 */ ori $a3, (0x450D7000 & 0xFFFF) # ori $a3, $a3, 0x7000 -/* 107534 8029DF24 34A5B000 */ ori $a1, (0xC519B000 & 0xFFFF) # ori $a1, $a1, 0xb000 -/* 107538 8029DF28 27A40040 */ addiu $a0, $sp, 0x40 -/* 10753C 8029DF2C 0C0AD4A7 */ jal vec3f_set -/* 107540 8029DF30 3C064000 */ lui $a2, 0x4000 -/* 107544 8029DF34 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016 -/* 107548 8029DF38 C424F784 */ lwc1 $f4, %lo(gCourseDirection)($at) -/* 10754C 8029DF3C C7B20040 */ lwc1 $f18, 0x40($sp) -/* 107550 8029DF40 27A40040 */ addiu $a0, $sp, 0x40 -/* 107554 8029DF44 27A5002C */ addiu $a1, $sp, 0x2c -/* 107558 8029DF48 46049182 */ mul.s $f6, $f18, $f4 -/* 10755C 8029DF4C 27A60034 */ addiu $a2, $sp, 0x34 -/* 107560 8029DF50 24070027 */ li $a3, 39 -/* 107564 8029DF54 0C0A7B22 */ jal func_8029EC88 -/* 107568 8029DF58 E7A60040 */ swc1 $f6, 0x40($sp) -/* 10756C 8029DF5C 0002C8C0 */ sll $t9, $v0, 3 -/* 107570 8029DF60 0322C823 */ subu $t9, $t9, $v0 -/* 107574 8029DF64 0019C900 */ sll $t9, $t9, 4 -/* 107578 8029DF68 3C018016 */ lui $at, %hi(gActorList) # 0x8016 -/* 10757C 8029DF6C 00390821 */ addu $at, $at, $t9 -/* 107580 8029DF70 3C05C51A */ lui $a1, (0xC51A3000 >> 16) # lui $a1, 0xc51a -/* 107584 8029DF74 3C074514 */ lui $a3, (0x45147000 >> 16) # lui $a3, 0x4514 -/* 107588 8029DF78 A420F9BE */ sh $zero, %lo(gActorList+6)($at) # -0x642($at) -/* 10758C 8029DF7C 34E77000 */ ori $a3, (0x45147000 & 0xFFFF) # ori $a3, $a3, 0x7000 -/* 107590 8029DF80 34A53000 */ ori $a1, (0xC51A3000 & 0xFFFF) # ori $a1, $a1, 0x3000 -/* 107594 8029DF84 27A40040 */ addiu $a0, $sp, 0x40 -/* 107598 8029DF88 0C0AD4A7 */ jal vec3f_set -/* 10759C 8029DF8C 3C064000 */ lui $a2, 0x4000 -/* 1075A0 8029DF90 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016 -/* 1075A4 8029DF94 C42AF784 */ lwc1 $f10, %lo(gCourseDirection)($at) -/* 1075A8 8029DF98 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 1075AC 8029DF9C 27A40040 */ addiu $a0, $sp, 0x40 -/* 1075B0 8029DFA0 27A5002C */ addiu $a1, $sp, 0x2c -/* 1075B4 8029DFA4 460A4402 */ mul.s $f16, $f8, $f10 -/* 1075B8 8029DFA8 27A60034 */ addiu $a2, $sp, 0x34 -/* 1075BC 8029DFAC 24070027 */ li $a3, 39 -/* 1075C0 8029DFB0 0C0A7B22 */ jal func_8029EC88 -/* 1075C4 8029DFB4 E7B00040 */ swc1 $f16, 0x40($sp) -/* 1075C8 8029DFB8 0002C0C0 */ sll $t8, $v0, 3 -/* 1075CC 8029DFBC 0302C023 */ subu $t8, $t8, $v0 -/* 1075D0 8029DFC0 0018C100 */ sll $t8, $t8, 4 -/* 1075D4 8029DFC4 3C018016 */ lui $at, %hi(gActorList) # 0x8016 -/* 1075D8 8029DFC8 00380821 */ addu $at, $at, $t8 -/* 1075DC 8029DFCC 1000005B */ b .L8029E13C -/* 1075E0 8029DFD0 A420F9BE */ sh $zero, %lo(gActorList+6)($at) # -0x642($at) -glabel L8029DFD4 -/* 1075E4 8029DFD4 3C040601 */ lui $a0, %hi(D_06009B80) # $a0, 0x601 -/* 1075E8 8029DFD8 0C0A760C */ jal place_all_item_boxes -/* 1075EC 8029DFDC 24849B80 */ addiu $a0, %lo(D_06009B80) # addiu $a0, $a0, -0x6480 -/* 1075F0 8029DFE0 10000057 */ b .L8029E140 -/* 1075F4 8029DFE4 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029DFE8 -/* 1075F8 8029DFE8 3C040601 */ lui $a0, %hi(D_06016338) # $a0, 0x601 -/* 1075FC 8029DFEC 0C0A760C */ jal place_all_item_boxes -/* 107600 8029DFF0 24846338 */ addiu $a0, %lo(D_06016338) # addiu $a0, $a0, 0x6338 -/* 107604 8029DFF4 10000052 */ b .L8029E140 -/* 107608 8029DFF8 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029DFFC -/* 10760C 8029DFFC 3C040601 */ lui $a0, %hi(D_0600CB40) # $a0, 0x601 -/* 107610 8029E000 0C0A760C */ jal place_all_item_boxes -/* 107614 8029E004 2484CB40 */ addiu $a0, %lo(D_0600CB40) # addiu $a0, $a0, -0x34c0 -/* 107618 8029E008 27A40040 */ addiu $a0, $sp, 0x40 -/* 10761C 8029E00C 3C05C303 */ lui $a1, 0xc303 -/* 107620 8029E010 3C0642A6 */ lui $a2, 0x42a6 -/* 107624 8029E014 0C0AD4A7 */ jal vec3f_set -/* 107628 8029E018 3C07438F */ lui $a3, 0x438f -/* 10762C 8029E01C 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016 -/* 107630 8029E020 C424F784 */ lwc1 $f4, %lo(gCourseDirection)($at) -/* 107634 8029E024 C7B20040 */ lwc1 $f18, 0x40($sp) -/* 107638 8029E028 27A40040 */ addiu $a0, $sp, 0x40 -/* 10763C 8029E02C 27A5002C */ addiu $a1, $sp, 0x2c -/* 107640 8029E030 46049182 */ mul.s $f6, $f18, $f4 -/* 107644 8029E034 27A60034 */ addiu $a2, $sp, 0x34 -/* 107648 8029E038 24070023 */ li $a3, 35 -/* 10764C 8029E03C 0C0A7B22 */ jal func_8029EC88 -/* 107650 8029E040 E7A60040 */ swc1 $f6, 0x40($sp) -/* 107654 8029E044 3C05C513 */ lui $a1, (0xC5131000 >> 16) # lui $a1, 0xc513 -/* 107658 8029E048 34A51000 */ ori $a1, (0xC5131000 & 0xFFFF) # ori $a1, $a1, 0x1000 -/* 10765C 8029E04C 27A40040 */ addiu $a0, $sp, 0x40 -/* 107660 8029E050 3C064290 */ lui $a2, 0x4290 -/* 107664 8029E054 0C0AD4A7 */ jal vec3f_set -/* 107668 8029E058 3C07C4C9 */ lui $a3, 0xc4c9 -/* 10766C 8029E05C 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016 -/* 107670 8029E060 C42AF784 */ lwc1 $f10, %lo(gCourseDirection)($at) -/* 107674 8029E064 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 107678 8029E068 27A40040 */ addiu $a0, $sp, 0x40 -/* 10767C 8029E06C 27A5002C */ addiu $a1, $sp, 0x2c -/* 107680 8029E070 460A4402 */ mul.s $f16, $f8, $f10 -/* 107684 8029E074 27A60034 */ addiu $a2, $sp, 0x34 -/* 107688 8029E078 24070023 */ li $a3, 35 -/* 10768C 8029E07C 0C0A7B22 */ jal func_8029EC88 -/* 107690 8029E080 E7B00040 */ swc1 $f16, 0x40($sp) -/* 107694 8029E084 3C05C523 */ lui $a1, (0xC523E000 >> 16) # lui $a1, 0xc523 -/* 107698 8029E088 3C074438 */ lui $a3, (0x4438C000 >> 16) # lui $a3, 0x4438 -/* 10769C 8029E08C 34E7C000 */ ori $a3, (0x4438C000 & 0xFFFF) # ori $a3, $a3, 0xc000 -/* 1076A0 8029E090 34A5E000 */ ori $a1, (0xC523E000 & 0xFFFF) # ori $a1, $a1, 0xe000 -/* 1076A4 8029E094 27A40040 */ addiu $a0, $sp, 0x40 -/* 1076A8 8029E098 0C0AD4A7 */ jal vec3f_set -/* 1076AC 8029E09C 3C06429E */ lui $a2, 0x429e -/* 1076B0 8029E0A0 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016 -/* 1076B4 8029E0A4 C424F784 */ lwc1 $f4, %lo(gCourseDirection)($at) -/* 1076B8 8029E0A8 C7B20040 */ lwc1 $f18, 0x40($sp) -/* 1076BC 8029E0AC 27A40040 */ addiu $a0, $sp, 0x40 -/* 1076C0 8029E0B0 27A5002C */ addiu $a1, $sp, 0x2c -/* 1076C4 8029E0B4 46049182 */ mul.s $f6, $f18, $f4 -/* 1076C8 8029E0B8 27A60034 */ addiu $a2, $sp, 0x34 -/* 1076CC 8029E0BC 24070023 */ li $a3, 35 -/* 1076D0 8029E0C0 0C0A7B22 */ jal func_8029EC88 -/* 1076D4 8029E0C4 E7A60040 */ swc1 $f6, 0x40($sp) -/* 1076D8 8029E0C8 1000001D */ b .L8029E140 -/* 1076DC 8029E0CC 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029E0D0 -/* 1076E0 8029E0D0 3C040600 */ lui $a0, %hi(D_06000038) # $a0, 0x600 -/* 1076E4 8029E0D4 0C0A760C */ jal place_all_item_boxes -/* 1076E8 8029E0D8 24840038 */ addiu $a0, %lo(D_06000038) # addiu $a0, $a0, 0x38 -/* 1076EC 8029E0DC 10000018 */ b .L8029E140 -/* 1076F0 8029E0E0 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029E0E4 -/* 1076F4 8029E0E4 3C040600 */ lui $a0, %hi(D_06000080) # $a0, 0x600 -/* 1076F8 8029E0E8 0C0A760C */ jal place_all_item_boxes -/* 1076FC 8029E0EC 24840080 */ addiu $a0, %lo(D_06000080) # addiu $a0, $a0, 0x80 -/* 107700 8029E0F0 10000013 */ b .L8029E140 -/* 107704 8029E0F4 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029E0F8 -/* 107708 8029E0F8 3C040600 */ lui $a0, %hi(D_06000028) # $a0, 0x600 -/* 10770C 8029E0FC 0C0A760C */ jal place_all_item_boxes -/* 107710 8029E100 24840028 */ addiu $a0, %lo(D_06000028) # addiu $a0, $a0, 0x28 -/* 107714 8029E104 1000000E */ b .L8029E140 -/* 107718 8029E108 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029E10C -/* 10771C 8029E10C 3C040601 */ lui $a0, %hi(D_06013EC0) # $a0, 0x601 -/* 107720 8029E110 0C0A760C */ jal place_all_item_boxes -/* 107724 8029E114 24843EC0 */ addiu $a0, %lo(D_06013EC0) # addiu $a0, $a0, 0x3ec0 -/* 107728 8029E118 0C0A767E */ jal init_kiwano_fruit -/* 10772C 8029E11C 00000000 */ nop -/* 107730 8029E120 0C0A6344 */ jal func_80298D10 -/* 107734 8029E124 00000000 */ nop -/* 107738 8029E128 10000005 */ b .L8029E140 -/* 10773C 8029E12C 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029E130 -/* 107740 8029E130 3C040600 */ lui $a0, %hi(D_06000058) # $a0, 0x600 -/* 107744 8029E134 0C0A760C */ jal place_all_item_boxes -/* 107748 8029E138 24840058 */ addiu $a0, %lo(D_06000058) # addiu $a0, $a0, 0x58 -.L8029E13C: -/* 10774C 8029E13C 8FBF0014 */ lw $ra, 0x14($sp) -.L8029E140: -/* 107750 8029E140 3C0E8015 */ lui $t6, %hi(gNumActors) # $t6, 0x8015 -/* 107754 8029E144 95CE0110 */ lhu $t6, %lo(gNumActors)($t6) -/* 107758 8029E148 3C018016 */ lui $at, %hi(gNumPermanentActors) # 0x8016 -/* 10775C 8029E14C 27BD0050 */ addiu $sp, $sp, 0x50 -/* 107760 8029E150 03E00008 */ jr $ra -/* 107764 8029E154 A42EF900 */ sh $t6, %lo(gNumPermanentActors)($at) # -0x700($at) diff --git a/asm/non_matchings/actors/func_8029E158.s b/asm/non_matchings/actors/func_8029E158.s deleted file mode 100644 index e4c965c7a..000000000 --- a/asm/non_matchings/actors/func_8029E158.s +++ /dev/null @@ -1,429 +0,0 @@ -glabel func_8029E158 -/* 107768 8029E158 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 10776C 8029E15C AFBF0014 */ sw $ra, 0x14($sp) -/* 107770 8029E160 3C058016 */ lui $a1, %hi(gPrevLoadedAddress) # $a1, 0x8016 -/* 107774 8029E164 8CA5F728 */ lw $a1, %lo(gPrevLoadedAddress)($a1) -/* 107778 8029E168 0C0A9EE5 */ jal set_segment_base_addr -/* 10777C 8029E16C 24040003 */ li $a0, 3 -/* 107780 8029E170 3C040F05 */ lui $a0, %hi(D_0F04CBE0) # $a0, 0xf05 -/* 107784 8029E174 2484CBE0 */ addiu $a0, %lo(D_0F04CBE0) # addiu $a0, $a0, -0x3420 -/* 107788 8029E178 24050257 */ li $a1, 599 -/* 10778C 8029E17C 0C0AA13D */ jal func_802A84F4 -/* 107790 8029E180 24060400 */ li $a2, 1024 -/* 107794 8029E184 3C01802C */ lui $at, %hi(D_802BA050) # $at, 0x802c -/* 107798 8029E188 3C040F05 */ lui $a0, %hi(D_0F04CE30) # $a0, 0xf05 -/* 10779C 8029E18C AC22A050 */ sw $v0, %lo(D_802BA050)($at) -/* 1077A0 8029E190 2484CE30 */ addiu $a0, %lo(D_0F04CE30) # addiu $a0, $a0, -0x31d0 -/* 1077A4 8029E194 24050242 */ li $a1, 578 -/* 1077A8 8029E198 0C0AA13D */ jal func_802A84F4 -/* 1077AC 8029E19C 24060400 */ li $a2, 1024 -/* 1077B0 8029E1A0 3C040F05 */ lui $a0, %hi(D_0F04D080) # $a0, 0xf05 -/* 1077B4 8029E1A4 2484D080 */ addiu $a0, %lo(D_0F04D080) # addiu $a0, $a0, -0x2f80 -/* 1077B8 8029E1A8 24050259 */ li $a1, 601 -/* 1077BC 8029E1AC 0C0AA13D */ jal func_802A84F4 -/* 1077C0 8029E1B0 24060400 */ li $a2, 1024 -/* 1077C4 8029E1B4 3C040F05 */ lui $a0, %hi(D_0F04D2D8) # $a0, 0xf05 -/* 1077C8 8029E1B8 2484D2D8 */ addiu $a0, %lo(D_0F04D2D8) # addiu $a0, $a0, -0x2d28 -/* 1077CC 8029E1BC 24050256 */ li $a1, 598 -/* 1077D0 8029E1C0 0C0AA13D */ jal func_802A84F4 -/* 1077D4 8029E1C4 24060400 */ li $a2, 1024 -/* 1077D8 8029E1C8 3C040F05 */ lui $a0, %hi(D_0F04D538) # $a0, 0xf05 -/* 1077DC 8029E1CC 2484D538 */ addiu $a0, %lo(D_0F04D538) # addiu $a0, $a0, -0x2ac8 -/* 1077E0 8029E1D0 24050246 */ li $a1, 582 -/* 1077E4 8029E1D4 0C0AA13D */ jal func_802A84F4 -/* 1077E8 8029E1D8 24060400 */ li $a2, 1024 -/* 1077EC 8029E1DC 3C040F05 */ lui $a0, %hi(D_0F04D790) # $a0, 0xf05 -/* 1077F0 8029E1E0 2484D790 */ addiu $a0, %lo(D_0F04D790) # addiu $a0, $a0, -0x2870 -/* 1077F4 8029E1E4 2405025E */ li $a1, 606 -/* 1077F8 8029E1E8 0C0AA13D */ jal func_802A84F4 -/* 1077FC 8029E1EC 24060400 */ li $a2, 1024 -/* 107800 8029E1F0 3C040F05 */ lui $a0, %hi(D_0F04D9FC) # $a0, 0xf05 -/* 107804 8029E1F4 2484D9FC */ addiu $a0, %lo(D_0F04D9FC) # addiu $a0, $a0, -0x2604 -/* 107808 8029E1F8 2405025C */ li $a1, 604 -/* 10780C 8029E1FC 0C0AA13D */ jal func_802A84F4 -/* 107810 8029E200 24060400 */ li $a2, 1024 -/* 107814 8029E204 3C040F05 */ lui $a0, %hi(D_0F04DC5C) # $a0, 0xf05 -/* 107818 8029E208 2484DC5C */ addiu $a0, %lo(D_0F04DC5C) # addiu $a0, $a0, -0x23a4 -/* 10781C 8029E20C 24050254 */ li $a1, 596 -/* 107820 8029E210 0C0AA13D */ jal func_802A84F4 -/* 107824 8029E214 24060400 */ li $a2, 1024 -/* 107828 8029E218 3C040F05 */ lui $a0, %hi(D_0F04DEB0) # $a0, 0xf05 -/* 10782C 8029E21C 2484DEB0 */ addiu $a0, %lo(D_0F04DEB0) # addiu $a0, $a0, -0x2150 -/* 107830 8029E220 2405022A */ li $a1, 554 -/* 107834 8029E224 0C0AA13D */ jal func_802A84F4 -/* 107838 8029E228 24060400 */ li $a2, 1024 -/* 10783C 8029E22C 3C01802C */ lui $at, %hi(D_802BA054) # $at, 0x802c -/* 107840 8029E230 3C040F05 */ lui $a0, %hi(D_0F04E0DC) # $a0, 0xf05 -/* 107844 8029E234 AC22A054 */ sw $v0, %lo(D_802BA054)($at) -/* 107848 8029E238 2484E0DC */ addiu $a0, %lo(D_0F04E0DC) # addiu $a0, $a0, -0x1f24 -/* 10784C 8029E23C 24050237 */ li $a1, 567 -/* 107850 8029E240 0C0AA13D */ jal func_802A84F4 -/* 107854 8029E244 24060400 */ li $a2, 1024 -/* 107858 8029E248 3C040F05 */ lui $a0, %hi(D_0F04E314) # $a0, 0xf05 -/* 10785C 8029E24C 2484E314 */ addiu $a0, %lo(D_0F04E314) # addiu $a0, $a0, -0x1cec -/* 107860 8029E250 2405023E */ li $a1, 574 -/* 107864 8029E254 0C0AA13D */ jal func_802A84F4 -/* 107868 8029E258 24060400 */ li $a2, 1024 -/* 10786C 8029E25C 3C040F05 */ lui $a0, %hi(D_0F04E554) # $a0, 0xf05 -/* 107870 8029E260 2484E554 */ addiu $a0, %lo(D_0F04E554) # addiu $a0, $a0, -0x1aac -/* 107874 8029E264 24050243 */ li $a1, 579 -/* 107878 8029E268 0C0AA13D */ jal func_802A84F4 -/* 10787C 8029E26C 24060400 */ li $a2, 1024 -/* 107880 8029E270 3C040F05 */ lui $a0, %hi(D_0F04E798) # $a0, 0xf05 -/* 107884 8029E274 2484E798 */ addiu $a0, %lo(D_0F04E798) # addiu $a0, $a0, -0x1868 -/* 107888 8029E278 24050255 */ li $a1, 597 -/* 10788C 8029E27C 0C0AA13D */ jal func_802A84F4 -/* 107890 8029E280 24060400 */ li $a2, 1024 -/* 107894 8029E284 3C040F05 */ lui $a0, %hi(D_0F04E9F0) # $a0, 0xf05 -/* 107898 8029E288 2484E9F0 */ addiu $a0, %lo(D_0F04E9F0) # addiu $a0, $a0, -0x1610 -/* 10789C 8029E28C 24050259 */ li $a1, 601 -/* 1078A0 8029E290 0C0AA13D */ jal func_802A84F4 -/* 1078A4 8029E294 24060400 */ li $a2, 1024 -/* 1078A8 8029E298 3C040F05 */ lui $a0, %hi(D_0F04EC4C) # $a0, 0xf05 -/* 1078AC 8029E29C 2484EC4C */ addiu $a0, %lo(D_0F04EC4C) # addiu $a0, $a0, -0x13b4 -/* 1078B0 8029E2A0 24050239 */ li $a1, 569 -/* 1078B4 8029E2A4 0C0AA13D */ jal func_802A84F4 -/* 1078B8 8029E2A8 24060400 */ li $a2, 1024 -/* 1078BC 8029E2AC 3C040F05 */ lui $a0, %hi(D_0F04EE88) # $a0, 0xf05 -/* 1078C0 8029E2B0 2484EE88 */ addiu $a0, %lo(D_0F04EE88) # addiu $a0, $a0, -0x1178 -/* 1078C4 8029E2B4 24050236 */ li $a1, 566 -/* 1078C8 8029E2B8 0C0AA13D */ jal func_802A84F4 -/* 1078CC 8029E2BC 24060400 */ li $a2, 1024 -/* 1078D0 8029E2C0 3C040F05 */ lui $a0, %hi(D_0F054C3C) # $a0, 0xf05 -/* 1078D4 8029E2C4 24844C3C */ addiu $a0, %lo(D_0F054C3C) # addiu $a0, $a0, 0x4c3c -/* 1078D8 8029E2C8 2405028E */ li $a1, 654 -/* 1078DC 8029E2CC 0C0AA13D */ jal func_802A84F4 -/* 1078E0 8029E2D0 24060800 */ li $a2, 2048 -/* 1078E4 8029E2D4 3C040F05 */ lui $a0, %hi(D_0F054ECC) # $a0, 0xf05 -/* 1078E8 8029E2D8 24844ECC */ addiu $a0, %lo(D_0F054ECC) # addiu $a0, $a0, 0x4ecc -/* 1078EC 8029E2DC 240502FB */ li $a1, 763 -/* 1078F0 8029E2E0 0C0AA13D */ jal func_802A84F4 -/* 1078F4 8029E2E4 24060800 */ li $a2, 2048 -/* 1078F8 8029E2E8 3C040F05 */ lui $a0, %hi(D_0F0551C8) # $a0, 0xf05 -/* 1078FC 8029E2EC 248451C8 */ addiu $a0, %lo(D_0F0551C8) # addiu $a0, $a0, 0x51c8 -/* 107900 8029E2F0 24050302 */ li $a1, 770 -/* 107904 8029E2F4 0C0AA13D */ jal func_802A84F4 -/* 107908 8029E2F8 24060800 */ li $a2, 2048 -/* 10790C 8029E2FC 3C040F05 */ lui $a0, %hi(D_0F0554CC) # $a0, 0xf05 -/* 107910 8029E300 248454CC */ addiu $a0, %lo(D_0F0554CC) # addiu $a0, $a0, 0x54cc -/* 107914 8029E304 240503B4 */ li $a1, 948 -/* 107918 8029E308 0C0AA13D */ jal func_802A84F4 -/* 10791C 8029E30C 24060800 */ li $a2, 2048 -/* 107920 8029E310 3C040F05 */ lui $a0, %hi(D_0F055880) # $a0, 0xf05 -/* 107924 8029E314 24845880 */ addiu $a0, %lo(D_0F055880) # addiu $a0, $a0, 0x5880 -/* 107928 8029E318 2405031E */ li $a1, 798 -/* 10792C 8029E31C 0C0AA13D */ jal func_802A84F4 -/* 107930 8029E320 24060800 */ li $a2, 2048 -/* 107934 8029E324 3C040F05 */ lui $a0, %hi(D_0F055BA0) # $a0, 0xf05 -/* 107938 8029E328 24845BA0 */ addiu $a0, %lo(D_0F055BA0) # addiu $a0, $a0, 0x5ba0 -/* 10793C 8029E32C 2405036E */ li $a1, 878 -/* 107940 8029E330 0C0AA13D */ jal func_802A84F4 -/* 107944 8029E334 24060800 */ li $a2, 2048 -/* 107948 8029E338 3C040F05 */ lui $a0, %hi(D_0F055F10) # $a0, 0xf05 -/* 10794C 8029E33C 24845F10 */ addiu $a0, %lo(D_0F055F10) # addiu $a0, $a0, 0x5f10 -/* 107950 8029E340 2405029C */ li $a1, 668 -/* 107954 8029E344 0C0AA13D */ jal func_802A84F4 -/* 107958 8029E348 24060800 */ li $a2, 2048 -/* 10795C 8029E34C 3C040F05 */ lui $a0, %hi(D_0F0561AC) # $a0, 0xf05 -/* 107960 8029E350 248461AC */ addiu $a0, %lo(D_0F0561AC) # addiu $a0, $a0, 0x61ac -/* 107964 8029E354 2405025B */ li $a1, 603 -/* 107968 8029E358 0C0AA13D */ jal func_802A84F4 -/* 10796C 8029E35C 24060800 */ li $a2, 2048 -/* 107970 8029E360 3C040F03 */ lui $a0, %hi(gTexture671A88) # $a0, 0xf03 -/* 107974 8029E364 2484FB18 */ addiu $a0, %lo(gTexture671A88) # addiu $a0, $a0, -0x4e8 -/* 107978 8029E368 24050400 */ li $a1, 1024 -/* 10797C 8029E36C 0C0AA13D */ jal func_802A84F4 -/* 107980 8029E370 24060800 */ li $a2, 2048 -/* 107984 8029E374 3C040F03 */ lui $a0, %hi(gTexture6774D8) # $a0, 0xf03 -/* 107988 8029E378 24845568 */ addiu $a0, %lo(gTexture6774D8) # addiu $a0, $a0, 0x5568 -/* 10798C 8029E37C 24050400 */ li $a1, 1024 -/* 107990 8029E380 0C0AA13D */ jal func_802A84F4 -/* 107994 8029E384 24060800 */ li $a2, 2048 -/* 107998 8029E388 3C0E800E */ lui $t6, %hi(gCurrentCourseId) # $t6, 0x800e -/* 10799C 8029E38C 95CEC5A0 */ lhu $t6, %lo(gCurrentCourseId)($t6) -/* 1079A0 8029E390 2DC10013 */ sltiu $at, $t6, 0x13 -/* 1079A4 8029E394 10200105 */ beqz $at, .L8029E7AC -/* 1079A8 8029E398 000E7080 */ sll $t6, $t6, 2 -/* 1079AC 8029E39C 3C01802C */ lui $at, %hi(jpt_802B97FC) -/* 1079B0 8029E3A0 002E0821 */ addu $at, $at, $t6 -/* 1079B4 8029E3A4 8C2E97FC */ lw $t6, %lo(jpt_802B97FC)($at) -/* 1079B8 8029E3A8 01C00008 */ jr $t6 -/* 1079BC 8029E3AC 00000000 */ nop -glabel L8029E3B0 -/* 1079C0 8029E3B0 3C040F05 */ lui $a0, %hi(D_0F04F45C) # $a0, 0xf05 -/* 1079C4 8029E3B4 2484F45C */ addiu $a0, %lo(D_0F04F45C) # addiu $a0, $a0, -0xba4 -/* 1079C8 8029E3B8 2405035B */ li $a1, 859 -/* 1079CC 8029E3BC 0C0AA13D */ jal func_802A84F4 -/* 1079D0 8029E3C0 24060800 */ li $a2, 2048 -/* 1079D4 8029E3C4 3C040F05 */ lui $a0, %hi(D_0F056408) # $a0, 0xf05 -/* 1079D8 8029E3C8 24846408 */ addiu $a0, %lo(D_0F056408) # addiu $a0, $a0, 0x6408 -/* 1079DC 8029E3CC 240503E8 */ li $a1, 1000 -/* 1079E0 8029E3D0 0C0AA13D */ jal func_802A84F4 -/* 1079E4 8029E3D4 24060800 */ li $a2, 2048 -/* 1079E8 8029E3D8 3C01802C */ lui $at, %hi(D_802BA058) # $at, 0x802c -/* 1079EC 8029E3DC 3C040F05 */ lui $a0, %hi(D_0F05662C) # $a0, 0xf05 -/* 1079F0 8029E3E0 AC22A058 */ sw $v0, %lo(D_802BA058)($at) -/* 1079F4 8029E3E4 2484662C */ addiu $a0, %lo(D_0F05662C) # addiu $a0, $a0, 0x662c -/* 1079F8 8029E3E8 240503E8 */ li $a1, 1000 -/* 1079FC 8029E3EC 0C0AA13D */ jal func_802A84F4 -/* 107A00 8029E3F0 24060800 */ li $a2, 2048 -/* 107A04 8029E3F4 3C040F05 */ lui $a0, %hi(D_0F05688C) # $a0, 0xf05 -/* 107A08 8029E3F8 2484688C */ addiu $a0, %lo(D_0F05688C) # addiu $a0, $a0, 0x688c -/* 107A0C 8029E3FC 240503E8 */ li $a1, 1000 -/* 107A10 8029E400 0C0AA13D */ jal func_802A84F4 -/* 107A14 8029E404 24060800 */ li $a2, 2048 -/* 107A18 8029E408 3C040F05 */ lui $a0, %hi(D_0F056AD0) # $a0, 0xf05 -/* 107A1C 8029E40C 24846AD0 */ addiu $a0, %lo(D_0F056AD0) # addiu $a0, $a0, 0x6ad0 -/* 107A20 8029E410 240503E8 */ li $a1, 1000 -/* 107A24 8029E414 0C0AA13D */ jal func_802A84F4 -/* 107A28 8029E418 24060800 */ li $a2, 2048 -/* 107A2C 8029E41C 3C040F05 */ lui $a0, %hi(D_0F056CF0) # $a0, 0xf05 -/* 107A30 8029E420 24846CF0 */ addiu $a0, %lo(D_0F056CF0) # addiu $a0, $a0, 0x6cf0 -/* 107A34 8029E424 240503E8 */ li $a1, 1000 -/* 107A38 8029E428 0C0AA13D */ jal func_802A84F4 -/* 107A3C 8029E42C 24060800 */ li $a2, 2048 -/* 107A40 8029E430 3C040F05 */ lui $a0, %hi(D_0F056EC8) # $a0, 0xf05 -/* 107A44 8029E434 24846EC8 */ addiu $a0, %lo(D_0F056EC8) # addiu $a0, $a0, 0x6ec8 -/* 107A48 8029E438 240503E8 */ li $a1, 1000 -/* 107A4C 8029E43C 0C0AA13D */ jal func_802A84F4 -/* 107A50 8029E440 24060800 */ li $a2, 2048 -/* 107A54 8029E444 3C040F05 */ lui $a0, %hi(D_0F057084) # $a0, 0xf05 -/* 107A58 8029E448 24847084 */ addiu $a0, %lo(D_0F057084) # addiu $a0, $a0, 0x7084 -/* 107A5C 8029E44C 240503E8 */ li $a1, 1000 -/* 107A60 8029E450 0C0AA13D */ jal func_802A84F4 -/* 107A64 8029E454 24060800 */ li $a2, 2048 -/* 107A68 8029E458 3C040F05 */ lui $a0, %hi(D_0F057288) # $a0, 0xf05 -/* 107A6C 8029E45C 24847288 */ addiu $a0, %lo(D_0F057288) # addiu $a0, $a0, 0x7288 -/* 107A70 8029E460 240503E8 */ li $a1, 1000 -/* 107A74 8029E464 0C0AA13D */ jal func_802A84F4 -/* 107A78 8029E468 24060800 */ li $a2, 2048 -/* 107A7C 8029E46C 3C040F05 */ lui $a0, %hi(D_0F057590) # $a0, 0xf05 -/* 107A80 8029E470 24847590 */ addiu $a0, %lo(D_0F057590) # addiu $a0, $a0, 0x7590 -/* 107A84 8029E474 240503E8 */ li $a1, 1000 -/* 107A88 8029E478 0C0AA13D */ jal func_802A84F4 -/* 107A8C 8029E47C 24060800 */ li $a2, 2048 -/* 107A90 8029E480 100000CA */ b .L8029E7AC -/* 107A94 8029E484 00000000 */ nop -glabel L8029E488 -/* 107A98 8029E488 3C040F05 */ lui $a0, %hi(gTextureShrub) # $a0, 0xf05 -/* 107A9C 8029E48C 24840FCC */ addiu $a0, %lo(gTextureShrub) # addiu $a0, $a0, 0xfcc -/* 107AA0 8029E490 240503FF */ li $a1, 1023 -/* 107AA4 8029E494 0C0AA13D */ jal func_802A84F4 -/* 107AA8 8029E498 24060800 */ li $a2, 2048 -/* 107AAC 8029E49C 100000C3 */ b .L8029E7AC -/* 107AB0 8029E4A0 00000000 */ nop -glabel L8029E4A4 -/* 107AB4 8029E4A4 3C040F05 */ lui $a0, %hi(D_0F04F7A4) # $a0, 0xf05 -/* 107AB8 8029E4A8 2484F7A4 */ addiu $a0, %lo(D_0F04F7A4) # addiu $a0, $a0, -0x85c -/* 107ABC 8029E4AC 240503E8 */ li $a1, 1000 -/* 107AC0 8029E4B0 0C0AA13D */ jal func_802A84F4 -/* 107AC4 8029E4B4 24060800 */ li $a2, 2048 -/* 107AC8 8029E4B8 100000BC */ b .L8029E7AC -/* 107ACC 8029E4BC 00000000 */ nop -glabel L8029E4C0 -/* 107AD0 8029E4C0 3C040F05 */ lui $a0, %hi(D_0F0513CC) # $a0, 0xf05 -/* 107AD4 8029E4C4 248413CC */ addiu $a0, %lo(D_0F0513CC) # addiu $a0, $a0, 0x13cc -/* 107AD8 8029E4C8 24050454 */ li $a1, 1108 -/* 107ADC 8029E4CC 0C0AA13D */ jal func_802A84F4 -/* 107AE0 8029E4D0 24060800 */ li $a2, 2048 -/* 107AE4 8029E4D4 3C040F05 */ lui $a0, %hi(D_0F051820) # $a0, 0xf05 -/* 107AE8 8029E4D8 24841820 */ addiu $a0, %lo(D_0F051820) # addiu $a0, $a0, 0x1820 -/* 107AEC 8029E4DC 24050432 */ li $a1, 1074 -/* 107AF0 8029E4E0 0C0AA13D */ jal func_802A84F4 -/* 107AF4 8029E4E4 24060800 */ li $a2, 2048 -/* 107AF8 8029E4E8 100000B0 */ b .L8029E7AC -/* 107AFC 8029E4EC 00000000 */ nop -glabel L8029E4F0 -/* 107B00 8029E4F0 3C040F05 */ lui $a0, %hi(D_0F04FB3C) # $a0, 0xf05 -/* 107B04 8029E4F4 2484FB3C */ addiu $a0, %lo(D_0F04FB3C) # addiu $a0, $a0, -0x4c4 -/* 107B08 8029E4F8 240503E8 */ li $a1, 1000 -/* 107B0C 8029E4FC 0C0AA13D */ jal func_802A84F4 -/* 107B10 8029E500 24060800 */ li $a2, 2048 -/* 107B14 8029E504 3C040F05 */ lui $a0, %hi(D_0F050D50) # $a0, 0xf05 -/* 107B18 8029E508 24840D50 */ addiu $a0, %lo(D_0F050D50) # addiu $a0, $a0, 0xd50 -/* 107B1C 8029E50C 240503E8 */ li $a1, 1000 -/* 107B20 8029E510 0C0AA13D */ jal func_802A84F4 -/* 107B24 8029E514 24060800 */ li $a2, 2048 -/* 107B28 8029E518 3C040F05 */ lui $a0, %hi(D_0F056408) # $a0, 0xf05 -/* 107B2C 8029E51C 24846408 */ addiu $a0, %lo(D_0F056408) # addiu $a0, $a0, 0x6408 -/* 107B30 8029E520 240503E8 */ li $a1, 1000 -/* 107B34 8029E524 0C0AA13D */ jal func_802A84F4 -/* 107B38 8029E528 24060800 */ li $a2, 2048 -/* 107B3C 8029E52C 3C01802C */ lui $at, %hi(D_802BA058) # $at, 0x802c -/* 107B40 8029E530 3C040F05 */ lui $a0, %hi(D_0F05662C) # $a0, 0xf05 -/* 107B44 8029E534 AC22A058 */ sw $v0, %lo(D_802BA058)($at) -/* 107B48 8029E538 2484662C */ addiu $a0, %lo(D_0F05662C) # addiu $a0, $a0, 0x662c -/* 107B4C 8029E53C 240503E8 */ li $a1, 1000 -/* 107B50 8029E540 0C0AA13D */ jal func_802A84F4 -/* 107B54 8029E544 24060800 */ li $a2, 2048 -/* 107B58 8029E548 3C040F05 */ lui $a0, %hi(D_0F05688C) # $a0, 0xf05 -/* 107B5C 8029E54C 2484688C */ addiu $a0, %lo(D_0F05688C) # addiu $a0, $a0, 0x688c -/* 107B60 8029E550 240503E8 */ li $a1, 1000 -/* 107B64 8029E554 0C0AA13D */ jal func_802A84F4 -/* 107B68 8029E558 24060800 */ li $a2, 2048 -/* 107B6C 8029E55C 3C040F05 */ lui $a0, %hi(D_0F056AD0) # $a0, 0xf05 -/* 107B70 8029E560 24846AD0 */ addiu $a0, %lo(D_0F056AD0) # addiu $a0, $a0, 0x6ad0 -/* 107B74 8029E564 240503E8 */ li $a1, 1000 -/* 107B78 8029E568 0C0AA13D */ jal func_802A84F4 -/* 107B7C 8029E56C 24060800 */ li $a2, 2048 -/* 107B80 8029E570 3C040F05 */ lui $a0, %hi(D_0F056CF0) # $a0, 0xf05 -/* 107B84 8029E574 24846CF0 */ addiu $a0, %lo(D_0F056CF0) # addiu $a0, $a0, 0x6cf0 -/* 107B88 8029E578 240503E8 */ li $a1, 1000 -/* 107B8C 8029E57C 0C0AA13D */ jal func_802A84F4 -/* 107B90 8029E580 24060800 */ li $a2, 2048 -/* 107B94 8029E584 3C040F05 */ lui $a0, %hi(D_0F056EC8) # $a0, 0xf05 -/* 107B98 8029E588 24846EC8 */ addiu $a0, %lo(D_0F056EC8) # addiu $a0, $a0, 0x6ec8 -/* 107B9C 8029E58C 240503E8 */ li $a1, 1000 -/* 107BA0 8029E590 0C0AA13D */ jal func_802A84F4 -/* 107BA4 8029E594 24060800 */ li $a2, 2048 -/* 107BA8 8029E598 3C040F05 */ lui $a0, %hi(D_0F057084) # $a0, 0xf05 -/* 107BAC 8029E59C 24847084 */ addiu $a0, %lo(D_0F057084) # addiu $a0, $a0, 0x7084 -/* 107BB0 8029E5A0 240503E8 */ li $a1, 1000 -/* 107BB4 8029E5A4 0C0AA13D */ jal func_802A84F4 -/* 107BB8 8029E5A8 24060800 */ li $a2, 2048 -/* 107BBC 8029E5AC 3C040F05 */ lui $a0, %hi(D_0F057288) # $a0, 0xf05 -/* 107BC0 8029E5B0 24847288 */ addiu $a0, %lo(D_0F057288) # addiu $a0, $a0, 0x7288 -/* 107BC4 8029E5B4 240503E8 */ li $a1, 1000 -/* 107BC8 8029E5B8 0C0AA13D */ jal func_802A84F4 -/* 107BCC 8029E5BC 24060800 */ li $a2, 2048 -/* 107BD0 8029E5C0 3C040F05 */ lui $a0, %hi(D_0F057590) # $a0, 0xf05 -/* 107BD4 8029E5C4 24847590 */ addiu $a0, %lo(D_0F057590) # addiu $a0, $a0, 0x7590 -/* 107BD8 8029E5C8 240503E8 */ li $a1, 1000 -/* 107BDC 8029E5CC 0C0AA13D */ jal func_802A84F4 -/* 107BE0 8029E5D0 24060800 */ li $a2, 2048 -/* 107BE4 8029E5D4 10000075 */ b .L8029E7AC -/* 107BE8 8029E5D8 00000000 */ nop -glabel L8029E5DC -/* 107BEC 8029E5DC 3C040F05 */ lui $a0, %hi(D_0F050468) # $a0, 0xf05 -/* 107BF0 8029E5E0 24840468 */ addiu $a0, %lo(D_0F050468) # addiu $a0, $a0, 0x468 -/* 107BF4 8029E5E4 240503E8 */ li $a1, 1000 -/* 107BF8 8029E5E8 0C0AA13D */ jal func_802A84F4 -/* 107BFC 8029E5EC 24060800 */ li $a2, 2048 -/* 107C00 8029E5F0 3C040F05 */ lui $a0, %hi(D_0F050678) # $a0, 0xf05 -/* 107C04 8029E5F4 24840678 */ addiu $a0, %lo(D_0F050678) # addiu $a0, $a0, 0x678 -/* 107C08 8029E5F8 240503E8 */ li $a1, 1000 -/* 107C0C 8029E5FC 0C0AA13D */ jal func_802A84F4 -/* 107C10 8029E600 24060800 */ li $a2, 2048 -/* 107C14 8029E604 10000069 */ b .L8029E7AC -/* 107C18 8029E608 00000000 */ nop -glabel L8029E60C -/* 107C1C 8029E60C 3C040F05 */ lui $a0, %hi(D_0F04FE28) # $a0, 0xf05 -/* 107C20 8029E610 2484FE28 */ addiu $a0, %lo(D_0F04FE28) # addiu $a0, $a0, -0x1d8 -/* 107C24 8029E614 240503E8 */ li $a1, 1000 -/* 107C28 8029E618 0C0AA13D */ jal func_802A84F4 -/* 107C2C 8029E61C 24060800 */ li $a2, 2048 -/* 107C30 8029E620 3C040F05 */ lui $a0, %hi(D_0F050118) # $a0, 0xf05 -/* 107C34 8029E624 24840118 */ addiu $a0, %lo(D_0F050118) # addiu $a0, $a0, 0x118 -/* 107C38 8029E628 240503E8 */ li $a1, 1000 -/* 107C3C 8029E62C 0C0AA13D */ jal func_802A84F4 -/* 107C40 8029E630 24060800 */ li $a2, 2048 -/* 107C44 8029E634 3C040F05 */ lui $a0, %hi(D_0F051C54) # $a0, 0xf05 -/* 107C48 8029E638 24841C54 */ addiu $a0, %lo(D_0F051C54) # addiu $a0, $a0, 0x1c54 -/* 107C4C 8029E63C 24050400 */ li $a1, 1024 -/* 107C50 8029E640 0C0AA13D */ jal func_802A84F4 -/* 107C54 8029E644 24060800 */ li $a2, 2048 -/* 107C58 8029E648 3C040F05 */ lui $a0, %hi(D_0F051FD8) # $a0, 0xf05 -/* 107C5C 8029E64C 24841FD8 */ addiu $a0, %lo(D_0F051FD8) # addiu $a0, $a0, 0x1fd8 -/* 107C60 8029E650 24050400 */ li $a1, 1024 -/* 107C64 8029E654 0C0AA13D */ jal func_802A84F4 -/* 107C68 8029E658 24060800 */ li $a2, 2048 -/* 107C6C 8029E65C 3C040F05 */ lui $a0, %hi(D_0F05232C) # $a0, 0xf05 -/* 107C70 8029E660 2484232C */ addiu $a0, %lo(D_0F05232C) # addiu $a0, $a0, 0x232c -/* 107C74 8029E664 24050400 */ li $a1, 1024 -/* 107C78 8029E668 0C0AA13D */ jal func_802A84F4 -/* 107C7C 8029E66C 24060800 */ li $a2, 2048 -/* 107C80 8029E670 3C040F05 */ lui $a0, %hi(D_0F0526B8) # $a0, 0xf05 -/* 107C84 8029E674 248426B8 */ addiu $a0, %lo(D_0F0526B8) # addiu $a0, $a0, 0x26b8 -/* 107C88 8029E678 24050400 */ li $a1, 1024 -/* 107C8C 8029E67C 0C0AA13D */ jal func_802A84F4 -/* 107C90 8029E680 24060800 */ li $a2, 2048 -/* 107C94 8029E684 3C040F05 */ lui $a0, %hi(D_0F052A20) # $a0, 0xf05 -/* 107C98 8029E688 24842A20 */ addiu $a0, %lo(D_0F052A20) # addiu $a0, $a0, 0x2a20 -/* 107C9C 8029E68C 24050400 */ li $a1, 1024 -/* 107CA0 8029E690 0C0AA13D */ jal func_802A84F4 -/* 107CA4 8029E694 24060800 */ li $a2, 2048 -/* 107CA8 8029E698 3C040F05 */ lui $a0, %hi(D_0F052D3C) # $a0, 0xf05 -/* 107CAC 8029E69C 24842D3C */ addiu $a0, %lo(D_0F052D3C) # addiu $a0, $a0, 0x2d3c -/* 107CB0 8029E6A0 24050400 */ li $a1, 1024 -/* 107CB4 8029E6A4 0C0AA13D */ jal func_802A84F4 -/* 107CB8 8029E6A8 24060800 */ li $a2, 2048 -/* 107CBC 8029E6AC 3C040F05 */ lui $a0, %hi(D_0F05300C) # $a0, 0xf05 -/* 107CC0 8029E6B0 2484300C */ addiu $a0, %lo(D_0F05300C) # addiu $a0, $a0, 0x300c -/* 107CC4 8029E6B4 24050400 */ li $a1, 1024 -/* 107CC8 8029E6B8 0C0AA13D */ jal func_802A84F4 -/* 107CCC 8029E6BC 24060800 */ li $a2, 2048 -/* 107CD0 8029E6C0 3C040F05 */ lui $a0, %hi(D_0F0532F8) # $a0, 0xf05 -/* 107CD4 8029E6C4 248432F8 */ addiu $a0, %lo(D_0F0532F8) # addiu $a0, $a0, 0x32f8 -/* 107CD8 8029E6C8 24050400 */ li $a1, 1024 -/* 107CDC 8029E6CC 0C0AA13D */ jal func_802A84F4 -/* 107CE0 8029E6D0 24060800 */ li $a2, 2048 -/* 107CE4 8029E6D4 3C040F05 */ lui $a0, %hi(D_0F05363C) # $a0, 0xf05 -/* 107CE8 8029E6D8 2484363C */ addiu $a0, %lo(D_0F05363C) # addiu $a0, $a0, 0x363c -/* 107CEC 8029E6DC 24050400 */ li $a1, 1024 -/* 107CF0 8029E6E0 0C0AA13D */ jal func_802A84F4 -/* 107CF4 8029E6E4 24060800 */ li $a2, 2048 -/* 107CF8 8029E6E8 3C040F05 */ lui $a0, %hi(D_0F053950) # $a0, 0xf05 -/* 107CFC 8029E6EC 24843950 */ addiu $a0, %lo(D_0F053950) # addiu $a0, $a0, 0x3950 -/* 107D00 8029E6F0 24050400 */ li $a1, 1024 -/* 107D04 8029E6F4 0C0AA13D */ jal func_802A84F4 -/* 107D08 8029E6F8 24060800 */ li $a2, 2048 -/* 107D0C 8029E6FC 1000002B */ b .L8029E7AC -/* 107D10 8029E700 00000000 */ nop -glabel L8029E704 -/* 107D14 8029E704 3C040F05 */ lui $a0, %hi(D_0F053C34) # $a0, 0xf05 -/* 107D18 8029E708 24843C34 */ addiu $a0, %lo(D_0F053C34) # addiu $a0, $a0, 0x3c34 -/* 107D1C 8029E70C 2405033E */ li $a1, 830 -/* 107D20 8029E710 0C0AA13D */ jal func_802A84F4 -/* 107D24 8029E714 24060800 */ li $a2, 2048 -/* 107D28 8029E718 3C040F05 */ lui $a0, %hi(D_0F053F74) # $a0, 0xf05 -/* 107D2C 8029E71C 24843F74 */ addiu $a0, %lo(D_0F053F74) # addiu $a0, $a0, 0x3f74 -/* 107D30 8029E720 240502FB */ li $a1, 763 -/* 107D34 8029E724 0C0AA13D */ jal func_802A84F4 -/* 107D38 8029E728 24060800 */ li $a2, 2048 -/* 107D3C 8029E72C 3C040F05 */ lui $a0, %hi(D_0F054270) # $a0, 0xf05 -/* 107D40 8029E730 24844270 */ addiu $a0, %lo(D_0F054270) # addiu $a0, $a0, 0x4270 -/* 107D44 8029E734 240502A8 */ li $a1, 680 -/* 107D48 8029E738 0C0AA13D */ jal func_802A84F4 -/* 107D4C 8029E73C 24060800 */ li $a2, 2048 -/* 107D50 8029E740 3C040F05 */ lui $a0, %hi(D_0F054518) # $a0, 0xf05 -/* 107D54 8029E744 24844518 */ addiu $a0, %lo(D_0F054518) # addiu $a0, $a0, 0x4518 -/* 107D58 8029E748 24050374 */ li $a1, 884 -/* 107D5C 8029E74C 0C0AA13D */ jal func_802A84F4 -/* 107D60 8029E750 24060800 */ li $a2, 2048 -/* 107D64 8029E754 3C040F05 */ lui $a0, %hi(D_0F05488C) # $a0, 0xf05 -/* 107D68 8029E758 2484488C */ addiu $a0, %lo(D_0F05488C) # addiu $a0, $a0, 0x488c -/* 107D6C 8029E75C 240503AF */ li $a1, 943 -/* 107D70 8029E760 0C0AA13D */ jal func_802A84F4 -/* 107D74 8029E764 24060800 */ li $a2, 2048 -/* 107D78 8029E768 10000010 */ b .L8029E7AC -/* 107D7C 8029E76C 00000000 */ nop -glabel L8029E770 -/* 107D80 8029E770 3C040F05 */ lui $a0, %hi(D_0F057EB4) # $a0, 0xf05 -/* 107D84 8029E774 24847EB4 */ addiu $a0, %lo(D_0F057EB4) # addiu $a0, $a0, 0x7eb4 -/* 107D88 8029E778 2405032F */ li $a1, 815 -/* 107D8C 8029E77C 0C0AA13D */ jal func_802A84F4 -/* 107D90 8029E780 24060400 */ li $a2, 1024 -/* 107D94 8029E784 3C040F06 */ lui $a0, %hi(D_0F0581E4) # $a0, 0xf06 -/* 107D98 8029E788 248481E4 */ addiu $a0, %lo(D_0F0581E4) # addiu $a0, $a0, -0x7e1c -/* 107D9C 8029E78C 24050369 */ li $a1, 873 -/* 107DA0 8029E790 0C0AA13D */ jal func_802A84F4 -/* 107DA4 8029E794 24060400 */ li $a2, 1024 -/* 107DA8 8029E798 3C040F06 */ lui $a0, %hi(D_0F058550) # $a0, 0xf06 -/* 107DAC 8029E79C 24848550 */ addiu $a0, %lo(D_0F058550) # addiu $a0, $a0, -0x7ab0 -/* 107DB0 8029E7A0 24050364 */ li $a1, 868 -/* 107DB4 8029E7A4 0C0AA13D */ jal func_802A84F4 -/* 107DB8 8029E7A8 24060400 */ li $a2, 1024 -.L8029E7AC: -glabel L8029E7AC -/* 107DBC 8029E7AC 0C0A5E06 */ jal func_80297818 -/* 107DC0 8029E7B0 00000000 */ nop -/* 107DC4 8029E7B4 0C0A76AE */ jal destroy_all_actors -/* 107DC8 8029E7B8 00000000 */ nop -/* 107DCC 8029E7BC 0C0A76D1 */ jal func_8029DB44 -/* 107DD0 8029E7C0 00000000 */ nop -/* 107DD4 8029E7C4 0C0048B6 */ jal func_800122D8 -/* 107DD8 8029E7C8 00000000 */ nop -/* 107DDC 8029E7CC 8FBF0014 */ lw $ra, 0x14($sp) -/* 107DE0 8029E7D0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 107DE4 8029E7D4 03E00008 */ jr $ra -/* 107DE8 8029E7D8 00000000 */ nop diff --git a/asm/non_matchings/actors/func_8029E890.s b/asm/non_matchings/actors/func_8029E890.s deleted file mode 100644 index 667c7c162..000000000 --- a/asm/non_matchings/actors/func_8029E890.s +++ /dev/null @@ -1,286 +0,0 @@ -glabel func_8029E890 -/* 107EA0 8029E890 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 107EA4 8029E894 3C0B8016 */ lui $t3, %hi(gNumPermanentActors) # $t3, 0x8016 -/* 107EA8 8029E898 956BF900 */ lhu $t3, %lo(gNumPermanentActors)($t3) -/* 107EAC 8029E89C AFB10020 */ sw $s1, 0x20($sp) -/* 107EB0 8029E8A0 AFBF0024 */ sw $ra, 0x24($sp) -/* 107EB4 8029E8A4 29610064 */ slti $at, $t3, 0x64 -/* 107EB8 8029E8A8 AFB0001C */ sw $s0, 0x1c($sp) -/* 107EBC 8029E8AC AFA40028 */ sw $a0, 0x28($sp) -/* 107EC0 8029E8B0 AFA5002C */ sw $a1, 0x2c($sp) -/* 107EC4 8029E8B4 AFA60030 */ sw $a2, 0x30($sp) -/* 107EC8 8029E8B8 AFA70034 */ sw $a3, 0x34($sp) -/* 107ECC 8029E8BC 10200078 */ beqz $at, .L8029EAA0 -/* 107ED0 8029E8C0 01608825 */ move $s1, $t3 -/* 107ED4 8029E8C4 001170C0 */ sll $t6, $s1, 3 -/* 107ED8 8029E8C8 01D17023 */ subu $t6, $t6, $s1 -/* 107EDC 8029E8CC 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016 -/* 107EE0 8029E8D0 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648 -/* 107EE4 8029E8D4 000E7100 */ sll $t6, $t6, 4 -/* 107EE8 8029E8D8 01CF8021 */ addu $s0, $t6, $t7 -/* 107EEC 8029E8DC 240A0005 */ li $t2, 5 -/* 107EF0 8029E8E0 24090004 */ li $t1, 4 -/* 107EF4 8029E8E4 2408000D */ li $t0, 13 -/* 107EF8 8029E8E8 24070008 */ li $a3, 8 -/* 107EFC 8029E8EC 24060006 */ li $a2, 6 -/* 107F00 8029E8F0 24050002 */ li $a1, 2 -/* 107F04 8029E8F4 24040001 */ li $a0, 1 -/* 107F08 8029E8F8 24030007 */ li $v1, 7 -.L8029E8FC: -/* 107F0C 8029E8FC 86180002 */ lh $t8, 2($s0) -/* 107F10 8029E900 3319000F */ andi $t9, $t8, 0xf -/* 107F14 8029E904 57200062 */ bnel $t9, $zero, .L8029EA90 -/* 107F18 8029E908 26310001 */ addiu $s1, $s1, 1 -/* 107F1C 8029E90C 86020000 */ lh $v0, ($s0) -/* 107F20 8029E910 50460039 */ beql $v0, $a2, .L8029E9F8 -/* 107F24 8029E914 86020006 */ lh $v0, 6($s0) -/* 107F28 8029E918 50430021 */ beql $v0, $v1, .L8029E9A0 -/* 107F2C 8029E91C 86020006 */ lh $v0, 6($s0) -/* 107F30 8029E920 50470006 */ beql $v0, $a3, .L8029E93C -/* 107F34 8029E924 860C0006 */ lh $t4, 6($s0) -/* 107F38 8029E928 50480047 */ beql $v0, $t0, .L8029EA48 -/* 107F3C 8029E92C 86020006 */ lh $v0, 6($s0) -/* 107F40 8029E930 10000057 */ b .L8029EA90 -/* 107F44 8029E934 26310001 */ addiu $s1, $s1, 1 -/* 107F48 8029E938 860C0006 */ lh $t4, 6($s0) -.L8029E93C: -/* 107F4C 8029E93C 258DFFFE */ addiu $t5, $t4, -2 -/* 107F50 8029E940 2DA10008 */ sltiu $at, $t5, 8 -/* 107F54 8029E944 10200051 */ beqz $at, .L8029EA8C -/* 107F58 8029E948 000D6880 */ sll $t5, $t5, 2 -/* 107F5C 8029E94C 3C01802C */ lui $at, %hi(jpt_802B9848) -/* 107F60 8029E950 002D0821 */ addu $at, $at, $t5 -/* 107F64 8029E954 8C2D9848 */ lw $t5, %lo(jpt_802B9848)($at) -/* 107F68 8029E958 01A00008 */ jr $t5 -/* 107F6C 8029E95C 00000000 */ nop -glabel L8029E960 -/* 107F70 8029E960 0C003B96 */ jal func_8000EE58 -/* 107F74 8029E964 02202025 */ move $a0, $s1 -glabel L8029E968 -/* 107F78 8029E968 0C0A79F7 */ jal func_8029E7DC -/* 107F7C 8029E96C 02002025 */ move $a0, $s0 -/* 107F80 8029E970 87AE0036 */ lh $t6, 0x36($sp) -/* 107F84 8029E974 02002025 */ move $a0, $s0 -/* 107F88 8029E978 8FA50028 */ lw $a1, 0x28($sp) -/* 107F8C 8029E97C 8FA6002C */ lw $a2, 0x2c($sp) -/* 107F90 8029E980 8FA70030 */ lw $a3, 0x30($sp) -/* 107F94 8029E984 0C0A5B44 */ jal func_80296D10 -/* 107F98 8029E988 AFAE0010 */ sw $t6, 0x10($sp) -/* 107F9C 8029E98C 00111400 */ sll $v0, $s1, 0x10 -/* 107FA0 8029E990 00027C03 */ sra $t7, $v0, 0x10 -/* 107FA4 8029E994 100000B7 */ b .L8029EC74 -/* 107FA8 8029E998 01E01025 */ move $v0, $t7 -/* 107FAC 8029E99C 86020006 */ lh $v0, 6($s0) -.L8029E9A0: -/* 107FB0 8029E9A0 10450005 */ beq $v0, $a1, .L8029E9B8 -/* 107FB4 8029E9A4 00000000 */ nop -/* 107FB8 8029E9A8 10430005 */ beq $v0, $v1, .L8029E9C0 -/* 107FBC 8029E9AC 00000000 */ nop -/* 107FC0 8029E9B0 10000037 */ b .L8029EA90 -/* 107FC4 8029E9B4 26310001 */ addiu $s1, $s1, 1 -.L8029E9B8: -/* 107FC8 8029E9B8 0C003B96 */ jal func_8000EE58 -/* 107FCC 8029E9BC 02202025 */ move $a0, $s1 -.L8029E9C0: -/* 107FD0 8029E9C0 0C0A79F7 */ jal func_8029E7DC -/* 107FD4 8029E9C4 02002025 */ move $a0, $s0 -/* 107FD8 8029E9C8 87B80036 */ lh $t8, 0x36($sp) -/* 107FDC 8029E9CC 02002025 */ move $a0, $s0 -/* 107FE0 8029E9D0 8FA50028 */ lw $a1, 0x28($sp) -/* 107FE4 8029E9D4 8FA6002C */ lw $a2, 0x2c($sp) -/* 107FE8 8029E9D8 8FA70030 */ lw $a3, 0x30($sp) -/* 107FEC 8029E9DC 0C0A5B44 */ jal func_80296D10 -/* 107FF0 8029E9E0 AFB80010 */ sw $t8, 0x10($sp) -/* 107FF4 8029E9E4 00111400 */ sll $v0, $s1, 0x10 -/* 107FF8 8029E9E8 0002CC03 */ sra $t9, $v0, 0x10 -/* 107FFC 8029E9EC 100000A1 */ b .L8029EC74 -/* 108000 8029E9F0 03201025 */ move $v0, $t9 -/* 108004 8029E9F4 86020006 */ lh $v0, 6($s0) -.L8029E9F8: -/* 108008 8029E9F8 10440005 */ beq $v0, $a0, .L8029EA10 -/* 10800C 8029E9FC 00000000 */ nop -/* 108010 8029EA00 10490003 */ beq $v0, $t1, .L8029EA10 -/* 108014 8029EA04 00000000 */ nop -/* 108018 8029EA08 544A0021 */ bnel $v0, $t2, .L8029EA90 -/* 10801C 8029EA0C 26310001 */ addiu $s1, $s1, 1 -.L8029EA10: -/* 108020 8029EA10 0C0A79F7 */ jal func_8029E7DC -/* 108024 8029EA14 02002025 */ move $a0, $s0 -/* 108028 8029EA18 87AC0036 */ lh $t4, 0x36($sp) -/* 10802C 8029EA1C 02002025 */ move $a0, $s0 -/* 108030 8029EA20 8FA50028 */ lw $a1, 0x28($sp) -/* 108034 8029EA24 8FA6002C */ lw $a2, 0x2c($sp) -/* 108038 8029EA28 8FA70030 */ lw $a3, 0x30($sp) -/* 10803C 8029EA2C 0C0A5B44 */ jal func_80296D10 -/* 108040 8029EA30 AFAC0010 */ sw $t4, 0x10($sp) -/* 108044 8029EA34 00111400 */ sll $v0, $s1, 0x10 -/* 108048 8029EA38 00026C03 */ sra $t5, $v0, 0x10 -/* 10804C 8029EA3C 1000008D */ b .L8029EC74 -/* 108050 8029EA40 01A01025 */ move $v0, $t5 -/* 108054 8029EA44 86020006 */ lh $v0, 6($s0) -.L8029EA48: -/* 108058 8029EA48 10440003 */ beq $v0, $a0, .L8029EA58 -/* 10805C 8029EA4C 00000000 */ nop -/* 108060 8029EA50 5445000F */ bnel $v0, $a1, .L8029EA90 -/* 108064 8029EA54 26310001 */ addiu $s1, $s1, 1 -.L8029EA58: -/* 108068 8029EA58 0C0A79F7 */ jal func_8029E7DC -/* 10806C 8029EA5C 02002025 */ move $a0, $s0 -/* 108070 8029EA60 87AE0036 */ lh $t6, 0x36($sp) -/* 108074 8029EA64 02002025 */ move $a0, $s0 -/* 108078 8029EA68 8FA50028 */ lw $a1, 0x28($sp) -/* 10807C 8029EA6C 8FA6002C */ lw $a2, 0x2c($sp) -/* 108080 8029EA70 8FA70030 */ lw $a3, 0x30($sp) -/* 108084 8029EA74 0C0A5B44 */ jal func_80296D10 -/* 108088 8029EA78 AFAE0010 */ sw $t6, 0x10($sp) -/* 10808C 8029EA7C 00111400 */ sll $v0, $s1, 0x10 -/* 108090 8029EA80 00027C03 */ sra $t7, $v0, 0x10 -/* 108094 8029EA84 1000007B */ b .L8029EC74 -/* 108098 8029EA88 01E01025 */ move $v0, $t7 -.L8029EA8C: -glabel L8029EA8C -/* 10809C 8029EA8C 26310001 */ addiu $s1, $s1, 1 -.L8029EA90: -/* 1080A0 8029EA90 2A210064 */ slti $at, $s1, 0x64 -/* 1080A4 8029EA94 1420FF99 */ bnez $at, .L8029E8FC -/* 1080A8 8029EA98 26100070 */ addiu $s0, $s0, 0x70 -/* 1080AC 8029EA9C 01608825 */ move $s1, $t3 -.L8029EAA0: -/* 1080B0 8029EAA0 2A210064 */ slti $at, $s1, 0x64 -/* 1080B4 8029EAA4 24030007 */ li $v1, 7 -/* 1080B8 8029EAA8 24040001 */ li $a0, 1 -/* 1080BC 8029EAAC 24050002 */ li $a1, 2 -/* 1080C0 8029EAB0 24060006 */ li $a2, 6 -/* 1080C4 8029EAB4 24070008 */ li $a3, 8 -/* 1080C8 8029EAB8 2408000D */ li $t0, 13 -/* 1080CC 8029EABC 24090004 */ li $t1, 4 -/* 1080D0 8029EAC0 1020006B */ beqz $at, .L8029EC70 -/* 1080D4 8029EAC4 240A0005 */ li $t2, 5 -/* 1080D8 8029EAC8 0011C0C0 */ sll $t8, $s1, 3 -/* 1080DC 8029EACC 0311C023 */ subu $t8, $t8, $s1 -/* 1080E0 8029EAD0 3C198016 */ lui $t9, %hi(gActorList) # $t9, 0x8016 -/* 1080E4 8029EAD4 2739F9B8 */ addiu $t9, %lo(gActorList) # addiu $t9, $t9, -0x648 -/* 1080E8 8029EAD8 0018C100 */ sll $t8, $t8, 4 -/* 1080EC 8029EADC 03198021 */ addu $s0, $t8, $t9 -.L8029EAE0: -/* 1080F0 8029EAE0 86020000 */ lh $v0, ($s0) -/* 1080F4 8029EAE4 50460039 */ beql $v0, $a2, .L8029EBCC -/* 1080F8 8029EAE8 86020006 */ lh $v0, 6($s0) -/* 1080FC 8029EAEC 50430021 */ beql $v0, $v1, .L8029EB74 -/* 108100 8029EAF0 86020006 */ lh $v0, 6($s0) -/* 108104 8029EAF4 50470006 */ beql $v0, $a3, .L8029EB10 -/* 108108 8029EAF8 860C0006 */ lh $t4, 6($s0) -/* 10810C 8029EAFC 50480047 */ beql $v0, $t0, .L8029EC1C -/* 108110 8029EB00 86020006 */ lh $v0, 6($s0) -/* 108114 8029EB04 10000057 */ b .L8029EC64 -/* 108118 8029EB08 26310001 */ addiu $s1, $s1, 1 -/* 10811C 8029EB0C 860C0006 */ lh $t4, 6($s0) -.L8029EB10: -/* 108120 8029EB10 258DFFFE */ addiu $t5, $t4, -2 -/* 108124 8029EB14 2DA10008 */ sltiu $at, $t5, 8 -/* 108128 8029EB18 10200051 */ beqz $at, .L8029EC60 -/* 10812C 8029EB1C 000D6880 */ sll $t5, $t5, 2 -/* 108130 8029EB20 3C01802C */ lui $at, %hi(jpt_802B9868) -/* 108134 8029EB24 002D0821 */ addu $at, $at, $t5 -/* 108138 8029EB28 8C2D9868 */ lw $t5, %lo(jpt_802B9868)($at) -/* 10813C 8029EB2C 01A00008 */ jr $t5 -/* 108140 8029EB30 00000000 */ nop -glabel L8029EB34 -/* 108144 8029EB34 0C003B96 */ jal func_8000EE58 -/* 108148 8029EB38 02202025 */ move $a0, $s1 -glabel L8029EB3C -/* 10814C 8029EB3C 0C0A79F7 */ jal func_8029E7DC -/* 108150 8029EB40 02002025 */ move $a0, $s0 -/* 108154 8029EB44 87AE0036 */ lh $t6, 0x36($sp) -/* 108158 8029EB48 02002025 */ move $a0, $s0 -/* 10815C 8029EB4C 8FA50028 */ lw $a1, 0x28($sp) -/* 108160 8029EB50 8FA6002C */ lw $a2, 0x2c($sp) -/* 108164 8029EB54 8FA70030 */ lw $a3, 0x30($sp) -/* 108168 8029EB58 0C0A5B44 */ jal func_80296D10 -/* 10816C 8029EB5C AFAE0010 */ sw $t6, 0x10($sp) -/* 108170 8029EB60 00111400 */ sll $v0, $s1, 0x10 -/* 108174 8029EB64 00027C03 */ sra $t7, $v0, 0x10 -/* 108178 8029EB68 10000042 */ b .L8029EC74 -/* 10817C 8029EB6C 01E01025 */ move $v0, $t7 -/* 108180 8029EB70 86020006 */ lh $v0, 6($s0) -.L8029EB74: -/* 108184 8029EB74 10450005 */ beq $v0, $a1, .L8029EB8C -/* 108188 8029EB78 00000000 */ nop -/* 10818C 8029EB7C 10430005 */ beq $v0, $v1, .L8029EB94 -/* 108190 8029EB80 00000000 */ nop -/* 108194 8029EB84 10000037 */ b .L8029EC64 -/* 108198 8029EB88 26310001 */ addiu $s1, $s1, 1 -.L8029EB8C: -/* 10819C 8029EB8C 0C003B96 */ jal func_8000EE58 -/* 1081A0 8029EB90 02202025 */ move $a0, $s1 -.L8029EB94: -/* 1081A4 8029EB94 0C0A79F7 */ jal func_8029E7DC -/* 1081A8 8029EB98 02002025 */ move $a0, $s0 -/* 1081AC 8029EB9C 87B80036 */ lh $t8, 0x36($sp) -/* 1081B0 8029EBA0 02002025 */ move $a0, $s0 -/* 1081B4 8029EBA4 8FA50028 */ lw $a1, 0x28($sp) -/* 1081B8 8029EBA8 8FA6002C */ lw $a2, 0x2c($sp) -/* 1081BC 8029EBAC 8FA70030 */ lw $a3, 0x30($sp) -/* 1081C0 8029EBB0 0C0A5B44 */ jal func_80296D10 -/* 1081C4 8029EBB4 AFB80010 */ sw $t8, 0x10($sp) -/* 1081C8 8029EBB8 00111400 */ sll $v0, $s1, 0x10 -/* 1081CC 8029EBBC 0002CC03 */ sra $t9, $v0, 0x10 -/* 1081D0 8029EBC0 1000002C */ b .L8029EC74 -/* 1081D4 8029EBC4 03201025 */ move $v0, $t9 -/* 1081D8 8029EBC8 86020006 */ lh $v0, 6($s0) -.L8029EBCC: -/* 1081DC 8029EBCC 10440005 */ beq $v0, $a0, .L8029EBE4 -/* 1081E0 8029EBD0 00000000 */ nop -/* 1081E4 8029EBD4 10490003 */ beq $v0, $t1, .L8029EBE4 -/* 1081E8 8029EBD8 00000000 */ nop -/* 1081EC 8029EBDC 544A0021 */ bnel $v0, $t2, .L8029EC64 -/* 1081F0 8029EBE0 26310001 */ addiu $s1, $s1, 1 -.L8029EBE4: -/* 1081F4 8029EBE4 0C0A79F7 */ jal func_8029E7DC -/* 1081F8 8029EBE8 02002025 */ move $a0, $s0 -/* 1081FC 8029EBEC 87AC0036 */ lh $t4, 0x36($sp) -/* 108200 8029EBF0 02002025 */ move $a0, $s0 -/* 108204 8029EBF4 8FA50028 */ lw $a1, 0x28($sp) -/* 108208 8029EBF8 8FA6002C */ lw $a2, 0x2c($sp) -/* 10820C 8029EBFC 8FA70030 */ lw $a3, 0x30($sp) -/* 108210 8029EC00 0C0A5B44 */ jal func_80296D10 -/* 108214 8029EC04 AFAC0010 */ sw $t4, 0x10($sp) -/* 108218 8029EC08 00111400 */ sll $v0, $s1, 0x10 -/* 10821C 8029EC0C 00026C03 */ sra $t5, $v0, 0x10 -/* 108220 8029EC10 10000018 */ b .L8029EC74 -/* 108224 8029EC14 01A01025 */ move $v0, $t5 -/* 108228 8029EC18 86020006 */ lh $v0, 6($s0) -.L8029EC1C: -/* 10822C 8029EC1C 10440003 */ beq $v0, $a0, .L8029EC2C -/* 108230 8029EC20 00000000 */ nop -/* 108234 8029EC24 5445000F */ bnel $v0, $a1, .L8029EC64 -/* 108238 8029EC28 26310001 */ addiu $s1, $s1, 1 -.L8029EC2C: -/* 10823C 8029EC2C 0C0A79F7 */ jal func_8029E7DC -/* 108240 8029EC30 02002025 */ move $a0, $s0 -/* 108244 8029EC34 87AE0036 */ lh $t6, 0x36($sp) -/* 108248 8029EC38 02002025 */ move $a0, $s0 -/* 10824C 8029EC3C 8FA50028 */ lw $a1, 0x28($sp) -/* 108250 8029EC40 8FA6002C */ lw $a2, 0x2c($sp) -/* 108254 8029EC44 8FA70030 */ lw $a3, 0x30($sp) -/* 108258 8029EC48 0C0A5B44 */ jal func_80296D10 -/* 10825C 8029EC4C AFAE0010 */ sw $t6, 0x10($sp) -/* 108260 8029EC50 00111400 */ sll $v0, $s1, 0x10 -/* 108264 8029EC54 00027C03 */ sra $t7, $v0, 0x10 -/* 108268 8029EC58 10000006 */ b .L8029EC74 -/* 10826C 8029EC5C 01E01025 */ move $v0, $t7 -.L8029EC60: -glabel L8029EC60 -/* 108270 8029EC60 26310001 */ addiu $s1, $s1, 1 -.L8029EC64: -/* 108274 8029EC64 2A210064 */ slti $at, $s1, 0x64 -/* 108278 8029EC68 1420FF9D */ bnez $at, .L8029EAE0 -/* 10827C 8029EC6C 26100070 */ addiu $s0, $s0, 0x70 -.L8029EC70: -/* 108280 8029EC70 2402FFFF */ li $v0, -1 -.L8029EC74: -/* 108284 8029EC74 8FBF0024 */ lw $ra, 0x24($sp) -/* 108288 8029EC78 8FB0001C */ lw $s0, 0x1c($sp) -/* 10828C 8029EC7C 8FB10020 */ lw $s1, 0x20($sp) -/* 108290 8029EC80 03E00008 */ jr $ra -/* 108294 8029EC84 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/non_matchings/actors/func_8029ED98.s b/asm/non_matchings/actors/func_8029ED98.s deleted file mode 100644 index 2e508ad54..000000000 --- a/asm/non_matchings/actors/func_8029ED98.s +++ /dev/null @@ -1,75 +0,0 @@ -glabel func_8029ED98 -/* 1083A8 8029ED98 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 1083AC 8029ED9C 00057602 */ srl $t6, $a1, 0x18 -/* 1083B0 8029EDA0 000E7880 */ sll $t7, $t6, 2 -/* 1083B4 8029EDA4 3C188015 */ lui $t8, %hi(gSegmentTable) -/* 1083B8 8029EDA8 030FC021 */ addu $t8, $t8, $t7 -/* 1083BC 8029EDAC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 1083C0 8029EDB0 8F180258 */ lw $t8, %lo(gSegmentTable)($t8) -/* 1083C4 8029EDB4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 1083C8 8029EDB8 00A1C824 */ and $t9, $a1, $at -/* 1083CC 8029EDBC AFB00034 */ sw $s0, 0x34($sp) -/* 1083D0 8029EDC0 3C018000 */ lui $at, 0x8000 -/* 1083D4 8029EDC4 03198021 */ addu $s0, $t8, $t9 -/* 1083D8 8029EDC8 AFBF004C */ sw $ra, 0x4c($sp) -/* 1083DC 8029EDCC AFB50048 */ sw $s5, 0x48($sp) -/* 1083E0 8029EDD0 AFB40044 */ sw $s4, 0x44($sp) -/* 1083E4 8029EDD4 AFB30040 */ sw $s3, 0x40($sp) -/* 1083E8 8029EDD8 AFB2003C */ sw $s2, 0x3c($sp) -/* 1083EC 8029EDDC AFB10038 */ sw $s1, 0x38($sp) -/* 1083F0 8029EDE0 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 1083F4 8029EDE4 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 1083F8 8029EDE8 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 1083FC 8029EDEC 02018021 */ addu $s0, $s0, $at -/* 108400 8029EDF0 86020000 */ lh $v0, ($s0) -/* 108404 8029EDF4 24158000 */ li $s5, -32768 -/* 108408 8029EDF8 0080A025 */ move $s4, $a0 -/* 10840C 8029EDFC 12A20022 */ beq $s5, $v0, .L8029EE88 -/* 108410 8029EE00 3C01802C */ lui $at, %hi(D_802B9888) # $at, 0x802c -/* 108414 8029EE04 C4389888 */ lwc1 $f24, %lo(D_802B9888)($at) -/* 108418 8029EE08 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 10841C 8029EE0C 4481B000 */ mtc1 $at, $f22 -/* 108420 8029EE10 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 108424 8029EE14 3C118016 */ lui $s1, %hi(gCourseDirection) # $s1, 0x8016 -/* 108428 8029EE18 4481A000 */ mtc1 $at, $f20 -/* 10842C 8029EE1C 2631F784 */ addiu $s1, %lo(gCourseDirection) # addiu $s1, $s1, -0x87c -/* 108430 8029EE20 27B20064 */ addiu $s2, $sp, 0x64 -/* 108434 8029EE24 44822000 */ mtc1 $v0, $f4 -.L8029EE28: -/* 108438 8029EE28 C6280000 */ lwc1 $f8, ($s1) -/* 10843C 8029EE2C 4406A000 */ mfc1 $a2, $f20 -/* 108440 8029EE30 468021A0 */ cvt.s.w $f6, $f4 -/* 108444 8029EE34 4407B000 */ mfc1 $a3, $f22 -/* 108448 8029EE38 02802025 */ move $a0, $s4 -/* 10844C 8029EE3C 02402825 */ move $a1, $s2 -/* 108450 8029EE40 46083282 */ mul.s $f10, $f6, $f8 -/* 108454 8029EE44 E7AA0064 */ swc1 $f10, 0x64($sp) -/* 108458 8029EE48 86080002 */ lh $t0, 2($s0) -/* 10845C 8029EE4C 44888000 */ mtc1 $t0, $f16 -/* 108460 8029EE50 00000000 */ nop -/* 108464 8029EE54 468084A0 */ cvt.s.w $f18, $f16 -/* 108468 8029EE58 E7B20068 */ swc1 $f18, 0x68($sp) -/* 10846C 8029EE5C 86090004 */ lh $t1, 4($s0) -/* 108470 8029EE60 E7B80010 */ swc1 $f24, 0x10($sp) -/* 108474 8029EE64 44892000 */ mtc1 $t1, $f4 -/* 108478 8029EE68 00000000 */ nop -/* 10847C 8029EE6C 468021A0 */ cvt.s.w $f6, $f4 -/* 108480 8029EE70 0C0A7BAE */ jal func_8029EEB8 -/* 108484 8029EE74 E7A6006C */ swc1 $f6, 0x6c($sp) -/* 108488 8029EE78 86020006 */ lh $v0, 6($s0) -/* 10848C 8029EE7C 26100006 */ addiu $s0, $s0, 6 -/* 108490 8029EE80 56A2FFE9 */ bnel $s5, $v0, .L8029EE28 -/* 108494 8029EE84 44822000 */ mtc1 $v0, $f4 -.L8029EE88: -/* 108498 8029EE88 8FBF004C */ lw $ra, 0x4c($sp) -/* 10849C 8029EE8C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 1084A0 8029EE90 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 1084A4 8029EE94 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 1084A8 8029EE98 8FB00034 */ lw $s0, 0x34($sp) -/* 1084AC 8029EE9C 8FB10038 */ lw $s1, 0x38($sp) -/* 1084B0 8029EEA0 8FB2003C */ lw $s2, 0x3c($sp) -/* 1084B4 8029EEA4 8FB30040 */ lw $s3, 0x40($sp) -/* 1084B8 8029EEA8 8FB40044 */ lw $s4, 0x44($sp) -/* 1084BC 8029EEAC 8FB50048 */ lw $s5, 0x48($sp) -/* 1084C0 8029EEB0 03E00008 */ jr $ra -/* 1084C4 8029EEB4 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/non_matchings/actors/func_8029EEB8.s b/asm/non_matchings/actors/func_8029EEB8.s deleted file mode 100644 index ae04f9cf4..000000000 --- a/asm/non_matchings/actors/func_8029EEB8.s +++ /dev/null @@ -1,223 +0,0 @@ -glabel func_8029EEB8 -/* 1084C8 8029EEB8 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 1084CC 8029EEBC F7B60018 */ sdc1 $f22, 0x18($sp) -/* 1084D0 8029EEC0 AFBF0024 */ sw $ra, 0x24($sp) -/* 1084D4 8029EEC4 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 1084D8 8029EEC8 4486B000 */ mtc1 $a2, $f22 -/* 1084DC 8029EECC C4800070 */ lwc1 $f0, 0x70($a0) -/* 1084E0 8029EED0 C4860014 */ lwc1 $f6, 0x14($a0) -/* 1084E4 8029EED4 C4A40000 */ lwc1 $f4, ($a1) -/* 1084E8 8029EED8 46160580 */ add.s $f22, $f0, $f22 -/* 1084EC 8029EEDC 44876000 */ mtc1 $a3, $f12 -/* 1084F0 8029EEE0 46062501 */ sub.s $f20, $f4, $f6 -/* 1084F4 8029EEE4 460C0300 */ add.s $f12, $f0, $f12 -/* 1084F8 8029EEE8 4614B03C */ c.lt.s $f22, $f20 -/* 1084FC 8029EEEC 00000000 */ nop -/* 108500 8029EEF0 45020004 */ bc1fl .L8029EF04 -/* 108504 8029EEF4 4600B087 */ neg.s $f2, $f22 -/* 108508 8029EEF8 100000BA */ b .L8029F1E4 -/* 10850C 8029EEFC 00001025 */ move $v0, $zero -/* 108510 8029EF00 4600B087 */ neg.s $f2, $f22 -.L8029EF04: -/* 108514 8029EF04 4602A03C */ c.lt.s $f20, $f2 -/* 108518 8029EF08 00000000 */ nop -/* 10851C 8029EF0C 45020004 */ bc1fl .L8029EF20 -/* 108520 8029EF10 C4A80004 */ lwc1 $f8, 4($a1) -/* 108524 8029EF14 100000B3 */ b .L8029F1E4 -/* 108528 8029EF18 00001025 */ move $v0, $zero -/* 10852C 8029EF1C C4A80004 */ lwc1 $f8, 4($a1) -.L8029EF20: -/* 108530 8029EF20 C48A0018 */ lwc1 $f10, 0x18($a0) -/* 108534 8029EF24 460A4001 */ sub.s $f0, $f8, $f10 -/* 108538 8029EF28 4600603C */ c.lt.s $f12, $f0 -/* 10853C 8029EF2C 00000000 */ nop -/* 108540 8029EF30 45020004 */ bc1fl .L8029EF44 -/* 108544 8029EF34 46006107 */ neg.s $f4, $f12 -/* 108548 8029EF38 100000AA */ b .L8029F1E4 -/* 10854C 8029EF3C 00001025 */ move $v0, $zero -/* 108550 8029EF40 46006107 */ neg.s $f4, $f12 -.L8029EF44: -/* 108554 8029EF44 4604003C */ c.lt.s $f0, $f4 -/* 108558 8029EF48 00000000 */ nop -/* 10855C 8029EF4C 45020004 */ bc1fl .L8029EF60 -/* 108560 8029EF50 C4A60008 */ lwc1 $f6, 8($a1) -/* 108564 8029EF54 100000A3 */ b .L8029F1E4 -/* 108568 8029EF58 00001025 */ move $v0, $zero -/* 10856C 8029EF5C C4A60008 */ lwc1 $f6, 8($a1) -.L8029EF60: -/* 108570 8029EF60 C488001C */ lwc1 $f8, 0x1c($a0) -/* 108574 8029EF64 46083381 */ sub.s $f14, $f6, $f8 -/* 108578 8029EF68 460EB03C */ c.lt.s $f22, $f14 -/* 10857C 8029EF6C 00000000 */ nop -/* 108580 8029EF70 45020004 */ bc1fl .L8029EF84 -/* 108584 8029EF74 4602703C */ c.lt.s $f14, $f2 -/* 108588 8029EF78 1000009A */ b .L8029F1E4 -/* 10858C 8029EF7C 00001025 */ move $v0, $zero -/* 108590 8029EF80 4602703C */ c.lt.s $f14, $f2 -.L8029EF84: -/* 108594 8029EF84 00000000 */ nop -/* 108598 8029EF88 45000003 */ bc1f .L8029EF98 -/* 10859C 8029EF8C 00000000 */ nop -/* 1085A0 8029EF90 10000094 */ b .L8029F1E4 -/* 1085A4 8029EF94 00001025 */ move $v0, $zero -.L8029EF98: -/* 1085A8 8029EF98 4614A282 */ mul.s $f10, $f20, $f20 -/* 1085AC 8029EF9C 3C01802C */ lui $at, %hi(D_802B988C) # $at, 0x802c -/* 1085B0 8029EFA0 46000102 */ mul.s $f4, $f0, $f0 -/* 1085B4 8029EFA4 46045180 */ add.s $f6, $f10, $f4 -/* 1085B8 8029EFA8 460E7202 */ mul.s $f8, $f14, $f14 -/* 1085BC 8029EFAC C42A988C */ lwc1 $f10, %lo(D_802B988C)($at) -/* 1085C0 8029EFB0 46083300 */ add.s $f12, $f6, $f8 -/* 1085C4 8029EFB4 460A603C */ c.lt.s $f12, $f10 -/* 1085C8 8029EFB8 00000000 */ nop -/* 1085CC 8029EFBC 45000003 */ bc1f .L8029EFCC -/* 1085D0 8029EFC0 00000000 */ nop -/* 1085D4 8029EFC4 10000087 */ b .L8029F1E4 -/* 1085D8 8029EFC8 00001025 */ move $v0, $zero -.L8029EFCC: -/* 1085DC 8029EFCC 4616B102 */ mul.s $f4, $f22, $f22 -/* 1085E0 8029EFD0 460C203C */ c.lt.s $f4, $f12 -/* 1085E4 8029EFD4 00000000 */ nop -/* 1085E8 8029EFD8 45020004 */ bc1fl .L8029EFEC -/* 1085EC 8029EFDC AFA40050 */ sw $a0, 0x50($sp) -/* 1085F0 8029EFE0 10000080 */ b .L8029F1E4 -/* 1085F4 8029EFE4 00001025 */ move $v0, $zero -/* 1085F8 8029EFE8 AFA40050 */ sw $a0, 0x50($sp) -.L8029EFEC: -/* 1085FC 8029EFEC AFA50054 */ sw $a1, 0x54($sp) -/* 108600 8029EFF0 0C033850 */ jal sqrtf -/* 108604 8029EFF4 E7AE0044 */ swc1 $f14, 0x44($sp) -/* 108608 8029EFF8 46160181 */ sub.s $f6, $f0, $f22 -/* 10860C 8029EFFC 8FA40050 */ lw $a0, 0x50($sp) -/* 108610 8029F000 8FA50054 */ lw $a1, 0x54($sp) -/* 108614 8029F004 C7AE0044 */ lwc1 $f14, 0x44($sp) -/* 108618 8029F008 E7A60028 */ swc1 $f6, 0x28($sp) -/* 10861C 8029F00C 8C8200BC */ lw $v0, 0xbc($a0) -/* 108620 8029F010 46000086 */ mov.s $f2, $f0 -/* 108624 8029F014 C4900034 */ lwc1 $f16, 0x34($a0) -/* 108628 8029F018 304E0200 */ andi $t6, $v0, 0x200 -/* 10862C 8029F01C 11C00003 */ beqz $t6, .L8029F02C -/* 108630 8029F020 C492003C */ lwc1 $f18, 0x3c($a0) -/* 108634 8029F024 1000006F */ b .L8029F1E4 -/* 108638 8029F028 24020001 */ li $v0, 1 -.L8029F02C: -/* 10863C 8029F02C 3C01802C */ lui $at, %hi(D_802B9890) # $at, 0x802c -/* 108640 8029F030 C4289890 */ lwc1 $f8, %lo(D_802B9890)($at) -/* 108644 8029F034 4608003C */ c.lt.s $f0, $f8 -/* 108648 8029F038 00000000 */ nop -/* 10864C 8029F03C 45020022 */ bc1fl .L8029F0C8 -/* 108650 8029F040 46027383 */ div.s $f14, $f14, $f2 -/* 108654 8029F044 46108282 */ mul.s $f10, $f16, $f16 -/* 108658 8029F048 AFA40050 */ sw $a0, 0x50($sp) -/* 10865C 8029F04C E7B00040 */ swc1 $f16, 0x40($sp) -/* 108660 8029F050 46129102 */ mul.s $f4, $f18, $f18 -/* 108664 8029F054 E7B2003C */ swc1 $f18, 0x3c($sp) -/* 108668 8029F058 0C033850 */ jal sqrtf -/* 10866C 8029F05C 46045300 */ add.s $f12, $f10, $f4 -/* 108670 8029F060 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 108674 8029F064 44816000 */ mtc1 $at, $f12 -/* 108678 8029F068 8FA40050 */ lw $a0, 0x50($sp) -/* 10867C 8029F06C C7B00040 */ lwc1 $f16, 0x40($sp) -/* 108680 8029F070 460C003C */ c.lt.s $f0, $f12 -/* 108684 8029F074 C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 108688 8029F078 46000086 */ mov.s $f2, $f0 -/* 10868C 8029F07C 45020003 */ bc1fl .L8029F08C -/* 108690 8029F080 46028203 */ div.s $f8, $f16, $f2 -/* 108694 8029F084 46006086 */ mov.s $f2, $f12 -/* 108698 8029F088 46028203 */ div.s $f8, $f16, $f2 -.L8029F08C: -/* 10869C 8029F08C C4860014 */ lwc1 $f6, 0x14($a0) -/* 1086A0 8029F090 44800000 */ mtc1 $zero, $f0 -/* 1086A4 8029F094 00000000 */ nop -/* 1086A8 8029F098 E4800034 */ swc1 $f0, 0x34($a0) -/* 1086AC 8029F09C E480003C */ swc1 $f0, 0x3c($a0) -/* 1086B0 8029F0A0 46164282 */ mul.s $f10, $f8, $f22 -/* 1086B4 8029F0A4 C488001C */ lwc1 $f8, 0x1c($a0) -/* 1086B8 8029F0A8 460A3100 */ add.s $f4, $f6, $f10 -/* 1086BC 8029F0AC 46029183 */ div.s $f6, $f18, $f2 -/* 1086C0 8029F0B0 E4840014 */ swc1 $f4, 0x14($a0) -/* 1086C4 8029F0B4 46163282 */ mul.s $f10, $f6, $f22 -/* 1086C8 8029F0B8 460A4100 */ add.s $f4, $f8, $f10 -/* 1086CC 8029F0BC 10000048 */ b .L8029F1E0 -/* 1086D0 8029F0C0 E484001C */ swc1 $f4, 0x1c($a0) -/* 1086D4 8029F0C4 46027383 */ div.s $f14, $f14, $f2 -.L8029F0C8: -/* 1086D8 8029F0C8 344F8000 */ ori $t7, $v0, 0x8000 -/* 1086DC 8029F0CC AC8F00BC */ sw $t7, 0xbc($a0) -/* 1086E0 8029F0D0 E7B2003C */ swc1 $f18, 0x3c($sp) -/* 1086E4 8029F0D4 46108182 */ mul.s $f6, $f16, $f16 -/* 1086E8 8029F0D8 E7B00040 */ swc1 $f16, 0x40($sp) -/* 1086EC 8029F0DC AFA50054 */ sw $a1, 0x54($sp) -/* 1086F0 8029F0E0 46129202 */ mul.s $f8, $f18, $f18 -/* 1086F4 8029F0E4 AFA40050 */ sw $a0, 0x50($sp) -/* 1086F8 8029F0E8 4602A503 */ div.s $f20, $f20, $f2 -/* 1086FC 8029F0EC E7AE0044 */ swc1 $f14, 0x44($sp) -/* 108700 8029F0F0 0C033850 */ jal sqrtf -/* 108704 8029F0F4 46083300 */ add.s $f12, $f6, $f8 -/* 108708 8029F0F8 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 10870C 8029F0FC 44815000 */ mtc1 $at, $f10 -/* 108710 8029F100 8FA40050 */ lw $a0, 0x50($sp) -/* 108714 8029F104 8FA50054 */ lw $a1, 0x54($sp) -/* 108718 8029F108 460A003C */ c.lt.s $f0, $f10 -/* 10871C 8029F10C C7AE0044 */ lwc1 $f14, 0x44($sp) -/* 108720 8029F110 C7B00040 */ lwc1 $f16, 0x40($sp) -/* 108724 8029F114 C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 108728 8029F118 45000012 */ bc1f .L8029F164 -/* 10872C 8029F11C 00000000 */ nop -/* 108730 8029F120 4616A182 */ mul.s $f6, $f20, $f22 -/* 108734 8029F124 3C01802C */ lui $at, %hi(D_802B9894) # $at, 0x802c -/* 108738 8029F128 C4209894 */ lwc1 $f0, %lo(D_802B9894)($at) -/* 10873C 8029F12C C4A40000 */ lwc1 $f4, ($a1) -/* 108740 8029F130 44801000 */ mtc1 $zero, $f2 -/* 108744 8029F134 24020001 */ li $v0, 1 -/* 108748 8029F138 46003202 */ mul.s $f8, $f6, $f0 -/* 10874C 8029F13C 46082281 */ sub.s $f10, $f4, $f8 -/* 108750 8029F140 46167102 */ mul.s $f4, $f14, $f22 -/* 108754 8029F144 E48A0014 */ swc1 $f10, 0x14($a0) -/* 108758 8029F148 C4A60008 */ lwc1 $f6, 8($a1) -/* 10875C 8029F14C E4820034 */ swc1 $f2, 0x34($a0) -/* 108760 8029F150 E482003C */ swc1 $f2, 0x3c($a0) -/* 108764 8029F154 46002202 */ mul.s $f8, $f4, $f0 -/* 108768 8029F158 46083281 */ sub.s $f10, $f6, $f8 -/* 10876C 8029F15C 10000021 */ b .L8029F1E4 -/* 108770 8029F160 E48A001C */ swc1 $f10, 0x1c($a0) -.L8029F164: -/* 108774 8029F164 4610A102 */ mul.s $f4, $f20, $f16 -/* 108778 8029F168 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 10877C 8029F16C 44816000 */ mtc1 $at, $f12 -/* 108780 8029F170 46127182 */ mul.s $f6, $f14, $f18 -/* 108784 8029F174 3C01802C */ lui $at, %hi(D_802B9898) # $at, 0x802c -/* 108788 8029F178 C7B60028 */ lwc1 $f22, 0x28($sp) -/* 10878C 8029F17C 46062200 */ add.s $f8, $f4, $f6 -/* 108790 8029F180 C7A60060 */ lwc1 $f6, 0x60($sp) -/* 108794 8029F184 46004283 */ div.s $f10, $f8, $f0 -/* 108798 8029F188 460A0102 */ mul.s $f4, $f0, $f10 -/* 10879C 8029F18C C42A9898 */ lwc1 $f10, %lo(D_802B9898)($at) -/* 1087A0 8029F190 46062202 */ mul.s $f8, $f4, $f6 -/* 1087A4 8029F194 C4840034 */ lwc1 $f4, 0x34($a0) -/* 1087A8 8029F198 460A4082 */ mul.s $f2, $f8, $f10 -/* 1087AC 8029F19C C48A003C */ lwc1 $f10, 0x3c($a0) -/* 1087B0 8029F1A0 4602A182 */ mul.s $f6, $f20, $f2 -/* 1087B4 8029F1A4 46062201 */ sub.s $f8, $f4, $f6 -/* 1087B8 8029F1A8 46027102 */ mul.s $f4, $f14, $f2 -/* 1087BC 8029F1AC E4880034 */ swc1 $f8, 0x34($a0) -/* 1087C0 8029F1B0 C4880014 */ lwc1 $f8, 0x14($a0) -/* 1087C4 8029F1B4 46045181 */ sub.s $f6, $f10, $f4 -/* 1087C8 8029F1B8 4616A282 */ mul.s $f10, $f20, $f22 -/* 1087CC 8029F1BC E486003C */ swc1 $f6, 0x3c($a0) -/* 1087D0 8029F1C0 460C5102 */ mul.s $f4, $f10, $f12 -/* 1087D4 8029F1C4 C48A001C */ lwc1 $f10, 0x1c($a0) -/* 1087D8 8029F1C8 46044180 */ add.s $f6, $f8, $f4 -/* 1087DC 8029F1CC 46167202 */ mul.s $f8, $f14, $f22 -/* 1087E0 8029F1D0 E4860014 */ swc1 $f6, 0x14($a0) -/* 1087E4 8029F1D4 460C4102 */ mul.s $f4, $f8, $f12 -/* 1087E8 8029F1D8 46045180 */ add.s $f6, $f10, $f4 -/* 1087EC 8029F1DC E486001C */ swc1 $f6, 0x1c($a0) -.L8029F1E0: -/* 1087F0 8029F1E0 24020001 */ li $v0, 1 -.L8029F1E4: -/* 1087F4 8029F1E4 8FBF0024 */ lw $ra, 0x24($sp) -/* 1087F8 8029F1E8 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 1087FC 8029F1EC D7B60018 */ ldc1 $f22, 0x18($sp) -/* 108800 8029F1F0 03E00008 */ jr $ra -/* 108804 8029F1F4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/non_matchings/actors/func_8029F1F8.s b/asm/non_matchings/actors/func_8029F1F8.s deleted file mode 100644 index d9f4c61ea..000000000 --- a/asm/non_matchings/actors/func_8029F1F8.s +++ /dev/null @@ -1,70 +0,0 @@ -glabel func_8029F1F8 -/* 108808 8029F1F8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 10880C 8029F1FC 3C01802C */ lui $at, %hi(D_802B989C) # $at, 0x802c -/* 108810 8029F200 C424989C */ lwc1 $f4, %lo(D_802B989C)($at) -/* 108814 8029F204 AFBF0024 */ sw $ra, 0x24($sp) -/* 108818 8029F208 AFB00020 */ sw $s0, 0x20($sp) -/* 10881C 8029F20C AFA5002C */ sw $a1, 0x2c($sp) -/* 108820 8029F210 00808025 */ move $s0, $a0 -/* 108824 8029F214 24A50018 */ addiu $a1, $a1, 0x18 -/* 108828 8029F218 3C0640E0 */ lui $a2, 0x40e0 -/* 10882C 8029F21C 3C074348 */ lui $a3, 0x4348 -/* 108830 8029F220 0C0A7BAE */ jal func_8029EEB8 -/* 108834 8029F224 E7A40010 */ swc1 $f4, 0x10($sp) -/* 108838 8029F228 24010001 */ li $at, 1 -/* 10883C 8029F22C 1441002D */ bne $v0, $at, .L8029F2E4 -/* 108840 8029F230 8FA3002C */ lw $v1, 0x2c($sp) -/* 108844 8029F234 96020000 */ lhu $v0, ($s0) -/* 108848 8029F238 304E4000 */ andi $t6, $v0, 0x4000 -/* 10884C 8029F23C 11C00027 */ beqz $t6, .L8029F2DC -/* 108850 8029F240 00000000 */ nop -/* 108854 8029F244 8E0F00BC */ lw $t7, 0xbc($s0) -/* 108858 8029F248 26040014 */ addiu $a0, $s0, 0x14 -/* 10885C 8029F24C 26050034 */ addiu $a1, $s0, 0x34 -/* 108860 8029F250 31F80200 */ andi $t8, $t7, 0x200 -/* 108864 8029F254 13000016 */ beqz $t8, .L8029F2B0 -/* 108868 8029F258 304D0100 */ andi $t5, $v0, 0x100 -/* 10886C 8029F25C 84790002 */ lh $t9, 2($v1) -/* 108870 8029F260 3C061901 */ lui $a2, (0x19018010 >> 16) # lui $a2, 0x1901 -/* 108874 8029F264 34C68010 */ ori $a2, (0x19018010 & 0xFFFF) # ori $a2, $a2, 0x8010 -/* 108878 8029F268 37280400 */ ori $t0, $t9, 0x400 -/* 10887C 8029F26C 0C03262E */ jal func_800C98B8 -/* 108880 8029F270 A4680002 */ sh $t0, 2($v1) -/* 108884 8029F274 3C09800E */ lui $t1, %hi(gPlayerOne) # $t1, 0x800e -/* 108888 8029F278 8D29C4DC */ lw $t1, %lo(gPlayerOne)($t1) -/* 10888C 8029F27C 24010DD8 */ li $at, 3544 -/* 108890 8029F280 96050254 */ lhu $a1, 0x254($s0) -/* 108894 8029F284 02092023 */ subu $a0, $s0, $t1 -/* 108898 8029F288 0081001A */ div $zero, $a0, $at -/* 10889C 8029F28C 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 1088A0 8029F290 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 1088A4 8029F294 00005012 */ mflo $t2 -/* 1088A8 8029F298 00056100 */ sll $t4, $a1, 4 -/* 1088AC 8029F29C 01812821 */ addu $a1, $t4, $at -/* 1088B0 8029F2A0 0C03243D */ jal func_800C90F4 -/* 1088B4 8029F2A4 314400FF */ andi $a0, $t2, 0xff -/* 1088B8 8029F2A8 1000000F */ b .L8029F2E8 -/* 1088BC 8029F2AC 24020001 */ li $v0, 1 -.L8029F2B0: -/* 1088C0 8029F2B0 15A0000A */ bnez $t5, .L8029F2DC -/* 1088C4 8029F2B4 3C0E800E */ lui $t6, %hi(gPlayerOne) # $t6, 0x800e -/* 1088C8 8029F2B8 8DCEC4DC */ lw $t6, %lo(gPlayerOne)($t6) -/* 1088CC 8029F2BC 24010DD8 */ li $at, 3544 -/* 1088D0 8029F2C0 3C051900 */ lui $a1, (0x1900701A >> 16) # lui $a1, 0x1900 -/* 1088D4 8029F2C4 020E2023 */ subu $a0, $s0, $t6 -/* 1088D8 8029F2C8 0081001A */ div $zero, $a0, $at -/* 1088DC 8029F2CC 00007812 */ mflo $t7 -/* 1088E0 8029F2D0 31E400FF */ andi $a0, $t7, 0xff -/* 1088E4 8029F2D4 0C032418 */ jal func_800C9060 -/* 1088E8 8029F2D8 34A5701A */ ori $a1, (0x1900701A & 0xFFFF) # ori $a1, $a1, 0x701a -.L8029F2DC: -/* 1088EC 8029F2DC 10000002 */ b .L8029F2E8 -/* 1088F0 8029F2E0 24020001 */ li $v0, 1 -.L8029F2E4: -/* 1088F4 8029F2E4 00001025 */ move $v0, $zero -.L8029F2E8: -/* 1088F8 8029F2E8 8FBF0024 */ lw $ra, 0x24($sp) -/* 1088FC 8029F2EC 8FB00020 */ lw $s0, 0x20($sp) -/* 108900 8029F2F0 27BD0028 */ addiu $sp, $sp, 0x28 -/* 108904 8029F2F4 03E00008 */ jr $ra -/* 108908 8029F2F8 00000000 */ nop diff --git a/asm/non_matchings/actors/func_8029F2FC.s b/asm/non_matchings/actors/func_8029F2FC.s deleted file mode 100644 index b47d5dc1c..000000000 --- a/asm/non_matchings/actors/func_8029F2FC.s +++ /dev/null @@ -1,72 +0,0 @@ -glabel func_8029F2FC -/* 10890C 8029F2FC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 108910 8029F300 AFBF0024 */ sw $ra, 0x24($sp) -/* 108914 8029F304 AFB00020 */ sw $s0, 0x20($sp) -/* 108918 8029F308 AFA5002C */ sw $a1, 0x2c($sp) -/* 10891C 8029F30C 00A07025 */ move $t6, $a1 -/* 108920 8029F310 C5C0000C */ lwc1 $f0, 0xc($t6) -/* 108924 8029F314 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 108928 8029F318 44812000 */ mtc1 $at, $f4 -/* 10892C 8029F31C 44060000 */ mfc1 $a2, $f0 -/* 108930 8029F320 44070000 */ mfc1 $a3, $f0 -/* 108934 8029F324 00808025 */ move $s0, $a0 -/* 108938 8029F328 24A50018 */ addiu $a1, $a1, 0x18 -/* 10893C 8029F32C 0C0A7BAE */ jal func_8029EEB8 -/* 108940 8029F330 E7A40010 */ swc1 $f4, 0x10($sp) -/* 108944 8029F334 24010001 */ li $at, 1 -/* 108948 8029F338 1441002D */ bne $v0, $at, .L8029F3F0 -/* 10894C 8029F33C 8FA3002C */ lw $v1, 0x2c($sp) -/* 108950 8029F340 96020000 */ lhu $v0, ($s0) -/* 108954 8029F344 304F4000 */ andi $t7, $v0, 0x4000 -/* 108958 8029F348 11E00027 */ beqz $t7, .L8029F3E8 -/* 10895C 8029F34C 00000000 */ nop -/* 108960 8029F350 8E1800BC */ lw $t8, 0xbc($s0) -/* 108964 8029F354 26040014 */ addiu $a0, $s0, 0x14 -/* 108968 8029F358 26050034 */ addiu $a1, $s0, 0x34 -/* 10896C 8029F35C 33190200 */ andi $t9, $t8, 0x200 -/* 108970 8029F360 13200016 */ beqz $t9, .L8029F3BC -/* 108974 8029F364 304E0100 */ andi $t6, $v0, 0x100 -/* 108978 8029F368 84680002 */ lh $t0, 2($v1) -/* 10897C 8029F36C 3C061901 */ lui $a2, (0x1901A24A >> 16) # lui $a2, 0x1901 -/* 108980 8029F370 34C6A24A */ ori $a2, (0x1901A24A & 0xFFFF) # ori $a2, $a2, 0xa24a -/* 108984 8029F374 35090400 */ ori $t1, $t0, 0x400 -/* 108988 8029F378 0C03262E */ jal func_800C98B8 -/* 10898C 8029F37C A4690002 */ sh $t1, 2($v1) -/* 108990 8029F380 3C0A800E */ lui $t2, %hi(gPlayerOne) # $t2, 0x800e -/* 108994 8029F384 8D4AC4DC */ lw $t2, %lo(gPlayerOne)($t2) -/* 108998 8029F388 24010DD8 */ li $at, 3544 -/* 10899C 8029F38C 96050254 */ lhu $a1, 0x254($s0) -/* 1089A0 8029F390 020A2023 */ subu $a0, $s0, $t2 -/* 1089A4 8029F394 0081001A */ div $zero, $a0, $at -/* 1089A8 8029F398 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 1089AC 8029F39C 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 1089B0 8029F3A0 00005812 */ mflo $t3 -/* 1089B4 8029F3A4 00056900 */ sll $t5, $a1, 4 -/* 1089B8 8029F3A8 01A12821 */ addu $a1, $t5, $at -/* 1089BC 8029F3AC 0C03243D */ jal func_800C90F4 -/* 1089C0 8029F3B0 316400FF */ andi $a0, $t3, 0xff -/* 1089C4 8029F3B4 1000000F */ b .L8029F3F4 -/* 1089C8 8029F3B8 24020001 */ li $v0, 1 -.L8029F3BC: -/* 1089CC 8029F3BC 15C0000A */ bnez $t6, .L8029F3E8 -/* 1089D0 8029F3C0 3C0F800E */ lui $t7, %hi(gPlayerOne) # $t7, 0x800e -/* 1089D4 8029F3C4 8DEFC4DC */ lw $t7, %lo(gPlayerOne)($t7) -/* 1089D8 8029F3C8 24010DD8 */ li $at, 3544 -/* 1089DC 8029F3CC 3C051900 */ lui $a1, (0x1900A052 >> 16) # lui $a1, 0x1900 -/* 1089E0 8029F3D0 020F2023 */ subu $a0, $s0, $t7 -/* 1089E4 8029F3D4 0081001A */ div $zero, $a0, $at -/* 1089E8 8029F3D8 0000C012 */ mflo $t8 -/* 1089EC 8029F3DC 330400FF */ andi $a0, $t8, 0xff -/* 1089F0 8029F3E0 0C032418 */ jal func_800C9060 -/* 1089F4 8029F3E4 34A5A052 */ ori $a1, (0x1900A052 & 0xFFFF) # ori $a1, $a1, 0xa052 -.L8029F3E8: -/* 1089F8 8029F3E8 10000002 */ b .L8029F3F4 -/* 1089FC 8029F3EC 24020001 */ li $v0, 1 -.L8029F3F0: -/* 108A00 8029F3F0 00001025 */ move $v0, $zero -.L8029F3F4: -/* 108A04 8029F3F4 8FBF0024 */ lw $ra, 0x24($sp) -/* 108A08 8029F3F8 8FB00020 */ lw $s0, 0x20($sp) -/* 108A0C 8029F3FC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 108A10 8029F400 03E00008 */ jr $ra -/* 108A14 8029F404 00000000 */ nop diff --git a/asm/non_matchings/actors/func_8029F69C.s b/asm/non_matchings/actors/func_8029F69C.s deleted file mode 100644 index 711c00989..000000000 --- a/asm/non_matchings/actors/func_8029F69C.s +++ /dev/null @@ -1,332 +0,0 @@ -glabel func_8029F69C -/* 108CAC 8029F69C 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 108CB0 8029F6A0 AFBF0014 */ sw $ra, 0x14($sp) -/* 108CB4 8029F6A4 C4860014 */ lwc1 $f6, 0x14($a0) -/* 108CB8 8029F6A8 C4A40018 */ lwc1 $f4, 0x18($a1) -/* 108CBC 8029F6AC 44801000 */ mtc1 $zero, $f2 -/* 108CC0 8029F6B0 00803825 */ move $a3, $a0 -/* 108CC4 8029F6B4 46062481 */ sub.s $f18, $f4, $f6 -/* 108CC8 8029F6B8 C4B00008 */ lwc1 $f16, 8($a1) -/* 108CCC 8029F6BC 4602903C */ c.lt.s $f18, $f2 -/* 108CD0 8029F6C0 00000000 */ nop -/* 108CD4 8029F6C4 45020009 */ bc1fl .L8029F6EC -/* 108CD8 8029F6C8 4612803C */ c.lt.s $f16, $f18 -/* 108CDC 8029F6CC 46008207 */ neg.s $f8, $f16 -/* 108CE0 8029F6D0 4608903C */ c.lt.s $f18, $f8 -/* 108CE4 8029F6D4 00000000 */ nop -/* 108CE8 8029F6D8 45020004 */ bc1fl .L8029F6EC -/* 108CEC 8029F6DC 4612803C */ c.lt.s $f16, $f18 -/* 108CF0 8029F6E0 10000123 */ b .L8029FB70 -/* 108CF4 8029F6E4 00001025 */ move $v0, $zero -/* 108CF8 8029F6E8 4612803C */ c.lt.s $f16, $f18 -.L8029F6EC: -/* 108CFC 8029F6EC 00000000 */ nop -/* 108D00 8029F6F0 45020004 */ bc1fl .L8029F704 -/* 108D04 8029F6F4 C4AA0020 */ lwc1 $f10, 0x20($a1) -/* 108D08 8029F6F8 1000011D */ b .L8029FB70 -/* 108D0C 8029F6FC 00001025 */ move $v0, $zero -/* 108D10 8029F700 C4AA0020 */ lwc1 $f10, 0x20($a1) -.L8029F704: -/* 108D14 8029F704 C4E4001C */ lwc1 $f4, 0x1c($a3) -/* 108D18 8029F708 46045381 */ sub.s $f14, $f10, $f4 -/* 108D1C 8029F70C 4602703C */ c.lt.s $f14, $f2 -/* 108D20 8029F710 00000000 */ nop -/* 108D24 8029F714 45020009 */ bc1fl .L8029F73C -/* 108D28 8029F718 460E803C */ c.lt.s $f16, $f14 -/* 108D2C 8029F71C 46008187 */ neg.s $f6, $f16 -/* 108D30 8029F720 4606703C */ c.lt.s $f14, $f6 -/* 108D34 8029F724 00000000 */ nop -/* 108D38 8029F728 45020004 */ bc1fl .L8029F73C -/* 108D3C 8029F72C 460E803C */ c.lt.s $f16, $f14 -/* 108D40 8029F730 1000010F */ b .L8029FB70 -/* 108D44 8029F734 00001025 */ move $v0, $zero -/* 108D48 8029F738 460E803C */ c.lt.s $f16, $f14 -.L8029F73C: -/* 108D4C 8029F73C 00000000 */ nop -/* 108D50 8029F740 45020004 */ bc1fl .L8029F754 -/* 108D54 8029F744 C4E80018 */ lwc1 $f8, 0x18($a3) -/* 108D58 8029F748 10000109 */ b .L8029FB70 -/* 108D5C 8029F74C 00001025 */ move $v0, $zero -/* 108D60 8029F750 C4E80018 */ lwc1 $f8, 0x18($a3) -.L8029F754: -/* 108D64 8029F754 C4AA001C */ lwc1 $f10, 0x1c($a1) -/* 108D68 8029F758 460A4001 */ sub.s $f0, $f8, $f10 -/* 108D6C 8029F75C 4602003C */ c.lt.s $f0, $f2 -/* 108D70 8029F760 00000000 */ nop -/* 108D74 8029F764 45020004 */ bc1fl .L8029F778 -/* 108D78 8029F768 84AE0006 */ lh $t6, 6($a1) -/* 108D7C 8029F76C 10000100 */ b .L8029FB70 -/* 108D80 8029F770 00001025 */ move $v0, $zero -/* 108D84 8029F774 84AE0006 */ lh $t6, 6($a1) -.L8029F778: -/* 108D88 8029F778 448E2000 */ mtc1 $t6, $f4 -/* 108D8C 8029F77C 00000000 */ nop -/* 108D90 8029F780 468021A0 */ cvt.s.w $f6, $f4 -/* 108D94 8029F784 4600303C */ c.lt.s $f6, $f0 -/* 108D98 8029F788 00000000 */ nop -/* 108D9C 8029F78C 45000003 */ bc1f .L8029F79C -/* 108DA0 8029F790 00000000 */ nop -/* 108DA4 8029F794 100000F6 */ b .L8029FB70 -/* 108DA8 8029F798 00001025 */ move $v0, $zero -.L8029F79C: -/* 108DAC 8029F79C 46129202 */ mul.s $f8, $f18, $f18 -/* 108DB0 8029F7A0 AFA5005C */ sw $a1, 0x5c($sp) -/* 108DB4 8029F7A4 AFA70058 */ sw $a3, 0x58($sp) -/* 108DB8 8029F7A8 460E7282 */ mul.s $f10, $f14, $f14 -/* 108DBC 8029F7AC E7AE004C */ swc1 $f14, 0x4c($sp) -/* 108DC0 8029F7B0 E7B00040 */ swc1 $f16, 0x40($sp) -/* 108DC4 8029F7B4 E7B20054 */ swc1 $f18, 0x54($sp) -/* 108DC8 8029F7B8 0C033850 */ jal sqrtf -/* 108DCC 8029F7BC 460A4300 */ add.s $f12, $f8, $f10 -/* 108DD0 8029F7C0 C7B00040 */ lwc1 $f16, 0x40($sp) -/* 108DD4 8029F7C4 8FA70058 */ lw $a3, 0x58($sp) -/* 108DD8 8029F7C8 C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 108DDC 8029F7CC 4600803C */ c.lt.s $f16, $f0 -/* 108DE0 8029F7D0 C7B20054 */ lwc1 $f18, 0x54($sp) -/* 108DE4 8029F7D4 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 108DE8 8029F7D8 00E02025 */ move $a0, $a3 -/* 108DEC 8029F7DC 45020004 */ bc1fl .L8029F7F0 -/* 108DF0 8029F7E0 AFA70058 */ sw $a3, 0x58($sp) -/* 108DF4 8029F7E4 100000E2 */ b .L8029FB70 -/* 108DF8 8029F7E8 00001025 */ move $v0, $zero -/* 108DFC 8029F7EC AFA70058 */ sw $a3, 0x58($sp) -.L8029F7F0: -/* 108E00 8029F7F0 E7AE004C */ swc1 $f14, 0x4c($sp) -/* 108E04 8029F7F4 0C0A5DEC */ jal func_802977B0 -/* 108E08 8029F7F8 E7B20054 */ swc1 $f18, 0x54($sp) -/* 108E0C 8029F7FC 8FA3005C */ lw $v1, 0x5c($sp) -/* 108E10 8029F800 8FA70058 */ lw $a3, 0x58($sp) -/* 108E14 8029F804 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 108E18 8029F808 C466000C */ lwc1 $f6, 0xc($v1) -/* 108E1C 8029F80C C4E40070 */ lwc1 $f4, 0x70($a3) -/* 108E20 8029F810 C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 108E24 8029F814 C7B20054 */ lwc1 $f18, 0x54($sp) -/* 108E28 8029F818 46062400 */ add.s $f16, $f4, $f6 -/* 108E2C 8029F81C 4608803C */ c.lt.s $f16, $f8 -/* 108E30 8029F820 00000000 */ nop -/* 108E34 8029F824 45020004 */ bc1fl .L8029F838 -/* 108E38 8029F828 C4EA0034 */ lwc1 $f10, 0x34($a3) -/* 108E3C 8029F82C 100000D0 */ b .L8029FB70 -/* 108E40 8029F830 00001025 */ move $v0, $zero -/* 108E44 8029F834 C4EA0034 */ lwc1 $f10, 0x34($a3) -.L8029F838: -/* 108E48 8029F838 E7AA0048 */ swc1 $f10, 0x48($sp) -/* 108E4C 8029F83C C4E4003C */ lwc1 $f4, 0x3c($a3) -/* 108E50 8029F840 E7A40044 */ swc1 $f4, 0x44($sp) -/* 108E54 8029F844 94E20000 */ lhu $v0, ($a3) -/* 108E58 8029F848 304F4000 */ andi $t7, $v0, 0x4000 -/* 108E5C 8029F84C 51E00033 */ beql $t7, $zero, .L8029F91C -/* 108E60 8029F850 8CE200BC */ lw $v0, 0xbc($a3) -/* 108E64 8029F854 8CF800BC */ lw $t8, 0xbc($a3) -/* 108E68 8029F858 24E40014 */ addiu $a0, $a3, 0x14 -/* 108E6C 8029F85C 24E50034 */ addiu $a1, $a3, 0x34 -/* 108E70 8029F860 33190200 */ andi $t9, $t8, 0x200 -/* 108E74 8029F864 13200018 */ beqz $t9, .L8029F8C8 -/* 108E78 8029F868 304E0100 */ andi $t6, $v0, 0x100 -/* 108E7C 8029F86C 84680002 */ lh $t0, 2($v1) -/* 108E80 8029F870 3C061901 */ lui $a2, (0x19018010 >> 16) # lui $a2, 0x1901 -/* 108E84 8029F874 34C68010 */ ori $a2, (0x19018010 & 0xFFFF) # ori $a2, $a2, 0x8010 -/* 108E88 8029F878 35090400 */ ori $t1, $t0, 0x400 -/* 108E8C 8029F87C A4690002 */ sh $t1, 2($v1) -/* 108E90 8029F880 0C03262E */ jal func_800C98B8 -/* 108E94 8029F884 AFA70058 */ sw $a3, 0x58($sp) -/* 108E98 8029F888 3C0A800E */ lui $t2, %hi(gPlayerOne) # $t2, 0x800e -/* 108E9C 8029F88C 8FA70058 */ lw $a3, 0x58($sp) -/* 108EA0 8029F890 8D4AC4DC */ lw $t2, %lo(gPlayerOne)($t2) -/* 108EA4 8029F894 24010DD8 */ li $at, 3544 -/* 108EA8 8029F898 94E50254 */ lhu $a1, 0x254($a3) -/* 108EAC 8029F89C 00EA2023 */ subu $a0, $a3, $t2 -/* 108EB0 8029F8A0 0081001A */ div $zero, $a0, $at -/* 108EB4 8029F8A4 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 108EB8 8029F8A8 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 108EBC 8029F8AC 00005812 */ mflo $t3 -/* 108EC0 8029F8B0 00056900 */ sll $t5, $a1, 4 -/* 108EC4 8029F8B4 01A12821 */ addu $a1, $t5, $at -/* 108EC8 8029F8B8 0C03243D */ jal func_800C90F4 -/* 108ECC 8029F8BC 316400FF */ andi $a0, $t3, 0xff -/* 108ED0 8029F8C0 100000AB */ b .L8029FB70 -/* 108ED4 8029F8C4 24020001 */ li $v0, 1 -.L8029F8C8: -/* 108ED8 8029F8C8 15C00013 */ bnez $t6, .L8029F918 -/* 108EDC 8029F8CC 3C0F800E */ lui $t7, %hi(gPlayerOne) # $t7, 0x800e -/* 108EE0 8029F8D0 8DEFC4DC */ lw $t7, %lo(gPlayerOne)($t7) -/* 108EE4 8029F8D4 24010DD8 */ li $at, 3544 -/* 108EE8 8029F8D8 3C051900 */ lui $a1, (0x19007018 >> 16) # lui $a1, 0x1900 -/* 108EEC 8029F8DC 00EF2023 */ subu $a0, $a3, $t7 -/* 108EF0 8029F8E0 0081001A */ div $zero, $a0, $at -/* 108EF4 8029F8E4 0000C012 */ mflo $t8 -/* 108EF8 8029F8E8 330400FF */ andi $a0, $t8, 0xff -/* 108EFC 8029F8EC 34A57018 */ ori $a1, (0x19007018 & 0xFFFF) # ori $a1, $a1, 0x7018 -/* 108F00 8029F8F0 AFA70058 */ sw $a3, 0x58($sp) -/* 108F04 8029F8F4 E7AE004C */ swc1 $f14, 0x4c($sp) -/* 108F08 8029F8F8 E7B00040 */ swc1 $f16, 0x40($sp) -/* 108F0C 8029F8FC 0C032418 */ jal func_800C9060 -/* 108F10 8029F900 E7B20054 */ swc1 $f18, 0x54($sp) -/* 108F14 8029F904 8FA3005C */ lw $v1, 0x5c($sp) -/* 108F18 8029F908 8FA70058 */ lw $a3, 0x58($sp) -/* 108F1C 8029F90C C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 108F20 8029F910 C7B00040 */ lwc1 $f16, 0x40($sp) -/* 108F24 8029F914 C7B20054 */ lwc1 $f18, 0x54($sp) -.L8029F918: -/* 108F28 8029F918 8CE200BC */ lw $v0, 0xbc($a3) -.L8029F91C: -/* 108F2C 8029F91C 24010004 */ li $at, 4 -/* 108F30 8029F920 30480200 */ andi $t0, $v0, 0x200 -/* 108F34 8029F924 15000002 */ bnez $t0, .L8029F930 -/* 108F38 8029F928 34498000 */ ori $t1, $v0, 0x8000 -/* 108F3C 8029F92C ACE900BC */ sw $t1, 0xbc($a3) -.L8029F930: -/* 108F40 8029F930 C4660018 */ lwc1 $f6, 0x18($v1) -/* 108F44 8029F934 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e -/* 108F48 8029F938 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) -/* 108F4C 8029F93C E7A60020 */ swc1 $f6, 0x20($sp) -/* 108F50 8029F940 C468001C */ lwc1 $f8, 0x1c($v1) -/* 108F54 8029F944 E7A80024 */ swc1 $f8, 0x24($sp) -/* 108F58 8029F948 C46A0020 */ lwc1 $f10, 0x20($v1) -/* 108F5C 8029F94C 10400006 */ beqz $v0, .L8029F968 -/* 108F60 8029F950 E7AA0028 */ swc1 $f10, 0x28($sp) -/* 108F64 8029F954 10410004 */ beq $v0, $at, .L8029F968 -/* 108F68 8029F958 24010007 */ li $at, 7 -/* 108F6C 8029F95C 10410002 */ beq $v0, $at, .L8029F968 -/* 108F70 8029F960 24010008 */ li $at, 8 -/* 108F74 8029F964 14410012 */ bne $v0, $at, .L8029F9B0 -.L8029F968: -/* 108F78 8029F968 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 108F7C 8029F96C 44812000 */ mtc1 $at, $f4 -/* 108F80 8029F970 C4E60094 */ lwc1 $f6, 0x94($a3) -/* 108F84 8029F974 27A40020 */ addiu $a0, $sp, 0x20 -/* 108F88 8029F978 00002825 */ move $a1, $zero -/* 108F8C 8029F97C 4606203C */ c.lt.s $f4, $f6 -/* 108F90 8029F980 00000000 */ nop -/* 108F94 8029F984 4500000A */ bc1f .L8029F9B0 -/* 108F98 8029F988 00000000 */ nop -/* 108F9C 8029F98C AFA70058 */ sw $a3, 0x58($sp) -/* 108FA0 8029F990 E7AE004C */ swc1 $f14, 0x4c($sp) -/* 108FA4 8029F994 E7B00040 */ swc1 $f16, 0x40($sp) -/* 108FA8 8029F998 0C01DEAC */ jal func_80077AB0 -/* 108FAC 8029F99C E7B20054 */ swc1 $f18, 0x54($sp) -/* 108FB0 8029F9A0 8FA70058 */ lw $a3, 0x58($sp) -/* 108FB4 8029F9A4 C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 108FB8 8029F9A8 C7B00040 */ lwc1 $f16, 0x40($sp) -/* 108FBC 8029F9AC C7B20054 */ lwc1 $f18, 0x54($sp) -.L8029F9B0: -/* 108FC0 8029F9B0 3C01802C */ lui $at, %hi(D_802B98A0) # $at, 0x802c -/* 108FC4 8029F9B4 C42A98A0 */ lwc1 $f10, %lo(D_802B98A0)($at) -/* 108FC8 8029F9B8 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 108FCC 8029F9BC C7A40048 */ lwc1 $f4, 0x48($sp) -/* 108FD0 8029F9C0 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 108FD4 8029F9C4 460A403C */ c.lt.s $f8, $f10 -/* 108FD8 8029F9C8 00000000 */ nop -/* 108FDC 8029F9CC 4500001F */ bc1f .L8029FA4C -/* 108FE0 8029F9D0 00000000 */ nop -/* 108FE4 8029F9D4 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 108FE8 8029F9D8 C7A80044 */ lwc1 $f8, 0x44($sp) -/* 108FEC 8029F9DC AFA70058 */ sw $a3, 0x58($sp) -/* 108FF0 8029F9E0 46042182 */ mul.s $f6, $f4, $f4 -/* 108FF4 8029F9E4 E7AE004C */ swc1 $f14, 0x4c($sp) -/* 108FF8 8029F9E8 E7B00040 */ swc1 $f16, 0x40($sp) -/* 108FFC 8029F9EC 46084282 */ mul.s $f10, $f8, $f8 -/* 109000 8029F9F0 E7B20054 */ swc1 $f18, 0x54($sp) -/* 109004 8029F9F4 0C033850 */ jal sqrtf -/* 109008 8029F9F8 460A3300 */ add.s $f12, $f6, $f10 -/* 10900C 8029F9FC C7B00040 */ lwc1 $f16, 0x40($sp) -/* 109010 8029FA00 C7B20054 */ lwc1 $f18, 0x54($sp) -/* 109014 8029FA04 3C01802C */ lui $at, %hi(D_802B98A4) # $at, 0x802c -/* 109018 8029FA08 C42098A4 */ lwc1 $f0, %lo(D_802B98A4)($at) -/* 10901C 8029FA0C 46109202 */ mul.s $f8, $f18, $f16 -/* 109020 8029FA10 8FA70058 */ lw $a3, 0x58($sp) -/* 109024 8029FA14 44801000 */ mtc1 $zero, $f2 -/* 109028 8029FA18 C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 10902C 8029FA1C E4E20034 */ swc1 $f2, 0x34($a3) -/* 109030 8029FA20 E4E2003C */ swc1 $f2, 0x3c($a3) -/* 109034 8029FA24 46004182 */ mul.s $f6, $f8, $f0 -/* 109038 8029FA28 C7A40020 */ lwc1 $f4, 0x20($sp) -/* 10903C 8029FA2C 46062281 */ sub.s $f10, $f4, $f6 -/* 109040 8029FA30 46107102 */ mul.s $f4, $f14, $f16 -/* 109044 8029FA34 E4EA0014 */ swc1 $f10, 0x14($a3) -/* 109048 8029FA38 C7A80028 */ lwc1 $f8, 0x28($sp) -/* 10904C 8029FA3C 46002182 */ mul.s $f6, $f4, $f0 -/* 109050 8029FA40 46064281 */ sub.s $f10, $f8, $f6 -/* 109054 8029FA44 10000049 */ b .L8029FB6C -/* 109058 8029FA48 E4EA001C */ swc1 $f10, 0x1c($a3) -.L8029FA4C: -/* 10905C 8029FA4C 46042202 */ mul.s $f8, $f4, $f4 -/* 109060 8029FA50 AFA70058 */ sw $a3, 0x58($sp) -/* 109064 8029FA54 E7AE004C */ swc1 $f14, 0x4c($sp) -/* 109068 8029FA58 46063282 */ mul.s $f10, $f6, $f6 -/* 10906C 8029FA5C E7B00040 */ swc1 $f16, 0x40($sp) -/* 109070 8029FA60 E7B20054 */ swc1 $f18, 0x54($sp) -/* 109074 8029FA64 0C033850 */ jal sqrtf -/* 109078 8029FA68 460A4300 */ add.s $f12, $f8, $f10 -/* 10907C 8029FA6C 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 109080 8029FA70 44813000 */ mtc1 $at, $f6 -/* 109084 8029FA74 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 109088 8029FA78 C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 10908C 8029FA7C 4606003C */ c.lt.s $f0, $f6 -/* 109090 8029FA80 C7B20054 */ lwc1 $f18, 0x54($sp) -/* 109094 8029FA84 8FA70058 */ lw $a3, 0x58($sp) -/* 109098 8029FA88 C7B00040 */ lwc1 $f16, 0x40($sp) -/* 10909C 8029FA8C 46047383 */ div.s $f14, $f14, $f4 -/* 1090A0 8029FA90 45000012 */ bc1f .L8029FADC -/* 1090A4 8029FA94 46049483 */ div.s $f18, $f18, $f4 -/* 1090A8 8029FA98 46109282 */ mul.s $f10, $f18, $f16 -/* 1090AC 8029FA9C 3C01802C */ lui $at, %hi(D_802B98A8) -/* 1090B0 8029FAA0 C42098A8 */ lwc1 $f0, %lo(D_802B98A8)($at) -/* 1090B4 8029FAA4 C7A80020 */ lwc1 $f8, 0x20($sp) -/* 1090B8 8029FAA8 44801000 */ mtc1 $zero, $f2 -/* 1090BC 8029FAAC 24020001 */ li $v0, 1 -/* 1090C0 8029FAB0 46005102 */ mul.s $f4, $f10, $f0 -/* 1090C4 8029FAB4 46044181 */ sub.s $f6, $f8, $f4 -/* 1090C8 8029FAB8 46107202 */ mul.s $f8, $f14, $f16 -/* 1090CC 8029FABC E4E60014 */ swc1 $f6, 0x14($a3) -/* 1090D0 8029FAC0 C7AA0028 */ lwc1 $f10, 0x28($sp) -/* 1090D4 8029FAC4 E4E20034 */ swc1 $f2, 0x34($a3) -/* 1090D8 8029FAC8 E4E2003C */ swc1 $f2, 0x3c($a3) -/* 1090DC 8029FACC 46004102 */ mul.s $f4, $f8, $f0 -/* 1090E0 8029FAD0 46045181 */ sub.s $f6, $f10, $f4 -/* 1090E4 8029FAD4 10000026 */ b .L8029FB70 -/* 1090E8 8029FAD8 E4E6001C */ swc1 $f6, 0x1c($a3) -.L8029FADC: -/* 1090EC 8029FADC C7A80048 */ lwc1 $f8, 0x48($sp) -/* 1090F0 8029FAE0 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 1090F4 8029FAE4 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 1090F8 8029FAE8 46089282 */ mul.s $f10, $f18, $f8 -/* 1090FC 8029FAEC 00000000 */ nop -/* 109100 8029FAF0 46047182 */ mul.s $f6, $f14, $f4 -/* 109104 8029FAF4 46065200 */ add.s $f8, $f10, $f6 -/* 109108 8029FAF8 44813000 */ mtc1 $at, $f6 -/* 10910C 8029FAFC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 109110 8029FB00 46004103 */ div.s $f4, $f8, $f0 -/* 109114 8029FB04 C4E80034 */ lwc1 $f8, 0x34($a3) -/* 109118 8029FB08 46040282 */ mul.s $f10, $f0, $f4 -/* 10911C 8029FB0C 00000000 */ nop -/* 109120 8029FB10 46065302 */ mul.s $f12, $f10, $f6 -/* 109124 8029FB14 C4E6003C */ lwc1 $f6, 0x3c($a3) -/* 109128 8029FB18 460C9102 */ mul.s $f4, $f18, $f12 -/* 10912C 8029FB1C 46044281 */ sub.s $f10, $f8, $f4 -/* 109130 8029FB20 460C7202 */ mul.s $f8, $f14, $f12 -/* 109134 8029FB24 E4EA0034 */ swc1 $f10, 0x34($a3) -/* 109138 8029FB28 46083101 */ sub.s $f4, $f6, $f8 -/* 10913C 8029FB2C 44814000 */ mtc1 $at, $f8 -/* 109140 8029FB30 E4E4003C */ swc1 $f4, 0x3c($a3) -/* 109144 8029FB34 C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 109148 8029FB38 46105081 */ sub.s $f2, $f10, $f16 -/* 10914C 8029FB3C C4EA0014 */ lwc1 $f10, 0x14($a3) -/* 109150 8029FB40 46029182 */ mul.s $f6, $f18, $f2 -/* 109154 8029FB44 00000000 */ nop -/* 109158 8029FB48 46083102 */ mul.s $f4, $f6, $f8 -/* 10915C 8029FB4C 46045180 */ add.s $f6, $f10, $f4 -/* 109160 8029FB50 46027202 */ mul.s $f8, $f14, $f2 -/* 109164 8029FB54 44815000 */ mtc1 $at, $f10 -/* 109168 8029FB58 E4E60014 */ swc1 $f6, 0x14($a3) -/* 10916C 8029FB5C C4E6001C */ lwc1 $f6, 0x1c($a3) -/* 109170 8029FB60 460A4102 */ mul.s $f4, $f8, $f10 -/* 109174 8029FB64 46043200 */ add.s $f8, $f6, $f4 -/* 109178 8029FB68 E4E8001C */ swc1 $f8, 0x1c($a3) -.L8029FB6C: -/* 10917C 8029FB6C 24020001 */ li $v0, 1 -.L8029FB70: -/* 109180 8029FB70 8FBF0014 */ lw $ra, 0x14($sp) -/* 109184 8029FB74 27BD0058 */ addiu $sp, $sp, 0x58 -/* 109188 8029FB78 03E00008 */ jr $ra -/* 10918C 8029FB7C 00000000 */ nop diff --git a/asm/non_matchings/actors/func_8029FDC8.s b/asm/non_matchings/actors/func_8029FDC8.s deleted file mode 100644 index 0bc913661..000000000 --- a/asm/non_matchings/actors/func_8029FDC8.s +++ /dev/null @@ -1,221 +0,0 @@ -glabel func_8029FDC8 -/* 1093D8 8029FDC8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1093DC 8029FDCC AFBF0014 */ sw $ra, 0x14($sp) -/* 1093E0 8029FDD0 84820000 */ lh $v0, ($a0) -/* 1093E4 8029FDD4 24010006 */ li $at, 6 -/* 1093E8 8029FDD8 00803025 */ move $a2, $a0 -/* 1093EC 8029FDDC 5041000E */ beql $v0, $at, .L8029FE18 -/* 1093F0 8029FDE0 94CE0006 */ lhu $t6, 6($a2) -/* 1093F4 8029FDE4 24070007 */ li $a3, 7 -/* 1093F8 8029FDE8 10470031 */ beq $v0, $a3, .L8029FEB0 -/* 1093FC 8029FDEC 24010008 */ li $at, 8 -/* 109400 8029FDF0 1041007A */ beq $v0, $at, .L8029FFDC -/* 109404 8029FDF4 2401000D */ li $at, 13 -/* 109408 8029FDF8 1041009C */ beq $v0, $at, .L802A006C -/* 10940C 8029FDFC 24190002 */ li $t9, 2 -/* 109410 8029FE00 2401002A */ li $at, 42 -/* 109414 8029FE04 50410052 */ beql $v0, $at, .L8029FF50 -/* 109418 8029FE08 84C30006 */ lh $v1, 6($a2) -/* 10941C 8029FE0C 100000B3 */ b .L802A00DC -/* 109420 8029FE10 8FBF0014 */ lw $ra, 0x14($sp) -/* 109424 8029FE14 94CE0006 */ lhu $t6, 6($a2) -.L8029FE18: -/* 109428 8029FE18 2DC10006 */ sltiu $at, $t6, 6 -/* 10942C 8029FE1C 102000AE */ beqz $at, .L802A00D8 -/* 109430 8029FE20 000E7080 */ sll $t6, $t6, 2 -/* 109434 8029FE24 3C01802C */ lui $at, %hi(jpt_802B98B4) -/* 109438 8029FE28 002E0821 */ addu $at, $at, $t6 -/* 10943C 8029FE2C 8C2E98B4 */ lw $t6, %lo(jpt_802B98B4)($at) -/* 109440 8029FE30 01C00008 */ jr $t6 -/* 109444 8029FE34 00000000 */ nop -glabel L8029FE38 -/* 109448 8029FE38 0C0AC15C */ jal func_802B0570 -/* 10944C 8029FE3C 00C02025 */ move $a0, $a2 -/* 109450 8029FE40 100000A6 */ b .L802A00DC -/* 109454 8029FE44 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8029FE48 -/* 109458 8029FE48 84CF0010 */ lh $t7, 0x10($a2) -/* 10945C 8029FE4C 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f -/* 109460 8029FE50 27396990 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6990 -/* 109464 8029FE54 000FC0C0 */ sll $t8, $t7, 3 -/* 109468 8029FE58 030FC023 */ subu $t8, $t8, $t7 -/* 10946C 8029FE5C 0018C100 */ sll $t8, $t8, 4 -/* 109470 8029FE60 030FC023 */ subu $t8, $t8, $t7 -/* 109474 8029FE64 0018C080 */ sll $t8, $t8, 2 -/* 109478 8029FE68 030FC023 */ subu $t8, $t8, $t7 -/* 10947C 8029FE6C 0018C0C0 */ sll $t8, $t8, 3 -/* 109480 8029FE70 03191021 */ addu $v0, $t8, $t9 -/* 109484 8029FE74 8C48000C */ lw $t0, 0xc($v0) -/* 109488 8029FE78 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb -/* 10948C 8029FE7C 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 109490 8029FE80 01014824 */ and $t1, $t0, $at -/* 109494 8029FE84 AC49000C */ sw $t1, 0xc($v0) -glabel L8029FE88 -/* 109498 8029FE88 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 10949C 8029FE8C 44812000 */ mtc1 $at, $f4 -/* 1094A0 8029FE90 240A8000 */ li $t2, -32768 -/* 1094A4 8029FE94 240B003C */ li $t3, 60 -/* 1094A8 8029FE98 240C0005 */ li $t4, 5 -/* 1094AC 8029FE9C A4CA0002 */ sh $t2, 2($a2) -/* 1094B0 8029FEA0 A4CB0004 */ sh $t3, 4($a2) -/* 1094B4 8029FEA4 A4CC0006 */ sh $t4, 6($a2) -/* 1094B8 8029FEA8 1000008B */ b .L802A00D8 -/* 1094BC 8029FEAC E4C40028 */ swc1 $f4, 0x28($a2) -.L8029FEB0: -/* 1094C0 8029FEB0 84C30006 */ lh $v1, 6($a2) -/* 1094C4 8029FEB4 24010005 */ li $at, 5 -/* 1094C8 8029FEB8 50610088 */ beql $v1, $at, .L802A00DC -/* 1094CC 8029FEBC 8FBF0014 */ lw $ra, 0x14($sp) -/* 1094D0 8029FEC0 10600013 */ beqz $v1, .L8029FF10 -/* 1094D4 8029FEC4 24010001 */ li $at, 1 -/* 1094D8 8029FEC8 10610011 */ beq $v1, $at, .L8029FF10 -/* 1094DC 8029FECC 24010002 */ li $at, 2 -/* 1094E0 8029FED0 10610006 */ beq $v1, $at, .L8029FEEC -/* 1094E4 8029FED4 3C0D8016 */ lui $t5, %hi(gActorList) # $t5, 0x8016 -/* 1094E8 8029FED8 24010004 */ li $at, 4 -/* 1094EC 8029FEDC 10610017 */ beq $v1, $at, .L8029FF3C -/* 1094F0 8029FEE0 00C02025 */ move $a0, $a2 -/* 1094F4 8029FEE4 1000007D */ b .L802A00DC -/* 1094F8 8029FEE8 8FBF0014 */ lw $ra, 0x14($sp) -.L8029FEEC: -/* 1094FC 8029FEEC 25ADF9B8 */ addiu $t5, %lo(gActorList) # addiu $t5, $t5, -0x648 -/* 109500 8029FEF0 00CD2023 */ subu $a0, $a2, $t5 -/* 109504 8029FEF4 24010070 */ li $at, 112 -/* 109508 8029FEF8 0081001A */ div $zero, $a0, $at -/* 10950C 8029FEFC 00002012 */ mflo $a0 -/* 109510 8029FF00 AFA60018 */ sw $a2, 0x18($sp) -/* 109514 8029FF04 0C003B96 */ jal func_8000EE58 -/* 109518 8029FF08 00000000 */ nop -/* 10951C 8029FF0C 8FA60018 */ lw $a2, 0x18($sp) -.L8029FF10: -/* 109520 8029FF10 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 109524 8029FF14 44813000 */ mtc1 $at, $f6 -/* 109528 8029FF18 240F8000 */ li $t7, -32768 -/* 10952C 8029FF1C 2418003C */ li $t8, 60 -/* 109530 8029FF20 24190005 */ li $t9, 5 -/* 109534 8029FF24 A4CF0002 */ sh $t7, 2($a2) -/* 109538 8029FF28 A4C00012 */ sh $zero, 0x12($a2) -/* 10953C 8029FF2C A4D80004 */ sh $t8, 4($a2) -/* 109540 8029FF30 A4D90006 */ sh $t9, 6($a2) -/* 109544 8029FF34 10000068 */ b .L802A00D8 -/* 109548 8029FF38 E4C60028 */ swc1 $f6, 0x28($a2) -.L8029FF3C: -/* 10954C 8029FF3C 0C0AC0AD */ jal func_802B02B4 -/* 109550 8029FF40 24050007 */ li $a1, 7 -/* 109554 8029FF44 10000065 */ b .L802A00DC -/* 109558 8029FF48 8FBF0014 */ lw $ra, 0x14($sp) -/* 10955C 8029FF4C 84C30006 */ lh $v1, 6($a2) -.L8029FF50: -/* 109560 8029FF50 10E30061 */ beq $a3, $v1, .L802A00D8 -/* 109564 8029FF54 2C61000A */ sltiu $at, $v1, 0xa -/* 109568 8029FF58 1020005F */ beqz $at, .L802A00D8 -/* 10956C 8029FF5C 00034080 */ sll $t0, $v1, 2 -/* 109570 8029FF60 3C01802C */ lui $at, %hi(jpt_802B98CC) -/* 109574 8029FF64 00280821 */ addu $at, $at, $t0 -/* 109578 8029FF68 8C2898CC */ lw $t0, %lo(jpt_802B98CC)($at) -/* 10957C 8029FF6C 01000008 */ jr $t0 -/* 109580 8029FF70 00000000 */ nop -glabel L8029FF74 -/* 109584 8029FF74 3C055101 */ lui $a1, (0x51018008 >> 16) # lui $a1, 0x5101 -/* 109588 8029FF78 34A58008 */ ori $a1, (0x51018008 & 0xFFFF) # ori $a1, $a1, 0x8008 -/* 10958C 8029FF7C 24C40018 */ addiu $a0, $a2, 0x18 -/* 109590 8029FF80 0C0327BD */ jal func_800C9EF4 -/* 109594 8029FF84 AFA60018 */ sw $a2, 0x18($sp) -/* 109598 8029FF88 8FA60018 */ lw $a2, 0x18($sp) -/* 10959C 8029FF8C 3C098016 */ lui $t1, %hi(gActorList) # $t1, 0x8016 -/* 1095A0 8029FF90 2529F9B8 */ addiu $t1, %lo(gActorList) # addiu $t1, $t1, -0x648 -/* 1095A4 8029FF94 24010070 */ li $at, 112 -/* 1095A8 8029FF98 00C92023 */ subu $a0, $a2, $t1 -/* 1095AC 8029FF9C 0081001A */ div $zero, $a0, $at -/* 1095B0 8029FFA0 00002012 */ mflo $a0 -/* 1095B4 8029FFA4 0C003B96 */ jal func_8000EE58 -/* 1095B8 8029FFA8 00000000 */ nop -/* 1095BC 8029FFAC 8FA60018 */ lw $a2, 0x18($sp) -/* 1095C0 8029FFB0 24070007 */ li $a3, 7 -glabel L8029FFB4 -/* 1095C4 8029FFB4 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 1095C8 8029FFB8 44814000 */ mtc1 $at, $f8 -/* 1095CC 8029FFBC 240B8000 */ li $t3, -32768 -/* 1095D0 8029FFC0 240C003C */ li $t4, 60 -/* 1095D4 8029FFC4 A4CB0002 */ sh $t3, 2($a2) -/* 1095D8 8029FFC8 A4C00012 */ sh $zero, 0x12($a2) -/* 1095DC 8029FFCC A4CC0004 */ sh $t4, 4($a2) -/* 1095E0 8029FFD0 A4C70006 */ sh $a3, 6($a2) -/* 1095E4 8029FFD4 10000040 */ b .L802A00D8 -/* 1095E8 8029FFD8 E4C80028 */ swc1 $f8, 0x28($a2) -.L8029FFDC: -/* 1095EC 8029FFDC 84C30006 */ lh $v1, 6($a2) -/* 1095F0 8029FFE0 10E3003D */ beq $a3, $v1, .L802A00D8 -/* 1095F4 8029FFE4 2C61000A */ sltiu $at, $v1, 0xa -/* 1095F8 8029FFE8 1020003B */ beqz $at, .L802A00D8 -/* 1095FC 8029FFEC 00036880 */ sll $t5, $v1, 2 -/* 109600 8029FFF0 3C01802C */ lui $at, %hi(jpt_802B98F4) -/* 109604 8029FFF4 002D0821 */ addu $at, $at, $t5 -/* 109608 8029FFF8 8C2D98F4 */ lw $t5, %lo(jpt_802B98F4)($at) -/* 10960C 8029FFFC 01A00008 */ jr $t5 -/* 109610 802A0000 00000000 */ nop -glabel L802A0004 -/* 109614 802A0004 3C0E8016 */ lui $t6, %hi(gActorList) # $t6, 0x8016 -/* 109618 802A0008 25CEF9B8 */ addiu $t6, %lo(gActorList) # addiu $t6, $t6, -0x648 -/* 10961C 802A000C 00CE2023 */ subu $a0, $a2, $t6 -/* 109620 802A0010 24010070 */ li $at, 112 -/* 109624 802A0014 0081001A */ div $zero, $a0, $at -/* 109628 802A0018 00002012 */ mflo $a0 -/* 10962C 802A001C AFA60018 */ sw $a2, 0x18($sp) -/* 109630 802A0020 0C003B96 */ jal func_8000EE58 -/* 109634 802A0024 00000000 */ nop -/* 109638 802A0028 8FA60018 */ lw $a2, 0x18($sp) -/* 10963C 802A002C 24070007 */ li $a3, 7 -glabel L802A0030 -/* 109640 802A0030 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 109644 802A0034 44815000 */ mtc1 $at, $f10 -/* 109648 802A0038 24188000 */ li $t8, -32768 -/* 10964C 802A003C 2419003C */ li $t9, 60 -/* 109650 802A0040 A4D80002 */ sh $t8, 2($a2) -/* 109654 802A0044 A4C00012 */ sh $zero, 0x12($a2) -/* 109658 802A0048 A4D90004 */ sh $t9, 4($a2) -/* 10965C 802A004C A4C70006 */ sh $a3, 6($a2) -/* 109660 802A0050 10000021 */ b .L802A00D8 -/* 109664 802A0054 E4CA0028 */ swc1 $f10, 0x28($a2) -glabel L802A0058 -/* 109668 802A0058 00C02025 */ move $a0, $a2 -/* 10966C 802A005C 0C0AC0AD */ jal func_802B02B4 -/* 109670 802A0060 24050008 */ li $a1, 8 -/* 109674 802A0064 1000001D */ b .L802A00DC -/* 109678 802A0068 8FBF0014 */ lw $ra, 0x14($sp) -.L802A006C: -/* 10967C 802A006C C4D00024 */ lwc1 $f16, 0x24($a2) -/* 109680 802A0070 84CE0006 */ lh $t6, 6($a2) -/* 109684 802A0074 3C0D800F */ lui $t5, %hi(gPlayers) # $t5, 0x800f -/* 109688 802A0078 4600848D */ trunc.w.s $f18, $f16 -/* 10968C 802A007C 25AD6990 */ addiu $t5, %lo(gPlayers) # addiu $t5, $t5, 0x6990 -/* 109690 802A0080 24088000 */ li $t0, -32768 -/* 109694 802A0084 44099000 */ mfc1 $t1, $f18 -/* 109698 802A0088 00000000 */ nop -/* 10969C 802A008C 00095400 */ sll $t2, $t1, 0x10 -/* 1096A0 802A0090 000A5C03 */ sra $t3, $t2, 0x10 -/* 1096A4 802A0094 000B60C0 */ sll $t4, $t3, 3 -/* 1096A8 802A0098 018B6023 */ subu $t4, $t4, $t3 -/* 1096AC 802A009C 000C6100 */ sll $t4, $t4, 4 -/* 1096B0 802A00A0 018B6023 */ subu $t4, $t4, $t3 -/* 1096B4 802A00A4 000C6080 */ sll $t4, $t4, 2 -/* 1096B8 802A00A8 018B6023 */ subu $t4, $t4, $t3 -/* 1096BC 802A00AC 000C60C0 */ sll $t4, $t4, 3 -/* 1096C0 802A00B0 15C00006 */ bnez $t6, .L802A00CC -/* 1096C4 802A00B4 018D1021 */ addu $v0, $t4, $t5 -/* 1096C8 802A00B8 8C4F000C */ lw $t7, 0xc($v0) -/* 1096CC 802A00BC 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb -/* 1096D0 802A00C0 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 1096D4 802A00C4 01E1C024 */ and $t8, $t7, $at -/* 1096D8 802A00C8 AC58000C */ sw $t8, 0xc($v0) -.L802A00CC: -/* 1096DC 802A00CC A4D90006 */ sh $t9, 6($a2) -/* 1096E0 802A00D0 A4C80002 */ sh $t0, 2($a2) -/* 1096E4 802A00D4 A4C00004 */ sh $zero, 4($a2) -.L802A00D8: -glabel L802A00D8 -/* 1096E8 802A00D8 8FBF0014 */ lw $ra, 0x14($sp) -.L802A00DC: -/* 1096EC 802A00DC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 1096F0 802A00E0 03E00008 */ jr $ra -/* 1096F4 802A00E4 00000000 */ nop diff --git a/asm/non_matchings/actors/func_802A0450.s b/asm/non_matchings/actors/func_802A0450.s deleted file mode 100644 index 41b3a3cb5..000000000 --- a/asm/non_matchings/actors/func_802A0450.s +++ /dev/null @@ -1,614 +0,0 @@ -glabel func_802A0450 -/* 109A60 802A0450 3C0E800E */ lui $t6, %hi(gPlayerOne) # $t6, 0x800e -/* 109A64 802A0454 8DCEC4DC */ lw $t6, %lo(gPlayerOne)($t6) -/* 109A68 802A0458 24010DD8 */ li $at, 3544 -/* 109A6C 802A045C 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 109A70 802A0460 008E4023 */ subu $t0, $a0, $t6 -/* 109A74 802A0464 0101001A */ div $zero, $t0, $at -/* 109A78 802A0468 AFBF001C */ sw $ra, 0x1c($sp) -/* 109A7C 802A046C AFB00018 */ sw $s0, 0x18($sp) -/* 109A80 802A0470 84AA0000 */ lh $t2, ($a1) -/* 109A84 802A0474 00007812 */ mflo $t7 -/* 109A88 802A0478 000FC400 */ sll $t8, $t7, 0x10 -/* 109A8C 802A047C 254BFFFE */ addiu $t3, $t2, -2 -/* 109A90 802A0480 2D61002A */ sltiu $at, $t3, 0x2a -/* 109A94 802A0484 00A08025 */ move $s0, $a1 -/* 109A98 802A0488 00803825 */ move $a3, $a0 -/* 109A9C 802A048C 1020022C */ beqz $at, .L802A0D40 -/* 109AA0 802A0490 00184403 */ sra $t0, $t8, 0x10 -/* 109AA4 802A0494 000B5880 */ sll $t3, $t3, 2 -/* 109AA8 802A0498 3C01802C */ lui $at, %hi(jpt_802B991C) -/* 109AAC 802A049C 002B0821 */ addu $at, $at, $t3 -/* 109AB0 802A04A0 8C2B991C */ lw $t3, %lo(jpt_802B991C)($at) -/* 109AB4 802A04A4 01600008 */ jr $t3 -/* 109AB8 802A04A8 00000000 */ nop -glabel L802A04AC -/* 109ABC 802A04AC 8CEC00BC */ lw $t4, 0xbc($a3) -/* 109AC0 802A04B0 000C6800 */ sll $t5, $t4, 0 -/* 109AC4 802A04B4 05A20223 */ bltzl $t5, .L802A0D44 -/* 109AC8 802A04B8 8FBF001C */ lw $ra, 0x1c($sp) -/* 109ACC 802A04BC 94EE0000 */ lhu $t6, ($a3) -/* 109AD0 802A04C0 00E02025 */ move $a0, $a3 -/* 109AD4 802A04C4 31CF0100 */ andi $t7, $t6, 0x100 -/* 109AD8 802A04C8 55E0021E */ bnel $t7, $zero, .L802A0D44 -/* 109ADC 802A04CC 8FBF001C */ lw $ra, 0x1c($sp) -/* 109AE0 802A04D0 0C0A7D02 */ jal func_8029F408 -/* 109AE4 802A04D4 02002825 */ move $a1, $s0 -/* 109AE8 802A04D8 1000021A */ b .L802A0D44 -/* 109AEC 802A04DC 8FBF001C */ lw $ra, 0x1c($sp) -glabel L802A04E0 -/* 109AF0 802A04E0 8CF800BC */ lw $t8, 0xbc($a3) -/* 109AF4 802A04E4 3C018000 */ lui $at, (0x800008C0 >> 16) # lui $at, 0x8000 -/* 109AF8 802A04E8 342108C0 */ ori $at, (0x800008C0 & 0xFFFF) # ori $at, $at, 0x8c0 -/* 109AFC 802A04EC 0301C824 */ and $t9, $t8, $at -/* 109B00 802A04F0 57200214 */ bnel $t9, $zero, .L802A0D44 -/* 109B04 802A04F4 8FBF001C */ lw $ra, 0x1c($sp) -/* 109B08 802A04F8 8CEA000C */ lw $t2, 0xc($a3) -/* 109B0C 802A04FC 314B0001 */ andi $t3, $t2, 1 -/* 109B10 802A0500 55600210 */ bnel $t3, $zero, .L802A0D44 -/* 109B14 802A0504 8FBF001C */ lw $ra, 0x1c($sp) -/* 109B18 802A0508 86030010 */ lh $v1, 0x10($s0) -/* 109B1C 802A050C 00E02025 */ move $a0, $a3 -/* 109B20 802A0510 02002825 */ move $a1, $s0 -/* 109B24 802A0514 55030006 */ bnel $t0, $v1, .L802A0530 -/* 109B28 802A0518 A7A30036 */ sh $v1, 0x36($sp) -/* 109B2C 802A051C 860C0002 */ lh $t4, 2($s0) -/* 109B30 802A0520 318D1000 */ andi $t5, $t4, 0x1000 -/* 109B34 802A0524 55A00207 */ bnel $t5, $zero, .L802A0D44 -/* 109B38 802A0528 8FBF001C */ lw $ra, 0x1c($sp) -/* 109B3C 802A052C A7A30036 */ sh $v1, 0x36($sp) -.L802A0530: -/* 109B40 802A0530 AFA70048 */ sw $a3, 0x48($sp) -/* 109B44 802A0534 0C0A7EE0 */ jal func_8029FB80 -/* 109B48 802A0538 A7A80042 */ sh $t0, 0x42($sp) -/* 109B4C 802A053C 24090001 */ li $t1, 1 -/* 109B50 802A0540 87A30036 */ lh $v1, 0x36($sp) -/* 109B54 802A0544 8FA70048 */ lw $a3, 0x48($sp) -/* 109B58 802A0548 144901FD */ bne $v0, $t1, .L802A0D40 -/* 109B5C 802A054C 87A80042 */ lh $t0, 0x42($sp) -/* 109B60 802A0550 0003C0C0 */ sll $t8, $v1, 3 -/* 109B64 802A0554 0303C023 */ subu $t8, $t8, $v1 -/* 109B68 802A0558 0018C100 */ sll $t8, $t8, 4 -/* 109B6C 802A055C 8CEE000C */ lw $t6, 0xc($a3) -/* 109B70 802A0560 0303C023 */ subu $t8, $t8, $v1 -/* 109B74 802A0564 0018C080 */ sll $t8, $t8, 2 -/* 109B78 802A0568 0303C023 */ subu $t8, $t8, $v1 -/* 109B7C 802A056C 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f -/* 109B80 802A0570 27396990 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6990 -/* 109B84 802A0574 0018C0C0 */ sll $t8, $t8, 3 -/* 109B88 802A0578 35CF0001 */ ori $t7, $t6, 1 -/* 109B8C 802A057C ACEF000C */ sw $t7, 0xc($a3) -/* 109B90 802A0580 03191021 */ addu $v0, $t8, $t9 -/* 109B94 802A0584 944A0000 */ lhu $t2, ($v0) -/* 109B98 802A0588 314B4000 */ andi $t3, $t2, 0x4000 -/* 109B9C 802A058C 11600027 */ beqz $t3, .L802A062C -/* 109BA0 802A0590 00000000 */ nop -/* 109BA4 802A0594 860C0002 */ lh $t4, 2($s0) -/* 109BA8 802A0598 318D000F */ andi $t5, $t4, 0xf -/* 109BAC 802A059C 51A0000C */ beql $t5, $zero, .L802A05D0 -/* 109BB0 802A05A0 C6040018 */ lwc1 $f4, 0x18($s0) -/* 109BB4 802A05A4 11030021 */ beq $t0, $v1, .L802A062C -/* 109BB8 802A05A8 306400FF */ andi $a0, $v1, 0xff -/* 109BBC 802A05AC 94450254 */ lhu $a1, 0x254($v0) -/* 109BC0 802A05B0 3C012900 */ lui $at, (0x29008006 >> 16) # lui $at, 0x2900 -/* 109BC4 802A05B4 34218006 */ ori $at, (0x29008006 & 0xFFFF) # ori $at, $at, 0x8006 -/* 109BC8 802A05B8 00057100 */ sll $t6, $a1, 4 -/* 109BCC 802A05BC 0C03243D */ jal func_800C90F4 -/* 109BD0 802A05C0 01C12821 */ addu $a1, $t6, $at -/* 109BD4 802A05C4 10000019 */ b .L802A062C -/* 109BD8 802A05C8 00000000 */ nop -/* 109BDC 802A05CC C6040018 */ lwc1 $f4, 0x18($s0) -.L802A05D0: -/* 109BE0 802A05D0 C4460014 */ lwc1 $f6, 0x14($v0) -/* 109BE4 802A05D4 C6080020 */ lwc1 $f8, 0x20($s0) -/* 109BE8 802A05D8 C44A001C */ lwc1 $f10, 0x1c($v0) -/* 109BEC 802A05DC 46062001 */ sub.s $f0, $f4, $f6 -/* 109BF0 802A05E0 3C01802C */ lui $at, %hi(D_802B99C4) # $at, 0x802c -/* 109BF4 802A05E4 C42699C4 */ lwc1 $f6, %lo(D_802B99C4)($at) -/* 109BF8 802A05E8 460A4081 */ sub.s $f2, $f8, $f10 -/* 109BFC 802A05EC 46000402 */ mul.s $f16, $f0, $f0 -/* 109C00 802A05F0 00000000 */ nop -/* 109C04 802A05F4 46021482 */ mul.s $f18, $f2, $f2 -/* 109C08 802A05F8 46128100 */ add.s $f4, $f16, $f18 -/* 109C0C 802A05FC 4606203C */ c.lt.s $f4, $f6 -/* 109C10 802A0600 00000000 */ nop -/* 109C14 802A0604 45000009 */ bc1f .L802A062C -/* 109C18 802A0608 00000000 */ nop -/* 109C1C 802A060C 11030007 */ beq $t0, $v1, .L802A062C -/* 109C20 802A0610 306400FF */ andi $a0, $v1, 0xff -/* 109C24 802A0614 94450254 */ lhu $a1, 0x254($v0) -/* 109C28 802A0618 3C012900 */ lui $at, (0x29008006 >> 16) # lui $at, 0x2900 -/* 109C2C 802A061C 34218006 */ ori $at, (0x29008006 & 0xFFFF) # ori $at, $at, 0x8006 -/* 109C30 802A0620 00057900 */ sll $t7, $a1, 4 -/* 109C34 802A0624 0C03243D */ jal func_800C90F4 -/* 109C38 802A0628 01E12821 */ addu $a1, $t7, $at -.L802A062C: -/* 109C3C 802A062C 0C0A7F72 */ jal func_8029FDC8 -/* 109C40 802A0630 02002025 */ move $a0, $s0 -/* 109C44 802A0634 100001C3 */ b .L802A0D44 -/* 109C48 802A0638 8FBF001C */ lw $ra, 0x1c($sp) -glabel L802A063C -/* 109C4C 802A063C 8CF800BC */ lw $t8, 0xbc($a3) -/* 109C50 802A0640 3C018000 */ lui $at, (0x80000400 >> 16) # lui $at, 0x8000 -/* 109C54 802A0644 34210400 */ ori $at, (0x80000400 & 0xFFFF) # ori $at, $at, 0x400 -/* 109C58 802A0648 0301C824 */ and $t9, $t8, $at -/* 109C5C 802A064C 572001BD */ bnel $t9, $zero, .L802A0D44 -/* 109C60 802A0650 8FBF001C */ lw $ra, 0x1c($sp) -/* 109C64 802A0654 8CEA000C */ lw $t2, 0xc($a3) -/* 109C68 802A0658 314B0004 */ andi $t3, $t2, 4 -/* 109C6C 802A065C 556001B9 */ bnel $t3, $zero, .L802A0D44 -/* 109C70 802A0660 8FBF001C */ lw $ra, 0x1c($sp) -/* 109C74 802A0664 86030014 */ lh $v1, 0x14($s0) -/* 109C78 802A0668 00E02025 */ move $a0, $a3 -/* 109C7C 802A066C 02002825 */ move $a1, $s0 -/* 109C80 802A0670 55030006 */ bnel $t0, $v1, .L802A068C -/* 109C84 802A0674 A7A30036 */ sh $v1, 0x36($sp) -/* 109C88 802A0678 860C0002 */ lh $t4, 2($s0) -/* 109C8C 802A067C 318D1000 */ andi $t5, $t4, 0x1000 -/* 109C90 802A0680 55A001B0 */ bnel $t5, $zero, .L802A0D44 -/* 109C94 802A0684 8FBF001C */ lw $ra, 0x1c($sp) -/* 109C98 802A0688 A7A30036 */ sh $v1, 0x36($sp) -.L802A068C: -/* 109C9C 802A068C AFA70048 */ sw $a3, 0x48($sp) -/* 109CA0 802A0690 0C0A7EE0 */ jal func_8029FB80 -/* 109CA4 802A0694 A7A80042 */ sh $t0, 0x42($sp) -/* 109CA8 802A0698 24090001 */ li $t1, 1 -/* 109CAC 802A069C 87A30036 */ lh $v1, 0x36($sp) -/* 109CB0 802A06A0 8FA70048 */ lw $a3, 0x48($sp) -/* 109CB4 802A06A4 144901A6 */ bne $v0, $t1, .L802A0D40 -/* 109CB8 802A06A8 87A80042 */ lh $t0, 0x42($sp) -/* 109CBC 802A06AC 8CEE000C */ lw $t6, 0xc($a3) -/* 109CC0 802A06B0 3C061901 */ lui $a2, (0x19018010 >> 16) # lui $a2, 0x1901 -/* 109CC4 802A06B4 34C68010 */ ori $a2, (0x19018010 & 0xFFFF) # ori $a2, $a2, 0x8010 -/* 109CC8 802A06B8 35CF0004 */ ori $t7, $t6, 4 -/* 109CCC 802A06BC ACEF000C */ sw $t7, 0xc($a3) -/* 109CD0 802A06C0 A7A80042 */ sh $t0, 0x42($sp) -/* 109CD4 802A06C4 A7A30036 */ sh $v1, 0x36($sp) -/* 109CD8 802A06C8 24E40014 */ addiu $a0, $a3, 0x14 -/* 109CDC 802A06CC 0C03262E */ jal func_800C98B8 -/* 109CE0 802A06D0 24E50034 */ addiu $a1, $a3, 0x34 -/* 109CE4 802A06D4 87A30036 */ lh $v1, 0x36($sp) -/* 109CE8 802A06D8 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f -/* 109CEC 802A06DC 27396990 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6990 -/* 109CF0 802A06E0 0003C0C0 */ sll $t8, $v1, 3 -/* 109CF4 802A06E4 0303C023 */ subu $t8, $t8, $v1 -/* 109CF8 802A06E8 0018C100 */ sll $t8, $t8, 4 -/* 109CFC 802A06EC 0303C023 */ subu $t8, $t8, $v1 -/* 109D00 802A06F0 0018C080 */ sll $t8, $t8, 2 -/* 109D04 802A06F4 0303C023 */ subu $t8, $t8, $v1 -/* 109D08 802A06F8 0018C0C0 */ sll $t8, $t8, 3 -/* 109D0C 802A06FC 03191021 */ addu $v0, $t8, $t9 -/* 109D10 802A0700 944A0000 */ lhu $t2, ($v0) -/* 109D14 802A0704 87A80042 */ lh $t0, 0x42($sp) -/* 109D18 802A0708 314B4000 */ andi $t3, $t2, 0x4000 -/* 109D1C 802A070C 11600009 */ beqz $t3, .L802A0734 -/* 109D20 802A0710 00000000 */ nop -/* 109D24 802A0714 11030007 */ beq $t0, $v1, .L802A0734 -/* 109D28 802A0718 306400FF */ andi $a0, $v1, 0xff -/* 109D2C 802A071C 94450254 */ lhu $a1, 0x254($v0) -/* 109D30 802A0720 3C012900 */ lui $at, (0x29008006 >> 16) # lui $at, 0x2900 -/* 109D34 802A0724 34218006 */ ori $at, (0x29008006 & 0xFFFF) # ori $at, $at, 0x8006 -/* 109D38 802A0728 00056100 */ sll $t4, $a1, 4 -/* 109D3C 802A072C 0C03243D */ jal func_800C90F4 -/* 109D40 802A0730 01812821 */ addu $a1, $t4, $at -.L802A0734: -/* 109D44 802A0734 0C0A7F72 */ jal func_8029FDC8 -/* 109D48 802A0738 02002025 */ move $a0, $s0 -/* 109D4C 802A073C 10000181 */ b .L802A0D44 -/* 109D50 802A0740 8FBF001C */ lw $ra, 0x1c($sp) -glabel L802A0744 -/* 109D54 802A0744 8CED000C */ lw $t5, 0xc($a3) -/* 109D58 802A0748 31AE0002 */ andi $t6, $t5, 2 -/* 109D5C 802A074C 55C0017D */ bnel $t6, $zero, .L802A0D44 -/* 109D60 802A0750 8FBF001C */ lw $ra, 0x1c($sp) -/* 109D64 802A0754 86030014 */ lh $v1, 0x14($s0) -/* 109D68 802A0758 00E02025 */ move $a0, $a3 -/* 109D6C 802A075C 02002825 */ move $a1, $s0 -/* 109D70 802A0760 55030006 */ bnel $t0, $v1, .L802A077C -/* 109D74 802A0764 A7A30036 */ sh $v1, 0x36($sp) -/* 109D78 802A0768 860F0002 */ lh $t7, 2($s0) -/* 109D7C 802A076C 31F81000 */ andi $t8, $t7, 0x1000 -/* 109D80 802A0770 57000174 */ bnel $t8, $zero, .L802A0D44 -/* 109D84 802A0774 8FBF001C */ lw $ra, 0x1c($sp) -/* 109D88 802A0778 A7A30036 */ sh $v1, 0x36($sp) -.L802A077C: -/* 109D8C 802A077C AFA70048 */ sw $a3, 0x48($sp) -/* 109D90 802A0780 0C0A7EE0 */ jal func_8029FB80 -/* 109D94 802A0784 A7A80042 */ sh $t0, 0x42($sp) -/* 109D98 802A0788 24090001 */ li $t1, 1 -/* 109D9C 802A078C 87A30036 */ lh $v1, 0x36($sp) -/* 109DA0 802A0790 8FA70048 */ lw $a3, 0x48($sp) -/* 109DA4 802A0794 1449016A */ bne $v0, $t1, .L802A0D40 -/* 109DA8 802A0798 87A80042 */ lh $t0, 0x42($sp) -/* 109DAC 802A079C 8CF900BC */ lw $t9, 0xbc($a3) -/* 109DB0 802A07A0 24E40014 */ addiu $a0, $a3, 0x14 -/* 109DB4 802A07A4 24E50034 */ addiu $a1, $a3, 0x34 -/* 109DB8 802A07A8 00195000 */ sll $t2, $t9, 0 -/* 109DBC 802A07AC 0542000C */ bltzl $t2, .L802A07E0 -/* 109DC0 802A07B0 000368C0 */ sll $t5, $v1, 3 -/* 109DC4 802A07B4 8CEB000C */ lw $t3, 0xc($a3) -/* 109DC8 802A07B8 3C061901 */ lui $a2, (0x19018010 >> 16) # lui $a2, 0x1901 -/* 109DCC 802A07BC 34C68010 */ ori $a2, (0x19018010 & 0xFFFF) # ori $a2, $a2, 0x8010 -/* 109DD0 802A07C0 356C0002 */ ori $t4, $t3, 2 -/* 109DD4 802A07C4 ACEC000C */ sw $t4, 0xc($a3) -/* 109DD8 802A07C8 A7A80042 */ sh $t0, 0x42($sp) -/* 109DDC 802A07CC 0C03262E */ jal func_800C98B8 -/* 109DE0 802A07D0 A7A30036 */ sh $v1, 0x36($sp) -/* 109DE4 802A07D4 87A30036 */ lh $v1, 0x36($sp) -/* 109DE8 802A07D8 87A80042 */ lh $t0, 0x42($sp) -/* 109DEC 802A07DC 000368C0 */ sll $t5, $v1, 3 -.L802A07E0: -/* 109DF0 802A07E0 01A36823 */ subu $t5, $t5, $v1 -/* 109DF4 802A07E4 000D6900 */ sll $t5, $t5, 4 -/* 109DF8 802A07E8 01A36823 */ subu $t5, $t5, $v1 -/* 109DFC 802A07EC 000D6880 */ sll $t5, $t5, 2 -/* 109E00 802A07F0 01A36823 */ subu $t5, $t5, $v1 -/* 109E04 802A07F4 3C0E800F */ lui $t6, %hi(gPlayers) # $t6, 0x800f -/* 109E08 802A07F8 25CE6990 */ addiu $t6, %lo(gPlayers) # addiu $t6, $t6, 0x6990 -/* 109E0C 802A07FC 000D68C0 */ sll $t5, $t5, 3 -/* 109E10 802A0800 01AE1021 */ addu $v0, $t5, $t6 -/* 109E14 802A0804 944F0000 */ lhu $t7, ($v0) -/* 109E18 802A0808 31F84000 */ andi $t8, $t7, 0x4000 -/* 109E1C 802A080C 5300000C */ beql $t8, $zero, .L802A0840 -/* 109E20 802A0810 860A0004 */ lh $t2, 4($s0) -/* 109E24 802A0814 11030009 */ beq $t0, $v1, .L802A083C -/* 109E28 802A0818 306400FF */ andi $a0, $v1, 0xff -/* 109E2C 802A081C 94450254 */ lhu $a1, 0x254($v0) -/* 109E30 802A0820 3C012900 */ lui $at, (0x29008006 >> 16) # lui $at, 0x2900 -/* 109E34 802A0824 34218006 */ ori $at, (0x29008006 & 0xFFFF) # ori $at, $at, 0x8006 -/* 109E38 802A0828 0005C900 */ sll $t9, $a1, 4 -/* 109E3C 802A082C 03212821 */ addu $a1, $t9, $at -/* 109E40 802A0830 0C03243D */ jal func_800C90F4 -/* 109E44 802A0834 A7A80042 */ sh $t0, 0x42($sp) -/* 109E48 802A0838 87A80042 */ lh $t0, 0x42($sp) -.L802A083C: -/* 109E4C 802A083C 860A0004 */ lh $t2, 4($s0) -.L802A0840: -/* 109E50 802A0840 550A0140 */ bnel $t0, $t2, .L802A0D44 -/* 109E54 802A0844 8FBF001C */ lw $ra, 0x1c($sp) -/* 109E58 802A0848 0C0A7F72 */ jal func_8029FDC8 -/* 109E5C 802A084C 02002025 */ move $a0, $s0 -/* 109E60 802A0850 1000013C */ b .L802A0D44 -/* 109E64 802A0854 8FBF001C */ lw $ra, 0x1c($sp) -glabel L802A0858 -/* 109E68 802A0858 8CEB00BC */ lw $t3, 0xbc($a3) -/* 109E6C 802A085C 000B61C0 */ sll $t4, $t3, 7 -/* 109E70 802A0860 05820138 */ bltzl $t4, .L802A0D44 -/* 109E74 802A0864 8FBF001C */ lw $ra, 0x1c($sp) -/* 109E78 802A0868 8CED000C */ lw $t5, 0xc($a3) -/* 109E7C 802A086C 31AE0002 */ andi $t6, $t5, 2 -/* 109E80 802A0870 55C00134 */ bnel $t6, $zero, .L802A0D44 -/* 109E84 802A0874 8FBF001C */ lw $ra, 0x1c($sp) -/* 109E88 802A0878 86030014 */ lh $v1, 0x14($s0) -/* 109E8C 802A087C 00E02025 */ move $a0, $a3 -/* 109E90 802A0880 02002825 */ move $a1, $s0 -/* 109E94 802A0884 55030006 */ bnel $t0, $v1, .L802A08A0 -/* 109E98 802A0888 A7A30036 */ sh $v1, 0x36($sp) -/* 109E9C 802A088C 860F0002 */ lh $t7, 2($s0) -/* 109EA0 802A0890 31F81000 */ andi $t8, $t7, 0x1000 -/* 109EA4 802A0894 5700012B */ bnel $t8, $zero, .L802A0D44 -/* 109EA8 802A0898 8FBF001C */ lw $ra, 0x1c($sp) -/* 109EAC 802A089C A7A30036 */ sh $v1, 0x36($sp) -.L802A08A0: -/* 109EB0 802A08A0 AFA70048 */ sw $a3, 0x48($sp) -/* 109EB4 802A08A4 0C0A7EE0 */ jal func_8029FB80 -/* 109EB8 802A08A8 A7A80042 */ sh $t0, 0x42($sp) -/* 109EBC 802A08AC 24090001 */ li $t1, 1 -/* 109EC0 802A08B0 87A30036 */ lh $v1, 0x36($sp) -/* 109EC4 802A08B4 8FA70048 */ lw $a3, 0x48($sp) -/* 109EC8 802A08B8 14490121 */ bne $v0, $t1, .L802A0D40 -/* 109ECC 802A08BC 87A80042 */ lh $t0, 0x42($sp) -/* 109ED0 802A08C0 8CF900BC */ lw $t9, 0xbc($a3) -/* 109ED4 802A08C4 24E40014 */ addiu $a0, $a3, 0x14 -/* 109ED8 802A08C8 24E50034 */ addiu $a1, $a3, 0x34 -/* 109EDC 802A08CC 00195000 */ sll $t2, $t9, 0 -/* 109EE0 802A08D0 0542000C */ bltzl $t2, .L802A0904 -/* 109EE4 802A08D4 000368C0 */ sll $t5, $v1, 3 -/* 109EE8 802A08D8 8CEB000C */ lw $t3, 0xc($a3) -/* 109EEC 802A08DC 3C061901 */ lui $a2, (0x19018010 >> 16) # lui $a2, 0x1901 -/* 109EF0 802A08E0 34C68010 */ ori $a2, (0x19018010 & 0xFFFF) # ori $a2, $a2, 0x8010 -/* 109EF4 802A08E4 356C0002 */ ori $t4, $t3, 2 -/* 109EF8 802A08E8 ACEC000C */ sw $t4, 0xc($a3) -/* 109EFC 802A08EC A7A80042 */ sh $t0, 0x42($sp) -/* 109F00 802A08F0 0C03262E */ jal func_800C98B8 -/* 109F04 802A08F4 A7A30036 */ sh $v1, 0x36($sp) -/* 109F08 802A08F8 87A30036 */ lh $v1, 0x36($sp) -/* 109F0C 802A08FC 87A80042 */ lh $t0, 0x42($sp) -/* 109F10 802A0900 000368C0 */ sll $t5, $v1, 3 -.L802A0904: -/* 109F14 802A0904 01A36823 */ subu $t5, $t5, $v1 -/* 109F18 802A0908 000D6900 */ sll $t5, $t5, 4 -/* 109F1C 802A090C 01A36823 */ subu $t5, $t5, $v1 -/* 109F20 802A0910 000D6880 */ sll $t5, $t5, 2 -/* 109F24 802A0914 01A36823 */ subu $t5, $t5, $v1 -/* 109F28 802A0918 3C0E800F */ lui $t6, %hi(gPlayers) # $t6, 0x800f -/* 109F2C 802A091C 25CE6990 */ addiu $t6, %lo(gPlayers) # addiu $t6, $t6, 0x6990 -/* 109F30 802A0920 000D68C0 */ sll $t5, $t5, 3 -/* 109F34 802A0924 01AE1021 */ addu $v0, $t5, $t6 -/* 109F38 802A0928 944F0000 */ lhu $t7, ($v0) -/* 109F3C 802A092C 31F84000 */ andi $t8, $t7, 0x4000 -/* 109F40 802A0930 13000009 */ beqz $t8, .L802A0958 -/* 109F44 802A0934 00000000 */ nop -/* 109F48 802A0938 11030007 */ beq $t0, $v1, .L802A0958 -/* 109F4C 802A093C 306400FF */ andi $a0, $v1, 0xff -/* 109F50 802A0940 94450254 */ lhu $a1, 0x254($v0) -/* 109F54 802A0944 3C012900 */ lui $at, (0x29008006 >> 16) # lui $at, 0x2900 -/* 109F58 802A0948 34218006 */ ori $at, (0x29008006 & 0xFFFF) # ori $at, $at, 0x8006 -/* 109F5C 802A094C 0005C900 */ sll $t9, $a1, 4 -/* 109F60 802A0950 0C03243D */ jal func_800C90F4 -/* 109F64 802A0954 03212821 */ addu $a1, $t9, $at -.L802A0958: -/* 109F68 802A0958 0C0A7F72 */ jal func_8029FDC8 -/* 109F6C 802A095C 02002025 */ move $a0, $s0 -/* 109F70 802A0960 100000F8 */ b .L802A0D44 -/* 109F74 802A0964 8FBF001C */ lw $ra, 0x1c($sp) -glabel L802A0968 -/* 109F78 802A0968 8CEA00BC */ lw $t2, 0xbc($a3) -/* 109F7C 802A096C 00E02025 */ move $a0, $a3 -/* 109F80 802A0970 000A5800 */ sll $t3, $t2, 0 -/* 109F84 802A0974 056200F3 */ bltzl $t3, .L802A0D44 -/* 109F88 802A0978 8FBF001C */ lw $ra, 0x1c($sp) -/* 109F8C 802A097C 0C0A7CBF */ jal func_8029F2FC -/* 109F90 802A0980 02002825 */ move $a1, $s0 -/* 109F94 802A0984 100000EF */ b .L802A0D44 -/* 109F98 802A0988 8FBF001C */ lw $ra, 0x1c($sp) -glabel L802A098C -/* 109F9C 802A098C 8CEC00BC */ lw $t4, 0xbc($a3) -/* 109FA0 802A0990 00E02025 */ move $a0, $a3 -/* 109FA4 802A0994 000C6800 */ sll $t5, $t4, 0 -/* 109FA8 802A0998 05A200EA */ bltzl $t5, .L802A0D44 -/* 109FAC 802A099C 8FBF001C */ lw $ra, 0x1c($sp) -/* 109FB0 802A09A0 0C0A7C7E */ jal func_8029F1F8 -/* 109FB4 802A09A4 02002825 */ move $a1, $s0 -/* 109FB8 802A09A8 100000E6 */ b .L802A0D44 -/* 109FBC 802A09AC 8FBF001C */ lw $ra, 0x1c($sp) -glabel L802A09B0 -/* 109FC0 802A09B0 8CEE00BC */ lw $t6, 0xbc($a3) -/* 109FC4 802A09B4 00E02025 */ move $a0, $a3 -/* 109FC8 802A09B8 000E7800 */ sll $t7, $t6, 0 -/* 109FCC 802A09BC 05E200E1 */ bltzl $t7, .L802A0D44 -/* 109FD0 802A09C0 8FBF001C */ lw $ra, 0x1c($sp) -/* 109FD4 802A09C4 0C0A7DA7 */ jal func_8029F69C -/* 109FD8 802A09C8 02002825 */ move $a1, $s0 -/* 109FDC 802A09CC 100000DD */ b .L802A0D44 -/* 109FE0 802A09D0 8FBF001C */ lw $ra, 0x1c($sp) -glabel L802A09D4 -/* 109FE4 802A09D4 8CF800BC */ lw $t8, 0xbc($a3) -/* 109FE8 802A09D8 0018C800 */ sll $t9, $t8, 0 -/* 109FEC 802A09DC 072200D9 */ bltzl $t9, .L802A0D44 -/* 109FF0 802A09E0 8FBF001C */ lw $ra, 0x1c($sp) -/* 109FF4 802A09E4 94EA0000 */ lhu $t2, ($a3) -/* 109FF8 802A09E8 00E02025 */ move $a0, $a3 -/* 109FFC 802A09EC 02002825 */ move $a1, $s0 -/* 10A000 802A09F0 314B0100 */ andi $t3, $t2, 0x100 -/* 10A004 802A09F4 556000D3 */ bnel $t3, $zero, .L802A0D44 -/* 10A008 802A09F8 8FBF001C */ lw $ra, 0x1c($sp) -/* 10A00C 802A09FC 0C0A7EE0 */ jal func_8029FB80 -/* 10A010 802A0A00 AFA70048 */ sw $a3, 0x48($sp) -/* 10A014 802A0A04 24090001 */ li $t1, 1 -/* 10A018 802A0A08 144900CD */ bne $v0, $t1, .L802A0D40 -/* 10A01C 802A0A0C 8FA70048 */ lw $a3, 0x48($sp) -/* 10A020 802A0A10 3C061900 */ lui $a2, (0x19009005 >> 16) # lui $a2, 0x1900 -/* 10A024 802A0A14 34C69005 */ ori $a2, (0x19009005 & 0xFFFF) # ori $a2, $a2, 0x9005 -/* 10A028 802A0A18 26040018 */ addiu $a0, $s0, 0x18 -/* 10A02C 802A0A1C 26050024 */ addiu $a1, $s0, 0x24 -/* 10A030 802A0A20 0C03262E */ jal func_800C98B8 -/* 10A034 802A0A24 AFA70048 */ sw $a3, 0x48($sp) -/* 10A038 802A0A28 3C0C800E */ lui $t4, %hi(gModeSelection) # $t4, 0x800e -/* 10A03C 802A0A2C 8D8CC53C */ lw $t4, %lo(gModeSelection)($t4) -/* 10A040 802A0A30 24090001 */ li $t1, 1 -/* 10A044 802A0A34 8FA70048 */ lw $a3, 0x48($sp) -/* 10A048 802A0A38 152C0007 */ bne $t1, $t4, .L802A0A58 -/* 10A04C 802A0A3C 3C19800E */ lui $t9, %hi(gPlayerOne) # $t9, 0x800e -/* 10A050 802A0A40 94ED0000 */ lhu $t5, ($a3) -/* 10A054 802A0A44 3C018016 */ lui $at, %hi(D_80162DF8) # $at, 0x8016 -/* 10A058 802A0A48 31AE1000 */ andi $t6, $t5, 0x1000 -/* 10A05C 802A0A4C 55C00003 */ bnel $t6, $zero, .L802A0A5C -/* 10A060 802A0A50 8CEF00BC */ lw $t7, 0xbc($a3) -/* 10A064 802A0A54 AC292DF8 */ sw $t1, %lo(D_80162DF8)($at) -.L802A0A58: -/* 10A068 802A0A58 8CEF00BC */ lw $t7, 0xbc($a3) -.L802A0A5C: -/* 10A06C 802A0A5C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 10A070 802A0A60 31F80200 */ andi $t8, $t7, 0x200 -/* 10A074 802A0A64 13000004 */ beqz $t8, .L802A0A78 -/* 10A078 802A0A68 00000000 */ nop -/* 10A07C 802A0A6C 44814000 */ mtc1 $at, $f8 -/* 10A080 802A0A70 100000B3 */ b .L802A0D40 -/* 10A084 802A0A74 E6080028 */ swc1 $f8, 0x28($s0) -.L802A0A78: -/* 10A088 802A0A78 8F39C4DC */ lw $t9, %lo(gPlayerOne)($t9) -/* 10A08C 802A0A7C 24010DD8 */ li $at, 3544 -/* 10A090 802A0A80 00E02025 */ move $a0, $a3 -/* 10A094 802A0A84 00F92823 */ subu $a1, $a3, $t9 -/* 10A098 802A0A88 00A1001A */ div $zero, $a1, $at -/* 10A09C 802A0A8C 00005012 */ mflo $t2 -/* 10A0A0 802A0A90 000A5E00 */ sll $t3, $t2, 0x18 -/* 10A0A4 802A0A94 0C0236AF */ jal func_8008DABC -/* 10A0A8 802A0A98 000B2E03 */ sra $a1, $t3, 0x18 -/* 10A0AC 802A0A9C 100000A9 */ b .L802A0D44 -/* 10A0B0 802A0AA0 8FBF001C */ lw $ra, 0x1c($sp) -glabel L802A0AA4 -/* 10A0B4 802A0AA4 8CED00BC */ lw $t5, 0xbc($a3) -/* 10A0B8 802A0AA8 000D7000 */ sll $t6, $t5, 0 -/* 10A0BC 802A0AAC 05C200A5 */ bltzl $t6, .L802A0D44 -/* 10A0C0 802A0AB0 8FBF001C */ lw $ra, 0x1c($sp) -/* 10A0C4 802A0AB4 C60A0024 */ lwc1 $f10, 0x24($s0) -/* 10A0C8 802A0AB8 00E02025 */ move $a0, $a3 -/* 10A0CC 802A0ABC 02002825 */ move $a1, $s0 -/* 10A0D0 802A0AC0 4600540D */ trunc.w.s $f16, $f10 -/* 10A0D4 802A0AC4 44038000 */ mfc1 $v1, $f16 -/* 10A0D8 802A0AC8 00000000 */ nop -/* 10A0DC 802A0ACC 0003C400 */ sll $t8, $v1, 0x10 -/* 10A0E0 802A0AD0 00181C03 */ sra $v1, $t8, 0x10 -/* 10A0E4 802A0AD4 55030006 */ bnel $t0, $v1, .L802A0AF0 -/* 10A0E8 802A0AD8 A7A30036 */ sh $v1, 0x36($sp) -/* 10A0EC 802A0ADC 860A0002 */ lh $t2, 2($s0) -/* 10A0F0 802A0AE0 314B1000 */ andi $t3, $t2, 0x1000 -/* 10A0F4 802A0AE4 55600097 */ bnel $t3, $zero, .L802A0D44 -/* 10A0F8 802A0AE8 8FBF001C */ lw $ra, 0x1c($sp) -/* 10A0FC 802A0AEC A7A30036 */ sh $v1, 0x36($sp) -.L802A0AF0: -/* 10A100 802A0AF0 AFA70048 */ sw $a3, 0x48($sp) -/* 10A104 802A0AF4 0C0A7EE0 */ jal func_8029FB80 -/* 10A108 802A0AF8 A7A80042 */ sh $t0, 0x42($sp) -/* 10A10C 802A0AFC 24090001 */ li $t1, 1 -/* 10A110 802A0B00 87A30036 */ lh $v1, 0x36($sp) -/* 10A114 802A0B04 8FA70048 */ lw $a3, 0x48($sp) -/* 10A118 802A0B08 1449008D */ bne $v0, $t1, .L802A0D40 -/* 10A11C 802A0B0C 87A80042 */ lh $t0, 0x42($sp) -/* 10A120 802A0B10 000370C0 */ sll $t6, $v1, 3 -/* 10A124 802A0B14 01C37023 */ subu $t6, $t6, $v1 -/* 10A128 802A0B18 000E7100 */ sll $t6, $t6, 4 -/* 10A12C 802A0B1C 8CEC000C */ lw $t4, 0xc($a3) -/* 10A130 802A0B20 01C37023 */ subu $t6, $t6, $v1 -/* 10A134 802A0B24 000E7080 */ sll $t6, $t6, 2 -/* 10A138 802A0B28 3C010040 */ lui $at, 0x40 -/* 10A13C 802A0B2C 01C37023 */ subu $t6, $t6, $v1 -/* 10A140 802A0B30 3C0F800F */ lui $t7, %hi(gPlayers) # $t7, 0x800f -/* 10A144 802A0B34 25EF6990 */ addiu $t7, %lo(gPlayers) # addiu $t7, $t7, 0x6990 -/* 10A148 802A0B38 000E70C0 */ sll $t6, $t6, 3 -/* 10A14C 802A0B3C 01816825 */ or $t5, $t4, $at -/* 10A150 802A0B40 ACED000C */ sw $t5, 0xc($a3) -/* 10A154 802A0B44 01CF1021 */ addu $v0, $t6, $t7 -/* 10A158 802A0B48 94580000 */ lhu $t8, ($v0) -/* 10A15C 802A0B4C 33194000 */ andi $t9, $t8, 0x4000 -/* 10A160 802A0B50 53200033 */ beql $t9, $zero, .L802A0C20 -/* 10A164 802A0B54 24190002 */ li $t9, 2 -/* 10A168 802A0B58 860A0002 */ lh $t2, 2($s0) -/* 10A16C 802A0B5C 314B000F */ andi $t3, $t2, 0xf -/* 10A170 802A0B60 5160000D */ beql $t3, $zero, .L802A0B98 -/* 10A174 802A0B64 C6120018 */ lwc1 $f18, 0x18($s0) -/* 10A178 802A0B68 11030024 */ beq $t0, $v1, .L802A0BFC -/* 10A17C 802A0B6C 306400FF */ andi $a0, $v1, 0xff -/* 10A180 802A0B70 94450254 */ lhu $a1, 0x254($v0) -/* 10A184 802A0B74 3C012900 */ lui $at, (0x29008006 >> 16) # lui $at, 0x2900 -/* 10A188 802A0B78 34218006 */ ori $at, (0x29008006 & 0xFFFF) # ori $at, $at, 0x8006 -/* 10A18C 802A0B7C 00056100 */ sll $t4, $a1, 4 -/* 10A190 802A0B80 01812821 */ addu $a1, $t4, $at -/* 10A194 802A0B84 0C03243D */ jal func_800C90F4 -/* 10A198 802A0B88 AFA20024 */ sw $v0, 0x24($sp) -/* 10A19C 802A0B8C 1000001B */ b .L802A0BFC -/* 10A1A0 802A0B90 8FA20024 */ lw $v0, 0x24($sp) -/* 10A1A4 802A0B94 C6120018 */ lwc1 $f18, 0x18($s0) -.L802A0B98: -/* 10A1A8 802A0B98 C4440014 */ lwc1 $f4, 0x14($v0) -/* 10A1AC 802A0B9C C6060020 */ lwc1 $f6, 0x20($s0) -/* 10A1B0 802A0BA0 C448001C */ lwc1 $f8, 0x1c($v0) -/* 10A1B4 802A0BA4 46049001 */ sub.s $f0, $f18, $f4 -/* 10A1B8 802A0BA8 3C01802C */ lui $at, %hi(D_802B99C8) # $at, 0x802c -/* 10A1BC 802A0BAC C42499C8 */ lwc1 $f4, %lo(D_802B99C8)($at) -/* 10A1C0 802A0BB0 46083081 */ sub.s $f2, $f6, $f8 -/* 10A1C4 802A0BB4 46000282 */ mul.s $f10, $f0, $f0 -/* 10A1C8 802A0BB8 00000000 */ nop -/* 10A1CC 802A0BBC 46021402 */ mul.s $f16, $f2, $f2 -/* 10A1D0 802A0BC0 46105480 */ add.s $f18, $f10, $f16 -/* 10A1D4 802A0BC4 4604903C */ c.lt.s $f18, $f4 -/* 10A1D8 802A0BC8 00000000 */ nop -/* 10A1DC 802A0BCC 4500000B */ bc1f .L802A0BFC -/* 10A1E0 802A0BD0 00000000 */ nop -/* 10A1E4 802A0BD4 11030009 */ beq $t0, $v1, .L802A0BFC -/* 10A1E8 802A0BD8 306400FF */ andi $a0, $v1, 0xff -/* 10A1EC 802A0BDC 94450254 */ lhu $a1, 0x254($v0) -/* 10A1F0 802A0BE0 3C012900 */ lui $at, (0x29008006 >> 16) # lui $at, 0x2900 -/* 10A1F4 802A0BE4 34218006 */ ori $at, (0x29008006 & 0xFFFF) # ori $at, $at, 0x8006 -/* 10A1F8 802A0BE8 00056900 */ sll $t5, $a1, 4 -/* 10A1FC 802A0BEC 01A12821 */ addu $a1, $t5, $at -/* 10A200 802A0BF0 0C03243D */ jal func_800C90F4 -/* 10A204 802A0BF4 AFA20024 */ sw $v0, 0x24($sp) -/* 10A208 802A0BF8 8FA20024 */ lw $v0, 0x24($sp) -.L802A0BFC: -/* 10A20C 802A0BFC 860E0006 */ lh $t6, 6($s0) -/* 10A210 802A0C00 55C00007 */ bnel $t6, $zero, .L802A0C20 -/* 10A214 802A0C04 24190002 */ li $t9, 2 -/* 10A218 802A0C08 8C4F000C */ lw $t7, 0xc($v0) -/* 10A21C 802A0C0C 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb -/* 10A220 802A0C10 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 10A224 802A0C14 01E1C024 */ and $t8, $t7, $at -/* 10A228 802A0C18 AC58000C */ sw $t8, 0xc($v0) -/* 10A22C 802A0C1C 24190002 */ li $t9, 2 -.L802A0C20: -/* 10A230 802A0C20 240A8000 */ li $t2, -32768 -/* 10A234 802A0C24 A6190006 */ sh $t9, 6($s0) -/* 10A238 802A0C28 A60A0002 */ sh $t2, 2($s0) -/* 10A23C 802A0C2C 10000044 */ b .L802A0D40 -/* 10A240 802A0C30 A6000004 */ sh $zero, 4($s0) -glabel L802A0C34 -/* 10A244 802A0C34 00E02025 */ move $a0, $a3 -/* 10A248 802A0C38 02002825 */ move $a1, $s0 -/* 10A24C 802A0C3C 0C0A7EE0 */ jal func_8029FB80 -/* 10A250 802A0C40 AFA70048 */ sw $a3, 0x48($sp) -/* 10A254 802A0C44 24090001 */ li $t1, 1 -/* 10A258 802A0C48 14490015 */ bne $v0, $t1, .L802A0CA0 -/* 10A25C 802A0C4C 8FA70048 */ lw $a3, 0x48($sp) -/* 10A260 802A0C50 240B0003 */ li $t3, 3 -/* 10A264 802A0C54 240C8000 */ li $t4, -32768 -/* 10A268 802A0C58 A60B0006 */ sh $t3, 6($s0) -/* 10A26C 802A0C5C A60C0002 */ sh $t4, 2($s0) -/* 10A270 802A0C60 A6000004 */ sh $zero, 4($s0) -/* 10A274 802A0C64 94ED0000 */ lhu $t5, ($a3) -/* 10A278 802A0C68 3C0F800E */ lui $t7, %hi(gPlayerOne) # $t7, 0x800e -/* 10A27C 802A0C6C 31AE4000 */ andi $t6, $t5, 0x4000 -/* 10A280 802A0C70 51C00034 */ beql $t6, $zero, .L802A0D44 -/* 10A284 802A0C74 8FBF001C */ lw $ra, 0x1c($sp) -/* 10A288 802A0C78 8DEFC4DC */ lw $t7, %lo(gPlayerOne)($t7) -/* 10A28C 802A0C7C 24010DD8 */ li $at, 3544 -/* 10A290 802A0C80 24050007 */ li $a1, 7 -/* 10A294 802A0C84 00EF2023 */ subu $a0, $a3, $t7 -/* 10A298 802A0C88 0081001A */ div $zero, $a0, $at -/* 10A29C 802A0C8C 00002012 */ mflo $a0 -/* 10A2A0 802A0C90 0C01EAFF */ jal func_8007ABFC -/* 10A2A4 802A0C94 00000000 */ nop -/* 10A2A8 802A0C98 1000002A */ b .L802A0D44 -/* 10A2AC 802A0C9C 8FBF001C */ lw $ra, 0x1c($sp) -.L802A0CA0: -/* 10A2B0 802A0CA0 86190006 */ lh $t9, 6($s0) -/* 10A2B4 802A0CA4 240A8000 */ li $t2, -32768 -/* 10A2B8 802A0CA8 57200026 */ bnel $t9, $zero, .L802A0D44 -/* 10A2BC 802A0CAC 8FBF001C */ lw $ra, 0x1c($sp) -/* 10A2C0 802A0CB0 A6090006 */ sh $t1, 6($s0) -/* 10A2C4 802A0CB4 10000022 */ b .L802A0D40 -/* 10A2C8 802A0CB8 A60A0002 */ sh $t2, 2($s0) -glabel L802A0CBC -/* 10A2CC 802A0CBC 00E02025 */ move $a0, $a3 -/* 10A2D0 802A0CC0 02002825 */ move $a1, $s0 -/* 10A2D4 802A0CC4 0C0A7EE0 */ jal func_8029FB80 -/* 10A2D8 802A0CC8 AFA70048 */ sw $a3, 0x48($sp) -/* 10A2DC 802A0CCC 24090001 */ li $t1, 1 -/* 10A2E0 802A0CD0 14490015 */ bne $v0, $t1, .L802A0D28 -/* 10A2E4 802A0CD4 8FA70048 */ lw $a3, 0x48($sp) -/* 10A2E8 802A0CD8 240B0003 */ li $t3, 3 -/* 10A2EC 802A0CDC 240C8000 */ li $t4, -32768 -/* 10A2F0 802A0CE0 A60B0006 */ sh $t3, 6($s0) -/* 10A2F4 802A0CE4 A60C0002 */ sh $t4, 2($s0) -/* 10A2F8 802A0CE8 A6000004 */ sh $zero, 4($s0) -/* 10A2FC 802A0CEC 94ED0000 */ lhu $t5, ($a3) -/* 10A300 802A0CF0 3C0F800E */ lui $t7, %hi(gPlayerOne) # $t7, 0x800e -/* 10A304 802A0CF4 31AE4000 */ andi $t6, $t5, 0x4000 -/* 10A308 802A0CF8 51C00012 */ beql $t6, $zero, .L802A0D44 -/* 10A30C 802A0CFC 8FBF001C */ lw $ra, 0x1c($sp) -/* 10A310 802A0D00 8DEFC4DC */ lw $t7, %lo(gPlayerOne)($t7) -/* 10A314 802A0D04 24010DD8 */ li $at, 3544 -/* 10A318 802A0D08 00002825 */ move $a1, $zero -/* 10A31C 802A0D0C 00EF2023 */ subu $a0, $a3, $t7 -/* 10A320 802A0D10 0081001A */ div $zero, $a0, $at -/* 10A324 802A0D14 00002012 */ mflo $a0 -/* 10A328 802A0D18 0C01EAFF */ jal func_8007ABFC -/* 10A32C 802A0D1C 00000000 */ nop -/* 10A330 802A0D20 10000008 */ b .L802A0D44 -/* 10A334 802A0D24 8FBF001C */ lw $ra, 0x1c($sp) -.L802A0D28: -/* 10A338 802A0D28 86190006 */ lh $t9, 6($s0) -/* 10A33C 802A0D2C 240A8000 */ li $t2, -32768 -/* 10A340 802A0D30 57200004 */ bnel $t9, $zero, .L802A0D44 -/* 10A344 802A0D34 8FBF001C */ lw $ra, 0x1c($sp) -/* 10A348 802A0D38 A6090006 */ sh $t1, 6($s0) -/* 10A34C 802A0D3C A60A0002 */ sh $t2, 2($s0) -.L802A0D40: -glabel L802A0D40 -/* 10A350 802A0D40 8FBF001C */ lw $ra, 0x1c($sp) -.L802A0D44: -/* 10A354 802A0D44 8FB00018 */ lw $s0, 0x18($sp) -/* 10A358 802A0D48 27BD0048 */ addiu $sp, $sp, 0x48 -/* 10A35C 802A0D4C 03E00008 */ jr $ra -/* 10A360 802A0D50 00000000 */ nop diff --git a/asm/non_matchings/actors/func_802A171C.s b/asm/non_matchings/actors/func_802A171C.s deleted file mode 100644 index 83dd0ed2e..000000000 --- a/asm/non_matchings/actors/func_802A171C.s +++ /dev/null @@ -1,500 +0,0 @@ -glabel func_802A171C -/* 10AD2C 802A171C 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e -/* 10AD30 802A1720 8DCEDB40 */ lw $t6, %lo(camera1)($t6) -/* 10AD34 802A1724 27BDFE78 */ addiu $sp, $sp, -0x188 -/* 10AD38 802A1728 AFB00020 */ sw $s0, 0x20($sp) -/* 10AD3C 802A172C 00808025 */ move $s0, $a0 -/* 10AD40 802A1730 240100B8 */ li $at, 184 -/* 10AD44 802A1734 020E7823 */ subu $t7, $s0, $t6 -/* 10AD48 802A1738 01E1001A */ div $zero, $t7, $at -/* 10AD4C 802A173C 0000C012 */ mflo $t8 -/* 10AD50 802A1740 0018C880 */ sll $t9, $t8, 2 -/* 10AD54 802A1744 3C018015 */ lui $at, %hi(D_80150130) -/* 10AD58 802A1748 00390821 */ addu $at, $at, $t9 -/* 10AD5C 802A174C C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 10AD60 802A1750 AFBF0024 */ sw $ra, 0x24($sp) -/* 10AD64 802A1754 AFA5018C */ sw $a1, 0x18c($sp) -/* 10AD68 802A1758 3C01802C */ lui $at, %hi(D_802B99E0) # $at, 0x802c -/* 10AD6C 802A175C C42699E0 */ lwc1 $f6, %lo(D_802B99E0)($at) -/* 10AD70 802A1760 96060026 */ lhu $a2, 0x26($s0) -/* 10AD74 802A1764 24A50018 */ addiu $a1, $a1, 0x18 -/* 10AD78 802A1768 3C07451C */ lui $a3, (0x451C4000 >> 16) # lui $a3, 0x451c -/* 10AD7C 802A176C 34E74000 */ ori $a3, (0x451C4000 & 0xFFFF) # ori $a3, $a3, 0x4000 -/* 10AD80 802A1770 AFA50038 */ sw $a1, 0x38($sp) -/* 10AD84 802A1774 E7A40010 */ swc1 $f4, 0x10($sp) -/* 10AD88 802A1778 0C0AE034 */ jal func_802B80D0 -/* 10AD8C 802A177C E7A60014 */ swc1 $f6, 0x14($sp) -/* 10AD90 802A1780 44804000 */ mtc1 $zero, $f8 -/* 10AD94 802A1784 02002025 */ move $a0, $s0 -/* 10AD98 802A1788 3C0B8016 */ lui $t3, %hi(D_8015F6EC) # $t3, 0x8016 -/* 10AD9C 802A178C 4608003C */ c.lt.s $f0, $f8 -/* 10ADA0 802A1790 00000000 */ nop -/* 10ADA4 802A1794 45000005 */ bc1f .L802A17AC -/* 10ADA8 802A1798 00000000 */ nop -/* 10ADAC 802A179C 0C0A5C8C */ jal func_80297230 -/* 10ADB0 802A17A0 8FA5018C */ lw $a1, 0x18c($sp) -/* 10ADB4 802A17A4 100001BA */ b .L802A1E90 -/* 10ADB8 802A17A8 8FBF0024 */ lw $ra, 0x24($sp) -.L802A17AC: -/* 10ADBC 802A17AC 856BF6EC */ lh $t3, %lo(D_8015F6EC)($t3) -/* 10ADC0 802A17B0 3C014448 */ li $at, 0x44480000 # 800.000000 -/* 10ADC4 802A17B4 44811000 */ mtc1 $at, $f2 -/* 10ADC8 802A17B8 448B5000 */ mtc1 $t3, $f10 -/* 10ADCC 802A17BC 8FA5018C */ lw $a1, 0x18c($sp) -/* 10ADD0 802A17C0 3C0C8016 */ lui $t4, %hi(D_8015F6EE) # $t4, 0x8016 -/* 10ADD4 802A17C4 46805420 */ cvt.s.w $f16, $f10 -/* 10ADD8 802A17C8 C4A0001C */ lwc1 $f0, 0x1c($a1) -/* 10ADDC 802A17CC 46028480 */ add.s $f18, $f16, $f2 -/* 10ADE0 802A17D0 4600903C */ c.lt.s $f18, $f0 -/* 10ADE4 802A17D4 00000000 */ nop -/* 10ADE8 802A17D8 45000005 */ bc1f .L802A17F0 -/* 10ADEC 802A17DC 00000000 */ nop -/* 10ADF0 802A17E0 0C0A5C8C */ jal func_80297230 -/* 10ADF4 802A17E4 02002025 */ move $a0, $s0 -/* 10ADF8 802A17E8 100001A9 */ b .L802A1E90 -/* 10ADFC 802A17EC 8FBF0024 */ lw $ra, 0x24($sp) -.L802A17F0: -/* 10AE00 802A17F0 858CF6EE */ lh $t4, %lo(D_8015F6EE)($t4) -/* 10AE04 802A17F4 448C2000 */ mtc1 $t4, $f4 -/* 10AE08 802A17F8 00000000 */ nop -/* 10AE0C 802A17FC 468021A0 */ cvt.s.w $f6, $f4 -/* 10AE10 802A1800 46023201 */ sub.s $f8, $f6, $f2 -/* 10AE14 802A1804 4608003C */ c.lt.s $f0, $f8 -/* 10AE18 802A1808 00000000 */ nop -/* 10AE1C 802A180C 45000005 */ bc1f .L802A1824 -/* 10AE20 802A1810 00000000 */ nop -/* 10AE24 802A1814 0C0A5C8C */ jal func_80297230 -/* 10AE28 802A1818 02002025 */ move $a0, $s0 -/* 10AE2C 802A181C 1000019C */ b .L802A1E90 -/* 10AE30 802A1820 8FBF0024 */ lw $ra, 0x24($sp) -.L802A1824: -/* 10AE34 802A1824 0C0A5CAE */ jal func_802972B8 -/* 10AE38 802A1828 02002025 */ move $a0, $s0 -/* 10AE3C 802A182C 8FAD018C */ lw $t5, 0x18c($sp) -/* 10AE40 802A1830 A7A00180 */ sh $zero, 0x180($sp) -/* 10AE44 802A1834 27A40128 */ addiu $a0, $sp, 0x128 -/* 10AE48 802A1838 85AE0012 */ lh $t6, 0x12($t5) -/* 10AE4C 802A183C A7A00184 */ sh $zero, 0x184($sp) -/* 10AE50 802A1840 8FA50038 */ lw $a1, 0x38($sp) -/* 10AE54 802A1844 27A60180 */ addiu $a2, $sp, 0x180 -/* 10AE58 802A1848 0C0AD7DD */ jal func_802B5F74 -/* 10AE5C 802A184C A7AE0182 */ sh $t6, 0x182($sp) -/* 10AE60 802A1850 8FAF018C */ lw $t7, 0x18c($sp) -/* 10AE64 802A1854 27A40128 */ addiu $a0, $sp, 0x128 -/* 10AE68 802A1858 0C0AD7C0 */ jal func_802B5F00 -/* 10AE6C 802A185C 8DE50008 */ lw $a1, 8($t7) -/* 10AE70 802A1860 8FA9018C */ lw $t1, 0x18c($sp) -/* 10AE74 802A1864 24010002 */ li $at, 2 -/* 10AE78 802A1868 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 10AE7C 802A186C 85380006 */ lh $t8, 6($t1) -/* 10AE80 802A1870 27A40128 */ addiu $a0, $sp, 0x128 -/* 10AE84 802A1874 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 10AE88 802A1878 53010080 */ beql $t8, $at, .L802A1A7C -/* 10AE8C 802A187C 8E020000 */ lw $v0, ($s0) -/* 10AE90 802A1880 0C0AD3FE */ jal func_802B4FF8 -/* 10AE94 802A1884 00002825 */ move $a1, $zero -/* 10AE98 802A1888 10400180 */ beqz $v0, .L802A1E8C -/* 10AE9C 802A188C 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 10AEA0 802A1890 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 10AEA4 802A1894 8E020000 */ lw $v0, ($s0) -/* 10AEA8 802A1898 3C0C0D00 */ lui $t4, %hi(D_0D002F80) # $t4, 0xd00 -/* 10AEAC 802A189C 258C2F80 */ addiu $t4, %lo(D_0D002F80) # addiu $t4, $t4, 0x2f80 -/* 10AEB0 802A18A0 24590008 */ addiu $t9, $v0, 8 -/* 10AEB4 802A18A4 AE190000 */ sw $t9, ($s0) -/* 10AEB8 802A18A8 3C0B0600 */ lui $t3, 0x600 -/* 10AEBC 802A18AC AC4B0000 */ sw $t3, ($v0) -/* 10AEC0 802A18B0 AC4C0004 */ sw $t4, 4($v0) -/* 10AEC4 802A18B4 8FA6018C */ lw $a2, 0x18c($sp) -/* 10AEC8 802A18B8 8FA50038 */ lw $a1, 0x38($sp) -/* 10AECC 802A18BC 27A40128 */ addiu $a0, $sp, 0x128 -/* 10AED0 802A18C0 0C0AD7DD */ jal func_802B5F74 -/* 10AED4 802A18C4 24C60010 */ addiu $a2, $a2, 0x10 -/* 10AED8 802A18C8 8FAD018C */ lw $t5, 0x18c($sp) -/* 10AEDC 802A18CC 27A40128 */ addiu $a0, $sp, 0x128 -/* 10AEE0 802A18D0 0C0AD7C0 */ jal func_802B5F00 -/* 10AEE4 802A18D4 8DA50008 */ lw $a1, 8($t5) -/* 10AEE8 802A18D8 27A40128 */ addiu $a0, $sp, 0x128 -/* 10AEEC 802A18DC 0C0AD3FE */ jal func_802B4FF8 -/* 10AEF0 802A18E0 00002825 */ move $a1, $zero -/* 10AEF4 802A18E4 10400169 */ beqz $v0, .L802A1E8C -/* 10AEF8 802A18E8 3C0AB600 */ lui $t2, 0xb600 -/* 10AEFC 802A18EC 8E020000 */ lw $v0, ($s0) -/* 10AF00 802A18F0 3C0F0002 */ lui $t7, 2 -/* 10AF04 802A18F4 3C19FC12 */ lui $t9, (0xFC121824 >> 16) # lui $t9, 0xfc12 -/* 10AF08 802A18F8 244E0008 */ addiu $t6, $v0, 8 -/* 10AF0C 802A18FC AE0E0000 */ sw $t6, ($s0) -/* 10AF10 802A1900 AC4F0004 */ sw $t7, 4($v0) -/* 10AF14 802A1904 AC4A0000 */ sw $t2, ($v0) -/* 10AF18 802A1908 8E020000 */ lw $v0, ($s0) -/* 10AF1C 802A190C 3C0BFF33 */ lui $t3, (0xFF33FFFF >> 16) # lui $t3, 0xff33 -/* 10AF20 802A1910 356BFFFF */ ori $t3, (0xFF33FFFF & 0xFFFF) # ori $t3, $t3, 0xffff -/* 10AF24 802A1914 24580008 */ addiu $t8, $v0, 8 -/* 10AF28 802A1918 AE180000 */ sw $t8, ($s0) -/* 10AF2C 802A191C 37391824 */ ori $t9, (0xFC121824 & 0xFFFF) # ori $t9, $t9, 0x1824 -/* 10AF30 802A1920 AC590000 */ sw $t9, ($v0) -/* 10AF34 802A1924 AC4B0004 */ sw $t3, 4($v0) -/* 10AF38 802A1928 8FAC018C */ lw $t4, 0x18c($sp) -/* 10AF3C 802A192C 85830012 */ lh $v1, 0x12($t4) -/* 10AF40 802A1930 28610AA1 */ slti $at, $v1, 0xaa1 -/* 10AF44 802A1934 5020000D */ beql $at, $zero, .L802A196C -/* 10AF48 802A1938 28616AA5 */ slti $at, $v1, 0x6aa5 -/* 10AF4C 802A193C 1860000A */ blez $v1, .L802A1968 -/* 10AF50 802A1940 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 10AF54 802A1944 8E020000 */ lw $v0, ($s0) -/* 10AF58 802A1948 3C0F0055 */ lui $t7, (0x00552078 >> 16) # lui $t7, 0x55 -/* 10AF5C 802A194C 35EF2078 */ ori $t7, (0x00552078 & 0xFFFF) # ori $t7, $t7, 0x2078 -/* 10AF60 802A1950 244D0008 */ addiu $t5, $v0, 8 -/* 10AF64 802A1954 AE0D0000 */ sw $t5, ($s0) -/* 10AF68 802A1958 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 10AF6C 802A195C AC4E0000 */ sw $t6, ($v0) -/* 10AF70 802A1960 1000003C */ b .L802A1A54 -/* 10AF74 802A1964 AC4F0004 */ sw $t7, 4($v0) -.L802A1968: -/* 10AF78 802A1968 28616AA5 */ slti $at, $v1, 0x6aa5 -.L802A196C: -/* 10AF7C 802A196C 1420000C */ bnez $at, .L802A19A0 -/* 10AF80 802A1970 2861754E */ slti $at, $v1, 0x754e -/* 10AF84 802A1974 1020000A */ beqz $at, .L802A19A0 -/* 10AF88 802A1978 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 10AF8C 802A197C 8E020000 */ lw $v0, ($s0) -/* 10AF90 802A1980 3C0B0055 */ lui $t3, (0x00552078 >> 16) # lui $t3, 0x55 -/* 10AF94 802A1984 356B2078 */ ori $t3, (0x00552078 & 0xFFFF) # ori $t3, $t3, 0x2078 -/* 10AF98 802A1988 24580008 */ addiu $t8, $v0, 8 -/* 10AF9C 802A198C AE180000 */ sw $t8, ($s0) -/* 10AFA0 802A1990 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 10AFA4 802A1994 AC590000 */ sw $t9, ($v0) -/* 10AFA8 802A1998 1000002E */ b .L802A1A54 -/* 10AFAC 802A199C AC4B0004 */ sw $t3, 4($v0) -.L802A19A0: -/* 10AFB0 802A19A0 286138E1 */ slti $at, $v1, 0x38e1 -/* 10AFB4 802A19A4 1420000C */ bnez $at, .L802A19D8 -/* 10AFB8 802A19A8 2861438A */ slti $at, $v1, 0x438a -/* 10AFBC 802A19AC 1020000A */ beqz $at, .L802A19D8 -/* 10AFC0 802A19B0 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 -/* 10AFC4 802A19B4 8E020000 */ lw $v0, ($s0) -/* 10AFC8 802A19B8 3C0E0055 */ lui $t6, (0x00552078 >> 16) # lui $t6, 0x55 -/* 10AFCC 802A19BC 35CE2078 */ ori $t6, (0x00552078 & 0xFFFF) # ori $t6, $t6, 0x2078 -/* 10AFD0 802A19C0 244C0008 */ addiu $t4, $v0, 8 -/* 10AFD4 802A19C4 AE0C0000 */ sw $t4, ($s0) -/* 10AFD8 802A19C8 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d -/* 10AFDC 802A19CC AC4D0000 */ sw $t5, ($v0) -/* 10AFE0 802A19D0 10000020 */ b .L802A1A54 -/* 10AFE4 802A19D4 AC4E0004 */ sw $t6, 4($v0) -.L802A19D8: -/* 10AFE8 802A19D8 3401C711 */ li $at, 50961 -/* 10AFEC 802A19DC 0061082A */ slt $at, $v1, $at -/* 10AFF0 802A19E0 1420000E */ bnez $at, .L802A1A1C -/* 10AFF4 802A19E4 3C0CC000 */ lui $t4, 0xc000 -/* 10AFF8 802A19E8 3401D1BA */ li $at, 53690 -/* 10AFFC 802A19EC 0061082A */ slt $at, $v1, $at -/* 10B000 802A19F0 1020000A */ beqz $at, .L802A1A1C -/* 10B004 802A19F4 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 10B008 802A19F8 8E020000 */ lw $v0, ($s0) -/* 10B00C 802A19FC 3C190055 */ lui $t9, (0x00552078 >> 16) # lui $t9, 0x55 -/* 10B010 802A1A00 37392078 */ ori $t9, (0x00552078 & 0xFFFF) # ori $t9, $t9, 0x2078 -/* 10B014 802A1A04 244F0008 */ addiu $t7, $v0, 8 -/* 10B018 802A1A08 AE0F0000 */ sw $t7, ($s0) -/* 10B01C 802A1A0C 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 10B020 802A1A10 AC580000 */ sw $t8, ($v0) -/* 10B024 802A1A14 1000000F */ b .L802A1A54 -/* 10B028 802A1A18 AC590004 */ sw $t9, 4($v0) -.L802A1A1C: -/* 10B02C 802A1A1C 8E020000 */ lw $v0, ($s0) -/* 10B030 802A1A20 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 10B034 802A1A24 3C0F0050 */ lui $t7, (0x00504B50 >> 16) # lui $t7, 0x50 -/* 10B038 802A1A28 244B0008 */ addiu $t3, $v0, 8 -/* 10B03C 802A1A2C AE0B0000 */ sw $t3, ($s0) -/* 10B040 802A1A30 AC400004 */ sw $zero, 4($v0) -/* 10B044 802A1A34 AC4C0000 */ sw $t4, ($v0) -/* 10B048 802A1A38 8E020000 */ lw $v0, ($s0) -/* 10B04C 802A1A3C 35EF4B50 */ ori $t7, (0x00504B50 & 0xFFFF) # ori $t7, $t7, 0x4b50 -/* 10B050 802A1A40 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 10B054 802A1A44 244D0008 */ addiu $t5, $v0, 8 -/* 10B058 802A1A48 AE0D0000 */ sw $t5, ($s0) -/* 10B05C 802A1A4C AC4F0004 */ sw $t7, 4($v0) -/* 10B060 802A1A50 AC4E0000 */ sw $t6, ($v0) -.L802A1A54: -/* 10B064 802A1A54 8E020000 */ lw $v0, ($s0) -/* 10B068 802A1A58 3C0B0D00 */ lui $t3, %hi(D_0D003090) # $t3, 0xd00 -/* 10B06C 802A1A5C 256B3090 */ addiu $t3, %lo(D_0D003090) # addiu $t3, $t3, 0x3090 -/* 10B070 802A1A60 24580008 */ addiu $t8, $v0, 8 -/* 10B074 802A1A64 AE180000 */ sw $t8, ($s0) -/* 10B078 802A1A68 3C190600 */ lui $t9, 0x600 -/* 10B07C 802A1A6C AC590000 */ sw $t9, ($v0) -/* 10B080 802A1A70 10000106 */ b .L802A1E8C -/* 10B084 802A1A74 AC4B0004 */ sw $t3, 4($v0) -/* 10B088 802A1A78 8E020000 */ lw $v0, ($s0) -.L802A1A7C: -/* 10B08C 802A1A7C 3C0AB600 */ lui $t2, 0xb600 -/* 10B090 802A1A80 3C0D0002 */ lui $t5, 2 -/* 10B094 802A1A84 244C0008 */ addiu $t4, $v0, 8 -/* 10B098 802A1A88 AE0C0000 */ sw $t4, ($s0) -/* 10B09C 802A1A8C AC4D0004 */ sw $t5, 4($v0) -/* 10B0A0 802A1A90 AC4A0000 */ sw $t2, ($v0) -/* 10B0A4 802A1A94 8E020000 */ lw $v0, ($s0) -/* 10B0A8 802A1A98 240F2000 */ li $t7, 8192 -/* 10B0AC 802A1A9C 3C19C000 */ lui $t9, 0xc000 -/* 10B0B0 802A1AA0 244E0008 */ addiu $t6, $v0, 8 -/* 10B0B4 802A1AA4 AE0E0000 */ sw $t6, ($s0) -/* 10B0B8 802A1AA8 AC4F0004 */ sw $t7, 4($v0) -/* 10B0BC 802A1AAC AC4A0000 */ sw $t2, ($v0) -/* 10B0C0 802A1AB0 8E020000 */ lw $v0, ($s0) -/* 10B0C4 802A1AB4 27A40128 */ addiu $a0, $sp, 0x128 -/* 10B0C8 802A1AB8 25260010 */ addiu $a2, $t1, 0x10 -/* 10B0CC 802A1ABC 24580008 */ addiu $t8, $v0, 8 -/* 10B0D0 802A1AC0 AE180000 */ sw $t8, ($s0) -/* 10B0D4 802A1AC4 AC400004 */ sw $zero, 4($v0) -/* 10B0D8 802A1AC8 AC590000 */ sw $t9, ($v0) -/* 10B0DC 802A1ACC 852B0004 */ lh $t3, 4($t1) -/* 10B0E0 802A1AD0 8FA50038 */ lw $a1, 0x38($sp) -/* 10B0E4 802A1AD4 448B5000 */ mtc1 $t3, $f10 -/* 10B0E8 802A1AD8 00000000 */ nop -/* 10B0EC 802A1ADC 46805420 */ cvt.s.w $f16, $f10 -/* 10B0F0 802A1AE0 0C0AD7DD */ jal func_802B5F74 -/* 10B0F4 802A1AE4 E7B000A4 */ swc1 $f16, 0xa4($sp) -/* 10B0F8 802A1AE8 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 10B0FC 802A1AEC 44811000 */ mtc1 $at, $f2 -/* 10B100 802A1AF0 C7AC00A4 */ lwc1 $f12, 0xa4($sp) -/* 10B104 802A1AF4 3C01802C */ lui $at, %hi(D_802B99E4) # $at, 0x802c -/* 10B108 802A1AF8 4602603C */ c.lt.s $f12, $f2 -/* 10B10C 802A1AFC 00000000 */ nop -/* 10B110 802A1B00 45020006 */ bc1fl .L802A1B1C -/* 10B114 802A1B04 46026481 */ sub.s $f18, $f12, $f2 -/* 10B118 802A1B08 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 10B11C 802A1B0C 44810000 */ mtc1 $at, $f0 -/* 10B120 802A1B10 10000008 */ b .L802A1B34 -/* 10B124 802A1B14 44050000 */ mfc1 $a1, $f0 -/* 10B128 802A1B18 46026481 */ sub.s $f18, $f12, $f2 -.L802A1B1C: -/* 10B12C 802A1B1C C42499E4 */ lwc1 $f4, %lo(D_802B99E4)($at) -/* 10B130 802A1B20 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 10B134 802A1B24 44814000 */ mtc1 $at, $f8 -/* 10B138 802A1B28 46049182 */ mul.s $f6, $f18, $f4 -/* 10B13C 802A1B2C 46064001 */ sub.s $f0, $f8, $f6 -/* 10B140 802A1B30 44050000 */ mfc1 $a1, $f0 -.L802A1B34: -/* 10B144 802A1B34 0C0AD7C0 */ jal func_802B5F00 -/* 10B148 802A1B38 27A40128 */ addiu $a0, $sp, 0x128 -/* 10B14C 802A1B3C 8FAC018C */ lw $t4, 0x18c($sp) -/* 10B150 802A1B40 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 10B154 802A1B44 44805000 */ mtc1 $zero, $f10 -/* 10B158 802A1B48 858D0004 */ lh $t5, 4($t4) -/* 10B15C 802A1B4C 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 -/* 10B160 802A1B50 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 10B164 802A1B54 31AE0001 */ andi $t6, $t5, 1 -/* 10B168 802A1B58 11C00009 */ beqz $t6, .L802A1B80 -/* 10B16C 802A1B5C 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d -/* 10B170 802A1B60 8E020000 */ lw $v0, ($s0) -/* 10B174 802A1B64 3C190055 */ lui $t9, (0x00552078 >> 16) # lui $t9, 0x55 -/* 10B178 802A1B68 37392078 */ ori $t9, (0x00552078 & 0xFFFF) # ori $t9, $t9, 0x2078 -/* 10B17C 802A1B6C 244F0008 */ addiu $t7, $v0, 8 -/* 10B180 802A1B70 AE0F0000 */ sw $t7, ($s0) -/* 10B184 802A1B74 AC590004 */ sw $t9, 4($v0) -/* 10B188 802A1B78 10000008 */ b .L802A1B9C -/* 10B18C 802A1B7C AC580000 */ sw $t8, ($v0) -.L802A1B80: -/* 10B190 802A1B80 8E020000 */ lw $v0, ($s0) -/* 10B194 802A1B84 3C0D0040 */ lui $t5, (0x004045D8 >> 16) # lui $t5, 0x40 -/* 10B198 802A1B88 35AD45D8 */ ori $t5, (0x004045D8 & 0xFFFF) # ori $t5, $t5, 0x45d8 -/* 10B19C 802A1B8C 244B0008 */ addiu $t3, $v0, 8 -/* 10B1A0 802A1B90 AE0B0000 */ sw $t3, ($s0) -/* 10B1A4 802A1B94 AC4D0004 */ sw $t5, 4($v0) -/* 10B1A8 802A1B98 AC4C0000 */ sw $t4, ($v0) -.L802A1B9C: -/* 10B1AC 802A1B9C C7A000A4 */ lwc1 $f0, 0xa4($sp) -/* 10B1B0 802A1BA0 E7AA0168 */ swc1 $f10, 0x168($sp) -/* 10B1B4 802A1BA4 27A40128 */ addiu $a0, $sp, 0x128 -/* 10B1B8 802A1BA8 46000080 */ add.s $f2, $f0, $f0 -/* 10B1BC 802A1BAC 27A500E8 */ addiu $a1, $sp, 0xe8 -/* 10B1C0 802A1BB0 27A60168 */ addiu $a2, $sp, 0x168 -/* 10B1C4 802A1BB4 E7A00170 */ swc1 $f0, 0x170($sp) -/* 10B1C8 802A1BB8 E7A2016C */ swc1 $f2, 0x16c($sp) -/* 10B1CC 802A1BBC 0C0AD514 */ jal func_802B5450 -/* 10B1D0 802A1BC0 E7A20038 */ swc1 $f2, 0x38($sp) -/* 10B1D4 802A1BC4 27A400E8 */ addiu $a0, $sp, 0xe8 -/* 10B1D8 802A1BC8 0C0AD3FE */ jal func_802B4FF8 -/* 10B1DC 802A1BCC 00002825 */ move $a1, $zero -/* 10B1E0 802A1BD0 104000AE */ beqz $v0, .L802A1E8C -/* 10B1E4 802A1BD4 C7A000A4 */ lwc1 $f0, 0xa4($sp) -/* 10B1E8 802A1BD8 8E020000 */ lw $v0, ($s0) -/* 10B1EC 802A1BDC 3C180D00 */ lui $t8, %hi(D_0D003158) # $t8, 0xd00 -/* 10B1F0 802A1BE0 27183158 */ addiu $t8, %lo(D_0D003158) # addiu $t8, $t8, 0x3158 -/* 10B1F4 802A1BE4 244E0008 */ addiu $t6, $v0, 8 -/* 10B1F8 802A1BE8 AE0E0000 */ sw $t6, ($s0) -/* 10B1FC 802A1BEC 3C0F0600 */ lui $t7, 0x600 -/* 10B200 802A1BF0 3C01802C */ lui $at, %hi(D_802B99E8) # $at, 0x802c -/* 10B204 802A1BF4 AC4F0000 */ sw $t7, ($v0) -/* 10B208 802A1BF8 AC580004 */ sw $t8, 4($v0) -/* 10B20C 802A1BFC C43099E8 */ lwc1 $f16, %lo(D_802B99E8)($at) -/* 10B210 802A1C00 3C01802C */ lui $at, %hi(D_802B99EC) # $at, 0x802c -/* 10B214 802A1C04 C43299EC */ lwc1 $f18, %lo(D_802B99EC)($at) -/* 10B218 802A1C08 46008082 */ mul.s $f2, $f16, $f0 -/* 10B21C 802A1C0C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 10B220 802A1C10 44814000 */ mtc1 $at, $f8 -/* 10B224 802A1C14 46009102 */ mul.s $f4, $f18, $f0 -/* 10B228 802A1C18 27A40128 */ addiu $a0, $sp, 0x128 -/* 10B22C 802A1C1C 27A500E8 */ addiu $a1, $sp, 0xe8 -/* 10B230 802A1C20 46004302 */ mul.s $f12, $f8, $f0 -/* 10B234 802A1C24 E7A20168 */ swc1 $f2, 0x168($sp) -/* 10B238 802A1C28 E7A20034 */ swc1 $f2, 0x34($sp) -/* 10B23C 802A1C2C 27A60168 */ addiu $a2, $sp, 0x168 -/* 10B240 802A1C30 E7A4016C */ swc1 $f4, 0x16c($sp) -/* 10B244 802A1C34 E7AC0170 */ swc1 $f12, 0x170($sp) -/* 10B248 802A1C38 0C0AD514 */ jal func_802B5450 -/* 10B24C 802A1C3C E7AC0030 */ swc1 $f12, 0x30($sp) -/* 10B250 802A1C40 27A400E8 */ addiu $a0, $sp, 0xe8 -/* 10B254 802A1C44 0C0AD3FE */ jal func_802B4FF8 -/* 10B258 802A1C48 00002825 */ move $a1, $zero -/* 10B25C 802A1C4C 1040008F */ beqz $v0, .L802A1E8C -/* 10B260 802A1C50 C7A200A4 */ lwc1 $f2, 0xa4($sp) -/* 10B264 802A1C54 8E020000 */ lw $v0, ($s0) -/* 10B268 802A1C58 3C0C0D00 */ lui $t4, %hi(D_0D0031B8) # $t4, 0xd00 -/* 10B26C 802A1C5C 258C31B8 */ addiu $t4, %lo(D_0D0031B8) # addiu $t4, $t4, 0x31b8 -/* 10B270 802A1C60 24590008 */ addiu $t9, $v0, 8 -/* 10B274 802A1C64 AE190000 */ sw $t9, ($s0) -/* 10B278 802A1C68 3C0B0600 */ lui $t3, 0x600 -/* 10B27C 802A1C6C 3C01802C */ lui $at, %hi(D_802B99F0) # $at, 0x802c -/* 10B280 802A1C70 AC4B0000 */ sw $t3, ($v0) -/* 10B284 802A1C74 AC4C0004 */ sw $t4, 4($v0) -/* 10B288 802A1C78 C42A99F0 */ lwc1 $f10, %lo(D_802B99F0)($at) -/* 10B28C 802A1C7C 3C01BF00 */ li $at, 0xBF000000 # -0.500000 -/* 10B290 802A1C80 44819000 */ mtc1 $at, $f18 -/* 10B294 802A1C84 46025402 */ mul.s $f16, $f10, $f2 -/* 10B298 802A1C88 C7A60034 */ lwc1 $f6, 0x34($sp) -/* 10B29C 802A1C8C 27A40128 */ addiu $a0, $sp, 0x128 -/* 10B2A0 802A1C90 46029002 */ mul.s $f0, $f18, $f2 -/* 10B2A4 802A1C94 27A500E8 */ addiu $a1, $sp, 0xe8 -/* 10B2A8 802A1C98 27A60168 */ addiu $a2, $sp, 0x168 -/* 10B2AC 802A1C9C E7A60168 */ swc1 $f6, 0x168($sp) -/* 10B2B0 802A1CA0 E7B0016C */ swc1 $f16, 0x16c($sp) -/* 10B2B4 802A1CA4 E7A00170 */ swc1 $f0, 0x170($sp) -/* 10B2B8 802A1CA8 0C0AD514 */ jal func_802B5450 -/* 10B2BC 802A1CAC E7A0002C */ swc1 $f0, 0x2c($sp) -/* 10B2C0 802A1CB0 27A400E8 */ addiu $a0, $sp, 0xe8 -/* 10B2C4 802A1CB4 0C0AD3FE */ jal func_802B4FF8 -/* 10B2C8 802A1CB8 00002825 */ move $a1, $zero -/* 10B2CC 802A1CBC 10400073 */ beqz $v0, .L802A1E8C -/* 10B2D0 802A1CC0 3C0E0600 */ lui $t6, 0x600 -/* 10B2D4 802A1CC4 8E020000 */ lw $v0, ($s0) -/* 10B2D8 802A1CC8 3C0F0D00 */ lui $t7, %hi(D_0D003128) # $t7, 0xd00 -/* 10B2DC 802A1CCC 25EF3128 */ addiu $t7, %lo(D_0D003128) # addiu $t7, $t7, 0x3128 -/* 10B2E0 802A1CD0 244D0008 */ addiu $t5, $v0, 8 -/* 10B2E4 802A1CD4 AE0D0000 */ sw $t5, ($s0) -/* 10B2E8 802A1CD8 AC4F0004 */ sw $t7, 4($v0) -/* 10B2EC 802A1CDC AC4E0000 */ sw $t6, ($v0) -/* 10B2F0 802A1CE0 8FB8018C */ lw $t8, 0x18c($sp) -/* 10B2F4 802A1CE4 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 -/* 10B2F8 802A1CE8 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d -/* 10B2FC 802A1CEC 87190004 */ lh $t9, 4($t8) -/* 10B300 802A1CF0 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 10B304 802A1CF4 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 10B308 802A1CF8 332B0001 */ andi $t3, $t9, 1 -/* 10B30C 802A1CFC 15600009 */ bnez $t3, .L802A1D24 -/* 10B310 802A1D00 3C01802C */ lui $at, %hi(D_802B99F4) # $at, 0x802c -/* 10B314 802A1D04 8E020000 */ lw $v0, ($s0) -/* 10B318 802A1D08 3C0E0055 */ lui $t6, (0x00552078 >> 16) # lui $t6, 0x55 -/* 10B31C 802A1D0C 35CE2078 */ ori $t6, (0x00552078 & 0xFFFF) # ori $t6, $t6, 0x2078 -/* 10B320 802A1D10 244C0008 */ addiu $t4, $v0, 8 -/* 10B324 802A1D14 AE0C0000 */ sw $t4, ($s0) -/* 10B328 802A1D18 AC4E0004 */ sw $t6, 4($v0) -/* 10B32C 802A1D1C 10000008 */ b .L802A1D40 -/* 10B330 802A1D20 AC4D0000 */ sw $t5, ($v0) -.L802A1D24: -/* 10B334 802A1D24 8E020000 */ lw $v0, ($s0) -/* 10B338 802A1D28 3C190040 */ lui $t9, (0x004045D8 >> 16) # lui $t9, 0x40 -/* 10B33C 802A1D2C 373945D8 */ ori $t9, (0x004045D8 & 0xFFFF) # ori $t9, $t9, 0x45d8 -/* 10B340 802A1D30 244F0008 */ addiu $t7, $v0, 8 -/* 10B344 802A1D34 AE0F0000 */ sw $t7, ($s0) -/* 10B348 802A1D38 AC590004 */ sw $t9, 4($v0) -/* 10B34C 802A1D3C AC580000 */ sw $t8, ($v0) -.L802A1D40: -/* 10B350 802A1D40 C42899F4 */ lwc1 $f8, %lo(D_802B99F4)($at) -/* 10B354 802A1D44 C7A600A4 */ lwc1 $f6, 0xa4($sp) -/* 10B358 802A1D48 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 10B35C 802A1D4C 44818000 */ mtc1 $at, $f16 -/* 10B360 802A1D50 46064282 */ mul.s $f10, $f8, $f6 -/* 10B364 802A1D54 44802000 */ mtc1 $zero, $f4 -/* 10B368 802A1D58 27A40128 */ addiu $a0, $sp, 0x128 -/* 10B36C 802A1D5C 46068482 */ mul.s $f18, $f16, $f6 -/* 10B370 802A1D60 27A500E8 */ addiu $a1, $sp, 0xe8 -/* 10B374 802A1D64 27A60168 */ addiu $a2, $sp, 0x168 -/* 10B378 802A1D68 E7A40168 */ swc1 $f4, 0x168($sp) -/* 10B37C 802A1D6C E7AA016C */ swc1 $f10, 0x16c($sp) -/* 10B380 802A1D70 0C0AD514 */ jal func_802B5450 -/* 10B384 802A1D74 E7B20170 */ swc1 $f18, 0x170($sp) -/* 10B388 802A1D78 27A400E8 */ addiu $a0, $sp, 0xe8 -/* 10B38C 802A1D7C 0C0AD3FE */ jal func_802B4FF8 -/* 10B390 802A1D80 00002825 */ move $a1, $zero -/* 10B394 802A1D84 10400041 */ beqz $v0, .L802A1E8C -/* 10B398 802A1D88 3C0C0600 */ lui $t4, 0x600 -/* 10B39C 802A1D8C 8E020000 */ lw $v0, ($s0) -/* 10B3A0 802A1D90 3C0D0D00 */ lui $t5, %hi(D_0D0031E8) # $t5, 0xd00 -/* 10B3A4 802A1D94 25AD31E8 */ addiu $t5, %lo(D_0D0031E8) # addiu $t5, $t5, 0x31e8 -/* 10B3A8 802A1D98 244B0008 */ addiu $t3, $v0, 8 -/* 10B3AC 802A1D9C AE0B0000 */ sw $t3, ($s0) -/* 10B3B0 802A1DA0 AC4D0004 */ sw $t5, 4($v0) -/* 10B3B4 802A1DA4 AC4C0000 */ sw $t4, ($v0) -/* 10B3B8 802A1DA8 3C01802C */ lui $at, %hi(D_802B99F8) # $at, 0x802c -/* 10B3BC 802A1DAC C42499F8 */ lwc1 $f4, %lo(D_802B99F8)($at) -/* 10B3C0 802A1DB0 C7A800A4 */ lwc1 $f8, 0xa4($sp) -/* 10B3C4 802A1DB4 3C01802C */ lui $at, %hi(D_802B99FC) # $at, 0x802c -/* 10B3C8 802A1DB8 C42A99FC */ lwc1 $f10, %lo(D_802B99FC)($at) -/* 10B3CC 802A1DBC 46082002 */ mul.s $f0, $f4, $f8 -/* 10B3D0 802A1DC0 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 10B3D4 802A1DC4 27A40128 */ addiu $a0, $sp, 0x128 -/* 10B3D8 802A1DC8 46085402 */ mul.s $f16, $f10, $f8 -/* 10B3DC 802A1DCC 27A500E8 */ addiu $a1, $sp, 0xe8 -/* 10B3E0 802A1DD0 27A60168 */ addiu $a2, $sp, 0x168 -/* 10B3E4 802A1DD4 E7A60170 */ swc1 $f6, 0x170($sp) -/* 10B3E8 802A1DD8 E7A00168 */ swc1 $f0, 0x168($sp) -/* 10B3EC 802A1DDC E7A00034 */ swc1 $f0, 0x34($sp) -/* 10B3F0 802A1DE0 0C0AD514 */ jal func_802B5450 -/* 10B3F4 802A1DE4 E7B0016C */ swc1 $f16, 0x16c($sp) -/* 10B3F8 802A1DE8 27A400E8 */ addiu $a0, $sp, 0xe8 -/* 10B3FC 802A1DEC 0C0AD3FE */ jal func_802B4FF8 -/* 10B400 802A1DF0 00002825 */ move $a1, $zero -/* 10B404 802A1DF4 10400025 */ beqz $v0, .L802A1E8C -/* 10B408 802A1DF8 3C0F0600 */ lui $t7, 0x600 -/* 10B40C 802A1DFC 8E020000 */ lw $v0, ($s0) -/* 10B410 802A1E00 3C180D00 */ lui $t8, %hi(D_0D003188) # $t8, 0xd00 -/* 10B414 802A1E04 27183188 */ addiu $t8, %lo(D_0D003188) # addiu $t8, $t8, 0x3188 -/* 10B418 802A1E08 244E0008 */ addiu $t6, $v0, 8 -/* 10B41C 802A1E0C AE0E0000 */ sw $t6, ($s0) -/* 10B420 802A1E10 AC580004 */ sw $t8, 4($v0) -/* 10B424 802A1E14 AC4F0000 */ sw $t7, ($v0) -/* 10B428 802A1E18 C7B20034 */ lwc1 $f18, 0x34($sp) -/* 10B42C 802A1E1C C7A40038 */ lwc1 $f4, 0x38($sp) -/* 10B430 802A1E20 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 10B434 802A1E24 27A40128 */ addiu $a0, $sp, 0x128 -/* 10B438 802A1E28 27A500E8 */ addiu $a1, $sp, 0xe8 -/* 10B43C 802A1E2C 27A60168 */ addiu $a2, $sp, 0x168 -/* 10B440 802A1E30 E7B20168 */ swc1 $f18, 0x168($sp) -/* 10B444 802A1E34 E7A4016C */ swc1 $f4, 0x16c($sp) -/* 10B448 802A1E38 0C0AD514 */ jal func_802B5450 -/* 10B44C 802A1E3C E7AA0170 */ swc1 $f10, 0x170($sp) -/* 10B450 802A1E40 27A400E8 */ addiu $a0, $sp, 0xe8 -/* 10B454 802A1E44 0C0AD3FE */ jal func_802B4FF8 -/* 10B458 802A1E48 00002825 */ move $a1, $zero -/* 10B45C 802A1E4C 1040000F */ beqz $v0, .L802A1E8C -/* 10B460 802A1E50 3C0B0600 */ lui $t3, 0x600 -/* 10B464 802A1E54 8E020000 */ lw $v0, ($s0) -/* 10B468 802A1E58 3C0C0D00 */ lui $t4, %hi(D_0D0030F8) # $t4, 0xd00 -/* 10B46C 802A1E5C 258C30F8 */ addiu $t4, %lo(D_0D0030F8) # addiu $t4, $t4, 0x30f8 -/* 10B470 802A1E60 24590008 */ addiu $t9, $v0, 8 -/* 10B474 802A1E64 AE190000 */ sw $t9, ($s0) -/* 10B478 802A1E68 AC4C0004 */ sw $t4, 4($v0) -/* 10B47C 802A1E6C AC4B0000 */ sw $t3, ($v0) -/* 10B480 802A1E70 8E020000 */ lw $v0, ($s0) -/* 10B484 802A1E74 3C0EB700 */ lui $t6, 0xb700 -/* 10B488 802A1E78 240F2000 */ li $t7, 8192 -/* 10B48C 802A1E7C 244D0008 */ addiu $t5, $v0, 8 -/* 10B490 802A1E80 AE0D0000 */ sw $t5, ($s0) -/* 10B494 802A1E84 AC4F0004 */ sw $t7, 4($v0) -/* 10B498 802A1E88 AC4E0000 */ sw $t6, ($v0) -.L802A1E8C: -/* 10B49C 802A1E8C 8FBF0024 */ lw $ra, 0x24($sp) -.L802A1E90: -/* 10B4A0 802A1E90 8FB00020 */ lw $s0, 0x20($sp) -/* 10B4A4 802A1E94 27BD0188 */ addiu $sp, $sp, 0x188 -/* 10B4A8 802A1E98 03E00008 */ jr $ra -/* 10B4AC 802A1E9C 00000000 */ nop diff --git a/asm/non_matchings/actors/func_802A1EA0.s b/asm/non_matchings/actors/func_802A1EA0.s deleted file mode 100644 index 6b603f7f1..000000000 --- a/asm/non_matchings/actors/func_802A1EA0.s +++ /dev/null @@ -1,530 +0,0 @@ -glabel func_802A1EA0 -/* 10B4B0 802A1EA0 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e -/* 10B4B4 802A1EA4 8DCEDB40 */ lw $t6, %lo(camera1)($t6) -/* 10B4B8 802A1EA8 240100B8 */ li $at, 184 -/* 10B4BC 802A1EAC 27BDFE78 */ addiu $sp, $sp, -0x188 -/* 10B4C0 802A1EB0 008E7823 */ subu $t7, $a0, $t6 -/* 10B4C4 802A1EB4 01E1001A */ div $zero, $t7, $at -/* 10B4C8 802A1EB8 0000C012 */ mflo $t8 -/* 10B4CC 802A1EBC 0018C880 */ sll $t9, $t8, 2 -/* 10B4D0 802A1EC0 3C018015 */ lui $at, %hi(D_80150130) -/* 10B4D4 802A1EC4 00390821 */ addu $at, $at, $t9 -/* 10B4D8 802A1EC8 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 10B4DC 802A1ECC AFBF0024 */ sw $ra, 0x24($sp) -/* 10B4E0 802A1ED0 AFB00020 */ sw $s0, 0x20($sp) -/* 10B4E4 802A1ED4 AFA5018C */ sw $a1, 0x18c($sp) -/* 10B4E8 802A1ED8 3C01802C */ lui $at, %hi(D_802B9A00) # $at, 0x802c -/* 10B4EC 802A1EDC C4269A00 */ lwc1 $f6, %lo(D_802B9A00)($at) -/* 10B4F0 802A1EE0 94860026 */ lhu $a2, 0x26($a0) -/* 10B4F4 802A1EE4 24A50018 */ addiu $a1, $a1, 0x18 -/* 10B4F8 802A1EE8 AFA50038 */ sw $a1, 0x38($sp) -/* 10B4FC 802A1EEC 24070000 */ li $a3, 0 -/* 10B500 802A1EF0 E7A40010 */ swc1 $f4, 0x10($sp) -/* 10B504 802A1EF4 0C0AE034 */ jal func_802B80D0 -/* 10B508 802A1EF8 E7A60014 */ swc1 $f6, 0x14($sp) -/* 10B50C 802A1EFC 44804000 */ mtc1 $zero, $f8 -/* 10B510 802A1F00 3C01802C */ lui $at, %hi(D_802B9A04) # $at, 0x802c -/* 10B514 802A1F04 4608003C */ c.lt.s $f0, $f8 -/* 10B518 802A1F08 00000000 */ nop -/* 10B51C 802A1F0C 450301DF */ bc1tl .L802A268C -/* 10B520 802A1F10 8FBF0024 */ lw $ra, 0x24($sp) -/* 10B524 802A1F14 C42A9A04 */ lwc1 $f10, %lo(D_802B9A04)($at) -/* 10B528 802A1F18 8FA9018C */ lw $t1, 0x18c($sp) -/* 10B52C 802A1F1C 4600503C */ c.lt.s $f10, $f0 -/* 10B530 802A1F20 00000000 */ nop -/* 10B534 802A1F24 450301D9 */ bc1tl .L802A268C -/* 10B538 802A1F28 8FBF0024 */ lw $ra, 0x24($sp) -/* 10B53C 802A1F2C 85240006 */ lh $a0, 6($t1) -/* 10B540 802A1F30 24010002 */ li $at, 2 -/* 10B544 802A1F34 1481003D */ bne $a0, $at, .L802A202C -/* 10B548 802A1F38 3C01802C */ lui $at, %hi(D_802B9A08) # $at, 0x802c -/* 10B54C 802A1F3C C4309A08 */ lwc1 $f16, %lo(D_802B9A08)($at) -/* 10B550 802A1F40 4610003C */ c.lt.s $f0, $f16 -/* 10B554 802A1F44 00000000 */ nop -/* 10B558 802A1F48 45000038 */ bc1f .L802A202C -/* 10B55C 802A1F4C 00000000 */ nop -/* 10B560 802A1F50 A7A00160 */ sh $zero, 0x160($sp) -/* 10B564 802A1F54 852B0012 */ lh $t3, 0x12($t1) -/* 10B568 802A1F58 A7A00164 */ sh $zero, 0x164($sp) -/* 10B56C 802A1F5C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 10B570 802A1F60 A7AB0162 */ sh $t3, 0x162($sp) -/* 10B574 802A1F64 C5320018 */ lwc1 $f18, 0x18($t1) -/* 10B578 802A1F68 44813000 */ mtc1 $at, $f6 -/* 10B57C 802A1F6C 27A40118 */ addiu $a0, $sp, 0x118 -/* 10B580 802A1F70 E7B20168 */ swc1 $f18, 0x168($sp) -/* 10B584 802A1F74 C5240008 */ lwc1 $f4, 8($t1) -/* 10B588 802A1F78 27A50168 */ addiu $a1, $sp, 0x168 -/* 10B58C 802A1F7C 27A60160 */ addiu $a2, $sp, 0x160 -/* 10B590 802A1F80 46062200 */ add.s $f8, $f4, $f6 -/* 10B594 802A1F84 E7A8016C */ swc1 $f8, 0x16c($sp) -/* 10B598 802A1F88 C52A0020 */ lwc1 $f10, 0x20($t1) -/* 10B59C 802A1F8C 0C0AD7DD */ jal func_802B5F74 -/* 10B5A0 802A1F90 E7AA0170 */ swc1 $f10, 0x170($sp) -/* 10B5A4 802A1F94 27A40118 */ addiu $a0, $sp, 0x118 -/* 10B5A8 802A1F98 0C0AD3FE */ jal func_802B4FF8 -/* 10B5AC 802A1F9C 00002825 */ move $a1, $zero -/* 10B5B0 802A1FA0 104001B9 */ beqz $v0, .L802A2688 -/* 10B5B4 802A1FA4 8FA7018C */ lw $a3, 0x18c($sp) -/* 10B5B8 802A1FA8 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 10B5BC 802A1FAC 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 10B5C0 802A1FB0 8E020000 */ lw $v0, ($s0) -/* 10B5C4 802A1FB4 3C0E0D00 */ lui $t6, %hi(D_0D002EE8) # $t6, 0xd00 -/* 10B5C8 802A1FB8 25CE2EE8 */ addiu $t6, %lo(D_0D002EE8) # addiu $t6, $t6, 0x2ee8 -/* 10B5CC 802A1FBC 244C0008 */ addiu $t4, $v0, 8 -/* 10B5D0 802A1FC0 AE0C0000 */ sw $t4, ($s0) -/* 10B5D4 802A1FC4 3C0D0600 */ lui $t5, 0x600 -/* 10B5D8 802A1FC8 AC4D0000 */ sw $t5, ($v0) -/* 10B5DC 802A1FCC AC4E0004 */ sw $t6, 4($v0) -/* 10B5E0 802A1FD0 84EF0012 */ lh $t7, 0x12($a3) -/* 10B5E4 802A1FD4 27A40118 */ addiu $a0, $sp, 0x118 -/* 10B5E8 802A1FD8 27A50168 */ addiu $a1, $sp, 0x168 -/* 10B5EC 802A1FDC 000FC040 */ sll $t8, $t7, 1 -/* 10B5F0 802A1FE0 A7B80162 */ sh $t8, 0x162($sp) -/* 10B5F4 802A1FE4 C4F0001C */ lwc1 $f16, 0x1c($a3) -/* 10B5F8 802A1FE8 27A60160 */ addiu $a2, $sp, 0x160 -/* 10B5FC 802A1FEC 0C0AD7DD */ jal func_802B5F74 -/* 10B600 802A1FF0 E7B0016C */ swc1 $f16, 0x16c($sp) -/* 10B604 802A1FF4 27A40118 */ addiu $a0, $sp, 0x118 -/* 10B608 802A1FF8 0C0AD3FE */ jal func_802B4FF8 -/* 10B60C 802A1FFC 00002825 */ move $a1, $zero -/* 10B610 802A2000 104001A1 */ beqz $v0, .L802A2688 -/* 10B614 802A2004 3C0B0600 */ lui $t3, 0x600 -/* 10B618 802A2008 8E020000 */ lw $v0, ($s0) -/* 10B61C 802A200C 3C0C0D00 */ lui $t4, %hi(D_0D003008) # $t4, 0xd00 -/* 10B620 802A2010 258C3008 */ addiu $t4, %lo(D_0D003008) # addiu $t4, $t4, 0x3008 -/* 10B624 802A2014 24590008 */ addiu $t9, $v0, 8 -/* 10B628 802A2018 AE190000 */ sw $t9, ($s0) -/* 10B62C 802A201C AC4C0004 */ sw $t4, 4($v0) -/* 10B630 802A2020 AC4B0000 */ sw $t3, ($v0) -/* 10B634 802A2024 8FA9018C */ lw $t1, 0x18c($sp) -/* 10B638 802A2028 85240006 */ lh $a0, 6($t1) -.L802A202C: -/* 10B63C 802A202C 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 10B640 802A2030 24010005 */ li $at, 5 -/* 10B644 802A2034 14810013 */ bne $a0, $at, .L802A2084 -/* 10B648 802A2038 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 10B64C 802A203C 27A40118 */ addiu $a0, $sp, 0x118 -/* 10B650 802A2040 8FA50038 */ lw $a1, 0x38($sp) -/* 10B654 802A2044 0C0AD7DD */ jal func_802B5F74 -/* 10B658 802A2048 25260010 */ addiu $a2, $t1, 0x10 -/* 10B65C 802A204C 27A40118 */ addiu $a0, $sp, 0x118 -/* 10B660 802A2050 0C0AD3FE */ jal func_802B4FF8 -/* 10B664 802A2054 00002825 */ move $a1, $zero -/* 10B668 802A2058 1040018B */ beqz $v0, .L802A2688 -/* 10B66C 802A205C 3C0F0600 */ lui $t7, 0x600 -/* 10B670 802A2060 8E020000 */ lw $v0, ($s0) -/* 10B674 802A2064 3C180D00 */ lui $t8, %hi(D_0D003008) # $t8, 0xd00 -/* 10B678 802A2068 27183008 */ addiu $t8, %lo(D_0D003008) # addiu $t8, $t8, 0x3008 -/* 10B67C 802A206C 244E0008 */ addiu $t6, $v0, 8 -/* 10B680 802A2070 AE0E0000 */ sw $t6, ($s0) -/* 10B684 802A2074 AC580004 */ sw $t8, 4($v0) -/* 10B688 802A2078 AC4F0000 */ sw $t7, ($v0) -/* 10B68C 802A207C 8FA9018C */ lw $t1, 0x18c($sp) -/* 10B690 802A2080 85240006 */ lh $a0, 6($t1) -.L802A2084: -/* 10B694 802A2084 24010003 */ li $at, 3 -/* 10B698 802A2088 10810073 */ beq $a0, $at, .L802A2258 -/* 10B69C 802A208C 25260010 */ addiu $a2, $t1, 0x10 -/* 10B6A0 802A2090 27A40118 */ addiu $a0, $sp, 0x118 -/* 10B6A4 802A2094 0C0AD7DD */ jal func_802B5F74 -/* 10B6A8 802A2098 8FA50038 */ lw $a1, 0x38($sp) -/* 10B6AC 802A209C 27A40118 */ addiu $a0, $sp, 0x118 -/* 10B6B0 802A20A0 0C0AD3FE */ jal func_802B4FF8 -/* 10B6B4 802A20A4 00002825 */ move $a1, $zero -/* 10B6B8 802A20A8 10400177 */ beqz $v0, .L802A2688 -/* 10B6BC 802A20AC 3C0AB600 */ lui $t2, 0xb600 -/* 10B6C0 802A20B0 8E020000 */ lw $v0, ($s0) -/* 10B6C4 802A20B4 3C0C0002 */ lui $t4, 2 -/* 10B6C8 802A20B8 3C0EFC12 */ lui $t6, (0xFC121824 >> 16) # lui $t6, 0xfc12 -/* 10B6CC 802A20BC 244B0008 */ addiu $t3, $v0, 8 -/* 10B6D0 802A20C0 AE0B0000 */ sw $t3, ($s0) -/* 10B6D4 802A20C4 AC4C0004 */ sw $t4, 4($v0) -/* 10B6D8 802A20C8 AC4A0000 */ sw $t2, ($v0) -/* 10B6DC 802A20CC 8E020000 */ lw $v0, ($s0) -/* 10B6E0 802A20D0 3C0FFF33 */ lui $t7, (0xFF33FFFF >> 16) # lui $t7, 0xff33 -/* 10B6E4 802A20D4 35EFFFFF */ ori $t7, (0xFF33FFFF & 0xFFFF) # ori $t7, $t7, 0xffff -/* 10B6E8 802A20D8 244D0008 */ addiu $t5, $v0, 8 -/* 10B6EC 802A20DC AE0D0000 */ sw $t5, ($s0) -/* 10B6F0 802A20E0 35CE1824 */ ori $t6, (0xFC121824 & 0xFFFF) # ori $t6, $t6, 0x1824 -/* 10B6F4 802A20E4 AC4E0000 */ sw $t6, ($v0) -/* 10B6F8 802A20E8 AC4F0004 */ sw $t7, 4($v0) -/* 10B6FC 802A20EC 8FB8018C */ lw $t8, 0x18c($sp) -/* 10B700 802A20F0 87030012 */ lh $v1, 0x12($t8) -/* 10B704 802A20F4 28610AA1 */ slti $at, $v1, 0xaa1 -/* 10B708 802A20F8 5020000D */ beql $at, $zero, .L802A2130 -/* 10B70C 802A20FC 28616AA5 */ slti $at, $v1, 0x6aa5 -/* 10B710 802A2100 1860000A */ blez $v1, .L802A212C -/* 10B714 802A2104 3C0BB900 */ lui $t3, (0xB900031D >> 16) # lui $t3, 0xb900 -/* 10B718 802A2108 8E020000 */ lw $v0, ($s0) -/* 10B71C 802A210C 3C0C0055 */ lui $t4, (0x00552078 >> 16) # lui $t4, 0x55 -/* 10B720 802A2110 358C2078 */ ori $t4, (0x00552078 & 0xFFFF) # ori $t4, $t4, 0x2078 -/* 10B724 802A2114 24590008 */ addiu $t9, $v0, 8 -/* 10B728 802A2118 AE190000 */ sw $t9, ($s0) -/* 10B72C 802A211C 356B031D */ ori $t3, (0xB900031D & 0xFFFF) # ori $t3, $t3, 0x31d -/* 10B730 802A2120 AC4B0000 */ sw $t3, ($v0) -/* 10B734 802A2124 1000003C */ b .L802A2218 -/* 10B738 802A2128 AC4C0004 */ sw $t4, 4($v0) -.L802A212C: -/* 10B73C 802A212C 28616AA5 */ slti $at, $v1, 0x6aa5 -.L802A2130: -/* 10B740 802A2130 1420000C */ bnez $at, .L802A2164 -/* 10B744 802A2134 2861754E */ slti $at, $v1, 0x754e -/* 10B748 802A2138 1020000A */ beqz $at, .L802A2164 -/* 10B74C 802A213C 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 10B750 802A2140 8E020000 */ lw $v0, ($s0) -/* 10B754 802A2144 3C0F0055 */ lui $t7, (0x00552078 >> 16) # lui $t7, 0x55 -/* 10B758 802A2148 35EF2078 */ ori $t7, (0x00552078 & 0xFFFF) # ori $t7, $t7, 0x2078 -/* 10B75C 802A214C 244D0008 */ addiu $t5, $v0, 8 -/* 10B760 802A2150 AE0D0000 */ sw $t5, ($s0) -/* 10B764 802A2154 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 10B768 802A2158 AC4E0000 */ sw $t6, ($v0) -/* 10B76C 802A215C 1000002E */ b .L802A2218 -/* 10B770 802A2160 AC4F0004 */ sw $t7, 4($v0) -.L802A2164: -/* 10B774 802A2164 286138E1 */ slti $at, $v1, 0x38e1 -/* 10B778 802A2168 1420000C */ bnez $at, .L802A219C -/* 10B77C 802A216C 2861438A */ slti $at, $v1, 0x438a -/* 10B780 802A2170 1020000A */ beqz $at, .L802A219C -/* 10B784 802A2174 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900 -/* 10B788 802A2178 8E020000 */ lw $v0, ($s0) -/* 10B78C 802A217C 3C0B0055 */ lui $t3, (0x00552078 >> 16) # lui $t3, 0x55 -/* 10B790 802A2180 356B2078 */ ori $t3, (0x00552078 & 0xFFFF) # ori $t3, $t3, 0x2078 -/* 10B794 802A2184 24580008 */ addiu $t8, $v0, 8 -/* 10B798 802A2188 AE180000 */ sw $t8, ($s0) -/* 10B79C 802A218C 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d -/* 10B7A0 802A2190 AC590000 */ sw $t9, ($v0) -/* 10B7A4 802A2194 10000020 */ b .L802A2218 -/* 10B7A8 802A2198 AC4B0004 */ sw $t3, 4($v0) -.L802A219C: -/* 10B7AC 802A219C 3401C711 */ li $at, 50961 -/* 10B7B0 802A21A0 0061082A */ slt $at, $v1, $at -/* 10B7B4 802A21A4 1420000E */ bnez $at, .L802A21E0 -/* 10B7B8 802A21A8 3C18C000 */ lui $t8, 0xc000 -/* 10B7BC 802A21AC 3401D1BA */ li $at, 53690 -/* 10B7C0 802A21B0 0061082A */ slt $at, $v1, $at -/* 10B7C4 802A21B4 1020000A */ beqz $at, .L802A21E0 -/* 10B7C8 802A21B8 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 -/* 10B7CC 802A21BC 8E020000 */ lw $v0, ($s0) -/* 10B7D0 802A21C0 3C0E0055 */ lui $t6, (0x00552078 >> 16) # lui $t6, 0x55 -/* 10B7D4 802A21C4 35CE2078 */ ori $t6, (0x00552078 & 0xFFFF) # ori $t6, $t6, 0x2078 -/* 10B7D8 802A21C8 244C0008 */ addiu $t4, $v0, 8 -/* 10B7DC 802A21CC AE0C0000 */ sw $t4, ($s0) -/* 10B7E0 802A21D0 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d -/* 10B7E4 802A21D4 AC4D0000 */ sw $t5, ($v0) -/* 10B7E8 802A21D8 1000000F */ b .L802A2218 -/* 10B7EC 802A21DC AC4E0004 */ sw $t6, 4($v0) -.L802A21E0: -/* 10B7F0 802A21E0 8E020000 */ lw $v0, ($s0) -/* 10B7F4 802A21E4 3C0BB900 */ lui $t3, (0xB900031D >> 16) # lui $t3, 0xb900 -/* 10B7F8 802A21E8 3C0C0050 */ lui $t4, (0x00504B50 >> 16) # lui $t4, 0x50 -/* 10B7FC 802A21EC 244F0008 */ addiu $t7, $v0, 8 -/* 10B800 802A21F0 AE0F0000 */ sw $t7, ($s0) -/* 10B804 802A21F4 AC400004 */ sw $zero, 4($v0) -/* 10B808 802A21F8 AC580000 */ sw $t8, ($v0) -/* 10B80C 802A21FC 8E020000 */ lw $v0, ($s0) -/* 10B810 802A2200 358C4B50 */ ori $t4, (0x00504B50 & 0xFFFF) # ori $t4, $t4, 0x4b50 -/* 10B814 802A2204 356B031D */ ori $t3, (0xB900031D & 0xFFFF) # ori $t3, $t3, 0x31d -/* 10B818 802A2208 24590008 */ addiu $t9, $v0, 8 -/* 10B81C 802A220C AE190000 */ sw $t9, ($s0) -/* 10B820 802A2210 AC4C0004 */ sw $t4, 4($v0) -/* 10B824 802A2214 AC4B0000 */ sw $t3, ($v0) -.L802A2218: -/* 10B828 802A2218 8E020000 */ lw $v0, ($s0) -/* 10B82C 802A221C 3C0EB700 */ lui $t6, 0xb700 -/* 10B830 802A2220 240F0200 */ li $t7, 512 -/* 10B834 802A2224 244D0008 */ addiu $t5, $v0, 8 -/* 10B838 802A2228 AE0D0000 */ sw $t5, ($s0) -/* 10B83C 802A222C AC4F0004 */ sw $t7, 4($v0) -/* 10B840 802A2230 AC4E0000 */ sw $t6, ($v0) -/* 10B844 802A2234 8E020000 */ lw $v0, ($s0) -/* 10B848 802A2238 3C0B0D00 */ lui $t3, %hi(D_0D003090) # $t3, 0xd00 -/* 10B84C 802A223C 256B3090 */ addiu $t3, %lo(D_0D003090) # addiu $t3, $t3, 0x3090 -/* 10B850 802A2240 24580008 */ addiu $t8, $v0, 8 -/* 10B854 802A2244 AE180000 */ sw $t8, ($s0) -/* 10B858 802A2248 3C190600 */ lui $t9, 0x600 -/* 10B85C 802A224C AC590000 */ sw $t9, ($v0) -/* 10B860 802A2250 10000105 */ b .L802A2668 -/* 10B864 802A2254 AC4B0004 */ sw $t3, 4($v0) -.L802A2258: -/* 10B868 802A2258 8E020000 */ lw $v0, ($s0) -/* 10B86C 802A225C 3C0AB600 */ lui $t2, 0xb600 -/* 10B870 802A2260 3C0D0002 */ lui $t5, 2 -/* 10B874 802A2264 244C0008 */ addiu $t4, $v0, 8 -/* 10B878 802A2268 AE0C0000 */ sw $t4, ($s0) -/* 10B87C 802A226C AC4D0004 */ sw $t5, 4($v0) -/* 10B880 802A2270 AC4A0000 */ sw $t2, ($v0) -/* 10B884 802A2274 8E020000 */ lw $v0, ($s0) -/* 10B888 802A2278 240F2000 */ li $t7, 8192 -/* 10B88C 802A227C 3C19C000 */ lui $t9, 0xc000 -/* 10B890 802A2280 244E0008 */ addiu $t6, $v0, 8 -/* 10B894 802A2284 AE0E0000 */ sw $t6, ($s0) -/* 10B898 802A2288 AC4F0004 */ sw $t7, 4($v0) -/* 10B89C 802A228C AC4A0000 */ sw $t2, ($v0) -/* 10B8A0 802A2290 8E020000 */ lw $v0, ($s0) -/* 10B8A4 802A2294 27A40118 */ addiu $a0, $sp, 0x118 -/* 10B8A8 802A2298 24580008 */ addiu $t8, $v0, 8 -/* 10B8AC 802A229C AE180000 */ sw $t8, ($s0) -/* 10B8B0 802A22A0 AC400004 */ sw $zero, 4($v0) -/* 10B8B4 802A22A4 AC590000 */ sw $t9, ($v0) -/* 10B8B8 802A22A8 852B0004 */ lh $t3, 4($t1) -/* 10B8BC 802A22AC 8FA50038 */ lw $a1, 0x38($sp) -/* 10B8C0 802A22B0 448B9000 */ mtc1 $t3, $f18 -/* 10B8C4 802A22B4 00000000 */ nop -/* 10B8C8 802A22B8 46809120 */ cvt.s.w $f4, $f18 -/* 10B8CC 802A22BC 0C0AD7DD */ jal func_802B5F74 -/* 10B8D0 802A22C0 E7A4015C */ swc1 $f4, 0x15c($sp) -/* 10B8D4 802A22C4 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 10B8D8 802A22C8 44811000 */ mtc1 $at, $f2 -/* 10B8DC 802A22CC C7AC015C */ lwc1 $f12, 0x15c($sp) -/* 10B8E0 802A22D0 3C01802C */ lui $at, %hi(D_802B9A0C) # $at, 0x802c -/* 10B8E4 802A22D4 4602603C */ c.lt.s $f12, $f2 -/* 10B8E8 802A22D8 00000000 */ nop -/* 10B8EC 802A22DC 45020006 */ bc1fl .L802A22F8 -/* 10B8F0 802A22E0 46026181 */ sub.s $f6, $f12, $f2 -/* 10B8F4 802A22E4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 10B8F8 802A22E8 44810000 */ mtc1 $at, $f0 -/* 10B8FC 802A22EC 10000008 */ b .L802A2310 -/* 10B900 802A22F0 44050000 */ mfc1 $a1, $f0 -/* 10B904 802A22F4 46026181 */ sub.s $f6, $f12, $f2 -.L802A22F8: -/* 10B908 802A22F8 C4289A0C */ lwc1 $f8, %lo(D_802B9A0C)($at) -/* 10B90C 802A22FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 10B910 802A2300 44818000 */ mtc1 $at, $f16 -/* 10B914 802A2304 46083282 */ mul.s $f10, $f6, $f8 -/* 10B918 802A2308 460A8001 */ sub.s $f0, $f16, $f10 -/* 10B91C 802A230C 44050000 */ mfc1 $a1, $f0 -.L802A2310: -/* 10B920 802A2310 0C0AD7C0 */ jal func_802B5F00 -/* 10B924 802A2314 27A40118 */ addiu $a0, $sp, 0x118 -/* 10B928 802A2318 8FAC018C */ lw $t4, 0x18c($sp) -/* 10B92C 802A231C 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 10B930 802A2320 44809000 */ mtc1 $zero, $f18 -/* 10B934 802A2324 858D0004 */ lh $t5, 4($t4) -/* 10B938 802A2328 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 -/* 10B93C 802A232C 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 10B940 802A2330 31AE0001 */ andi $t6, $t5, 1 -/* 10B944 802A2334 11C00009 */ beqz $t6, .L802A235C -/* 10B948 802A2338 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d -/* 10B94C 802A233C 8E020000 */ lw $v0, ($s0) -/* 10B950 802A2340 3C190055 */ lui $t9, (0x00552078 >> 16) # lui $t9, 0x55 -/* 10B954 802A2344 37392078 */ ori $t9, (0x00552078 & 0xFFFF) # ori $t9, $t9, 0x2078 -/* 10B958 802A2348 244F0008 */ addiu $t7, $v0, 8 -/* 10B95C 802A234C AE0F0000 */ sw $t7, ($s0) -/* 10B960 802A2350 AC590004 */ sw $t9, 4($v0) -/* 10B964 802A2354 10000008 */ b .L802A2378 -/* 10B968 802A2358 AC580000 */ sw $t8, ($v0) -.L802A235C: -/* 10B96C 802A235C 8E020000 */ lw $v0, ($s0) -/* 10B970 802A2360 3C0D0040 */ lui $t5, (0x004045D8 >> 16) # lui $t5, 0x40 -/* 10B974 802A2364 35AD45D8 */ ori $t5, (0x004045D8 & 0xFFFF) # ori $t5, $t5, 0x45d8 -/* 10B978 802A2368 244B0008 */ addiu $t3, $v0, 8 -/* 10B97C 802A236C AE0B0000 */ sw $t3, ($s0) -/* 10B980 802A2370 AC4D0004 */ sw $t5, 4($v0) -/* 10B984 802A2374 AC4C0000 */ sw $t4, ($v0) -.L802A2378: -/* 10B988 802A2378 C7A0015C */ lwc1 $f0, 0x15c($sp) -/* 10B98C 802A237C E7B20174 */ swc1 $f18, 0x174($sp) -/* 10B990 802A2380 27A40118 */ addiu $a0, $sp, 0x118 -/* 10B994 802A2384 46000080 */ add.s $f2, $f0, $f0 -/* 10B998 802A2388 27A500D8 */ addiu $a1, $sp, 0xd8 -/* 10B99C 802A238C 27A60174 */ addiu $a2, $sp, 0x174 -/* 10B9A0 802A2390 E7A0017C */ swc1 $f0, 0x17c($sp) -/* 10B9A4 802A2394 E7A20178 */ swc1 $f2, 0x178($sp) -/* 10B9A8 802A2398 0C0AD514 */ jal func_802B5450 -/* 10B9AC 802A239C E7A20038 */ swc1 $f2, 0x38($sp) -/* 10B9B0 802A23A0 27A400D8 */ addiu $a0, $sp, 0xd8 -/* 10B9B4 802A23A4 0C0AD3FE */ jal func_802B4FF8 -/* 10B9B8 802A23A8 00002825 */ move $a1, $zero -/* 10B9BC 802A23AC 104000B6 */ beqz $v0, .L802A2688 -/* 10B9C0 802A23B0 C7A0015C */ lwc1 $f0, 0x15c($sp) -/* 10B9C4 802A23B4 8E020000 */ lw $v0, ($s0) -/* 10B9C8 802A23B8 3C180D00 */ lui $t8, %hi(D_0D003158) # $t8, 0xd00 -/* 10B9CC 802A23BC 27183158 */ addiu $t8, %lo(D_0D003158) # addiu $t8, $t8, 0x3158 -/* 10B9D0 802A23C0 244E0008 */ addiu $t6, $v0, 8 -/* 10B9D4 802A23C4 AE0E0000 */ sw $t6, ($s0) -/* 10B9D8 802A23C8 3C0F0600 */ lui $t7, 0x600 -/* 10B9DC 802A23CC 3C01802C */ lui $at, %hi(D_802B9A10) # $at, 0x802c -/* 10B9E0 802A23D0 AC4F0000 */ sw $t7, ($v0) -/* 10B9E4 802A23D4 AC580004 */ sw $t8, 4($v0) -/* 10B9E8 802A23D8 C4249A10 */ lwc1 $f4, %lo(D_802B9A10)($at) -/* 10B9EC 802A23DC 3C01802C */ lui $at, %hi(D_802B9A14) # $at, 0x802c -/* 10B9F0 802A23E0 C4269A14 */ lwc1 $f6, %lo(D_802B9A14)($at) -/* 10B9F4 802A23E4 46002082 */ mul.s $f2, $f4, $f0 -/* 10B9F8 802A23E8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 10B9FC 802A23EC 44818000 */ mtc1 $at, $f16 -/* 10BA00 802A23F0 46003202 */ mul.s $f8, $f6, $f0 -/* 10BA04 802A23F4 27A40118 */ addiu $a0, $sp, 0x118 -/* 10BA08 802A23F8 27A500D8 */ addiu $a1, $sp, 0xd8 -/* 10BA0C 802A23FC 46008302 */ mul.s $f12, $f16, $f0 -/* 10BA10 802A2400 E7A20174 */ swc1 $f2, 0x174($sp) -/* 10BA14 802A2404 E7A20034 */ swc1 $f2, 0x34($sp) -/* 10BA18 802A2408 27A60174 */ addiu $a2, $sp, 0x174 -/* 10BA1C 802A240C E7A80178 */ swc1 $f8, 0x178($sp) -/* 10BA20 802A2410 E7AC017C */ swc1 $f12, 0x17c($sp) -/* 10BA24 802A2414 0C0AD514 */ jal func_802B5450 -/* 10BA28 802A2418 E7AC0030 */ swc1 $f12, 0x30($sp) -/* 10BA2C 802A241C 27A400D8 */ addiu $a0, $sp, 0xd8 -/* 10BA30 802A2420 0C0AD3FE */ jal func_802B4FF8 -/* 10BA34 802A2424 00002825 */ move $a1, $zero -/* 10BA38 802A2428 10400097 */ beqz $v0, .L802A2688 -/* 10BA3C 802A242C C7A2015C */ lwc1 $f2, 0x15c($sp) -/* 10BA40 802A2430 8E020000 */ lw $v0, ($s0) -/* 10BA44 802A2434 3C0C0D00 */ lui $t4, %hi(D_0D0031B8) # $t4, 0xd00 -/* 10BA48 802A2438 258C31B8 */ addiu $t4, %lo(D_0D0031B8) # addiu $t4, $t4, 0x31b8 -/* 10BA4C 802A243C 24590008 */ addiu $t9, $v0, 8 -/* 10BA50 802A2440 AE190000 */ sw $t9, ($s0) -/* 10BA54 802A2444 3C0B0600 */ lui $t3, 0x600 -/* 10BA58 802A2448 3C01802C */ lui $at, %hi(D_802B9A18) # $at, 0x802c -/* 10BA5C 802A244C AC4B0000 */ sw $t3, ($v0) -/* 10BA60 802A2450 AC4C0004 */ sw $t4, 4($v0) -/* 10BA64 802A2454 C4329A18 */ lwc1 $f18, %lo(D_802B9A18)($at) -/* 10BA68 802A2458 3C01BF00 */ li $at, 0xBF000000 # -0.500000 -/* 10BA6C 802A245C 44813000 */ mtc1 $at, $f6 -/* 10BA70 802A2460 46029102 */ mul.s $f4, $f18, $f2 -/* 10BA74 802A2464 C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 10BA78 802A2468 27A40118 */ addiu $a0, $sp, 0x118 -/* 10BA7C 802A246C 46023002 */ mul.s $f0, $f6, $f2 -/* 10BA80 802A2470 27A500D8 */ addiu $a1, $sp, 0xd8 -/* 10BA84 802A2474 27A60174 */ addiu $a2, $sp, 0x174 -/* 10BA88 802A2478 E7AA0174 */ swc1 $f10, 0x174($sp) -/* 10BA8C 802A247C E7A40178 */ swc1 $f4, 0x178($sp) -/* 10BA90 802A2480 E7A0017C */ swc1 $f0, 0x17c($sp) -/* 10BA94 802A2484 0C0AD514 */ jal func_802B5450 -/* 10BA98 802A2488 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 10BA9C 802A248C 27A400D8 */ addiu $a0, $sp, 0xd8 -/* 10BAA0 802A2490 0C0AD3FE */ jal func_802B4FF8 -/* 10BAA4 802A2494 00002825 */ move $a1, $zero -/* 10BAA8 802A2498 1040007B */ beqz $v0, .L802A2688 -/* 10BAAC 802A249C 3C0E0600 */ lui $t6, 0x600 -/* 10BAB0 802A24A0 8E020000 */ lw $v0, ($s0) -/* 10BAB4 802A24A4 3C0F0D00 */ lui $t7, %hi(D_0D003128) # $t7, 0xd00 -/* 10BAB8 802A24A8 25EF3128 */ addiu $t7, %lo(D_0D003128) # addiu $t7, $t7, 0x3128 -/* 10BABC 802A24AC 244D0008 */ addiu $t5, $v0, 8 -/* 10BAC0 802A24B0 AE0D0000 */ sw $t5, ($s0) -/* 10BAC4 802A24B4 AC4F0004 */ sw $t7, 4($v0) -/* 10BAC8 802A24B8 AC4E0000 */ sw $t6, ($v0) -/* 10BACC 802A24BC 8FB8018C */ lw $t8, 0x18c($sp) -/* 10BAD0 802A24C0 3C0DB900 */ lui $t5, (0xB900031D >> 16) # lui $t5, 0xb900 -/* 10BAD4 802A24C4 35AD031D */ ori $t5, (0xB900031D & 0xFFFF) # ori $t5, $t5, 0x31d -/* 10BAD8 802A24C8 87190004 */ lh $t9, 4($t8) -/* 10BADC 802A24CC 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 10BAE0 802A24D0 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 10BAE4 802A24D4 332B0001 */ andi $t3, $t9, 1 -/* 10BAE8 802A24D8 15600009 */ bnez $t3, .L802A2500 -/* 10BAEC 802A24DC 3C01802C */ lui $at, %hi(D_802B9A1C) # $at, 0x802c -/* 10BAF0 802A24E0 8E020000 */ lw $v0, ($s0) -/* 10BAF4 802A24E4 3C0E0055 */ lui $t6, (0x00552078 >> 16) # lui $t6, 0x55 -/* 10BAF8 802A24E8 35CE2078 */ ori $t6, (0x00552078 & 0xFFFF) # ori $t6, $t6, 0x2078 -/* 10BAFC 802A24EC 244C0008 */ addiu $t4, $v0, 8 -/* 10BB00 802A24F0 AE0C0000 */ sw $t4, ($s0) -/* 10BB04 802A24F4 AC4E0004 */ sw $t6, 4($v0) -/* 10BB08 802A24F8 10000008 */ b .L802A251C -/* 10BB0C 802A24FC AC4D0000 */ sw $t5, ($v0) -.L802A2500: -/* 10BB10 802A2500 8E020000 */ lw $v0, ($s0) -/* 10BB14 802A2504 3C190040 */ lui $t9, (0x004045D8 >> 16) # lui $t9, 0x40 -/* 10BB18 802A2508 373945D8 */ ori $t9, (0x004045D8 & 0xFFFF) # ori $t9, $t9, 0x45d8 -/* 10BB1C 802A250C 244F0008 */ addiu $t7, $v0, 8 -/* 10BB20 802A2510 AE0F0000 */ sw $t7, ($s0) -/* 10BB24 802A2514 AC590004 */ sw $t9, 4($v0) -/* 10BB28 802A2518 AC580000 */ sw $t8, ($v0) -.L802A251C: -/* 10BB2C 802A251C C4309A1C */ lwc1 $f16, %lo(D_802B9A1C)($at) -/* 10BB30 802A2520 C7AA015C */ lwc1 $f10, 0x15c($sp) -/* 10BB34 802A2524 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 10BB38 802A2528 44812000 */ mtc1 $at, $f4 -/* 10BB3C 802A252C 460A8482 */ mul.s $f18, $f16, $f10 -/* 10BB40 802A2530 44804000 */ mtc1 $zero, $f8 -/* 10BB44 802A2534 27A40118 */ addiu $a0, $sp, 0x118 -/* 10BB48 802A2538 460A2182 */ mul.s $f6, $f4, $f10 -/* 10BB4C 802A253C 27A500D8 */ addiu $a1, $sp, 0xd8 -/* 10BB50 802A2540 27A60174 */ addiu $a2, $sp, 0x174 -/* 10BB54 802A2544 E7A80174 */ swc1 $f8, 0x174($sp) -/* 10BB58 802A2548 E7B20178 */ swc1 $f18, 0x178($sp) -/* 10BB5C 802A254C 0C0AD514 */ jal func_802B5450 -/* 10BB60 802A2550 E7A6017C */ swc1 $f6, 0x17c($sp) -/* 10BB64 802A2554 27A400D8 */ addiu $a0, $sp, 0xd8 -/* 10BB68 802A2558 0C0AD3FE */ jal func_802B4FF8 -/* 10BB6C 802A255C 00002825 */ move $a1, $zero -/* 10BB70 802A2560 10400049 */ beqz $v0, .L802A2688 -/* 10BB74 802A2564 3C0C0600 */ lui $t4, 0x600 -/* 10BB78 802A2568 8E020000 */ lw $v0, ($s0) -/* 10BB7C 802A256C 3C0D0D00 */ lui $t5, %hi(D_0D0031E8) # $t5, 0xd00 -/* 10BB80 802A2570 25AD31E8 */ addiu $t5, %lo(D_0D0031E8) # addiu $t5, $t5, 0x31e8 -/* 10BB84 802A2574 244B0008 */ addiu $t3, $v0, 8 -/* 10BB88 802A2578 AE0B0000 */ sw $t3, ($s0) -/* 10BB8C 802A257C AC4D0004 */ sw $t5, 4($v0) -/* 10BB90 802A2580 AC4C0000 */ sw $t4, ($v0) -/* 10BB94 802A2584 3C01802C */ lui $at, %hi(D_802B9A20) # $at, 0x802c -/* 10BB98 802A2588 C4289A20 */ lwc1 $f8, %lo(D_802B9A20)($at) -/* 10BB9C 802A258C C7B0015C */ lwc1 $f16, 0x15c($sp) -/* 10BBA0 802A2590 3C01802C */ lui $at, %hi(D_802B9A24) # $at, 0x802c -/* 10BBA4 802A2594 C4329A24 */ lwc1 $f18, %lo(D_802B9A24)($at) -/* 10BBA8 802A2598 46104002 */ mul.s $f0, $f8, $f16 -/* 10BBAC 802A259C C7AA002C */ lwc1 $f10, 0x2c($sp) -/* 10BBB0 802A25A0 27A40118 */ addiu $a0, $sp, 0x118 -/* 10BBB4 802A25A4 46109102 */ mul.s $f4, $f18, $f16 -/* 10BBB8 802A25A8 27A500D8 */ addiu $a1, $sp, 0xd8 -/* 10BBBC 802A25AC 27A60174 */ addiu $a2, $sp, 0x174 -/* 10BBC0 802A25B0 E7AA017C */ swc1 $f10, 0x17c($sp) -/* 10BBC4 802A25B4 E7A00174 */ swc1 $f0, 0x174($sp) -/* 10BBC8 802A25B8 E7A00034 */ swc1 $f0, 0x34($sp) -/* 10BBCC 802A25BC 0C0AD514 */ jal func_802B5450 -/* 10BBD0 802A25C0 E7A40178 */ swc1 $f4, 0x178($sp) -/* 10BBD4 802A25C4 27A400D8 */ addiu $a0, $sp, 0xd8 -/* 10BBD8 802A25C8 0C0AD3FE */ jal func_802B4FF8 -/* 10BBDC 802A25CC 00002825 */ move $a1, $zero -/* 10BBE0 802A25D0 1040002D */ beqz $v0, .L802A2688 -/* 10BBE4 802A25D4 3C0F0600 */ lui $t7, 0x600 -/* 10BBE8 802A25D8 8E020000 */ lw $v0, ($s0) -/* 10BBEC 802A25DC 3C180D00 */ lui $t8, %hi(D_0D003188) # $t8, 0xd00 -/* 10BBF0 802A25E0 27183188 */ addiu $t8, %lo(D_0D003188) # addiu $t8, $t8, 0x3188 -/* 10BBF4 802A25E4 244E0008 */ addiu $t6, $v0, 8 -/* 10BBF8 802A25E8 AE0E0000 */ sw $t6, ($s0) -/* 10BBFC 802A25EC AC580004 */ sw $t8, 4($v0) -/* 10BC00 802A25F0 AC4F0000 */ sw $t7, ($v0) -/* 10BC04 802A25F4 C7A60034 */ lwc1 $f6, 0x34($sp) -/* 10BC08 802A25F8 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 10BC0C 802A25FC C7B20030 */ lwc1 $f18, 0x30($sp) -/* 10BC10 802A2600 27A40118 */ addiu $a0, $sp, 0x118 -/* 10BC14 802A2604 27A500D8 */ addiu $a1, $sp, 0xd8 -/* 10BC18 802A2608 27A60174 */ addiu $a2, $sp, 0x174 -/* 10BC1C 802A260C E7A60174 */ swc1 $f6, 0x174($sp) -/* 10BC20 802A2610 E7A80178 */ swc1 $f8, 0x178($sp) -/* 10BC24 802A2614 0C0AD514 */ jal func_802B5450 -/* 10BC28 802A2618 E7B2017C */ swc1 $f18, 0x17c($sp) -/* 10BC2C 802A261C 27A400D8 */ addiu $a0, $sp, 0xd8 -/* 10BC30 802A2620 0C0AD3FE */ jal func_802B4FF8 -/* 10BC34 802A2624 00002825 */ move $a1, $zero -/* 10BC38 802A2628 10400017 */ beqz $v0, .L802A2688 -/* 10BC3C 802A262C 3C0B0600 */ lui $t3, 0x600 -/* 10BC40 802A2630 8E020000 */ lw $v0, ($s0) -/* 10BC44 802A2634 3C0C0D00 */ lui $t4, %hi(D_0D0030F8) # $t4, 0xd00 -/* 10BC48 802A2638 258C30F8 */ addiu $t4, %lo(D_0D0030F8) # addiu $t4, $t4, 0x30f8 -/* 10BC4C 802A263C 24590008 */ addiu $t9, $v0, 8 -/* 10BC50 802A2640 AE190000 */ sw $t9, ($s0) -/* 10BC54 802A2644 AC4C0004 */ sw $t4, 4($v0) -/* 10BC58 802A2648 AC4B0000 */ sw $t3, ($v0) -/* 10BC5C 802A264C 8E020000 */ lw $v0, ($s0) -/* 10BC60 802A2650 3C0EB700 */ lui $t6, 0xb700 -/* 10BC64 802A2654 240F2000 */ li $t7, 8192 -/* 10BC68 802A2658 244D0008 */ addiu $t5, $v0, 8 -/* 10BC6C 802A265C AE0D0000 */ sw $t5, ($s0) -/* 10BC70 802A2660 AC4F0004 */ sw $t7, 4($v0) -/* 10BC74 802A2664 AC4E0000 */ sw $t6, ($v0) -.L802A2668: -/* 10BC78 802A2668 8E020000 */ lw $v0, ($s0) -/* 10BC7C 802A266C 3C19BB00 */ lui $t9, (0xBB000001 >> 16) # lui $t9, 0xbb00 -/* 10BC80 802A2670 37390001 */ ori $t9, (0xBB000001 & 0xFFFF) # ori $t9, $t9, 1 -/* 10BC84 802A2674 24580008 */ addiu $t8, $v0, 8 -/* 10BC88 802A2678 AE180000 */ sw $t8, ($s0) -/* 10BC8C 802A267C 240BFFFF */ li $t3, -1 -/* 10BC90 802A2680 AC4B0004 */ sw $t3, 4($v0) -/* 10BC94 802A2684 AC590000 */ sw $t9, ($v0) -.L802A2688: -/* 10BC98 802A2688 8FBF0024 */ lw $ra, 0x24($sp) -.L802A268C: -/* 10BC9C 802A268C 8FB00020 */ lw $s0, 0x20($sp) -/* 10BCA0 802A2690 27BD0188 */ addiu $sp, $sp, 0x188 -/* 10BCA4 802A2694 03E00008 */ jr $ra -/* 10BCA8 802A2698 00000000 */ nop diff --git a/asm/non_matchings/actors/place_falling_rocks.s b/asm/non_matchings/actors/place_falling_rocks.s deleted file mode 100644 index c7419d561..000000000 --- a/asm/non_matchings/actors/place_falling_rocks.s +++ /dev/null @@ -1,95 +0,0 @@ -glabel place_falling_rocks -/* 106628 8029D018 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 10662C 8029D01C 00047602 */ srl $t6, $a0, 0x18 -/* 106630 8029D020 000E7880 */ sll $t7, $t6, 2 -/* 106634 8029D024 3C188015 */ lui $t8, %hi(gSegmentTable) -/* 106638 8029D028 030FC021 */ addu $t8, $t8, $t7 -/* 10663C 8029D02C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 106640 8029D030 8F180258 */ lw $t8, %lo(gSegmentTable)($t8) -/* 106644 8029D034 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 106648 8029D038 0081C824 */ and $t9, $a0, $at -/* 10664C 8029D03C AFB00024 */ sw $s0, 0x24($sp) -/* 106650 8029D040 3C018000 */ lui $at, 0x8000 -/* 106654 8029D044 03198021 */ addu $s0, $t8, $t9 -/* 106658 8029D048 AFBF0044 */ sw $ra, 0x44($sp) -/* 10665C 8029D04C AFB70040 */ sw $s7, 0x40($sp) -/* 106660 8029D050 AFB6003C */ sw $s6, 0x3c($sp) -/* 106664 8029D054 AFB50038 */ sw $s5, 0x38($sp) -/* 106668 8029D058 AFB40034 */ sw $s4, 0x34($sp) -/* 10666C 8029D05C AFB30030 */ sw $s3, 0x30($sp) -/* 106670 8029D060 AFB2002C */ sw $s2, 0x2c($sp) -/* 106674 8029D064 AFB10028 */ sw $s1, 0x28($sp) -/* 106678 8029D068 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 10667C 8029D06C F7B40010 */ sdc1 $f20, 0x10($sp) -/* 106680 8029D070 02018021 */ addu $s0, $s0, $at -/* 106684 8029D074 86020000 */ lh $v0, ($s0) -/* 106688 8029D078 24178000 */ li $s7, -32768 -/* 10668C 8029D07C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 106690 8029D080 12E20034 */ beq $s7, $v0, .L8029D154 -/* 106694 8029D084 24160070 */ li $s6, 112 -/* 106698 8029D088 3C158016 */ lui $s5, %hi(gActorList) # $s5, 0x8016 -/* 10669C 8029D08C 3C138016 */ lui $s3, %hi(gCourseDirection) # $s3, 0x8016 -/* 1066A0 8029D090 4481B000 */ mtc1 $at, $f22 -/* 1066A4 8029D094 4480A000 */ mtc1 $zero, $f20 -/* 1066A8 8029D098 2673F784 */ addiu $s3, %lo(gCourseDirection) # addiu $s3, $s3, -0x87c -/* 1066AC 8029D09C 26B5F9B8 */ addiu $s5, %lo(gActorList) # addiu $s5, $s5, -0x648 -/* 1066B0 8029D0A0 27B40064 */ addiu $s4, $sp, 0x64 -/* 1066B4 8029D0A4 27B20050 */ addiu $s2, $sp, 0x50 -/* 1066B8 8029D0A8 27B10058 */ addiu $s1, $sp, 0x58 -/* 1066BC 8029D0AC 44822000 */ mtc1 $v0, $f4 -.L8029D0B0: -/* 1066C0 8029D0B0 C6680000 */ lwc1 $f8, ($s3) -/* 1066C4 8029D0B4 4405A000 */ mfc1 $a1, $f20 -/* 1066C8 8029D0B8 468021A0 */ cvt.s.w $f6, $f4 -/* 1066CC 8029D0BC 4406A000 */ mfc1 $a2, $f20 -/* 1066D0 8029D0C0 4407A000 */ mfc1 $a3, $f20 -/* 1066D4 8029D0C4 02202025 */ move $a0, $s1 -/* 1066D8 8029D0C8 46083282 */ mul.s $f10, $f6, $f8 -/* 1066DC 8029D0CC E7AA0064 */ swc1 $f10, 0x64($sp) -/* 1066E0 8029D0D0 86080002 */ lh $t0, 2($s0) -/* 1066E4 8029D0D4 44888000 */ mtc1 $t0, $f16 -/* 1066E8 8029D0D8 00000000 */ nop -/* 1066EC 8029D0DC 468084A0 */ cvt.s.w $f18, $f16 -/* 1066F0 8029D0E0 46169100 */ add.s $f4, $f18, $f22 -/* 1066F4 8029D0E4 E7A40068 */ swc1 $f4, 0x68($sp) -/* 1066F8 8029D0E8 86090004 */ lh $t1, 4($s0) -/* 1066FC 8029D0EC 44893000 */ mtc1 $t1, $f6 -/* 106700 8029D0F0 00000000 */ nop -/* 106704 8029D0F4 46803220 */ cvt.s.w $f8, $f6 -/* 106708 8029D0F8 0C0AD4A7 */ jal vec3f_set -/* 10670C 8029D0FC E7A8006C */ swc1 $f8, 0x6c($sp) -/* 106710 8029D100 02402025 */ move $a0, $s2 -/* 106714 8029D104 00002825 */ move $a1, $zero -/* 106718 8029D108 00003025 */ move $a2, $zero -/* 10671C 8029D10C 0C0AD4AF */ jal vec3s_set -/* 106720 8029D110 00003825 */ move $a3, $zero -/* 106724 8029D114 02802025 */ move $a0, $s4 -/* 106728 8029D118 02402825 */ move $a1, $s2 -/* 10672C 8029D11C 02203025 */ move $a2, $s1 -/* 106730 8029D120 0C0A7B22 */ jal func_8029EC88 -/* 106734 8029D124 24070005 */ li $a3, 5 -/* 106738 8029D128 00560019 */ multu $v0, $s6 -/* 10673C 8029D12C 960B0006 */ lhu $t3, 6($s0) -/* 106740 8029D130 00005012 */ mflo $t2 -/* 106744 8029D134 02AA1821 */ addu $v1, $s5, $t2 -/* 106748 8029D138 24640030 */ addiu $a0, $v1, 0x30 -/* 10674C 8029D13C 0C0AAAAB */ jal func_802AAAAC -/* 106750 8029D140 A46B0006 */ sh $t3, 6($v1) -/* 106754 8029D144 86020008 */ lh $v0, 8($s0) -/* 106758 8029D148 26100008 */ addiu $s0, $s0, 8 -/* 10675C 8029D14C 56E2FFD8 */ bnel $s7, $v0, .L8029D0B0 -/* 106760 8029D150 44822000 */ mtc1 $v0, $f4 -.L8029D154: -/* 106764 8029D154 8FBF0044 */ lw $ra, 0x44($sp) -/* 106768 8029D158 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 10676C 8029D15C D7B60018 */ ldc1 $f22, 0x18($sp) -/* 106770 8029D160 8FB00024 */ lw $s0, 0x24($sp) -/* 106774 8029D164 8FB10028 */ lw $s1, 0x28($sp) -/* 106778 8029D168 8FB2002C */ lw $s2, 0x2c($sp) -/* 10677C 8029D16C 8FB30030 */ lw $s3, 0x30($sp) -/* 106780 8029D170 8FB40034 */ lw $s4, 0x34($sp) -/* 106784 8029D174 8FB50038 */ lw $s5, 0x38($sp) -/* 106788 8029D178 8FB6003C */ lw $s6, 0x3c($sp) -/* 10678C 8029D17C 8FB70040 */ lw $s7, 0x40($sp) -/* 106790 8029D180 03E00008 */ jr $ra -/* 106794 8029D184 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/non_matchings/actors/place_segment_06.s b/asm/non_matchings/actors/place_segment_06.s deleted file mode 100644 index 46ff05a0e..000000000 --- a/asm/non_matchings/actors/place_segment_06.s +++ /dev/null @@ -1,192 +0,0 @@ -glabel place_segment_06 -/* 106B94 8029D584 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 106B98 8029D588 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 106B9C 8029D58C 00047602 */ srl $t6, $a0, 0x18 -/* 106BA0 8029D590 4480A000 */ mtc1 $zero, $f20 -/* 106BA4 8029D594 000E7880 */ sll $t7, $t6, 2 -/* 106BA8 8029D598 3C188015 */ lui $t8, %hi(gSegmentTable) -/* 106BAC 8029D59C 030FC021 */ addu $t8, $t8, $t7 -/* 106BB0 8029D5A0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 106BB4 8029D5A4 8F180258 */ lw $t8, %lo(gSegmentTable)($t8) -/* 106BB8 8029D5A8 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 106BBC 8029D5AC 0081C824 */ and $t9, $a0, $at -/* 106BC0 8029D5B0 AFB3003C */ sw $s3, 0x3c($sp) -/* 106BC4 8029D5B4 AFBF0054 */ sw $ra, 0x54($sp) -/* 106BC8 8029D5B8 3C018000 */ lui $at, 0x8000 -/* 106BCC 8029D5BC 4405A000 */ mfc1 $a1, $f20 -/* 106BD0 8029D5C0 4406A000 */ mfc1 $a2, $f20 -/* 106BD4 8029D5C4 4407A000 */ mfc1 $a3, $f20 -/* 106BD8 8029D5C8 03199821 */ addu $s3, $t8, $t9 -/* 106BDC 8029D5CC AFBE0050 */ sw $fp, 0x50($sp) -/* 106BE0 8029D5D0 AFB7004C */ sw $s7, 0x4c($sp) -/* 106BE4 8029D5D4 AFB60048 */ sw $s6, 0x48($sp) -/* 106BE8 8029D5D8 AFB50044 */ sw $s5, 0x44($sp) -/* 106BEC 8029D5DC AFB40040 */ sw $s4, 0x40($sp) -/* 106BF0 8029D5E0 AFB20038 */ sw $s2, 0x38($sp) -/* 106BF4 8029D5E4 AFB10034 */ sw $s1, 0x34($sp) -/* 106BF8 8029D5E8 AFB00030 */ sw $s0, 0x30($sp) -/* 106BFC 8029D5EC F7B60028 */ sdc1 $f22, 0x28($sp) -/* 106C00 8029D5F0 02619821 */ addu $s3, $s3, $at -/* 106C04 8029D5F4 0C0AD4A7 */ jal vec3f_set -/* 106C08 8029D5F8 27A40080 */ addiu $a0, $sp, 0x80 -/* 106C0C 8029D5FC 24084000 */ li $t0, 16384 -/* 106C10 8029D600 A7A80078 */ sh $t0, 0x78($sp) -/* 106C14 8029D604 A7A0007A */ sh $zero, 0x7a($sp) -/* 106C18 8029D608 A7A0007C */ sh $zero, 0x7c($sp) -/* 106C1C 8029D60C 86620000 */ lh $v0, ($s3) -/* 106C20 8029D610 24018000 */ li $at, -32768 -/* 106C24 8029D614 3C1E8016 */ lui $fp, %hi(gActorList) # $fp, 0x8016 -/* 106C28 8029D618 10410077 */ beq $v0, $at, .L8029D7F8 -/* 106C2C 8029D61C 27DEF9B8 */ addiu $fp, %lo(gActorList) # addiu $fp, $fp, -0x648 -/* 106C30 8029D620 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 106C34 8029D624 3C17800E */ lui $s7, %hi(gCurrentCourseId) # $s7, 0x800e -/* 106C38 8029D628 3C168016 */ lui $s6, %hi(gCourseDirection) # $s6, 0x8016 -/* 106C3C 8029D62C 4481B000 */ mtc1 $at, $f22 -/* 106C40 8029D630 26D6F784 */ addiu $s6, %lo(gCourseDirection) # addiu $s6, $s6, -0x87c -/* 106C44 8029D634 26F7C5A0 */ addiu $s7, %lo(gCurrentCourseId) # addiu $s7, $s7, -0x3a60 -/* 106C48 8029D638 24150007 */ li $s5, 7 -/* 106C4C 8029D63C 24140006 */ li $s4, 6 -/* 106C50 8029D640 87B20074 */ lh $s2, 0x74($sp) -/* 106C54 8029D644 44822000 */ mtc1 $v0, $f4 -.L8029D648: -/* 106C58 8029D648 C6C80000 */ lwc1 $f8, ($s6) -/* 106C5C 8029D64C 96EB0000 */ lhu $t3, ($s7) -/* 106C60 8029D650 468021A0 */ cvt.s.w $f6, $f4 -/* 106C64 8029D654 2D61000C */ sltiu $at, $t3, 0xc -/* 106C68 8029D658 000B5880 */ sll $t3, $t3, 2 -/* 106C6C 8029D65C 46083282 */ mul.s $f10, $f6, $f8 -/* 106C70 8029D660 E7AA008C */ swc1 $f10, 0x8c($sp) -/* 106C74 8029D664 86690004 */ lh $t1, 4($s3) -/* 106C78 8029D668 44898000 */ mtc1 $t1, $f16 -/* 106C7C 8029D66C 00000000 */ nop -/* 106C80 8029D670 468084A0 */ cvt.s.w $f18, $f16 -/* 106C84 8029D674 E7B20094 */ swc1 $f18, 0x94($sp) -/* 106C88 8029D678 866A0002 */ lh $t2, 2($s3) -/* 106C8C 8029D67C 448A2000 */ mtc1 $t2, $f4 -/* 106C90 8029D680 00000000 */ nop -/* 106C94 8029D684 468021A0 */ cvt.s.w $f6, $f4 -/* 106C98 8029D688 1020002C */ beqz $at, .L8029D73C -/* 106C9C 8029D68C E7A60090 */ swc1 $f6, 0x90($sp) -/* 106CA0 8029D690 3C01802C */ lui $at, %hi(jpt_802B977C) -/* 106CA4 8029D694 002B0821 */ addu $at, $at, $t3 -/* 106CA8 8029D698 8C2B977C */ lw $t3, %lo(jpt_802B977C)($at) -/* 106CAC 8029D69C 01600008 */ jr $t3 -/* 106CB0 8029D6A0 00000000 */ nop -glabel L8029D6A4 -/* 106CB4 8029D6A4 10000025 */ b .L8029D73C -/* 106CB8 8029D6A8 24120002 */ li $s2, 2 -glabel L8029D6AC -/* 106CBC 8029D6AC 10000023 */ b .L8029D73C -/* 106CC0 8029D6B0 24120021 */ li $s2, 33 -glabel L8029D6B4 -/* 106CC4 8029D6B4 10000021 */ b .L8029D73C -/* 106CC8 8029D6B8 24120003 */ li $s2, 3 -glabel L8029D6BC -/* 106CCC 8029D6BC 1000001F */ b .L8029D73C -/* 106CD0 8029D6C0 2412001D */ li $s2, 29 -glabel L8029D6C4 -/* 106CD4 8029D6C4 86620006 */ lh $v0, 6($s3) -/* 106CD8 8029D6C8 10540005 */ beq $v0, $s4, .L8029D6E0 -/* 106CDC 8029D6CC 00000000 */ nop -/* 106CE0 8029D6D0 10550005 */ beq $v0, $s5, .L8029D6E8 -/* 106CE4 8029D6D4 00000000 */ nop -/* 106CE8 8029D6D8 10000019 */ b .L8029D740 -/* 106CEC 8029D6DC 00123C00 */ sll $a3, $s2, 0x10 -.L8029D6E0: -/* 106CF0 8029D6E0 10000016 */ b .L8029D73C -/* 106CF4 8029D6E4 2412001C */ li $s2, 28 -.L8029D6E8: -/* 106CF8 8029D6E8 10000014 */ b .L8029D73C -/* 106CFC 8029D6EC 24120004 */ li $s2, 4 -glabel L8029D6F0 -/* 106D00 8029D6F0 10000012 */ b .L8029D73C -/* 106D04 8029D6F4 2412001A */ li $s2, 26 -glabel L8029D6F8 -/* 106D08 8029D6F8 10000010 */ b .L8029D73C -/* 106D0C 8029D6FC 24120013 */ li $s2, 19 -glabel L8029D700 -/* 106D10 8029D700 86620006 */ lh $v0, 6($s3) -/* 106D14 8029D704 24010005 */ li $at, 5 -/* 106D18 8029D708 10410007 */ beq $v0, $at, .L8029D728 -/* 106D1C 8029D70C 00000000 */ nop -/* 106D20 8029D710 10540007 */ beq $v0, $s4, .L8029D730 -/* 106D24 8029D714 00000000 */ nop -/* 106D28 8029D718 50550008 */ beql $v0, $s5, .L8029D73C -/* 106D2C 8029D71C 24120020 */ li $s2, 32 -/* 106D30 8029D720 10000007 */ b .L8029D740 -/* 106D34 8029D724 00123C00 */ sll $a3, $s2, 0x10 -.L8029D728: -/* 106D38 8029D728 10000004 */ b .L8029D73C -/* 106D3C 8029D72C 2412001E */ li $s2, 30 -.L8029D730: -/* 106D40 8029D730 10000002 */ b .L8029D73C -/* 106D44 8029D734 2412001F */ li $s2, 31 -/* 106D48 8029D738 24120020 */ li $s2, 32 -.L8029D73C: -glabel L8029D73C -/* 106D4C 8029D73C 00123C00 */ sll $a3, $s2, 0x10 -.L8029D740: -/* 106D50 8029D740 00076403 */ sra $t4, $a3, 0x10 -/* 106D54 8029D744 01803825 */ move $a3, $t4 -/* 106D58 8029D748 27A4008C */ addiu $a0, $sp, 0x8c -/* 106D5C 8029D74C 27A50078 */ addiu $a1, $sp, 0x78 -/* 106D60 8029D750 0C0A7B22 */ jal func_8029EC88 -/* 106D64 8029D754 27A60080 */ addiu $a2, $sp, 0x80 -/* 106D68 8029D758 3C0E800E */ lui $t6, %hi(gGamestate) # $t6, 0x800e -/* 106D6C 8029D75C 8DCEC50C */ lw $t6, %lo(gGamestate)($t6) -/* 106D70 8029D760 000268C0 */ sll $t5, $v0, 3 -/* 106D74 8029D764 01A26823 */ subu $t5, $t5, $v0 -/* 106D78 8029D768 000D6900 */ sll $t5, $t5, 4 -/* 106D7C 8029D76C 24010009 */ li $at, 9 -/* 106D80 8029D770 15C10005 */ bne $t6, $at, .L8029D788 -/* 106D84 8029D774 03CD8021 */ addu $s0, $fp, $t5 -/* 106D88 8029D778 0C0A5DB6 */ jal func_802976D8 -/* 106D8C 8029D77C 26040010 */ addiu $a0, $s0, 0x10 -/* 106D90 8029D780 10000018 */ b .L8029D7E4 -/* 106D94 8029D784 86620008 */ lh $v0, 8($s3) -.L8029D788: -/* 106D98 8029D788 C6080020 */ lwc1 $f8, 0x20($s0) -/* 106D9C 8029D78C 26110030 */ addiu $s1, $s0, 0x30 -/* 106DA0 8029D790 4405B000 */ mfc1 $a1, $f22 -/* 106DA4 8029D794 8E060018 */ lw $a2, 0x18($s0) -/* 106DA8 8029D798 8E07001C */ lw $a3, 0x1c($s0) -/* 106DAC 8029D79C 02202025 */ move $a0, $s1 -/* 106DB0 8029D7A0 0C0AB772 */ jal func_802ADDC8 -/* 106DB4 8029D7A4 E7A80010 */ swc1 $f8, 0x10($sp) -/* 106DB8 8029D7A8 C60A0044 */ lwc1 $f10, 0x44($s0) -/* 106DBC 8029D7AC 4614503C */ c.lt.s $f10, $f20 -/* 106DC0 8029D7B0 00000000 */ nop -/* 106DC4 8029D7B4 45020008 */ bc1fl .L8029D7D8 -/* 106DC8 8029D7B8 02202025 */ move $a0, $s1 -/* 106DCC 8029D7BC C60C0018 */ lwc1 $f12, 0x18($s0) -/* 106DD0 8029D7C0 C60E001C */ lwc1 $f14, 0x1c($s0) -/* 106DD4 8029D7C4 8E060020 */ lw $a2, 0x20($s0) -/* 106DD8 8029D7C8 0C0AAF8C */ jal func_802ABE30 -/* 106DDC 8029D7CC 9607003A */ lhu $a3, 0x3a($s0) -/* 106DE0 8029D7D0 E600001C */ swc1 $f0, 0x1c($s0) -/* 106DE4 8029D7D4 02202025 */ move $a0, $s1 -.L8029D7D8: -/* 106DE8 8029D7D8 0C0A5DBB */ jal func_802976EC -/* 106DEC 8029D7DC 26050010 */ addiu $a1, $s0, 0x10 -/* 106DF0 8029D7E0 86620008 */ lh $v0, 8($s3) -.L8029D7E4: -/* 106DF4 8029D7E4 24018000 */ li $at, -32768 -/* 106DF8 8029D7E8 26730008 */ addiu $s3, $s3, 8 -/* 106DFC 8029D7EC 5441FF96 */ bnel $v0, $at, .L8029D648 -/* 106E00 8029D7F0 44822000 */ mtc1 $v0, $f4 -/* 106E04 8029D7F4 A7B20074 */ sh $s2, 0x74($sp) -.L8029D7F8: -/* 106E08 8029D7F8 8FBF0054 */ lw $ra, 0x54($sp) -/* 106E0C 8029D7FC D7B40020 */ ldc1 $f20, 0x20($sp) -/* 106E10 8029D800 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 106E14 8029D804 8FB00030 */ lw $s0, 0x30($sp) -/* 106E18 8029D808 8FB10034 */ lw $s1, 0x34($sp) -/* 106E1C 8029D80C 8FB20038 */ lw $s2, 0x38($sp) -/* 106E20 8029D810 8FB3003C */ lw $s3, 0x3c($sp) -/* 106E24 8029D814 8FB40040 */ lw $s4, 0x40($sp) -/* 106E28 8029D818 8FB50044 */ lw $s5, 0x44($sp) -/* 106E2C 8029D81C 8FB60048 */ lw $s6, 0x48($sp) -/* 106E30 8029D820 8FB7004C */ lw $s7, 0x4c($sp) -/* 106E34 8029D824 8FBE0050 */ lw $fp, 0x50($sp) -/* 106E38 8029D828 03E00008 */ jr $ra -/* 106E3C 8029D82C 27BD00A8 */ addiu $sp, $sp, 0xa8 diff --git a/asm/non_matchings/actors/update_obj_falling_rocks.s b/asm/non_matchings/actors/update_obj_falling_rocks.s deleted file mode 100644 index 3ddecce12..000000000 --- a/asm/non_matchings/actors/update_obj_falling_rocks.s +++ /dev/null @@ -1,265 +0,0 @@ -glabel update_obj_falling_rocks -/* 106798 8029D188 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 10679C 8029D18C AFBF0024 */ sw $ra, 0x24($sp) -/* 1067A0 8029D190 AFB10020 */ sw $s1, 0x20($sp) -/* 1067A4 8029D194 AFB0001C */ sw $s0, 0x1c($sp) -/* 1067A8 8029D198 84820004 */ lh $v0, 4($a0) -/* 1067AC 8029D19C 00808025 */ move $s0, $a0 -/* 1067B0 8029D1A0 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016 -/* 1067B4 8029D1A4 10400003 */ beqz $v0, .L8029D1B4 -/* 1067B8 8029D1A8 244EFFFF */ addiu $t6, $v0, -1 -/* 1067BC 8029D1AC 100000F0 */ b .L8029D570 -/* 1067C0 8029D1B0 A48E0004 */ sh $t6, 4($a0) -.L8029D1B4: -/* 1067C4 8029D1B4 C604001C */ lwc1 $f4, 0x1c($s0) -/* 1067C8 8029D1B8 C426F8E4 */ lwc1 $f6, %lo(D_8015F8E4)($at) -/* 1067CC 8029D1BC 3C040600 */ lui $a0, %hi(D_06007230) # $a0, 0x600 -/* 1067D0 8029D1C0 24847230 */ addiu $a0, %lo(D_06007230) # addiu $a0, $a0, 0x7230 -/* 1067D4 8029D1C4 4606203C */ c.lt.s $f4, $f6 -/* 1067D8 8029D1C8 00000000 */ nop -/* 1067DC 8029D1CC 45000003 */ bc1f .L8029D1DC -/* 1067E0 8029D1D0 00000000 */ nop -/* 1067E4 8029D1D4 0C0A73C3 */ jal func_8029CF0C -/* 1067E8 8029D1D8 02002825 */ move $a1, $s0 -.L8029D1DC: -/* 1067EC 8029D1DC 3C01802C */ lui $at, %hi(D_802B9758) # $at, 0x802c -/* 1067F0 8029D1E0 C42E9758 */ lwc1 $f14, %lo(D_802B9758)($at) -/* 1067F4 8029D1E4 C602002C */ lwc1 $f2, 0x2c($s0) -/* 1067F8 8029D1E8 C60C0024 */ lwc1 $f12, 0x24($s0) -/* 1067FC 8029D1EC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 106800 8029D1F0 460E1202 */ mul.s $f8, $f2, $f14 -/* 106804 8029D1F4 44818000 */ mtc1 $at, $f16 -/* 106808 8029D1F8 860F0010 */ lh $t7, 0x10($s0) -/* 10680C 8029D1FC 460E6182 */ mul.s $f6, $f12, $f14 -/* 106810 8029D200 860B0014 */ lh $t3, 0x14($s0) -/* 106814 8029D204 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 106818 8029D208 44819000 */ mtc1 $at, $f18 -/* 10681C 8029D20C 3C01802C */ lui $at, %hi(D_802B9760) -/* 106820 8029D210 46104283 */ div.s $f10, $f8, $f16 -/* 106824 8029D214 46103203 */ div.s $f8, $f6, $f16 -/* 106828 8029D218 4600510D */ trunc.w.s $f4, $f10 -/* 10682C 8029D21C 44092000 */ mfc1 $t1, $f4 -/* 106830 8029D220 C6040028 */ lwc1 $f4, 0x28($s0) -/* 106834 8029D224 01E95021 */ addu $t2, $t7, $t1 -/* 106838 8029D228 A60A0010 */ sh $t2, 0x10($s0) -/* 10683C 8029D22C 460021A1 */ cvt.d.s $f6, $f4 -/* 106840 8029D230 4600428D */ trunc.w.s $f10, $f8 -/* 106844 8029D234 44185000 */ mfc1 $t8, $f10 -/* 106848 8029D238 00000000 */ nop -/* 10684C 8029D23C 0178C821 */ addu $t9, $t3, $t8 -/* 106850 8029D240 A6190014 */ sh $t9, 0x14($s0) -/* 106854 8029D244 D4289760 */ ldc1 $f8, %lo(D_802B9760)($at) -/* 106858 8029D248 46283281 */ sub.d $f10, $f6, $f8 -/* 10685C 8029D24C 46205120 */ cvt.s.d $f4, $f10 -/* 106860 8029D250 E6040028 */ swc1 $f4, 0x28($s0) -/* 106864 8029D254 C6000028 */ lwc1 $f0, 0x28($s0) -/* 106868 8029D258 4612003C */ c.lt.s $f0, $f18 -/* 10686C 8029D25C 00000000 */ nop -/* 106870 8029D260 45020006 */ bc1fl .L8029D27C -/* 106874 8029D264 C6060018 */ lwc1 $f6, 0x18($s0) -/* 106878 8029D268 E6120028 */ swc1 $f18, 0x28($s0) -/* 10687C 8029D26C C6000028 */ lwc1 $f0, 0x28($s0) -/* 106880 8029D270 C602002C */ lwc1 $f2, 0x2c($s0) -/* 106884 8029D274 C60C0024 */ lwc1 $f12, 0x24($s0) -/* 106888 8029D278 C6060018 */ lwc1 $f6, 0x18($s0) -.L8029D27C: -/* 10688C 8029D27C C60A001C */ lwc1 $f10, 0x1c($s0) -/* 106890 8029D280 26040030 */ addiu $a0, $s0, 0x30 -/* 106894 8029D284 460C3200 */ add.s $f8, $f6, $f12 -/* 106898 8029D288 C6060020 */ lwc1 $f6, 0x20($s0) -/* 10689C 8029D28C 3C054120 */ lui $a1, 0x4120 -/* 1068A0 8029D290 46005100 */ add.s $f4, $f10, $f0 -/* 1068A4 8029D294 E6080018 */ swc1 $f8, 0x18($s0) -/* 1068A8 8029D298 46023200 */ add.s $f8, $f6, $f2 -/* 1068AC 8029D29C E604001C */ swc1 $f4, 0x1c($s0) -/* 1068B0 8029D2A0 E6080020 */ swc1 $f8, 0x20($s0) -/* 1068B4 8029D2A4 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 1068B8 8029D2A8 C60A0020 */ lwc1 $f10, 0x20($s0) -/* 1068BC 8029D2AC 8E07001C */ lw $a3, 0x1c($s0) -/* 1068C0 8029D2B0 8E060018 */ lw $a2, 0x18($s0) -/* 1068C4 8029D2B4 0C0AB772 */ jal func_802ADDC8 -/* 1068C8 8029D2B8 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 1068CC 8029D2BC 44806000 */ mtc1 $zero, $f12 -/* 1068D0 8029D2C0 C6020044 */ lwc1 $f2, 0x44($s0) -/* 1068D4 8029D2C4 460C103C */ c.lt.s $f2, $f12 -/* 1068D8 8029D2C8 00000000 */ nop -/* 1068DC 8029D2CC 4502002D */ bc1fl .L8029D384 -/* 1068E0 8029D2D0 C602003C */ lwc1 $f2, 0x3c($s0) -/* 1068E4 8029D2D4 C6040060 */ lwc1 $f4, 0x60($s0) -/* 1068E8 8029D2D8 44051000 */ mfc1 $a1, $f2 -/* 1068EC 8029D2DC 26110024 */ addiu $s1, $s0, 0x24 -/* 1068F0 8029D2E0 46002187 */ neg.s $f6, $f4 -/* 1068F4 8029D2E4 02203025 */ move $a2, $s1 -/* 1068F8 8029D2E8 E7A60044 */ swc1 $f6, 0x44($sp) -/* 1068FC 8029D2EC C6080064 */ lwc1 $f8, 0x64($s0) -/* 106900 8029D2F0 27A40044 */ addiu $a0, $sp, 0x44 -/* 106904 8029D2F4 3C074000 */ lui $a3, 0x4000 -/* 106908 8029D2F8 46004287 */ neg.s $f10, $f8 -/* 10690C 8029D2FC E7AA0048 */ swc1 $f10, 0x48($sp) -/* 106910 8029D300 C6040068 */ lwc1 $f4, 0x68($s0) -/* 106914 8029D304 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 106918 8029D308 46002187 */ neg.s $f6, $f4 -/* 10691C 8029D30C E7A6004C */ swc1 $f6, 0x4c($sp) -/* 106920 8029D310 C6000044 */ lwc1 $f0, 0x44($s0) -/* 106924 8029D314 C6080018 */ lwc1 $f8, 0x18($s0) -/* 106928 8029D318 46005102 */ mul.s $f4, $f10, $f0 -/* 10692C 8029D31C C60A001C */ lwc1 $f10, 0x1c($s0) -/* 106930 8029D320 46044180 */ add.s $f6, $f8, $f4 -/* 106934 8029D324 E6060018 */ swc1 $f6, 0x18($s0) -/* 106938 8029D328 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 10693C 8029D32C 46004102 */ mul.s $f4, $f8, $f0 -/* 106940 8029D330 C6080020 */ lwc1 $f8, 0x20($s0) -/* 106944 8029D334 46045180 */ add.s $f6, $f10, $f4 -/* 106948 8029D338 E606001C */ swc1 $f6, 0x1c($s0) -/* 10694C 8029D33C C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 106950 8029D340 46005102 */ mul.s $f4, $f10, $f0 -/* 106954 8029D344 46044180 */ add.s $f6, $f8, $f4 -/* 106958 8029D348 0C0AB045 */ jal func_802AC114 -/* 10695C 8029D34C E6060020 */ swc1 $f6, 0x20($s0) -/* 106960 8029D350 3C01802C */ lui $at, %hi(D_802B9768) # $at, 0x802c -/* 106964 8029D354 C42A9768 */ lwc1 $f10, %lo(D_802B9768)($at) -/* 106968 8029D358 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 10696C 8029D35C 3C061900 */ lui $a2, (0x1900800F >> 16) # lui $a2, 0x1900 -/* 106970 8029D360 34C6800F */ ori $a2, (0x1900800F & 0xFFFF) # ori $a2, $a2, 0x800f -/* 106974 8029D364 46085102 */ mul.s $f4, $f10, $f8 -/* 106978 8029D368 26040018 */ addiu $a0, $s0, 0x18 -/* 10697C 8029D36C 02202825 */ move $a1, $s1 -/* 106980 8029D370 0C03262E */ jal func_800C98B8 -/* 106984 8029D374 E6040028 */ swc1 $f4, 0x28($s0) -/* 106988 8029D378 44806000 */ mtc1 $zero, $f12 -/* 10698C 8029D37C 00000000 */ nop -/* 106990 8029D380 C602003C */ lwc1 $f2, 0x3c($s0) -.L8029D384: -/* 106994 8029D384 460C103C */ c.lt.s $f2, $f12 -/* 106998 8029D388 00000000 */ nop -/* 10699C 8029D38C 4502003C */ bc1fl .L8029D480 -/* 1069A0 8029D390 C6020040 */ lwc1 $f2, 0x40($s0) -/* 1069A4 8029D394 C606004C */ lwc1 $f6, 0x4c($s0) -/* 1069A8 8029D398 3C01802C */ lui $at, %hi(D_802B976C) # $at, 0x802c -/* 1069AC 8029D39C 46003287 */ neg.s $f10, $f6 -/* 1069B0 8029D3A0 E7AA0048 */ swc1 $f10, 0x48($sp) -/* 1069B4 8029D3A4 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 1069B8 8029D3A8 46086032 */ c.eq.s $f12, $f8 -/* 1069BC 8029D3AC 00000000 */ nop -/* 1069C0 8029D3B0 45020007 */ bc1fl .L8029D3D0 -/* 1069C4 8029D3B4 C6080048 */ lwc1 $f8, 0x48($s0) -/* 1069C8 8029D3B8 C6040028 */ lwc1 $f4, 0x28($s0) -/* 1069CC 8029D3BC C426976C */ lwc1 $f6, %lo(D_802B976C)($at) -/* 1069D0 8029D3C0 46062282 */ mul.s $f10, $f4, $f6 -/* 1069D4 8029D3C4 1000006A */ b .L8029D570 -/* 1069D8 8029D3C8 E60A0028 */ swc1 $f10, 0x28($s0) -/* 1069DC 8029D3CC C6080048 */ lwc1 $f8, 0x48($s0) -.L8029D3D0: -/* 1069E0 8029D3D0 3C01802C */ lui $at, %hi(D_802B9770) # $at, 0x802c -/* 1069E4 8029D3D4 44051000 */ mfc1 $a1, $f2 -/* 1069E8 8029D3D8 46004107 */ neg.s $f4, $f8 -/* 1069EC 8029D3DC 26110024 */ addiu $s1, $s0, 0x24 -/* 1069F0 8029D3E0 E7A40044 */ swc1 $f4, 0x44($sp) -/* 1069F4 8029D3E4 C6060050 */ lwc1 $f6, 0x50($s0) -/* 1069F8 8029D3E8 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 1069FC 8029D3EC 26080018 */ addiu $t0, $s0, 0x18 -/* 106A00 8029D3F0 46003287 */ neg.s $f10, $f6 -/* 106A04 8029D3F4 02203025 */ move $a2, $s1 -/* 106A08 8029D3F8 E7AA004C */ swc1 $f10, 0x4c($sp) -/* 106A0C 8029D3FC C600003C */ lwc1 $f0, 0x3c($s0) -/* 106A10 8029D400 C6080018 */ lwc1 $f8, 0x18($s0) -/* 106A14 8029D404 27A40044 */ addiu $a0, $sp, 0x44 -/* 106A18 8029D408 46002182 */ mul.s $f6, $f4, $f0 -/* 106A1C 8029D40C C604001C */ lwc1 $f4, 0x1c($s0) -/* 106A20 8029D410 3C074000 */ lui $a3, 0x4000 -/* 106A24 8029D414 46064280 */ add.s $f10, $f8, $f6 -/* 106A28 8029D418 E60A0018 */ swc1 $f10, 0x18($s0) -/* 106A2C 8029D41C C7A80048 */ lwc1 $f8, 0x48($sp) -/* 106A30 8029D420 46004182 */ mul.s $f6, $f8, $f0 -/* 106A34 8029D424 C6080020 */ lwc1 $f8, 0x20($s0) -/* 106A38 8029D428 46062280 */ add.s $f10, $f4, $f6 -/* 106A3C 8029D42C E60A001C */ swc1 $f10, 0x1c($s0) -/* 106A40 8029D430 C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 106A44 8029D434 46002182 */ mul.s $f6, $f4, $f0 -/* 106A48 8029D438 46064280 */ add.s $f10, $f8, $f6 -/* 106A4C 8029D43C E60A0020 */ swc1 $f10, 0x20($s0) -/* 106A50 8029D440 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 106A54 8029D444 C4249770 */ lwc1 $f4, %lo(D_802B9770)($at) -/* 106A58 8029D448 AFA80030 */ sw $t0, 0x30($sp) -/* 106A5C 8029D44C 46082182 */ mul.s $f6, $f4, $f8 -/* 106A60 8029D450 0C0AB045 */ jal func_802AC114 -/* 106A64 8029D454 E7A60034 */ swc1 $f6, 0x34($sp) -/* 106A68 8029D458 C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 106A6C 8029D45C 3C061900 */ lui $a2, (0x1900800F >> 16) # lui $a2, 0x1900 -/* 106A70 8029D460 34C6800F */ ori $a2, (0x1900800F & 0xFFFF) # ori $a2, $a2, 0x800f -/* 106A74 8029D464 E60A0028 */ swc1 $f10, 0x28($s0) -/* 106A78 8029D468 8FA40030 */ lw $a0, 0x30($sp) -/* 106A7C 8029D46C 0C03262E */ jal func_800C98B8 -/* 106A80 8029D470 02202825 */ move $a1, $s1 -/* 106A84 8029D474 44806000 */ mtc1 $zero, $f12 -/* 106A88 8029D478 00000000 */ nop -/* 106A8C 8029D47C C6020040 */ lwc1 $f2, 0x40($s0) -.L8029D480: -/* 106A90 8029D480 460C103C */ c.lt.s $f2, $f12 -/* 106A94 8029D484 00000000 */ nop -/* 106A98 8029D488 4502003A */ bc1fl .L8029D574 -/* 106A9C 8029D48C 8FBF0024 */ lw $ra, 0x24($sp) -/* 106AA0 8029D490 C6040058 */ lwc1 $f4, 0x58($s0) -/* 106AA4 8029D494 3C01802C */ lui $at, %hi(D_802B9774) # $at, 0x802c -/* 106AA8 8029D498 46002207 */ neg.s $f8, $f4 -/* 106AAC 8029D49C E7A80048 */ swc1 $f8, 0x48($sp) -/* 106AB0 8029D4A0 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 106AB4 8029D4A4 46066032 */ c.eq.s $f12, $f6 -/* 106AB8 8029D4A8 00000000 */ nop -/* 106ABC 8029D4AC 45020007 */ bc1fl .L8029D4CC -/* 106AC0 8029D4B0 C6060054 */ lwc1 $f6, 0x54($s0) -/* 106AC4 8029D4B4 C60A0028 */ lwc1 $f10, 0x28($s0) -/* 106AC8 8029D4B8 C4249774 */ lwc1 $f4, %lo(D_802B9774)($at) -/* 106ACC 8029D4BC 46045202 */ mul.s $f8, $f10, $f4 -/* 106AD0 8029D4C0 1000002B */ b .L8029D570 -/* 106AD4 8029D4C4 E6080028 */ swc1 $f8, 0x28($s0) -/* 106AD8 8029D4C8 C6060054 */ lwc1 $f6, 0x54($s0) -.L8029D4CC: -/* 106ADC 8029D4CC 44051000 */ mfc1 $a1, $f2 -/* 106AE0 8029D4D0 26110024 */ addiu $s1, $s0, 0x24 -/* 106AE4 8029D4D4 46003287 */ neg.s $f10, $f6 -/* 106AE8 8029D4D8 260F0018 */ addiu $t7, $s0, 0x18 -/* 106AEC 8029D4DC E7AA0044 */ swc1 $f10, 0x44($sp) -/* 106AF0 8029D4E0 C604005C */ lwc1 $f4, 0x5c($s0) -/* 106AF4 8029D4E4 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 106AF8 8029D4E8 02203025 */ move $a2, $s1 -/* 106AFC 8029D4EC 46002207 */ neg.s $f8, $f4 -/* 106B00 8029D4F0 27A40044 */ addiu $a0, $sp, 0x44 -/* 106B04 8029D4F4 E7A8004C */ swc1 $f8, 0x4c($sp) -/* 106B08 8029D4F8 C6000040 */ lwc1 $f0, 0x40($s0) -/* 106B0C 8029D4FC C6060018 */ lwc1 $f6, 0x18($s0) -/* 106B10 8029D500 3C074000 */ lui $a3, 0x4000 -/* 106B14 8029D504 46005102 */ mul.s $f4, $f10, $f0 -/* 106B18 8029D508 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 106B1C 8029D50C 46043200 */ add.s $f8, $f6, $f4 -/* 106B20 8029D510 E6080018 */ swc1 $f8, 0x18($s0) -/* 106B24 8029D514 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 106B28 8029D518 46003102 */ mul.s $f4, $f6, $f0 -/* 106B2C 8029D51C C6060020 */ lwc1 $f6, 0x20($s0) -/* 106B30 8029D520 46045200 */ add.s $f8, $f10, $f4 -/* 106B34 8029D524 E608001C */ swc1 $f8, 0x1c($s0) -/* 106B38 8029D528 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 106B3C 8029D52C 46005102 */ mul.s $f4, $f10, $f0 -/* 106B40 8029D530 C60A0028 */ lwc1 $f10, 0x28($s0) -/* 106B44 8029D534 46043200 */ add.s $f8, $f6, $f4 -/* 106B48 8029D538 E6080020 */ swc1 $f8, 0x20($s0) -/* 106B4C 8029D53C AFAF0030 */ sw $t7, 0x30($sp) -/* 106B50 8029D540 0C0AB045 */ jal func_802AC114 -/* 106B54 8029D544 E7AA003C */ swc1 $f10, 0x3c($sp) -/* 106B58 8029D548 3C01802C */ lui $at, %hi(D_802B9778) # $at, 0x802c -/* 106B5C 8029D54C C4269778 */ lwc1 $f6, %lo(D_802B9778)($at) -/* 106B60 8029D550 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 106B64 8029D554 3C061900 */ lui $a2, (0x1900800F >> 16) # lui $a2, 0x1900 -/* 106B68 8029D558 34C6800F */ ori $a2, (0x1900800F & 0xFFFF) # ori $a2, $a2, 0x800f -/* 106B6C 8029D55C 46043202 */ mul.s $f8, $f6, $f4 -/* 106B70 8029D560 02202825 */ move $a1, $s1 -/* 106B74 8029D564 E6080028 */ swc1 $f8, 0x28($s0) -/* 106B78 8029D568 0C03262E */ jal func_800C98B8 -/* 106B7C 8029D56C 8FA40030 */ lw $a0, 0x30($sp) -.L8029D570: -/* 106B80 8029D570 8FBF0024 */ lw $ra, 0x24($sp) -.L8029D574: -/* 106B84 8029D574 8FB0001C */ lw $s0, 0x1c($sp) -/* 106B88 8029D578 8FB10020 */ lw $s1, 0x20($sp) -/* 106B8C 8029D57C 03E00008 */ jr $ra -/* 106B90 8029D580 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/non_matchings/actors/update_obj_kiwano_fruit.s b/asm/non_matchings/actors/update_obj_kiwano_fruit.s deleted file mode 100644 index 0ad7a28bf..000000000 --- a/asm/non_matchings/actors/update_obj_kiwano_fruit.s +++ /dev/null @@ -1,275 +0,0 @@ -glabel update_obj_kiwano_fruit -/* 10136C 80297D5C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 101370 80297D60 AFBF0014 */ sw $ra, 0x14($sp) -/* 101374 80297D64 848E0004 */ lh $t6, 4($a0) -/* 101378 80297D68 3C18800F */ lui $t8, %hi(gPlayers) # $t8, 0x800f -/* 10137C 80297D6C 27186990 */ addiu $t8, %lo(gPlayers) # addiu $t8, $t8, 0x6990 -/* 101380 80297D70 000E78C0 */ sll $t7, $t6, 3 -/* 101384 80297D74 01EE7823 */ subu $t7, $t7, $t6 -/* 101388 80297D78 000F7900 */ sll $t7, $t7, 4 -/* 10138C 80297D7C 01EE7823 */ subu $t7, $t7, $t6 -/* 101390 80297D80 000F7880 */ sll $t7, $t7, 2 -/* 101394 80297D84 01EE7823 */ subu $t7, $t7, $t6 -/* 101398 80297D88 000F78C0 */ sll $t7, $t7, 3 -/* 10139C 80297D8C 01F81821 */ addu $v1, $t7, $t8 -/* 1013A0 80297D90 94790000 */ lhu $t9, ($v1) -/* 1013A4 80297D94 00803025 */ move $a2, $a0 -/* 1013A8 80297D98 33291000 */ andi $t1, $t9, 0x1000 -/* 1013AC 80297D9C 15200004 */ bnez $t1, .L80297DB0 -/* 1013B0 80297DA0 00000000 */ nop -/* 1013B4 80297DA4 946A0114 */ lhu $t2, 0x114($v1) -/* 1013B8 80297DA8 55400004 */ bnel $t2, $zero, .L80297DBC -/* 1013BC 80297DAC 84C40006 */ lh $a0, 6($a2) -.L80297DB0: -/* 1013C0 80297DB0 100000EA */ b .L8029815C -/* 1013C4 80297DB4 A4C00006 */ sh $zero, 6($a2) -/* 1013C8 80297DB8 84C40006 */ lh $a0, 6($a2) -.L80297DBC: -/* 1013CC 80297DBC 24010001 */ li $at, 1 -/* 1013D0 80297DC0 50800008 */ beql $a0, $zero, .L80297DE4 -/* 1013D4 80297DC4 9464011A */ lhu $a0, 0x11a($v1) -/* 1013D8 80297DC8 10810013 */ beq $a0, $at, .L80297E18 -/* 1013DC 80297DCC 24010002 */ li $at, 2 -/* 1013E0 80297DD0 108100B2 */ beq $a0, $at, .L8029809C -/* 1013E4 80297DD4 00000000 */ nop -/* 1013E8 80297DD8 100000CE */ b .L80298114 -/* 1013EC 80297DDC 00000000 */ nop -/* 1013F0 80297DE0 9464011A */ lhu $a0, 0x11a($v1) -.L80297DE4: -/* 1013F4 80297DE4 AFA60028 */ sw $a2, 0x28($sp) -/* 1013F8 80297DE8 0C0AAF44 */ jal func_802ABD10 -/* 1013FC 80297DEC AFA30024 */ sw $v1, 0x24($sp) -/* 101400 80297DF0 304B00FF */ andi $t3, $v0, 0xff -/* 101404 80297DF4 24010008 */ li $at, 8 -/* 101408 80297DF8 8FA30024 */ lw $v1, 0x24($sp) -/* 10140C 80297DFC 156100D7 */ bne $t3, $at, .L8029815C -/* 101410 80297E00 8FA60028 */ lw $a2, 0x28($sp) -/* 101414 80297E04 3C0142A0 */ li $at, 0x42A00000 # 80.000000 -/* 101418 80297E08 44812000 */ mtc1 $at, $f4 -/* 10141C 80297E0C 240C0001 */ li $t4, 1 -/* 101420 80297E10 A4CC0006 */ sh $t4, 6($a2) -/* 101424 80297E14 E4C40024 */ swc1 $f4, 0x24($a2) -.L80297E18: -/* 101428 80297E18 3C0D800E */ lui $t5, %hi(gPlayerOne) # $t5, 0x800e -/* 10142C 80297E1C 8DADC4DC */ lw $t5, %lo(gPlayerOne)($t5) -/* 101430 80297E20 24010DD8 */ li $at, 3544 -/* 101434 80297E24 3C048016 */ lui $a0, %hi(gNearestWaypointByPlayerId) # 0x8016 -/* 101438 80297E28 006D7023 */ subu $t6, $v1, $t5 -/* 10143C 80297E2C 01C1001A */ div $zero, $t6, $at -/* 101440 80297E30 00007812 */ mflo $t7 -/* 101444 80297E34 31F8FFFF */ andi $t8, $t7, 0xffff -/* 101448 80297E38 0018C840 */ sll $t9, $t8, 1 -/* 10144C 80297E3C 00992021 */ addu $a0, $a0, $t9 -/* 101450 80297E40 94844438 */ lhu $a0, %lo(gNearestWaypointByPlayerId)($a0) # 0x4438($a0) -/* 101454 80297E44 3C098016 */ lui $t1, %hi(D_80164490) # $t1, 0x8016 -/* 101458 80297E48 8D294490 */ lw $t1, %lo(D_80164490)($t1) -/* 10145C 80297E4C 000450C0 */ sll $t2, $a0, 3 -/* 101460 80297E50 C4660014 */ lwc1 $f6, 0x14($v1) -/* 101464 80297E54 012A1021 */ addu $v0, $t1, $t2 -/* 101468 80297E58 844B0000 */ lh $t3, ($v0) -/* 10146C 80297E5C 844C0002 */ lh $t4, 2($v0) -/* 101470 80297E60 844D0004 */ lh $t5, 4($v0) -/* 101474 80297E64 448B4000 */ mtc1 $t3, $f8 -/* 101478 80297E68 C4640018 */ lwc1 $f4, 0x18($v1) -/* 10147C 80297E6C 468042A0 */ cvt.s.w $f10, $f8 -/* 101480 80297E70 448C4000 */ mtc1 $t4, $f8 -/* 101484 80297E74 460A3081 */ sub.s $f2, $f6, $f10 -/* 101488 80297E78 C46A001C */ lwc1 $f10, 0x1c($v1) -/* 10148C 80297E7C AFA60028 */ sw $a2, 0x28($sp) -/* 101490 80297E80 468041A0 */ cvt.s.w $f6, $f8 -/* 101494 80297E84 448D4000 */ mtc1 $t5, $f8 -/* 101498 80297E88 E7A20020 */ swc1 $f2, 0x20($sp) -/* 10149C 80297E8C AFA30024 */ sw $v1, 0x24($sp) -/* 1014A0 80297E90 46062401 */ sub.s $f16, $f4, $f6 -/* 1014A4 80297E94 46021182 */ mul.s $f6, $f2, $f2 -/* 1014A8 80297E98 E7B0001C */ swc1 $f16, 0x1c($sp) -/* 1014AC 80297E9C 46804120 */ cvt.s.w $f4, $f8 -/* 1014B0 80297EA0 46108202 */ mul.s $f8, $f16, $f16 -/* 1014B4 80297EA4 46045381 */ sub.s $f14, $f10, $f4 -/* 1014B8 80297EA8 46083280 */ add.s $f10, $f6, $f8 -/* 1014BC 80297EAC 460E7102 */ mul.s $f4, $f14, $f14 -/* 1014C0 80297EB0 E7AE0018 */ swc1 $f14, 0x18($sp) -/* 1014C4 80297EB4 0C033850 */ jal sqrtf -/* 1014C8 80297EB8 46045300 */ add.s $f12, $f10, $f4 -/* 1014CC 80297EBC 8FA60028 */ lw $a2, 0x28($sp) -/* 1014D0 80297EC0 C7A20020 */ lwc1 $f2, 0x20($sp) -/* 1014D4 80297EC4 8FA30024 */ lw $v1, 0x24($sp) -/* 1014D8 80297EC8 C4D20024 */ lwc1 $f18, 0x24($a2) -/* 1014DC 80297ECC C7B0001C */ lwc1 $f16, 0x1c($sp) -/* 1014E0 80297ED0 C4660014 */ lwc1 $f6, 0x14($v1) -/* 1014E4 80297ED4 46009303 */ div.s $f12, $f18, $f0 -/* 1014E8 80297ED8 C7AE0018 */ lwc1 $f14, 0x18($sp) -/* 1014EC 80297EDC 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 1014F0 80297EE0 3C07800E */ lui $a3, %hi(gPlayerOne) # $a3, 0x800e -/* 1014F4 80297EE4 24E7C4DC */ addiu $a3, %lo(gPlayerOne) # addiu $a3, $a3, -0x3b24 -/* 1014F8 80297EE8 24080DD8 */ li $t0, 3544 -/* 1014FC 80297EEC 240E0002 */ li $t6, 2 -/* 101500 80297EF0 460C1082 */ mul.s $f2, $f2, $f12 -/* 101504 80297EF4 46023200 */ add.s $f8, $f6, $f2 -/* 101508 80297EF8 460C8402 */ mul.s $f16, $f16, $f12 -/* 10150C 80297EFC E4C80018 */ swc1 $f8, 0x18($a2) -/* 101510 80297F00 C46A0018 */ lwc1 $f10, 0x18($v1) -/* 101514 80297F04 460C7382 */ mul.s $f14, $f14, $f12 -/* 101518 80297F08 46105100 */ add.s $f4, $f10, $f16 -/* 10151C 80297F0C 44815000 */ mtc1 $at, $f10 -/* 101520 80297F10 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 101524 80297F14 E4C4001C */ swc1 $f4, 0x1c($a2) -/* 101528 80297F18 C466001C */ lwc1 $f6, 0x1c($v1) -/* 10152C 80297F1C 460A9101 */ sub.s $f4, $f18, $f10 -/* 101530 80297F20 460E3200 */ add.s $f8, $f6, $f14 -/* 101534 80297F24 E4C40024 */ swc1 $f4, 0x24($a2) -/* 101538 80297F28 44803000 */ mtc1 $zero, $f6 -/* 10153C 80297F2C E4C80020 */ swc1 $f8, 0x20($a2) -/* 101540 80297F30 C4C80024 */ lwc1 $f8, 0x24($a2) -/* 101544 80297F34 4606403E */ c.le.s $f8, $f6 -/* 101548 80297F38 00000000 */ nop -/* 10154C 80297F3C 45000055 */ bc1f .L80298094 -/* 101550 80297F40 00000000 */ nop -/* 101554 80297F44 44815000 */ mtc1 $at, $f10 -/* 101558 80297F48 44802000 */ mtc1 $zero, $f4 -/* 10155C 80297F4C A4CE0006 */ sh $t6, 6($a2) -/* 101560 80297F50 3C01802C */ lui $at, %hi(D_802B9618) # $at, 0x802c -/* 101564 80297F54 E4CA0008 */ swc1 $f10, 8($a2) -/* 101568 80297F58 E4C40024 */ swc1 $f4, 0x24($a2) -/* 10156C 80297F5C C4269618 */ lwc1 $f6, %lo(D_802B9618)($at) -/* 101570 80297F60 44804000 */ mtc1 $zero, $f8 -/* 101574 80297F64 E4C60028 */ swc1 $f6, 0x28($a2) -/* 101578 80297F68 E4C8002C */ swc1 $f8, 0x2c($a2) -/* 10157C 80297F6C 8C6200BC */ lw $v0, 0xbc($v1) -/* 101580 80297F70 304F0200 */ andi $t7, $v0, 0x200 -/* 101584 80297F74 51E00017 */ beql $t7, $zero, .L80297FD4 -/* 101588 80297F78 3C014080 */ lui $at, 0x4080 -/* 10158C 80297F7C 8CF80000 */ lw $t8, ($a3) -/* 101590 80297F80 3C051900 */ lui $a1, (0x1900A052 >> 16) # lui $a1, 0x1900 -/* 101594 80297F84 34A5A052 */ ori $a1, (0x1900A052 & 0xFFFF) # ori $a1, $a1, 0xa052 -/* 101598 80297F88 0078C823 */ subu $t9, $v1, $t8 -/* 10159C 80297F8C 0328001A */ div $zero, $t9, $t0 -/* 1015A0 80297F90 00002012 */ mflo $a0 -/* 1015A4 80297F94 308900FF */ andi $t1, $a0, 0xff -/* 1015A8 80297F98 15000002 */ bnez $t0, .L80297FA4 -/* 1015AC 80297F9C 00000000 */ nop -/* 1015B0 80297FA0 0007000D */ break 7 -.L80297FA4: -/* 1015B4 80297FA4 2401FFFF */ li $at, -1 -/* 1015B8 80297FA8 15010004 */ bne $t0, $at, .L80297FBC -/* 1015BC 80297FAC 3C018000 */ lui $at, 0x8000 -/* 1015C0 80297FB0 17210002 */ bne $t9, $at, .L80297FBC -/* 1015C4 80297FB4 00000000 */ nop -/* 1015C8 80297FB8 0006000D */ break 6 -.L80297FBC: -/* 1015CC 80297FBC 01202025 */ move $a0, $t1 -/* 1015D0 80297FC0 0C032418 */ jal func_800C9060 -/* 1015D4 80297FC4 AFA60028 */ sw $a2, 0x28($sp) -/* 1015D8 80297FC8 10000032 */ b .L80298094 -/* 1015DC 80297FCC 8FA60028 */ lw $a2, 0x28($sp) -/* 1015E0 80297FD0 3C014080 */ li $at, 0x40800000 # 4.000000 -.L80297FD4: -/* 1015E4 80297FD4 44810000 */ mtc1 $at, $f0 -/* 1015E8 80297FD8 C46A0014 */ lwc1 $f10, 0x14($v1) -/* 1015EC 80297FDC C468001C */ lwc1 $f8, 0x1c($v1) -/* 1015F0 80297FE0 46001102 */ mul.s $f4, $f2, $f0 -/* 1015F4 80297FE4 3C01802C */ lui $at, %hi(D_802B961C) # $at, 0x802c -/* 1015F8 80297FE8 C42C961C */ lwc1 $f12, %lo(D_802B961C)($at) -/* 1015FC 80297FEC 344A8000 */ ori $t2, $v0, 0x8000 -/* 101600 80297FF0 AC6A00BC */ sw $t2, 0xbc($v1) -/* 101604 80297FF4 3C051900 */ lui $a1, (0x19007018 >> 16) # lui $a1, 0x1900 -/* 101608 80297FF8 34A57018 */ ori $a1, (0x19007018 & 0xFFFF) # ori $a1, $a1, 0x7018 -/* 10160C 80297FFC 46045181 */ sub.s $f6, $f10, $f4 -/* 101610 80298000 46007282 */ mul.s $f10, $f14, $f0 -/* 101614 80298004 E4660014 */ swc1 $f6, 0x14($v1) -/* 101618 80298008 C4660034 */ lwc1 $f6, 0x34($v1) -/* 10161C 8029800C 460A4101 */ sub.s $f4, $f8, $f10 -/* 101620 80298010 460C1202 */ mul.s $f8, $f2, $f12 -/* 101624 80298014 E464001C */ swc1 $f4, 0x1c($v1) -/* 101628 80298018 C464003C */ lwc1 $f4, 0x3c($v1) -/* 10162C 8029801C 46083281 */ sub.s $f10, $f6, $f8 -/* 101630 80298020 460C7182 */ mul.s $f6, $f14, $f12 -/* 101634 80298024 E46A0034 */ swc1 $f10, 0x34($v1) -/* 101638 80298028 46062201 */ sub.s $f8, $f4, $f6 -/* 10163C 8029802C E468003C */ swc1 $f8, 0x3c($v1) -/* 101640 80298030 8CEB0000 */ lw $t3, ($a3) -/* 101644 80298034 AFA60028 */ sw $a2, 0x28($sp) -/* 101648 80298038 006B6023 */ subu $t4, $v1, $t3 -/* 10164C 8029803C 0188001A */ div $zero, $t4, $t0 -/* 101650 80298040 00002012 */ mflo $a0 -/* 101654 80298044 308D00FF */ andi $t5, $a0, 0xff -/* 101658 80298048 15000002 */ bnez $t0, .L80298054 -/* 10165C 8029804C 00000000 */ nop -/* 101660 80298050 0007000D */ break 7 -.L80298054: -/* 101664 80298054 2401FFFF */ li $at, -1 -/* 101668 80298058 15010004 */ bne $t0, $at, .L8029806C -/* 10166C 8029805C 3C018000 */ lui $at, 0x8000 -/* 101670 80298060 15810002 */ bne $t4, $at, .L8029806C -/* 101674 80298064 00000000 */ nop -/* 101678 80298068 0006000D */ break 6 -.L8029806C: -/* 10167C 8029806C 01A02025 */ move $a0, $t5 -/* 101680 80298070 0C032418 */ jal func_800C9060 -/* 101684 80298074 00000000 */ nop -/* 101688 80298078 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e -/* 10168C 8029807C 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6) -/* 101690 80298080 8FA60028 */ lw $a2, 0x28($sp) -/* 101694 80298084 240F0001 */ li $t7, 1 -/* 101698 80298088 11C00002 */ beqz $t6, .L80298094 -/* 10169C 8029808C 3C018016 */ lui $at, %hi(D_80162DF8) # $at, 0x8016 -/* 1016A0 80298090 AC2F2DF8 */ sw $t7, %lo(D_80162DF8)($at) -.L80298094: -/* 1016A4 80298094 1000001F */ b .L80298114 -/* 1016A8 80298098 84C40006 */ lh $a0, 6($a2) -.L8029809C: -/* 1016AC 8029809C 3C01802C */ lui $at, %hi(D_802B9620) # $at, 0x802c -/* 1016B0 802980A0 C4249620 */ lwc1 $f4, %lo(D_802B9620)($at) -/* 1016B4 802980A4 C4CA0028 */ lwc1 $f10, 0x28($a2) -/* 1016B8 802980A8 C4C80018 */ lwc1 $f8, 0x18($a2) -/* 1016BC 802980AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 1016C0 802980B0 46045181 */ sub.s $f6, $f10, $f4 -/* 1016C4 802980B4 C4CA0024 */ lwc1 $f10, 0x24($a2) -/* 1016C8 802980B8 E4C60028 */ swc1 $f6, 0x28($a2) -/* 1016CC 802980BC 460A4100 */ add.s $f4, $f8, $f10 -/* 1016D0 802980C0 C4C80028 */ lwc1 $f8, 0x28($a2) -/* 1016D4 802980C4 C4C6001C */ lwc1 $f6, 0x1c($a2) -/* 1016D8 802980C8 E4C40018 */ swc1 $f4, 0x18($a2) -/* 1016DC 802980CC 46083280 */ add.s $f10, $f6, $f8 -/* 1016E0 802980D0 C4C6002C */ lwc1 $f6, 0x2c($a2) -/* 1016E4 802980D4 C4C40020 */ lwc1 $f4, 0x20($a2) -/* 1016E8 802980D8 E4CA001C */ swc1 $f10, 0x1c($a2) -/* 1016EC 802980DC 46062200 */ add.s $f8, $f4, $f6 -/* 1016F0 802980E0 44812000 */ mtc1 $at, $f4 -/* 1016F4 802980E4 C4CA0008 */ lwc1 $f10, 8($a2) -/* 1016F8 802980E8 E4C80020 */ swc1 $f8, 0x20($a2) -/* 1016FC 802980EC 46045181 */ sub.s $f6, $f10, $f4 -/* 101700 802980F0 44805000 */ mtc1 $zero, $f10 -/* 101704 802980F4 E4C60008 */ swc1 $f6, 8($a2) -/* 101708 802980F8 C4C80008 */ lwc1 $f8, 8($a2) -/* 10170C 802980FC 460A403C */ c.lt.s $f8, $f10 -/* 101710 80298100 00000000 */ nop -/* 101714 80298104 45020003 */ bc1fl .L80298114 -/* 101718 80298108 84C40006 */ lh $a0, 6($a2) -/* 10171C 8029810C A4C00006 */ sh $zero, 6($a2) -/* 101720 80298110 84C40006 */ lh $a0, 6($a2) -.L80298114: -/* 101724 80298114 50800012 */ beql $a0, $zero, .L80298160 -/* 101728 80298118 8FBF0014 */ lw $ra, 0x14($sp) -/* 10172C 8029811C 84D80012 */ lh $t8, 0x12($a2) -/* 101730 80298120 24010008 */ li $at, 8 -/* 101734 80298124 27190001 */ addiu $t9, $t8, 1 -/* 101738 80298128 A4D90012 */ sh $t9, 0x12($a2) -/* 10173C 8029812C 84C90012 */ lh $t1, 0x12($a2) -/* 101740 80298130 5521000B */ bnel $t1, $at, .L80298160 -/* 101744 80298134 8FBF0014 */ lw $ra, 0x14($sp) -/* 101748 80298138 84CA0010 */ lh $t2, 0x10($a2) -/* 10174C 8029813C 24010003 */ li $at, 3 -/* 101750 80298140 A4C00012 */ sh $zero, 0x12($a2) -/* 101754 80298144 254B0001 */ addiu $t3, $t2, 1 -/* 101758 80298148 A4CB0010 */ sh $t3, 0x10($a2) -/* 10175C 8029814C 84CC0010 */ lh $t4, 0x10($a2) -/* 101760 80298150 55810003 */ bnel $t4, $at, .L80298160 -/* 101764 80298154 8FBF0014 */ lw $ra, 0x14($sp) -/* 101768 80298158 A4C00010 */ sh $zero, 0x10($a2) -.L8029815C: -/* 10176C 8029815C 8FBF0014 */ lw $ra, 0x14($sp) -.L80298160: -/* 101770 80298160 27BD0028 */ addiu $sp, $sp, 0x28 -/* 101774 80298164 03E00008 */ jr $ra -/* 101778 80298168 00000000 */ nop diff --git a/asm/non_matchings/memory/func_802AAAAC.s b/asm/non_matchings/memory/func_802AAAAC.s deleted file mode 100644 index 91dcaa7cc..000000000 --- a/asm/non_matchings/memory/func_802AAAAC.s +++ /dev/null @@ -1,41 +0,0 @@ -glabel func_802AAAAC -/* 1140BC 802AAAAC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 1140C0 802AAAB0 AFBF001C */ sw $ra, 0x1c($sp) -/* 1140C4 802AAAB4 AFB00018 */ sw $s0, 0x18($sp) -/* 1140C8 802AAAB8 44800000 */ mtc1 $zero, $f0 -/* 1140CC 802AAABC 44801000 */ mtc1 $zero, $f2 -/* 1140D0 802AAAC0 24021388 */ li $v0, 5000 -/* 1140D4 802AAAC4 00808025 */ move $s0, $a0 -/* 1140D8 802AAAC8 44050000 */ mfc1 $a1, $f0 -/* 1140DC 802AAACC 44060000 */ mfc1 $a2, $f0 -/* 1140E0 802AAAD0 A4820006 */ sh $v0, 6($a0) -/* 1140E4 802AAAD4 A4820008 */ sh $v0, 8($a0) -/* 1140E8 802AAAD8 A482000A */ sh $v0, 0xa($a0) -/* 1140EC 802AAADC A4800000 */ sh $zero, ($a0) -/* 1140F0 802AAAE0 A4800002 */ sh $zero, 2($a0) -/* 1140F4 802AAAE4 A4800004 */ sh $zero, 4($a0) -/* 1140F8 802AAAE8 24840018 */ addiu $a0, $a0, 0x18 -/* 1140FC 802AAAEC 3C073F80 */ lui $a3, 0x3f80 -/* 114100 802AAAF0 E482FFF4 */ swc1 $f2, -0xc($a0) -/* 114104 802AAAF4 E482FFF8 */ swc1 $f2, -8($a0) -/* 114108 802AAAF8 0C0AD4A7 */ jal vec3f_set -/* 11410C 802AAAFC E482FFFC */ swc1 $f2, -4($a0) -/* 114110 802AAB00 44800000 */ mtc1 $zero, $f0 -/* 114114 802AAB04 26040024 */ addiu $a0, $s0, 0x24 -/* 114118 802AAB08 3C053F80 */ lui $a1, 0x3f80 -/* 11411C 802AAB0C 44060000 */ mfc1 $a2, $f0 -/* 114120 802AAB10 44070000 */ mfc1 $a3, $f0 -/* 114124 802AAB14 0C0AD4A7 */ jal vec3f_set -/* 114128 802AAB18 00000000 */ nop -/* 11412C 802AAB1C 44800000 */ mtc1 $zero, $f0 -/* 114130 802AAB20 26040030 */ addiu $a0, $s0, 0x30 -/* 114134 802AAB24 3C063F80 */ lui $a2, 0x3f80 -/* 114138 802AAB28 44050000 */ mfc1 $a1, $f0 -/* 11413C 802AAB2C 44070000 */ mfc1 $a3, $f0 -/* 114140 802AAB30 0C0AD4A7 */ jal vec3f_set -/* 114144 802AAB34 00000000 */ nop -/* 114148 802AAB38 8FBF001C */ lw $ra, 0x1c($sp) -/* 11414C 802AAB3C 8FB00018 */ lw $s0, 0x18($sp) -/* 114150 802AAB40 27BD0020 */ addiu $sp, $sp, 0x20 -/* 114154 802AAB44 03E00008 */ jr $ra -/* 114158 802AAB48 00000000 */ nop diff --git a/data/data_121DA0.s b/data/data_121DA0.s index 73ccc9fd2..2f32c118c 100644 --- a/data/data_121DA0.s +++ b/data/data_121DA0.s @@ -42,156 +42,3 @@ glabel D_802B87D4 glabel D_802B87D8 .hword 0 -.hword 0 # fill - -#.word 0 # fill padding -# start of 80296A50.c actors - -#glabel D_802B87E0 -#.word 0 -#.hword 0 -#.hword 0 # fill - -#glabel D_802B87E8 # struct or array in func_8029A3AC -#.hword 0x0000, 0x0400, 0x0800, 0x0c00 -#.hword 0x1000, 0x1400, 0x1800, 0x1c00 -#.hword 0x1c00, 0x1800, 0x1400, 0x1000 -#.hword 0x0c00, 0x0800, 0x0400 - -#.hword 0 # fill - -# unknown D_802B8808 -#.hword 0x0014, 0x0028, 0x0000, 0x0000 - -# unknown D_802B8810 -#.hword 0x0fc0, 0x0000, 0xffff, 0xffff, 0x0014, 0x0000, 0x0000, 0x0000 -#.hword 0x0fc0, 0x0fc0, 0xffff, 0xffff, 0xffec, 0x0000, 0x0000, 0x0000 -#.hword 0x0000, 0x0fc0, 0xffff, 0xffff, 0xffec, 0x0028, 0x0000, 0x0000 -#.hword 0x0000, 0x0000, 0xffff, 0xffff - -#glabel D_802B8848 # struct -#.hword 60, 120, 180 - -.hword 0000 # fill - -#glabel D_802B8850 -#.word 0, 0, 0 - -#glabel D_802B885C -#.hword 0, 0, 0 - -#.hword 0000 # fill - -#glabel D_802B8864 -#.hword 0, 0, 0 - -#.hword 0000 # fill - -#glabel D_802B886C -#.hword 0, 0, 0 - -#.hword 0000 # fill - -#glabel D_802B8874 -#.float 0.0, 5.0, 10.0 - -#glabel D_802B8880 # Vp viewport -#.hword 640, 480, 511, 0 -#.hword 640, 480, 511, 0 - -#glabel D_802B8890 -#vertex 320, 240, -1, 0, 0, 0xC8, 0xC8, 0xFF, 0xFF -#vertex 320, 120, -1, 0, 0, 0x1E, 0x1E, 0xFF, 0xFF -#vertex 0, 120, -1, 0, 0, 0x1E, 0x1E, 0xFF, 0xFF -#vertex 0, 240, -1, 0, 0, 0xC8, 0xC8, 0xFF, 0xFF -#vertex 320, 120, -1, 0, 0, 0x00, 0xDC, 0x00, 0xFF -#vertex 320, 0, -1, 0, 0, 0x78, 0xFF, 0x78, 0xFF -#vertex 0, 0, -1, 0, 0, 0x78, 0xFF, 0x78, 0xFF -#vertex 0, 120, -1, 0, 0, 0x00, 0xDC, 0x00, 0xFF - -#glabel D_802B8910 -#vertex 320, 240, -1, 0, 0, 0xC8, 0xC8, 0xFF, 0xFF -#vertex 320, 120, -1, 0, 0, 0x1E, 0x1E, 0xFF, 0xFF -#vertex 0, 120, -1, 0, 0, 0x1E, 0x1E, 0xFF, 0xFF -#vertex 0, 240, -1, 0, 0, 0xC8, 0xC8, 0xFF, 0xFF -#vertex 320, 120, -1, 0, 0, 0x00, 0xDC, 0x00, 0xFF -#vertex 320, 0, -1, 0, 0, 0x78, 0xFF, 0x78, 0xFF -#vertex 0, 0, -1, 0, 0, 0x78, 0xFF, 0x78, 0xFF -#vertex 0, 120, -1, 0, 0, 0x00, 0xDC, 0x00, 0xFF - -#glabel D_802B8990 -#vertex 320, 240, -1, 0, 0, 0xC8, 0xC8, 0xFF, 0xFF -#vertex 320, 120, -1, 0, 0, 0x1E, 0x1E, 0xFF, 0xFF -#vertex 0, 120, -1, 0, 0, 0x1E, 0x1E, 0xFF, 0xFF -#vertex 0, 240, -1, 0, 0, 0xC8, 0xC8, 0xFF, 0xFF -#vertex 320, 120, -1, 0, 0, 0x00, 0xDC, 0x00, 0xFF -#vertex 320, 0, -1, 0, 0, 0x78, 0xFF, 0x78, 0xFF -#vertex 0, 0, -1, 0, 0, 0x78, 0xFF, 0x78, 0xFF -#vertex 0, 120, -1, 0, 0, 0x00, 0xDC, 0x00, 0xFF - -#glabel D_802B8A10 -#vertex 320, 240, -1, 0, 0, 0xC8, 0xC8, 0xFF, 0xFF -#vertex 320, 120, -1, 0, 0, 0x1E, 0x1E, 0xFF, 0xFF -#vertex 0, 120, -1, 0, 0, 0x1E, 0x1E, 0xFF, 0xFF -#vertex 0, 240, -1, 0, 0, 0xC8, 0xC8, 0xFF, 0xFF -#vertex 320, 120, -1, 0, 0, 0x00, 0xDC, 0x00, 0xFF -#vertex 320, 0, -1, 0, 0, 0x78, 0xFF, 0x78, 0xFF -#vertex 0, 0, -1, 0, 0, 0x78, 0xFF, 0x78, 0xFF -#vertex 0, 120, -1, 0, 0, 0x00, 0xDC, 0x00, 0xFF - -#glabel D_802B8A90 # unreferenced F3D -#.word 0xe7000000, 0x00000000, 0xb900031d, 0x0f0a4000 -#.word 0xba001402, 0x00300000, 0xf7000000, 0x00000000 -#.word 0xf64fc3bc, 0x00000000, 0xe7000000, 0x00000000 -#.word 0xba001402, 0x00000000, 0xb8000000, 0x00000000 - -#glabel sSkyColors # table of entries 12-bytes -#.hword 0x0080, 0x10b8, 0x17f8, 0x00d8, 0x1be8, 0x7df8 -#.hword 0x00ff, 0x00ff, 0x00ff, 0x00ff, 0x00ff, 0x00ff -#.hword 0x0030, 0x0608, 0xc178, 0x0000, 0x0000, 0x0000 -#.hword 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 -#.hword 0x0071, 0x0046, 0x00ff, 0x00ff, 0x00b8, 0x0063 -#.hword 0x001c, 0x000b, 0x005a, 0x0000, 0x0063, 0x00a4 -#.hword 0x0030, 0x0698, 0xd378, 0x00d8, 0x1be8, 0x7df8 -#.hword 0x00ee, 0x0090, 0x00ff, 0x00ff, 0x00e0, 0x00f0 -#.hword 0x0080, 0x10b8, 0x17f8, 0x00d8, 0x1be8, 0x7df8 -#.hword 0x0000, 0x0012, 0x00ff, 0x00c5, 0x00d3, 0x00ff -#.hword 0x0000, 0x0002, 0x005e, 0x00d1, 0x0041, 0x0017 -#.hword 0x00c3, 0x00e7, 0x00ff, 0x00ff, 0x00c0, 0x0000 -#.hword 0x0080, 0x10b8, 0x17f8, 0x00d8, 0x1be8, 0x7df8 -#.hword 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 -#.hword 0x0014, 0x001e, 0x0038, 0x0028, 0x003c, 0x006e -#.hword 0x0080, 0x10b8, 0x17f8, 0x00d8, 0x1be8, 0x7df8 -#.hword 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 -#.hword 0x0071, 0x0046, 0x00ff, 0x00ff, 0x00b8, 0x0063 -#.hword 0x00ff, 0x00ae, 0x0000, 0x00ff, 0x00e5, 0x007c -#.hword 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 -#.hword 0x00ee, 0x0090, 0x00ff, 0x00ff, 0x00e0, 0x00f0 - -#glabel D_802B8BCC # table of entries 12-bytes -#.hword 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 -#.hword 0x00ff, 0x00ff, 0x00ff, 0x00ff, 0x00ff, 0x00ff -#.hword 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 -#.hword 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 -#.hword 0x005f, 0x0028, 0x000f, 0x0000, 0x0000, 0x0000 -#.hword 0x0000, 0x0063, 0x00a4, 0x0000, 0x0000, 0x0000 -#.hword 0x0030, 0x0698, 0xd378, 0x0000, 0x0000, 0x0000 -#.hword 0x00ff, 0x00e0, 0x00f0, 0x0000, 0x0000, 0x0000 -#.hword 0x00d8, 0x1be8, 0x7df8, 0x0000, 0x0000, 0x0000 -#.hword 0x00ff, 0x00b8, 0x0063, 0x0000, 0x0000, 0x0000 -#.hword 0x00d1, 0x0041, 0x0017, 0x0000, 0x0000, 0x0000 -#.hword 0x00ff, 0x00c0, 0x0000, 0x0000, 0x0000, 0x0000 -#.hword 0x00d8, 0x1be8, 0x7df8, 0x0080, 0x10b8, 0x17f8 -#.hword 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 -#.hword 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 -#.hword 0x00d8, 0x1be8, 0x7df8, 0x0000, 0x0000, 0x0000 -#.hword 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 -#.hword 0x00ff, 0x00e0, 0x00f0, 0x0000, 0x0000, 0x0000 -#.hword 0x0016, 0x0091, 0x0016, 0x0000, 0x0000, 0x0000 -#.hword 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 -#.hword 0x00ff, 0x00e0, 0x00f0, 0x0000, 0x0000, 0x0000 - -#.word 0, 0 # fill - -#glabel gMainPoolState -#.word 0 diff --git a/data/data_121DA0_2.s b/data/data_121DA0_2.s deleted file mode 100644 index 1ee34f46a..000000000 --- a/data/data_121DA0_2.s +++ /dev/null @@ -1,17 +0,0 @@ -# Mario Kart 64 (U) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -.include "macros.inc" - -.section .data - -# I have no idea where this data belongs. It might be some initalized but unused variable? -.word 0x0000000d, 0x0000000d - -glabel D_802B91C8 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 -.word 0x00000000, 0x00000000 - -#glabel jpt_802B91E0 -#.word L8028E6BC, L8028E958, L8028EAB0, L8028EC28 -#.word L8028EC04, L8028E714, L8028E838, L8028EBAC diff --git a/data/data_121DA0_2_1_2.s b/data/data_121DA0_2_1_2.s deleted file mode 100644 index 912f62aa8..000000000 --- a/data/data_121DA0_2_1_2.s +++ /dev/null @@ -1,492 +0,0 @@ -# Mario Kart 64 (U) disassembly and split file -# generated by n64split v0.4a - N64 ROM splitter - -.include "macros.inc" - -.section .data - -#glabel D_802B94F4 -#.float -475.0 - -#glabel D_802B94F8 -#.float -0.1 - -#.word 0 # file pad - -glabel jpt_802B9500 -.word L80296B78, L80296B78, L80296B78, L80296B78 -.word L80296BAC, L80296B88, L80296B78, L80296B78 - -glabel jpt_802B9520 -.word L80296CBC, L80296CBC, L80296CBC, L80296CBC -.word L80296CF0, L80296CCC, L80296CBC, L80296CBC - -glabel jpt_802B9540 -.word L80296F28, L80296F6C, L80296F9C, L80296E40 -.word L80296E6C, L80296E88, L80296ED8, L80296DDC -.word L802971FC, L8029721C, L802971D8, L8029716C -.word L8029721C, L80296E5C, L8029721C, L8029721C -.word L8029721C, L80296FCC, L8029721C, L8029721C -.word L8029721C, L8029721C, L8029721C, L8029713C -.word L80296FF4, L8029721C, L80297024, L8029707C -.word L802970AC, L802970DC, L8029710C, L8029704C -.word L8029721C, L8029721C, L8029721C, L80296DA8 -.word L8029721C, L8029721C, L8029721C, L8029721C -.word L8029721C, L802971B0, L8029721C, L80296E20 - -glabel D_802B95F0 -.float 1.925 - -glabel D_802B95F4 -.float 0.35 - -glabel D_802B95F8 -.float 4000000.0 - -glabel jpt_802B95FC -.word L80297B10, L80297B3C, L80297B68, L80297B94 -.word L80297BC0 - -glabel D_802B9610 -.double 0.12 - -glabel D_802B9618 -.float 2.3 - -glabel D_802B961C -.float 0.7 - -glabel D_802B9620 -.float 0.3 - -glabel D_802B9624 -.float 1000000.0 - -glabel D_802B9628 -.float 90000.0 - -glabel D_802B962C -.float 64000000.0 - -glabel D_802B9630 -.float 4000000.0 - -glabel jpt_802B9634 -.word L802988F0, L80298910, L80298930, L80298950 -.word L80298970 - -glabel D_802B9648 -.float 160000.0 - -glabel D_802B964C -.float 0.8 - -glabel D_802B9650 -.float 9000000.0 - -glabel D_802B9654 -.float 1000000.0 - -glabel D_802B9658 -.float 16000000.0 - -glabel D_802B965C -.float 250000.0 - -glabel D_802B9660 -.float 4000000.0 - -glabel D_802B9664 -.float 250000.0 - -glabel D_802B9668 -.float 4000000.0 - -glabel D_802B966C -.float 250000.0 - -glabel D_802B9670 -.float 6250000.0 - -glabel D_802B9674 -.float 4000000.0 - -glabel D_802B9678 -.float 250000.0 - -glabel D_802B967C -.float 4000000.0 - -glabel D_802B9680 -.float 250000.0 - -glabel D_802B9684 -.float 640000.0 - -glabel D_802B9688 -.float 250000.0 - -glabel D_802B968C -.float 4000000.0 - -glabel D_802B9690 -.float 250000.0 - -glabel D_802B9694 -.float 4000000.0 - -glabel D_802B9698 -.float 40000.0 - -glabel D_802B969C -.float 4000000.0 - -glabel D_802B96A0 -.float 40000.0 - -glabel D_802B96A4 -.float 4000000.0 - -glabel D_802B96A8 -.float 40000.0 - -glabel D_802B96AC -.float 490000.0 - -glabel D_802B96B0 -.float 40000.0 - -glabel D_802B96B4 -.float 490000.0 - -glabel D_802B96B8 -.float 4000000.0 - -glabel jpt_802B96BC -.word L8029AD04, L8029AD24, L8029AD44, L8029AD64 -.word L8029AD84, L8029ADA4, L8029ADC4, L8029ADE4 - -glabel D_802B96DC -.float 9000000.0 - -glabel D_802B96E0 -.float 9000000.0 - -glabel D_802B96E4 -.float 160000.0 - -glabel D_802B96E8 -.float 640000.0 - -glabel D_802B96EC -.float 160000.0 - -glabel D_802B96F0 -.float 9000000.0 - -glabel D_802B96F4 -.float 160000.0 - -glabel D_802B96F8 -.float 640000.0 - -glabel D_802B96FC -.float 160000.0 - -glabel D_802B9700 -.float 9000000.0 - -glabel D_802B9704 -.float 160000.0 - -glabel D_802B9708 -.float 640000.0 - -glabel D_802B970C -.float 160000.0 - -glabel D_802B9710 -.float 9000000.0 - -glabel D_802B9714 -.float 160000.0 - -glabel D_802B9718 -.float 640000.0 - -glabel D_802B971C -.float 160000.0 - -glabel D_802B9720 -.float 9000000.0 - -glabel D_802B9724 -.float 122500.0 - -glabel D_802B9728 -.float 640000.0 - -glabel D_802B972C -.float 1440000.0 - -glabel D_802B9730 -.float 9000000.0 - -glabel D_802B9734 -.float 250000.0 - -glabel D_802B9738 -.float 1000000.0 - -glabel D_802B973C -.float 1440000.0 - -glabel D_802B9740 -.float 9000000.0 - -glabel D_802B9744 -.float 250000.0 - -glabel D_802B9748 -.float 1000000.0 - -glabel D_802B974C -.float 1440000.0 - -glabel D_802B9750 -.float 4000000.0 - -glabel D_802B9754 -.float 250000.0 - -glabel D_802B9758 -.float 5461.0 - -.word 0 - -glabel D_802B9760 -.double 0.1 - -glabel D_802B9768 -.float -1.2 - -glabel D_802B976C -.float -1.2 - -glabel D_802B9770 -.float -1.2 - -glabel D_802B9774 -.float -1.2 - -glabel D_802B9778 -.float -1.2 - -glabel jpt_802B977C -.word L8029D6A4, L8029D73C, L8029D6AC, L8029D73C -.word L8029D6B4, L8029D6BC, L8029D73C, L8029D6C4 -.word L8029D6F0, L8029D6F8, L8029D73C, L8029D700 - -glabel jpt_802B97AC -.word L8029DBBC, L8029DC88, L8029DCA8, L8029DCC8 -.word L8029DCDC, L8029DD40, L8029DD60, L8029DDA8 -.word L8029DDD4, L8029DDF4, L8029DE28, L8029DE3C -.word L8029DFD4, L8029DFE8, L8029DFFC, L8029E0D0 -.word L8029E0E4, L8029E0F8, L8029E10C, L8029E130 - -glabel jpt_802B97FC -.word L8029E3B0, L8029E7AC, L8029E488, L8029E7AC -.word L8029E4A4, L8029E4C0, L8029E7AC, L8029E4F0 -.word L8029E5DC, L8029E60C, L8029E7AC, L8029E704 -.word L8029E7AC, L8029E7AC, L8029E7AC, L8029E7AC -.word L8029E7AC, L8029E7AC, L8029E770 - -glabel jpt_802B9848 -.word L8029E960, L8029E960, L8029E960, L8029E960 -.word L8029EA8C, L8029E968, L8029E960, L8029E960 - -glabel jpt_802B9868 -.word L8029EB34, L8029EB34, L8029EB34, L8029EB34 -.word L8029EC60, L8029EB3C, L8029EB34, L8029EB34 - -glabel D_802B9888 -.float 0.8 - -glabel D_802B988C -.float 0.1 - -glabel D_802B9890 -.float 0.1 - -glabel D_802B9894 -.float 1.2 - -glabel D_802B9898 -.float 1.3 - -glabel D_802B989C -.float 0.8 - -glabel D_802B98A0 -.float 0.1 - -glabel D_802B98A4 -.float 1.2 - -glabel D_802B98A8 -.float 1.2 - -glabel D_802B98AC -.float 0.1 - -glabel D_802B98B0 -.float 0.1 - -glabel jpt_802B98B4 -.word L8029FE48, L802A00D8, L8029FE38, L8029FE38 -.word L8029FE88, L802A00D8 - -glabel jpt_802B98CC -.word L8029FFB4, L8029FFB4, L8029FF74, L8029FF74 -.word L8029FF74, L8029FF74, L802A00D8, L802A00D8 -.word L8029FF74, L8029FF74 - -glabel jpt_802B98F4 -.word L802A0030, L802A0030, L802A0004, L802A0004 -.word L802A0004, L802A0004, L802A0058, L802A00D8 -.word L802A0004, L802A0004 - -glabel jpt_802B991C -.word L802A09B0, L802A09B0, L802A09B0, L802A09D4 -.word L802A04E0, L802A063C, L802A0858, L802A04AC -.word L802A0968, L802A0D40, L802A0CBC, L802A0AA4 -.word L802A0D40, L802A0D40, L802A0D40, L802A0D40 -.word L802A0D40, L802A09B0, L802A0D40, L802A0D40 -.word L802A0D40, L802A098C, L802A0D40, L802A09B0 -.word L802A09B0, L802A0D40, L802A09B0, L802A09B0 -.word L802A09B0, L802A09B0, L802A09B0, L802A09B0 -.word L802A0D40, L802A0D40, L802A0D40, L802A0D40 -.word L802A0D40, L802A0D40, L802A0D40, L802A0D40 -.word L802A0744, L802A0C34 - -glabel D_802B99C4 -.float 360000.0 - -glabel D_802B99C8 -.float 360000.0 - -glabel D_802B99CC -.float 8.66 - -glabel D_802B99D0 -.float 0.05 - -glabel D_802B99D4 -.float 0.2 - -glabel D_802B99D8 -.float 8.66 - -glabel D_802B99DC -.float 0.45 - -glabel D_802B99E0 -.float 1000000.0 - -glabel D_802B99E4 -.float 0.1 - -glabel D_802B99E8 -.float 0.8 - -glabel D_802B99EC -.float 2.3 - -glabel D_802B99F0 -.float 1.2 - -glabel D_802B99F4 -.float 1.8 - -glabel D_802B99F8 -.float -0.8 - -glabel D_802B99FC -.float 0.6 - -glabel D_802B9A00 -.float 4000000.0 - -glabel D_802B9A04 -.float 600000.0 - -glabel D_802B9A08 -.float 100000.0 - -glabel D_802B9A0C -.float 0.1 - -glabel D_802B9A10 -.float 0.8 - -glabel D_802B9A14 -.float 2.3 - -glabel D_802B9A18 -.float 1.2 - -glabel D_802B9A1C -.float 1.8 - -glabel D_802B9A20 -.float -0.8 - -glabel D_802B9A24 -.float 0.6 - -glabel D_802B9A28 -.float 16000000.0 - -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 diff --git a/include/actor_types.h b/include/actor_types.h index 1fb7a8fff..ff252db76 100644 --- a/include/actor_types.h +++ b/include/actor_types.h @@ -128,18 +128,15 @@ struct FallingRock { struct ActorSpawnData { /* 0x00 */ Vec3s pos; - /* 0x06 */ u16 someId; // Usually populated, but not necessarily used by all actors types + union { + /* 0x06 */ u16 someId; // Usually populated, but not necessarily used by all actors types + /* 0x06 */ s16 signedSomeId; + }; }; // Required for func_80298AC0 due to diff size. // members unverified. data located at D_06013F78 struct UnkActorSpawnData { - /* 0x00 */ Vec3s pos; - /* 0x06 */ s16 someId; // s16 required here. - /* 0x08 */ u16 unk8; -}; - -struct UnkActorSpawnData80298D10 { /* 0x00 */ Vec3s pos; /* 0x06 */ s16 someId; // Usually populated, but not necessarily used by all actors types /* 0x08 */ s16 unk8; diff --git a/include/common_structs.h b/include/common_structs.h index af1d023e2..e338df6aa 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -109,9 +109,7 @@ typedef struct { /* 0x08 */ u16 unk38; // This may be an index to the tilemap? /* 0x0A */ u16 unk3A; - /* 0x0C */ f32 unk3C; - /* 0x10 */ f32 unk40; - /* 0x14 */ f32 unk44; + /* 0x0C */ Vec3f unk3C; /* 0x18 */ Vec3f unk48; /* 0x24 */ Vec3f unk54; /* 0x30 */ Vec3f unk60; @@ -309,7 +307,7 @@ typedef struct { /* 0x0214 */ f32 unk_214; /* 0x0218 */ f32 unk_218; /* 0x021C */ f32 unk_21C; - /* 0x0220 */ s16 unk_220; + /* 0x0220 */ s16 nearestWaypointId; // ?? /* 0x0222 */ s16 unk_222; /* 0x0224 */ f32 unk_224; /* 0x0228 */ s16 unk_228; diff --git a/include/functions.h b/include/functions.h index 5901ef9e1..24fd47363 100644 --- a/include/functions.h +++ b/include/functions.h @@ -7,9 +7,7 @@ void mio0decode(u8* arg0, u8* arg1); void func_8000F2DC(void); void func_8000F628(void); -void func_8000EEDC(void); void func_802B6540(f32* arg0, f32 arg1, f32 arg2, f32 arg3, s16 arg4); -void func_8005D6C0(Player* player); void func_8006B7E4(Player* player, s32 arg1); void func_800267AC(Player* player, s8 arg1, s8 arg2); void func_8005D290(void); diff --git a/mk64.ld b/mk64.ld index ea4c34d25..1024f3bdf 100644 --- a/mk64.ld +++ b/mk64.ld @@ -331,11 +331,10 @@ SECTIONS BUILD_DIR/src/memory.o(.data); BUILD_DIR/courses/courseTable.inc.o(.data); BUILD_DIR/src/actors_extended.o(.data); - BUILD_DIR/data/data_121DA0_2.o(.data); + BUILD_DIR/src/race_logic.o(.data); BUILD_DIR/src/race_logic.o(.rodata); BUILD_DIR/data/data_121DA0_2_1.o(.data); BUILD_DIR/src/render_courses.o(.rodata); - BUILD_DIR/data/data_121DA0_2_1_2.o(.data); BUILD_DIR/src/actors.o(.rodata); BUILD_DIR/data/data_121DA0_2_2.o(.data); BUILD_DIR/src/actors_extended.o(.rodata); diff --git a/permuter_settings.toml b/permuter_settings.toml index ae07154b8..33d31fe7e 100644 --- a/permuter_settings.toml +++ b/permuter_settings.toml @@ -14,3 +14,4 @@ "TEXT_.*" = "int" "OS_.*" = "int" "SEGMENT_.*" = "int" +"ACTOR_.*" = "int" diff --git a/src/actors.c b/src/actors.c index 372c818dc..30ee14cd0 100644 --- a/src/actors.c +++ b/src/actors.c @@ -10,6 +10,11 @@ #include "memory.h" #include "actors_extended.h" #include "actors.h" +#include "waypoints.h" +#include "macros.h" +#include "code_80005FD0.h" +#include "code_80071F00.h" +#include "code_8008C1D0.h" s32 D_802BA050; s32 D_802BA054; @@ -18,199 +23,98 @@ struct Actor *D_802BA05C; s8 D_802BA060[512]; // tlut 256 u16 D_802BA260; -#ifdef MIPS_TO_C -//generated by m2c commit a8f43e46d33dcb7e04d9cdc44a10b3daf4c92c3b -? func_8000EE58(u16, struct Actor *, u16, s16); /* extern */ -extern u16 D_8015F6FE; +void func_80296A50(struct ShellActor *shell) { + s32 actorIndex; + struct ShellActor *compare; -void func_80296A50(struct ShellActor *shell, s16 arg3) { - struct Actor *sp1C; - s16 temp_t3; - s16 temp_t7; - s16 temp_v0; - s32 temp_a2; - s32 temp_a2_2; - s32 temp_a2_3; - s32 temp_a2_4; - u16 temp_t1; - struct Actor *phi_a1; - u16 phi_a2; - struct Actor *phi_a1_2; - u16 phi_a2_2; - s32 phi_a2_3; - struct Actor *phi_a1_3; - u16 phi_a2_4; - s32 phi_a2_5; - struct Actor *phi_a1_4; - u16 phi_a2_6; - - temp_t1 = gNumPermanentActors; - phi_a2 = temp_t1; - phi_a2_3 = (s32) temp_t1; - phi_a2_5 = (s32) temp_t1; - if ((s32) temp_t1 < 0x64) { - phi_a1 = &gActorList[temp_t1]; -loop_2: - if ((shell != phi_a1) && ((phi_a1->flags & 0xF) == 0) && (phi_a1->type == 7)) { - if (phi_a1->state == 2) { - sp1C = phi_a1; - func_8000EE58(phi_a2, phi_a1, phi_a2, 2); + for (actorIndex = gNumPermanentActors; actorIndex < ACTOR_LIST_SIZE; actorIndex++) { + compare = &gActorList[actorIndex]; + if ((shell != compare) && !(compare->flags & 0xF) && (compare->type == ACTOR_GREEN_SHELL)) { + if (compare->state == 2) { + func_8000EE58(actorIndex); } - D_8015F6FE += -1; - destroy_actor(phi_a1); + D_8015F6FE -= 1; + destroy_actor(compare); return; } - temp_a2 = phi_a2 + 1; - phi_a1 += 0x70; - phi_a2 = (u16) temp_a2; - if (temp_a2 >= 0x64) { - goto block_10; - } - goto loop_2; } -block_10: - phi_a2_2 = (u16) (s32) temp_t1; - phi_a2_3 = (s32) temp_t1; - if ((s32) temp_t1 < 0x64) { - phi_a1_2 = &gActorList[(s32) temp_t1]; -loop_12: - if ((shell != phi_a1_2) && ((phi_a1_2->flags & 0xF) == 0) && (phi_a1_2->type == 8)) { - temp_t3 = phi_a1_2->state; - switch (temp_t3) { /* switch 1 */ - case 2: /* switch 1 */ - case 3: /* switch 1 */ - case 4: /* switch 1 */ - case 5: /* switch 1 */ - case 8: /* switch 1 */ - case 9: /* switch 1 */ - sp1C = phi_a1_2; - func_8000EE58(phi_a2_2, phi_a1_2, phi_a2_2); - /* fallthrough */ - case 7: /* switch 1 */ - D_8015F6FE += -1; - destroy_actor(phi_a1_2); + + for (actorIndex = gNumPermanentActors; actorIndex < ACTOR_LIST_SIZE; actorIndex++) { + compare = &gActorList[actorIndex]; + if ((shell != compare) && !(compare->flags & 0xF) && (compare->type == ACTOR_RED_SHELL)) { + switch(compare->state) { + case 2: + case 3: + case 4: + case 5: + case 8: + case 9: + func_8000EE58(actorIndex); + case 7: + D_8015F6FE -= 1; + destroy_actor(compare); + return; + default: + break; + } + } + } + + for (actorIndex = gNumPermanentActors; actorIndex < ACTOR_LIST_SIZE; actorIndex++) { + compare = &gActorList[actorIndex]; + if ((shell != compare) && (compare->type == ACTOR_GREEN_SHELL)) { + switch(compare->state) { + case 2: + func_8000EE58(actorIndex); + case 7: + D_8015F6FE -= 1; + destroy_actor(compare); return; } - } else { - default: /* switch 1 */ - temp_a2_2 = phi_a2_2 + 1; - phi_a1_2 += 0x70; - phi_a2_2 = (u16) temp_a2_2; - if (temp_a2_2 >= 0x64) { - goto block_21; - } - goto loop_12; } - } else { -block_21: - phi_a2_4 = (u16) phi_a2_3; - phi_a2_5 = phi_a2_3; - if (phi_a2_3 < 0x64) { - phi_a1_3 = &gActorList[phi_a2_3]; -loop_23: - if ((shell != phi_a1_3) && (phi_a1_3->type == 7)) { - temp_v0 = phi_a1_3->state; - switch (temp_v0) { /* switch 3; irregular */ - case 2: /* switch 3 */ - sp1C = phi_a1_3; - func_8000EE58(phi_a2_4, phi_a1_3, phi_a2_4, 2); - /* fallthrough */ - case 7: /* switch 3 */ - D_8015F6FE += -1; - destroy_actor(phi_a1_3); - return; - } - } else { - temp_a2_3 = phi_a2_4 + 1; - phi_a1_3 += 0x70; - phi_a2_4 = (u16) temp_a2_3; - if (temp_a2_3 >= 0x64) { - goto block_32; - } - goto loop_23; - } - } else { -block_32: - phi_a2_6 = (u16) phi_a2_5; - if (phi_a2_5 < 0x64) { - phi_a1_4 = &gActorList[phi_a2_5]; -loop_34: - if ((shell != phi_a1_4) && (phi_a1_4->type == 8)) { - temp_t7 = phi_a1_4->state; - switch (temp_t7) { /* switch 2 */ - case 2: /* switch 2 */ - case 3: /* switch 2 */ - case 4: /* switch 2 */ - case 5: /* switch 2 */ - case 8: /* switch 2 */ - case 9: /* switch 2 */ - sp1C = phi_a1_4; - func_8000EE58(phi_a2_6, phi_a1_4, phi_a2_6); - /* fallthrough */ - case 7: /* switch 2 */ - D_8015F6FE += -1; - destroy_actor(phi_a1_4); - return; - } - } else { - default: /* switch 2 */ - temp_a2_4 = phi_a2_6 + 1; - phi_a1_4 += 0x70; - phi_a2_6 = (u16) temp_a2_4; - if (temp_a2_4 >= 0x64) { + } - } else { - goto loop_34; - } - } + for (actorIndex = gNumPermanentActors; actorIndex < ACTOR_LIST_SIZE; actorIndex++) { + compare = &gActorList[actorIndex]; + if ((shell != compare) && (compare->type == ACTOR_RED_SHELL)) { + switch(compare->state) { + case 2: + case 3: + case 4: + case 5: + case 8: + case 9: + func_8000EE58(actorIndex); + case 7: + D_8015F6FE -= 1; + destroy_actor(compare); + return; + default: + break; } } } } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_80296A50.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit a8f43e46d33dcb7e04d9cdc44a10b3daf4c92c3b -? func_80296A50(struct Actor *); /* extern */ -? vec3f_copy(f32 *, f32 *); /* extern */ -? vec3s_copy(s16 *, s16 *); /* extern */ -extern u16 D_8015F6FE; -extern u16 D_802BA260; -static f32 D_802B95F0 = 1.925f; -static f32 D_802B95F4 = 0.35f; - -void func_80296D10(struct Actor *actor, Vec3f startingPos, Vec3s startingRot, Vec3f startingVelocity, s32 actorType) { - UnkActorInner *sp2C; - UnkActorInner *temp_a0; - f32 temp_f0; - u16 temp_v0; - s16 phi_v0; +void func_80296D10(struct Actor *actor, Vec3f startingPos, Vec3s startingRot, Vec3f startingVelocity, s16 actorType) { vec3f_copy(actor->pos, startingPos); vec3s_copy(actor->rot, startingRot); vec3f_copy(actor->velocity, startingVelocity); + actor->type = actorType; actor->flags = -0x8000; actor->unk_04 = 0; actor->state = 0; - temp_a0 = &actor->unk30; - actor->type = (s16) actorType; actor->unk_08 = 0.0f; actor->boundingBoxSize = 0.0f; - sp2C = temp_a0; - func_802AAAAC(temp_a0); - switch ((s16) actorType) { + func_802AAAAC(&actor->unk30); + switch (actorType) { case ACTOR_BOX_TRUCK: - temp_v0 = D_802BA260; - phi_v0 = (s16) temp_v0; - if ((s32) temp_v0 >= 3) { + if ((s32) D_802BA260 >= 3) { D_802BA260 = 0; - phi_v0 = 0 & 0xFFFF; } - actor->state = phi_v0; + actor->state = (s16) D_802BA260; D_802BA260 += 1; - return; + break; case ACTOR_YOSHI_VALLEY_EGG: actor->flags |= 0x4000; actor->unk_08 = 70.0f; @@ -218,44 +122,41 @@ void func_80296D10(struct Actor *actor, Vec3f startingPos, Vec3s startingRot, Ve actor->velocity[0] = actor->pos[0]; actor->velocity[1] = actor->pos[1]; actor->velocity[2] = actor->pos[2] + 70.0f; - return; + break; case ACTOR_KIWANO_FRUIT: actor->state = 0; actor->rot[0] = 0; actor->rot[1] = 0; actor->rot[2] = 0; actor->boundingBoxSize = 2.0f; - return; + break; case ACTOR_FALLING_ROCK: actor->flags |= 0x4000; actor->boundingBoxSize = 10.0f; - return; + break; case ACTOR_TRAIN_ENGINE: actor->unk_08 = 10.0f; - return; + break; case ACTOR_BANANA: - actor->flags |= 0x5000; + actor->flags = actor->flags | 0x4000 | 0x1000; actor->boundingBoxSize = 2.0f; - return; + break; case ACTOR_GREEN_SHELL: D_8015F6FE += 1; actor->unk_04 = 0; actor->boundingBoxSize = 4.0f; - actor->flags |= 0x7000; + actor->flags = actor->flags | 0x4000 | 0x2000 | 0x1000; if ((s32) D_8015F6FE >= 0x15) { - func_80296A50(actor); - return; + func_80296A50((struct ShellActor *) actor); } - default: - return; + break; case ACTOR_RED_SHELL: D_8015F6FE += 1; actor->unk_04 = 0; actor->boundingBoxSize = 4.0f; - actor->flags |= 0x7000; + actor->flags = actor->flags | 0x4000 | 0x2000 | 0x1000; if ((s32) D_8015F6FE >= 0x15) { - func_80296A50(actor); - return; + func_80296A50((struct ShellActor *) actor); } break; case 2: @@ -264,102 +165,100 @@ void func_80296D10(struct Actor *actor, Vec3f startingPos, Vec3s startingRot, Ve actor->state = 0x0043; actor->boundingBoxSize = 3.0f; actor->unk_08 = 20.0f; - return; + break; case 3: actor->flags |= 0x4000; actor->state = 0x0043; actor->boundingBoxSize = 3.0f; actor->unk_08 = 23.0f; - return; + break; case 4: actor->flags |= 0x4000; actor->state = 0x0043; actor->boundingBoxSize = 3.0f; actor->unk_08 = 17.0f; - return; + break; case 19: actor->state = 0x0043; actor->flags = -0x8000; actor->boundingBoxSize = 3.0f; actor->unk_08 = 17.0f; - return; + break; case 26: actor->flags |= 0x4000; actor->state = 0x0043; actor->boundingBoxSize = 3.0f; actor->unk_08 = 17.0f; - return; + break; case 28: actor->state = 0x0043; actor->flags = -0x8000; actor->boundingBoxSize = 3.0f; actor->unk_08 = 17.0f; - return; + break; case 33: actor->flags |= 0x4000; actor->state = 0x0043; actor->boundingBoxSize = 3.0f; actor->unk_08 = 17.0f; - return; + break; case 29: actor->flags |= 0x4000; actor->state = 0x0043; actor->boundingBoxSize = 3.0f; actor->unk_08 = 17.0f; - return; + break; case 30: actor->flags |= 0x4000; actor->state = 0x0019; actor->boundingBoxSize = 3.0f; actor->unk_08 = 7.0f; - return; + break; case 31: actor->flags |= 0x4000; actor->state = 0x0019; actor->boundingBoxSize = 3.0f; actor->unk_08 = 7.0f; - return; + break; case 32: actor->flags |= 0x4000; actor->state = 0x0019; actor->boundingBoxSize = 3.0f; actor->unk_08 = 7.0f; - return; + break; case ACTOR_PALM_TREE: actor->flags |= 0x4000; actor->state = 0x003C; actor->boundingBoxSize = 3.0f; actor->unk_08 = 13.0f; - return; + break; case ACTOR_FAKE_ITEM_BOX: - temp_f0 = D_802B95F0; - actor->flags |= 0x5000; - actor->boundingBoxSize = temp_f0; - actor->unk_08 = D_802B95F4; - func_802ADDC8(temp_a0, temp_f0, actor->pos[0], actor->pos[1], actor->pos[2]); - return; + actor->flags = actor->flags | 0x4000 | 0x1000; + actor->unk_08 = 0.35f; + actor->boundingBoxSize = 1.925f; + func_802ADDC8(&actor->unk30, 1.925f, actor->pos[0], actor->pos[1], actor->pos[2]); + break; case ACTOR_HOT_AIR_BALLOON_ITEM_BOX: actor->flags |= 0x4000; actor->unk_04 = 0; actor->state = 5; actor->boundingBoxSize = 5.5f; - return; + break; case ACTOR_ITEM_BOX: actor->flags |= 0x4000; actor->unk_04 = 0; actor->state = 0; actor->boundingBoxSize = 5.5f; - return; + break; case ACTOR_PIRANHA_PLANT: actor->flags |= 0x4000; actor->state = 0x001E; actor->boundingBoxSize = 5.0f; break; + default: + break; } } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_80296D10.s") -#endif void func_80297230(Camera *arg0, struct Actor *arg1) { switch(arg0 - camera1) { @@ -422,39 +321,9 @@ void func_80297340(Camera *arg0) { } } -#ifdef NON_MATCHING -// Possibly gDPLoadTextureBlock -UNUSED void func_80297524(intptr_t addr, s32 a, s32 b) { - gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, addr); - gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD); - gDPLoadSync(gDisplayListHead++); -/* -if (temp_t4 < 0x7FF) { - phi_a0 = temp_t4; - } else { - phi_a0 = 0x7FF; - } - temp_t1 = arg1 * 2; - temp_v0_4 = temp_t1 / 8; - phi_t2 = temp_v0_4; - if (temp_v0_4 <= 0) { - phi_t2 = 1; - } - if (temp_v0_4 <= 0) { - phi_t3 = 1; - } else { - phi_t3 = temp_v0_4; - } -*/ - - gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 0, 0); - gDPPipeSync(gDisplayListHead++); - gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD); - gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0, 0); +UNUSED void func_80297524(uintptr_t addr, s32 width, s32 height) { + gDPLoadTextureBlock(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(addr), G_IM_FMT_RGBA, G_IM_SIZ_16b, width, height, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_80297524.s") -#endif void func_802976D8(Vec3s arg0) { arg0[0] = 0x4000; @@ -546,47 +415,40 @@ void func_802979F8(struct Actor *arg0, f32 arg1) { } } -#ifdef MISSING_RODATA // jpt_802B95FC - void func_80297A50(Camera *camera, Mat4 arg1, struct Actor *arg2) { - u16 temp_t0; - f32 temp = func_802B80D0(camera->pos, arg2->unk18, camera->rot[1], 0, D_80150130[camera - camera1], D_802B95F8); + if (func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], 4000000.0f) < 0) { return; } - if (temp < 0.0f) { return; } + arg1[3][0] = arg2->pos[0]; + arg1[3][1] = arg2->pos[1]; + arg1[3][2] = arg2->pos[2]; - arg1[3][0] = arg2->unk18[0]; - arg1[3][1] = arg2->unk18[1]; - arg1[3][2] = arg2->unk18[2]; - - if (func_802B4FF8(arg1, 0) != 0) { return; } - temp_t0 = arg2->unk6; - switch (temp_t0) { - case 0: - gSPDisplayList(gDisplayListHead++, D_06013C00); - break; - case 1: - gSPDisplayList(gDisplayListHead++, D_06013CA0); - break; - case 2: - gSPDisplayList(gDisplayListHead++, D_06013D20); - break; - case 3: - gSPDisplayList(gDisplayListHead++, D_06013DA0); - break; - case 4: - gSPDisplayList(gDisplayListHead++, D_06013E20); - break; + if (func_802B4FF8(arg1, 0) != 0) { + switch (arg2->state) { + case 0: + gSPDisplayList(gDisplayListHead++, D_06013C00); + break; + case 1: + gSPDisplayList(gDisplayListHead++, D_06013CA0); + break; + case 2: + gSPDisplayList(gDisplayListHead++, D_06013D20); + break; + case 3: + gSPDisplayList(gDisplayListHead++, D_06013DA0); + break; + case 4: + gSPDisplayList(gDisplayListHead++, D_06013E20); + break; } + } } -#endif -GLOBAL_ASM("asm/non_matchings/actors/func_80297A50.s") void update_obj_yoshi_valley_egg(struct YoshiValleyEgg *egg) { egg->pathRot += 0x5B; egg->pos[0] = egg->pathCenter[0] + (sins(egg->pathRot) * egg->pathRadius); egg->pos[2] = egg->pathCenter[2] + (coss(egg->pathRot) * egg->pathRadius); if ((egg->flags & 0x400) != 0) { - egg->pathCenter[1] -= D_802B9610; + egg->pathCenter[1] -= 0.12; if (egg->pathCenter[1] < -3.0f) { egg->pathCenter[1] = -3.0f; } @@ -610,20 +472,13 @@ void update_obj_trees_cacti_shrubs(struct Actor *arg0) { } } -#ifdef MIPS_TO_C -//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9 -extern s32 D_80162DF8; -extern f32 D_802B9618;// = 2.3f; -extern f32 D_802B961C;// = 0.7f; -extern f32 D_802B9620;// = 0.3f; - void update_obj_kiwano_fruit(struct KiwanoFruit *fruit) { - f32 temp_f12; - struct TrackWayPoint *nearestWaypoint; Player *player; f32 temp_f2; f32 temp_f16; f32 temp_f14; + f32 temp_f12; + s32 nearestWaypoint; player = &gPlayers[fruit->targetPlayer]; if (((player->unk_000 & 0x1000) != 0) || (player->unk_110.unk34 == 0)) { @@ -638,10 +493,10 @@ void update_obj_kiwano_fruit(struct KiwanoFruit *fruit) { fruit->state = 1; fruit->velocity[0] = 80.0f; case 1: - nearestWaypoint = &D_80164490[gNearestWaypointByPlayerId[(u16)(player - gPlayerOne)]]; - temp_f2 = player->pos[0] - nearestWaypoint->wayPointX; - temp_f16 = player->pos[1] - nearestWaypoint->wayPointY; - temp_f14 = player->pos[2] - nearestWaypoint->wayPointZ; + nearestWaypoint = gNearestWaypointByPlayerId[(u16)(player - gPlayerOne)]; + temp_f2 = player->pos[0] - D_80164490[nearestWaypoint].wayPointX; + temp_f16 = player->pos[1] - D_80164490[nearestWaypoint].wayPointY; + temp_f14 = player->pos[2] - D_80164490[nearestWaypoint].wayPointZ; temp_f12 = fruit->velocity[0] / sqrtf((temp_f2 * temp_f2) + (temp_f16 * temp_f16) + (temp_f14 * temp_f14)); temp_f2 *= temp_f12; temp_f16 *= temp_f12; @@ -695,9 +550,6 @@ void update_obj_kiwano_fruit(struct KiwanoFruit *fruit) { } } } -#else -GLOBAL_ASM("asm/non_matchings/actors/update_obj_kiwano_fruit.s") -#endif void update_obj_paddle_wheel(struct PaddleWheelBoat *boat) { boat->wheelRot += 0x38E; @@ -779,7 +631,7 @@ void func_80298328(Camera *arg0, Mat4 arg1, struct PiranhaPlant *arg2) { if (temp & 0x800) { return; } - temp_f0 = func_802B80D0(arg0->pos, arg2->pos, arg0->rot[1], 0, D_80150130[arg0 - camera1], D_802B9624); + temp_f0 = func_802B80D0(arg0->pos, arg2->pos, arg0->rot[1], 0, D_80150130[arg0 - camera1], 1000000.0f); if (temp_f0 < 0.0f) { @@ -805,7 +657,7 @@ void func_80298328(Camera *arg0, Mat4 arg1, struct PiranhaPlant *arg2) { arg1[3][2] = arg2->pos[2]; if (func_802B4FF8(arg1, 0) == 0) { return; } - if (D_802B9628 < temp_f0) { + if (90000.0f < temp_f0) { switch(temp_lo) { case 0: @@ -873,162 +725,80 @@ void func_80298328(Camera *arg0, Mat4 arg1, struct PiranhaPlant *arg2) { } } -#ifdef MIPS_TO_C -//generated by m2c commit a8f43e46d33dcb7e04d9cdc44a10b3daf4c92c3b -s32 func_802B4FF8(f32 (*)[4], ?); /* extern */ -f32 func_802B80D0(Camera *, f32 *, u16, f32, f32, f32); /* extern */ -extern ? D_06014200; -extern u16 D_80150112; -extern u16 D_8015F700; -extern u16 D_8015F702; -extern f32 D_8015F704; -extern f32 D_8015F708; -static f32 D_802B91C8[6] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; -static f32 D_802B962C = 6.4e7f; -static f32 D_802B9630 = 4000000.0f; -static f32 D_802B9648 = 160000.0f; - void func_802986B4(Camera *camera, Mat4 arg1, struct Actor *actor) { - s16 *sp9C; - f32 sp90; - f32 sp8C; - f32 sp88; - Gfx *temp_v0; - Gfx *temp_v0_2; - Gfx *temp_v0_3; - Gfx *temp_v0_4; - Gfx *temp_v0_5; - Gfx *temp_v0_6; - Gfx *temp_v0_7; - Gfx *temp_v0_8; - f32 temp_f0; - s16 *temp_t1; - s16 temp_v0_9; u16 temp_s1; - u16 temp_t4; - u16 temp_v0_10; - s16 phi_v0; - s16 *phi_s1; - Gfx *phi_v0_2; - s16 *phi_s5; - s16 *phi_t1; - s16 *phi_s5_2; - s16 *phi_s5_3; - - temp_t1 = gSegmentTable[(u32) &D_06014200 >> 0x18] + ((s32) &D_06014200 & 0xFFFFFF) + 0x80000000; - D_8015F704 = D_802B962C; - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->words.w1 = -1U; - temp_v0->words.w0 = 0xBB000001; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->words.w1 = -0x00000C07U; - temp_v0_2->words.w0 = 0xFC127E24; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->words.w1 = 0x00553078; - temp_v0_3->words.w0 = 0xB900031D; - phi_s1 = temp_t1; - phi_s5 = NULL; - phi_t1 = temp_t1; - phi_s5_3 = NULL; - if (*temp_t1 != -0x8000) { - sp9C = temp_t1; - phi_v0 = *temp_t1; -loop_2: - sp88 = (f32) phi_v0 * gCourseDirection; - sp8C = (f32) phi_s1->unk2; - sp90 = (f32) phi_s1->unk4; - temp_f0 = func_802B80D0(camera, &sp88, (u16) camera->rot2, 0.0f, D_80150130[(s32) (camera - camera1) / 184], D_802B9630); - phi_s5_2 = phi_s5_3; - phi_s5_2 = phi_s5_3; + f32 temp_f0; + struct ActorSpawnData *var_t1; + struct ActorSpawnData *var_s1; + struct ActorSpawnData *var_s5; + Vec3f sp88; + u32 soundThing = 0x1901904D; + s32 segment = SEGMENT_NUMBER2(D_06014200); + s32 offset = SEGMENT_OFFSET(D_06014200); + + var_t1 = (struct ActorSpawnData*)VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); + D_8015F704 = 6.4e7f; + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); + gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA); + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2); + var_s5 = NULL; + var_s1 = var_t1; + while (var_s1->pos[0] != (-0x8000)) { + sp88[0] = var_s1->pos[0] * gCourseDirection; + sp88[1] = var_s1->pos[1]; + sp88[2] = var_s1->pos[2]; + temp_f0 = func_802B80D0(camera->pos, sp88, camera->rot[1], 0.0f, D_80150130[camera - camera1], 4000000.0f); if (temp_f0 > 0.0f) { if (temp_f0 < D_8015F704) { D_8015F704 = temp_f0; - phi_s5_2 = phi_s1; + var_s5 = var_s1; } - arg1->unk30 = sp88; - arg1->unk34 = sp8C; - arg1->unk38 = sp90; - if (((s32) D_80150112 < 0x80) && (func_802B4FF8(arg1, 0) != 0)) { - temp_t4 = phi_s1->unk6; - switch (temp_t4) { + arg1[3][0] = sp88[0]; + arg1[3][1] = sp88[1]; + arg1[3][2] = sp88[2]; + if ((D_80150112 < 0x80) && (func_802B4FF8(arg1, 0) != 0)) { + switch (var_s1->someId) { case 0: - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->words.w1 = (u32) D_06013C00; - phi_v0_2 = temp_v0_4; -block_14: - phi_v0_2->words.w0 = 0x06000000; + gSPDisplayList(gDisplayListHead++, D_06013C00); break; case 1: - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->words.w1 = (u32) D_06013CA0; - phi_v0_2 = temp_v0_5; - goto block_14; + gSPDisplayList(gDisplayListHead++, D_06013CA0); + break; case 2: - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->words.w1 = (u32) D_06013D20; - phi_v0_2 = temp_v0_6; - goto block_14; + gSPDisplayList(gDisplayListHead++, D_06013D20); + break; case 3: - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->words.w1 = (u32) D_06013DA0; - phi_v0_2 = temp_v0_7; - goto block_14; + gSPDisplayList(gDisplayListHead++, D_06013DA0); + break; case 4: - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->words.w1 = (u32) D_06013E20; - phi_v0_2 = temp_v0_8; - goto block_14; - } - goto block_15; - } - } else { -block_15: - temp_v0_9 = phi_s1->unk8; - phi_v0 = temp_v0_9; - phi_s1 += 8; - phi_s5 = phi_s5_2; - phi_s5_3 = phi_s5_2; - if (temp_v0_9 == -0x8000) { - phi_t1 = sp9C; - goto block_17; - } - goto loop_2; - } - } else { -block_17: - if ((camera == camera1) && (phi_s5 != NULL)) { - temp_v0_10 = D_8015F700; - if (temp_v0_10 == 0) { - temp_s1 = ((s32) (phi_s5 - phi_t1) >> 3) & 0xFFFF; - if ((D_8015F702 != temp_s1) && (D_8015F704 < D_802B9648)) { - func_800C99E0(&D_8015F708, 0x1901904D); - D_8015F708.unk0 = (f32) phi_s5->unk0 * gCourseDirection; - D_8015F708.unk4 = (f32) phi_s5->unk2; - D_8015F708.unk8 = (f32) phi_s5->unk4; - D_8015F702 = temp_s1; - func_800C98B8(&D_8015F708, D_802B91C8, (u32) 0x1901904D); - D_8015F700 = 0x00F0; + gSPDisplayList(gDisplayListHead++, D_06013E20); + break; } } else { - D_8015F700 = temp_v0_10 - 1; + return; } } + var_s1++; + } + + if ((camera == camera1) && (var_s5 != NULL)) { + if (D_8015F700 == 0) { + temp_s1 = var_s5 - var_t1; + if ((temp_s1 != D_8015F702) && (D_8015F704 < 160000.0f)) { + func_800C99E0(D_8015F708, soundThing); + D_8015F708[0] = var_s5->pos[0] * gCourseDirection; + D_8015F708[1] = var_s5->pos[1]; + D_8015F708[2] = var_s5->pos[2]; + D_8015F702 = temp_s1; + func_800C98B8(D_8015F708, D_802B91C8, soundThing); + D_8015F700 = 0x00F0; + } + } else { + D_8015F700 -= 1; + } } } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_802986B4.s") -#endif -//static f32 D_802B964C = 0.8f; -#ifdef RO_DATA // Needs D_802B964C imported to match void func_80298AC0(Player *player) { Vec3f sp64; s32 segment = SEGMENT_NUMBER2(D_06013F78); @@ -1053,9 +823,6 @@ void func_80298AC0(Player *player) { data++; } } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_80298AC0.s") -#endif void func_80298C94(void) { s32 index; @@ -1071,7 +838,7 @@ void func_80298C94(void) { void func_80298D10(void) { s32 segment = SEGMENT_NUMBER2(D_06013F78); s32 offset = SEGMENT_OFFSET(D_06013F78); - struct UnkActorSpawnData80298D10 *temp_v1 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); + struct UnkActorSpawnData *temp_v1 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); while (temp_v1->pos[0] != -0x8000) { temp_v1->pos[1] = temp_v1->unk8; @@ -1080,149 +847,83 @@ void func_80298D10(void) { } } -// Might just be an s32 array with a u16 in it... However that might work. -Vec3s D_802B87E0[] = {0x0000, 0x0000, 0x0000}; +void func_80298D7C(Camera *camera, Mat4 arg1, struct Actor *actor) { + s32 segment = SEGMENT_NUMBER2(D_06013F78); + s32 offset = SEGMENT_OFFSET(D_06013F78); + struct UnkActorSpawnData *var_s1 = (struct UnkActorSpawnData *)VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); + s32 stackPadding0; + Vec3f spD4; + f32 var_f22; + Mat4 sp90; + Vec3s sp88 = { 0, 0, 0 }; + s32 test; -#ifdef MIPS_TO_C -//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd -? func_802B4FF8(f32 (*)[4], ?); /* extern */ -? func_802B5F74(f32 (*)[4], f32 *, ? *); /* extern */ -f32 func_802B80D0(Camera *, f32 *, u16, f32, f32, f32); /* extern */ -extern ? D_06010CC0; -extern ? D_06011DC8; -extern ? D_06012EF0; -extern ? D_060138D0; -extern ? D_06013F78; -extern u16 D_80150112; -extern ? D_80150130; -extern f32 gCourseDirection; -static ? D_802B87E0; /* unable to generate initializer */ -static f32 D_802B9650 = 9e6.0f; -static f32 D_802B9654 = 1000000.0f; - -void func_80298D7C(Camera *camera, f32 (*arg1)[4], struct Actor *arg2) { - f32 spDC; - f32 spD8; - f32 spD4; - ? sp88; - Gfx *temp_v0; - Gfx *temp_v0_2; - Gfx *temp_v0_3; - Gfx *temp_v0_4; - Gfx *temp_v0_5; - Gfx *temp_v0_6; - Gfx *temp_v0_7; - Gfx *temp_v0_8; - f32 *temp_a1; - f32 *temp_s7; - s16 *temp_s1; - s16 *temp_s1_2; - s16 temp_s0; - s16 temp_t0; - s16 *phi_s1; - f32 phi_f22; - Gfx *phi_v0; - - temp_s1 = gSegmentTable[(u32) &D_06013F78 >> 0x18] + ((s32) &D_06013F78 & 0xFFFFFF) + 0x80000000; - sp88.unk0 = (s32) D_802B87E0.unk0; - sp88.unk4 = (u16) D_802B87E0.unk4; - phi_s1 = temp_s1; if (gGamestate == 9) { - phi_f22 = D_802B9650; + var_f22 = 9000000.0f; } else { - phi_f22 = D_802B9654; + var_f22 = 1000000.0f; } - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->words.w1 = -1U; - temp_v0->words.w0 = 0xBB000001; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->words.w1 = -0x00000C07U; - temp_v0_2->words.w0 = 0xFC127E24; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->words.w0 = 0xB900031D; - temp_v0_3->words.w1 = 0x00553078; - temp_s7 = &spD4; - if (*temp_s1 != -0x8000) { -loop_5: - temp_s0 = phi_s1->unk6; - if ((temp_s0 & 0x800) != 0) { - goto block_29; + + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); + gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA); + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2); + + while (var_s1->pos[0] != -0x8000) { + test = var_s1->someId; + if (test & 0x0800) { + var_s1++; + continue; } - if (((temp_s0 & 0x400) != 0) && ((D_800DC5FC == 0) || (camera == camera1))) { - phi_s1->unk2 = (s16) (phi_s1->unk2 + 0xA); - if (phi_s1->unk2 >= 0x321) { - phi_s1->unk6 = (s16) (phi_s1->unk6 | 0x800); + + if ((test & 0x0400) && ((D_800DC5FC == 0) || (camera == camera1))) { + var_s1->pos[1] += 0xA; + if (var_s1->pos[1] >= 0x321) { + var_s1->someId |= 0x0800; } } - temp_a1 = temp_s7; - spD4 = (f32) phi_s1->unk0 * gCourseDirection; - spD8 = (f32) phi_s1->unk2; - spDC = (f32) phi_s1->unk_04; - temp_t0 = temp_s0 & 0xF; - if (func_802B80D0(camera, temp_a1, (u16) camera->rot2, 0.0f, *(&D_80150130 + (((s32) (camera - camera1) / 184) * 4)), phi_f22) < 0.0f) { - goto block_29; + spD4[0] = var_s1->pos[0] * gCourseDirection; + spD4[1] = var_s1->pos[1]; + spD4[2] = var_s1->pos[2]; + + if (func_802B80D0(camera->pos, spD4, camera->rot[1], 0.0f, D_80150130[camera - camera1], var_f22) < 0.0f) { + var_s1++; + continue; } - if (temp_t0 == 6) { - func_802B5F74((f32 (*)[4]) &sp90[0], temp_s7, &sp88); - if ((s32) D_80150112 < 0x80) { - func_802B4FF8((f32 (*)[4]) &sp90[0], 0); - goto block_19; - } + + test &= 0xF; + test = (s16)test; + if (test == 6) { + func_802B5F74(sp90, spD4, sp88); + if (!(D_80150112 < 0x80)) { break; } + func_802B4FF8(sp90, 0); + goto dummylabel; } else { - arg1->unk30 = spD4; - arg1->unk34 = spD8; - arg1->unk38 = spDC; - if ((s32) D_80150112 < 0x80) { + arg1[3][0] = spD4[0]; + arg1[3][1] = spD4[1]; + arg1[3][2] = spD4[2]; + if (D_80150112 < 0x80) { func_802B4FF8(arg1, 0); -block_19: - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->words.w1 = 0x00020000; - temp_v0_4->words.w0 = 0xB6000000; - switch (temp_t0) { /* irregular */ +dummylabel: + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + switch (test) { case 0: - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->words.w1 = (u32) &D_06010CC0; - phi_v0 = temp_v0_5; -block_28: - phi_v0->words.w0 = 0x06000000; + gSPDisplayList(gDisplayListHead++, D_06010CC0); break; case 4: - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->words.w1 = (u32) &D_06011DC8; - phi_v0 = temp_v0_6; - goto block_28; + gSPDisplayList(gDisplayListHead++, D_06011DC8); + break; case 5: - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->words.w1 = (u32) &D_06012EF0; - phi_v0 = temp_v0_7; - goto block_28; + gSPDisplayList(gDisplayListHead++, D_06012EF0); + break; case 6: - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->words.w1 = (u32) &D_060138D0; - phi_v0 = temp_v0_8; - goto block_28; + gSPDisplayList(gDisplayListHead++, D_060138D0); + break; } -block_29: - temp_s1_2 = phi_s1 + 0xA; - phi_s1 = temp_s1_2; - if (*temp_s1_2 != -0x8000) { - goto loop_5; - } - } + } else { break; } + var_s1++; } } } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_80298D7C.s") -#endif void func_80299144(Camera *camera, Mat4 arg1, struct Actor *arg2) { f32 temp_f0; @@ -1230,11 +931,11 @@ void func_80299144(Camera *camera, Mat4 arg1, struct Actor *arg2) { if ((temp_v0 & 0x800) != 0) { return; } - temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], D_802B9658); + temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], 16000000.0f); if (temp_f0 < 0.0f) { return; } - if (((temp_v0 & 0x400) == 0) && (temp_f0 < D_802B965C)) { + if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { func_8029794C(arg2->pos, arg2->rot, 3.0f); } arg1[3][0] = arg2->pos[0]; @@ -1253,11 +954,11 @@ void func_8029930C(Camera *camera, Mat4 arg1, struct Actor *arg2) { if ((temp_v0 & 0x800) != 0) { return; } - temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], D_802B9660); + temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; } - if (((temp_v0 & 0x400) == 0) && (temp_f0 < D_802B9664)) { + if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { func_8029794C(arg2->pos, arg2->rot, 2.79999995f); } arg1[3][0] = arg2->pos[0]; @@ -1276,11 +977,11 @@ void func_802994D4(Camera *camera, Mat4 arg1, struct Actor *arg2) { if ((temp_v0 & 0x800) != 0) { return; } - temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], D_802B9668); + temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; } - if (((temp_v0 & 0x400) == 0) && (temp_f0 < D_802B966C)) { + if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { func_8029794C(arg2->pos, arg2->rot, 2.79999995f); } arg1[3][0] = arg2->pos[0]; @@ -1299,7 +1000,7 @@ void func_8029969C(Camera *camera, Mat4 arg1, struct Actor *arg2) { if ((temp_v0 & 0x800) != 0) { return; } - temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], D_802B9670); + temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], 6250000.0f); if (temp_f0 < 0.0f) { return; } @@ -1322,11 +1023,11 @@ void func_80299864(Camera *camera, Mat4 arg1, struct Actor *arg2) { if ((temp_v0 & 0x800) != 0) { return; } - temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], D_802B9674); + temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; } - if (((temp_v0 & 0x400) == 0) && (temp_f0 < D_802B9678)) { + if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { func_8029794C(arg2->pos, arg2->rot, 2.79999995f); } arg1[3][0] = arg2->pos[0]; @@ -1345,11 +1046,11 @@ void func_80299A2C(Camera *camera, Mat4 arg1, struct Actor *arg2) { if ((temp_v0 & 0x800) != 0) { return; } - temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], D_802B967C); + temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; } - if (((temp_v0 & 0x400) == 0) && (temp_f0 < D_802B9680)) { + if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { func_8029794C(arg2->pos, arg2->rot, 2.79999995f); } arg1[3][0] = arg2->pos[0]; @@ -1368,11 +1069,11 @@ void func_80299BF4(Camera *camera, Mat4 arg1, struct Actor *arg2) { if ((temp_v0 & 0x800) != 0) { return; } - temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], D_802B9684); + temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], 640000.0f); if (temp_f0 < 0.0f) { return; } - if (((temp_v0 & 0x400) == 0) && (temp_f0 < D_802B9688)) { + if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { func_8029794C(arg2->pos, arg2->rot, 2.79999995f); } arg1[3][0] = arg2->pos[0]; @@ -1391,11 +1092,11 @@ void func_80299DBC(Camera *camera, Mat4 arg1, struct Actor *arg2) { if ((temp_v0 & 0x800) != 0) { return; } - temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], D_802B968C); + temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; } - if (((temp_v0 & 0x400) == 0) && (temp_f0 < D_802B9690)) { + if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { func_8029794C(arg2->pos, arg2->rot, 2.79999995f); } arg1[3][0] = arg2->pos[0]; @@ -1413,11 +1114,11 @@ void func_80299EDC(Camera *camera, Mat4 arg1, struct Actor *arg2) { if ((temp_v0 & 0x800) != 0) { return; } - temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], D_802B9694); + temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; } - if (((temp_v0 & 0x400) == 0) && (temp_f0 < D_802B9698)) { + if (((temp_v0 & 0x400) == 0) && (temp_f0 < 40000.0f)) { func_8029794C(arg2->pos, arg2->rot, 1.0f); } arg1[3][0] = arg2->pos[0]; @@ -1435,11 +1136,11 @@ void func_80299FFC(Camera *camera, Mat4 arg1, struct Actor *arg2) { if ((temp_v0 & 0x800) != 0) { return; } - temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], D_802B969C); + temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; } - if (((temp_v0 & 0x400) == 0) && (temp_f0 < D_802B96A0)) { + if (((temp_v0 & 0x400) == 0) && (temp_f0 < 40000.0f)) { func_8029794C(arg2->pos, arg2->rot, 1.0f); } arg1[3][0] = arg2->pos[0]; @@ -1457,11 +1158,11 @@ void func_8029A11C(Camera *camera, Mat4 arg1, struct Actor *arg2) { if ((temp_v0 & 0x800) != 0) { return; } - temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], D_802B96A4); + temp_f0 = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; } - if (((temp_v0 & 0x400) == 0) && (temp_f0 < D_802B96A8)) { + if (((temp_v0 & 0x400) == 0) && (temp_f0 < 40000.0f)) { func_8029794C(arg2->pos, arg2->rot, 0.80000001f); } arg1[3][0] = arg2->pos[0]; @@ -1504,13 +1205,13 @@ void func_8029A3AC(Camera *camera, Mat4 arg1, struct ShellActor *shell) { }; uintptr_t phi_t3; - f32 temp_f0 = func_802B80D0(camera->pos, shell->pos, camera->rot[1], 0, D_80150130[camera - camera1], D_802B96AC); + f32 temp_f0 = func_802B80D0(camera->pos, shell->pos, camera->rot[1], 0, D_80150130[camera - camera1], 490000.0f); if (temp_f0 < 0.0f) { func_80297230(camera, (struct Actor *)shell); return; } func_802972B8(camera, (struct Actor *) shell); - if (temp_f0 < D_802B96B0) { + if (temp_f0 < 40000.0f) { func_802979F8((struct Actor *) shell, 3.4f); } if (shell->type == ACTOR_BLUE_SPINY_SHELL) { @@ -1570,7 +1271,7 @@ void func_8029A8F4(Camera *arg0, Mat4 arg1, struct BananaActor *arg2) { Vec3s sp7C; Mat4 sp3C; - f32 temp = func_802B80D0(arg0->pos, arg2->pos, arg0->rot[1], 0, D_80150130[arg0 - camera1], D_802B96B4); + f32 temp = func_802B80D0(arg0->pos, arg2->pos, arg0->rot[1], 0, D_80150130[arg0 - camera1], 490000.0f); if (temp < 0.0f) { func_80297230(arg0, arg2); return; @@ -1646,30 +1347,12 @@ UNUSED void func_8029ABD4(f32 *pos, s16 state) { gActorList[func_8029ED38(pos, 0x0014)].state = state; } -#ifdef NEEDS_RODATA // needs jmpt table rodata aligned to match. -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -//s32 func_802B4FF8(void *, ?); /* extern */ -//f32 func_802B80D0(void *, u16, ?, f32, f32); /* extern */ -extern s8 D_0D001750[]; -extern s8 D_0D001780[]; -extern s8 D_0D001798[]; -extern s8 D_0D0017B0[]; -extern s8 D_0D0017C8[]; -extern s8 D_0D0017E0[]; -extern s8 D_0D0017F8[]; -extern s8 D_0D001810[]; -extern s8 D_0D001828[]; -extern f32 D_802B96B8; - void func_8029AC18(Camera *camera, Mat4 arg1, struct Actor *arg2) { - f32 temp; + if (func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], 4000000.0f) < 0) { return; } - temp = func_802B80D0(camera->pos, arg2->pos, camera->rot[1], 0, D_80150130[camera - camera1], D_802B96B8); - if (temp < 0.0f) { return; } - - arg1[3][0] = arg2->pos[0]; // unk30 - arg1[3][1] = arg2->pos[1] - arg2->boundingBoxSize; // unk34 - arg1[3][2] = arg2->pos[2]; // unk38 + arg1[3][0] = arg2->pos[0]; + arg1[3][1] = arg2->pos[1] - arg2->boundingBoxSize; + arg1[3][2] = arg2->pos[2]; if (func_802B4FF8(arg1, 0) != 0) { gSPDisplayList(gDisplayListHead++, &D_0D001750); @@ -1702,9 +1385,6 @@ void func_8029AC18(Camera *camera, Mat4 arg1, struct Actor *arg2) { } } } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_8029AC18.s") -#endif UNUSED void func_8029AE14() { @@ -1719,7 +1399,7 @@ void func_8029AE1C(Camera *arg0, struct PaddleWheelBoat *boat, Mat4 arg2, u16 ar f32 temp; if ((arg3 > 20) && (arg3 < 25)) { return; } - temp = func_802B80D0(arg0->pos, boat->pos, arg0->rot[1], 90000.0f, D_80150130[arg0 - camera1], D_802B96DC); + temp = func_802B80D0(arg0->pos, boat->pos, arg0->rot[1], 90000.0f, D_80150130[arg0 - camera1], 9000000.0f); if (temp < 0.0f) { return; } @@ -1749,7 +1429,7 @@ void func_8029B06C(Camera *arg0, struct Actor *arg1) { s32 pad[6]; Mat4 spD8; s32 pad2[32]; - f32 temp_f0 = func_802B80D0(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, D_80150130[arg0 - camera1], D_802B96E0); + f32 temp_f0 = func_802B80D0(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, D_80150130[arg0 - camera1], 9000000.0f); if (temp_f0 < 0.0f) { return; } gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); @@ -1771,14 +1451,14 @@ void func_8029B06C(Camera *arg0, struct Actor *arg1) { } if (gActiveScreenMode == 0) { - if (temp_f0 < D_802B96E4) { + if (temp_f0 < 160000.0f) { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_0); - } else if (temp_f0 < D_802B96E8) { + } else if (temp_f0 < 640000.0f) { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_1); } else { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_2); } - } else if (temp_f0 < D_802B96EC) { + } else if (temp_f0 < 160000.0f) { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_1); } else { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_2); @@ -1792,7 +1472,7 @@ void func_8029B2E4(Camera *arg0, struct Actor *arg1) { s32 pad2[32]; f32 temp_f0; - temp_f0 = func_802B80D0(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, D_80150130[arg0 - camera1], D_802B96F0); + temp_f0 = func_802B80D0(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, D_80150130[arg0 - camera1], 9000000.0f); if (temp_f0 < 0.0f) { return; } gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); @@ -1803,14 +1483,14 @@ void func_8029B2E4(Camera *arg0, struct Actor *arg1) { if (func_802B4FF8(spC8, 0) != 0) { if (gActiveScreenMode == 0) { - if (temp_f0 < D_802B96F4) { + if (temp_f0 < 160000.0f) { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_3); - } else if (temp_f0 < D_802B96F8) { + } else if (temp_f0 < 640000.0f) { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_4); } else { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_5); } - } else if (temp_f0 < D_802B96FC) { + } else if (temp_f0 < 160000.0f) { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_4); } else { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_5); @@ -1822,7 +1502,7 @@ void func_8029B4E0(Camera *arg0, struct Actor *arg1) { s32 pad[6]; Mat4 spC8; s32 pad2[32]; - f32 temp_f0 = func_802B80D0(arg0->pos,arg1->pos, arg0->rot[1], 2500.0f, D_80150130[arg0 - camera1], D_802B9700); + f32 temp_f0 = func_802B80D0(arg0->pos,arg1->pos, arg0->rot[1], 2500.0f, D_80150130[arg0 - camera1], 9000000.0f); if (!(temp_f0 < 0.0f)) { @@ -1835,14 +1515,14 @@ void func_8029B4E0(Camera *arg0, struct Actor *arg1) { if (func_802B4FF8(spC8, 0) != 0) { if (gActiveScreenMode == 0) { - if (temp_f0 < D_802B9704) { + if (temp_f0 < 160000.0f) { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_9); - } else if (temp_f0 < D_802B9708) { + } else if (temp_f0 < 640000.0f) { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_10); } else { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_11); } - } else if (temp_f0 < D_802B970C) { + } else if (temp_f0 < 160000.0f) { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_10); } else { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_11); @@ -1855,7 +1535,7 @@ void func_8029B6EC(Camera *camera, struct Actor* arg1) { s32 pad[6]; Mat4 spC8; s32 pad2[32]; - f32 temp_f0 = func_802B80D0(camera->pos, arg1->pos, camera->rot[1], 2500.0f, D_80150130[camera - camera1], D_802B9710); + f32 temp_f0 = func_802B80D0(camera->pos, arg1->pos, camera->rot[1], 2500.0f, D_80150130[camera - camera1], 9000000.0f); if (!(temp_f0 < 0.0f)) { @@ -1866,15 +1546,15 @@ void func_8029B6EC(Camera *camera, struct Actor* arg1) { if (func_802B4FF8(spC8, 0) != 0) { if (gActiveScreenMode == 0) { - if (temp_f0 < D_802B9714) { + if (temp_f0 < 160000.0f) { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_6); - } else if (temp_f0 < D_802B9718) { + } else if (temp_f0 < 640000.0f) { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_7); } else { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_8); } - } else if (temp_f0 < D_802B971C) { + } else if (temp_f0 < 160000.0f) { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_7); } else { gSPDisplayList(gDisplayListHead++, &toads_turnpike_dl_8); @@ -1890,7 +1570,7 @@ void func_8029B8E8(Camera *camera, struct TrainCar *actor) { Mat4 spE0; Mat4 spA0; - f32 temp_f0 = func_802B80D0(camera->pos, actor->pos, camera->rot[1], 2500.0f, D_80150130[camera - camera1], D_802B9720); + f32 temp_f0 = func_802B80D0(camera->pos, actor->pos, camera->rot[1], 2500.0f, D_80150130[camera - camera1], 9000000.0f); if (temp_f0 < 0.0f) { return; } @@ -1899,12 +1579,12 @@ void func_8029B8E8(Camera *camera, struct TrainCar *actor) { func_802B5F74(sp120, actor->pos, actor->rot); if (func_802B4FF8(sp120, 0) == 0) { return; } - if (temp_f0 < D_802B9724) { + if (temp_f0 < 122500.0f) { gSPDisplayList(gDisplayListHead++, D_0601C0F0); gSPDisplayList(gDisplayListHead++, D_0601B978); - } else if (temp_f0 < D_802B9728) { + } else if (temp_f0 < 640000.0f) { gSPDisplayList(gDisplayListHead++, D_0601D670); gSPDisplayList(gDisplayListHead++, D_0601D160); @@ -1912,7 +1592,7 @@ void func_8029B8E8(Camera *camera, struct TrainCar *actor) { gSPDisplayList(gDisplayListHead++, D_0601E910); gSPDisplayList(gDisplayListHead++, D_0601E480); } - if (D_802B972C < temp_f0) { return; } + if (1440000.0f < temp_f0) { return; } gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); gSPDisplayList(gDisplayListHead++, D_06022D28); @@ -2005,7 +1685,7 @@ void func_8029BFB0(Camera *camera, struct TrainCar *actor) { Mat4 spE0; Mat4 spA0; - f32 temp_f0 = func_802B80D0(camera->pos, actor->pos, camera->rot[1], 625.0f, D_80150130[camera - camera1], D_802B9730); + f32 temp_f0 = func_802B80D0(camera->pos, actor->pos, camera->rot[1], 625.0f, D_80150130[camera - camera1], 9000000.0f); if (temp_f0 < 0.0f) { return; } @@ -2014,16 +1694,16 @@ void func_8029BFB0(Camera *camera, struct TrainCar *actor) { func_802B5F74(sp120, actor->pos, actor->rot); if (func_802B4FF8(sp120, 0) == 0) { return; } - if (temp_f0 < D_802B9734) { + if (temp_f0 < 250000.0f) { gSPDisplayList(gDisplayListHead++, D_0601F228); - } else if (temp_f0 < D_802B9738) { + } else if (temp_f0 < 1000000.0f) { gSPDisplayList(gDisplayListHead++, D_0601F708); } else { gSPDisplayList(gDisplayListHead++, D_0601FAF8); } - if (D_802B973C < temp_f0) { return; } + if (1440000.0f < temp_f0) { return; } gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); gSPDisplayList(gDisplayListHead++, D_06022D28); @@ -2075,7 +1755,7 @@ void func_8029C3CC(Camera *camera, struct TrainCar *actor) { Mat4 spE0; Mat4 spA0; - f32 temp_f0 = func_802B80D0(camera->pos, actor->pos, camera->rot[1], 2025.0f, D_80150130[camera - camera1], D_802B9740); + f32 temp_f0 = func_802B80D0(camera->pos, actor->pos, camera->rot[1], 2025.0f, D_80150130[camera - camera1], 9000000.0f); if (temp_f0 < 0.0f) { return; } @@ -2084,12 +1764,12 @@ void func_8029C3CC(Camera *camera, struct TrainCar *actor) { func_802B5F74(sp120, actor->pos, actor->rot); if (func_802B4FF8(sp120, 0) == 0) { return; } - if (temp_f0 < D_802B9744) { + if (temp_f0 < 250000.0f) { gSPDisplayList(gDisplayListHead++, D_06020A20); gSPDisplayList(gDisplayListHead++, D_06020A08); - } else if (temp_f0 < D_802B9748) { + } else if (temp_f0 < 1000000.0f) { gSPDisplayList(gDisplayListHead++, D_06021550); gSPDisplayList(gDisplayListHead++, D_06021220); @@ -2097,7 +1777,7 @@ void func_8029C3CC(Camera *camera, struct TrainCar *actor) { gSPDisplayList(gDisplayListHead++, D_06021C90); gSPDisplayList(gDisplayListHead++, D_06021A80); } - if (D_802B974C < temp_f0) { return; } + if (1440000.0f < temp_f0) { return; } gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); gSPDisplayList(gDisplayListHead++, D_06022D28); @@ -2193,11 +1873,11 @@ void func_8029CA90(Camera *camera, struct FallingRock *rock) { if (rock->respawnTimer != 0) { return; } - temp_f0 = func_802B80D0(camera->pos, rock->pos, camera->rot[1], 400.0f, D_80150130[camera - camera1], D_802B9750); + temp_f0 = func_802B80D0(camera->pos, rock->pos, camera->rot[1], 400.0f, D_80150130[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; } - if ((temp_f0 < D_802B9754) && (rock->unk30.unk34 == 1)) { + if ((temp_f0 < 250000.0f) && (rock->unk30.unk34 == 1)) { sp8C[0] = rock->pos[0]; sp8C[2] = rock->pos[2]; temp_f0 = func_802ABE30(sp8C[0], rock->pos[1], sp8C[2], rock->unk30.unk3A); @@ -2317,25 +1997,10 @@ void place_falling_rocks(struct ActorSpawnData *spawnData) { } } -#ifdef INCORRECT_REGALLOC -//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9 -extern struct ActorSpawnData D_06007230; -extern f32 D_8015F8E4; -extern f32 D_802B9758;// = 5461.0f; -extern f64 D_802B9760;// = 0.1; -extern f32 D_802B9768;// = -1.2f; -extern f32 D_802B976C;// = -1.2f; -extern f32 D_802B9770;// = -1.2f; -extern f32 D_802B9774;// = -1.2f; -extern f32 D_802B9778;// = -1.2f; - -void func_802AC114(Vec3f arg0, f32 arg1, Vec3f arg2, f32 arg3); - void update_obj_falling_rocks(struct FallingRock *rock) { Vec3f unkVec; f32 pad0; f32 pad1; - f32 pad2; if (rock->respawnTimer != 0) { rock->respawnTimer -= 1; @@ -2355,36 +2020,37 @@ void update_obj_falling_rocks(struct FallingRock *rock) { rock->pos[2] += rock->velocity[2]; pad1 = rock->velocity[1]; func_802ADDC8(&rock->unk30, 10.0f, rock->pos[0], rock->pos[1], rock->pos[2]); - pad0 = rock->unk30.unk44; + pad0 = rock->unk30.unk3C[2]; if (pad0 < 0.0f) { unkVec[0] = -rock->unk30.unk60[0]; unkVec[1] = -rock->unk30.unk60[1]; unkVec[2] = -rock->unk30.unk60[2]; - rock->pos[0] += unkVec[0] * rock->unk30.unk44; - rock->pos[1] += unkVec[1] * rock->unk30.unk44; - rock->pos[2] += unkVec[2] * rock->unk30.unk44; + rock->pos[0] += unkVec[0] * rock->unk30.unk3C[2]; + rock->pos[1] += unkVec[1] * rock->unk30.unk3C[2]; + rock->pos[2] += unkVec[2] * rock->unk30.unk3C[2]; func_802AC114(unkVec, pad0, rock->velocity, 2.0f); rock->velocity[1] = -1.2f * pad1; func_800C98B8(rock->pos, rock->velocity, 0x1900800FU); } - pad0 = rock->unk30.unk3C; + pad0 = rock->unk30.unk3C[0]; if (pad0 < 0.0f) { unkVec[1] = -rock->unk30.unk48[1]; if (unkVec[1] == 0.0f) { rock->velocity[1] *= -1.2f; + return; } else { unkVec[0] = -rock->unk30.unk48[0]; unkVec[2] = -rock->unk30.unk48[2]; - rock->pos[0] += unkVec[0] * rock->unk30.unk3C; - rock->pos[1] += unkVec[1] * rock->unk30.unk3C; - rock->pos[2] += unkVec[2] * rock->unk30.unk3C; + rock->pos[0] += unkVec[0] * rock->unk30.unk3C[0]; + rock->pos[1] += unkVec[1] * rock->unk30.unk3C[0]; + rock->pos[2] += unkVec[2] * rock->unk30.unk3C[0]; func_802AC114(unkVec, pad0, rock->velocity, 2.0f); rock->velocity[1] = -1.2f * pad1; func_800C98B8(rock->pos, rock->velocity, 0x1900800FU); } } - pad0 = rock->unk30.unk40; + pad0 = rock->unk30.unk3C[1]; if (pad0 < 0.0f) { unkVec[1] = -rock->unk30.unk54[1]; if (unkVec[1] == 0.0f) { @@ -2393,9 +2059,9 @@ void update_obj_falling_rocks(struct FallingRock *rock) { else { unkVec[0] = -rock->unk30.unk54[0]; unkVec[2] = -rock->unk30.unk54[2]; - rock->pos[0] += unkVec[0] * rock->unk30.unk40; - rock->pos[1] += unkVec[1] * rock->unk30.unk40; - rock->pos[2] += unkVec[2] * rock->unk30.unk40; + rock->pos[0] += unkVec[0] * rock->unk30.unk3C[1]; + rock->pos[1] += unkVec[1] * rock->unk30.unk3C[1]; + rock->pos[2] += unkVec[2] * rock->unk30.unk3C[1]; pad1 = rock->velocity[1]; func_802AC114(unkVec, pad0, rock->velocity, 2.0f); rock->velocity[1] = -1.2f * pad1; @@ -2403,110 +2069,91 @@ void update_obj_falling_rocks(struct FallingRock *rock) { } } } -#else -GLOBAL_ASM("asm/non_matchings/actors/update_obj_falling_rocks.s") -#endif -#ifdef MIPS_TO_C -//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9 -s16 gCurrentCourseId; /* unable to generate initializer */ - -void place_segment_06(u32 arg0) { - f32 sp94; - f32 sp90; - f32 sp8C; - f32 sp80; - s16 sp7C; - s16 sp7A; - s16 sp78; - s16 sp74; - UnkActorInner *temp_s1; - s16 *var_s3; - s16 temp_v0; - s16 temp_v0_2; - s16 var_s2; - s16 var_v0; +// This function may be better named "init_trees_cacti_shrubs" +void place_segment_06(struct ActorSpawnData *arg0) { + s32 stackPadding0; + s32 stackPadding1; + s32 stackPadding2; + s32 stackPadding3; + Vec3f position; + Vec3f velocity; + Vec3s rotation; + s16 stackPadding4; + s16 actorType; struct Actor *temp_s0; - u16 temp_t3; + struct ActorSpawnData *var_s3; + s32 segment = SEGMENT_NUMBER2(arg0); + s32 offset = SEGMENT_OFFSET(arg0); - var_s3 = gSegmentTable[arg0 >> 0x18] + (arg0 & 0xFFFFFF) + 0x80000000; - vec3f_set(&sp80, 0.0f, 0.0f, 0.0f); - sp78 = 0x4000; - sp7A = 0; - sp7C = 0; - var_v0 = *var_s3; - if (var_v0 != -0x8000) { - var_s2 = sp74; - do { - temp_t3 = (u16) gCurrentCourseId; - sp8C = (f32) var_v0 * gCourseDirection; - sp94 = (f32) var_s3->unk4; - sp90 = (f32) var_s3->unk2; - switch (temp_t3) { - case 0: - var_s2 = 2; - break; - case 2: - var_s2 = 0x0021; - break; - case 4: - var_s2 = 3; - break; - case 5: - var_s2 = 0x001D; + var_s3 = (struct ActorSpawnData *)VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); + vec3f_set(velocity, 0.0f, 0.0f, 0.0f); + rotation[0] = 0x4000; + rotation[1] = 0; + rotation[2] = 0; + + while (var_s3->pos[0] != (-0x8000)) { + position[0] = var_s3->pos[0] * gCourseDirection; + position[2] = var_s3->pos[2]; + position[1] = var_s3->pos[1]; + + switch (gCurrentCourseId) { + case COURSE_MARIO_RACEWAY: + actorType = 2; + break; + case COURSE_BOWSER_CASTLE: + actorType = 0x0021; + break; + case COURSE_YOSHI_VALLEY: + actorType = 3; + break; + case COURSE_FRAPPE_SNOWLAND: + actorType = 0x001D; + break; + case COURSE_ROYAL_RACEWAY: + switch (var_s3->signedSomeId) { + case 6: + actorType = 0x001C; break; case 7: - temp_v0 = var_s3->unk6; - switch (temp_v0) { /* switch 1; irregular */ - case 6: /* switch 1 */ - var_s2 = 0x001C; - break; - case 7: /* switch 1 */ - var_s2 = 4; - break; - } - break; - case 8: - var_s2 = 0x001A; - break; - case 9: - var_s2 = 0x0013; - break; - case 11: - temp_v0_2 = var_s3->unk6; - switch (temp_v0_2) { /* switch 2; irregular */ - case 5: /* switch 2 */ - var_s2 = 0x001E; - break; - case 6: /* switch 2 */ - var_s2 = 0x001F; - break; - case 7: /* switch 2 */ - var_s2 = 0x0020; - break; - } + actorType = 4; break; } - temp_s0 = &gActorList[func_8029EC88(&sp8C, &sp78, &sp80, var_s2)]; - if (gGamestate == 9) { - func_802976D8(temp_s0->rot); - } else { - temp_s1 = &temp_s0->unk30; - func_802ADDC8(temp_s1, 5.0f, temp_s0->pos[0], temp_s0->pos[1], temp_s0->pos[2]); - if (temp_s0->unk30.unk44 < 0.0f) { - temp_s0->pos[1] = func_802ABE30(temp_s0->pos[0], temp_s0->pos[1], temp_s0->pos[2], temp_s0->unk30.unk3A); - } - func_802976EC(temp_s1, temp_s0->rot); + break; + case COURSE_LUIGI_RACEWAY: + actorType = 0x001A; + break; + case COURSE_MOO_MOO_FARM: + actorType = 0x0013; + break; + case COURSE_KALAMARI_DESERT: + switch (var_s3->signedSomeId) { + case 5: + actorType = 0x001E; + break; + case 6: + actorType = 0x001F; + break; + case 7: + actorType = 0x0020; + break; } - var_v0 = var_s3->unk8; - var_s3 += 8; - } while (var_v0 != -0x8000); - sp74 = var_s2; + break; + } + + temp_s0 = &gActorList[func_8029EC88(position, rotation, velocity, actorType)]; + if (gGamestate == 9) { + func_802976D8(temp_s0->rot); + } else { + func_802ADDC8(&temp_s0->unk30, 5.0f, temp_s0->pos[0], temp_s0->pos[1], temp_s0->pos[2]); + if (temp_s0->unk30.unk3C[2] < 0.0f) { + temp_s0->pos[1] = func_802ABE30(temp_s0->pos[0], temp_s0->pos[1], temp_s0->pos[2], temp_s0->unk30.unk3A); + } + func_802976EC(&temp_s0->unk30, temp_s0->rot); + } + var_s3++; } } -#else -GLOBAL_ASM("asm/non_matchings/actors/place_segment_06.s") -#endif void place_all_item_boxes(struct ActorSpawnData *spawnData) { s16 temp_s1; @@ -2577,344 +2224,226 @@ void destroy_all_actors(void) { } } -#ifdef MIPS_TO_C -//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9 -? func_80298D10(); /* extern */ -? place_segment_06(? *); /* extern */ -extern struct ActorSpawnData D_06000028; -extern struct ActorSpawnData D_06000038; -extern struct ActorSpawnData D_06000058; -extern struct ActorSpawnData D_06000080; -extern struct ActorSpawnData D_06007230; -extern struct ActorSpawnData D_06007250; -extern ? D_06007718; -extern struct ActorSpawnData D_06007810; -extern ? D_06009290; -extern struct ActorSpawnData D_06009370; -extern struct ActorSpawnData D_06009498; -extern struct ActorSpawnData D_06009518; -extern ? D_06009570; -extern struct ActorSpawnData D_06009B80; -extern struct ActorSpawnData D_0600B3D0; -extern struct ActorSpawnData D_0600CB40; -extern struct ActorSpawnData D_0600D9F0; -extern ? D_0600DA78; -extern struct ActorSpawnData D_0600DB80; -extern struct ActorSpawnData D_0600FDE8; -extern ? D_0600FE80; -extern struct ActorSpawnData D_06013EC0; -extern ? D_06014330; -extern struct ActorSpawnData D_060143E0; -extern struct ActorSpawnData D_06016338; -extern ? D_060180A0; -extern struct ActorSpawnData D_06018110; -extern struct ActorSpawnData D_06018E78; -extern struct ActorSpawnData D_06018F70; -extern struct ActorSpawnData D_06022E88; -extern ? D_06022F08; -extern struct ActorSpawnData D_06023AE0; -extern ? D_802B8850; -extern ? D_802B885C; -s16 gCurrentCourseId; /* unable to generate initializer */ - void func_8029DB44(void) { - f32 sp40; - f32 sp34; - s16 sp2C; - struct Actor *temp_v1; - u16 temp_t9; + s32 stackPadding0; + Vec3f position; + Vec3f velocity = { 0.0f, 0.0f, 0.0f }; + Vec3s rotation = { 0, 0, 0 }; + struct Actor *actor; + struct RailroadCrossing *rrxing; - sp34.unk0 = D_802B8850.unk0; - sp34.unk4 = (s32) D_802B8850.unk4; - sp34.unk8 = (s32) D_802B8850.unk8; - sp2C.unk0 = (s32) D_802B885C.unk0; - sp2C.unk4 = (u16) D_802B885C.unk4; - temp_t9 = (u16) gCurrentCourseId; gNumPermanentActors = 0; - switch (temp_t9) { + switch (gCurrentCourseId) { case COURSE_MARIO_RACEWAY: - place_segment_06(&D_06009570); - place_piranha_plants(&D_06009518); - place_all_item_boxes(&D_06009498); - vec3f_set(&sp40, 150.0f, 40.0f, -1300.0f); - sp40 *= gCourseDirection; - func_8029EC88(&sp40, &sp2C, &sp34, ACTOR_MARIO_RACEWAY_SIGN); - vec3f_set(&sp40, 2520.0f, 0.0f, 1240.0f); - sp40 *= gCourseDirection; - temp_v1 = &gActorList[func_8029EC88(&sp40, &sp2C, &sp34, ACTOR_MARIO_RACEWAY_SIGN)]; - temp_v1->flags |= 0x4000; + place_segment_06(D_06009570); + place_piranha_plants(D_06009518); + place_all_item_boxes(D_06009498); + vec3f_set(position, 150.0f, 40.0f, -1300.0f); + position[0] *= gCourseDirection; + func_8029EC88(position, rotation, velocity, ACTOR_MARIO_RACEWAY_SIGN); + vec3f_set(position, 2520.0f, 0.0f, 1240.0f); + position[0] *= gCourseDirection; + actor = &gActorList[func_8029EC88(position, rotation, velocity, ACTOR_MARIO_RACEWAY_SIGN)]; + actor->flags |= 0x4000; break; case COURSE_CHOCO_MOUNTAIN: - place_all_item_boxes(&D_06007250); - place_falling_rocks(&D_06007230); + place_all_item_boxes(D_06007250); + place_falling_rocks(D_06007230); break; case COURSE_BOWSER_CASTLE: - place_segment_06(&D_06009290); - place_all_item_boxes(&D_06009370); + place_segment_06(D_06009290); + place_all_item_boxes(D_06009370); break; case COURSE_BANSHEE_BOARDWALK: - place_all_item_boxes(&D_0600B3D0); + place_all_item_boxes(D_0600B3D0); break; case COURSE_YOSHI_VALLEY: - place_segment_06(&D_060180A0); - place_all_item_boxes(&D_06018110); - vec3f_set(&sp40, -2300.0f, 0.0f, 634.0f); - sp40 *= gCourseDirection; - func_8029EC88(&sp40, &sp2C, &sp34, 9); + place_segment_06(D_060180A0); + place_all_item_boxes(D_06018110); + vec3f_set(position, -2300.0f, 0.0f, 634.0f); + position[0] *= gCourseDirection; + func_8029EC88(position, rotation, velocity, ACTOR_YOSHI_VALLEY_EGG); break; case COURSE_FRAPPE_SNOWLAND: - place_segment_06(&D_06007718); - place_all_item_boxes(&D_06007810); + place_segment_06(D_06007718); + place_all_item_boxes(D_06007810); break; case COURSE_KOOPA_BEACH: func_802A14BC(328.0f * gCourseDirection, 70.0f, 2541.0f); - place_all_item_boxes(&D_06018E78); - place_palm_trees(&D_06018F70); + place_all_item_boxes(D_06018E78); + place_palm_trees(D_06018F70); break; case COURSE_ROYAL_RACEWAY: - place_segment_06(&D_0600DA78); - place_all_item_boxes(&D_0600DB80); - place_piranha_plants(&D_0600D9F0); + place_segment_06(D_0600DA78); + place_all_item_boxes(D_0600DB80); + place_piranha_plants(D_0600D9F0); break; case COURSE_LUIGI_RACEWAY: - place_segment_06(&D_0600FE80); - place_all_item_boxes(&D_0600FDE8); + place_segment_06(D_0600FE80); + place_all_item_boxes(D_0600FDE8); break; case COURSE_MOO_MOO_FARM: if (gPlayerCountSelection1 != 4) { - place_segment_06(&D_06014330); + place_segment_06(D_06014330); } - place_all_item_boxes(&D_060143E0); + place_all_item_boxes(D_060143E0); break; case COURSE_TOADS_TURNPIKE: - place_all_item_boxes(&D_06023AE0); + place_all_item_boxes(D_06023AE0); break; case COURSE_KALAMARI_DESERT: - place_segment_06(&D_06022F08); - place_all_item_boxes(&D_06022E88); - vec3f_set(&sp40, -1680.0f, 2.0f, 35.0f); - sp40 *= gCourseDirection; - gActorList[func_8029EC88(&sp40, &sp2C, &sp34, ACTOR_RAILROAD_CROSSING)].crossingId = 1; - vec3f_set(&sp40, -1600.0f, 2.0f, 35.0f); - sp40 *= gCourseDirection; - gActorList[func_8029EC88(&sp40, &sp2C, &sp34, ACTOR_RAILROAD_CROSSING)].crossingId = 1; - vec3s_set(&sp2C, 0, -0x2000, 0); - vec3f_set(&sp40, -2459.0f, 2.0f, 2263.0f); - sp40 *= gCourseDirection; - gActorList[func_8029EC88(&sp40, &sp2C, &sp34, ACTOR_RAILROAD_CROSSING)].crossingId = 0; - vec3f_set(&sp40, -2467.0f, 2.0f, 2375.0f); - sp40 *= gCourseDirection; - gActorList[func_8029EC88(&sp40, &sp2C, &sp34, ACTOR_RAILROAD_CROSSING)].crossingId = 0; + place_segment_06(D_06022F08); + place_all_item_boxes(D_06022E88); + vec3f_set(position, -1680.0f, 2.0f, 35.0f); + position[0] *= gCourseDirection; + rrxing = (struct RailroadCrossing *)&gActorList[func_8029EC88(position, rotation, velocity, ACTOR_RAILROAD_CROSSING)]; + rrxing->crossingId = 1; + vec3f_set(position, -1600.0f, 2.0f, 35.0f); + position[0] *= gCourseDirection; + rrxing = (struct RailroadCrossing *)&gActorList[func_8029EC88(position, rotation, velocity, ACTOR_RAILROAD_CROSSING)]; + rrxing->crossingId = 1; + vec3s_set(rotation, 0, -0x2000, 0); + vec3f_set(position, -2459.0f, 2.0f, 2263.0f); + position[0] *= gCourseDirection; + rrxing = (struct RailroadCrossing *)&gActorList[func_8029EC88(position, rotation, velocity, ACTOR_RAILROAD_CROSSING)]; + rrxing->crossingId = 0; + vec3f_set(position, -2467.0f, 2.0f, 2375.0f); + position[0] *= gCourseDirection; + rrxing = (struct RailroadCrossing *)&gActorList[func_8029EC88(position, rotation, velocity, ACTOR_RAILROAD_CROSSING)]; + rrxing->crossingId = 0; break; case COURSE_SHERBET_LAND: - place_all_item_boxes(&D_06009B80); + place_all_item_boxes(D_06009B80); break; case COURSE_RAINBOW_ROAD: - place_all_item_boxes(&D_06016338); + place_all_item_boxes(D_06016338); break; case COURSE_WARIO_STADIUM: - place_all_item_boxes(&D_0600CB40); - vec3f_set(&sp40, -131.0f, 83.0f, 286.0f); - sp40 *= gCourseDirection; - func_8029EC88(&sp40, &sp2C, &sp34, ACTOR_WARIO_STADIUM_SIGN); - vec3f_set(&sp40, -2353.0f, 72.0f, -1608.0f); - sp40 *= gCourseDirection; - func_8029EC88(&sp40, &sp2C, &sp34, ACTOR_WARIO_STADIUM_SIGN); - vec3f_set(&sp40, -2622.0f, 79.0f, 739.0f); - sp40 *= gCourseDirection; - func_8029EC88(&sp40, &sp2C, &sp34, ACTOR_WARIO_STADIUM_SIGN); + place_all_item_boxes(D_0600CB40); + vec3f_set(position, -131.0f, 83.0f, 286.0f); + position[0] *= gCourseDirection; + func_8029EC88(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN); + vec3f_set(position, -2353.0f, 72.0f, -1608.0f); + position[0] *= gCourseDirection; + func_8029EC88(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN); + vec3f_set(position, -2622.0f, 79.0f, 739.0f); + position[0] *= gCourseDirection; + func_8029EC88(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN); break; case COURSE_BLOCK_FORT: - place_all_item_boxes(&D_06000038); + place_all_item_boxes(D_06000038); break; case COURSE_SKYSCRAPER: - place_all_item_boxes(&D_06000080); + place_all_item_boxes(D_06000080); break; case COURSE_DOUBLE_DECK: - place_all_item_boxes(&D_06000028); + place_all_item_boxes(D_06000028); break; case COURSE_DK_JUNGLE: - place_all_item_boxes(&D_06013EC0); + place_all_item_boxes(D_06013EC0); init_kiwano_fruit(); func_80298D10(); break; case COURSE_BIG_DONUT: - place_all_item_boxes(&D_06000058); + place_all_item_boxes(D_06000058); break; } gNumPermanentActors = gNumActors; } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_8029DB44.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9 -? func_800122D8(); /* extern */ -? func_8029DB44(); /* extern */ -extern ? D_0F04CBE0; -extern ? D_0F04CE30; -extern ? D_0F04D080; -extern ? D_0F04D2D8; -extern ? D_0F04D538; -extern ? D_0F04D790; -extern ? D_0F04D9FC; -extern ? D_0F04DC5C; -extern ? D_0F04DEB0; -extern ? D_0F04E0DC; -extern ? D_0F04E314; -extern ? D_0F04E554; -extern ? D_0F04E798; -extern ? D_0F04E9F0; -extern ? D_0F04EC4C; -extern ? D_0F04EE88; -extern ? D_0F04F45C; -extern ? D_0F04F7A4; -extern ? D_0F04FB3C; -extern ? D_0F04FE28; -extern ? D_0F050118; -extern ? D_0F050468; -extern ? D_0F050678; -extern ? D_0F050D50; -extern ? D_0F0513CC; -extern ? D_0F051820; -extern ? D_0F051C54; -extern ? D_0F051FD8; -extern ? D_0F05232C; -extern ? D_0F0526B8; -extern ? D_0F052A20; -extern ? D_0F052D3C; -extern ? D_0F05300C; -extern ? D_0F0532F8; -extern ? D_0F05363C; -extern ? D_0F053950; -extern ? D_0F053C34; -extern ? D_0F053F74; -extern ? D_0F054270; -extern ? D_0F054518; -extern ? D_0F05488C; -extern ? D_0F054C3C; -extern ? D_0F054ECC; -extern ? D_0F0551C8; -extern ? D_0F0554CC; -extern ? D_0F055880; -extern ? D_0F055BA0; -extern ? D_0F055F10; -extern ? D_0F0561AC; -extern ? D_0F056408; -extern ? D_0F05662C; -extern ? D_0F05688C; -extern ? D_0F056AD0; -extern ? D_0F056CF0; -extern ? D_0F056EC8; -extern ? D_0F057084; -extern ? D_0F057288; -extern ? D_0F057590; -extern ? D_0F057EB4; -extern ? D_0F0581E4; -extern ? D_0F058550; -extern s32 D_802BA050; -extern s32 D_802BA054; -extern void *gPrevLoadedAddress; -static ? gTexture671A88; /* unable to generate initializer */ -static ? gTexture6774D8; /* unable to generate initializer */ -static ? gTextureShrub; /* unable to generate initializer */ -s16 gCurrentCourseId; /* unable to generate initializer */ void func_8029E158(void) { set_segment_base_addr(3, gPrevLoadedAddress); - D_802BA050 = func_802A84F4((s32) &D_0F04CBE0, 0x00000257U, 0x00000400U); - func_802A84F4((s32) &D_0F04CE30, 0x00000242U, 0x00000400U); - func_802A84F4((s32) &D_0F04D080, 0x00000259U, 0x00000400U); - func_802A84F4((s32) &D_0F04D2D8, 0x00000256U, 0x00000400U); - func_802A84F4((s32) &D_0F04D538, 0x00000246U, 0x00000400U); - func_802A84F4((s32) &D_0F04D790, 0x0000025EU, 0x00000400U); - func_802A84F4((s32) &D_0F04D9FC, 0x0000025CU, 0x00000400U); - func_802A84F4((s32) &D_0F04DC5C, 0x00000254U, 0x00000400U); - D_802BA054 = func_802A84F4((s32) &D_0F04DEB0, 0x0000022AU, 0x00000400U); - func_802A84F4((s32) &D_0F04E0DC, 0x00000237U, 0x00000400U); - func_802A84F4((s32) &D_0F04E314, 0x0000023EU, 0x00000400U); - func_802A84F4((s32) &D_0F04E554, 0x00000243U, 0x00000400U); - func_802A84F4((s32) &D_0F04E798, 0x00000255U, 0x00000400U); - func_802A84F4((s32) &D_0F04E9F0, 0x00000259U, 0x00000400U); - func_802A84F4((s32) &D_0F04EC4C, 0x00000239U, 0x00000400U); - func_802A84F4((s32) &D_0F04EE88, 0x00000236U, 0x00000400U); - func_802A84F4((s32) &D_0F054C3C, 0x0000028EU, 0x00000800U); - func_802A84F4((s32) &D_0F054ECC, 0x000002FBU, 0x00000800U); - func_802A84F4((s32) &D_0F0551C8, 0x00000302U, 0x00000800U); - func_802A84F4((s32) &D_0F0554CC, 0x000003B4U, 0x00000800U); - func_802A84F4((s32) &D_0F055880, 0x0000031EU, 0x00000800U); - func_802A84F4((s32) &D_0F055BA0, 0x0000036EU, 0x00000800U); - func_802A84F4((s32) &D_0F055F10, 0x0000029CU, 0x00000800U); - func_802A84F4((s32) &D_0F0561AC, 0x0000025BU, 0x00000800U); - func_802A84F4((s32) &gTexture671A88, 0x00000400U, 0x00000800U); - func_802A84F4((s32) &gTexture6774D8, 0x00000400U, 0x00000800U); - + D_802BA050 = func_802A84F4(D_0F04CBE0, 0x00000257U, 0x00000400U); + func_802A84F4(D_0F04CE30, 0x00000242U, 0x00000400U); + func_802A84F4(D_0F04D080, 0x00000259U, 0x00000400U); + func_802A84F4(D_0F04D2D8, 0x00000256U, 0x00000400U); + func_802A84F4(D_0F04D538, 0x00000246U, 0x00000400U); + func_802A84F4(D_0F04D790, 0x0000025EU, 0x00000400U); + func_802A84F4(D_0F04D9FC, 0x0000025CU, 0x00000400U); + func_802A84F4(D_0F04DC5C, 0x00000254U, 0x00000400U); + D_802BA054 = func_802A84F4(D_0F04DEB0, 0x0000022AU, 0x00000400U); + func_802A84F4(D_0F04E0DC, 0x00000237U, 0x00000400U); + func_802A84F4(D_0F04E314, 0x0000023EU, 0x00000400U); + func_802A84F4(D_0F04E554, 0x00000243U, 0x00000400U); + func_802A84F4(D_0F04E798, 0x00000255U, 0x00000400U); + func_802A84F4(D_0F04E9F0, 0x00000259U, 0x00000400U); + func_802A84F4(D_0F04EC4C, 0x00000239U, 0x00000400U); + func_802A84F4(D_0F04EE88, 0x00000236U, 0x00000400U); + func_802A84F4(D_0F054C3C, 0x0000028EU, 0x00000800U); + func_802A84F4(D_0F054ECC, 0x000002FBU, 0x00000800U); + func_802A84F4(D_0F0551C8, 0x00000302U, 0x00000800U); + func_802A84F4(D_0F0554CC, 0x000003B4U, 0x00000800U); + func_802A84F4(D_0F055880, 0x0000031EU, 0x00000800U); + func_802A84F4(D_0F055BA0, 0x0000036EU, 0x00000800U); + func_802A84F4(D_0F055F10, 0x0000029CU, 0x00000800U); + func_802A84F4(D_0F0561AC, 0x0000025BU, 0x00000800U); + func_802A84F4(gTexture671A88, 0x00000400U, 0x00000800U); + func_802A84F4(gTexture6774D8, 0x00000400U, 0x00000800U); switch (gCurrentCourseId) { case 0: - func_802A84F4((s32) &D_0F04F45C, 0x0000035BU, 0x00000800U); - D_802BA058 = func_802A84F4((s32) &D_0F056408, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F05662C, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F05688C, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F056AD0, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F056CF0, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F056EC8, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F057084, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F057288, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F057590, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F04F45C, 0x0000035BU, 0x00000800U); + D_802BA058 = func_802A84F4(D_0F056408, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F05662C, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F05688C, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F056AD0, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F056CF0, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F056EC8, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F057084, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F057288, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F057590, 0x000003E8U, 0x00000800U); break; case 2: - func_802A84F4((s32) &gTextureShrub, 0x000003FFU, 0x00000800U); + func_802A84F4(gTextureShrub, 0x000003FFU, 0x00000800U); break; case 4: - func_802A84F4((s32) &D_0F04F7A4, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F04F7A4, 0x000003E8U, 0x00000800U); break; case 5: - func_802A84F4((s32) &D_0F0513CC, 0x00000454U, 0x00000800U); - func_802A84F4((s32) &D_0F051820, 0x00000432U, 0x00000800U); + func_802A84F4(D_0F0513CC, 0x00000454U, 0x00000800U); + func_802A84F4(D_0F051820, 0x00000432U, 0x00000800U); break; case 7: - func_802A84F4((s32) &D_0F04FB3C, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F050D50, 0x000003E8U, 0x00000800U); - D_802BA058 = func_802A84F4((s32) &D_0F056408, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F05662C, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F05688C, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F056AD0, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F056CF0, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F056EC8, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F057084, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F057288, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F057590, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F04FB3C, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F050D50, 0x000003E8U, 0x00000800U); + D_802BA058 = func_802A84F4(D_0F056408, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F05662C, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F05688C, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F056AD0, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F056CF0, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F056EC8, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F057084, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F057288, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F057590, 0x000003E8U, 0x00000800U); break; case 8: - func_802A84F4((s32) &D_0F050468, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F050678, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F050468, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F050678, 0x000003E8U, 0x00000800U); break; case 9: - func_802A84F4((s32) &D_0F04FE28, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F050118, 0x000003E8U, 0x00000800U); - func_802A84F4((s32) &D_0F051C54, 0x00000400U, 0x00000800U); - func_802A84F4((s32) &D_0F051FD8, 0x00000400U, 0x00000800U); - func_802A84F4((s32) &D_0F05232C, 0x00000400U, 0x00000800U); - func_802A84F4((s32) &D_0F0526B8, 0x00000400U, 0x00000800U); - func_802A84F4((s32) &D_0F052A20, 0x00000400U, 0x00000800U); - func_802A84F4((s32) &D_0F052D3C, 0x00000400U, 0x00000800U); - func_802A84F4((s32) &D_0F05300C, 0x00000400U, 0x00000800U); - func_802A84F4((s32) &D_0F0532F8, 0x00000400U, 0x00000800U); - func_802A84F4((s32) &D_0F05363C, 0x00000400U, 0x00000800U); - func_802A84F4((s32) &D_0F053950, 0x00000400U, 0x00000800U); + func_802A84F4(D_0F04FE28, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F050118, 0x000003E8U, 0x00000800U); + func_802A84F4(D_0F051C54, 0x00000400U, 0x00000800U); + func_802A84F4(D_0F051FD8, 0x00000400U, 0x00000800U); + func_802A84F4(D_0F05232C, 0x00000400U, 0x00000800U); + func_802A84F4(D_0F0526B8, 0x00000400U, 0x00000800U); + func_802A84F4(D_0F052A20, 0x00000400U, 0x00000800U); + func_802A84F4(D_0F052D3C, 0x00000400U, 0x00000800U); + func_802A84F4(D_0F05300C, 0x00000400U, 0x00000800U); + func_802A84F4(D_0F0532F8, 0x00000400U, 0x00000800U); + func_802A84F4(D_0F05363C, 0x00000400U, 0x00000800U); + func_802A84F4(D_0F053950, 0x00000400U, 0x00000800U); break; case 11: - func_802A84F4((s32) &D_0F053C34, 0x0000033EU, 0x00000800U); - func_802A84F4((s32) &D_0F053F74, 0x000002FBU, 0x00000800U); - func_802A84F4((s32) &D_0F054270, 0x000002A8U, 0x00000800U); - func_802A84F4((s32) &D_0F054518, 0x00000374U, 0x00000800U); - func_802A84F4((s32) &D_0F05488C, 0x000003AFU, 0x00000800U); + func_802A84F4(D_0F053C34, 0x0000033EU, 0x00000800U); + func_802A84F4(D_0F053F74, 0x000002FBU, 0x00000800U); + func_802A84F4(D_0F054270, 0x000002A8U, 0x00000800U); + func_802A84F4(D_0F054518, 0x00000374U, 0x00000800U); + func_802A84F4(D_0F05488C, 0x000003AFU, 0x00000800U); break; case 18: - func_802A84F4((s32) &D_0F057EB4, 0x0000032FU, 0x00000400U); - func_802A84F4((s32) &D_0F0581E4, 0x00000369U, 0x00000400U); - func_802A84F4((s32) &D_0F058550, 0x00000364U, 0x00000400U); + func_802A84F4(D_0F057EB4, 0x0000032FU, 0x00000400U); + func_802A84F4(D_0F0581E4, 0x00000369U, 0x00000400U); + func_802A84F4(D_0F058550, 0x00000364U, 0x00000400U); break; } func_80297818(); @@ -2922,9 +2451,6 @@ void func_8029E158(void) { func_8029DB44(); func_800122D8(); } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_8029E158.s") -#endif void func_8029E7DC(struct Actor *actor) { s16 temp_v0 = actor->flags; @@ -2961,167 +2487,122 @@ void destroy_actor(struct Actor *actor) { gNumActors--; } -#ifdef MIPS_TO_C -//generated by m2c commit a8f43e46d33dcb7e04d9cdc44a10b3daf4c92c3b -? func_8000EE58(s16, s16, s32, s32); /* extern */ +s16 func_8029E890(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) { + s32 actorIndex; + struct ShellActor *compare; -s16 func_8029E890(f32 *pos, s16 *rot, f32 *velocity, s16 actorType) { - s16 temp_s1; - s16 temp_s1_2; - s16 temp_t4; - s16 temp_t4_2; - s16 temp_v0; - s16 temp_v0_2; - s16 temp_v0_3; - s16 temp_v0_4; - s16 temp_v0_5; - s16 temp_v0_6; - s16 temp_v0_7; - s16 temp_v0_8; - u16 temp_t3; - struct Actor *phi_s0; - s16 phi_s1; - struct Actor *phi_s0_2; - s16 phi_s1_2; - - temp_t3 = gNumPermanentActors; - phi_s1 = (s16) temp_t3; - if ((s32) temp_t3 < 0x64) { - phi_s0 = &gActorList[temp_t3]; -loop_2: - if ((phi_s0->flags & 0xF) == 0) { - temp_v0 = phi_s0->type; - switch (temp_v0) { /* switch 5; irregular */ - case ACTOR_RED_SHELL: /* switch 5 */ - temp_t4 = phi_s0->state; - switch (temp_t4) { /* switch 1 */ - case 2: /* switch 1 */ - case 3: /* switch 1 */ - case 4: /* switch 1 */ - case 5: /* switch 1 */ - case 8: /* switch 1 */ - case 9: /* switch 1 */ - func_8000EE58(phi_s1, 2, 6, 8); - /* fallthrough */ - case 7: /* switch 1 */ - func_8029E7DC(phi_s0); - func_80296D10(phi_s0, pos, rot, velocity, (s32) actorType); - return phi_s1; + for (actorIndex = gNumPermanentActors; actorIndex < ACTOR_LIST_SIZE; actorIndex++) { + compare = &gActorList[actorIndex]; + if (!(compare->flags & 0xF)) { + switch(compare->type) { + case ACTOR_RED_SHELL: + switch(compare->state) { + case 2: + case 3: + case 4: + case 5: + case 8: + case 9: + func_8000EE58(actorIndex); + case 7: + func_8029E7DC(compare); + func_80296D10(compare, pos, rot, velocity, actorType); + return actorIndex; + default: + break; } break; - case ACTOR_GREEN_SHELL: /* switch 5 */ - temp_v0_2 = phi_s0->state; - switch (temp_v0_2) { /* switch 6; irregular */ - case 2: /* switch 6 */ - func_8000EE58(phi_s1, 2, 6, 8); - /* fallthrough */ - case 7: /* switch 6 */ - func_8029E7DC(phi_s0); - func_80296D10(phi_s0, pos, rot, velocity, (s32) actorType); - return phi_s1; + case ACTOR_GREEN_SHELL: + switch(compare->state) { + case 2: + func_8000EE58(actorIndex); + case 7: + func_8029E7DC(compare); + func_80296D10(compare, pos, rot, velocity, actorType); + return actorIndex; } break; - case ACTOR_BANANA: /* switch 5 */ - temp_v0_3 = phi_s0->state; - if ((temp_v0_3 == 1) || (temp_v0_3 == 4) || (temp_v0_3 == 5)) { - func_8029E7DC(phi_s0); - func_80296D10(phi_s0, pos, rot, velocity, (s32) actorType); - return phi_s1; + case ACTOR_BANANA: + switch(compare->state) { + case 1: + case 4: + case 5: + func_8029E7DC(compare); + func_80296D10(compare, pos, rot, velocity, actorType); + return actorIndex; } - goto block_24; - case ACTOR_FAKE_ITEM_BOX: /* switch 5 */ - temp_v0_4 = phi_s0->state; - if ((temp_v0_4 == 1) || (temp_v0_4 == 2)) { - func_8029E7DC(phi_s0); - func_80296D10(phi_s0, pos, rot, velocity, (s32) actorType); - return phi_s1; + break; + case ACTOR_FAKE_ITEM_BOX: + switch(compare->state) { + case 1: + case 2: + func_8029E7DC(compare); + func_80296D10(compare, pos, rot, velocity, actorType); + return actorIndex; } - goto block_24; + break; + default: + break; } - } else { - default: /* switch 1 */ -block_24: - temp_s1 = phi_s1 + 1; - phi_s0 += 0x70; - phi_s1 = temp_s1; - if (temp_s1 >= 0x64) { - goto block_26; - } - goto loop_2; - } - } else { -block_26: - phi_s1_2 = (s16) temp_t3; - if ((s16) temp_t3 < 0x64) { - phi_s0_2 = &gActorList[(s16) temp_t3]; -loop_28: - temp_v0_5 = phi_s0_2->type; - switch (temp_v0_5) { /* switch 3; irregular */ - case ACTOR_RED_SHELL: /* switch 3 */ - temp_t4_2 = phi_s0_2->state; - switch (temp_t4_2) { /* switch 2 */ - case 2: /* switch 2 */ - case 3: /* switch 2 */ - case 4: /* switch 2 */ - case 5: /* switch 2 */ - case 8: /* switch 2 */ - case 9: /* switch 2 */ - func_8000EE58(phi_s1_2, 2, 6, 8); - /* fallthrough */ - case 7: /* switch 2 */ - func_8029E7DC(phi_s0_2); - func_80296D10(phi_s0_2, pos, rot, velocity, (s32) actorType); - return phi_s1_2; - default: /* switch 3 */ - default: /* switch 2 */ -block_49: - temp_s1_2 = phi_s1_2 + 1; - phi_s0_2 += 0x70; - phi_s1_2 = temp_s1_2; - if (temp_s1_2 >= 0x64) { - goto block_50; - } - goto loop_28; - } - break; - case ACTOR_GREEN_SHELL: /* switch 3 */ - temp_v0_6 = phi_s0_2->state; - switch (temp_v0_6) { /* switch 4; irregular */ - case 2: /* switch 4 */ - func_8000EE58(phi_s1_2, 2, 6, 8); - /* fallthrough */ - case 7: /* switch 4 */ - func_8029E7DC(phi_s0_2); - func_80296D10(phi_s0_2, pos, rot, velocity, (s32) actorType); - return phi_s1_2; - } - break; - case ACTOR_BANANA: /* switch 3 */ - temp_v0_7 = phi_s0_2->state; - if ((temp_v0_7 == 1) || (temp_v0_7 == 4) || (temp_v0_7 == 5)) { - func_8029E7DC(phi_s0_2); - func_80296D10(phi_s0_2, pos, rot, velocity, (s32) actorType); - return phi_s1_2; - } - goto block_49; - case ACTOR_FAKE_ITEM_BOX: /* switch 3 */ - temp_v0_8 = phi_s0_2->state; - if ((temp_v0_8 == 1) || (temp_v0_8 == 2)) { - func_8029E7DC(phi_s0_2); - func_80296D10(phi_s0_2, pos, rot, velocity, (s32) actorType); - return phi_s1_2; - } - goto block_49; - } - } else { -block_50: - return -1; } } + + for (actorIndex = gNumPermanentActors; actorIndex < ACTOR_LIST_SIZE; actorIndex++) { + compare = &gActorList[actorIndex]; + switch(compare->type) { + case ACTOR_RED_SHELL: + switch(compare->state) { + case 2: + case 3: + case 4: + case 5: + case 8: + case 9: + func_8000EE58(actorIndex); + case 7: + func_8029E7DC(compare); + func_80296D10(compare, pos, rot, velocity, actorType); + return actorIndex; + default: + break; + } + break; + case ACTOR_GREEN_SHELL: + switch(compare->state) { + case 2: + func_8000EE58(actorIndex); + case 7: + func_8029E7DC(compare); + func_80296D10(compare, pos, rot, velocity, actorType); + return actorIndex; + } + break; + case ACTOR_BANANA: + switch(compare->state) { + case 1: + case 4: + case 5: + func_8029E7DC(compare); + func_80296D10(compare, pos, rot, velocity, actorType); + return actorIndex; + } + break; + case ACTOR_FAKE_ITEM_BOX: + switch(compare->state) { + case 1: + case 2: + func_8029E7DC(compare); + func_80296D10(compare, pos, rot, velocity, actorType); + return actorIndex; + } + break; + default: + break; + } + } + + return -1; } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_8029E890.s") -#endif s16 func_8029EC88(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) { s32 index; @@ -3148,151 +2629,109 @@ s16 func_8029ED38(Vec3f pos, s16 actorType) { return func_8029EC88(pos, rot, vel, actorType); } -#ifdef MIPS_TO_C -//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9 -static f32 D_802B9888 = 0.8f; +// I swear we have a struct that looks like this already but I cannot find it anywhere +struct test { + Vec3s thing; +}; -void func_8029ED98(Player *player, u32 arg1) { - f32 sp6C; - f32 sp68; - f32 sp64; - s16 *var_s0; - s16 var_v0; +UNUSED void func_8029ED98(Player *player, uintptr_t arg1) { + Vec3f sp64; + struct test *var_s0; + s32 segment = SEGMENT_NUMBER2(arg1); + s32 offset = SEGMENT_OFFSET(arg1); - var_s0 = gSegmentTable[arg1 >> 0x18] + (arg1 & 0xFFFFFF) + 0x80000000; - var_v0 = *var_s0; - if (var_v0 != -0x8000) { - do { - sp64 = (f32) var_v0 * gCourseDirection; - sp68 = (f32) var_s0->unk2; - sp6C = (f32) var_s0->unk4; - func_8029EEB8(player, &sp64, 5.0f, 40.0f, D_802B9888); - var_v0 = var_s0->unk6; - var_s0 += 6; - } while (var_v0 != -0x8000); + var_s0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); + while (var_s0->thing[0] != -0x8000) { + sp64[0] = var_s0->thing[0] * gCourseDirection; + sp64[1] = var_s0->thing[1]; + sp64[2] = var_s0->thing[2]; + if(arg1 & arg1){} + func_8029EEB8(player, sp64, 5.0f, 40.0f, 0.8f); + var_s0++; } } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_8029ED98.s") -#endif -#ifdef MIPS_TO_C -//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9 -static f32 D_802B988C = 0.1f; -static f32 D_802B9890 = 0.1f; -static f32 D_802B9894 = 1.2f; -static f32 D_802B9898 = 1.3f; - -s32 func_8029EEB8(Player *player, f32 *pos, f32 arg2, f32 arg3, f32 arg4) { - f32 sp44; - f32 sp40; - f32 sp3C; - f32 sp28; - f32 temp_f0; +s32 func_8029EEB8(Player *player, Vec3f pos, f32 arg2, f32 arg3, f32 arg4) { f32 temp_f0_2; f32 temp_f0_3; + f32 temp_f14; + f32 temp_f16; + f32 temp_f18; f32 temp_f0_4; f32 temp_f0_5; f32 temp_f0_6; - f32 temp_f12; - f32 temp_f12_2; - f32 temp_f14; - f32 temp_f14_2; - f32 temp_f16; - f32 temp_f18; f32 temp_f20; - f32 temp_f20_2; - f32 temp_f22; - f32 temp_f2; + f32 sp28; f32 temp_f2_2; - f32 var_f2; - s32 temp_v0; - temp_f0 = player->boundingBoxSize; - temp_f22 = temp_f0 + arg2; - temp_f20 = pos->unk0 - player->pos[0]; - temp_f12 = temp_f0 + arg3; - if (temp_f22 < temp_f20) { + arg2 = player->boundingBoxSize + arg2; + arg3 = player->boundingBoxSize + arg3; + temp_f20 = pos[0] - player->pos[0]; + if (arg2 < temp_f20) { return 0; } - temp_f2 = -temp_f22; - if (temp_f20 < temp_f2) { + if (temp_f20 < -arg2) { return 0; } - temp_f0_2 = pos->unk4 - player->pos[1]; - if (temp_f12 < temp_f0_2) { + temp_f0_2 = pos[1] - player->pos[1]; + if (arg3 < temp_f0_2) { return 0; } - if (temp_f0_2 < -temp_f12) { + if (temp_f0_2 < -arg3) { return 0; } - temp_f14 = pos->unk8 - player->pos[2]; - if (temp_f22 < temp_f14) { + temp_f14 = pos[2] - player->pos[2]; + if (arg2 < temp_f14) { return 0; } - if (temp_f14 < temp_f2) { + if (temp_f14 < -arg2) { return 0; } - temp_f12_2 = (temp_f20 * temp_f20) + (temp_f0_2 * temp_f0_2) + (temp_f14 * temp_f14); - if (temp_f12_2 < D_802B988C) { + arg3 = (temp_f20 * temp_f20) + (temp_f0_2 * temp_f0_2) + (temp_f14 * temp_f14); + if (arg3 < 0.1f) { return 0; } - if ((temp_f22 * temp_f22) < temp_f12_2) { + if ((arg2 * arg2) < arg3) { return 0; } - sp44 = temp_f14; - temp_f0_3 = sqrtf(temp_f12_2); - sp28 = temp_f0_3 - temp_f22; - temp_v0 = player->unk_0BC; + temp_f0_3 = sqrtf(arg3); + sp28 = temp_f0_3 - arg2; temp_f16 = player->unk_034[0]; temp_f18 = player->unk_034[2]; - if ((temp_v0 & 0x200) != 0) { - goto block_25; - } - if (temp_f0_3 < D_802B9890) { - sp40 = temp_f16; - sp3C = temp_f18; - temp_f0_4 = sqrtf((temp_f16 * temp_f16) + (temp_f18 * temp_f18)); - var_f2 = temp_f0_4; - if (temp_f0_4 < 0.5f) { - var_f2 = 0.5f; - } - player->unk_034[0] = 0.0f; - player->unk_034[2] = 0.0f; - player->pos[0] += (temp_f16 / var_f2) * temp_f22; - player->pos[2] += (temp_f18 / var_f2) * temp_f22; - goto block_25; - } - temp_f14_2 = temp_f14 / temp_f0_3; - player->unk_0BC = temp_v0 | 0x8000; - sp3C = temp_f18; - sp40 = temp_f16; - temp_f20_2 = temp_f20 / temp_f0_3; - sp44 = temp_f14_2; - temp_f0_5 = sqrtf((temp_f16 * temp_f16) + (temp_f18 * temp_f18)); - if (temp_f0_5 < 0.25f) { - temp_f0_6 = D_802B9894; - player->pos[0] = pos->unk0 - (temp_f20_2 * temp_f22 * temp_f0_6); - player->unk_034[0] = 0.0f; - player->unk_034[2] = 0.0f; - player->pos[2] = pos->unk8 - (temp_f14_2 * temp_f22 * temp_f0_6); + if (player->unk_0BC & 0x200) { return 1; } - temp_f2_2 = temp_f0_5 * (((temp_f20_2 * temp_f16) + (temp_f14_2 * temp_f18)) / temp_f0_5) * arg4 * D_802B9898; - player->unk_034[0] -= temp_f20_2 * temp_f2_2; - player->unk_034[2] -= temp_f14_2 * temp_f2_2; - player->pos[0] += temp_f20_2 * sp28 * 0.5f; - player->pos[2] += temp_f14_2 * sp28 * 0.5f; -block_25: + if (temp_f0_3 < 0.1f) { + temp_f0_4 = sqrtf((temp_f16 * temp_f16) + (temp_f18 * temp_f18)); + if (temp_f0_4 < 0.5f) { + temp_f0_4 = 0.5f; + } + player->unk_034[0] = 0; + player->unk_034[2] = 0; + player->pos[0] += (temp_f16 / temp_f0_4) * arg2; + player->pos[2] += (temp_f18 / temp_f0_4) * arg2; + } else { + player->unk_0BC |= 0x8000; + temp_f20 /= temp_f0_3; + temp_f14 /= temp_f0_3; + temp_f0_5 = sqrtf((temp_f16 * temp_f16) + (temp_f18 * temp_f18)); + if (temp_f0_5 < 0.25f) { + temp_f0_6 = 1.2f; + player->pos[0] = pos[0] - (temp_f20 * arg2 * temp_f0_6); + player->pos[2] = pos[2] - (temp_f14 * arg2 * temp_f0_6); + player->unk_034[0] = 0.0f; + player->unk_034[2] = 0.0f; + return 1; + } + temp_f2_2 = ((temp_f20 * temp_f16) + (temp_f14 * temp_f18)) / temp_f0_5; + temp_f2_2 = temp_f0_5 * temp_f2_2 * arg4 * 1.3f; + player->unk_034[0] -= temp_f20 * temp_f2_2; + player->unk_034[2] -= temp_f14 * temp_f2_2; + player->pos[0] += temp_f20 * sp28 * 0.5f; + player->pos[2] += temp_f14 * sp28 * 0.5f; + } return 1; } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_8029EEB8.s") -#endif - -#ifdef NEEDS_RODATA -//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9 -extern f32 D_802B989C;// = 0.8f; s32 func_8029F1F8(Player *player, struct Actor *marioRacewaySign) { if (func_8029EEB8(player, marioRacewaySign->pos, 7.0f, 200.0f, 0.8f) == 1) { @@ -3309,9 +2748,6 @@ s32 func_8029F1F8(Player *player, struct Actor *marioRacewaySign) { } return 0; } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_8029F1F8.s") -#endif s32 func_8029F2FC(Player *player, struct PiranhaPlant *plant) { if (func_8029EEB8(player, plant->pos, plant->boundingBoxSize, plant->boundingBoxSize, 2.5f) == 1) { @@ -3373,177 +2809,113 @@ s32 func_8029F408(Player *player, struct YoshiValleyEgg *egg) { func_800C98B8(player->pos, player->unk_034, 0x19018010); func_800C90F4(player - gPlayerOne, (player->characterId * 0x10) + 0x2900800D); } else { - func_8008DABC(player, ((player - gPlayerOne) << 0x18) >> 0x18); + func_8008DABC(player, player - gPlayerOne); if ((gModeSelection == TIME_TRIALS) && ((player->unk_000 & 0x1000) == 0)) { D_80162DF8 = 1; } } } else { - func_8008DABC(player, ((player - gPlayerOne) << 0x18) >> 0x18); + func_8008DABC(player, player - gPlayerOne); } return 1; } -#ifdef MIPS_TO_C -//generated by m2c commit a8f43e46d33dcb7e04d9cdc44a10b3daf4c92c3b -? func_80077AB0(f32 *, ?); /* extern */ -static f32 D_802B98A0 = 0.1f; -static f32 D_802B98A4 = 1.2f; -static f32 D_802B98A8 = 1.2f; -s16 gCurrentCourseId; /* unable to generate initializer */ - s32 func_8029F69C(Player *player, struct Actor *actor) { - f32 sp54; - f32 sp4C; + f32 x_dist; + f32 y_dist; + f32 z_dist; f32 sp48; f32 sp44; - f32 sp40; - f32 sp3C; - f32 sp28; - f32 sp24; - f32 sp20; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f0_3; - f32 temp_f0_4; - f32 temp_f0_5; + f32 var_f16; + f32 xz_dist; + f32 stackPadding0; + f32 stackPadding1; f32 temp_f12; - f32 temp_f14; - f32 temp_f14_2; - f32 temp_f16; - f32 temp_f16_2; - f32 temp_f18; - f32 temp_f18_2; + f32 temp_f0_4; + Vec3f sp20; f32 temp_f2; - s16 temp_v0_3; - s32 temp_cond; - s32 temp_v0_2; - u16 temp_v0; - Player *phi_a3; - f32 phi_f14; - f32 phi_f16; - f32 phi_f18; - temp_f18 = actor->pos[0] - player->pos[0]; - temp_f16 = actor->unk_08; - phi_a3 = player; - if ((temp_f18 < 0.0f) && (temp_f18 < -temp_f16)) { + var_f16 = actor->unk_08; + x_dist = actor->pos[0] - player->pos[0]; + if ((x_dist < 0.0f) && (x_dist < -var_f16)) { return 0; } - if (temp_f16 < temp_f18) { + if (var_f16 < x_dist) { return 0; } - temp_f14 = actor->pos[2] - player->pos[2]; - if ((temp_f14 < 0.0f) && (temp_f14 < -temp_f16)) { + z_dist = actor->pos[2] - player->pos[2]; + if ((z_dist < 0.0f) && (z_dist < -var_f16)) { return 0; } - if (temp_f16 < temp_f14) { + if (var_f16 < z_dist) { return 0; } - temp_f0 = player->pos[1] - actor->pos[1]; - if (temp_f0 < 0.0f) { + y_dist = player->pos[1] - actor->pos[1]; + if (y_dist < 0.0f) { return 0; } - if ((f32) actor->state < temp_f0) { + if ((f32) actor->state < y_dist) { return 0; } - sp4C = temp_f14; - sp40 = temp_f16; - sp54 = temp_f18; - temp_f0_2 = sqrtf((temp_f18 * temp_f18) + (temp_f14 * temp_f14)); - temp_cond = temp_f16 < temp_f0_2; - sp3C = temp_f0_2; - if (temp_cond) { + xz_dist = sqrtf((x_dist * x_dist) + (z_dist * z_dist)); + if (var_f16 < xz_dist) { return 0; } - sp4C = temp_f14; - sp54 = temp_f18; func_802977B0(player); - temp_f16_2 = player->boundingBoxSize + actor->boundingBoxSize; - if (temp_f16_2 < sp3C) { + var_f16 = player->boundingBoxSize + actor->boundingBoxSize; + if (var_f16 < xz_dist) { return 0; } sp48 = player->unk_034[0]; sp44 = player->unk_034[2]; - temp_v0 = player->unk_000; - if ((temp_v0 & 0x4000) != 0) { - if ((player->unk_0BC & 0x200) != 0) { + if (player->unk_000 & 0x4000) { + if (player->unk_0BC & 0x200) { actor->flags |= 0x400; func_800C98B8(player->pos, player->unk_034, 0x19018010U); - func_800C90F4((Player *) (((s32) (player - gPlayerOne) / 3544) & 0xFF), (player->characterId * 0x10) + 0x2900800D); - goto block_36; + func_800C90F4(player - gPlayerOne, (player->characterId * 0x10) + 0x2900800D); + return 1; } - if ((temp_v0 & 0x100) == 0) { - sp4C = temp_f14; - sp40 = temp_f16_2; - sp54 = temp_f18; - func_800C9060((Player *) (((s32) (player - gPlayerOne) / 3544) & 0xFF), 0x19007018); + if (!(player->unk_000 & 0x100)) { + func_800C9060(player - gPlayerOne, 0x19007018U); } - goto block_23; } -block_23: - temp_v0_2 = player->unk_0BC; - phi_a3 = player; - phi_f14 = temp_f14; - phi_f16 = temp_f16_2; - phi_f18 = temp_f18; - if ((temp_v0_2 & 0x200) == 0) { - player->unk_0BC = temp_v0_2 | 0x8000; + if (!(player->unk_0BC & 0x200)) { + player->unk_0BC |= 0x8000; } - temp_v0_3 = gCurrentCourseId; - sp20 = actor->pos[0]; - sp24 = actor->pos[1]; - sp28 = actor->pos[2]; - if (((temp_v0_3 == 0) || (temp_v0_3 == 4) || (temp_v0_3 == 7) || (temp_v0_3 == 8)) && (player->unk_094 > 1.0f)) { - player = player; - sp4C = temp_f14; - sp40 = temp_f16_2; - sp54 = temp_f18; - func_80077AB0(&sp20, 0); - phi_f14 = sp4C; - phi_f16 = sp40; - phi_f18 = sp54; + sp20[0] = actor->pos[0]; + sp20[1] = actor->pos[1]; + sp20[2] = actor->pos[2]; + if (((gCurrentCourseId == 0) || (gCurrentCourseId == 4) || (gCurrentCourseId == 7) || (gCurrentCourseId == 8)) && (player->unk_094 > 1.0f)) { + func_80077AB0(sp20, 0); } - if (sp3C < D_802B98A0) { - player = phi_a3; - sp4C = phi_f14; - sp40 = phi_f16; - sp54 = phi_f18; + if (xz_dist < 0.1f) { sqrtf((sp48 * sp48) + (sp44 * sp44)); - temp_f0_3 = D_802B98A4; - player->unk_034[0] = 0.0f; - player->unk_034[2] = 0.0f; - player->pos[0] = sp20 - (phi_f18 * phi_f16 * temp_f0_3); - player->pos[2] = sp28 - (phi_f14 * phi_f16 * temp_f0_3); - goto block_36; + if(xz_dist){} + player->unk_034[0] = 0; + player->unk_034[2] = 0; + player->pos[0] = sp20[0] - (x_dist * var_f16 * 1.2f); + player->pos[2] = sp20[2] - (z_dist * var_f16 * 1.2f); + } else { + temp_f0_4 = sqrtf((sp48 * sp48) + (sp44 * sp44)); + x_dist /= xz_dist; + z_dist /= xz_dist; + if (temp_f0_4 < 0.25f) { + player->pos[0] = sp20[0] - (x_dist * var_f16 * 1.2f); + player->pos[2] = sp20[2] - (z_dist * var_f16 * 1.2f); + player->unk_034[0] = 0; + player->unk_034[2] = 0; + return 1; + } + temp_f12 = ((x_dist * sp48) + (z_dist * sp44)) / temp_f0_4; + temp_f12 = temp_f0_4 * temp_f12 * 1.5f; + player->unk_034[0] -= x_dist * temp_f12; + player->unk_034[2] -= z_dist * temp_f12; + temp_f2 = xz_dist - var_f16; + player->pos[0] += x_dist * temp_f2 * 0.5f; + player->pos[2] += z_dist * temp_f2 * 0.5f; } - player = phi_a3; - sp4C = phi_f14; - sp40 = phi_f16; - sp54 = phi_f18; - temp_f0_4 = sqrtf((sp48 * sp48) + (sp44 * sp44)); - temp_f14_2 = phi_f14 / sp3C; - temp_f18_2 = phi_f18 / sp3C; - if (temp_f0_4 < 0.25f) { - temp_f0_5 = D_802B98A8; - player->pos[0] = sp20 - (temp_f18_2 * phi_f16 * temp_f0_5); - player->unk_034[0] = 0.0f; - player->unk_034[2] = 0.0f; - player->pos[2] = sp28 - (temp_f14_2 * phi_f16 * temp_f0_5); - return 1; - } - temp_f12 = temp_f0_4 * (((temp_f18_2 * sp48) + (temp_f14_2 * sp44)) / temp_f0_4) * 1.5f; - player->unk_034[0] -= temp_f18_2 * temp_f12; - player->unk_034[2] -= temp_f14_2 * temp_f12; - temp_f2 = sp3C - phi_f16; - player->pos[0] += temp_f18_2 * temp_f2 * 0.5f; - player->pos[2] += temp_f14_2 * temp_f2 * 0.5f; -block_36: return 1; } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_8029F69C.s") -#endif s32 func_8029FB80(Player *arg0, struct Actor *arg1) { f32 temp_f0; @@ -3575,7 +2947,7 @@ s32 func_8029FB80(Player *arg0, struct Actor *arg1) { return 0; } temp_f12_2 = (temp_f2 * temp_f2) + (temp_f14 * temp_f14) + (temp_f16 * temp_f16); - if (temp_f12_2 < D_802B98AC) { + if (temp_f12_2 < 0.1f) { return 0; } if ((temp_f0 * temp_f0) < temp_f12_2) { @@ -3614,7 +2986,7 @@ s32 func_8029FCA4(struct Actor *arg0, struct Actor *arg1) { return 0; } temp_f12_2 = (temp_f2 * temp_f2) + (temp_f14 * temp_f14) + (temp_f16 * temp_f16); - if (temp_f12_2 < D_802B98B0) { + if (temp_f12_2 < 0.1f) { return 0; } if ((temp_f0 * temp_f0) < temp_f12_2) { @@ -3623,147 +2995,125 @@ s32 func_8029FCA4(struct Actor *arg0, struct Actor *arg1) { return 1; } -#ifdef MIPS_TO_C -//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd -? func_8000EE58(s32); /* extern */ -? func_800C9EF4(f32 *, ?, struct Actor *, s16); /* extern */ -? func_802B02B4(struct Actor *, ?, struct Actor *, s16); /* extern */ -? func_802B0570(struct Actor *); /* extern */ - void func_8029FDC8(struct Actor *actor) { - Player *temp_v0_2; - Player *temp_v0_3; - f32 *temp_a0; - s16 temp_v0; - s16 temp_v1; - s16 temp_v1_2; - s16 temp_v1_3; - struct Actor *temp_a2; - u16 temp_t6; - struct Actor *phi_a2; - struct Actor *phi_a2_2; - struct Actor *phi_a2_3; + struct ShellActor *shell; + struct BananaActor *banana; + struct FakeItemBox *fakeItemBox; + Player *player; - temp_v0 = actor->type; - temp_a2 = actor; - phi_a2 = temp_a2; - phi_a2_2 = temp_a2; - phi_a2_3 = temp_a2; - switch (temp_v0) { /* switch 4; irregular */ - case ACTOR_BANANA: /* switch 4 */ - temp_t6 = (u16) temp_a2->state; - switch (temp_t6) { /* switch 1 */ - case 2: /* switch 1 */ - case 3: /* switch 1 */ - func_802B0570(temp_a2); - return; - case 0: /* switch 1 */ - temp_v0_2 = &gPlayers[temp_a2->rot[0]]; - temp_v0_2->unk_00C &= 0xFFFBFFFF; + switch (actor->type) { + case ACTOR_BANANA: + banana = (struct BananaActor *)actor; + switch (banana->state) { + case 2: + case 3: + func_802B0570(banana); + break; + case 0: + player = &gPlayers[banana->playerId]; + player->unk_00C &= ~0x00040000; /* fallthrough */ - case 4: /* switch 1 */ - temp_a2->flags = -0x8000; - temp_a2->unk_04 = 0x003C; - temp_a2->state = 5; - temp_a2->velocity[1] = 3.0f; - return; - default: /* switch 1 */ - case 5: /* switch 5 */ - default: /* switch 2 */ - default: /* switch 3 */ - return; + case 4: + banana->flags = -0x8000; + banana->unk_04 = 0x003C; + banana->state = 5; + banana->velocity[1] = 3.0f; + break; + case 1: + case 5: + default: + break; } break; - case ACTOR_GREEN_SHELL: /* switch 4 */ - temp_v1 = temp_a2->state; - switch (temp_v1) { /* switch 5; irregular */ - case 2: /* switch 5 */ - actor = temp_a2; - func_8000EE58((s32) (temp_a2 - gActorList) / 112); - phi_a2_3 = actor; - /* fallthrough */ - case 0: /* switch 5 */ - case 1: /* switch 5 */ - phi_a2_3->flags = -0x8000; - phi_a2_3->rot[1] = 0; - phi_a2_3->someTimer = 0x003C; - phi_a2_3->state = 5; - phi_a2_3->velocity[1] = 3.0f; - return; - case 4: /* switch 5 */ - func_802B02B4(temp_a2, ACTOR_GREEN_SHELL, temp_a2, ACTOR_GREEN_SHELL); - return; - } - break; - case ACTOR_BLUE_SPINY_SHELL: /* switch 4 */ - temp_v1_2 = temp_a2->state; - if (temp_v1_2 != 7) { - switch (temp_v1_2) { /* switch 2 */ - case 2: /* switch 2 */ - case 3: /* switch 2 */ - case 4: /* switch 2 */ - case 5: /* switch 2 */ - case 8: /* switch 2 */ - case 9: /* switch 2 */ - temp_a0 = temp_a2->pos; - actor = temp_a2; - func_800C9EF4(temp_a0, 0x51018008, temp_a2, 7); - func_8000EE58((s32) (actor - gActorList) / 112); - phi_a2 = actor; + case ACTOR_GREEN_SHELL: + shell = (struct ShellActor *)actor; + if (shell->state != 5) { + switch (shell->state) { + case 2: + func_8000EE58(actor - gActorList); /* fallthrough */ - case 0: /* switch 2 */ - case 1: /* switch 2 */ - phi_a2->flags = -0x8000; - phi_a2->rot[1] = 0; - phi_a2->unk_04 = 0x003C; - phi_a2->state = 7; - phi_a2->velocity[1] = 3.0f; - return; + case 0: + case 1: + shell->flags = -0x8000; + shell->rotAngle = 0; + shell->someTimer = 0x003C; + shell->state = 5; + shell->velocity[1] = 3.0f; + break; + case 4: + func_802B02B4(shell, ACTOR_GREEN_SHELL); + break; + default: + break; } } break; - case ACTOR_RED_SHELL: /* switch 4 */ - temp_v1_3 = temp_a2->state; - if (temp_v1_3 != 7) { - switch (temp_v1_3) { /* switch 3 */ - case 2: /* switch 3 */ - case 3: /* switch 3 */ - case 4: /* switch 3 */ - case 5: /* switch 3 */ - case 8: /* switch 3 */ - case 9: /* switch 3 */ - actor = temp_a2; - func_8000EE58((s32) (temp_a2 - gActorList) / 112); - phi_a2_2 = actor; + case ACTOR_BLUE_SPINY_SHELL: + shell = (struct ShellActor *)actor; + if (shell->state != 7) { + switch (shell->state) { + case 2: + case 3: + case 4: + case 5: + case 8: + case 9: + func_800C9EF4(shell->pos, 0x51018008); + func_8000EE58(actor - gActorList); /* fallthrough */ - case 0: /* switch 3 */ - case 1: /* switch 3 */ - phi_a2_2->flags = -0x8000; - phi_a2_2->rot[1] = 0; - phi_a2_2->someTimer = 0x003C; - phi_a2_2->state = 7; - phi_a2_2->velocity[1] = 3.0f; - return; - case 6: /* switch 3 */ - func_802B02B4(temp_a2, ACTOR_RED_SHELL, temp_a2, ACTOR_GREEN_SHELL); - return; + case 0: + case 1: + shell->flags = -0x8000; + shell->rotAngle = 0; + shell->someTimer = 0x003C; + shell->state = 7; + shell->velocity[1] = 3.0f; + break; + default: + break; } } break; - case ACTOR_FAKE_ITEM_BOX: /* switch 4 */ - temp_v0_3 = &gPlayers[(s16) (s32) temp_a2->velocity[0]]; - if (temp_a2->state == 0) { - temp_v0_3->unk_00C &= 0xFFFBFFFF; + case ACTOR_RED_SHELL: + shell = (struct ShellActor *)actor; + if (shell->state != 7) { + switch (shell->state) { + case 2: + case 3: + case 4: + case 5: + case 8: + case 9: + func_8000EE58(actor - gActorList); + /* fallthrough */ + case 0: + case 1: + shell->flags = -0x8000; + shell->rotAngle = 0; + shell->someTimer = 0x003C; + shell->state = 7; + shell->velocity[1] = 3.0f; + break; + case 6: + func_802B02B4(shell, ACTOR_RED_SHELL); + break; + default: + break; + } } - temp_a2->state = 2; - temp_a2->flags = -0x8000; - temp_a2->unk_04 = 0; + break; + case ACTOR_FAKE_ITEM_BOX: + fakeItemBox = (struct FakeItemBox *)actor; + player = &gPlayers[(s16)fakeItemBox->playerId]; + if (fakeItemBox->state == 0) { + player->unk_00C &= ~0x00040000; + } + fakeItemBox->state = 2; + fakeItemBox->flags = -0x8000; + fakeItemBox->someTimer = 0; break; } } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_8029FDC8.s") -#endif void func_802A00E8(struct Actor *arg0, struct Actor *arg1) { switch(arg0->type) { @@ -3859,139 +3209,98 @@ void func_802A0350(struct Actor *arg0, struct Actor *arg1) { } } -#ifdef MIPS_TO_C -//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9 -? func_8007ABFC(s32, ?); /* extern */ -? func_8029F1F8(Player *, struct Actor *); /* extern */ -? func_8029F69C(Player *, struct Actor *); /* extern */ -extern s32 D_80162DF8; -static f32 D_802B99C4 = 360000.0f; -static f32 D_802B99C8 = 360000.0f; - void func_802A0450(Player *player, struct Actor *actor) { - s16 sp42; - s16 sp36; - Player *sp24; - Player *temp_v0; - Player *temp_v0_2; - Player *temp_v0_3; - Player *temp_v0_4; - Player *var_v0; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f2; - f32 temp_f2_2; - s16 temp_t2; + s32 stackPadding0; + s16 temp_lo; + s32 stackPadding1; + s32 stackPadding2; s16 temp_v1; - s16 temp_v1_2; - s16 temp_v1_3; - s16 temp_v1_4; - s16 var_t0; - s32 temp_f16; - s32 temp_lo; + Player *owner; + f32 temp_f0; + f32 temp_f2; - temp_lo = (s32) (player - gPlayerOne) / 3544; - temp_t2 = actor->type; - switch (temp_t2) { - case 9: - if (((player->unk_0BC << 0) >= 0) && ((player->unk_000 & 0x100) == 0)) { + temp_lo = player - gPlayerOne; + switch (actor->type) { + case ACTOR_YOSHI_VALLEY_EGG: + if (!(player->unk_0BC & 0x80000000) && !(player->unk_000 & 0x100)) { func_8029F408(player, (struct YoshiValleyEgg *) actor); - return; - } - default: - return; - case 6: - if (((player->unk_0BC & 0x800008C0) == 0) && ((player->unk_00C & 1) == 0) && ((temp_v1 = actor->rot[0], ((s16) temp_lo != temp_v1)) || ((actor->flags & 0x1000) == 0))) { - sp36 = temp_v1; - sp42 = (s16) temp_lo; - if (func_8029FB80(player, actor) == 1) { - player->unk_00C |= 1; - temp_v0 = &gPlayers[temp_v1]; - if ((temp_v0->unk_000 & 0x4000) != 0) { - if ((actor->flags & 0xF) != 0) { - if ((s16) temp_lo != temp_v1) { - func_800C90F4(temp_v1 & 0xFF, (temp_v0->characterId * 0x10) + 0x29008006); - } - } else { - temp_f0 = actor->pos[0] - temp_v0->pos[0]; - temp_f2 = actor->pos[2] - temp_v0->pos[2]; - if ((((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) < D_802B99C4) && ((s16) temp_lo != temp_v1)) { - func_800C90F4(temp_v1 & 0xFF, (temp_v0->characterId * 0x10) + 0x29008006); - } - } - } - func_8029FDC8(actor); - return; - } } break; - case 7: - if (((player->unk_0BC & 0x80000400) == 0) && ((player->unk_00C & 4) == 0) && ((temp_v1_2 = actor->rot[2], ((s16) temp_lo != temp_v1_2)) || ((actor->flags & 0x1000) == 0))) { - sp36 = temp_v1_2; - sp42 = (s16) temp_lo; - if (func_8029FB80(player, actor) == 1) { - player->unk_00C |= 4; - sp42 = (s16) temp_lo; - sp36 = temp_v1_2; - func_800C98B8(player->pos, player->unk_034, 0x19018010U); - temp_v0_2 = &gPlayers[temp_v1_2]; - if (((temp_v0_2->unk_000 & 0x4000) != 0) && ((s16) temp_lo != temp_v1_2)) { - func_800C90F4(temp_v1_2 & 0xFF, (temp_v0_2->characterId * 0x10) + 0x29008006); + case ACTOR_BANANA: + if (player->unk_0BC & 0x800008C0) { break; } + if (player->unk_00C & 1) { break; } + temp_v1 = actor->rot[0]; + if (((temp_lo == temp_v1) && (actor->flags & 0x1000)) || (func_8029FB80(player, actor) != 1)) { break; } + player->unk_00C |= 1; + owner = &gPlayers[temp_v1]; + if (owner->unk_000 & 0x4000) { + if (actor->flags & 0xF) { + if (temp_lo != temp_v1) { + func_800C90F4(temp_v1, (owner->characterId * 0x10) + 0x29008006); + } + } else { + temp_f0 = actor->pos[0] - owner->pos[0]; + temp_f2 = actor->pos[2] - owner->pos[2]; + if ((((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) < 360000.0f) && (temp_lo != temp_v1)) { + func_800C90F4(temp_v1, (owner->characterId * 0x10) + 0x29008006); } - func_8029FDC8(actor); - return; } } + func_8029FDC8(actor); break; - case 42: - if (((player->unk_00C & 2) == 0) && ((temp_v1_3 = actor->rot[2], ((s16) temp_lo != temp_v1_3)) || ((actor->flags & 0x1000) == 0)) && (sp36 = temp_v1_3, sp42 = (s16) temp_lo, var_t0 = (s16) temp_lo, (func_8029FB80(player, actor) == 1))) { - if ((player->unk_0BC << 0) >= 0) { - player->unk_00C |= 2; - sp42 = var_t0; - sp36 = temp_v1_3; - func_800C98B8(player->pos, player->unk_034, 0x19018010U); - } - temp_v0_3 = &gPlayers[temp_v1_3]; - if (((temp_v0_3->unk_000 & 0x4000) != 0) && (var_t0 != temp_v1_3)) { - sp42 = var_t0; - func_800C90F4(temp_v1_3 & 0xFF, (temp_v0_3->characterId * 0x10) + 0x29008006); - } - if (var_t0 == actor->unk_04) { - func_8029FDC8(actor); - return; - } + case ACTOR_GREEN_SHELL: + if (player->unk_0BC & 0x80000400) { break; } + if (player->unk_00C & 4) { break; } + temp_v1 = actor->rot[2]; + if (((temp_lo == temp_v1) && (actor->flags & 0x1000)) || (func_8029FB80(player, actor) != 1)) { break; } + player->unk_00C |= 4; + func_800C98B8(player->pos, player->unk_034, 0x19018010U); + owner = &gPlayers[temp_v1]; + if ((owner->unk_000 & 0x4000) && (temp_lo != temp_v1)) { + func_800C90F4(temp_v1, (owner->characterId * 0x10) + 0x29008006); + } + func_8029FDC8(actor); + break; + case ACTOR_BLUE_SPINY_SHELL: + if (player->unk_00C & 2) { break; } + temp_v1 = actor->rot[2]; + if (((temp_lo == temp_v1) && (actor->flags & 0x1000)) || (func_8029FB80(player, actor) != 1)) { break; } + if (!(player->unk_0BC & 0x80000000)) { + player->unk_00C |= 2; + func_800C98B8(player->pos, player->unk_034, 0x19018010U); + } + owner = &gPlayers[temp_v1]; + if ((owner->unk_000 & 0x4000) && (temp_lo != temp_v1)) { + func_800C90F4(temp_v1, (owner->characterId * 0x10) + 0x29008006); + } + if (temp_lo == actor->unk_04) { + func_8029FDC8(actor); } break; - case 8: - if (((player->unk_0BC << 7) >= 0) && ((player->unk_00C & 2) == 0) && ((temp_v1_4 = actor->rot[2], ((s16) temp_lo != temp_v1_4)) || ((actor->flags & 0x1000) == 0))) { - sp36 = temp_v1_4; - sp42 = (s16) temp_lo; - if (func_8029FB80(player, actor) == 1) { - if ((player->unk_0BC << 0) >= 0) { - player->unk_00C |= 2; - sp42 = (s16) temp_lo; - sp36 = temp_v1_4; - func_800C98B8(player->pos, player->unk_034, 0x19018010U); - } - temp_v0_4 = &gPlayers[temp_v1_4]; - if (((temp_v0_4->unk_000 & 0x4000) != 0) && ((s16) temp_lo != temp_v1_4)) { - func_800C90F4(temp_v1_4 & 0xFF, (temp_v0_4->characterId * 0x10) + 0x29008006); - } - func_8029FDC8(actor); - return; - } + case ACTOR_RED_SHELL: + temp_v1 = actor->rot[2]; + if (player->unk_0BC & 0x01000000) { break; } + if (player->unk_00C & 2) { break; } + temp_v1 = actor->rot[2]; + if (((temp_lo == temp_v1) && (actor->flags & 0x1000)) || (func_8029FB80(player, actor) != 1)) { break; } + if (!(player->unk_0BC & 0x80000000)) { + player->unk_00C |= 2; + func_800C98B8(player->pos, player->unk_034, 0x19018010U); } + owner = &gPlayers[temp_v1]; + if ((owner->unk_000 & 0x4000) && (temp_lo != temp_v1)) { + func_800C90F4(temp_v1, (owner->characterId * 0x10) + 0x29008006); + } + func_8029FDC8(actor); break; - case 10: - if ((player->unk_0BC << 0) >= 0) { + case ACTOR_PIRANHA_PLANT: + if (!(player->unk_0BC & 0x80000000)) { func_8029F2FC(player, (struct PiranhaPlant *) actor); - return; } break; - case 23: - if ((player->unk_0BC << 0) >= 0) { + case ACTOR_MARIO_RACEWAY_SIGN: + if (!(player->unk_0BC & 0x80000000)) { func_8029F1F8(player, actor); - return; } break; case 2: @@ -4006,94 +3315,82 @@ void func_802A0450(Player *player, struct Actor *actor) { case 31: case 32: case 33: - if ((player->unk_0BC << 0) >= 0) { + if (!(player->unk_0BC & 0x80000000)) { func_8029F69C(player, actor); - return; } break; - case 5: - if (((player->unk_0BC << 0) >= 0) && ((player->unk_000 & 0x100) == 0) && (func_8029FB80(player, actor) == 1)) { - func_800C98B8(actor->pos, actor->velocity, 0x19009005U); - if ((gModeSelection == 1) && ((player->unk_000 & 0x1000) == 0)) { - D_80162DF8 = 1; - } - if ((player->unk_0BC & 0x200) != 0) { - actor->velocity[1] = 10.0f; - return; - } - func_8008DABC(player, (s8) ((s32) (player - gPlayerOne) / 3544)); - return; - } - break; - case 13: - if (((player->unk_0BC << 0) >= 0) && ((temp_f16 = (s32) actor->velocity[0], ((s16) temp_lo != (s16) temp_f16)) || ((actor->flags & 0x1000) == 0))) { - sp36 = (s16) temp_f16; - sp42 = (s16) temp_lo; + case ACTOR_FALLING_ROCK: + if (!(player->unk_0BC & 0x80000000) && !(player->unk_000 & 0x100)) { if (func_8029FB80(player, actor) == 1) { - player->unk_00C |= 0x400000; - var_v0 = &gPlayers[(s16) temp_f16]; - if ((var_v0->unk_000 & 0x4000) != 0) { - if ((actor->flags & 0xF) != 0) { - if ((s16) temp_lo != (s16) temp_f16) { - sp24 = var_v0; - func_800C90F4((s16) temp_f16 & 0xFF, (var_v0->characterId * 0x10) + 0x29008006); - goto block_75; - } - } else { - temp_f0_2 = actor->pos[0] - var_v0->pos[0]; - temp_f2_2 = actor->pos[2] - var_v0->pos[2]; - if ((((temp_f0_2 * temp_f0_2) + (temp_f2_2 * temp_f2_2)) < D_802B99C8) && ((s16) temp_lo != (s16) temp_f16)) { - sp24 = var_v0; - func_800C90F4((s16) temp_f16 & 0xFF, (var_v0->characterId * 0x10) + 0x29008006); -block_75: - var_v0 = sp24; - } + func_800C98B8(actor->pos, actor->velocity, 0x19009005U); + if ((gModeSelection == 1) && !(player->unk_000 & 0x1000)) { + D_80162DF8 = 1; + } + if (player->unk_0BC & 0x200) { + actor->velocity[1] = 10.0f; + } else { + func_8008DABC(player, player - gPlayerOne); + } + } + } + break; + case ACTOR_FAKE_ITEM_BOX: + temp_v1 = actor->velocity[0]; + if (player->unk_0BC & 0x80000000) { break; } + temp_v1 = actor->velocity[0]; + if (((temp_lo == temp_v1) && (actor->flags & 0x1000)) || (func_8029FB80(player, actor) != 1)) { break; } + player->unk_00C |= 0x400000; + owner = &gPlayers[temp_v1]; + if (owner->unk_000 & 0x4000) { + if (actor->flags & 0xF) { + if (temp_lo != temp_v1) { + func_800C90F4(temp_v1, (owner->characterId * 0x10) + 0x29008006); } - if (actor->state == 0) { - var_v0->unk_00C &= 0xFFFBFFFF; + } else { + temp_f0 = actor->pos[0] - owner->pos[0]; + temp_f2 = actor->pos[2] - owner->pos[2]; + if ((((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) < 360000.0f) && (temp_lo != temp_v1)) { + func_800C90F4(temp_v1, (owner->characterId * 0x10) + 0x29008006); } } - actor->state = 2; - actor->flags = -0x8000; - actor->unk_04 = 0; - return; + if (actor->state == 0) { + owner->unk_00C &= ~0x00040000; + } } + actor->state = 2; + actor->flags = -0x8000; + actor->unk_04 = 0; + break; + case ACTOR_HOT_AIR_BALLOON_ITEM_BOX: + if (func_8029FB80(player, actor) == 1) { + actor->state = 3; + actor->flags = -0x8000; + actor->unk_04 = 0; + if (player->unk_000 & 0x4000) { + func_8007ABFC(player - gPlayerOne, 7); + } + } else if (actor->state == 0) { + actor->state = 1; + actor->flags = -0x8000; } break; - case 43: + case ACTOR_ITEM_BOX: if (func_8029FB80(player, actor) == (s32) 1) { actor->state = 3; actor->flags = -0x8000; actor->unk_04 = 0; - if ((player->unk_000 & 0x4000) != 0) { - func_8007ABFC((s32) (player - gPlayerOne) / 3544, 7); - return; + if (player->unk_000 & 0x4000) { + func_8007ABFC(player - gPlayerOne, 0); } } else if (actor->state == 0) { actor->state = 1; -block_89: actor->flags = -0x8000; } break; - case 12: - if (func_8029FB80(player, actor) == (s32) 1) { - actor->state = 3; - actor->flags = -0x8000; - actor->unk_04 = 0; - if ((player->unk_000 & 0x4000) != 0) { - func_8007ABFC((s32) (player - gPlayerOne) / 3544, 0); - return; - } - } else if (actor->state == 0) { - actor->state = 1; - goto block_89; - } + default: break; } } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_802A0450.s") -#endif void evaluate_player_collision(void) { struct Actor *temp_a1; @@ -4180,7 +3477,7 @@ void func_802A1064(struct FakeItemBox *fake_item_box) { if (fake_item_box - (struct FakeItemBox*)gActorList <= (u32)ACTOR_LIST_SIZE) { if (((fake_item_box->flags & 0x8000) != 0) && (fake_item_box->type == ACTOR_FAKE_ITEM_BOX)) { fake_item_box->state = 1; - fake_item_box->targetY = func_802ABEAC(&fake_item_box->unk30, fake_item_box->pos) + D_802B99CC; + fake_item_box->targetY = func_802ABEAC(&fake_item_box->unk30, fake_item_box->pos) + 8.66f; fake_item_box->someTimer = 100; } } @@ -4231,7 +3528,7 @@ void update_obj_fake_item_box(struct FakeItemBox *fake_item_box) { break; case 1: if (fake_item_box->sizeScaling < 1.0f) { - fake_item_box->sizeScaling += D_802B99D0; + fake_item_box->sizeScaling += 0.05f; } else if (fake_item_box->sizeScaling >= 1.0f) { fake_item_box->sizeScaling = 1.0f; } @@ -4240,7 +3537,7 @@ void update_obj_fake_item_box(struct FakeItemBox *fake_item_box) { if (fake_item_box->targetY <= fake_item_box->pos[1]) { fake_item_box->pos[1] = fake_item_box->targetY; } else { - fake_item_box->pos[1] += D_802B99D4; + fake_item_box->pos[1] += 0.2f; } if ((fake_item_box->flags & 0x1000) != 0) { if ((fake_item_box->someTimer <= 0) || (fake_item_box->someTimer >= 0x12D)) { @@ -4315,10 +3612,10 @@ void update_obj_item_box(struct ItemBox *itemBox) { itemBox->state = 1; break; case 1: - if ((itemBox->pos[1] - itemBox->origY) < D_802B99D8) { - itemBox->pos[1] += D_802B99DC; + if ((itemBox->pos[1] - itemBox->origY) < 8.66f) { + itemBox->pos[1] += 0.45f; } else { - itemBox->pos[1] = itemBox->origY + D_802B99D8; + itemBox->pos[1] = itemBox->origY + 8.66f; itemBox->state = 2; itemBox->flags = 0xC000; } @@ -4343,612 +3640,312 @@ void update_obj_item_box(struct ItemBox *itemBox) { } } -#ifdef MIPS_TO_C -//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd -? func_80297230(Camera *, struct Actor *); /* extern */ -? func_802972B8(Camera *, struct Actor *); /* extern */ -s32 func_802B4FF8(f32 *, ?); /* extern */ -? func_802B5F74(f32 (*)[4], f32 *, s16 *); /* extern */ -f32 func_802B80D0(f32 *, u16, ?, f32, f32); /* extern */ -extern ? D_0D002F80; -extern ? D_0D003090; -extern ? D_0D0030F8; -extern ? D_0D003128; -extern ? D_0D003158; -extern ? D_0D003188; -extern ? D_0D0031B8; -extern ? D_0D0031E8; -extern ? D_80150130; -extern s16 D_8015F6EC; -extern s16 D_8015F6EE; -static f32 D_802B99E0 = 1000000.0f; -static f32 D_802B99E4 = 0.1f; -static f32 D_802B99E8 = 0.8f; -static f32 D_802B99EC = 2.3f; -static f32 D_802B99F0 = 1.2f; -static f32 D_802B99F4 = 1.8f; -static f32 D_802B99F8 = -0.8f; -static f32 D_802B99FC = 0.6f; - -void func_802A171C(Camera *camera, struct Actor *actor) { - s16 sp184; - s16 sp182; - s16 sp180; - f32 sp170; - f32 sp16C; - f32 sp168; - f32 spA4; - f32 *sp38; /* compiler-managed */ - f32 sp34; - f32 sp30; - f32 sp2C; - Gfx *temp_v0; - Gfx *temp_v0_10; - Gfx *temp_v0_11; - Gfx *temp_v0_12; - Gfx *temp_v0_13; - Gfx *temp_v0_14; - Gfx *temp_v0_15; - Gfx *temp_v0_16; - Gfx *temp_v0_17; - Gfx *temp_v0_18; - Gfx *temp_v0_19; - Gfx *temp_v0_20; - Gfx *temp_v0_21; - Gfx *temp_v0_22; - Gfx *temp_v0_23; - Gfx *temp_v0_24; - Gfx *temp_v0_2; - Gfx *temp_v0_3; - Gfx *temp_v0_4; - Gfx *temp_v0_5; - Gfx *temp_v0_6; - Gfx *temp_v0_7; - Gfx *temp_v0_8; - Gfx *temp_v0_9; - f32 *temp_a1; - f32 *temp_a2; - f32 *temp_a2_2; - f32 *temp_a2_3; - f32 *temp_a2_4; - f32 temp_f0; +void func_802A171C(Camera *camera, struct FakeItemBox *fakeItemBox) { + Vec3s someRot; + s32 stackPadding0; + s32 stackPadding1; + s32 stackPadding2; + Vec3f someVec; + Mat4 someMatrix2; + Mat4 someMatrix3; + s32 stackPadding3; + s32 stackPadding4; + s32 stackPadding5; + s32 stackPadding6; + s32 stackPadding7; + s32 stackPadding8; + s32 stackPadding9; + s32 stackPadding10; + s32 stackPadding11; + s32 stackPadding12; + s32 stackPadding13; + s32 stackPadding14; f32 temp_f0_2; f32 temp_f0_3; f32 temp_f12; f32 temp_f2; + f32 thing; f32 temp_f2_2; - s16 temp_v1; - f32 phi_f0; + f32 someMultiplier; - temp_a1 = actor->pos; - sp38 = temp_a1; - if (func_802B80D0(temp_a1, (u16) camera->rot2, 0x451C4000, *(&D_80150130 + (((s32) (camera - camera1) / 184) * 4)), D_802B99E0) < 0.0f) { - func_80297230(camera, actor); + if (func_802B80D0(camera->pos, fakeItemBox->pos, camera->rot[1], 2500.0f, D_80150130[camera - camera1], 1000000.0f) < 0) { + func_80297230(camera, (struct Actor *) fakeItemBox); return; } - temp_f0 = actor->pos[1]; - if (((f32) D_8015F6EC + 800.0f) < temp_f0) { - func_80297230(camera, actor); + if (((f32) D_8015F6EC + 800.0f) < fakeItemBox->pos[1]) { + func_80297230(camera, (struct Actor *) fakeItemBox); return; } - if (temp_f0 < ((f32) D_8015F6EE - 800.0f)) { - func_80297230(camera, actor); + if (fakeItemBox->pos[1] < ((f32) D_8015F6EE - 800.0f)) { + func_80297230(camera, (struct Actor *) fakeItemBox); return; } - func_802972B8(camera, actor); - sp180 = 0; - sp184 = 0; - sp182 = actor->rot[1]; - func_802B5F74((f32 (*)[4]) &sp128[0], sp38, &sp180); - func_802B5F00((f32 (*)[4]) &sp128[0], actor->unk_08); - if (actor->state != 2) { - if (func_802B4FF8(&sp128[0], 0) != 0) { - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->words.w0 = 0x06000000; - temp_v0->words.w1 = (u32) &D_0D002F80; - func_802B5F74((f32 (*)[4]) &sp128[0], sp38, actor->rot); - func_802B5F00((f32 (*)[4]) &sp128[0], actor->unk_08); - if (func_802B4FF8(&sp128[0], 0) != 0) { - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->words.w1 = 0x00020000; - temp_v0_2->words.w0 = 0xB6000000; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->words.w0 = 0xFC121824; - temp_v0_3->words.w1 = 0xFF33FFFF; - temp_v1 = actor->rot[1]; - if ((temp_v1 < 0xAA1) && (temp_v1 > 0)) { - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->words.w0 = 0xB900031D; - temp_v0_4->words.w1 = 0x00552078; - } else if ((temp_v1 >= 0x6AA5) && (temp_v1 < 0x754E)) { - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->words.w0 = 0xB900031D; - temp_v0_5->words.w1 = 0x00552078; - } else if ((temp_v1 >= 0x38E1) && (temp_v1 < 0x438A)) { - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->words.w0 = 0xB900031D; - temp_v0_6->words.w1 = 0x00552078; - } else if ((temp_v1 >= 0xC711) && (temp_v1 < 0xD1BA)) { - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->words.w0 = 0xB900031D; - temp_v0_7->words.w1 = 0x00552078; - } else { - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->words.w1 = 0; - temp_v0_8->words.w0 = 0xC0000000; - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->words.w1 = 0x00504B50; - temp_v0_9->words.w0 = 0xB900031D; - } - temp_v0_10 = gDisplayListHead; - gDisplayListHead = temp_v0_10 + 8; - temp_v0_10->words.w0 = 0x06000000; - temp_v0_10->words.w1 = (u32) &D_0D003090; - } + func_802972B8(camera, (struct Actor *) fakeItemBox); + someRot[0] = 0; + someRot[1] = fakeItemBox->rot[1]; + someRot[2] = 0; + func_802B5F74(someMatrix2, fakeItemBox->pos, someRot); + func_802B5F00(someMatrix2, fakeItemBox->sizeScaling); + if (fakeItemBox->state != 2) { + + if (!func_802B4FF8(someMatrix2, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D002F80); + func_802B5F74(someMatrix2, fakeItemBox->pos, fakeItemBox->rot); + func_802B5F00(someMatrix2, fakeItemBox->sizeScaling); + + if (!func_802B4FF8(someMatrix2, 0)) { return; } + + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA); + if ((fakeItemBox->rot[1] < 0xAA1) && (fakeItemBox->rot[1] > 0)) { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + } else if ((fakeItemBox->rot[1] >= 0x6AA5) && (fakeItemBox->rot[1] < 0x754E)) { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + } else if ((fakeItemBox->rot[1] >= 0x38E1) && (fakeItemBox->rot[1] < 0x438A)) { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + } else if ((fakeItemBox->rot[1] >= 0xC711) && (fakeItemBox->rot[1] < 0xD1BA)) { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + } else { + gDPNoOp(gDisplayListHead++); + gDPSetRenderMode(gDisplayListHead++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2); } + gSPDisplayList(gDisplayListHead++, D_0D003090); } else { - temp_v0_11 = gDisplayListHead; - gDisplayListHead = temp_v0_11 + 8; - temp_v0_11->words.w1 = 0x00020000; - temp_v0_11->words.w0 = 0xB6000000; - temp_v0_12 = gDisplayListHead; - gDisplayListHead = temp_v0_12 + 8; - temp_v0_12->words.w1 = 0x00002000; - temp_v0_12->words.w0 = 0xB6000000; - temp_v0_13 = gDisplayListHead; - gDisplayListHead = temp_v0_13 + 8; - temp_v0_13->words.w1 = 0; - temp_v0_13->words.w0 = 0xC0000000; - spA4 = (f32) actor->unk_04; - func_802B5F74((f32 (*)[4]) &sp128[0], sp38, actor->rot); - if (spA4 < 10.0f) { - phi_f0 = 1.0f; + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); + gDPNoOp(gDisplayListHead++); + thing = fakeItemBox->someTimer; + func_802B5F74(someMatrix2, fakeItemBox->pos, fakeItemBox->rot); + if (thing < 10.0f) { + someMultiplier = 1.0f; } else { - phi_f0 = 1.0f - ((spA4 - 10.0f) * D_802B99E4); + someMultiplier = 1.0f - ((thing - 10.0f) * 0.1f); } - func_802B5F00((f32 (*)[4]) &sp128[0], phi_f0); - if ((actor->unk_04 & 1) != 0) { - temp_v0_14 = gDisplayListHead; - gDisplayListHead = temp_v0_14 + 8; - temp_v0_14->words.w1 = 0x00552078; - temp_v0_14->words.w0 = 0xB900031D; + func_802B5F00(someMatrix2, someMultiplier); + if (fakeItemBox->someTimer & 1) { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); } else { - temp_v0_15 = gDisplayListHead; - gDisplayListHead = temp_v0_15 + 8; - temp_v0_15->words.w1 = 0x004045D8; - temp_v0_15->words.w0 = 0xB900031D; + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2); } - sp168 = 0.0f; - temp_f2 = 2.0f * spA4; - sp170 = spA4; - sp16C = temp_f2; - sp38 = temp_f2; - func_802B5450((f32 (*)[4]) &sp128[0], (f32 (*)[4]) &spE8[0], (f32 (*)[4]) &sp168); - if (func_802B4FF8(&spE8[0], 0) != 0) { - temp_v0_16 = gDisplayListHead; - gDisplayListHead = temp_v0_16 + 8; - temp_v0_16->words.w0 = 0x06000000; - temp_v0_16->words.w1 = (u32) &D_0D003158; - temp_f2_2 = D_802B99E8 * spA4; - temp_f12 = 0.5f * spA4; - sp168 = temp_f2_2; - sp34 = temp_f2_2; - sp16C = D_802B99EC * spA4; - sp170 = temp_f12; - sp30 = temp_f12; - func_802B5450((f32 (*)[4]) &sp128[0], (f32 (*)[4]) &spE8[0], (f32 (*)[4]) &sp168); - if (func_802B4FF8(&spE8[0], 0) != 0) { - temp_v0_17 = gDisplayListHead; - gDisplayListHead = temp_v0_17 + 8; - temp_v0_17->words.w0 = 0x06000000; - temp_v0_17->words.w1 = (u32) &D_0D0031B8; - temp_f0_2 = -0.5f * spA4; - temp_a2 = &sp168; - sp168 = sp34; - sp16C = D_802B99F0 * spA4; - sp170 = temp_f0_2; - sp2C = temp_f0_2; - func_802B5450((f32 (*)[4]) &sp128[0], (f32 (*)[4]) &spE8[0], (f32 (*)[4]) temp_a2); - if (func_802B4FF8(&spE8[0], 0) != 0) { - temp_v0_18 = gDisplayListHead; - gDisplayListHead = temp_v0_18 + 8; - temp_v0_18->words.w1 = (u32) &D_0D003128; - temp_v0_18->words.w0 = 0x06000000; - if ((actor->unk_04 & 1) == 0) { - temp_v0_19 = gDisplayListHead; - gDisplayListHead = temp_v0_19 + 8; - temp_v0_19->words.w1 = 0x00552078; - temp_v0_19->words.w0 = 0xB900031D; - } else { - temp_v0_20 = gDisplayListHead; - gDisplayListHead = temp_v0_20 + 8; - temp_v0_20->words.w1 = 0x004045D8; - temp_v0_20->words.w0 = 0xB900031D; - } - temp_a2_2 = &sp168; - sp168 = 0.0f; - sp16C = D_802B99F4 * spA4; - sp170 = -1.0f * spA4; - func_802B5450((f32 (*)[4]) &sp128[0], (f32 (*)[4]) &spE8[0], (f32 (*)[4]) temp_a2_2); - if (func_802B4FF8(&spE8[0], 0) != 0) { - temp_v0_21 = gDisplayListHead; - gDisplayListHead = temp_v0_21 + 8; - temp_v0_21->words.w1 = (u32) &D_0D0031E8; - temp_v0_21->words.w0 = 0x06000000; - temp_f0_3 = D_802B99F8 * spA4; - temp_a2_3 = &sp168; - sp170 = sp2C; - sp168 = temp_f0_3; - sp34 = temp_f0_3; - sp16C = D_802B99FC * spA4; - func_802B5450((f32 (*)[4]) &sp128[0], (f32 (*)[4]) &spE8[0], (f32 (*)[4]) temp_a2_3); - if (func_802B4FF8(&spE8[0], 0) != 0) { - temp_v0_22 = gDisplayListHead; - gDisplayListHead = temp_v0_22 + 8; - temp_v0_22->words.w1 = (u32) &D_0D003188; - temp_v0_22->words.w0 = 0x06000000; - temp_a2_4 = &sp168; - sp168 = sp34; - sp16C = sp38; - sp170 = sp30; - func_802B5450((f32 (*)[4]) &sp128[0], (f32 (*)[4]) &spE8[0], (f32 (*)[4]) temp_a2_4); - if (func_802B4FF8(&spE8[0], 0) != 0) { - temp_v0_23 = gDisplayListHead; - gDisplayListHead = temp_v0_23 + 8; - temp_v0_23->words.w1 = (u32) &D_0D0030F8; - temp_v0_23->words.w0 = 0x06000000; - temp_v0_24 = gDisplayListHead; - gDisplayListHead = temp_v0_24 + 8; - temp_v0_24->words.w1 = 0x00002000; - temp_v0_24->words.w0 = 0xB7000000; - } - } - } - } - } + temp_f2 = 2.0f * thing; + someVec[0] = 0.0f; + someVec[1] = temp_f2; + someVec[2] = thing; + func_802B5450(someMatrix2, someMatrix3, someVec); + + if (!func_802B4FF8(someMatrix3, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D003158); + temp_f2_2 = 0.8f * thing; + temp_f12 = 0.5f * thing; + someVec[0] = temp_f2_2; + someVec[1] = 2.3f * thing; + someVec[2] = temp_f12; + func_802B5450(someMatrix2, someMatrix3, someVec); + + if (!func_802B4FF8(someMatrix3, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D0031B8); + temp_f0_2 = -0.5f * thing; + someVec[0] = temp_f2_2; + someVec[1] = 1.2f * thing; + someVec[2] = temp_f0_2; + func_802B5450(someMatrix2, someMatrix3, someVec); + + if (!func_802B4FF8(someMatrix3, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D003128); + if (!(fakeItemBox->someTimer & 1)) { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + } else { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2); } + someVec[0] = 0.0f; + someVec[1] = 1.8f * thing; + someVec[2] = -1.0f * thing; + func_802B5450(someMatrix2, someMatrix3, someVec); + + if (!func_802B4FF8(someMatrix3, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D0031E8); + temp_f0_3 = -0.8f * thing; + someVec[0] = temp_f0_3; + someVec[1] = 0.6f * thing; + someVec[2] = temp_f0_2; + func_802B5450(someMatrix2, someMatrix3, someVec); + + if (!func_802B4FF8(someMatrix3, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D003188); + someVec[0] = temp_f0_3; + someVec[1] = temp_f2; + someVec[2] = temp_f12; + func_802B5450(someMatrix2, someMatrix3, someVec); + + if (!func_802B4FF8(someMatrix3, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D0030F8); + gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); } } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_802A171C.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd -s32 func_802B4FF8(f32 (*)[4], ?); /* extern */ -? func_802B5F74(f32 (*)[4], f32 *, s16 *, struct ItemBox *); /* 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; -extern ? D_80150130; -static f32 D_802B9A00 = 4000000.0f; -static f32 D_802B9A04 = 600000.0f; -static f32 D_802B9A08 = 100000.0f; -static f32 D_802B9A0C = 0.1f; -static f32 D_802B9A10 = 0.8f; -static f32 D_802B9A14 = 2.3f; -static f32 D_802B9A18 = 1.2f; -static f32 D_802B9A1C = 1.8f; -static f32 D_802B9A20 = -0.8f; -static f32 D_802B9A24 = 0.6f; void func_802A1EA0(Camera *camera, struct ItemBox *item_box) { - f32 sp17C; - f32 sp178; - f32 sp174; - f32 sp170; - f32 sp16C; - f32 sp168; - s16 sp164; - s16 sp162; - s16 sp160; - f32 sp15C; - f32 *sp38; /* compiler-managed */ - f32 sp34; - f32 sp30; - f32 sp2C; - Gfx *temp_v0; - Gfx *temp_v0_10; - Gfx *temp_v0_11; - Gfx *temp_v0_12; - Gfx *temp_v0_13; - Gfx *temp_v0_14; - Gfx *temp_v0_15; - Gfx *temp_v0_16; - Gfx *temp_v0_17; - Gfx *temp_v0_18; - Gfx *temp_v0_19; - Gfx *temp_v0_20; - Gfx *temp_v0_21; - Gfx *temp_v0_22; - Gfx *temp_v0_23; - Gfx *temp_v0_24; - Gfx *temp_v0_25; - Gfx *temp_v0_26; - Gfx *temp_v0_27; - Gfx *temp_v0_28; - Gfx *temp_v0_2; - Gfx *temp_v0_3; - Gfx *temp_v0_4; - Gfx *temp_v0_5; - Gfx *temp_v0_6; - Gfx *temp_v0_7; - Gfx *temp_v0_8; - Gfx *temp_v0_9; - f32 *temp_a1; - f32 *temp_a2_2; - f32 *temp_a2_3; - f32 *temp_a2_4; - f32 *temp_a2_5; + s32 stackPadding0; + s32 stackPadding1; + Vec3f someVec1; + Vec3f someVec2; + Vec3s someRot; + f32 thing; + s32 stackPadding2; + Mat4 someMatrix1; + Mat4 someMatrix2; + s32 stackPadding3; + s32 stackPadding4; + s32 stackPadding5; + s32 stackPadding6; f32 temp_f0; f32 temp_f0_2; f32 temp_f0_3; f32 temp_f12; f32 temp_f2; f32 temp_f2_2; - s16 *temp_a2; - s16 temp_a0; - s16 temp_v1; - s16 phi_a0; - s16 phi_a0_2; - struct ItemBox *phi_t1; - f32 phi_f0; + f32 someMultiplier; - temp_a1 = item_box->pos; - sp38 = temp_a1; - temp_f0 = func_802B80D0(temp_a1, (u16) camera->rot2, 0, *(&D_80150130 + (((s32) (camera - camera1) / 184) * 4)), D_802B9A00); - if (!(temp_f0 < 0.0f) && !(D_802B9A04 < temp_f0)) { - temp_a0 = item_box->state; - phi_a0 = temp_a0; - if ((temp_a0 == 2) && (temp_f0 < D_802B9A08)) { - sp160 = 0; - sp164 = 0; - sp162 = item_box->rot[1]; - sp168 = item_box->pos[0]; - sp16C = item_box->resetDistance + 2.0f; - sp170 = item_box->pos[2]; - func_802B5F74((f32 (*)[4]) &sp118[0], &sp168, &sp160); - if (func_802B4FF8((f32 (*)[4]) &sp118[0], 0) != 0) { - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->words.w0 = 0x06000000; - temp_v0->words.w1 = (u32) &D_0D002EE8; - sp162 = item_box->rot[1] * 2; - sp16C = item_box->pos[1]; - func_802B5F74((f32 (*)[4]) &sp118[0], &sp168, &sp160, item_box); - if (func_802B4FF8((f32 (*)[4]) &sp118[0], 0) != 0) { - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->words.w1 = (u32) &D_0D003008; - temp_v0_2->words.w0 = 0x06000000; - phi_a0 = item_box->state; - goto block_7; - } - } - } else { -block_7: - phi_a0_2 = phi_a0; - phi_t1 = item_box; - if (phi_a0 == 5) { - func_802B5F74((f32 (*)[4]) &sp118[0], sp38, item_box + 0x10); - if (func_802B4FF8((f32 (*)[4]) &sp118[0], 0) != 0) { - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->words.w1 = (u32) &D_0D003008; - temp_v0_3->words.w0 = 0x06000000; - phi_a0_2 = item_box->state; - phi_t1 = item_box; - goto block_10; - } - } else { -block_10: - temp_a2 = phi_t1 + 0x10; - if (phi_a0_2 != 3) { - func_802B5F74((f32 (*)[4]) &sp118[0], sp38, temp_a2); - if (func_802B4FF8((f32 (*)[4]) &sp118[0], 0) != 0) { - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->words.w1 = 0x00020000; - temp_v0_4->words.w0 = 0xB6000000; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->words.w0 = 0xFC121824; - temp_v0_5->words.w1 = 0xFF33FFFF; - temp_v1 = item_box->rot[1]; - if ((temp_v1 < 0xAA1) && (temp_v1 > 0)) { - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->words.w0 = 0xB900031D; - temp_v0_6->words.w1 = 0x00552078; - } else if ((temp_v1 >= 0x6AA5) && (temp_v1 < 0x754E)) { - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->words.w0 = 0xB900031D; - temp_v0_7->words.w1 = 0x00552078; - } else if ((temp_v1 >= 0x38E1) && (temp_v1 < 0x438A)) { - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->words.w0 = 0xB900031D; - temp_v0_8->words.w1 = 0x00552078; - } else if ((temp_v1 >= 0xC711) && (temp_v1 < 0xD1BA)) { - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->words.w0 = 0xB900031D; - temp_v0_9->words.w1 = 0x00552078; - } else { - temp_v0_10 = gDisplayListHead; - gDisplayListHead = temp_v0_10 + 8; - temp_v0_10->words.w1 = 0; - temp_v0_10->words.w0 = 0xC0000000; - temp_v0_11 = gDisplayListHead; - gDisplayListHead = temp_v0_11 + 8; - temp_v0_11->words.w1 = 0x00504B50; - temp_v0_11->words.w0 = 0xB900031D; - } - temp_v0_12 = gDisplayListHead; - gDisplayListHead = temp_v0_12 + 8; - temp_v0_12->words.w1 = 0x00000200; - temp_v0_12->words.w0 = 0xB7000000; - temp_v0_13 = gDisplayListHead; - gDisplayListHead = temp_v0_13 + 8; - temp_v0_13->words.w0 = 0x06000000; - temp_v0_13->words.w1 = (u32) &D_0D003090; - goto block_42; - } - } else { - temp_v0_14 = gDisplayListHead; - gDisplayListHead = temp_v0_14 + 8; - temp_v0_14->words.w1 = 0x00020000; - temp_v0_14->words.w0 = 0xB6000000; - temp_v0_15 = gDisplayListHead; - gDisplayListHead = temp_v0_15 + 8; - temp_v0_15->words.w1 = 0x00002000; - temp_v0_15->words.w0 = 0xB6000000; - temp_v0_16 = gDisplayListHead; - gDisplayListHead = temp_v0_16 + 8; - temp_v0_16->words.w1 = 0; - temp_v0_16->words.w0 = 0xC0000000; - sp15C = (f32) phi_t1->someTimer; - func_802B5F74((f32 (*)[4]) &sp118[0], sp38, temp_a2); - if (sp15C < 10.0f) { - phi_f0 = 1.0f; - } else { - phi_f0 = 1.0f - ((sp15C - 10.0f) * D_802B9A0C); - } - func_802B5F00((f32 (*)[4]) &sp118[0], phi_f0); - if ((item_box->someTimer & 1) != 0) { - temp_v0_17 = gDisplayListHead; - gDisplayListHead = temp_v0_17 + 8; - temp_v0_17->words.w1 = 0x00552078; - temp_v0_17->words.w0 = 0xB900031D; - } else { - temp_v0_18 = gDisplayListHead; - gDisplayListHead = temp_v0_18 + 8; - temp_v0_18->words.w1 = 0x004045D8; - temp_v0_18->words.w0 = 0xB900031D; - } - sp174 = 0.0f; - temp_f2 = 2.0f * sp15C; - sp17C = sp15C; - sp178 = temp_f2; - sp38 = temp_f2; - func_802B5450((f32 (*)[4]) &sp118[0], (f32 (*)[4]) &spD8[0], (f32 (*)[4]) &sp174); - if (func_802B4FF8((f32 (*)[4]) &spD8[0], 0) != 0) { - temp_v0_19 = gDisplayListHead; - gDisplayListHead = temp_v0_19 + 8; - temp_v0_19->words.w0 = 0x06000000; - temp_v0_19->words.w1 = (u32) &D_0D003158; - temp_f2_2 = D_802B9A10 * sp15C; - temp_f12 = 0.5f * sp15C; - sp174 = temp_f2_2; - sp34 = temp_f2_2; - sp178 = D_802B9A14 * sp15C; - sp17C = temp_f12; - sp30 = temp_f12; - func_802B5450((f32 (*)[4]) &sp118[0], (f32 (*)[4]) &spD8[0], (f32 (*)[4]) &sp174); - if (func_802B4FF8((f32 (*)[4]) &spD8[0], 0) != 0) { - temp_v0_20 = gDisplayListHead; - gDisplayListHead = temp_v0_20 + 8; - temp_v0_20->words.w0 = 0x06000000; - temp_v0_20->words.w1 = (u32) &D_0D0031B8; - temp_f0_2 = -0.5f * sp15C; - temp_a2_2 = &sp174; - sp174 = sp34; - sp178 = D_802B9A18 * sp15C; - sp17C = temp_f0_2; - sp2C = temp_f0_2; - func_802B5450((f32 (*)[4]) &sp118[0], (f32 (*)[4]) &spD8[0], (f32 (*)[4]) temp_a2_2); - if (func_802B4FF8((f32 (*)[4]) &spD8[0], 0) != 0) { - temp_v0_21 = gDisplayListHead; - gDisplayListHead = temp_v0_21 + 8; - temp_v0_21->words.w1 = (u32) &D_0D003128; - temp_v0_21->words.w0 = 0x06000000; - if ((item_box->someTimer & 1) == 0) { - temp_v0_22 = gDisplayListHead; - gDisplayListHead = temp_v0_22 + 8; - temp_v0_22->words.w1 = 0x00552078; - temp_v0_22->words.w0 = 0xB900031D; - } else { - temp_v0_23 = gDisplayListHead; - gDisplayListHead = temp_v0_23 + 8; - temp_v0_23->words.w1 = 0x004045D8; - temp_v0_23->words.w0 = 0xB900031D; - } - temp_a2_3 = &sp174; - sp174 = 0.0f; - sp178 = D_802B9A1C * sp15C; - sp17C = -1.0f * sp15C; - func_802B5450((f32 (*)[4]) &sp118[0], (f32 (*)[4]) &spD8[0], (f32 (*)[4]) temp_a2_3); - if (func_802B4FF8((f32 (*)[4]) &spD8[0], 0) != 0) { - temp_v0_24 = gDisplayListHead; - gDisplayListHead = temp_v0_24 + 8; - temp_v0_24->words.w1 = (u32) &D_0D0031E8; - temp_v0_24->words.w0 = 0x06000000; - temp_f0_3 = D_802B9A20 * sp15C; - temp_a2_4 = &sp174; - sp17C = sp2C; - sp174 = temp_f0_3; - sp34 = temp_f0_3; - sp178 = D_802B9A24 * sp15C; - func_802B5450((f32 (*)[4]) &sp118[0], (f32 (*)[4]) &spD8[0], (f32 (*)[4]) temp_a2_4); - if (func_802B4FF8((f32 (*)[4]) &spD8[0], 0) != 0) { - temp_v0_25 = gDisplayListHead; - gDisplayListHead = temp_v0_25 + 8; - temp_v0_25->words.w1 = (u32) &D_0D003188; - temp_v0_25->words.w0 = 0x06000000; - temp_a2_5 = &sp174; - sp174 = sp34; - sp178 = sp38; - sp17C = sp30; - func_802B5450((f32 (*)[4]) &sp118[0], (f32 (*)[4]) &spD8[0], (f32 (*)[4]) temp_a2_5); - if (func_802B4FF8((f32 (*)[4]) &spD8[0], 0) != 0) { - temp_v0_26 = gDisplayListHead; - gDisplayListHead = temp_v0_26 + 8; - temp_v0_26->words.w1 = (u32) &D_0D0030F8; - temp_v0_26->words.w0 = 0x06000000; - temp_v0_27 = gDisplayListHead; - gDisplayListHead = temp_v0_27 + 8; - temp_v0_27->words.w1 = 0x00002000; - temp_v0_27->words.w0 = 0xB7000000; -block_42: - temp_v0_28 = gDisplayListHead; - gDisplayListHead = temp_v0_28 + 8; - temp_v0_28->words.w1 = -1U; - temp_v0_28->words.w0 = 0xBB000001; - } - } - } - } - } - } - } - } + temp_f0 = func_802B80D0(camera->pos, item_box->pos, camera->rot[1], 0.0f, D_80150130[camera - camera1], 4000000.0f); + if (!(temp_f0 < 0.0f) && !(600000.0f < temp_f0)) { + if ((item_box->state == 2) && (temp_f0 < 100000.0f)) { + someRot[0] = 0; + someRot[1] = item_box->rot[1]; + someRot[2] = 0; + someVec2[0] = item_box->pos[0]; + someVec2[1] = item_box->resetDistance + 2.0f; + someVec2[2] = item_box->pos[2]; + func_802B5F74(someMatrix1, someVec2, someRot); + + if (!func_802B4FF8(someMatrix1, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D002EE8); + someRot[1] = item_box->rot[1] * 2; + someVec2[1] = item_box->pos[1]; + func_802B5F74(someMatrix1, someVec2, someRot); + + if (!func_802B4FF8(someMatrix1, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D003008); } + if (item_box->state == 5) { + func_802B5F74(someMatrix1, item_box->pos, item_box->rot); + + if (!func_802B4FF8(someMatrix1, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D003008); + } + if (item_box->state != 3) { + func_802B5F74(someMatrix1, item_box->pos, item_box->rot); + + if (!func_802B4FF8(someMatrix1, 0)) { return; } + + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA); + if ((item_box->rot[1] < 0xAA1) && (item_box->rot[1] > 0)) { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + } else if ((item_box->rot[1] >= 0x6AA5) && (item_box->rot[1] < 0x754E)) { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + } else if ((item_box->rot[1] >= 0x38E1) && (item_box->rot[1] < 0x438A)) { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + } else if ((item_box->rot[1] >= 0xC711) && (item_box->rot[1] < 0xD1BA)) { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + } else { + gDPNoOp(gDisplayListHead++); + gDPSetRenderMode(gDisplayListHead++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2); + } + gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); + gSPDisplayList(gDisplayListHead++, D_0D003090); + } else { + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); + gDPNoOp(gDisplayListHead++); + thing = item_box->someTimer; + func_802B5F74(someMatrix1, item_box->pos, item_box->rot); + if (thing < 10.0f) { + someMultiplier = 1.0f; + } else { + someMultiplier = 1.0f - ((thing - 10.0f) * 0.1f); + } + func_802B5F00(someMatrix1, someMultiplier); + if (item_box->someTimer & 1) { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + } else { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2); + } + temp_f2 = 2.0f * thing; + someVec1[0] = 0.0f; + someVec1[1] = temp_f2; + someVec1[2] = thing; + func_802B5450(someMatrix1, someMatrix2, someVec1); + + if (!func_802B4FF8(someMatrix2, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D003158); + temp_f2_2 = 0.8f * thing; + temp_f12 = 0.5f * thing; + someVec1[0] = temp_f2_2; + someVec1[1] = 2.3f * thing; + someVec1[2] = temp_f12; + func_802B5450(someMatrix1, someMatrix2, someVec1); + + if (!func_802B4FF8(someMatrix2, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D0031B8); + temp_f0_2 = -0.5f * thing; + someVec1[0] = temp_f2_2; + someVec1[1] = 1.2f * thing; + someVec1[2] = temp_f0_2; + func_802B5450(someMatrix1, someMatrix2, someVec1); + + if (!func_802B4FF8(someMatrix2, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D003128); + if (!(item_box->someTimer & 1)) { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + } else { + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_INTER, G_RM_NOOP2); + } + someVec1[0] = 0.0f; + someVec1[1] = 1.8f * thing; + someVec1[2] = -1.0f * thing; + func_802B5450(someMatrix1, someMatrix2, someVec1); + + if (!func_802B4FF8(someMatrix2, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D0031E8); + temp_f0_3 = -0.8f * thing; + someVec1[0] = temp_f0_3; + someVec1[1] = 0.6f * thing; + someVec1[2] = temp_f0_2; + func_802B5450(someMatrix1, someMatrix2, someVec1); + + if (!func_802B4FF8(someMatrix2, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D003188); + someVec1[0] = temp_f0_3; + someVec1[1] = temp_f2; + someVec1[2] = temp_f12; + func_802B5450(someMatrix1, someMatrix2, someVec1); + + if (!func_802B4FF8(someMatrix2, 0)) { return; } + + gSPDisplayList(gDisplayListHead++, D_0D0030F8); + gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); + } + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); } } -#else -GLOBAL_ASM("asm/non_matchings/actors/func_802A1EA0.s") -#endif void func_802A269C(Camera *arg0, struct Actor *arg1) { Mat4 sp38; - f32 unk = func_802B80D0(arg0->pos, arg1->pos, arg0->rot[1], 0, D_80150130[arg0 - camera1], D_802B9A28); + f32 unk = func_802B80D0(arg0->pos, arg1->pos, arg0->rot[1], 0, D_80150130[arg0 - camera1], 16000000.0f); if (!(unk < 0.0f)) { gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -4969,7 +3966,7 @@ void func_802A27A0(Camera *arg0, Mat4 arg1, struct YoshiValleyEgg *egg, u16 arg3 f32 temp_f0; if (gGamestate != CREDITS_SEQUENCE) { - temp_f0 = func_802B80D0(arg0->pos, egg->pos, arg0->rot[1], 200.0f, D_80150130[arg0 - camera1], D_802B9A2C); + temp_f0 = func_802B80D0(arg0->pos, egg->pos, arg0->rot[1], 200.0f, D_80150130[arg0 - camera1], 16000000.0f); if (temp_f0 < 0.0f) { return; } @@ -5024,9 +4021,6 @@ void func_802A29BC(Camera *arg0, Mat4 arg1, struct Actor *arg2) { } } -s32 D_802B8850[] = {0, 0, 0}; -s16 D_802B885C[] = {0, 0, 0}; - void func_802A2AD0(Camera *arg0, struct RailroadCrossing *rr_crossing) { Vec3s sp80 = {0, 0, 0}; Mat4 sp40; diff --git a/src/actors.h b/src/actors.h index 4d55a711a..0c9603ae8 100644 --- a/src/actors.h +++ b/src/actors.h @@ -4,11 +4,12 @@ #include "types.h" #include "actor_types.h" -void func_80296D10(struct Actor *, f32 *, s16 *, f32 *, s32); +void func_80296A50(struct ShellActor*); +void func_80296D10(struct Actor*, f32*, s16*, f32*, s16); void func_80297230(Camera*, struct Actor*); void func_802972B8(Camera*, struct Actor*); void func_80297340(Camera*); -void func_80297524(intptr_t, s32, s32); +void func_80297524(uintptr_t, s32, s32); void func_802976D8(Vec3s); void func_802976EC(UnkActorInner*, Vec3s); void func_80297760(struct Actor*, Vec3f); @@ -70,18 +71,21 @@ void place_palm_trees(struct ActorSpawnData*); void func_8029CF0C(struct ActorSpawnData*, struct FallingRock*); void place_falling_rocks(struct ActorSpawnData*); void update_obj_falling_rocks(struct FallingRock*); +void place_segment_06(struct ActorSpawnData*); void place_all_item_boxes(struct ActorSpawnData*); void init_kiwano_fruit(); void destroy_all_actors(); +void func_8029DB44(); void func_8029E7DC(struct Actor*); void destroy_actor(struct Actor*); -s16 func_8029E890(f32 *, s16 *, f32 *, s16); +s16 func_8029E890(f32*, s16*, f32*, s16); s16 func_8029EC88(Vec3f, Vec3s, Vec3f, s16); s16 func_8029ED38(Vec3f, s16); s32 func_8029EEB8(Player*, Vec3f, f32, f32, f32); s32 func_8029F1F8(Player*, struct Actor*); s32 func_8029F2FC(Player*, struct PiranhaPlant*); s32 func_8029F408(Player*, struct YoshiValleyEgg*); +s32 func_8029F69C(Player*, struct Actor*); s32 func_8029FB80(Player*, struct Actor*); s32 func_8029FCA4(struct Actor*, struct Actor*); void func_8029FDC8(struct Actor*); @@ -95,8 +99,8 @@ void update_obj_fake_item_box(struct FakeItemBox*); void func_802A14BC(f32, f32, f32); void update_obj_item_box_hot_air_balloon(struct ItemBox*); void update_obj_item_box(struct ItemBox*); -void func_802A171C(Camera*, struct Actor*); -void func_802A1EA0(Camera*, struct Actor*); +void func_802A171C(Camera*, struct FakeItemBox*); +void func_802A1EA0(Camera*, struct ItemBox*); void func_802A269C(Camera*, struct Actor*); void func_802A27A0(Camera*, Mat4, struct YoshiValleyEgg*, u16); void func_802A29BC(Camera*, Mat4, struct Actor*); @@ -113,6 +117,8 @@ extern void func_800C90F4(u8, uintptr_t); extern void func_800C99E0(Vec3f, s32); extern void func_800C9D80(Vec3f, Vec3f, u32); +extern Vec3f D_802B91C8; + extern s32 D_802BA050; extern s32 D_802BA054; extern s32 D_802BA058; @@ -120,10 +126,13 @@ extern struct Actor *D_802BA05C; extern s8 D_802BA060[512]; // tlut 256 extern u16 D_802BA260; +extern s32 gPlayerCountSelection1; extern struct Actor gActorList[]; extern Player gPlayers[]; extern u16 gNumActors; extern u16 gNumPermanentActors; +extern u16 D_8015F6FE; // Shell count? But why does actor type 2 (some kind of shrub?) increase it and not blue shells? +extern u16 D_802BA260; // Box Truck sub-type? extern Player *gPlayerOne; extern struct Controller gControllers[]; @@ -141,82 +150,53 @@ extern f32 D_80150130[]; extern u16 D_801637B8[]; extern Lights1 D_800DC610[]; +extern u16 D_80150112; +extern u16 D_8015F700; +extern u16 D_8015F702; +extern f32 D_8015F704; +extern Vec3f D_8015F708; +extern f32 D_8015F8E4; + extern f32 gCourseDirection; extern uintptr_t gSegmentTable[]; extern s16 gPlaceItemBoxes; -extern f32 D_802B95F8; -extern f32 D_802B9624; -extern f32 D_802B9628; -extern f32 D_802B964C; -extern f32 D_802B9658; -extern f32 D_802B965C; -extern f32 D_802B9660; -extern f32 D_802B9664; -extern f32 D_802B9668; -extern f32 D_802B966C; -extern f32 D_802B9670; -extern f32 D_802B9674; -extern f32 D_802B9678; -extern f32 D_802B967C; -extern f32 D_802B9680; -extern f32 D_802B9684; -extern f32 D_802B9688; -extern f32 D_802B968C; -extern f32 D_802B9690; -extern f32 D_802B9694; -extern f32 D_802B9698; -extern f32 D_802B969C; -extern f32 D_802B96A0; -extern f32 D_802B96A4; -extern f32 D_802B96A8; -extern f32 D_802B96AC; -extern f32 D_802B96B0; -extern f32 D_802B96B4; -extern f32 D_802B96B4; -extern f32 D_802B96DC; -extern f32 D_802B96E0; -extern f32 D_802B96E4; -extern f32 D_802B96E8; -extern f32 D_802B96EC; -extern f32 D_802B96F0; -extern f32 D_802B96F4; -extern f32 D_802B96F8; -extern f32 D_802B96FC; -extern f32 D_802B9700; -extern f32 D_802B9704; -extern f32 D_802B9708; -extern f32 D_802B970C; -extern f32 D_802B9710; -extern f32 D_802B9714; -extern f32 D_802B9718; -extern f32 D_802B971C; -extern f32 D_802B9720;// = 9e6.0f; -extern f32 D_802B9724;// = 122500.0f; -extern f32 D_802B9728;// = 640000.0f; -extern f32 D_802B972C;// = 1440000.0f; -extern f32 D_802B9730; -extern f32 D_802B9734; -extern f32 D_802B9738; -extern f32 D_802B973C; -extern f32 D_802B9740; -extern f32 D_802B9744; -extern f32 D_802B9748; -extern f32 D_802B974C; -extern f32 D_802B9750; // static = 4000000.0f; -extern f32 D_802B9754; // static = 250000.0f; -extern f32 D_802B98AC; -extern f32 D_802B98B0; -extern f32 D_802B99CC; -extern f32 D_802B99D0; -extern f32 D_802B99D4; -extern f32 D_802B99D8; -extern f32 D_802B99DC; -extern f32 D_802B9A28; -extern f32 D_802B9A2C; +extern struct ActorSpawnData D_06000028[]; +extern struct ActorSpawnData D_06000038[]; +extern struct ActorSpawnData D_06000058[]; +extern struct ActorSpawnData D_06000080[]; +extern struct ActorSpawnData D_06007230[]; +extern struct ActorSpawnData D_06007250[]; +extern struct ActorSpawnData D_06007718[]; +extern struct ActorSpawnData D_06007810[]; +extern struct ActorSpawnData D_06009290[]; +extern struct ActorSpawnData D_06009370[]; +extern struct ActorSpawnData D_06009498[]; +extern struct ActorSpawnData D_06009518[]; +extern struct ActorSpawnData D_06009570[]; +extern struct ActorSpawnData D_06009B80[]; +extern struct ActorSpawnData D_0600B3D0[]; +extern struct ActorSpawnData D_0600CB40[]; +extern struct ActorSpawnData D_0600D9F0[]; +extern struct ActorSpawnData D_0600DA78[]; +extern struct ActorSpawnData D_0600DB80[]; +extern struct ActorSpawnData D_0600FDE8[]; +extern struct ActorSpawnData D_0600FE80[]; +extern struct ActorSpawnData D_06013EC0[]; +extern struct ActorSpawnData D_06014200[]; +extern struct ActorSpawnData D_06014330[]; +extern struct ActorSpawnData D_060143E0[]; +extern struct ActorSpawnData D_06016338[]; +extern struct ActorSpawnData D_060180A0[]; +extern struct ActorSpawnData D_06018110[]; +extern struct ActorSpawnData D_06018E78[]; +extern struct ActorSpawnData D_06018F70[]; +extern struct ActorSpawnData D_06022E88[]; +extern struct ActorSpawnData D_06022F08[]; +extern struct ActorSpawnData D_06023AE0[]; -extern f64 D_802B9610; +extern struct UnkActorSpawnData D_06013F78[]; extern Gfx D_06006A68[]; extern Gfx D_06006F88[]; @@ -254,7 +234,7 @@ extern Gfx D_06022D70[]; extern Gfx D_06022DB8[]; extern Gfx D_06022DB8[]; -extern Gfx D_0D004C68[]; +extern s8 D_0D004C68[]; extern Gfx D_0D005338[]; extern Gfx D_0D005368[]; extern Gfx D_0D007B20[]; @@ -287,44 +267,134 @@ extern s32 D_801625F4; extern s32 D_80162DF8; extern s32 D_802BA058; -extern s8 D_06006990[]; -extern s8 D_06009330[]; -extern s8 D_0600CA60[]; -extern s8 D_0600D850[]; -extern s8 D_0600E058[]; -extern s8 D_0600E730[]; -extern s8 D_0600FC28[]; -extern s8 D_06010AE8[]; -extern s8 D_06010C10[]; -extern s8 D_06010D38[]; -extern s8 D_06013C00[]; -extern s8 D_06013CA0[]; -extern s8 D_06013D20[]; -extern s8 D_06013DA0[]; -extern s8 D_06013E20[]; -extern s8 D_06013F78[]; -extern s8 D_06016D70[]; -extern s8 D_06017FA8[]; -extern s8 D_060185F8[]; -extern s8 D_060186B8[]; -extern s8 D_06018948[]; -extern s8 D_06018A08[]; -extern s8 D_06018C98[]; -extern s8 D_06018D58[]; -extern s8 D_06023858[]; -extern s8 D_060238A0[]; -extern s8 D_060238E8[]; +extern Gfx D_06006990[]; +extern Gfx D_06009330[]; +extern Gfx D_0600CA60[]; +extern Gfx D_0600D850[]; +extern Gfx D_0600E058[]; +extern Gfx D_0600E730[]; +extern Gfx D_0600FC28[]; +extern Gfx D_06010AE8[]; +extern Gfx D_06010C10[]; +extern Gfx D_06010CC0[]; +extern Gfx D_06010D38[]; +extern Gfx D_06011DC8[]; +extern Gfx D_06012EF0[]; +extern Gfx D_060138D0[]; +extern Gfx D_06013C00[]; +extern Gfx D_06013CA0[]; +extern Gfx D_06013D20[]; +extern Gfx D_06013DA0[]; +extern Gfx D_06013E20[]; +extern Gfx D_06016D70[]; +extern Gfx D_06017FA8[]; +extern Gfx D_060185F8[]; +extern Gfx D_060186B8[]; +extern Gfx D_06018948[]; +extern Gfx D_06018A08[]; +extern Gfx D_06018C98[]; +extern Gfx D_06018D58[]; +extern Gfx D_06023858[]; +extern Gfx D_060238A0[]; +extern Gfx D_060238E8[]; + +extern Gfx D_0D001750[]; +extern Gfx D_0D001780[]; +extern Gfx D_0D001798[]; +extern Gfx D_0D0017B0[]; +extern Gfx D_0D0017C8[]; +extern Gfx D_0D0017E0[]; +extern Gfx D_0D0017F8[]; +extern Gfx D_0D001810[]; +extern Gfx D_0D001828[]; +extern Gfx D_0D001B90[]; +extern Gfx D_0D001BD8[]; +extern Gfx D_0D001C20[]; +extern Gfx D_0D001C88[]; +extern Gfx D_0D002EE8[]; +extern Gfx D_0D002F80[]; +extern Gfx D_0D003008[]; +extern Gfx D_0D003090[]; +extern Gfx D_0D0030F8[]; +extern Gfx D_0D003128[]; +extern Gfx D_0D003158[]; +extern Gfx D_0D003188[]; +extern Gfx D_0D0031B8[]; +extern Gfx D_0D0031E8[]; +extern Gfx D_0D004B48[]; +extern Gfx D_0D004BD8[]; -extern s8 D_0D001B90[]; -extern s8 D_0D001BD8[]; -extern s8 D_0D001C20[]; -extern s8 D_0D001C88[]; -extern s8 D_0D004B48[]; -extern s8 D_0D004BD8[]; extern s8 D_0D004E38[]; extern s8 D_0D004E68[]; + +extern s8 D_0F04CBE0[]; +extern s8 D_0F04CE30[]; +extern s8 D_0F04D080[]; +extern s8 D_0F04D2D8[]; +extern s8 D_0F04D538[]; +extern s8 D_0F04D790[]; +extern s8 D_0F04D9FC[]; +extern s8 D_0F04DC5C[]; +extern s8 D_0F04DEB0[]; +extern s8 D_0F04E0DC[]; +extern s8 D_0F04E314[]; +extern s8 D_0F04E554[]; +extern s8 D_0F04E798[]; +extern s8 D_0F04E9F0[]; +extern s8 D_0F04EC4C[]; +extern s8 D_0F04EE88[]; +extern s8 D_0F04F45C[]; +extern s8 D_0F04F7A4[]; +extern s8 D_0F04FB3C[]; +extern s8 D_0F04FE28[]; +extern s8 D_0F050118[]; +extern s8 D_0F050468[]; +extern s8 D_0F050678[]; +extern s8 D_0F050D50[]; +extern s8 D_0F0513CC[]; +extern s8 D_0F051820[]; +extern s8 D_0F051C54[]; +extern s8 D_0F051FD8[]; +extern s8 D_0F05232C[]; +extern s8 D_0F0526B8[]; +extern s8 D_0F052A20[]; +extern s8 D_0F052D3C[]; +extern s8 D_0F05300C[]; +extern s8 D_0F0532F8[]; +extern s8 D_0F05363C[]; +extern s8 D_0F053950[]; +extern s8 D_0F053C34[]; +extern s8 D_0F053F74[]; +extern s8 D_0F054270[]; +extern s8 D_0F054518[]; +extern s8 D_0F05488C[]; +extern s8 D_0F054C3C[]; +extern s8 D_0F054ECC[]; +extern s8 D_0F0551C8[]; +extern s8 D_0F0554CC[]; +extern s8 D_0F055880[]; +extern s8 D_0F055BA0[]; +extern s8 D_0F055F10[]; +extern s8 D_0F0561AC[]; +extern s8 D_0F056408[]; +extern s8 D_0F05662C[]; +extern s8 D_0F05688C[]; +extern s8 D_0F056AD0[]; +extern s8 D_0F056CF0[]; +extern s8 D_0F056EC8[]; +extern s8 D_0F057084[]; +extern s8 D_0F057288[]; +extern s8 D_0F057590[]; +extern s8 D_0F057EB4[]; +extern s8 D_0F0581E4[]; +extern s8 D_0F058550[]; +extern s8 gTexture671A88[]; +extern s8 gTexture6774D8[]; +extern s8 gTextureShrub[]; + extern s8 D_800DC628[]; extern s8 D_800DC630[]; +extern u16 D_800DC5FC; extern s8 D_802B8864[]; extern u16 D_800DC5BC; diff --git a/src/actors_extended.c b/src/actors_extended.c index 3e31807c3..04be7b608 100644 --- a/src/actors_extended.c +++ b/src/actors_extended.c @@ -16,10 +16,10 @@ void func_802B0210(UnkActorInner *arg0, UnkActorInner *arg1) { arg1->unk36 = arg0->unk36; arg1->unk38 = arg0->unk38; arg1->unk3A = arg0->unk3A; - arg1->unk3C = arg0->unk3C; - arg1->unk40 = arg0->unk40; + arg1->unk3C[0] = arg0->unk3C[0]; + arg1->unk3C[1] = arg0->unk3C[1]; + arg1->unk3C[2] = arg0->unk3C[2]; - arg1->unk44 = arg0->unk44; vec3f_copy(arg1->unk48, arg0->unk48); vec3f_copy(arg1->unk54, arg0->unk54); vec3f_copy(arg1->unk60, arg0->unk60); @@ -755,13 +755,13 @@ void update_obj_banana(struct BananaActor *banana) { } else { func_802ADDC8(&banana->unk30, banana->boundingBoxSize + 1.0f, banana->pos[0], banana->pos[1], banana->pos[2]); banana->unk30.unk34 = 1; - if ((banana->unk30.unk34 != 0) && (banana->unk30.unk44 < 0.0f)) { + if ((banana->unk30.unk34 != 0) && (banana->unk30.unk3C[2] < 0.0f)) { someOtherVelocity[0] = -banana->unk30.unk60[0]; someOtherVelocity[1] = -banana->unk30.unk60[1]; someOtherVelocity[2] = -banana->unk30.unk60[2]; - banana->pos[0] += someOtherVelocity[0] * banana->unk30.unk44; - banana->pos[1] += someOtherVelocity[1] * banana->unk30.unk44; - banana->pos[2] += someOtherVelocity[2] * banana->unk30.unk44; + banana->pos[0] += someOtherVelocity[0] * banana->unk30.unk3C[2]; + banana->pos[1] += someOtherVelocity[1] * banana->unk30.unk3C[2]; + banana->pos[2] += someOtherVelocity[2] * banana->unk30.unk3C[2]; banana->flags &= ~0x1000; banana->state = 4; } @@ -1233,7 +1233,7 @@ void update_obj_green_shell(struct ShellActor *shell) { shell->pos[2] += shell->velocity[2]; func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], somePos2[0], somePos2[1], somePos2[2]); func_802B4E30((struct Actor *) shell); - if ((shell->unk30.unk3C < 0.0f) || (shell->unk30.unk40 < 0.0f)) { + if ((shell->unk30.unk3C[0] < 0.0f) || (shell->unk30.unk3C[1] < 0.0f)) { func_802AC098(&shell->unk30, shell->velocity); func_800C98B8(shell->pos, shell->velocity, 0x19008054U); shell->flags |= 0x80; @@ -1450,11 +1450,11 @@ s16 func_802B3FD0(Player *owner, struct ShellActor *shell) { } void func_802B4104(struct ShellActor *shell) { - if ((shell->unk30.unk3C < 0.0f) && ((shell->unk30.unk48[1] < 0.25f) || (shell->unk30.unk48[1] > -0.25f))) { + if ((shell->unk30.unk3C[0] < 0.0f) && ((shell->unk30.unk48[1] < 0.25f) || (shell->unk30.unk48[1] > -0.25f))) { func_8029FDC8((struct Actor *) shell); func_800C98B8(shell->pos, shell->velocity, 0x19008054U); shell->flags |= 0x80; - } else if ((shell->unk30.unk40 < 0.0f) && ((shell->unk30.unk54[1] < 0.25f) || (shell->unk30.unk54[1] < -0.25f))) { + } else if ((shell->unk30.unk3C[1] < 0.0f) && ((shell->unk30.unk54[1] < 0.25f) || (shell->unk30.unk54[1] < -0.25f))) { func_8029FDC8((struct Actor *) shell); func_800C98B8(shell->pos, shell->velocity, 0x19008054U); shell->flags |= 0x80; @@ -1735,19 +1735,19 @@ void update_obj_red_blue_shell(struct ShellActor *shell) { } void func_802B4E30(struct Actor *arg0) { - if ((arg0->unk30.unk44 < 0.0f) && (arg0->unk30.unk34 == 1)) { - arg0->pos[0] -= (arg0->unk30.unk60[0] * arg0->unk30.unk44); - arg0->pos[1] -= (arg0->unk30.unk60[1] * arg0->unk30.unk44); - arg0->pos[2] -= (arg0->unk30.unk60[2] * arg0->unk30.unk44); + if ((arg0->unk30.unk3C[2] < 0.0f) && (arg0->unk30.unk34 == 1)) { + arg0->pos[0] -= (arg0->unk30.unk60[0] * arg0->unk30.unk3C[2]); + arg0->pos[1] -= (arg0->unk30.unk60[1] * arg0->unk30.unk3C[2]); + arg0->pos[2] -= (arg0->unk30.unk60[2] * arg0->unk30.unk3C[2]); } - if ((arg0->unk30.unk3C < 0.0f) && (arg0->unk30.unk30 == 1)) { - arg0->pos[0] -= (arg0->unk30.unk48[0] * arg0->unk30.unk3C); - arg0->pos[1] -= (arg0->unk30.unk48[1] * arg0->unk30.unk3C); - arg0->pos[2] -= (arg0->unk30.unk48[2] * arg0->unk30.unk3C); + if ((arg0->unk30.unk3C[0] < 0.0f) && (arg0->unk30.unk30 == 1)) { + arg0->pos[0] -= (arg0->unk30.unk48[0] * arg0->unk30.unk3C[0]); + arg0->pos[1] -= (arg0->unk30.unk48[1] * arg0->unk30.unk3C[0]); + arg0->pos[2] -= (arg0->unk30.unk48[2] * arg0->unk30.unk3C[0]); } - if ((arg0->unk30.unk40 < 0.0f) && (arg0->unk30.unk32 == 1)) { - arg0->pos[0] -= (arg0->unk30.unk54[0] * arg0->unk30.unk40); - arg0->pos[1] -= (arg0->unk30.unk54[1] * arg0->unk30.unk40); - arg0->pos[2] -= (arg0->unk30.unk54[2] * arg0->unk30.unk40); + if ((arg0->unk30.unk3C[1] < 0.0f) && (arg0->unk30.unk32 == 1)) { + arg0->pos[0] -= (arg0->unk30.unk54[0] * arg0->unk30.unk3C[1]); + arg0->pos[1] -= (arg0->unk30.unk54[1] * arg0->unk30.unk3C[1]); + arg0->pos[2] -= (arg0->unk30.unk54[2] * arg0->unk30.unk3C[1]); } } diff --git a/src/code_800029B0.c b/src/code_800029B0.c index d3451dd3b..a58e7edd1 100644 --- a/src/code_800029B0.c +++ b/src/code_800029B0.c @@ -15,7 +15,7 @@ extern u16 D_800DC5A8; extern struct Controller *gControllerOne[]; extern s32 D_800DC510; -extern s16 D_8015F6FE; +extern u16 D_8015F6FE; extern s16 D_800DC5B8; extern u16 D_80152308; extern s32 D_802BA038; @@ -37,25 +37,25 @@ extern u32 gPrevLoadedAddress; extern s32 D_80150120; extern f32 D_8015F738, D_8015F748, D_8015F758, D_8015F768, D_8015F778; -extern u32 *D_802B91C8; +extern Vec3f D_802B91C8; // gfx? -extern u32 *D_0F04FE28; -extern u32 *D_0F050118; -extern u32 *D_0F051C54; -extern u32 *D_0F051FD8; -extern u32 *D_0F05232C; -extern u32 *D_0F0526B8; -extern u32 *D_0F052A20; -extern u32 *D_0F052D3C; -extern u32 *D_0F05300C; -extern u32 *D_0F0532F8; -extern u32 *D_0F05363C; -extern u32 *D_0F053950; -extern u32 *D_0F04F45C; +extern s8 D_0F04F45C[]; +extern s8 D_0F04FE28[]; +extern s8 D_0F050118[]; +extern s8 D_0F051C54[]; +extern s8 D_0F051FD8[]; +extern s8 D_0F05232C[]; +extern s8 D_0F0526B8[]; +extern s8 D_0F052A20[]; +extern s8 D_0F052D3C[]; +extern s8 D_0F05300C[]; +extern s8 D_0F0532F8[]; +extern s8 D_0F05363C[]; +extern s8 D_0F053950[]; -extern u32 *D_06009570; -extern u32 *D_06014330; +extern struct ActorSpawnData D_06009570[]; +extern struct ActorSpawnData D_06014330[]; extern f32 gCourseDirection; @@ -177,33 +177,33 @@ void func_80002DAC(void) { switch (gCurrentCourseId) { case COURSE_MARIO_RACEWAY: vec3f_set(&D_8015F748, -223.0f, 94.0f, -155.0f); - func_800C9D80(&D_8015F748, &D_802B91C8, 0x5103700B); + func_800C9D80(&D_8015F748, D_802B91C8, 0x5103700B); break; case COURSE_ROYAL_RACEWAY: vec3f_set(&D_8015F748, 177.0f, 87.0f, -393.0f); - func_800C9D80(&D_8015F748, &D_802B91C8, 0x5103700B); + func_800C9D80(&D_8015F748, D_802B91C8, 0x5103700B); break; case COURSE_LUIGI_RACEWAY: vec3f_set(&D_8015F748, 85.0f, 21.0f, -219.0f); - func_800C9D80(&D_8015F748, &D_802B91C8, 0x5103700B); + func_800C9D80(&D_8015F748, D_802B91C8, 0x5103700B); break; case COURSE_WARIO_STADIUM: vec3f_set(&D_8015F748, 298.0f, 202.0f, -850.0f); - func_800C9D80(&D_8015F748, &D_802B91C8, 0x5103700B); + func_800C9D80(&D_8015F748, D_802B91C8, 0x5103700B); vec3f_set(&D_8015F758, -1600.0f, 202.0f, -2430.0f); - func_800C9D80(&D_8015F758, &D_802B91C8, 0x5103700B); + func_800C9D80(&D_8015F758, D_802B91C8, 0x5103700B); vec3f_set(&D_8015F768, -2708.0f, 202.0f, 1762.0f); - func_800C9D80(&D_8015F768, &D_802B91C8, 0x5103700B); + func_800C9D80(&D_8015F768, D_802B91C8, 0x5103700B); vec3f_set(&D_8015F778, -775.0f, 202.0f, 1930.0f); - func_800C9D80(&D_8015F778, &D_802B91C8, 0x5103700B); + func_800C9D80(&D_8015F778, D_802B91C8, 0x5103700B); break; case COURSE_KOOPA_BEACH: vec3f_set(&D_8015F738, 153.0f, 0.0f, 2319.0f); - func_800C9D80(&D_8015F738, &D_802B91C8, 0x51028001); + func_800C9D80(&D_8015F738, D_802B91C8, 0x51028001); break; case COURSE_DK_JUNGLE: vec3f_set(&D_8015F738, -790.0f, -255.0f, -447.0f); - func_800C9D80(&D_8015F738, &D_802B91C8, 0x51028001); + func_800C9D80(&D_8015F738, D_802B91C8, 0x51028001); break; default: break; @@ -236,8 +236,8 @@ void func_80003040(void) { destroy_all_actors(); switch (gCurrentCourseId) { case COURSE_MARIO_RACEWAY: - func_802A84F4(&D_0F04F45C, 0x35B, 0x800); - place_segment_06(&D_06009570); + func_802A84F4(D_0F04F45C, 0x35B, 0x800); + place_segment_06(D_06009570); break; case COURSE_BOWSER_CASTLE: func_802AF8BC(0x7001350, 0x32, 0, 0, 0); @@ -251,19 +251,19 @@ void func_80003040(void) { func_8029EC88(position, rotation, velocity, ACTOR_YOSHI_VALLEY_EGG); break; case COURSE_MOO_MOO_FARM: - func_802A84F4(&D_0F04FE28, 0x3E8, 0x800); - func_802A84F4(&D_0F050118, 0x3E8, 0x800); - func_802A84F4(&D_0F051C54, 0x400, 0x800); - func_802A84F4(&D_0F051FD8, 0x400, 0x800); - func_802A84F4(&D_0F05232C, 0x400, 0x800); - func_802A84F4(&D_0F0526B8, 0x400, 0x800); - func_802A84F4(&D_0F052A20, 0x400, 0x800); - func_802A84F4(&D_0F052D3C, 0x400, 0x800); - func_802A84F4(&D_0F05300C, 0x400, 0x800); - func_802A84F4(&D_0F0532F8, 0x400, 0x800); - func_802A84F4(&D_0F05363C, 0x400, 0x800); - func_802A84F4(&D_0F053950, 0x400, 0x800); - place_segment_06(&D_06014330); + func_802A84F4(D_0F04FE28, 0x3E8, 0x800); + func_802A84F4(D_0F050118, 0x3E8, 0x800); + func_802A84F4(D_0F051C54, 0x400, 0x800); + func_802A84F4(D_0F051FD8, 0x400, 0x800); + func_802A84F4(D_0F05232C, 0x400, 0x800); + func_802A84F4(D_0F0526B8, 0x400, 0x800); + func_802A84F4(D_0F052A20, 0x400, 0x800); + func_802A84F4(D_0F052D3C, 0x400, 0x800); + func_802A84F4(D_0F05300C, 0x400, 0x800); + func_802A84F4(D_0F0532F8, 0x400, 0x800); + func_802A84F4(D_0F05363C, 0x400, 0x800); + func_802A84F4(D_0F053950, 0x400, 0x800); + place_segment_06(D_06014330); break; case COURSE_SHERBET_LAND: func_802AF8BC(0x7001EB8, -0x4C, 0xFF, 0xFF, 0xFF); diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c index eb4c12dcf..4891129f7 100644 --- a/src/code_80005FD0.c +++ b/src/code_80005FD0.c @@ -2109,17 +2109,6 @@ block_25: GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000929C.s") #endif -void func_8000DF8C(s32); // extern -void func_8000EF20(); // extern -void func_80012AC0(); // extern -void func_800133C4(); // extern -void func_8001487C(); // extern -void func_800149D0(); // extern -void func_80014B24(); // extern -void func_80014C78(); // extern -extern s32 D_8016337C; -extern s32 gModeSelection; - void func_800097E0(void) { s32 i; s32 j; @@ -2261,31 +2250,22 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_800099EC.s") #endif #ifdef MIPS_TO_C -//generated by m2c commit bece1d6db17040749f77dbbd090363cc6fb926f9 -// ? func_80008424(s32, ?32, Player *); /* extern */ -// ? func_8000929C(s32, Player *); /* extern */ -// ? func_800099EC(s32, Player *); /* extern */ -// ? func_8000B140(s32); /* extern */ -// s32 func_8000B7E4(s32, u16); /* extern */ -// ? func_8000BBD8(s32, ?32, s16, f32 *); /* extern */ -// ? func_8000D3B8(s32); /* extern */ -// ? func_8000D438(s32, u16); /* extern */ -// ? func_80011E38(s32); /* extern */ -// ? func_80012DC0(s32, Player *); /* extern */ -// ? func_80013054(); /* extern */ -// ? func_800131DC(s32); /* extern */ -// ? func_80013854(Player *); /* extern */ -// ? func_800148C4(s32, Player *); /* extern */ -// ? func_8001490C(s32, u16 *, f32 *, u16 *); /* extern */ -// ? func_80014A18(s32, Player *); /* extern */ -// ? func_80014A60(s32); /* extern */ -// ? func_80014B6C(s32, Player *); /* extern */ -// ? func_80014BB4(s32); /* extern */ -// ? func_80014CC0(s32, Player *); /* extern */ -// ? func_80014D08(s32); /* extern */ -// ? func_8001AC10(s32); /* extern */ -// ? func_8003680C(Player *, s16, Player *, s16, Player *); /* extern */ -// ? set_places(); /* extern */ +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc +? func_80008424(s32, ?32, Player *); /* extern */ +? func_8000929C(s32, Player *); /* extern */ +? func_800099EC(s32, Player *); /* extern */ +? func_8000B140(s32); /* extern */ +? func_8000BBD8(s32, ?32, s16, f32 *); /* extern */ +? func_8000D3B8(s32); /* extern */ +? func_8000D438(s32, u16); /* extern */ +? func_80011E38(s32); /* extern */ +? func_80012DC0(s32, Player *); /* extern */ +? func_80013054(); /* extern */ +? func_800131DC(s32); /* extern */ +? func_80013854(Player *); /* extern */ +? func_8001AC10(s32); /* extern */ +? func_8003680C(Player *, s16, Player *, s16, Player *); /* extern */ +? set_places(); /* extern */ extern ? D_0D009418; extern ? D_0D009568; extern ? D_0D0096B8; @@ -2327,13 +2307,35 @@ extern ? D_801634F8; extern ? D_801634FC; extern ? D_80163504; extern u16 D_801646CC; -extern s8 D_8018EDF3; static s16 D_800DCA20[0]; /* unable to generate initializer */ static ?32 D_800ECFB4 = 0x41055555; /* const */ static ?32 D_800ECFC8 = 0x40555555; /* const */ +f32 D_800DCA4C[0x15] = { + 50.0f, + 35.0f, + 35.0f, + 40.0f, + 35.0f, + 50.0f, + 50.0f, + 50.0f, + 50.0f, + 50.0f, + 50.0f, + 50.0f, + 50.0f, + 50.0f, + 50.0f, + -1.0f, + -1.0f, + -1.0f, + 40.0f, + -1.0f, + 40.0f, +}; s16 gCurrentCourseId; /* unable to generate initializer */ -void func_80009B60(s32 arg0) { +void func_80009B60(s32 playerId) { s16 sp94; Player *sp40; ?32 *sp3C; @@ -2410,23 +2412,23 @@ void func_80009B60(s32 arg0) { void *temp_v1_3; void *temp_v1_6; - temp_a3 = arg0 * 4; + temp_a3 = playerId * 4; temp_v0 = temp_a3 + &D_80163100; if ((s32) D_800DCA4C[gCurrentCourseId] >= 0) { *temp_v0 += 1; - if (arg0 == 0) { + if (playerId == 0) { temp_t6 = D_80163378 + 1; D_80163378 = temp_t6; - if ((temp_t6 & 1) != 0) { + if (temp_t6 & 1) { D_80163488 += 1; } } - temp_v1 = &gPlayers[arg0]; - temp_a2 = arg0 * 2; - if ((temp_v1->unk_000 & 0x8000) == 0) { - D_80164450[arg0] = -0x00000014; - gCourseCompletionPercentByPlayerId[arg0] = -1000.0f; - gLapCompletionPercentByPlayerId[arg0] = -1000.0f; + temp_v1 = &gPlayers[playerId]; + temp_a2 = playerId * 2; + if (!(temp_v1->unk_000 & 0x8000)) { + D_80164450[playerId] = -0x00000014; + gCourseCompletionPercentByPlayerId[playerId] = -1000.0f; + gLapCompletionPercentByPlayerId[playerId] = -1000.0f; return; } temp_v0_2 = temp_a2 + &D_801633E0; @@ -2444,8 +2446,8 @@ void func_80009B60(s32 arg0) { *temp_v0_2 = 4; } temp_v0_3 = temp_v1->unk_0CA; - if (((temp_v0_3 & 2) == 0) && ((temp_v0_3 & 8) == 0)) { - temp_a0 = gPathIndexByPlayerId[arg0]; + if (!(temp_v0_3 & 2) && !(temp_v0_3 & 8)) { + temp_a0 = gPathIndexByPlayerId[playerId]; sp40 = temp_v1; sp34 = temp_a2; sp38 = temp_a3; @@ -2454,8 +2456,8 @@ void func_80009B60(s32 arg0) { temp_v0_4 = gCurrentCourseId; switch (temp_v0_4) { /* irregular */ case 11: - func_80012DC0(arg0, sp40); - if (arg0 == 0) { + func_80012DC0(playerId, sp40); + if (playerId == 0) { func_80013054(); } break; @@ -2463,30 +2465,30 @@ void func_80009B60(s32 arg0) { func_80013854(sp40); break; case 10: - func_800148C4(arg0, sp40); - func_80014A18(arg0, sp40); - func_80014B6C(arg0, sp40); - func_80014CC0(arg0, sp40); + func_800148C4(playerId, sp40); + func_80014A18(playerId, sp40); + func_80014B6C(playerId, sp40); + func_80014CC0(playerId, sp40); break; } - if ((sp40->unk_000 & 0x800) != 0) { + if (sp40->unk_000 & 0x800) { sp40->unk_0BC &= 0xFFBFFFFF; sp40->unk_044 &= 0xFFFE; } - func_8000929C(arg0, sp40); - if ((gCurrentCourseId != 0x0014) && ((*(&D_80163240 + sp34) == 1) || (arg0 == 0))) { + func_8000929C(playerId, sp40); + if ((gCurrentCourseId != 0x0014) && ((*(&D_80163240 + sp34) == 1) || (playerId == 0))) { set_places(); } - if ((sp40->unk_000 & 0x1000) != 0) { + if (sp40->unk_000 & 0x1000) { if ((D_801630E2 == 1) && (gCurrentCourseId != 0x0014)) { - func_80011E38(arg0); + func_80011E38(playerId); } - temp_t5 = arg0 & 1; + temp_t5 = playerId & 1; sp30 = temp_t5; if ((D_80163378 & 1) != temp_t5) { - func_8001AC10(arg0); + func_8001AC10(playerId); } - func_800099EC(arg0, sp40); + func_800099EC(playerId, sp40); temp_v0_5 = gModeSelection; D_80162FD0 = 0; switch (temp_v0_5) { /* switch 1; irregular */ @@ -2499,19 +2501,19 @@ void func_80009B60(s32 arg0) { } temp_a1 = sp34 + &D_801631E0; *temp_a1 = 0; - if (((sp40->unk_0BC & 0x1000) != 0) && (gCurrentCourseId != 0x0014)) { + if ((sp40->unk_0BC & 0x1000) && (gCurrentCourseId != 0x0014)) { *temp_a1 = 1; } temp_v0_6 = gCurrentCourseId; - if ((D_801646CC == 1) || ((sp40->unk_000 & 0x800) != 0) || (temp_v0_6 == 0x0014)) { + if ((D_801646CC == 1) || (sp40->unk_000 & 0x800) || (temp_v0_6 == 0x0014)) { if (temp_v0_6 != 0x000A) { - *(&D_801634FC + (arg0 * 0x10)) = 0.0f; + *(&D_801634FC + (playerId * 0x10)) = 0.0f; } - *(&D_80163504 + (arg0 * 0x10)) = 0.0f; + *(&D_80163504 + (playerId * 0x10)) = 0.0f; } temp_v0_7 = D_80163448; if (temp_v0_7 > 0) { - temp_v1_2 = (arg0 * 0x10) + &D_801634F8; + temp_v1_2 = (playerId * 0x10) + &D_801634F8; temp_v1_2->unk4 = 0.0f; temp_v1_2->unkC = 0.0f; } @@ -2541,23 +2543,23 @@ void func_80009B60(s32 arg0) { } } else { sp2C = temp_a1; - func_8001490C(arg0, temp_a1, temp_a2_2, temp_a3_2); - func_80014A60(arg0); - func_80014BB4(arg0); - func_80014D08(arg0); + func_8001490C(playerId); + func_80014A60(playerId); + func_80014BB4(playerId); + func_80014D08(playerId); var_a0 = *temp_a1; } } else { var_a0 = *temp_a1; block_63: - *(&D_801634FC + (arg0 * 0x10)) = 0.0f; + *(&D_801634FC + (playerId * 0x10)) = 0.0f; } if (var_a0 == 1) { *(&D_801630E8 + sp34) = 0; sp40->unk_0BC &= ~0x10; if ((D_80163378 & 1) != sp30) { func_8003680C(sp40, 0); - func_80008424(arg0, *(&D_80163210 + sp38), sp40); + func_80008424(playerId, *(&D_80163210 + sp38), sp40); return; } temp_v0_9 = D_8018EDF3; @@ -2565,7 +2567,7 @@ block_63: var_t0 = sp38 + &D_80163210; *var_t0 = 0x41055555; } else if (D_80162FD0 == (s16) 1U) { - temp_v1_3 = (arg0 * 0x10) + &D_801634F8; + temp_v1_3 = (playerId * 0x10) + &D_801634F8; sp30 = temp_v1_3; var_t0 = sp38 + &D_80163210; *var_t0 = *segmented_to_virtual_dupe_2((gCurrentCourseId * 0x10) + (gCCSelection * 4) + &D_0D0096B8); @@ -2578,32 +2580,32 @@ block_63: *var_t0 = *segmented_to_virtual_dupe_2((gCurrentCourseId * 0x10) + (gCCSelection * 4) + &D_0D009568); } sp3C = var_t0; - func_800131DC(arg0); - func_8000D3B8(arg0); - func_8000D438(arg0, D_801630E0); + func_800131DC(playerId); + func_8000D3B8(playerId); + func_8000D438(playerId, D_801630E0); temp_v0_10 = sp40->unk_0BC; temp_f0 = D_80162FA0.unk0 - sp40->pos[0]; var_t0_2 = var_t0; temp_f2 = D_80162FA0.unk8 - sp40->pos[2]; - if (((temp_v0_10 & 0x80) == 0) && ((temp_v0_10 & 0x40) == 0) && ((temp_v0_10 & 0x800) == 0)) { + if (!(temp_v0_10 & 0x80) && !(temp_v0_10 & 0x40) && !(temp_v0_10 & 0x800)) { if (((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) > 6400.0f) { if (D_80163448 == 0) { sp3C = var_t0_2; - func_8000B140(arg0); + func_8000B140(playerId); if (*(&D_80162FF8 + sp34) > 0) { sp3C = var_t0_2; func_8000BBD8(((s32) ((D_801630E0 + 5) & 0xFFFF) % (s32) D_80164430) & 0xFFFF, *(&D_80163090 + sp38), D_8016344A, &D_80162FA0); } } sp3C = var_t0_2; - sp40->unk_02C[1] = -func_802B5224(sp40->pos, &D_80162FA0); + sp40->unk_02E = -func_802B5224(sp40->pos, &D_80162FA0); } else { - sp40->unk_02C[1] = (s16) D_80164590[D_80163448][(s32) (D_801630E0 + 4) % (s32) D_80164430]; + sp40->unk_02E = (s16) D_80164590[D_80163448][(s32) (D_801630E0 + 4) % (s32) D_80164430]; } } sp3C = var_t0_2; func_8003680C(sp40, 0, sp40); - func_80008424(arg0, *var_t0_2, sp40); + func_80008424(playerId, *var_t0_2, sp40); return; } temp_t8 = sp34 + &D_801630E8; @@ -2656,20 +2658,20 @@ block_63: } if ((D_80163378 & 1) != sp30) { func_8003680C(sp40, *(&D_80163050 + sp34)); - func_80008424(arg0, *(&D_80163210 + sp38), sp40); + func_80008424(playerId, *(&D_80163210 + sp38), sp40); return; } sp1C = sp40->pos; temp_v1_5 = sp38 + &D_801630B8; - *temp_v1_5 = func_8000B7E4(arg0, (u16) D_80162FCE); + *temp_v1_5 = func_8000B7E4(playerId, (u16) D_80162FCE); sp28 = temp_v1_5; - func_8000D438(arg0, (u16) D_80162FCE); + func_8000D438(playerId, (u16) D_80162FCE); temp_v0_13 = gCurrentCourseId; if (temp_v0_13 != 0x0014) { temp_a1_2 = *(D_80164450 + sp38); if (temp_a1_2 < 0xB) { temp_a0_2 = D_801630E0; - temp_v1_6 = (arg0 * 0x10) + &D_801634F8; + temp_v1_6 = (playerId * 0x10) + &D_801634F8; if ((temp_a1_2 > 0) && (temp_v0_13 == 0x000A)) { sp30 = temp_v1_6; func_8000BBD8(((s32) ((temp_a0_2 + 0x14) & 0xFFFF) % (s32) D_80164430) & 0xFFFF, 0, 0); @@ -2687,7 +2689,7 @@ block_63: } if (D_80163448 == 0) { sp3C = sp34 + &D_80162FF8; - func_8000B140(arg0); + func_8000B140(playerId); if (*sp3C > 0) { func_8000BBD8(((s32) ((D_801630E0 + 5) & 0xFFFF) % (s32) D_80164430) & 0xFFFF, *(&D_80163090 + sp38), D_8016344A); } @@ -2716,7 +2718,7 @@ block_63: sp20 = temp_t0_2; *temp_v1_7 = D_80162FA0.unk8; temp_f2_2 = 1.5f * 182.0f; - temp_v1_8 = -func_802B5224(sp1C, &D_80162FA0) - sp40->unk_02C[1]; + temp_v1_8 = -func_802B5224(sp1C, &D_80162FA0) - sp40->unk_02E; temp_f10 = (s32) temp_f2_2; var_a2 = temp_v1_8; temp_f6 = (s32) (-1.5f * 182.0f); @@ -2753,7 +2755,7 @@ block_63: sp40->unk_0BC &= ~0x10; } temp_v0_18 = sp40->unk_0BC; - if ((temp_v0_18 & 2) != 0) { + if (temp_v0_18 & 2) { temp_v0_19 = (s16) *sp2C; var_a1_2 = -0x0035; if (temp_v0_19 != -1) { @@ -2767,7 +2769,7 @@ block_63: } else { var_v0_2 = sp34 + &D_80163050; } - } else if ((temp_v0_18 & 0x1000000C) != 0) { + } else if (temp_v0_18 & 0x1000000C) { var_a1_2 = 0; var_v0_2 = sp34 + &D_80163050; } else { @@ -2779,7 +2781,7 @@ block_63: sp20 = temp_t0_2; func_8003680C((bitwise Player *) 182.0f, (s16) sp40, (Player *) var_a1_2, var_a2, sp40); *var_v0_2 = var_a1_2; - if (((bitwise s32) *sp28 == 1) || (temp_v0_20 = (s16) *sp2C, (temp_v0_20 == 1)) || (temp_v0_20 == -1) || ((sp40->unk_0BC & 0x1000000C) != 0)) { + if (((bitwise s32) *sp28 == 1) || (temp_v0_20 = (s16) *sp2C, (temp_v0_20 == 1)) || (temp_v0_20 == -1) || (sp40->unk_0BC & 0x1000000C)) { sp20 = temp_t0_2; var_v1_3 = sp38 + &D_80163028; *var_v1_3 = *segmented_to_virtual_dupe_2((gCurrentCourseId * 0x10) + (gCCSelection * 4) + &D_0D009418); @@ -2804,8 +2806,8 @@ block_63: D_8016320C = *var_v1_3; sp40->unk_0BC &= 0xFFDFFFFF; *(&D_80163210 + sp38) = D_8016320C; - func_800131DC(arg0); - func_80008424(arg0, D_8016320C, sp40); + func_800131DC(playerId); + func_80008424(playerId, D_8016320C, sp40); } } } @@ -3043,9 +3045,6 @@ s32 func_8000B7E4(s32 arg0, u16 wayPointIndex) { return 0; } -extern f32 D_800ECFD8;// = 1.1f; -extern f32 D_800ECFDC;// = -1.1f; - s32 func_8000B820(s32 playerIndex) { f32 value = D_80163068[playerIndex]; // Check if value between 1.1 and -1.1 @@ -4453,19 +4452,6 @@ void func_8000DF8C(s32 arg0) { GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000DF8C.s") #endif -struct unk_41F8 { - s32 unk0; - s32 unk4; - s32 unk8; - u16 unkC; - u16 unkE; - s16 unk10; - s32 unk14; - s32 unk18; -}; -extern struct unk_41F8 D_801641F8[]; - -s32 func_8000ED14(s32, s16); s32 func_8000ED14(s32 arg0, s16 arg1) { s32 i; s32 a2 = 0; @@ -4487,8 +4473,6 @@ s32 func_8000ED14(s32 arg0, s16 arg1) { return 0; } -extern struct Actor gActorList[ACTOR_LIST_SIZE]; - s32 func_8000ED80(s32 arg0) { struct Actor *actor = &gActorList[arg0]; if (actor->type != 8) { @@ -4615,15 +4599,6 @@ block_14: GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000EF20.s") #endif - extern s16 D_80164670; -extern s16 D_80164672; -extern s16 D_80164674; -extern s16 D_80164676; -extern s16 D_80164678; -extern s16 D_8016467A; -extern s16 D_8016467C; -extern s16 D_8016467E; - void func_8000F0E0(void) { D_80164670 = 0; D_80164678 = 0; @@ -6066,11 +6041,6 @@ void func_80011A5C(void) { GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_80011A5C.s") #endif -extern s16 D_801632B8[]; -extern s16 D_801632D0[]; -extern s16 D_801632E8[]; - - void func_80011AB8(s32 index) { D_801632B8[index] = 0; D_801632D0[index] = 0; @@ -9850,8 +9820,6 @@ block_8: GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8001933C.s") #endif -extern s16 D_80164678; - void func_8001968C(void) { D_80164678 = 3; } @@ -10154,8 +10122,6 @@ void func_80019D2C(void *arg0, void *arg1, s32 arg2) { GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_80019D2C.s") #endif -extern s16 D_801646CC; - void func_80019DE4(void) { D_801646CC = 1; } @@ -10759,15 +10725,6 @@ void func_8001ABE0(s32 arg0, s32 arg1) { } -struct struct_801642D8 { - /* 0x0 */ u16 unk0; - /* 0x2 */ s16 ffff; - /* 0x4 */ s16 timer; // confirm? - /* 0x6 */ s16 laps; // confirm? - /* 0x8 */ s32 blank; - /* 0xC */ s32 unkC; -}; - void func_8001ABEC(struct struct_801642D8 *arg0) { if ((arg0->ffff < 0) || (arg0->ffff >= 100)) { arg0->unk0 = 0; @@ -11453,8 +11410,6 @@ loop_8: GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8001C14C.s") #endif -extern u16 D_80163E2A; - void func_8001C3C4(s32 arg0) { if (gCurrentCourseId == COURSE_AWARD_CEREMONY) { if (D_80163E2A >= 16) { @@ -11467,12 +11422,6 @@ void func_8001C3C4(s32 arg0) { } } -extern Gfx D_0D0076F8[]; - -extern struct Controller *gControllerThree; -extern Gfx *gDisplayListHead; -extern s32 D_800DDB20; - UNUSED void func_8001C42C(void) { if (D_800DDB20 == 0) { if ((gControllerThree->buttonPressed & 0x20) != 0) { diff --git a/src/code_80005FD0.h b/src/code_80005FD0.h index 14559c625..616e900e0 100644 --- a/src/code_80005FD0.h +++ b/src/code_80005FD0.h @@ -5,7 +5,25 @@ #include "vehicles.h" #include "waypoints.h" -// TODO: This header is missing some function prototypes +struct struct_801642D8 { + /* 0x0 */ u16 unk0; + /* 0x2 */ s16 ffff; + /* 0x4 */ s16 timer; // confirm? + /* 0x6 */ s16 laps; // confirm? + /* 0x8 */ s32 blank; + /* 0xC */ s32 unkC; +}; + +struct unk_41F8 { + s32 unk0; + s32 unk4; + s32 unk8; + u16 unkC; + u16 unkE; + s16 unk10; + s32 unk14; + s32 unk18; +}; /* Function Prototypes */ @@ -20,6 +38,7 @@ s32 func_80008E58(s32, s32); void func_80008F38(s32); void func_80009000(s32); void func_800090F0(s32, Player*); +void func_800097E0(); void func_80009B60(s32); s32 func_8000B7E4(s32, u16); s32 func_8000B820(s32); @@ -39,8 +58,17 @@ s16 func_8000D33C(f32, f32, f32, s16, s32); s16 func_8000D6D0(Vec3f, s16*, f32, f32, s32, s32); s16 func_8000D940(Vec3f, s16*, f32, f32, s32); s16 func_8000DBAC(Vec3f, s16*, f32); +s32 func_8000ED14(s32, s16); +s32 func_8000ED80(s32); +s32 func_8000EDC8(s32); +void func_8000DF8C(s32); +s32 func_8000EE10(s32); +void func_8000EE58(s32); +void func_8000EEDC(); +void func_8000EF20(); void func_8000F0E0(); void func_8000F124(); +void func_8000F2BC(struct TrackWayPoint*, s32); void func_80010218(s32); f32 func_80010480(s32, u16); void func_800107C4(s32); @@ -49,13 +77,18 @@ void func_80010DBC(s32); f32 func_80010F40(f32, f32, f32, s32); f32 func_80010FA0(f32, f32, f32, s32); s32 process_path_data(struct TrackWayPoint*, struct TrackWayPoint*); +void func_80011AB8(s32); +void func_80011AE4(s32); void func_80012220(VehicleStuff*); +void func_800122D8(); void func_80012A48(TrainCarStuff*, s16); f32 func_80013C74(s16, s16); void func_80013D20(VehicleStuff*); void func_80013F7C(s32, Player*, VehicleStuff*, f32, f32, s32, u32); f32 func_800145A8(s16, f32, s16); void func_800146B8(s32, s32, VehicleStuff*); +void func_80012AC0(); +void func_800133C4(); void func_8001487C(); void func_800148C4(s32, Player*); void func_8001490C(s32); @@ -69,9 +102,17 @@ void func_80014C78(); void func_80014CC0(s32, Player*); void func_80014D08(s32); void func_80014D30(s32, s32); +void func_8001530C(); void func_8001968C(); void func_8001C05C(); +void func_80019DE4(); +void func_8001A0A4(s32, s32, s32, s32, s32); +void func_8001A0DC(s16*, Camera*, Player*, s8, s32); +s32 func_8001A310(s32, s32); +void func_8001ABE0(s32, s32); +void func_8001ABEC(struct struct_801642D8*); void func_8001C3C4(s32); +void func_8001C42C(); /* This is where I'd put my static data, if I had any */ // 0 or 1, only 1 when when in extra (mirror) mode @@ -85,4 +126,28 @@ extern f32 D_800DCA4C[]; // See bss_80005FD0.s extern UnkActorInner D_80162E70; +extern s32 D_8016337C; +extern s32 gModeSelection; +extern f32 D_800ECFD8;// = 1.1f; +extern f32 D_800ECFDC;// = -1.1f; +extern struct unk_41F8 D_801641F8[]; +extern s16 D_80164670; +extern s16 D_80164672; +extern s16 D_80164674; +extern s16 D_80164676; +extern s16 D_80164678; +extern s16 D_8016467A; +extern s16 D_8016467C; +extern s16 D_8016467E; +extern s16 D_801632B8[]; +extern s16 D_801632D0[]; +extern s16 D_801632E8[]; +extern s16 D_801646CC; +extern u16 D_80163E2A; +extern Gfx D_0D0076F8[]; + +extern struct Controller *gControllerThree; +extern Gfx *gDisplayListHead; +extern s32 D_800DDB20; + #endif diff --git a/src/code_8001F980.c b/src/code_8001F980.c index 556c01c6e..b5bccee81 100644 --- a/src/code_8001F980.c +++ b/src/code_8001F980.c @@ -1162,7 +1162,7 @@ void func_800231D8(Player *player, s8 arg1) { if (((gNearestWaypointByPlayerId[arg1] >= 0x15) && (gNearestWaypointByPlayerId[arg1] < 0x2A)) || ((gNearestWaypointByPlayerId[arg1] >= 0x14D) && (gNearestWaypointByPlayerId[arg1] < 0x15C)) || ((gNearestWaypointByPlayerId[arg1] >= 0x1D1) && (gNearestWaypointByPlayerId[arg1] < 0x1E4)) - || (player->unk_110.unk44 >= 500.0f)) { + || (player->unk_110.unk3C[2] >= 500.0f)) { func_80022F14(player, arg1, 0x340000, 0.3f); func_80023038(player, arg1, 0x4040, 0.3f); D_80164B80[arg1] = 0; @@ -1356,7 +1356,7 @@ void func_80023C84(Player *player, s8 arg1, s8 arg2) { || ((player->unk_0BC & 0x10000) == 0x10000) || ((player->unk_0BC & 8) == 8)) { - var_f2 = (f32) (1.0 - ((f64) player->unk_110.unk44 * 0.02)); + var_f2 = (f32) (1.0 - ((f64) player->unk_110.unk3C[2] * 0.02)); if (var_f2 < 0.0f) {var_f2 = 0.0f;} if (var_f2 > 1.0f) {var_f2 = 1.0f;} spB4[0] = player->unk_110.unk60[0]; diff --git a/src/code_80027D00.c b/src/code_80027D00.c index da30bdc71..86348e80e 100644 --- a/src/code_80027D00.c +++ b/src/code_80027D00.c @@ -1435,7 +1435,7 @@ void func_8002AB70(Player *player) { move_f32_towards(&player->unk_DAC, 1.0f, 0.07f); } } else { - if (player->unk_110.unk44 >= 50.0f) { + if (player->unk_110.unk3C[2] >= 50.0f) { player->unk_DAC = 2.0f; } move_f32_towards(&player->unk_100, gKartGravityTable[player->characterId], 0.02f); @@ -2137,7 +2137,7 @@ void func_8002C17C(Player *player, s8 playerId) { case 4: temp_v0_2 = playerId * 2; temp_v1 = temp_v0_2 + &D_80165330; - if ((player->unk_110.unk44 >= 600.0f) && (*temp_v1 == 0)) { + if ((player->unk_110.unk3C[2] >= 600.0f) && (*temp_v1 == 0)) { *temp_v1 = 1; *(&D_80165320 + temp_v0_2) = gNearestWaypointByPlayerId[playerId]; *(&D_80165310 + temp_v0_2) = gPathIndexByPlayerId[playerId]; @@ -2204,7 +2204,7 @@ void func_8002C17C(Player *player, s8 playerId) { case 13: temp_v0_8 = playerId * 2; temp_v1_5 = temp_v0_8 + &D_80165330; - if ((player->unk_110.unk44 >= 600.0f) && (*temp_v1_5 == 0)) { + if ((player->unk_110.unk3C[2] >= 600.0f) && (*temp_v1_5 == 0)) { *temp_v1_5 = 1; *(&D_80165320 + temp_v0_8) = gNearestWaypointByPlayerId[playerId]; *(&D_80165310 + temp_v0_8) = gPathIndexByPlayerId[playerId]; @@ -2286,10 +2286,10 @@ void func_8002C4F8(Player *player, s8 arg1) { if ((temp_v0_2 == 6) || (temp_v0_2 == 0x0010) || (temp_v0_2 == 0x000D)) { player->unk_0DE &= 0xFFF3; } - if ((player->boundingBoxSize < (*var_a2 - player->pos[1])) && (player->unk_110.unk44 >= 600.0f)) { + if ((player->boundingBoxSize < (*var_a2 - player->pos[1])) && (player->unk_110.unk3C[2] >= 600.0f)) { player->unk_0CA |= 1; } - if (player->unk_110.unk44 >= 600.0f) { + if (player->unk_110.unk3C[2] >= 600.0f) { player->unk_0CA |= 0x100; } else if ((player->unk_0BC & 8) != 8) { player->unk_0CA &= 0xFEFF; @@ -2880,7 +2880,7 @@ void func_8002D268(Player *player, Camera *camera, s8 arg2, s8 arg3) { } player->unk_0BC |= 8; player->unk_0C2 += 1; - spA8 = player->unk_110.unk44; + spA8 = player->unk_110.unk3C[2]; if (spA8 <= 0.0f) { temp_v0_7 = player->unk_0C2; temp_t4_2 = player->unk_0BC & ~2; @@ -2937,7 +2937,7 @@ void func_8002D268(Player *player, Camera *camera, s8 arg2, s8 arg3) { player->unk_0C2 = 0; player->kartHopVelocity = (f32) player->unk_0C2; } - spA8 = player->unk_110.unk44; + spA8 = player->unk_110.unk3C[2]; if (spA8 <= 0.0f) { func_8003F46C(player, &sp8C, &sp98, &sp178, &spA8, &spFC, &spF8, &spF4); } @@ -3026,7 +3026,7 @@ void func_8002D268(Player *player, Camera *camera, s8 arg2, s8 arg3) { player->unk_034[2] *= temp_f0_9; } } - if (player->unk_110.unk44 >= 500.0f) { + if (player->unk_110.unk3C[2] >= 500.0f) { player->unk_078 = (s16) ((s16) player->unk_078 / 2); } func_8002C4F8(player, arg3); @@ -3216,7 +3216,7 @@ void func_8002E594(Player *player, Camera *camera, s8 arg2, s8 arg3) { player->unk_058 = 0.0f; player->unk_060 = 0.0f; player->unk_05C = 1.0f; - sp74 = player->unk_110.unk44; + sp74 = player->unk_110.unk3C[2]; if (sp74 <= 0.0f) { temp_t1 = player->unk_0BC & ~2; temp_t5 = temp_t1 & ~8; @@ -3287,7 +3287,7 @@ block_63: } player->kartHopVelocity = (f32) player->unk_0C2; } - sp74 = player->unk_110.unk44; + sp74 = player->unk_110.unk3C[2]; if (sp74 <= 0.0f) { func_8003F46C(player, &sp48, &sp54, &spE0, &sp74, &spD0, &spCC, &spC8); } @@ -3595,7 +3595,7 @@ void func_8002F730(Player *player, Camera *camera, s8 arg2, s8 arg3) { player->unk_05C = 1.0f; func_802B6540(sp4C, 0.0f, 1.0f, 0.0f, (s32) player->unk_02E); player->unk_0BC &= ~8; - sp78 = player->unk_110.unk44; + sp78 = player->unk_110.unk3C[2]; if (sp78 <= 0.0f) { func_8003F46C(player, &sp5C, &sp68, &spE8, &sp78, &spCC, &spC8, &spC4); } @@ -6461,7 +6461,7 @@ void func_80037CFC(Player *player, struct Controller *controller, u8 arg2) { temp_v0_2 = player->unk_0BC; if ((temp_v0_2 & 8) != 8) { func_80033AE0(player, controller, (s8) arg2); - } else if (((temp_v0_2 & 2) == 2) && (player->unk_110.unk44 <= 5.0f)) { + } else if (((temp_v0_2 & 2) == 2) && (player->unk_110.unk3C[2] <= 5.0f)) { func_80033AE0(player, controller, (s8) arg2); } temp_t4 = player->unk_0BC & ~1; @@ -6950,7 +6950,7 @@ void func_80038C6C(Player *player, Camera *camera, s8 arg2, s8 arg3) { func_802B6540(sp50, 0.0f, 1.0f, 0.0f, (s32) player->unk_02E); player->unk_0BC |= 8; player->unk_0C2 += 1; - sp98 = player->unk_110.unk44; + sp98 = player->unk_110.unk3C[2]; if (sp98 <= 0.0f) { player->unk_0C2 = 0; temp_t6 = player->unk_0BC & ~2; @@ -6958,7 +6958,7 @@ void func_80038C6C(Player *player, Camera *camera, s8 arg2, s8 arg3) { player->unk_0BC = temp_t6 & ~8; player->kartHopVelocity = (f32) player->unk_0C2; } - sp98 = player->unk_110.unk44; + sp98 = player->unk_110.unk3C[2]; if (sp98 <= 0.0f) { func_8003F46C(player, &sp7C, &sp88, &sp108, &sp98, &spEC, &spE8, &spE4); } @@ -7018,7 +7018,7 @@ void func_80038C6C(Player *player, Camera *camera, s8 arg2, s8 arg3) { player->unk_034[2] *= temp_f0_4; } } - if (player->unk_110.unk44 >= 500.0f) { + if (player->unk_110.unk3C[2] >= 500.0f) { player->unk_078 = (s16) ((s16) player->unk_078 / 2); } func_8002C4F8(player, arg3); diff --git a/src/code_8003DC40.c b/src/code_8003DC40.c index f6def030b..a3f029b26 100644 --- a/src/code_8003DC40.c +++ b/src/code_8003DC40.c @@ -59,9 +59,9 @@ UNUSED void func_8003DE4C(Player *player, Vec3f arg1) { } void func_8003E048(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7) { - *arg5 += arg1[0] * player->unk_110.unk44 * 1; - *arg6 += arg1[1] * player->unk_110.unk44 * 0.1; - *arg7 += arg1[2] * player->unk_110.unk44 * 1; + *arg5 += arg1[0] * player->unk_110.unk3C[2] * 1; + *arg6 += arg1[1] * player->unk_110.unk3C[2] * 0.1; + *arg7 += arg1[2] * player->unk_110.unk3C[2] * 1; func_8002A5F4(arg1, *arg4, arg2, 1, 2); if (player->unk_110.unk60[1] <= 0.8829f) { arg3[0] = ((player->unk_206 / 182) * 0xB4); @@ -85,9 +85,9 @@ void func_8003E048(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 } void func_8003E37C(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7) { - *arg5 += arg1[0] * player->unk_110.unk44 * 1; - *arg6 += arg1[1] * player->unk_110.unk44 * 0.2; - *arg7 += arg1[2] * player->unk_110.unk44 * 1; + *arg5 += arg1[0] * player->unk_110.unk3C[2] * 1; + *arg6 += arg1[1] * player->unk_110.unk3C[2] * 0.2; + *arg7 += arg1[2] * player->unk_110.unk3C[2] * 1; func_8002A5F4(arg1, *arg4, arg2, 0.5f, 2); if ((player->unk_110.unk60[1] <= 0.7318f) || (player->unk_0F8 == 0x000C)) { arg3[0] = ((player->unk_206 / 182) * 0xB4); @@ -113,9 +113,9 @@ void func_8003E37C(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 } void func_8003E6EC(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7) { - *arg5 += arg1[0] * player->unk_110.unk44 * 1; - *arg6 += arg1[1] * player->unk_110.unk44 * 0.1; - *arg7 += arg1[2] * player->unk_110.unk44 * 1; + *arg5 += arg1[0] * player->unk_110.unk3C[2] * 1; + *arg6 += arg1[1] * player->unk_110.unk3C[2] * 0.1; + *arg7 += arg1[2] * player->unk_110.unk3C[2] * 1; func_8002A5F4(arg1, *arg4, arg2, 0.5f, 2); if (player->unk_110.unk60[1] <= 0.8829f) { arg3[0] = ((player->unk_206 / 182) * 0xB4); @@ -134,9 +134,9 @@ void func_8003E6EC(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 } void func_8003E9EC(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7) { - *arg5 += arg1[0] * player->unk_110.unk44 * 1; - *arg6 += arg1[1] * player->unk_110.unk44 * 0.1; - *arg7 += arg1[2] * player->unk_110.unk44 * 1; + *arg5 += arg1[0] * player->unk_110.unk3C[2] * 1; + *arg6 += arg1[1] * player->unk_110.unk3C[2] * 0.1; + *arg7 += arg1[2] * player->unk_110.unk3C[2] * 1; func_8002A5F4(arg1, *arg4, arg2, 1.2f, 2); if (player->unk_110.unk60[1] <= 0.8357f) { arg3[0] = ((player->unk_206 / 182) * 0x78); @@ -165,9 +165,9 @@ void func_8003E9EC(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 } void func_8003EE2C(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7) { - *arg5 += arg1[0] * player->unk_110.unk44 * 1; - *arg6 += arg1[1] * player->unk_110.unk44 * 0.1; - *arg7 += arg1[2] * player->unk_110.unk44 * 1; + *arg5 += arg1[0] * player->unk_110.unk3C[2] * 1; + *arg6 += arg1[1] * player->unk_110.unk3C[2] * 0.1; + *arg7 += arg1[2] * player->unk_110.unk3C[2] * 1; func_8002A5F4(arg1, *arg4, arg2, 0.5f, 2); if (player->unk_110.unk60[1] <= 0.8357f) { arg3[0] = ((player->unk_206 / 182) * 0x78); @@ -186,9 +186,9 @@ void func_8003EE2C(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 } void func_8003F138(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6, f32 *arg7) { - *arg5 += arg1[0] * player->unk_110.unk44 * 1; - *arg6 += arg1[1] * player->unk_110.unk44 * 0.1; - *arg7 += arg1[2] * player->unk_110.unk44 * 1; + *arg5 += arg1[0] * player->unk_110.unk3C[2] * 1; + *arg6 += arg1[1] * player->unk_110.unk3C[2] * 0.1; + *arg7 += arg1[2] * player->unk_110.unk3C[2] * 1; func_8002A5F4(arg1, *arg4, arg2, 0.5f, 2); if (player->unk_0F8 == 8) { player->unk_044 &= ~1; @@ -217,9 +217,9 @@ void func_8003F46C(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 arg1[1] = -player->unk_110.unk60[1]; arg1[2] = -player->unk_110.unk60[2]; if ((player->unk_110.unk60[1] < 0.0f) && ((player->unk_0CA & 2) == 0)) { - *arg5 += arg1[0] * player->unk_110.unk44 * 1; - *arg6 += arg1[1] * player->unk_110.unk44 * 1; - *arg7 += arg1[2] * player->unk_110.unk44 * 1; + *arg5 += arg1[0] * player->unk_110.unk3C[2] * 1; + *arg6 += arg1[1] * player->unk_110.unk3C[2] * 1; + *arg7 += arg1[2] * player->unk_110.unk3C[2] * 1; func_8002A5F4(arg1, *arg4, arg2, 1.2f, 0.0f); player->kartHopJerk = 0.0f; player->kartHopAcceleration = 0.0f; @@ -265,39 +265,39 @@ void func_8003F734(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 arg1[1] = -player->unk_110.unk48[1]; arg1[2] = -player->unk_110.unk48[2]; if (player->unk_110.unk48[1] == 0) { - *arg4 += arg1[0] * player->unk_110.unk3C * 1; - *arg5 += arg1[1] * player->unk_110.unk3C * 0.1; - *arg6 += arg1[2] * player->unk_110.unk3C * 1; + *arg4 += arg1[0] * player->unk_110.unk3C[0] * 1; + *arg5 += arg1[1] * player->unk_110.unk3C[0] * 0.1; + *arg6 += arg1[2] * player->unk_110.unk3C[0] * 1; if ((player->unk_0C4 < 0) && (((player->unk_094 / 18.0f) * 216.0f) < 10.0f)) { func_8002A5F4(arg1, *arg3, arg2, 2.5f, 0); } else { func_8002A5F4(arg1, *arg3, arg2, 0.5f, 0); } } else if (player->unk_110.unk48[1] <= 0.5) { - *arg4 += arg1[0] * player->unk_110.unk3C * 1; - *arg5 += arg1[1] * player->unk_110.unk3C * 0.1; - *arg6 += arg1[2] * player->unk_110.unk3C * 1; + *arg4 += arg1[0] * player->unk_110.unk3C[0] * 1; + *arg5 += arg1[1] * player->unk_110.unk3C[0] * 0.1; + *arg6 += arg1[2] * player->unk_110.unk3C[0] * 1; func_8002A5F4(arg1, *arg3, arg2, 1, 0); if (((player->unk_0BC << 0xF) >= 0) && ((player->unk_0BC & 8) == 0)) { arg2[1] *= -1e-05; } } else { - *arg4 += arg1[0] * player->unk_110.unk3C * 1; - temp_f0_2 = arg1[1] * player->unk_110.unk3C; + *arg4 += arg1[0] * player->unk_110.unk3C[0] * 1; + temp_f0_2 = player->unk_110.unk3C[0] * arg1[1]; if (temp_f0_2 < 0) { *arg5 += temp_f0_2 * 0.1; } else { *arg5 += temp_f0_2 * 0; } - *arg6 += arg1[2] * player->unk_110.unk3C * 1; + *arg6 += arg1[2] * player->unk_110.unk3C[0] * 1; func_8002A5F4(arg1, *arg3, arg2, 1.2f, 0); if (((player->unk_0BC << 0xF) >= 0) && ((player->unk_0BC & 8) == 0)) { arg2[1] *= -1e-05; } } player->unk_0BC &= ~0x10; - temp_f12 = arg1[0] * player->unk_110.unk3C; - temp_f14 = arg1[2] * player->unk_110.unk3C; + temp_f12 = player->unk_110.unk3C[0] * arg1[0]; + temp_f14 = player->unk_110.unk3C[0] * arg1[2]; if (((temp_f12 >= 0) && (temp_f14 >= 0)) || ((temp_f12 < 0) && (temp_f14 >= 0))) { temp_f0_2 = player->boundingBoxSize / 2; player->unk_218 = *arg4 - temp_f12 - temp_f0_2; @@ -319,39 +319,39 @@ void func_8003FBAC(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 arg1[1] = -player->unk_110.unk54[1]; arg1[2] = -player->unk_110.unk54[2]; if (player->unk_110.unk54[1] == 0) { - *arg4 += arg1[0] * player->unk_110.unk40 * 1; - *arg5 += arg1[1] * player->unk_110.unk40 * 0.1; - *arg6 += arg1[2] * player->unk_110.unk40 * 1; + *arg4 += arg1[0] * player->unk_110.unk3C[1] * 1; + *arg5 += arg1[1] * player->unk_110.unk3C[1] * 0.1; + *arg6 += arg1[2] * player->unk_110.unk3C[1] * 1; if ((player->unk_0C4 < 0) && (((player->unk_094 / 18.0f) * 216.0f) < 10.0f)) { func_8002A5F4(arg1, *arg3, arg2, 1.5f, 0); } else { func_8002A5F4(arg1, *arg3, arg2, 0.5f, 0); } } else if (player->unk_110.unk54[1] <= 0.5) { - *arg4 += arg1[0] * player->unk_110.unk40 * 1; - *arg5 += arg1[1] * player->unk_110.unk40 * 0.1; - *arg6 += arg1[2] * player->unk_110.unk40 * 1; + *arg4 += arg1[0] * player->unk_110.unk3C[1] * 1; + *arg5 += arg1[1] * player->unk_110.unk3C[1] * 0.1; + *arg6 += arg1[2] * player->unk_110.unk3C[1] * 1; func_8002A5F4(arg1, *arg3, arg2, 1, 0); if (((player->unk_0BC << 0xF) >= 0) && ((player->unk_0BC & 8) == 0)) { arg2[1] *= -1e-05; } } else { - *arg4 += arg1[0] * player->unk_110.unk40 * 1; - temp_f0_2 = arg1[1] * player->unk_110.unk40; + *arg4 += arg1[0] * player->unk_110.unk3C[1] * 1; + temp_f0_2 = player->unk_110.unk3C[1] * arg1[1]; if (temp_f0_2 < 0) { *arg5 += temp_f0_2 * 0.1; } else { *arg5 += temp_f0_2 * 0; } - *arg6 += arg1[2] * player->unk_110.unk40 * 1; + *arg6 += arg1[2] * player->unk_110.unk3C[1] * 1; func_8002A5F4(arg1, *arg3, arg2, 1.2f, 0); if (((player->unk_0BC << 0xF) >= 0) && ((player->unk_0BC & 8) == 0)) { arg2[1] *= -1e-05; } } player->unk_0BC &= ~0x10; - temp_f12 = arg1[0] * player->unk_110.unk40; - temp_f14 = arg1[2] * player->unk_110.unk40; + temp_f12 = player->unk_110.unk3C[1] * arg1[0]; + temp_f14 = player->unk_110.unk3C[1] * arg1[2]; if (((temp_f12 >= 0) && (temp_f14 >= 0)) || ((temp_f12 >= 0) && (temp_f14 < 0))) { temp_f0_2 = player->boundingBoxSize / 2; player->unk_218 = *arg4 - temp_f12 - temp_f0_2; diff --git a/src/code_800431B0.h b/src/code_800431B0.h index 933c3df85..88dec4280 100644 --- a/src/code_800431B0.h +++ b/src/code_800431B0.h @@ -264,6 +264,7 @@ void func_8004FC78(s16, s16, s8); void func_80050320(); void func_800514BC(); +void func_80051638(s32); void func_800517C8(); void func_80051EBC(); void func_80051EF8(); @@ -271,20 +272,41 @@ void func_80051F9C(); void func_80052044(); void func_80052080(); +void func_8005217C(s32); +void func_800524B4(s32); +void func_800527D8(s32); +void func_80052590(s32); void func_80052C60(); +void func_80052E30(s32); void func_8005327C(s32); void func_800532A4(s32); +void func_80053870(s32); +void func_80053E6C(s32); +void func_800541BC(s32); +void func_80054414(s32); +void func_80054664(s32); +void func_80054938(s32); void func_80054BE8(s32); +void func_800550A4(s32); +void func_80055228(s32); +void func_80055380(s32); +void func_80055528(s32); +void func_8005568C(s32); void func_800557AC(); +void func_8005592C(s32); +void func_80055C38(s32); +void func_80055E68(s32); void func_80055F48(s32); void func_80056160(s32); +void func_80056188(s32); void func_800569F4(s32); void func_80056A40(s32, s32); void func_80056A94(s32); +void func_80056AC0(s32); void func_80057330(); void func_80057338(); diff --git a/src/code_80057C60.c b/src/code_80057C60.c index d43056c0e..030b25f57 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -13,7 +13,7 @@ #include "code_80071F00.h" #include "code_80086E70.h" #include "code_8008C1D0.h" -//#include "skybox_and_splitscreen.h" <- TODO: create this header file +#include "skybox_and_splitscreen.h" // UI Code? void func_80057C60(void) { @@ -54,8 +54,6 @@ void func_80057CE4(void) { } } -extern s8 D_801657B2; - void func_80057DD0(void) { if (D_801657B2 != 0) { func_8004C024(0xF, 0xB, 0x122, 0, 0xFF, 0, 0xFF); @@ -73,9 +71,6 @@ void func_80057DD0(void) { } } -extern u8 D_0D0076F8; -extern s8 D_801657C8; -extern s8 D_801657B0; void func_80057FC4(u32 arg0) { UNUSED Gfx *temp_v1; @@ -110,8 +105,6 @@ void func_80057FC4(u32 arg0) { } -extern s32 D_8018D22C; - void func_80058090(u32 arg0) { UNUSED Gfx *temp_v1; @@ -166,9 +159,6 @@ void func_80058090(u32 arg0) { } } -void func_8005217C(s32); -extern s32 gGamestate; -extern u16 D_800DC51C; void func_800581C8(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); @@ -297,33 +287,6 @@ void func_8005884C(void) { func_80058B58(3); } -void func_80051638(s32); - -void func_800524B4(s32); -void func_80052590(s32); -void func_800527D8(s32); -void func_80052E30(s32); -void func_8005327C(s32); -void func_80053870(s32); -void func_80053E6C(s32); -void func_800541BC(s32); -void func_80054414(s32); -void func_80054664(s32); -void func_80054938(s32); -void func_800550A4(s32); -void func_80055228(s32); -void func_80055380(s32); -void func_80055528(s32); -void func_8005568C(s32); -void func_8005592C(s32); -void func_80055C38(s32); -void func_80055E68(s32); -void func_80056188(s32); -void func_80056AC0(s32); -extern s16 D_80165730; -extern s8 D_8018EDF3; -extern s8 D_80165898; - void func_800588F4(s32 arg0) { switch (gCurrentCourseId) { @@ -422,8 +385,6 @@ void func_800588F4(s32 arg0) { } } -extern u16 D_8015F894; - void func_80058B58() { switch(gCurrentCourseId) { case 5: @@ -441,8 +402,6 @@ void func_80058B58() { } } -extern u8 D_0D0076F8; - void func_80058BF4(void) { gSPDisplayList(gDisplayListHead++, &D_0D0076F8); } @@ -582,19 +541,12 @@ void func_80058DB4(u32 arg0) { } } -extern s8 D_801657B0; - void func_80058F48(void) { if (D_801657B0 == 0) { func_80041EF4(); } } -extern s8 D_801657D8; -extern s8 D_801657E4; -extern s8 D_801657E6; -extern s32 D_8018D188; - void func_80058F78(void) { if (D_801657B0 == 0) { func_80041EF4(); @@ -616,8 +568,6 @@ void func_80059024(void) { } -extern s32 D_8018D2AC; - void func_8005902C(void) { if (D_8018D2AC != 0) { @@ -641,8 +591,6 @@ void func_8005902C(void) { } } -extern s32 D_8018D2A4; - void func_800590D4(void) { if (D_8018D2A4 != 0) { if (gModeSelection != 3) { @@ -673,14 +621,6 @@ void func_800590D4(void) { } } -extern u16 D_800DC5B8; -extern s8 D_801657E8; -extern s8 D_801657F0; -extern s8 D_80165800; -extern s8 D_80165801; -extern s32 D_8018D188; -extern s32 D_8018D2BC; - void func_800591B4(void) { if ((D_801657B0 == 0) && (D_800DC5B8 != 0)) { @@ -775,9 +715,6 @@ void func_800593F8(void) { GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800593F8.s") #endif -extern s8 D_80165800; -extern s32 D_8018D188; - void func_80059488(s32 arg0) { if ((gModeSelection != BATTLE) && (*(&D_80165800 + arg0) == 0) && (D_8018D188 != 0)) { func_8004FA78(arg0); @@ -790,8 +727,6 @@ void func_800594F0(void) { } -extern s8 D_801657B0; - void func_800594F8(void) { if (D_801657B0 == 0) { func_80059488(0); @@ -848,8 +783,6 @@ void func_80059560(s32 playerId) { GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059560.s") #endif -extern s8 D_801657B0; - void func_800596A8(void) { if (D_801657B0 == 0) { func_80041EF4(); @@ -867,8 +800,6 @@ void func_80059710(void) { } -extern s8 D_801657B0; - void func_80059718(void) { if (D_801657B0 == 0) { func_80041EF4(); @@ -876,16 +807,12 @@ void func_80059718(void) { } } -extern s8 D_801657B0; - void func_80059750(void) { if (D_801657B0 == 0) { func_80041EF4(); } } -extern s8 D_801657B0; - void func_80059780(void) { if (D_801657B0 == 0) { func_80041EF4(); @@ -893,16 +820,12 @@ void func_80059780(void) { } } -extern s8 D_801657B0; - void func_800597B8(void) { if (D_801657B0 == 0) { func_80041EF4(); } } -extern s8 D_801657B0; - void func_800597E8(void) { if (D_801657B0 == 0) { func_80041EF4(); @@ -931,8 +854,6 @@ void func_80059820(s32 playerId) { GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059820.s") #endif -extern u8 D_801658FF; -extern struct Controller *gControllerOne; void func_800598D4(s32 arg0) { struct Controller *controller = &gControllerOne[arg0]; @@ -947,8 +868,6 @@ void func_800598D4(s32 arg0) { } } -extern s32 D_8018D214; - void func_8005994C(void) { D_8018D214 = 1; } @@ -2507,7 +2426,6 @@ void func_8005C64C(s32 arg0) { void func_8005C654(s32 *arg0) { *arg0 = 0; } -extern s32 D_8018D2C8[]; void func_8005C65C(s32 arg0) { D_8018D2C8[arg0] = 1; diff --git a/src/code_80057C60.h b/src/code_80057C60.h index d0d70ef5e..d3ae7feef 100644 --- a/src/code_80057C60.h +++ b/src/code_80057C60.h @@ -76,6 +76,8 @@ void func_8005B914(); void func_8005C360(f32); void func_8005C64C(s32); +void func_8005C654(s32*); +void func_8005C65C(s32); void func_8005C6B4(s8, s16*, s16*, s16*); void func_8005C728(); void func_8005CB60(s32, s32); @@ -84,6 +86,25 @@ void func_8005D0FC(s32); void func_8005D18C(); void func_8005D1F4(s32); +void func_8005D6C0(Player*); +void func_8005D794(Player*, UnkPlayerStruct258*, f32, f32, f32, s8, s8); +void func_8005D7D8(UnkPlayerStruct258*, s8, f32); +void func_8005D800(UnkPlayerStruct258*, s32, s16); +void func_8005D82C(UnkPlayerStruct258*, s32, s16); +void func_8005D898(Player*, s16, s8, s8); +void func_8005DAD0(); +void func_8005DAD8(UnkPlayerStruct258*, s16, s16, s16); +void func_80060F50(Player*, s16, s8, s8); +void func_80061094(Player*, s16, s8, s8); +void func_80061130(Player*, s16, s8, s8); +void func_800621BC(Player*, s16, s32, s8); +void func_80062484(Player*, UnkPlayerStruct258*, s32); +void func_800628C0(Player*, s8, s8, s8); +void func_80062914(Player*, s8, s8, s8); +void func_80062968(Player*, s8, s8, s8); +void func_800629BC(Player*, s8, s8, s8); +void func_80062A18(Player*, s8, s8, s8); +void func_80062AA8(Player*, s8, s8, s8); void func_80062B18(f32*, f32*, f32*, f32, f32, f32, u16, u16); void func_80062F98(Player*, s16, s8, s8); @@ -96,6 +117,7 @@ void func_800639DC(Player*, s16, s8, s8); void func_80063BD4(Player*, s16, s8, s8); void func_80063D58(Player*, s16, s8, s8); +void func_80064184(Player*, s16, s8, s8); void func_800643A8(Player*, s16, s8, s8); void func_800647C8(Player*, s16, s8, s8); void func_800648E4(Player*, s16, s8, s8); @@ -153,10 +175,30 @@ void func_8006E848(Player*, s8, s8); void func_8006E8C4(Player*, s8, s8); void func_8006E940(Player*, s8, s8); -// skybox_and_splitscreen -void func_802A3730(struct UnkStruct_800DC5EC*); +extern s8 D_801657B2; +extern s8 D_801657C8; +extern s32 D_8018D22C; +extern s32 gGamestate; +extern u16 D_800DC51C; +extern s16 D_80165730; +extern s8 D_8018EDF3; +extern s8 D_80165898; +extern u16 D_8015F894; +extern Gfx D_0D0076F8[]; +extern s8 D_801657E4; +extern s8 D_801657E6; +extern s32 D_8018D2AC; +extern u16 D_800DC5B8; +extern s8 D_801657F0; +extern s8 D_80165800; +extern s8 D_80165801; +extern s8 D_801657B0; +extern u8 D_801658FF; +extern struct Controller *gControllerOne; +extern s32 D_8018D214; +extern s32 D_8018D2C8[]; extern u16 gPlayerBalloonStatus[8][3]; // D_8018D5F0 extern s16 gPlayerBalloonCount[]; // D_8018D8C0 diff --git a/src/code_8006E9C0.c b/src/code_8006E9C0.c index 541611ff6..b83cad1f1 100644 --- a/src/code_8006E9C0.c +++ b/src/code_8006E9C0.c @@ -389,233 +389,224 @@ GLOBAL_ASM("asm/non_matchings/code_8006E9C0/func_8006EF60.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc ? func_8006EEE8(s16); /* extern */ -s32 func_802A84F4(? *, ?, ?, s16); /* extern */ extern ? D_0F0D0E50; -extern ? gTextureExhaust0; -extern ? gTextureExhaust1; -extern ? gTextureExhaust2; -extern ? gTextureExhaust3; -extern ? gTextureExhaust4; -extern ? gTextureExhaust5; +extern s32 D_801655C8; +extern s16 D_80165718; +extern s16 D_80165720; +extern s16 D_80165728; +extern s32 D_80165880; +extern f32 D_8018D01C; +extern s32 D_8018D220; +extern f32 D_8018D2A0; +extern s16 D_8018D2B0; +extern s16 D_8018D2C0; +extern s16 D_8018D2D8; +extern s16 D_8018D2E0; +extern s16 D_8018D2E8; +extern s16 D_8018D300; +extern s16 D_8018D308; +extern s16 D_8018D310; +extern s16 D_8018D318; +static ? gTextureExhaust0; /* unable to generate initializer */ +static ? gTextureExhaust1; /* unable to generate initializer */ +static ? gTextureExhaust2; /* unable to generate initializer */ +static ? gTextureExhaust3; /* unable to generate initializer */ +static ? gTextureExhaust4; /* unable to generate initializer */ +static ? gTextureExhaust5; /* unable to generate initializer */ s16 gCurrentCourseId; /* unable to generate initializer */ void func_8006F008(void) { s16 temp_a0; + s16 var_t9; s8 temp_v0; - u32 phi_a0; - s16 phi_t9; - s16 *phi_v1; - s16 *phi_t0; D_801655C8 = 0; D_8018D01C = 1.0f; if (gIsMirrorMode != 0) { D_8018D01C = -1.0f; } - D_8018D2C0 = 0x101; - D_8018D2D8 = 0xAA; - D_8018D300 = 0xFF; - D_8018D308 = 0xFF; + D_8018D2C0.unk0 = 0x0101; + D_8018D2D8.unk0 = 0x00AA; + D_8018D300 = 0x00FF; + D_8018D308 = 0x00FF; temp_a0 = gCurrentCourseId; - D_8018D310 = 0xFF; - D_8018D318 = 0xFF; - phi_a0 = temp_a0; + D_8018D310 = 0x00FF; + D_8018D318 = 0x00FF; if (temp_a0 < 0x14) { func_8006EEE8(temp_a0); - phi_a0 = gCurrentCourseId; } - phi_v1 = &D_8018D2C0; - phi_t0 = &D_8018D2D8; - switch (phi_a0) { + switch ((u32) gCurrentCourseId) { case 0: - D_8018D220 = func_802A84F4(&gTextureExhaust5, 0x443, 0x1000, 0xFF); + D_8018D220 = func_802A84F4((s32) &gTextureExhaust5, 0x00000443U, 0x00001000U); D_8018D2A0 = 0.022f; D_8018D2E0 = 6; - D_8018D2E8 = 0x1C; - D_8018D2C0 = 0x104; - D_8018D2D8 = 0xAA; + D_8018D2E8 = 0x001C; + D_8018D2C0.unk0 = 0x0104; + D_8018D2D8.unk0 = 0x00AA; D_80165718 = 0; D_80165720 = 5; - D_80165728 = -0xF0; - phi_v1 = &D_8018D2C0; - phi_t0 = &D_8018D2D8; + D_80165728 = -0x00F0; break; case 1: D_8018D2A0 = 0.022f; - D_8018D2C0 = 0x109; - D_8018D2E0 = 0x13; - phi_t9 = 0x25; + D_8018D2C0.unk0 = 0x0109; + D_8018D2E0 = 0x0013; + var_t9 = 0x0025; block_26: - D_8018D2E8 = phi_t9; + D_8018D2E8 = var_t9; break; case 2: - D_8018D2C0 = 0x109; + D_8018D2C0.unk0 = 0x0109; D_8018D2A0 = 0.0174f; - D_8018D2E0 = 0xC; - D_8018D2E8 = 0x30; + D_8018D2E0 = 0x000C; + D_8018D2E8 = 0x0030; break; case 3: - D_80165880 = func_802A84F4(&D_0F0D0E50, 0x4CC2, 0xD980, 0xFF); + D_80165880 = func_802A84F4((s32) &D_0F0D0E50, 0x00004CC2U, 0x0000D980U); D_8018D2A0 = 0.016f; - D_8018D2C0 = 0x106; - D_8018D2E0 = 0x37; - D_8018D2E8 = 0x27; - phi_v1 = &D_8018D2C0; - phi_t0 = &D_8018D2D8; + D_8018D2C0.unk0 = 0x0106; + D_8018D2E0 = 0x0037; + D_8018D2E8 = 0x0027; break; case 4: - D_8018D220 = func_802A84F4(&gTextureExhaust0, 0x479, 0xC00, 0xFF); + D_8018D220 = func_802A84F4((s32) &gTextureExhaust0, 0x00000479U, 0x00000C00U); D_8018D2A0 = 0.018f; - D_8018D2E0 = 0x3D; - D_8018D2E8 = 0x26; - phi_v1 = &D_8018D2C0; - phi_t0 = &D_8018D2D8; + D_8018D2E0 = 0x003D; + D_8018D2E8 = 0x0026; break; case 5: - D_8018D2C0 = 0x106; + D_8018D2C0.unk0 = 0x0106; D_8018D2A0 = 0.016f; - D_8018D2E0 = 0x24; - D_8018D2E8 = 0x28; - D_8018D300 = 0x48; - D_8018D308 = 0x64; - D_8018D310 = 0xFF; + D_8018D2E0 = 0x0024; + D_8018D2E8 = 0x0028; + D_8018D300 = 0x0048; + D_8018D308 = 0x0064; + D_8018D310 = 0x00FF; break; case 6: - D_8018D220 = func_802A84F4(&gTextureExhaust3, 0x3C8, 0x1000, 0xFF); + D_8018D220 = func_802A84F4((s32) &gTextureExhaust3, 0x000003C8U, 0x00001000U); D_8018D2A0 = 0.014f; - D_8018D2C0 = 0x10C; - D_8018D2E0 = 0x28; - D_8018D2E8 = 0x15; - phi_v1 = &D_8018D2C0; - phi_t0 = &D_8018D2D8; + D_8018D2C0.unk0 = 0x010C; + D_8018D2E0 = 0x0028; + D_8018D2E8 = 0x0015; break; case 7: - D_8018D220 = func_802A84F4(&gTextureExhaust4, 0x3F8, 0x1000, 0xFF); - D_8018D2C0 = 0x106; + D_8018D220 = func_802A84F4((s32) &gTextureExhaust4, 0x000003F8U, 0x00001000U); + D_8018D2C0.unk0 = 0x0106; D_8018D2A0 = 0.014f; - D_8018D2E0 = 0x25; - D_8018D2E8 = 0x32; - D_80165718 = -0x40; + D_8018D2E0 = 0x0025; + D_8018D2E8 = 0x0032; + D_80165718 = -0x0040; D_80165720 = 5; - D_80165728 = -0x14A; - phi_v1 = &D_8018D2C0; - phi_t0 = &D_8018D2D8; + D_80165728 = -0x014A; break; case 8: - D_8018D220 = func_802A84F4(&gTextureExhaust2, 0x4F4, 0xC00, 0xFF); + D_8018D220 = func_802A84F4((s32) &gTextureExhaust2, 0x000004F4U, 0x00000C00U); D_8018D2A0 = 0.0155f; - D_8018D2C0 = 0x10F; - D_8018D2E0 = 0x2D; - D_8018D2E8 = 0x3C; - D_80165718 = -0x8C; - D_80165720 = -0x2C; - D_80165728 = -0xD7; - phi_v1 = &D_8018D2C0; - phi_t0 = &D_8018D2D8; + D_8018D2C0.unk0 = 0x010F; + D_8018D2E0 = 0x002D; + D_8018D2E8 = 0x003C; + D_80165718 = -0x008C; + D_80165720 = -0x002C; + D_80165728 = -0x00D7; break; case 9: - D_8018D220 = func_802A84F4(&gTextureExhaust0, 0x479, 0xC00, 0xFF); + D_8018D220 = func_802A84F4((s32) &gTextureExhaust0, 0x00000479U, 0x00000C00U); D_8018D2A0 = 0.0155f; - D_8018D2C0 = 0x10F; - D_8018D2E0 = 0x12; - D_8018D2E8 = 0x24; - phi_v1 = &D_8018D2C0; - phi_t0 = &D_8018D2D8; + D_8018D2C0.unk0 = 0x010F; + D_8018D2E0 = 0x0012; + D_8018D2E8 = 0x0024; break; case 10: D_8018D2A0 = 0.013f; - D_8018D2C0 = 0xFC; - D_8018D2E0 = 0x39; - D_8018D2E8 = 0x2C; + D_8018D2C0.unk0 = 0x00FC; + D_8018D2E0 = 0x0039; + D_8018D2E8 = 0x002C; break; case 11: - D_8018D2C0 = 0x107; - D_8018D2D8 = 0xA5; - D_8018D220 = func_802A84F4(&gTextureExhaust5, 0x443, 0x1000, 0xFF); + D_8018D2C0.unk0 = 0x0107; + D_8018D2D8.unk0 = 0x00A5; + D_8018D220 = func_802A84F4((s32) &gTextureExhaust5, 0x00000443U, 0x00001000U); D_8018D2A0 = 0.015f; - D_8018D2E0 = 0x37; - D_8018D2E8 = 0x1B; - phi_v1 = &D_8018D2C0; - phi_t0 = &D_8018D2D8; + D_8018D2E0 = 0x0037; + D_8018D2E8 = 0x001B; break; case 12: - D_8018D220 = func_802A84F4(&gTextureExhaust1, 0x485, 0xC00, 0xFF); + D_8018D220 = func_802A84F4((s32) &gTextureExhaust1, 0x00000485U, 0x00000C00U); D_8018D2A0 = 0.015f; - D_8018D2C0 = 0x106; - D_8018D2E0 = 0x34; - D_8018D2E8 = 0x21; - D_8018D300 = 0x48; - D_8018D308 = 0x64; - D_8018D310 = 0xFF; - phi_v1 = &D_8018D2C0; - phi_t0 = &D_8018D2D8; + D_8018D2C0.unk0 = 0x0106; + D_8018D2E0 = 0x0034; + D_8018D2E8 = 0x0021; + D_8018D300 = 0x0048; + D_8018D308 = 0x0064; + D_8018D310 = 0x00FF; break; case 13: D_8018D2A0 = 0.0103f; - D_8018D2C0 = 0x105; - D_8018D2D8 = 0xA6; - D_8018D2E0 = 0x27; - D_8018D2E8 = 0x37; + D_8018D2C0.unk0 = 0x0105; + D_8018D2D8.unk0 = 0x00A6; + D_8018D2E0 = 0x0027; + D_8018D2E8 = 0x0037; break; case 14: D_8018D2A0 = 0.0155f; - D_8018D2C0 = 0x106; - D_8018D2E0 = 0x35; - D_8018D2E8 = 0x23; + D_8018D2C0.unk0 = 0x0106; + D_8018D2E0 = 0x0035; + D_8018D2E8 = 0x0023; break; case 15: D_8018D2A0 = 0.0335f; - D_8018D2E0 = 0x20; - D_8018D2E8 = 0x20; + D_8018D2E0 = 0x0020; + D_8018D2E8 = 0x0020; break; case 16: D_8018D2A0 = 0.0445f; - D_8018D2E0 = 0x20; - D_8018D2E8 = 0x20; + D_8018D2E0 = 0x0020; + D_8018D2E8 = 0x0020; break; case 17: D_8018D2A0 = 0.0285f; - D_8018D2E0 = 0x20; - D_8018D2E8 = 0x20; + D_8018D2E0 = 0x0020; + D_8018D2E8 = 0x0020; break; case 18: D_8018D2A0 = 0.0155f; - D_8018D2C0 = 0xFF; - D_8018D2E0 = 0x1D; - D_8018D2E8 = 0x2F; + D_8018D2C0.unk0 = 0x00FF; + D_8018D2E0 = 0x001D; + D_8018D2E8 = 0x002F; break; case 19: D_8018D2A0 = 0.0257f; - D_8018D2E0 = 0x20; - phi_t9 = 0x1F; + D_8018D2E0 = 0x0020; + var_t9 = 0x001F; goto block_26; } if (gIsMirrorMode != 0) { D_8018D2E0 = D_8018D2B0 - D_8018D2E0; } temp_v0 = D_8018EDF3; - if (temp_v0 == FOUR_PLAYERS_SELECTED) { - phi_v1->unk0 = 0xA0; - phi_t0->unk0 = 0x78; + if (temp_v0 == 4) { + D_8018D2C0.unk0 = 0x00A0; + D_8018D2D8.unk0 = 0x0078; return; } - if (temp_v0 == THREE_PLAYERS_SELECTED) { - phi_v1->unk0 = 0xEB; - phi_t0->unk0 = 0xAF; + if (temp_v0 == 3) { + D_8018D2C0.unk0 = 0x00EB; + D_8018D2D8.unk0 = 0x00AF; return; } - if (temp_v0 == TWO_PLAYERS_SELECTED) { - if (gCurrentCourseId != 0xA) { - phi_v1->unk2 = 0x109; - phi_v1->unk0 = phi_v1->unk2; + if (temp_v0 == 2) { + if (gCurrentCourseId != 0x000A) { + D_8018D2C0.unk2 = 0x0109; + D_8018D2C0.unk0 = D_8018D2C0.unk2; } else { - phi_v1->unk2 = 0xFF; - phi_v1->unk0 = phi_v1->unk2; + D_8018D2C0.unk2 = 0x00FF; + D_8018D2C0.unk0 = D_8018D2C0.unk2; } - phi_t0->unk0 = 0x41; - phi_t0->unk2 = 0xB4; + D_8018D2D8.unk0 = 0x0041; + D_8018D2D8.unk2 = 0x00B4; } } #else diff --git a/src/code_80071F00.c b/src/code_80071F00.c index 5d1ef6d1d..3c42266be 100644 --- a/src/code_80071F00.c +++ b/src/code_80071F00.c @@ -421,18 +421,14 @@ void func_800729D0(s32 arg0, s32 arg1) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_8005AB20(); // extern -? func_80072488(s32); // extern -? func_8028EDA8(); // extern -extern ? D_8018CA70; +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc extern s32 D_8018D2A4; extern s32 D_8018D2BC; +s16 gCurrentCourseId; /* unable to generate initializer */ void func_800729EC(s32 arg0) { s8 temp_v1; - u32 temp_v0; - ? *phi_v0; + struct_8018CA70_entry *var_v0; func_8028EDA8(); func_80072488(arg0); @@ -440,13 +436,12 @@ void func_800729EC(s32 arg0) { D_8018D2A4 = 1; if (gCurrentCourseId != 4) { temp_v1 = D_8018EDF3; - phi_v0 = &D_8018CA70; + var_v0 = D_8018CA70; if (temp_v1 > 0) { do { - temp_v0 = phi_v0 + 0x84; - temp_v0->unk-3 = 1; - phi_v0 = temp_v0; - } while (temp_v0 < ((temp_v1 * 0x84) + &D_8018CA70)); + var_v0 += 0x84; + var_v0->unk-3 = 1; + } while ((u32) var_v0 < (u32) &D_8018CA70[temp_v1]); } } func_8005AB20(); diff --git a/src/code_80071F00.h b/src/code_80071F00.h index 89eca98d4..63ed36530 100644 --- a/src/code_80071F00.h +++ b/src/code_80071F00.h @@ -127,6 +127,7 @@ void func_80076ED8(s32); void func_800773D8(s32, s32); void func_80077428(s32); void func_80077640(); +void func_80077AB0(Vec3f, s32); void func_80077B14(s32); void func_80077B3C(s32); void func_80077BCC(s32); @@ -143,6 +144,7 @@ void func_8007A884(); void func_8007A910(s32); void func_8007A948(s32); void func_8007AA44(s32); +void func_8007ABFC(s32, s32); u8 gen_random_item(s16, s16); u8 func_8007AF40(s32, s16); u8 func_8007AF78(s32, s16); @@ -186,7 +188,7 @@ void func_80086604(); void func_80086D80(); // audio/external.c -void func_800C9D80(Vec3f, f32*, s32); +void func_800C9D80(Vec3f, Vec3f, u32); void func_800C9EF4(Vec3f, s32); s32 osPiStartDma(OSIoMesg *mb, s32 priority, s32 direction, uintptr_t devAddr, void *vAddr, size_t nbytes, OSMesgQueue *mq); diff --git a/src/code_80086E70.c b/src/code_80086E70.c index 62187d527..10419b9e3 100644 --- a/src/code_80086E70.c +++ b/src/code_80086E70.c @@ -447,26 +447,24 @@ void func_80088150(s32 arg0) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 atan2s(f32, f32); // extern +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc extern ? D_80165760; extern ? D_80165780; -extern ? D_80165C18; -void func_80088178(s32 arg0, s32 arg1) { +void func_80088178(s32 objectIndex, s32 arg1) { s16 temp_a1; + struct_80165C18_entry *temp_v1; u16 temp_a0; - void *temp_v1; - temp_v1 = (arg0 * 0xE0) + &D_80165C18; - temp_a0 = temp_v1->unkC0; - temp_a1 = atan2s(D_80165760.unk2 - D_80165760.unk0, D_80165780.unk2 - D_80165780.unk0) - temp_a0; + temp_v1 = &D_80165C18[objectIndex]; + temp_a0 = temp_v1->unk_0C0; + temp_a1 = atan2s((f32) (D_80165760.unk2 - D_80165760.unk0), (f32) (D_80165780.unk2 - D_80165780.unk0)) - temp_a0; if (temp_a1 > 0) { - temp_v1->unkC0 = temp_a0 + (arg1 << 8); + temp_v1->unk_0C0 = temp_a0 + (arg1 << 8); return; } if (temp_a1 < 0) { - temp_v1->unkC0 = temp_a0 - (arg1 << 8); + temp_v1->unk_0C0 = temp_a0 - (arg1 << 8); } } #else diff --git a/src/code_8008C1D0.c b/src/code_8008C1D0.c index 3621122dc..2e07349ec 100644 --- a/src/code_8008C1D0.c +++ b/src/code_8008C1D0.c @@ -430,92 +430,74 @@ void func_8008CDC0(Player* player, s8 arg1) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_8008C73C(void *, s8, s16, s16); /* extern */ -? func_800C90F4(u8, s32, s16, s16); /* extern */ - -void func_8008CEB0(void *arg0, s8 arg1) { +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc +void func_8008CEB0(Player *player, s8 arg1) { f32 sp2C; s16 sp2A; s16 sp28; s16 sp26; - f32 temp_f0; - f32 temp_f0_2; - s16 temp_a3; - s16 temp_a3_2; - s16 temp_lo; - s16 temp_v1; + f32 var_f0; + s16 temp_a2; + s16 var_a2; + s16 var_a3; + s16 var_v1; s32 temp_f16; s32 temp_v0; s32 temp_v0_2; - s16 phi_a2; - s16 phi_a3; - s32 phi_a2_2; - s16 phi_a2_3; - f32 phi_f0; - s16 phi_v1; - temp_v1 = arg0->unkB4 + 1; - temp_f0 = arg0->unkB8; - temp_a3 = arg0->unkAC; - temp_f16 = (temp_v1 * temp_f0) - (0.2 * (temp_v1 * temp_v1)); - phi_a2 = temp_f16; - phi_a3 = temp_a3; - phi_f0 = temp_f0; - phi_v1 = temp_v1; - if ((temp_v1 != 0) && (temp_f16 < 0)) { - temp_v0 = arg0->unkBC; - temp_a3_2 = temp_a3 * -1; - temp_f0_2 = temp_f0 * 0.8; - phi_a3 = temp_a3_2; - phi_f0 = temp_f0_2; - phi_v1 = 0; + var_v1 = player->unk_0B4 + 1; + var_f0 = player->unk_0B8; + var_a3 = player->unk_0AC; + temp_f16 = (s32) ((f64) ((f32) var_v1 * var_f0) - (0.2 * (f64) (var_v1 * var_v1))); + temp_a2 = (s16) temp_f16; + if ((var_v1 != 0) && ((s16) temp_f16 < 0)) { + temp_v0 = player->unk_0BC; + var_v1 = 0; + var_a3 *= -1; + var_f0 = (f32) ((f64) var_f0 * 0.8); if ((temp_v0 & 1) == 1) { - arg0->unkBC = temp_v0 | 0x40000; + player->unk_0BC = temp_v0 | 0x40000; } - if (temp_f0_2 <= 1.0f) { - temp_v0_2 = arg0->unkBC & ~0x800; - arg0->unkBC = temp_v0_2; + if (var_f0 <= 1.0f) { + temp_v0_2 = player->unk_0BC & ~0x800; + player->unk_0BC = temp_v0_2; if ((temp_v0_2 & 0x40000) != 0x40000) { sp2A = 0; - sp26 = temp_f16; - sp28 = temp_a3_2; - sp2C = temp_f0_2; - func_8008C73C(arg0, arg1, temp_f16, temp_a3_2); + sp26 = temp_a2; + sp28 = var_a3; + sp2C = var_f0; + func_8008C73C(player, arg1); + var_v1 = 0; goto block_9; } - arg0->unkB6 = arg0->unkB6 | 0x20; - arg0->unkBC = temp_v0_2 & 0xFFFBFFFF; - if ((arg0->unk0 & 0x4000) == 0x4000) { - sp2C = temp_f0_2; - sp28 = temp_a3_2; - sp26 = temp_f16; + player->unk_0B6 |= 0x20; + player->unk_0BC = temp_v0_2 & 0xFFFBFFFF; + if ((player->unk_000 & 0x4000) == 0x4000) { + sp2C = var_f0; + sp28 = var_a3; + sp26 = temp_a2; sp2A = 0; - func_800C90F4(arg1, (arg0->unk254 * 0x10) + 0x29008008, temp_f16, temp_a3_2); + func_800C90F4((u8) arg1, (player->characterId * 0x10) + 0x29008008); + var_v1 = 0; block_9: - phi_a2 = temp_f16; - phi_a3 = temp_a3 * -1; - phi_f0 = sp2C; - phi_v1 = 0; + var_f0 = sp2C; } } } - temp_lo = phi_a2 * phi_a3; - phi_a2_2 = temp_lo; - if ((temp_lo <= 0) && (phi_a3 == 1)) { - phi_a2_2 = 0; + var_a2 = temp_a2 * var_a3; + if ((var_a2 <= 0) && (var_a3 == 1)) { + var_a2 = 0; } - phi_a2_3 = phi_a2_2; - if ((phi_a2_2 >= 0) && (phi_a3 == -1)) { - phi_a2_3 = 0; + if ((var_a2 >= 0) && (var_a3 == -1)) { + var_a2 = 0; } - arg0->unk78 = arg0->unk78 + (phi_a2_3 * 0x12); - arg0->unkB8 = phi_f0; - arg0->unkB4 = phi_v1; - arg0->unkAC = phi_a3; - if ((arg0->unkBC & 8) != 0) { - func_8008C73C(arg0, arg1, phi_a2_3, phi_a3); - arg0->unkBC = arg0->unkBC & ~0x800; + player->unk_078 += var_a2 * 0x12; + player->unk_0B8 = var_f0; + player->unk_0B4 = var_v1; + player->unk_0AC = var_a3; + if (player->unk_0BC & 8) { + func_8008C73C(player, arg1); + player->unk_0BC &= ~0x800; } } #else @@ -538,92 +520,74 @@ void func_8008D0FC(Player *player, s8 arg1) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_8008C73C(void *, s8, s16, s16); /* extern */ -? func_800C90F4(u8, s32, s16, s16); /* extern */ - -void func_8008D170(void *arg0, s8 arg1) { +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc +void func_8008D170(Player *player, s8 arg1) { f32 sp2C; s16 sp2A; s16 sp28; s16 sp26; - f32 temp_f0; - f32 temp_f0_2; - s16 temp_a3; - s16 temp_a3_2; - s16 temp_lo; - s16 temp_v1; + f32 var_f0; + s16 temp_a2; + s16 var_a2; + s16 var_a3; + s16 var_v1; s32 temp_f16; s32 temp_v0; s32 temp_v0_2; - s16 phi_a2; - s16 phi_a3; - s32 phi_a2_2; - s16 phi_a2_3; - f32 phi_f0; - s16 phi_v1; - temp_v1 = arg0->unkB4 + 1; - temp_f0 = arg0->unkB8; - temp_a3 = arg0->unkAC; - temp_f16 = (temp_v1 * temp_f0) - (0.1 * (temp_v1 * temp_v1)); - phi_a2 = temp_f16; - phi_a3 = temp_a3; - phi_f0 = temp_f0; - phi_v1 = temp_v1; - if ((temp_v1 != 0) && (temp_f16 < 0)) { - temp_v0 = arg0->unkBC; - temp_a3_2 = temp_a3 * -1; - temp_f0_2 = temp_f0 * 0.9; - phi_a3 = temp_a3_2; - phi_f0 = temp_f0_2; - phi_v1 = 0; - if (((temp_v0 & 1) == 1) || ((arg0->unk44 & 0x20) == 0)) { - arg0->unkBC = temp_v0 | 0x40000; + var_v1 = player->unk_0B4 + 1; + var_f0 = player->unk_0B8; + var_a3 = player->unk_0AC; + temp_f16 = (s32) ((f64) ((f32) var_v1 * var_f0) - (0.1 * (f64) (var_v1 * var_v1))); + temp_a2 = (s16) temp_f16; + if ((var_v1 != 0) && ((s16) temp_f16 < 0)) { + temp_v0 = player->unk_0BC; + var_v1 = 0; + var_a3 *= -1; + var_f0 = (f32) ((f64) var_f0 * 0.9); + if (((temp_v0 & 1) == 1) || !(player->unk_044 & 0x20)) { + player->unk_0BC = temp_v0 | 0x40000; } - if (temp_f0_2 <= 1.3) { - temp_v0_2 = arg0->unkBC; - arg0->unk44 = arg0->unk44 & 0xBFFF; + if ((f64) var_f0 <= 1.3) { + temp_v0_2 = player->unk_0BC; + player->unk_044 &= 0xBFFF; if ((temp_v0_2 & 0x40000) != 0x40000) { sp2A = 0; - sp26 = temp_f16; - sp28 = temp_a3_2; - sp2C = temp_f0_2; - func_8008C73C(arg0, arg1, temp_f16, temp_a3_2); + sp26 = temp_a2; + sp28 = var_a3; + sp2C = var_f0; + func_8008C73C(player, arg1); + var_v1 = 0; goto block_10; } - arg0->unkB6 = arg0->unkB6 | 0x20; - arg0->unkBC = temp_v0_2 & 0xFFFBFFFF; - if ((arg0->unk0 & 0x4000) == 0x4000) { - sp2C = temp_f0_2; - sp28 = temp_a3_2; - sp26 = temp_f16; + player->unk_0B6 |= 0x20; + player->unk_0BC = temp_v0_2 & 0xFFFBFFFF; + if ((player->unk_000 & 0x4000) == 0x4000) { + sp2C = var_f0; + sp28 = var_a3; + sp26 = temp_a2; sp2A = 0; - func_800C90F4(arg1, (arg0->unk254 * 0x10) + 0x29008008, temp_f16, temp_a3_2); + func_800C90F4((u8) arg1, (player->characterId * 0x10) + 0x29008008); + var_v1 = 0; block_10: - phi_a2 = temp_f16; - phi_a3 = temp_a3 * -1; - phi_f0 = sp2C; - phi_v1 = 0; + var_f0 = sp2C; } } } - temp_lo = phi_a2 * phi_a3; - phi_a2_2 = temp_lo; - if ((temp_lo <= 0) && (phi_a3 == 1)) { - phi_a2_2 = 0; + var_a2 = temp_a2 * var_a3; + if ((var_a2 <= 0) && (var_a3 == 1)) { + var_a2 = 0; } - phi_a2_3 = phi_a2_2; - if ((phi_a2_2 >= 0) && (phi_a3 == -1)) { - phi_a2_3 = 0; + if ((var_a2 >= 0) && (var_a3 == -1)) { + var_a2 = 0; } - arg0->unk78 = arg0->unk78 + (phi_a2_3 * 0x14); - arg0->unkB8 = phi_f0; - arg0->unkB4 = phi_v1; - arg0->unkAC = phi_a3; - if ((arg0->unkBC & 8) != 0) { - func_8008C73C(arg0, arg1, phi_a2_3, phi_a3); - arg0->unk44 = arg0->unk44 & 0xBFFF; + player->unk_078 += var_a2 * 0x14; + player->unk_0B8 = var_f0; + player->unk_0B4 = var_v1; + player->unk_0AC = var_a3; + if (player->unk_0BC & 8) { + func_8008C73C(player, arg1); + player->unk_044 &= 0xBFFF; } } #else @@ -850,7 +814,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_110.unk44 >= 600.0f) || ((player->unk_0BC & 0x1000) != 0)) { D_8018D990[arg1] = 3; } // placed block on same line to match + if ((player->unk_110.unk3C[2] >= 600.0f) || ((player->unk_0BC & 0x1000) != 0)) { D_8018D990[arg1] = 3; } // placed block on same line to match switch (D_8018D990[arg1]) { case 0: @@ -916,7 +880,7 @@ void func_8008DC08(Player* player, s8 arg1) { player->unk_238 = 0; } - if (player->unk_110.unk44 >= 600.0f) { + if (player->unk_110.unk3C[2] >= 600.0f) { D_8018D990[arg1] = 3; } @@ -1740,74 +1704,74 @@ void func_8008FF08(Player *player, s8 arg1) { switch (gCurrentCourseId) { case COURSE_BOWSER_CASTLE: if ((((s16)gNearestWaypointByPlayerId[arg1Copy]) >= 0x235) && (((s16)gNearestWaypointByPlayerId[arg1Copy]) < 0x247)) { - player->unk_220 = 0x214U; + player->nearestWaypointId = 0x214U; break; } if ((((s16)gNearestWaypointByPlayerId[arg1Copy]) >= 0x267) && (((s16)gNearestWaypointByPlayerId[arg1Copy]) < 0x277)) { - player->unk_220 = 0x25BU; + player->nearestWaypointId = 0x25BU; break; } - player->unk_220 = gNearestWaypointByPlayerId[arg1Copy]; - if (player->unk_220 < 0) { - player->unk_220 = gWaypointCountByPathIndex + player->unk_220; + player->nearestWaypointId = gNearestWaypointByPlayerId[arg1Copy]; + if (player->nearestWaypointId < 0) { + player->nearestWaypointId = gWaypointCountByPathIndex + player->nearestWaypointId; break; } break; case COURSE_BANSHEE_BOARDWALK: if ((((s16)gNearestWaypointByPlayerId[arg1Copy]) >= 0x12C) && (((s16)gNearestWaypointByPlayerId[arg1Copy]) < 0x13C)) { - player->unk_220 = 0x12CU; + player->nearestWaypointId = 0x12CU; break; } - player->unk_220 = gNearestWaypointByPlayerId[arg1Copy]; - if (player->unk_220 < 0) { - player->unk_220 = gWaypointCountByPathIndex + player->unk_220; + player->nearestWaypointId = gNearestWaypointByPlayerId[arg1Copy]; + if (player->nearestWaypointId < 0) { + player->nearestWaypointId = gWaypointCountByPathIndex + player->nearestWaypointId; break; } break; case COURSE_YOSHI_VALLEY: case COURSE_RAINBOW_ROAD: - player->unk_220 = D_80165320[arg1Copy]; + player->nearestWaypointId = D_80165320[arg1Copy]; break; case COURSE_FRAPPE_SNOWLAND: if ((((s16)gNearestWaypointByPlayerId[arg1Copy]) >= 0xF0) && (((s16)gNearestWaypointByPlayerId[arg1Copy]) < 0x105)) { - player->unk_220 = 0xF0U; + player->nearestWaypointId = 0xF0U; break; } - player->unk_220 = D_80165320[arg1Copy]; - if (player->unk_220 < 0) { - player->unk_220 = gWaypointCountByPathIndex + player->unk_220; + player->nearestWaypointId = D_80165320[arg1Copy]; + if (player->nearestWaypointId < 0) { + player->nearestWaypointId = gWaypointCountByPathIndex + player->nearestWaypointId; break; } break; case COURSE_ROYAL_RACEWAY: if ((((s16)gNearestWaypointByPlayerId[arg1Copy]) >= 0x258) && (((s16)gNearestWaypointByPlayerId[arg1Copy]) < 0x2A4)) { - player->unk_220 = 0x258U; + player->nearestWaypointId = 0x258U; break; } - player->unk_220 = D_80165320[arg1Copy]; - if (player->unk_220 < 0) { - player->unk_220 = gWaypointCountByPathIndex + player->unk_220; + player->nearestWaypointId = D_80165320[arg1Copy]; + if (player->nearestWaypointId < 0) { + player->nearestWaypointId = gWaypointCountByPathIndex + player->nearestWaypointId; break; } break; case COURSE_DK_JUNGLE: if ((((s16)gNearestWaypointByPlayerId[arg1Copy]) >= 0xB9) && (((s16)gNearestWaypointByPlayerId[arg1Copy]) < 0x119)) { - player->unk_220 = 0xB9U; + player->nearestWaypointId = 0xB9U; break; } - player->unk_220 = gNearestWaypointByPlayerId[arg1Copy]; - if (player->unk_220 < 0) { - player->unk_220 = gWaypointCountByPathIndex + player->unk_220; + player->nearestWaypointId = gNearestWaypointByPlayerId[arg1Copy]; + if (player->nearestWaypointId < 0) { + player->nearestWaypointId = gWaypointCountByPathIndex + player->nearestWaypointId; break; } @@ -1816,12 +1780,12 @@ void func_8008FF08(Player *player, s8 arg1) { case COURSE_SKYSCRAPER: case COURSE_DOUBLE_DECK: case COURSE_BIG_DONUT: - player->unk_220 = 0U; + player->nearestWaypointId = 0U; break; default: - player->unk_220 = gNearestWaypointByPlayerId[arg1Copy]; - if (player->unk_220 < 0) { - player->unk_220 = gWaypointCountByPathIndex + player->unk_220; + player->nearestWaypointId = gNearestWaypointByPlayerId[arg1Copy]; + if (player->nearestWaypointId < 0) { + player->nearestWaypointId = gWaypointCountByPathIndex + player->nearestWaypointId; break; } break; @@ -1832,37 +1796,27 @@ GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008FF08.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -extern s32 D_80164550; -extern u16 gWaypointCountByPathIndex; +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc extern ? D_80165310; -static s16 gCurrentCourseId; /* type too large by 2; unable to generate initializer */ -static ? D_800E6F6C; /* unable to generate initializer; const */ -static ? D_800E6F7C; /* unable to generate initializer; const */ -static ? D_800E6F8C; /* unable to generate initializer; const */ -static ? D_800E6F9C; /* unable to generate initializer; const */ -static ? D_800E6FAC; /* unable to generate initializer; const */ -static ? D_800E6FBC; /* unable to generate initializer; const */ -static ? D_800E6FCC; /* unable to generate initializer; const */ -static ? D_800E6FDC; /* unable to generate initializer; const */ -static ? D_800E6FEC; /* unable to generate initializer; const */ -static ? D_800E6FFC; /* unable to generate initializer; const */ -static ? D_800E700C; /* unable to generate initializer; const */ -static ? D_800E701C; /* unable to generate initializer; const */ -static ? D_800E702C; /* unable to generate initializer; const */ -static ? D_800E703C; /* unable to generate initializer; const */ -static ? D_800E704C; /* unable to generate initializer; const */ -static ? D_800E705C; /* unable to generate initializer; const */ +static ? D_800E6F6C; /* unable to generate initializer */ +static ? D_800E6F7C; /* unable to generate initializer */ +static ? D_800E6F8C; /* unable to generate initializer */ +static ? D_800E6F9C; /* unable to generate initializer */ +static ? D_800E6FAC; /* unable to generate initializer */ +static ? D_800E6FBC; /* unable to generate initializer */ +static ? D_800E6FCC; /* unable to generate initializer */ +static ? D_800E6FDC; /* unable to generate initializer */ +static ? D_800E6FEC; /* unable to generate initializer */ +static ? D_800E6FFC; /* unable to generate initializer */ +static ? D_800E700C; /* unable to generate initializer */ +static ? D_800E701C; /* unable to generate initializer */ +static ? D_800E702C; /* unable to generate initializer */ +static ? D_800E703C; /* unable to generate initializer */ +static ? D_800E704C; /* unable to generate initializer */ +static ? D_800E705C; /* unable to generate initializer */ +s16 gCurrentCourseId; /* unable to generate initializer */ -void func_80090178(void *arg0, s8 arg1, void *arg2, void *arg3) { - ? spF8; - ? spE8; - ? spD8; - ? spC8; - ? spB8; - ? spA8; - ? sp98; - ? sp88; +void func_80090178(Player *player, s8 arg1, f32 *arg2, f32 *arg3) { ? sp78; ? sp68; ? sp58; @@ -1871,144 +1825,140 @@ void func_80090178(void *arg0, s8 arg1, void *arg2, void *arg3) { ? sp28; ? sp18; ? sp8; + f32 var_f10; s16 temp_t9; s32 temp_a0; s32 temp_a0_2; - s32 temp_a0_3; - s32 temp_a0_4; + struct TrackWayPoint *temp_v1; + struct TrackWayPoint *temp_v1_2; + struct TrackWayPoint *temp_v1_3; + struct TrackWayPoint *temp_v1_4; u16 *temp_t0; u16 temp_t1; - void *temp_v1; - void *temp_v1_2; - void *temp_v1_3; - void *temp_v1_4; - f32 phi_f10; - spF8.unk0 = D_800E6F6C.unk0; - spF8.unk4 = D_800E6F6C.unk4; - spF8.unk8 = D_800E6F6C.unk8; - spF8.unkC = D_800E6F6C.unkC; - spE8.unk0 = D_800E6F7C.unk0; - spE8.unk4 = D_800E6F7C.unk4; - spE8.unk8 = D_800E6F7C.unk8; - spE8.unkC = D_800E6F7C.unkC; - spD8.unk0 = D_800E6F8C.unk0; - spD8.unk4 = D_800E6F8C.unk4; - spD8.unk8 = D_800E6F8C.unk8; - spD8.unkC = D_800E6F8C.unkC; - spC8.unk0 = D_800E6F9C.unk0; - spC8.unk4 = D_800E6F9C.unk4; - spC8.unk8 = D_800E6F9C.unk8; - spC8.unkC = D_800E6F9C.unkC; - spB8.unk0 = D_800E6FAC.unk0; - spB8.unk4 = D_800E6FAC.unk4; - spB8.unk8 = D_800E6FAC.unk8; - spB8.unkC = D_800E6FAC.unkC; - spA8.unk0 = D_800E6FBC.unk0; - spA8.unk4 = D_800E6FBC.unk4; - spA8.unk8 = D_800E6FBC.unk8; - spA8.unkC = D_800E6FBC.unkC; - sp98.unk0 = D_800E6FCC.unk0; - sp98.unk4 = D_800E6FCC.unk4; - sp98.unk8 = D_800E6FCC.unk8; - sp98.unkC = D_800E6FCC.unkC; - sp88.unk0 = D_800E6FDC.unk0; - sp88.unk4 = D_800E6FDC.unk4; - sp88.unk8 = D_800E6FDC.unk8; - sp88.unkC = D_800E6FDC.unkC; - sp78.unk4 = D_800E6FEC.unk4; - sp78.unk0 = D_800E6FEC.unk0; - sp78.unk8 = D_800E6FEC.unk8; - sp78.unkC = D_800E6FEC.unkC; - sp68.unk0 = D_800E6FFC.unk0; - sp68.unk4 = D_800E6FFC.unk4; - sp68.unkC = D_800E6FFC.unkC; - sp68.unk8 = D_800E6FFC.unk8; - sp58.unk0 = D_800E700C.unk0; - sp58.unk4 = D_800E700C.unk4; - sp58.unkC = D_800E700C.unkC; - sp58.unk8 = D_800E700C.unk8; - sp48.unk0 = D_800E701C.unk0; - sp48.unk4 = D_800E701C.unk4; - sp48.unkC = D_800E701C.unkC; - sp48.unk8 = D_800E701C.unk8; - sp38.unk0 = D_800E702C.unk0; - sp38.unk4 = D_800E702C.unk4; - sp38.unkC = D_800E702C.unkC; - sp38.unk8 = D_800E702C.unk8; - sp28.unk0 = D_800E703C.unk0; - sp28.unk4 = D_800E703C.unk4; - sp28.unkC = D_800E703C.unkC; - sp28.unk8 = D_800E703C.unk8; - sp18.unk0 = D_800E704C.unk0; - sp18.unk4 = D_800E704C.unk4; - sp18.unkC = D_800E704C.unkC; - sp18.unk8 = D_800E704C.unk8; - sp8.unk0 = D_800E705C.unk0; - sp8.unk4 = D_800E705C.unk4; - sp8.unkC = D_800E705C.unkC; - sp8.unk8 = D_800E705C.unk8; + spF8[0].unk0 = D_800E6F6C.unk0; + spF8[0].unk4 = (s32) D_800E6F6C.unk4; + spF8[0].unk8 = (s32) D_800E6F6C.unk8; + spF8[0].unkC = (s32) D_800E6F6C.unkC; + spE8[0].unk0 = D_800E6F7C.unk0; + spE8[0].unk4 = (s32) D_800E6F7C.unk4; + spE8[0].unk8 = (s32) D_800E6F7C.unk8; + spE8[0].unkC = (s32) D_800E6F7C.unkC; + spD8[0].unk0 = D_800E6F8C.unk0; + spD8[0].unk4 = (s32) D_800E6F8C.unk4; + spD8[0].unk8 = (s32) D_800E6F8C.unk8; + spD8[0].unkC = (s32) D_800E6F8C.unkC; + spC8[0].unk0 = D_800E6F9C.unk0; + spC8[0].unk4 = (s32) D_800E6F9C.unk4; + spC8[0].unk8 = (s32) D_800E6F9C.unk8; + spC8[0].unkC = (s32) D_800E6F9C.unkC; + spB8[0].unk0 = D_800E6FAC.unk0; + spB8[0].unk4 = (s32) D_800E6FAC.unk4; + spB8[0].unk8 = (s32) D_800E6FAC.unk8; + spB8[0].unkC = (s32) D_800E6FAC.unkC; + spA8[0].unk0 = D_800E6FBC.unk0; + spA8[0].unk4 = (s32) D_800E6FBC.unk4; + spA8[0].unk8 = (s32) D_800E6FBC.unk8; + spA8[0].unkC = (s32) D_800E6FBC.unkC; + sp98[0].unk0 = D_800E6FCC.unk0; + sp98[0].unk4 = (s32) D_800E6FCC.unk4; + sp98[0].unk8 = (s32) D_800E6FCC.unk8; + sp98[0].unkC = (s32) D_800E6FCC.unkC; + sp88[0].unk0 = D_800E6FDC.unk0; + sp88[0].unk4 = (s32) D_800E6FDC.unk4; + sp88[0].unk8 = (s32) D_800E6FDC.unk8; + sp88[0].unkC = (s32) D_800E6FDC.unkC; + sp78.unk4 = (s32) D_800E6FEC.unk4; + sp78.unk0 = (s32) D_800E6FEC.unk0; + sp78.unk8 = (s32) D_800E6FEC.unk8; + sp78.unkC = (s32) D_800E6FEC.unkC; + sp68.unk0 = (s32) D_800E6FFC.unk0; + sp68.unk4 = (s32) D_800E6FFC.unk4; + sp68.unkC = (s32) D_800E6FFC.unkC; + sp68.unk8 = (s32) D_800E6FFC.unk8; + sp58.unk0 = (s32) D_800E700C.unk0; + sp58.unk4 = (s32) D_800E700C.unk4; + sp58.unkC = (s32) D_800E700C.unkC; + sp58.unk8 = (s32) D_800E700C.unk8; + sp48.unk0 = (s32) D_800E701C.unk0; + sp48.unk4 = (s32) D_800E701C.unk4; + sp48.unkC = (s32) D_800E701C.unkC; + sp48.unk8 = (s32) D_800E701C.unk8; + sp38.unk0 = (s32) D_800E702C.unk0; + sp38.unk4 = (s32) D_800E702C.unk4; + sp38.unkC = (s32) D_800E702C.unkC; + sp38.unk8 = (s32) D_800E702C.unk8; + sp28.unk0 = (s32) D_800E703C.unk0; + sp28.unk4 = (s32) D_800E703C.unk4; + sp28.unkC = (s32) D_800E703C.unkC; + sp28.unk8 = (s32) D_800E703C.unk8; + sp18.unk0 = (s32) D_800E704C.unk0; + sp18.unk4 = (s32) D_800E704C.unk4; + sp18.unkC = (s32) D_800E704C.unkC; + sp18.unk8 = (s32) D_800E704C.unk8; + sp8.unk0 = (s32) D_800E705C.unk0; + sp8.unk4 = (s32) D_800E705C.unk4; + sp8.unkC = (s32) D_800E705C.unkC; + sp8.unk8 = (s32) D_800E705C.unk8; temp_t9 = gCurrentCourseId; switch (temp_t9) { case 4: temp_t0 = (arg1 * 2) + &D_80165310; - temp_v1 = (&D_80164550)[*temp_t0] + (arg0->unk220 * 8); - arg2->unk0 = temp_v1->unk0; - arg2->unk4 = temp_v1->unk2; - arg2->unk8 = temp_v1->unk4; + temp_v1 = &D_80164550[*temp_t0][(u16) player->nearestWaypointId]; + arg2->unk0 = (f32) temp_v1->wayPointX; + arg2->unk4 = (f32) temp_v1->wayPointY; + arg2->unk8 = (f32) temp_v1->wayPointZ; temp_t1 = *temp_t0; - temp_v1_2 = (((arg0->unk220 + 5) % ((&gWaypointCountByPathIndex)[temp_t1] + 1)) * 8) + (&D_80164550)[temp_t1]; - arg3->unk0 = temp_v1_2->unk0; - arg3->unk4 = temp_v1_2->unk2; - arg3->unk8 = temp_v1_2->unk4; + temp_v1_2 = &D_80164550[temp_t1][(s32) (player->nearestWaypointId + 5) % (s32) (gWaypointCountByPathIndex[temp_t1] + 1)]; + arg3->unk0 = (f32) temp_v1_2->wayPointX; + arg3->unk4 = (f32) temp_v1_2->wayPointY; + arg3->unk8 = (f32) temp_v1_2->wayPointZ; return; case 15: - temp_a0 = arg1 * 4; arg2->unk4 = 0.0f; - arg2->unk0 = *(&spF8 + temp_a0); - arg2->unk8 = *(&spE8 + temp_a0); + arg2->unk0 = (&spF8[0])[arg1]; + arg2->unk8 = (f32) (&spE8[0])[arg1]; arg3->unk4 = 0.0f; - arg3->unk0 = *(&spD8 + temp_a0); - phi_f10 = *(&spC8 + temp_a0); + arg3->unk0 = (&spD8[0])[arg1]; + var_f10 = (&spC8[0])[arg1]; block_8: - arg3->unk8 = phi_f10; + arg3->unk8 = var_f10; return; case 16: - temp_a0_2 = arg1 * 4; arg2->unk4 = 480.0f; - arg2->unk0 = *(&spB8 + temp_a0_2); - arg2->unk8 = *(&spA8 + temp_a0_2); + arg2->unk0 = (&spB8[0])[arg1]; + arg2->unk8 = (f32) (&spA8[0])[arg1]; arg3->unk4 = 480.0f; - arg3->unk0 = *(&sp98 + temp_a0_2); - arg3->unk8 = *(&sp88 + temp_a0_2); + arg3->unk0 = (&sp98[0])[arg1]; + arg3->unk8 = (f32) (&sp88[0])[arg1]; return; case 17: - temp_a0_3 = arg1 * 4; + temp_a0 = arg1 * 4; arg2->unk4 = 0.0f; - arg2->unk0 = (sp + temp_a0_3)->unk78; - arg2->unk8 = (sp + temp_a0_3)->unk68; + arg2->unk0 = (sp + temp_a0)->unk78; + arg2->unk8 = (f32) (sp + temp_a0)->unk68; arg3->unk4 = 0.0f; - arg3->unk0 = (sp + temp_a0_3)->unk58; - arg3->unk8 = (sp + temp_a0_3)->unk48; + arg3->unk0 = (sp + temp_a0)->unk58; + arg3->unk8 = (f32) (sp + temp_a0)->unk48; return; case 19: - temp_a0_4 = arg1 * 4; + temp_a0_2 = arg1 * 4; arg2->unk4 = 200.0f; - arg2->unk0 = (sp + temp_a0_4)->unk38; - arg2->unk8 = (sp + temp_a0_4)->unk28; + arg2->unk0 = (sp + temp_a0_2)->unk38; + arg2->unk8 = (f32) (sp + temp_a0_2)->unk28; arg3->unk4 = 200.0f; - arg3->unk0 = (sp + temp_a0_4)->unk18; - phi_f10 = (sp + temp_a0_4)->unk8; + arg3->unk0 = (sp + temp_a0_2)->unk18; + var_f10 = (sp + temp_a0_2)->unk8; goto block_8; default: - temp_v1_3 = D_80164550 + (arg0->unk220 * 8); - arg2->unk0 = temp_v1_3->unk0; - arg2->unk4 = temp_v1_3->unk2; - arg2->unk8 = temp_v1_3->unk4; - temp_v1_4 = (((arg0->unk220 + 5) % (gWaypointCountByPathIndex + 1)) * 8) + D_80164550; - arg3->unk0 = temp_v1_4->unk0; - arg3->unk4 = temp_v1_4->unk2; - phi_f10 = temp_v1_4->unk4; + temp_v1_3 = &(*D_80164550)[(u16) player->nearestWaypointId]; + arg2->unk0 = (f32) temp_v1_3->wayPointX; + arg2->unk4 = (f32) temp_v1_3->wayPointY; + arg2->unk8 = (f32) temp_v1_3->wayPointZ; + temp_v1_4 = &(*D_80164550)[(s32) (player->nearestWaypointId + 5) % (s32) (*gWaypointCountByPathIndex + 1)]; + arg3->unk0 = (f32) temp_v1_4->wayPointX; + arg3->unk4 = (f32) temp_v1_4->wayPointY; + var_f10 = (f32) temp_v1_4->wayPointZ; goto block_8; } } diff --git a/src/code_800B45E0.c b/src/code_800B45E0.c index 8ef13c337..d007d7355 100644 --- a/src/code_800B45E0.c +++ b/src/code_800B45E0.c @@ -514,87 +514,59 @@ s32 func_800B557C(void) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_800B4874(s32, void *, void *); // extern -s8 func_800B578C(s32, void *, void *); // extern -s8 func_800B5888(s32); // extern +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc extern u8 D_800F2E60; -extern ? D_8018EB90; -extern OSMesgQueue gSIEventMesgQueue; -void func_800B559C(s32 arg0, void *arg1, void *arg2) { - s32 temp_s1; - s32 temp_s1_2; +void func_800B559C(s32 course) { + CourseTimeTrialRecords *temp_a2; + OnlyBestTimeTrialRecords *temp_s2_2; s32 temp_s6; - s32 temp_v0; - s32 temp_v0_2; - u8 *temp_s2_2; - void *temp_a0; - void *temp_a1; - void *temp_a1_2; - void *temp_a2; - void *temp_s2; + s32 var_s1; + s32 var_v0; + s32 var_v0_2; + u8 *temp_a0; + u8 *temp_s2; + u8 *var_a0; + u8 temp_t3; + u8 temp_t9; void *temp_v1; void *temp_v1_2; - s32 phi_s1; - void *phi_a1; - void *phi_a2; - u8 *phi_a0; - s32 phi_v0; - s32 phi_v0_2; - void *phi_a1_2; - void *phi_a2_2; - void *phi_a1_3; - temp_s6 = arg0 / 8; - temp_s1 = temp_s6 * 8; - phi_s1 = temp_s1; - phi_a1 = arg1; - phi_a2 = arg2; - phi_a1_2 = arg1; - phi_a2_2 = arg2; - if (temp_s1 < (temp_s1 + 8)) { - temp_s2 = (temp_s6 * 0x38) + 0x188 + &D_8018EB90; + temp_s6 = course / 8; + var_s1 = temp_s6 * 8; + if (var_s1 < (var_s1 + 8)) { + temp_s2 = &D_8018EB90.allCourseTimeTrialRecords.cupRecords[0].courseRecords[0].records[0][(temp_s6 * 0x38) + 0x188]; do { - temp_a2 = &D_8018EB90 + ((phi_s1 / 4) * 0x60) + ((phi_s1 % 4) * 0x18); - phi_a2 = temp_a2; - phi_a0 = &D_800F2E60; - phi_v0 = 0; - phi_v0_2 = 0; - phi_a2_2 = temp_a2; - if (temp_a2->unk17 != func_800B4874(phi_s1, phi_a1, phi_a2)) { - temp_a1 = temp_s2 + ((phi_s1 % 8) * 3); - phi_a1_3 = temp_a1; + var_a0 = &D_800F2E60; + temp_a2 = &D_8018EB90.allCourseTimeTrialRecords.cupRecords[var_s1 / 4].courseRecords[var_s1 % 4]; + var_v0 = 0; + if (temp_a2->unknownBytes[5] != func_800B4874(var_s1)) { do { - temp_v1 = temp_a1 + phi_v0; - temp_v0 = phi_v0 + 1; - temp_v1->unk0 = *phi_a0; - temp_v1->unk18 = *phi_a0; - phi_a0 += 1; - phi_v0 = temp_v0; - } while (temp_v0 != 3); + temp_v1 = temp_s2 + ((var_s1 % 8) * 3) + var_v0; + var_v0 += 1; + temp_v1->unk0 = (u8) *var_a0; + temp_t9 = *var_a0; + var_a0 += 1; + temp_v1->unk18 = temp_t9; + } while (var_v0 != 3); } else { - temp_a1_2 = temp_s2 + ((phi_s1 % 8) * 3); - phi_a1_3 = temp_a1_2; + var_v0_2 = 0; do { - temp_a0 = temp_a2 + phi_v0_2; - temp_v1_2 = temp_a1_2 + phi_v0_2; - temp_v0_2 = phi_v0_2 + 1; - temp_v1_2->unk0 = temp_a0->unk0; - temp_v1_2->unk18 = temp_a0->unkF; - phi_v0_2 = temp_v0_2; - } while (temp_v0_2 != 3); + temp_a0 = &temp_a2->records[0][var_v0_2]; + temp_t3 = temp_a0->unk0; + temp_v1_2 = temp_s2 + ((var_s1 % 8) * 3) + var_v0_2; + var_v0_2 += 1; + temp_v1_2->unk0 = temp_t3; + temp_v1_2->unk18 = (u8) temp_a0->unkF; + } while (var_v0_2 != 3); } - temp_s1_2 = phi_s1 + 1; - phi_s1 = temp_s1_2; - phi_a1 = phi_a1_3; - phi_a1_2 = phi_a1_3; - } while (temp_s1_2 < ((temp_s6 * 8) + 8)); + var_s1 += 1; + } while (var_s1 < ((temp_s6 * 8) + 8)); } - temp_s2_2 = &D_8018EB90 + (temp_s6 * 0x38) + 0x188; - temp_s2_2->unk36 = func_800B578C(temp_s6, phi_a1_2, phi_a2_2); - temp_s2_2->unk37 = func_800B5888(temp_s6); - osEepromLongWrite(&gSIEventMesgQueue, ((temp_s2_2 - &D_8018EB90) >> 3) & 0xFF, temp_s2_2, 0x38); + temp_s2_2 = &D_8018EB90.onlyBestTimeTrialRecords[temp_s6]; + temp_s2_2->unknownBytes[6] = func_800B578C(temp_s6); + temp_s2_2->unknownBytes[7] = func_800B5888(temp_s6); + osEepromLongWrite(&gSIEventMesgQueue, ((u32) (temp_s2_2 - &D_8018EB90) >> 3) & 0xFF, temp_s2_2->bestThreelaps[0], 0x00000038); } #else GLOBAL_ASM("asm/non_matchings/menus/func_800B559C.s") diff --git a/src/code_80280650.c b/src/code_80280650.c index 898c420c0..da2d55141 100644 --- a/src/code_80280650.c +++ b/src/code_80280650.c @@ -368,78 +368,69 @@ void func_8028100C(s32 arg0, s32 arg1, s32 arg2) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void *func_80280734(? *); // extern -s16 func_8028076C(); // extern -f32 func_8028080C(); // extern -f32 func_80280850(?); // extern -extern ? D_80284E64; -extern f32 D_80286B80; +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc +static struct UnkStruct_80280658 D_80284E64; /* type too large by 0x40; unable to generate initializer */ +static f32 D_80286B80 = 3000.0f; void func_8028101C(s32 arg0, s32 arg1, s32 arg2) { f32 sp64; f32 sp60; f32 sp5C; - s32 temp_s1; - void *temp_s0; - s32 phi_s1; + s32 var_s1; + struct UnkStruct_80280658 *temp_s0; - sp5C = arg2; - sp60 = arg1; - sp64 = arg0; - phi_s1 = 0; + var_s1 = 0; + sp5C = (f32) arg2; + sp60 = (f32) arg1; + sp64 = (f32) arg0; do { temp_s0 = func_80280734(&D_80284E64); - temp_s0->unk10 = func_80280850(0x43480000) + sp64; - temp_s0->unk14 = func_80280850(0x43BE0000) + sp60; - temp_s0->unk18 = func_80280850(0x44160000) + sp5C; - temp_s0->unk2C = func_8028080C() * 7.0f; + temp_s0->unk10 = func_80280850(200.0f) + sp64; + temp_s0->unk14 = func_80280850(380.0f) + sp60; + temp_s0->unk18 = func_80280850(600.0f) + sp5C; + temp_s0->unk2C = (s16) (s32) (func_8028080C() * 7.0f); temp_s0->unk30 = func_8028076C(); - temp_s0->unk32 = func_80280850(0x43C80000) + 900.0f; - temp_s1 = phi_s1 + 1; - temp_s0->unk34 = func_80280850(0x44FA0000) + D_80286B80; - phi_s1 = temp_s1; - } while (temp_s1 != 0x64); + temp_s0->unk32 = (s16) (s32) (func_80280850(400.0f) + 900.0f); + var_s1 += 1; + temp_s0->unk34 = (s16) (s32) (func_80280850(2000.0f) + D_80286B80); + } while (var_s1 != 0x64); } #else GLOBAL_ASM("asm/non_matchings/code_80280650/func_8028101C.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void *func_80280734(? *); // extern -f32 func_8028080C(); // extern -f32 func_80280850(f32); // extern -extern ? D_80284E50; -extern ? D_80284E70; -extern f32 D_80286B84; +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc extern s16 D_802874BE; extern s16 D_802874C6; extern s16 D_802874C8; extern s32 D_80287540; +static s32 D_80284E50[4] = { 0x007F2040, 0x0040207F, 0x00207F20, 0x007F7F20 }; +static struct UnkStruct_80280658 D_80284E70; /* type too large by 0x40; unable to generate initializer */ +static f32 D_80286B84 = 1.1f; void func_8028118C(s32 arg0, s32 arg1, s32 arg2) { f32 temp_f0; f32 temp_f2; s32 temp_v0; s32 temp_v1; - void *temp_s0; + struct UnkStruct_80280658 *temp_s0; - if (((D_802874BE + 0xD) * func_8028080C()) < 1.0f) { + if (((f32) (D_802874BE + 0xD) * func_8028080C()) < 1.0f) { temp_s0 = func_80280734(&D_80284E70); - temp_s0->unk10 = func_80280850(0.0f) + arg0; - temp_s0->unk14 = func_80280850(D_802874C6 + 0x64) + arg1; - temp_f0 = func_80280850(D_802874C8 + 0x2BC); + temp_s0->unk10 = func_80280850(0.0f) + (f32) arg0; + temp_s0->unk14 = func_80280850((f32) (D_802874C6 + 0x64)) + (f32) arg1; + temp_f0 = func_80280850((f32) (D_802874C8 + 0x2BC)); temp_v1 = D_80287540; temp_f2 = D_80286B84; temp_v0 = temp_v1 & 3; temp_s0->unk48 = temp_v0; - temp_s0->unk18 = temp_f0 + arg2; - temp_s0->unk3C = 0xFF; - temp_s0->unk40 = -0x11; + temp_s0->unk18 = temp_f0 + (f32) arg2; + temp_s0->unk3C = 0x000000FF; + temp_s0->unk40 = -0x00000011; temp_s0->unk34 = temp_f2; temp_s0->unk38 = temp_f2; - temp_s0->unk30 = *(&D_80284E50 + (temp_v0 * 4)); + temp_s0->unk30 = D_80284E50[temp_v0]; D_80287540 = temp_v1 + 1; } } diff --git a/src/math_util.c b/src/math_util.c index 2e2367047..7a0ac30ab 100644 --- a/src/math_util.c +++ b/src/math_util.c @@ -177,10 +177,10 @@ void mtxf_identity(Mat4 mtx) { } } -void func_802B5450(Mat4 arg0, Mat4 arg1, Mat4 arg2) { - arg1[3][0] = arg0[3][0] + arg2[0][0]; - arg1[3][1] = arg0[3][1] + arg2[0][1]; - arg1[3][2] = arg0[3][2] + arg2[0][2]; +void func_802B5450(Mat4 arg0, Mat4 arg1, Vec3f arg2) { + arg1[3][0] = arg0[3][0] + arg2[0]; + arg1[3][1] = arg0[3][1] + arg2[1]; + arg1[3][2] = arg0[3][2] + arg2[2]; arg1[3][3] = arg0[3][3]; arg1[0][0] = arg0[0][0]; arg1[0][1] = arg0[0][1]; @@ -196,10 +196,10 @@ void func_802B5450(Mat4 arg0, Mat4 arg1, Mat4 arg2) { arg1[2][3] = arg0[2][3]; } -UNUSED void func_802B54EC(Mat4 arg0, Mat4 arg1, Mat4 arg2) { - arg1[3][0] = arg0[3][0] + arg2[0][0]; - arg1[3][1] = arg0[3][1] + arg2[0][1]; - arg1[3][2] = arg0[3][2] + arg2[0][2]; +UNUSED void func_802B54EC(Mat4 arg0, Mat4 arg1, Vec3f arg2) { + arg1[3][0] = arg0[3][0] + arg2[0]; + arg1[3][1] = arg0[3][1] + arg2[1]; + arg1[3][2] = arg0[3][2] + arg2[2]; } void mtxf_translate(Mat4 dest, Vec3f b) { @@ -343,8 +343,8 @@ void func_802B5AAC(Mat4 arg0, s16 arg1) { } #ifdef MIPS_TO_C -//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de -void func_802B5B14(f32 *arg0, s16 *arg1) { +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc +void func_802B5B14(Vec3f arg0, Vec3s arg1) { f32 sp70; f32 sp6C; f32 sp68; @@ -836,8 +836,8 @@ GLOBAL_ASM("asm/non_matchings/math_util/func_802B68F8.s") #endif #ifdef MIPS_TO_C -//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de -void func_802B6A84(Mat4 arg0, s32 arg1, f32 arg2, f32 arg3, f32 arg4) { +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc +void func_802B6A84(Mat4 arg0, s16 arg1, f32 arg2, f32 arg3, f32 arg4) { f32 sp54; s32 sp34; /* compiler-managed */ f32 sp30; diff --git a/src/math_util.h b/src/math_util.h index b193ad80a..217f508e6 100644 --- a/src/math_util.h +++ b/src/math_util.h @@ -26,8 +26,8 @@ void vec3s_copy(Vec3s, Vec3s); void *sm64_vec3f_set(Vec3f, f32, f32, f32); void func_802B5398(s32*, s32*, s32); void mtxf_identity(Mat4); -void func_802B5450(Mat4, Mat4, Mat4); -void func_802B54EC(Mat4, Mat4, Mat4); +void func_802B5450(Mat4, Mat4, Vec3f); +void func_802B54EC(Mat4, Mat4, Vec3f); void mtxf_translate(Mat4, Vec3f); void func_802B5564(Mat4, u16*, f32, f32, f32, f32, f32); void func_802B59DC(Mat4, s16); diff --git a/src/memory.c b/src/memory.c index da2d3eda0..ea29da12b 100644 --- a/src/memory.c +++ b/src/memory.c @@ -10,6 +10,8 @@ #include "main.h" #include "memory.h" #include "variables.h" +#include "common_structs.h" +#include "math_util.h" #include //#include "segment_symbols.h" @@ -383,50 +385,45 @@ u32 MIO0_0F(s32 arg0, u32 arg1, u32 arg2) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 06ada559d7a32fdab49fa2d619cdfa027615bcda +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc extern f32 D_800DC608; +extern s16 *gHeapEndPtr; void func_802A86A8(mk64_Vtx *arg0, u32 arg1) { - Vtx *temp_v1; - Vtx *temp_v1_2; - mk64_Vtx *temp_v0; + f32 temp_f6; + mk64_Vtx *var_v0; + s16 *var_v1; s8 temp_a0; s8 temp_a3; - u32 temp_a2; - mk64_Vtx *phi_v0; - Vtx *phi_v1; - u32 phi_a2; + u32 var_a2; - temp_v1 = gHeapEndPtr - (((arg1 * 0x10) + 0xF) & ~0xF); - gHeapEndPtr = temp_v1; - phi_v0 = arg0; - phi_a2 = 0U; + var_v1 = gHeapEndPtr - (((arg1 * 0x10) + 0xF) & ~0xF); + var_v0 = arg0; + gHeapEndPtr = var_v1; + var_a2 = 0; if (arg1 != 0) { - phi_v1 = temp_v1; do { if (gIsMirrorMode != 0) { - phi_v1->v.ob[0] = (s16) -(s32) phi_v0->ob[0]; + *var_v1 = -var_v0->ob[0]; } else { - phi_v1->v.ob[0] = phi_v0->ob[0]; + *var_v1 = var_v0->ob[0]; } - temp_a2 = phi_a2 + 1; - temp_v1_2 = phi_v1 + 0x10; - temp_v0 = phi_v0 + 0xE; - temp_v1_2->unk-E = (s16) (s32) ((f32) phi_v0->ob[1] * D_800DC608); - temp_a0 = temp_v0->unk-4; - temp_a3 = temp_v0->unk-3; - temp_v1_2->unk-C = (s16) temp_v0->unk-A; - temp_v1_2->unk-8 = (s16) temp_v0->unk-8; - temp_v1_2->unk-4 = (s8) (temp_a0 & 0xFC); - temp_v1_2->unk-3 = (s8) (temp_a3 & 0xFC); - temp_v1_2->unk-6 = (s16) temp_v0->unk-6; - temp_v1_2->unk-2 = (s8) temp_v0->unk-2; - temp_v1_2->unk-A = (s16) (s8) ((temp_a0 & 3) | ((temp_a3 * 4) & 0xC)); - temp_v1_2->unk-1 = 0xFF; - phi_v0 = temp_v0; - phi_v1 = temp_v1_2; - phi_a2 = temp_a2; - } while (temp_a2 < arg1); + var_a2 += 1; + var_v1 += 0x10; + temp_f6 = (f32) var_v0->ob[1]; + var_v0 += 0xE; + var_v1->unk-E = (s16) (s32) (temp_f6 * D_800DC608); + temp_a0 = var_v0->unk-4; + temp_a3 = var_v0->unk-3; + var_v1->unk-C = (s16) var_v0->unk-A; + var_v1->unk-8 = (s16) var_v0->unk-8; + var_v1->unk-4 = (s8) (temp_a0 & 0xFC); + var_v1->unk-3 = (s8) (temp_a3 & 0xFC); + var_v1->unk-6 = (s16) var_v0->unk-6; + var_v1->unk-2 = (s8) var_v0->unk-2; + var_v1->unk-A = (s16) (s8) ((temp_a0 & 3) | ((temp_a3 * 4) & 0xC)); + var_v1->unk-1 = 0xFF; + } while (var_a2 < arg1); } } #else @@ -1027,404 +1024,298 @@ GLOBAL_ASM("asm/non_matchings/memory/func_802A99A4.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_802A884C(s32, s32, s8, s32 *); /* extern */ -? func_802A8940(s32, s32, s8, s32 *); /* extern */ -? func_802A89C0(s32, s32, s8, s32 *); /* extern */ -? func_802A8A04(s32, s32, s8, s32 *); /* extern */ -? func_802A8A70(s32, s32, s8, s32 *); /* extern */ -? func_802A8ADC(s32, s32, s8, s32 *); /* extern */ -? func_802A8B48(s32, s32, s32, s32 *); /* extern */ -? func_802A8BB4(s32, s32, s32, s32 *); /* extern */ -? func_802A8C20(s32, s32, s32, s32 *); /* extern */ -? func_802A8C8C(s32, s32, s32, s32 *); /* extern */ -? func_802A8CF8(s32, s32, s32, s32 *); /* extern */ -? func_802A8D64(s32, s32, s32, s32 *); /* extern */ -? func_802A8DD0(s32, s32, s32, s32 *); /* extern */ -? func_802A8E3C(s32, s32, s32, s32 *); /* extern */ -? func_802A8EA8(s32, s32, s32, s32 *); /* extern */ -? func_802A8F14(s32, s32, s32, s32 *); /* extern */ -? func_802A8F80(s32, s32, s8, s32 *); /* extern */ -? func_802A91E4(s32, s32, s8, s32 *); /* extern */ -? func_802A94D8(s32, s32, s8, s32 *); /* extern */ -? func_802A9544(s32, s32, s8, s32 *); /* extern */ -? func_802A95B0(s32, s32, s8, s32 *); /* extern */ -? func_802A9674(s32, s32, s8, s32 *); /* extern */ -? func_802A9714(s32, s32, s8, s32 *); /* extern */ -? func_802A980C(s32, s32, s8, s32 *); /* extern */ -? func_802A99A4(s32, s32, s8, s32 *); /* extern */ -? set_segment_base_addr(?, s32); /* extern */ +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc +? func_802A8F80(Gfx *, u8, s8, s32 *); /* extern */ +? func_802A91E4(Gfx *, u8, s8, s32 *); /* extern */ +? func_802A95B0(Gfx *, u8, s8, s32 *); /* extern */ +? func_802A9674(Gfx *, u8, s8, s32 *); /* extern */ +? func_802A9714(Gfx *, u8, s8, s32 *); /* extern */ +? func_802A980C(Gfx *, u8, s8, s32 *); /* extern */ +? func_802A99A4(Gfx *, u8, s8, s32 *); /* extern */ +extern s32 D_802BA270; +extern s32 D_802BA274; +extern Gfx *gHeapEndPtr; -void display_list_unpack(u32 arg0, s32 arg1, s32 arg2) { - s32 sp2C; - s32 temp_s0; - s32 temp_s1; +void display_list_unpack(u32 arg0, s32 arg1, u8 arg2) { + Gfx *sp2C; + Gfx *temp_s1; s32 temp_v1; u8 temp_a0; - s32 *phi_a3; + u8 temp_s0; - temp_s0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[SEGMENT_NUMBER2(arg0)] + SEGMENT_OFFSET(arg0)); + temp_s0 = gSegmentTable[arg0 >> 0x18] + (arg0 & 0xFFFFFF) + 0x80000000; temp_s1 = gHeapEndPtr - (((arg1 + 0xF) & ~0xF) + 8); gHeapEndPtr = temp_s1; D_802BA270 = 0; sp2C = temp_s1; D_802BA274 = 0; - phi_a3 = &D_802BA274; +case 0x31: +case 0x32: loop_1: - temp_v1 = *phi_a3; + temp_v1 = D_802BA274; temp_a0 = *(temp_v1 + temp_s0); - *phi_a3 = temp_v1 + 1; - if (temp_a0 != 0xFF) { - switch (temp_a0) { - case 0x0: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x1: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x2: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x3: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x4: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x5: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x6: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x7: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x8: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x9: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0xA: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0xB: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0xC: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0xD: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0xE: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0xF: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x10: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x11: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x12: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x13: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x14: - func_802A884C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x15: - func_802A8B48(temp_s1, temp_s0, arg2, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x16: - func_802A8BB4(temp_s1, temp_s0, arg2, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x17: - func_802A8C20(temp_s1, temp_s0, arg2, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x2E: - func_802A8C8C(temp_s1, temp_s0, arg2, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x53: - func_802A8CF8(temp_s1, temp_s0, arg2, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x18: - func_802A8D64(temp_s1, temp_s0, arg2, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x19: - func_802A8DD0(temp_s1, temp_s0, arg2, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x2F: - func_802A8E3C(temp_s1, temp_s0, arg2, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x54: - func_802A8EA8(temp_s1, temp_s0, arg2, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x55: - func_802A8F14(temp_s1, temp_s0, arg2, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x1A: - func_802A8F80(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x2C: - func_802A8F80(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x1B: - func_802A8F80(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x1C: - func_802A8F80(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x1D: - func_802A8F80(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x1E: - func_802A8F80(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x1F: - func_802A8F80(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x20: - func_802A91E4(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x21: - func_802A91E4(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x22: - func_802A91E4(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x23: - func_802A91E4(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x24: - func_802A91E4(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x25: - func_802A91E4(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x26: - func_802A94D8(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x27: - func_802A9544(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x28: - func_802A95B0(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x33: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x34: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x35: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x36: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x37: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x38: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x39: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x3A: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x3B: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x3C: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x3D: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x3E: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x3F: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x40: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x41: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x42: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x43: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x44: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x45: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x46: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x47: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x48: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x49: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x4A: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x4B: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x4C: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x4D: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x4E: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x4F: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x50: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x51: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x52: - func_802A9674(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x29: - func_802A9714(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x58: - func_802A980C(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x30: - func_802A99A4(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x2D: - func_802A8ADC(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x2A: - func_802A89C0(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x56: - func_802A8A04(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x57: - func_802A8A70(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - case 0x2B: - func_802A8940(temp_s1, temp_s0, temp_a0, phi_a3); - phi_a3 = &D_802BA274; - break; - } + D_802BA274 = temp_v1 + 1; + switch (temp_a0) { /* irregular */ + case 0x0: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x1: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x2: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x3: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x4: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x5: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x6: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x7: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x8: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x9: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0xA: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0xB: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0xC: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0xD: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0xE: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0xF: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x10: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x11: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x12: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x13: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x14: + func_802A884C(temp_s1, temp_s0, (s8) temp_a0); + goto loop_1; + case 0x15: + func_802A8B48(temp_s1, temp_s0, arg2); + goto loop_1; + case 0x16: + func_802A8BB4(temp_s1, temp_s0, arg2); + goto loop_1; + case 0x17: + func_802A8C20(temp_s1, temp_s0, arg2); + goto loop_1; + case 0x2E: + func_802A8C8C(temp_s1, temp_s0, arg2); + goto loop_1; + case 0x53: + func_802A8CF8(temp_s1, temp_s0, arg2); + goto loop_1; + case 0x18: + func_802A8D64(temp_s1, temp_s0, arg2); + goto loop_1; + case 0x19: + func_802A8DD0(temp_s1, temp_s0, arg2); + goto loop_1; + case 0x2F: + func_802A8E3C(temp_s1, temp_s0, arg2); + goto loop_1; + case 0x54: + func_802A8EA8(temp_s1, temp_s0, arg2); + goto loop_1; + case 0x55: + func_802A8F14(temp_s1, temp_s0, arg2); + goto loop_1; + case 0x1A: + func_802A8F80(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x2C: + func_802A8F80(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x1B: + func_802A8F80(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x1C: + func_802A8F80(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x1D: + func_802A8F80(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x1E: + func_802A8F80(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x1F: + func_802A8F80(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x20: + func_802A91E4(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x21: + func_802A91E4(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x22: + func_802A91E4(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x23: + func_802A91E4(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x24: + func_802A91E4(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x25: + func_802A91E4(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x26: + func_802A94D8(temp_s1, temp_s0, (u8) (s8) temp_a0); + goto loop_1; + case 0x27: + func_802A9544(temp_s1, temp_s0, (u8) (s8) temp_a0); + goto loop_1; + case 0x28: + func_802A95B0(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x33: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x34: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x35: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x36: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x37: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x38: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x39: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x3A: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x3B: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x3C: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x3D: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x3E: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x3F: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x40: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x41: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x42: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x43: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x44: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x45: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x46: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x47: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x48: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x49: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x4A: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x4B: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x4C: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x4D: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x4E: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x4F: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x50: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x51: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x52: + func_802A9674(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x29: + func_802A9714(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x58: + func_802A980C(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x30: + func_802A99A4(temp_s1, temp_s0, (s8) temp_a0, &D_802BA274); + goto loop_1; + case 0x2D: + func_802A8ADC(temp_s1, temp_s0, (u8) (s8) temp_a0); + goto loop_1; + case 0x2A: + func_802A89C0(temp_s1, temp_s0, (u8) (s8) temp_a0); + goto loop_1; + case 0x56: + func_802A8A04(temp_s1, temp_s0, (u8) (s8) temp_a0); + goto loop_1; + case 0x57: + func_802A8A70(temp_s1, temp_s0, (u8) (s8) temp_a0); + goto loop_1; + case 0x2B: + func_802A8940(temp_s1, (u8 *) temp_s0, (u8) (s8) temp_a0); goto loop_1; } set_segment_base_addr(7, sp2C); @@ -1503,15 +1394,16 @@ GLOBAL_ASM("asm/non_matchings/memory/func_802AA88C.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? display_list_unpack(u32 *, u32 *, s32); // extern -s32 func_802A7D70(u32 *, u32 *, u32 *); // extern -s32 func_802A82E4(u32 *, u32 *); // extern -? func_802A87A8(mk64_Vtx *, u32); // extern -? func_802AA7C8(u32 *); // extern +//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc +? display_list_unpack(u32 *, u32 *, s32); /* extern */ +? func_802A87A8(mk64_Vtx *, u32); /* extern */ +? func_802AA7C8(u32 *); /* extern */ +void *func_802AA88C(u32 *, u32 *); /* extern */ +extern s32 gGamestate; +extern s32 gHeapEndPtr; extern s32 gPrevLoadedAddress; -void load_course(s32 arg0) { +s32 load_course(s32 arg0) { s32 sp4C; u32 *sp48; u32 *sp44; @@ -1524,41 +1416,40 @@ void load_course(s32 arg0) { u32 *sp20; s32 sp1C; s32 sp18; - s32 temp_v0_2; + s32 temp_v0; s32 temp_v1; - struct courseTable *temp_v0; - u32 *temp_a2; + struct courseTable *temp_v0_2; - temp_v0 = &gCourseTable[arg0]; + temp_v0_2 = &gCourseTable[arg0]; temp_v1 = gGamestate; - temp_a2 = temp_v0->offsetRomStart; - sp48 = temp_v0->dlRomStart; - sp44 = temp_v0->dlRomEnd; - sp40 = temp_v0->vertexRomStart; - sp3C = temp_v0->vertexRomEnd; - sp30 = temp_v0->textures; - sp2C = temp_v0->vertexStart; - sp28 = temp_v0->packedStart; - sp24 = temp_v0->vertexCount; - sp20 = temp_v0->finalDL; - sp1C = temp_v0->unknown1; + sp48 = temp_v0_2->dlRomStart; + sp44 = temp_v0_2->dlRomEnd; + sp40 = temp_v0_2->vertexRomStart; + sp3C = temp_v0_2->vertexRomEnd; + sp30 = temp_v0_2->textures; + sp2C = temp_v0_2->vertexStart; + sp28 = temp_v0_2->packedStart; + sp24 = temp_v0_2->vertexCount; + sp20 = temp_v0_2->finalDL; + sp1C = (s32) temp_v0_2->unknown1; if ((temp_v1 == 5) || (temp_v1 == 9)) { gHeapEndPtr = 0x80280000; } else { gHeapEndPtr = 0x8028DF00; } - set_segment_base_addr(9, func_802A7D70(temp_a2, temp_v0->offsetRomEnd, temp_a2)); + set_segment_base_addr(9, func_802A7D70((s32) temp_v0_2->offsetRomStart, (s32) temp_v0_2->offsetRomEnd)); if (gGamestate != ENDING_SEQUENCE) { set_segment_base_addr(6, func_802AA88C(sp48, sp44)); } sp18 = gPrevLoadedAddress; - temp_v0_2 = func_802A82E4(sp40, sp3C); - sp4C = temp_v0_2; - set_segment_base_addr(0xF, temp_v0_2); + temp_v0 = func_802A82E4((u8 *) sp40, (u8 *) sp3C); + sp4C = temp_v0; + set_segment_base_addr(0x0000000F, (void *) temp_v0); func_802A87A8(sp2C, sp24); display_list_unpack(sp28, sp20, sp1C); func_802AA7C8(sp30); gPrevLoadedAddress = sp18; + return temp_v0; } #else GLOBAL_ASM("asm/non_matchings/memory/load_course.s") @@ -1575,28 +1466,20 @@ void func_802AAA70(uintptr_t addr) { macro->words.w1 = G_SPNOOP; } -#ifdef MIPS_TO_C -//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd void func_802AAAAC(UnkActorInner *arg0) { - f32 *temp_a0; - arg0->unk36 = 0x1388; arg0->unk38 = 0x1388; arg0->unk3A = 0x1388; arg0->unk30 = 0; arg0->unk32 = 0; arg0->unk34 = 0; - temp_a0 = arg0->unk48; - temp_a0->unk-C = 0.0f; - temp_a0->unk-8 = 0.0f; - temp_a0->unk-4 = 0.0f; - vec3f_set(temp_a0, 0.0f, 0.0f, 1.0f); + arg0->unk3C[0] = 0; + arg0->unk3C[1] = 0; + arg0->unk3C[2] = 0; + vec3f_set(arg0->unk48, 0.0f, 0.0f, 1.0f); vec3f_set(arg0->unk54, 1.0f, 0.0f, 0.0f); vec3f_set(arg0->unk60, 0.0f, 1.0f, 0.0f); } -#else -GLOBAL_ASM("asm/non_matchings/memory/func_802AAAAC.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -2356,12 +2239,12 @@ GLOBAL_ASM("asm/non_matchings/memory/process_shell_collision.s") #endif void func_802AC098(UnkActorInner *arg0, f32 *velocity) { - if (arg0->unk3C < 0.0f) { - process_shell_collision(arg0->unk48, arg0->unk3C, velocity, 2.0f); + if (arg0->unk3C[0] < 0.0f) { + process_shell_collision(arg0->unk48, arg0->unk3C[0], velocity, 2.0f); } - if (arg0->unk40 < 0.0f) { - process_shell_collision(arg0->unk54, arg0->unk40, velocity, 2.0f); + if (arg0->unk3C[1] < 0.0f) { + process_shell_collision(arg0->unk54, arg0->unk3C[1], velocity, 2.0f); } } diff --git a/src/memory.h b/src/memory.h index 219c62d88..ac0b66096 100644 --- a/src/memory.h +++ b/src/memory.h @@ -97,6 +97,7 @@ f32 func_802ABE30(f32, f32, f32, u16); f32 func_802ABEAC(UnkActorInner*, Vec3f); void process_shell_collision(Vec3f, f32, Vec3f, f32); void func_802AC098(UnkActorInner*, f32*); +void func_802AC114(Vec3f, f32, Vec3f, f32); void func_802AD950(UnkActorInner*, f32, f32, f32, f32, f32, f32, f32); void func_802ADDC8(UnkActorInner*, f32, f32, f32, f32); f32 func_802AE1C0(f32, f32, f32); diff --git a/src/race_logic.c b/src/race_logic.c index 75beba8b9..4cb01666c 100644 --- a/src/race_logic.c +++ b/src/race_logic.c @@ -87,6 +87,9 @@ extern f32 D_80150148; extern u16 D_8015F894; +s32 D_802B91C0[2] = { 13, 13 }; +Vec3f D_802B91C8 = { 0.0f, 0.0f, 0.0f }; + u16 D_802BA030; u16 D_802BA032; diff --git a/src/render_courses.c b/src/render_courses.c index 9fdaa05d3..2b8ec3f58 100644 --- a/src/render_courses.c +++ b/src/render_courses.c @@ -13,10 +13,10 @@ s32 func_80290C20(Camera *camera) { if (camera->unk_54.unk34 == 0) { return 1; } - if ((camera->unk_54.unk30 == 1) && (camera->unk_54.unk3C < 3.0f)) { + if ((camera->unk_54.unk30 == 1) && (camera->unk_54.unk3C[0] < 3.0f)) { return 1; } - if ((camera->unk_54.unk32 == 1) && (camera->unk_54.unk40 < 3.0f)) { + if ((camera->unk_54.unk32 == 1) && (camera->unk_54.unk3C[1] < 3.0f)) { return 1; } return 0; diff --git a/src/render_courses.h b/src/render_courses.h index 839e23dbb..0e8291849 100644 --- a/src/render_courses.h +++ b/src/render_courses.h @@ -118,8 +118,8 @@ extern Gfx D_sherbet_land_06000000[]; extern u16 D_800DC518; extern u16 D_8015F58A; -extern s16 D_8015F700; -extern s16 D_8015F702; +extern u16 D_8015F700; +extern u16 D_8015F702; extern f32 D_8015F8E8; extern f32 D_8015F8E4; diff --git a/src/spawn_players.c b/src/spawn_players.c index 9cc0f05b9..a80b62505 100644 --- a/src/spawn_players.c +++ b/src/spawn_players.c @@ -131,7 +131,7 @@ void spawn_player(Player *player, s8 playerIndex, f32 arg2, f32 arg3, f32 arg4, player->unk_10C = 0; player->unk_200 = 0; player->unk_204 = 0; - player->unk_220 = 0; + player->nearestWaypointId = 0; player->unk_228 = 0; player->unk_22A = 0; player->unk_234 = 0; @@ -276,9 +276,9 @@ 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_110.unk3C = 0.0f; - player->unk_110.unk40 = 0.0f; - player->unk_110.unk44 = 0.0f; + player->unk_110.unk3C[0] = 0.0f; + player->unk_110.unk3C[1] = 0.0f; + player->unk_110.unk3C[2] = 0.0f; player->unk_110.unk48[0] = 0.0f; player->unk_110.unk48[1] = 0.0f; player->unk_110.unk48[2] = 0.0f;