From 418d7d95c6a898e8fc712009fdf4c5e231edcf7f Mon Sep 17 00:00:00 2001 From: MegaMech Date: Sat, 14 May 2022 16:12:32 -0600 Subject: [PATCH] Memory and Actor decomp (#201) * Decomp more actors * Added editor config to prevent clrf * Memory and actor decomp * Update code_80296A50.c * Update code_80296A50.c --- .editorconfig | 1 + asm/non_matchings/code_actors/func_8029B8E8.s | 440 ------ asm/non_matchings/code_actors/func_8029BFB0.s | 269 ---- asm/non_matchings/code_actors/func_8029C3CC.s | 439 ------ asm/non_matchings/code_actors/func_8029CA90.s | 101 -- .../code_actors/place_palm_trees.s | 102 -- .../code_actors/place_piranha_plants.s | 94 -- asm/non_matchings/memory/func_802A94D8.s | 28 - asm/non_matchings/memory/func_802A9544.s | 28 - data/data_121DA0_1.s | 16 +- include/actor_types.h | 18 +- src/code_80296A50.c | 1201 ++++++----------- src/memory.c | 45 +- 13 files changed, 477 insertions(+), 2305 deletions(-) create mode 100644 .editorconfig delete mode 100644 asm/non_matchings/code_actors/func_8029B8E8.s delete mode 100644 asm/non_matchings/code_actors/func_8029BFB0.s delete mode 100644 asm/non_matchings/code_actors/func_8029C3CC.s delete mode 100644 asm/non_matchings/code_actors/func_8029CA90.s delete mode 100644 asm/non_matchings/code_actors/place_palm_trees.s delete mode 100644 asm/non_matchings/code_actors/place_piranha_plants.s delete mode 100644 asm/non_matchings/memory/func_802A94D8.s delete mode 100644 asm/non_matchings/memory/func_802A9544.s diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..3a728d56d --- /dev/null +++ b/.editorconfig @@ -0,0 +1 @@ +end_of_line = lf diff --git a/asm/non_matchings/code_actors/func_8029B8E8.s b/asm/non_matchings/code_actors/func_8029B8E8.s deleted file mode 100644 index 2839cf20b..000000000 --- a/asm/non_matchings/code_actors/func_8029B8E8.s +++ /dev/null @@ -1,440 +0,0 @@ -glabel func_8029B8E8 -/* 104EF8 8029B8E8 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e -/* 104EFC 8029B8EC 8DCEDB40 */ lw $t6, %lo(camera1)($t6) -/* 104F00 8029B8F0 240100B8 */ li $at, 184 -/* 104F04 8029B8F4 27BDFE88 */ addiu $sp, $sp, -0x178 -/* 104F08 8029B8F8 008E7823 */ subu $t7, $a0, $t6 -/* 104F0C 8029B8FC 01E1001A */ div $zero, $t7, $at -/* 104F10 8029B900 0000C012 */ mflo $t8 -/* 104F14 8029B904 0018C880 */ sll $t9, $t8, 2 -/* 104F18 8029B908 3C018015 */ lui $at, %hi(D_80150130) -/* 104F1C 8029B90C 00390821 */ addu $at, $at, $t9 -/* 104F20 8029B910 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 104F24 8029B914 AFBF0024 */ sw $ra, 0x24($sp) -/* 104F28 8029B918 AFB00020 */ sw $s0, 0x20($sp) -/* 104F2C 8029B91C AFA5017C */ sw $a1, 0x17c($sp) -/* 104F30 8029B920 3C01802C */ lui $at, %hi(D_802B9720) # $at, 0x802c -/* 104F34 8029B924 C4269720 */ lwc1 $f6, %lo(D_802B9720)($at) -/* 104F38 8029B928 94860026 */ lhu $a2, 0x26($a0) -/* 104F3C 8029B92C 24A50018 */ addiu $a1, $a1, 0x18 -/* 104F40 8029B930 3C07451C */ lui $a3, (0x451C4000 >> 16) # lui $a3, 0x451c -/* 104F44 8029B934 34E74000 */ ori $a3, (0x451C4000 & 0xFFFF) # ori $a3, $a3, 0x4000 -/* 104F48 8029B938 AFA50030 */ sw $a1, 0x30($sp) -/* 104F4C 8029B93C E7A40010 */ swc1 $f4, 0x10($sp) -/* 104F50 8029B940 0C0AE034 */ jal func_802B80D0 -/* 104F54 8029B944 E7A60014 */ swc1 $f6, 0x14($sp) -/* 104F58 8029B948 44804000 */ mtc1 $zero, $f8 -/* 104F5C 8029B94C 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 104F60 8029B950 8FA50030 */ lw $a1, 0x30($sp) -/* 104F64 8029B954 4608003C */ c.lt.s $f0, $f8 -/* 104F68 8029B958 46000086 */ mov.s $f2, $f0 -/* 104F6C 8029B95C 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 104F70 8029B960 3C09B600 */ lui $t1, 0xb600 -/* 104F74 8029B964 4503018E */ bc1tl .L8029BFA0 -/* 104F78 8029B968 8FBF0024 */ lw $ra, 0x24($sp) -/* 104F7C 8029B96C 8E020000 */ lw $v0, ($s0) -/* 104F80 8029B970 3C0A0002 */ lui $t2, 2 -/* 104F84 8029B974 27A40120 */ addiu $a0, $sp, 0x120 -/* 104F88 8029B978 24480008 */ addiu $t0, $v0, 8 -/* 104F8C 8029B97C AE080000 */ sw $t0, ($s0) -/* 104F90 8029B980 AC4A0004 */ sw $t2, 4($v0) -/* 104F94 8029B984 AC490000 */ sw $t1, ($v0) -/* 104F98 8029B988 8FA6017C */ lw $a2, 0x17c($sp) -/* 104F9C 8029B98C E7A2009C */ swc1 $f2, 0x9c($sp) -/* 104FA0 8029B990 0C0AD7DD */ jal func_802B5F74 -/* 104FA4 8029B994 24C60010 */ addiu $a2, $a2, 0x10 -/* 104FA8 8029B998 27A40120 */ addiu $a0, $sp, 0x120 -/* 104FAC 8029B99C 0C0AD3FE */ jal func_802B4FF8 -/* 104FB0 8029B9A0 00002825 */ move $a1, $zero -/* 104FB4 8029B9A4 1040017D */ beqz $v0, .L8029BF9C -/* 104FB8 8029B9A8 C7A2009C */ lwc1 $f2, 0x9c($sp) -/* 104FBC 8029B9AC 3C01802C */ lui $at, %hi(D_802B9724) # $at, 0x802c -/* 104FC0 8029B9B0 C42A9724 */ lwc1 $f10, %lo(D_802B9724)($at) -/* 104FC4 8029B9B4 3C070600 */ lui $a3, 0x600 -/* 104FC8 8029B9B8 3C01802C */ lui $at, %hi(D_802B9728) # $at, 0x802c -/* 104FCC 8029B9BC 460A103C */ c.lt.s $f2, $f10 -/* 104FD0 8029B9C0 00000000 */ nop -/* 104FD4 8029B9C4 45000010 */ bc1f .L8029BA08 -/* 104FD8 8029B9C8 00000000 */ nop -/* 104FDC 8029B9CC 8E020000 */ lw $v0, ($s0) -/* 104FE0 8029B9D0 3C0C0602 */ lui $t4, %hi(D_0601C0F0) # $t4, 0x602 -/* 104FE4 8029B9D4 258CC0F0 */ addiu $t4, %lo(D_0601C0F0) # addiu $t4, $t4, -0x3f10 -/* 104FE8 8029B9D8 244B0008 */ addiu $t3, $v0, 8 -/* 104FEC 8029B9DC AE0B0000 */ sw $t3, ($s0) -/* 104FF0 8029B9E0 AC4C0004 */ sw $t4, 4($v0) -/* 104FF4 8029B9E4 AC470000 */ sw $a3, ($v0) -/* 104FF8 8029B9E8 8E020000 */ lw $v0, ($s0) -/* 104FFC 8029B9EC 3C0E0602 */ lui $t6, %hi(D_0601B978) # $t6, 0x602 -/* 105000 8029B9F0 25CEB978 */ addiu $t6, %lo(D_0601B978) # addiu $t6, $t6, -0x4688 -/* 105004 8029B9F4 244D0008 */ addiu $t5, $v0, 8 -/* 105008 8029B9F8 AE0D0000 */ sw $t5, ($s0) -/* 10500C 8029B9FC AC4E0004 */ sw $t6, 4($v0) -/* 105010 8029BA00 10000027 */ b .L8029BAA0 -/* 105014 8029BA04 AC470000 */ sw $a3, ($v0) -.L8029BA08: -/* 105018 8029BA08 C4309728 */ lwc1 $f16, %lo(D_802B9728)($at) -/* 10501C 8029BA0C 3C190602 */ lui $t9, %hi(D_0601D670) # $t9, 0x602 -/* 105020 8029BA10 3C0D0602 */ lui $t5, %hi(D_0601E910) # $t5, 0x602 -/* 105024 8029BA14 4610103C */ c.lt.s $f2, $f16 -/* 105028 8029BA18 2739D670 */ addiu $t9, %lo(D_0601D670) # addiu $t9, $t9, -0x2990 -/* 10502C 8029BA1C 3C180600 */ lui $t8, 0x600 -/* 105030 8029BA20 25ADE910 */ addiu $t5, %lo(D_0601E910) # addiu $t5, $t5, -0x16f0 -/* 105034 8029BA24 45000010 */ bc1f .L8029BA68 -/* 105038 8029BA28 3C0C0600 */ lui $t4, 0x600 -/* 10503C 8029BA2C 8E020000 */ lw $v0, ($s0) -/* 105040 8029BA30 3C0A0602 */ lui $t2, %hi(D_0601D160) # $t2, 0x602 -/* 105044 8029BA34 254AD160 */ addiu $t2, %lo(D_0601D160) # addiu $t2, $t2, -0x2ea0 -/* 105048 8029BA38 244F0008 */ addiu $t7, $v0, 8 -/* 10504C 8029BA3C AE0F0000 */ sw $t7, ($s0) -/* 105050 8029BA40 AC590004 */ sw $t9, 4($v0) -/* 105054 8029BA44 AC580000 */ sw $t8, ($v0) -/* 105058 8029BA48 8E020000 */ lw $v0, ($s0) -/* 10505C 8029BA4C 3C090600 */ lui $t1, 0x600 -/* 105060 8029BA50 3C070600 */ lui $a3, 0x600 -/* 105064 8029BA54 24480008 */ addiu $t0, $v0, 8 -/* 105068 8029BA58 AE080000 */ sw $t0, ($s0) -/* 10506C 8029BA5C AC4A0004 */ sw $t2, 4($v0) -/* 105070 8029BA60 1000000F */ b .L8029BAA0 -/* 105074 8029BA64 AC490000 */ sw $t1, ($v0) -.L8029BA68: -/* 105078 8029BA68 8E020000 */ lw $v0, ($s0) -/* 10507C 8029BA6C 3C180602 */ lui $t8, %hi(D_0601E480) # $t8, 0x602 -/* 105080 8029BA70 2718E480 */ addiu $t8, %lo(D_0601E480) # addiu $t8, $t8, -0x1b80 -/* 105084 8029BA74 244B0008 */ addiu $t3, $v0, 8 -/* 105088 8029BA78 AE0B0000 */ sw $t3, ($s0) -/* 10508C 8029BA7C AC4D0004 */ sw $t5, 4($v0) -/* 105090 8029BA80 AC4C0000 */ sw $t4, ($v0) -/* 105094 8029BA84 8E020000 */ lw $v0, ($s0) -/* 105098 8029BA88 3C0F0600 */ lui $t7, 0x600 -/* 10509C 8029BA8C 3C070600 */ lui $a3, 0x600 -/* 1050A0 8029BA90 244E0008 */ addiu $t6, $v0, 8 -/* 1050A4 8029BA94 AE0E0000 */ sw $t6, ($s0) -/* 1050A8 8029BA98 AC580004 */ sw $t8, 4($v0) -/* 1050AC 8029BA9C AC4F0000 */ sw $t7, ($v0) -.L8029BAA0: -/* 1050B0 8029BAA0 3C01802C */ lui $at, %hi(D_802B972C) # $at, 0x802c -/* 1050B4 8029BAA4 C432972C */ lwc1 $f18, %lo(D_802B972C)($at) -/* 1050B8 8029BAA8 4602903C */ c.lt.s $f18, $f2 -/* 1050BC 8029BAAC 00000000 */ nop -/* 1050C0 8029BAB0 4503013B */ bc1tl .L8029BFA0 -/* 1050C4 8029BAB4 8FBF0024 */ lw $ra, 0x24($sp) -/* 1050C8 8029BAB8 8E020000 */ lw $v0, ($s0) -/* 1050CC 8029BABC 3C08B600 */ lui $t0, 0xb600 -/* 1050D0 8029BAC0 24092000 */ li $t1, 8192 -/* 1050D4 8029BAC4 24590008 */ addiu $t9, $v0, 8 -/* 1050D8 8029BAC8 AE190000 */ sw $t9, ($s0) -/* 1050DC 8029BACC AC490004 */ sw $t1, 4($v0) -/* 1050E0 8029BAD0 AC480000 */ sw $t0, ($v0) -/* 1050E4 8029BAD4 8E020000 */ lw $v0, ($s0) -/* 1050E8 8029BAD8 3C0B0602 */ lui $t3, %hi(D_06022D28) # $t3, 0x602 -/* 1050EC 8029BADC 256B2D28 */ addiu $t3, %lo(D_06022D28) # addiu $t3, $t3, 0x2d28 -/* 1050F0 8029BAE0 244A0008 */ addiu $t2, $v0, 8 -/* 1050F4 8029BAE4 AE0A0000 */ sw $t2, ($s0) -/* 1050F8 8029BAE8 AC4B0004 */ sw $t3, 4($v0) -/* 1050FC 8029BAEC AC470000 */ sw $a3, ($v0) -/* 105100 8029BAF0 8FAC017C */ lw $t4, 0x17c($sp) -/* 105104 8029BAF4 27A40120 */ addiu $a0, $sp, 0x120 -/* 105108 8029BAF8 0C0AD677 */ jal func_802B59DC -/* 10510C 8029BAFC 85850006 */ lh $a1, 6($t4) -/* 105110 8029BB00 27A40160 */ addiu $a0, $sp, 0x160 -/* 105114 8029BB04 3C054188 */ lui $a1, 0x4188 -/* 105118 8029BB08 3C0640C0 */ lui $a2, 0x40c0 -/* 10511C 8029BB0C 0C0AD4A7 */ jal vec3f_set -/* 105120 8029BB10 3C074200 */ lui $a3, 0x4200 -/* 105124 8029BB14 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 105128 8029BB18 0C0AD548 */ jal mtxf_translate -/* 10512C 8029BB1C 27A50160 */ addiu $a1, $sp, 0x160 -/* 105130 8029BB20 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 105134 8029BB24 27A50120 */ addiu $a1, $sp, 0x120 -/* 105138 8029BB28 0C0ADC73 */ jal func_802B71CC -/* 10513C 8029BB2C 27A600E0 */ addiu $a2, $sp, 0xe0 -/* 105140 8029BB30 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 105144 8029BB34 0C0AD3FE */ jal func_802B4FF8 -/* 105148 8029BB38 24050003 */ li $a1, 3 -/* 10514C 8029BB3C 10400117 */ beqz $v0, .L8029BF9C -/* 105150 8029BB40 3C0E0600 */ lui $t6, 0x600 -/* 105154 8029BB44 8E020000 */ lw $v0, ($s0) -/* 105158 8029BB48 3C070602 */ lui $a3, %hi(D_06022DB8) # $a3, 0x602 -/* 10515C 8029BB4C 24E72DB8 */ addiu $a3, %lo(D_06022DB8) # addiu $a3, $a3, 0x2db8 -/* 105160 8029BB50 244D0008 */ addiu $t5, $v0, 8 -/* 105164 8029BB54 AE0D0000 */ sw $t5, ($s0) -/* 105168 8029BB58 AC470004 */ sw $a3, 4($v0) -/* 10516C 8029BB5C AC4E0000 */ sw $t6, ($v0) -/* 105170 8029BB60 8E020000 */ lw $v0, ($s0) -/* 105174 8029BB64 3C18BD00 */ lui $t8, 0xbd00 -/* 105178 8029BB68 27A40120 */ addiu $a0, $sp, 0x120 -/* 10517C 8029BB6C 244F0008 */ addiu $t7, $v0, 8 -/* 105180 8029BB70 AE0F0000 */ sw $t7, ($s0) -/* 105184 8029BB74 AC400004 */ sw $zero, 4($v0) -/* 105188 8029BB78 AC580000 */ sw $t8, ($v0) -/* 10518C 8029BB7C 8FB9017C */ lw $t9, 0x17c($sp) -/* 105190 8029BB80 87250006 */ lh $a1, 6($t9) -/* 105194 8029BB84 0C0AD677 */ jal func_802B59DC -/* 105198 8029BB88 AFA70030 */ sw $a3, 0x30($sp) -/* 10519C 8029BB8C 27A40160 */ addiu $a0, $sp, 0x160 -/* 1051A0 8029BB90 3C05C188 */ lui $a1, 0xc188 -/* 1051A4 8029BB94 3C0640C0 */ lui $a2, 0x40c0 -/* 1051A8 8029BB98 0C0AD4A7 */ jal vec3f_set -/* 1051AC 8029BB9C 3C074200 */ lui $a3, 0x4200 -/* 1051B0 8029BBA0 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 1051B4 8029BBA4 0C0AD548 */ jal mtxf_translate -/* 1051B8 8029BBA8 27A50160 */ addiu $a1, $sp, 0x160 -/* 1051BC 8029BBAC 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 1051C0 8029BBB0 27A50120 */ addiu $a1, $sp, 0x120 -/* 1051C4 8029BBB4 0C0ADC73 */ jal func_802B71CC -/* 1051C8 8029BBB8 27A600E0 */ addiu $a2, $sp, 0xe0 -/* 1051CC 8029BBBC 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 1051D0 8029BBC0 0C0AD3FE */ jal func_802B4FF8 -/* 1051D4 8029BBC4 24050003 */ li $a1, 3 -/* 1051D8 8029BBC8 504000F5 */ beql $v0, $zero, .L8029BFA0 -/* 1051DC 8029BBCC 8FBF0024 */ lw $ra, 0x24($sp) -/* 1051E0 8029BBD0 8E020000 */ lw $v0, ($s0) -/* 1051E4 8029BBD4 3C090600 */ lui $t1, 0x600 -/* 1051E8 8029BBD8 3C0CBD00 */ lui $t4, 0xbd00 -/* 1051EC 8029BBDC 24480008 */ addiu $t0, $v0, 8 -/* 1051F0 8029BBE0 AE080000 */ sw $t0, ($s0) -/* 1051F4 8029BBE4 AC490000 */ sw $t1, ($v0) -/* 1051F8 8029BBE8 8FAA0030 */ lw $t2, 0x30($sp) -/* 1051FC 8029BBEC 27A40120 */ addiu $a0, $sp, 0x120 -/* 105200 8029BBF0 AC4A0004 */ sw $t2, 4($v0) -/* 105204 8029BBF4 8E020000 */ lw $v0, ($s0) -/* 105208 8029BBF8 244B0008 */ addiu $t3, $v0, 8 -/* 10520C 8029BBFC AE0B0000 */ sw $t3, ($s0) -/* 105210 8029BC00 AC400004 */ sw $zero, 4($v0) -/* 105214 8029BC04 AC4C0000 */ sw $t4, ($v0) -/* 105218 8029BC08 8FAD017C */ lw $t5, 0x17c($sp) -/* 10521C 8029BC0C 85A50006 */ lh $a1, 6($t5) -/* 105220 8029BC10 24A5016C */ addiu $a1, $a1, 0x16c -/* 105224 8029BC14 00057400 */ sll $t6, $a1, 0x10 -/* 105228 8029BC18 0C0AD677 */ jal func_802B59DC -/* 10522C 8029BC1C 000E2C03 */ sra $a1, $t6, 0x10 -/* 105230 8029BC20 27A40160 */ addiu $a0, $sp, 0x160 -/* 105234 8029BC24 3C054188 */ lui $a1, 0x4188 -/* 105238 8029BC28 3C0640C0 */ lui $a2, 0x40c0 -/* 10523C 8029BC2C 0C0AD4A7 */ jal vec3f_set -/* 105240 8029BC30 3C074180 */ lui $a3, 0x4180 -/* 105244 8029BC34 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 105248 8029BC38 0C0AD548 */ jal mtxf_translate -/* 10524C 8029BC3C 27A50160 */ addiu $a1, $sp, 0x160 -/* 105250 8029BC40 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 105254 8029BC44 27A50120 */ addiu $a1, $sp, 0x120 -/* 105258 8029BC48 0C0ADC73 */ jal func_802B71CC -/* 10525C 8029BC4C 27A600E0 */ addiu $a2, $sp, 0xe0 -/* 105260 8029BC50 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 105264 8029BC54 0C0AD3FE */ jal func_802B4FF8 -/* 105268 8029BC58 24050003 */ li $a1, 3 -/* 10526C 8029BC5C 504000D0 */ beql $v0, $zero, .L8029BFA0 -/* 105270 8029BC60 8FBF0024 */ lw $ra, 0x24($sp) -/* 105274 8029BC64 8E020000 */ lw $v0, ($s0) -/* 105278 8029BC68 3C190600 */ lui $t9, 0x600 -/* 10527C 8029BC6C 3C0ABD00 */ lui $t2, 0xbd00 -/* 105280 8029BC70 24580008 */ addiu $t8, $v0, 8 -/* 105284 8029BC74 AE180000 */ sw $t8, ($s0) -/* 105288 8029BC78 AC590000 */ sw $t9, ($v0) -/* 10528C 8029BC7C 8FA80030 */ lw $t0, 0x30($sp) -/* 105290 8029BC80 27A40120 */ addiu $a0, $sp, 0x120 -/* 105294 8029BC84 AC480004 */ sw $t0, 4($v0) -/* 105298 8029BC88 8E020000 */ lw $v0, ($s0) -/* 10529C 8029BC8C 24490008 */ addiu $t1, $v0, 8 -/* 1052A0 8029BC90 AE090000 */ sw $t1, ($s0) -/* 1052A4 8029BC94 AC400004 */ sw $zero, 4($v0) -/* 1052A8 8029BC98 AC4A0000 */ sw $t2, ($v0) -/* 1052AC 8029BC9C 8FAB017C */ lw $t3, 0x17c($sp) -/* 1052B0 8029BCA0 85650006 */ lh $a1, 6($t3) -/* 1052B4 8029BCA4 24A5016C */ addiu $a1, $a1, 0x16c -/* 1052B8 8029BCA8 00056400 */ sll $t4, $a1, 0x10 -/* 1052BC 8029BCAC 0C0AD677 */ jal func_802B59DC -/* 1052C0 8029BCB0 000C2C03 */ sra $a1, $t4, 0x10 -/* 1052C4 8029BCB4 27A40160 */ addiu $a0, $sp, 0x160 -/* 1052C8 8029BCB8 3C05C188 */ lui $a1, 0xc188 -/* 1052CC 8029BCBC 3C0640C0 */ lui $a2, 0x40c0 -/* 1052D0 8029BCC0 0C0AD4A7 */ jal vec3f_set -/* 1052D4 8029BCC4 3C074180 */ lui $a3, 0x4180 -/* 1052D8 8029BCC8 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 1052DC 8029BCCC 0C0AD548 */ jal mtxf_translate -/* 1052E0 8029BCD0 27A50160 */ addiu $a1, $sp, 0x160 -/* 1052E4 8029BCD4 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 1052E8 8029BCD8 27A50120 */ addiu $a1, $sp, 0x120 -/* 1052EC 8029BCDC 0C0ADC73 */ jal func_802B71CC -/* 1052F0 8029BCE0 27A600E0 */ addiu $a2, $sp, 0xe0 -/* 1052F4 8029BCE4 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 1052F8 8029BCE8 0C0AD3FE */ jal func_802B4FF8 -/* 1052FC 8029BCEC 24050003 */ li $a1, 3 -/* 105300 8029BCF0 504000AB */ beql $v0, $zero, .L8029BFA0 -/* 105304 8029BCF4 8FBF0024 */ lw $ra, 0x24($sp) -/* 105308 8029BCF8 8E020000 */ lw $v0, ($s0) -/* 10530C 8029BCFC 3C0F0600 */ lui $t7, 0x600 -/* 105310 8029BD00 3C08BD00 */ lui $t0, 0xbd00 -/* 105314 8029BD04 244E0008 */ addiu $t6, $v0, 8 -/* 105318 8029BD08 AE0E0000 */ sw $t6, ($s0) -/* 10531C 8029BD0C AC4F0000 */ sw $t7, ($v0) -/* 105320 8029BD10 8FB80030 */ lw $t8, 0x30($sp) -/* 105324 8029BD14 27A40120 */ addiu $a0, $sp, 0x120 -/* 105328 8029BD18 AC580004 */ sw $t8, 4($v0) -/* 10532C 8029BD1C 8E020000 */ lw $v0, ($s0) -/* 105330 8029BD20 24590008 */ addiu $t9, $v0, 8 -/* 105334 8029BD24 AE190000 */ sw $t9, ($s0) -/* 105338 8029BD28 AC400004 */ sw $zero, 4($v0) -/* 10533C 8029BD2C AC480000 */ sw $t0, ($v0) -/* 105340 8029BD30 8FA9017C */ lw $t1, 0x17c($sp) -/* 105344 8029BD34 85250006 */ lh $a1, 6($t1) -/* 105348 8029BD38 24A50444 */ addiu $a1, $a1, 0x444 -/* 10534C 8029BD3C 00055400 */ sll $t2, $a1, 0x10 -/* 105350 8029BD40 0C0AD677 */ jal func_802B59DC -/* 105354 8029BD44 000A2C03 */ sra $a1, $t2, 0x10 -/* 105358 8029BD48 27A40160 */ addiu $a0, $sp, 0x160 -/* 10535C 8029BD4C 3C054188 */ lui $a1, 0x4188 -/* 105360 8029BD50 3C064140 */ lui $a2, 0x4140 -/* 105364 8029BD54 0C0AD4A7 */ jal vec3f_set -/* 105368 8029BD58 3C07C140 */ lui $a3, 0xc140 -/* 10536C 8029BD5C 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 105370 8029BD60 0C0AD548 */ jal mtxf_translate -/* 105374 8029BD64 27A50160 */ addiu $a1, $sp, 0x160 -/* 105378 8029BD68 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 10537C 8029BD6C 27A50120 */ addiu $a1, $sp, 0x120 -/* 105380 8029BD70 0C0ADC73 */ jal func_802B71CC -/* 105384 8029BD74 27A600E0 */ addiu $a2, $sp, 0xe0 -/* 105388 8029BD78 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 10538C 8029BD7C 0C0AD3FE */ jal func_802B4FF8 -/* 105390 8029BD80 24050003 */ li $a1, 3 -/* 105394 8029BD84 10400085 */ beqz $v0, .L8029BF9C -/* 105398 8029BD88 3C0D0600 */ lui $t5, 0x600 -/* 10539C 8029BD8C 8E020000 */ lw $v0, ($s0) -/* 1053A0 8029BD90 3C070602 */ lui $a3, %hi(D_06022D70) # $a3, 0x602 -/* 1053A4 8029BD94 24E72D70 */ addiu $a3, %lo(D_06022D70) # addiu $a3, $a3, 0x2d70 -/* 1053A8 8029BD98 244C0008 */ addiu $t4, $v0, 8 -/* 1053AC 8029BD9C AE0C0000 */ sw $t4, ($s0) -/* 1053B0 8029BDA0 AC470004 */ sw $a3, 4($v0) -/* 1053B4 8029BDA4 AC4D0000 */ sw $t5, ($v0) -/* 1053B8 8029BDA8 8E020000 */ lw $v0, ($s0) -/* 1053BC 8029BDAC 3C0FBD00 */ lui $t7, 0xbd00 -/* 1053C0 8029BDB0 27A40120 */ addiu $a0, $sp, 0x120 -/* 1053C4 8029BDB4 244E0008 */ addiu $t6, $v0, 8 -/* 1053C8 8029BDB8 AE0E0000 */ sw $t6, ($s0) -/* 1053CC 8029BDBC AC400004 */ sw $zero, 4($v0) -/* 1053D0 8029BDC0 AC4F0000 */ sw $t7, ($v0) -/* 1053D4 8029BDC4 8FB8017C */ lw $t8, 0x17c($sp) -/* 1053D8 8029BDC8 87050006 */ lh $a1, 6($t8) -/* 1053DC 8029BDCC AFA70030 */ sw $a3, 0x30($sp) -/* 1053E0 8029BDD0 24A50444 */ addiu $a1, $a1, 0x444 -/* 1053E4 8029BDD4 0005CC00 */ sll $t9, $a1, 0x10 -/* 1053E8 8029BDD8 0C0AD677 */ jal func_802B59DC -/* 1053EC 8029BDDC 00192C03 */ sra $a1, $t9, 0x10 -/* 1053F0 8029BDE0 27A40160 */ addiu $a0, $sp, 0x160 -/* 1053F4 8029BDE4 3C05C188 */ lui $a1, 0xc188 -/* 1053F8 8029BDE8 3C064140 */ lui $a2, 0x4140 -/* 1053FC 8029BDEC 0C0AD4A7 */ jal vec3f_set -/* 105400 8029BDF0 3C07C140 */ lui $a3, 0xc140 -/* 105404 8029BDF4 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 105408 8029BDF8 0C0AD548 */ jal mtxf_translate -/* 10540C 8029BDFC 27A50160 */ addiu $a1, $sp, 0x160 -/* 105410 8029BE00 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 105414 8029BE04 27A50120 */ addiu $a1, $sp, 0x120 -/* 105418 8029BE08 0C0ADC73 */ jal func_802B71CC -/* 10541C 8029BE0C 27A600E0 */ addiu $a2, $sp, 0xe0 -/* 105420 8029BE10 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 105424 8029BE14 0C0AD3FE */ jal func_802B4FF8 -/* 105428 8029BE18 24050003 */ li $a1, 3 -/* 10542C 8029BE1C 50400060 */ beql $v0, $zero, .L8029BFA0 -/* 105430 8029BE20 8FBF0024 */ lw $ra, 0x24($sp) -/* 105434 8029BE24 8E020000 */ lw $v0, ($s0) -/* 105438 8029BE28 3C0A0600 */ lui $t2, 0x600 -/* 10543C 8029BE2C 3C0DBD00 */ lui $t5, 0xbd00 -/* 105440 8029BE30 24490008 */ addiu $t1, $v0, 8 -/* 105444 8029BE34 AE090000 */ sw $t1, ($s0) -/* 105448 8029BE38 AC4A0000 */ sw $t2, ($v0) -/* 10544C 8029BE3C 8FAB0030 */ lw $t3, 0x30($sp) -/* 105450 8029BE40 27A40120 */ addiu $a0, $sp, 0x120 -/* 105454 8029BE44 AC4B0004 */ sw $t3, 4($v0) -/* 105458 8029BE48 8E020000 */ lw $v0, ($s0) -/* 10545C 8029BE4C 244C0008 */ addiu $t4, $v0, 8 -/* 105460 8029BE50 AE0C0000 */ sw $t4, ($s0) -/* 105464 8029BE54 AC400004 */ sw $zero, 4($v0) -/* 105468 8029BE58 AC4D0000 */ sw $t5, ($v0) -/* 10546C 8029BE5C 8FAE017C */ lw $t6, 0x17c($sp) -/* 105470 8029BE60 85C50006 */ lh $a1, 6($t6) -/* 105474 8029BE64 24A502D8 */ addiu $a1, $a1, 0x2d8 -/* 105478 8029BE68 00057C00 */ sll $t7, $a1, 0x10 -/* 10547C 8029BE6C 0C0AD677 */ jal func_802B59DC -/* 105480 8029BE70 000F2C03 */ sra $a1, $t7, 0x10 -/* 105484 8029BE74 27A40160 */ addiu $a0, $sp, 0x160 -/* 105488 8029BE78 3C054188 */ lui $a1, 0x4188 -/* 10548C 8029BE7C 3C064140 */ lui $a2, 0x4140 -/* 105490 8029BE80 0C0AD4A7 */ jal vec3f_set -/* 105494 8029BE84 3C07C208 */ lui $a3, 0xc208 -/* 105498 8029BE88 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 10549C 8029BE8C 0C0AD548 */ jal mtxf_translate -/* 1054A0 8029BE90 27A50160 */ addiu $a1, $sp, 0x160 -/* 1054A4 8029BE94 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 1054A8 8029BE98 27A50120 */ addiu $a1, $sp, 0x120 -/* 1054AC 8029BE9C 0C0ADC73 */ jal func_802B71CC -/* 1054B0 8029BEA0 27A600E0 */ addiu $a2, $sp, 0xe0 -/* 1054B4 8029BEA4 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 1054B8 8029BEA8 0C0AD3FE */ jal func_802B4FF8 -/* 1054BC 8029BEAC 24050003 */ li $a1, 3 -/* 1054C0 8029BEB0 5040003B */ beql $v0, $zero, .L8029BFA0 -/* 1054C4 8029BEB4 8FBF0024 */ lw $ra, 0x24($sp) -/* 1054C8 8029BEB8 8E020000 */ lw $v0, ($s0) -/* 1054CC 8029BEBC 3C080600 */ lui $t0, 0x600 -/* 1054D0 8029BEC0 3C0BBD00 */ lui $t3, 0xbd00 -/* 1054D4 8029BEC4 24590008 */ addiu $t9, $v0, 8 -/* 1054D8 8029BEC8 AE190000 */ sw $t9, ($s0) -/* 1054DC 8029BECC AC480000 */ sw $t0, ($v0) -/* 1054E0 8029BED0 8FA90030 */ lw $t1, 0x30($sp) -/* 1054E4 8029BED4 27A40120 */ addiu $a0, $sp, 0x120 -/* 1054E8 8029BED8 AC490004 */ sw $t1, 4($v0) -/* 1054EC 8029BEDC 8E020000 */ lw $v0, ($s0) -/* 1054F0 8029BEE0 244A0008 */ addiu $t2, $v0, 8 -/* 1054F4 8029BEE4 AE0A0000 */ sw $t2, ($s0) -/* 1054F8 8029BEE8 AC400004 */ sw $zero, 4($v0) -/* 1054FC 8029BEEC AC4B0000 */ sw $t3, ($v0) -/* 105500 8029BEF0 8FAC017C */ lw $t4, 0x17c($sp) -/* 105504 8029BEF4 85850006 */ lh $a1, 6($t4) -/* 105508 8029BEF8 24A502D8 */ addiu $a1, $a1, 0x2d8 -/* 10550C 8029BEFC 00056C00 */ sll $t5, $a1, 0x10 -/* 105510 8029BF00 0C0AD677 */ jal func_802B59DC -/* 105514 8029BF04 000D2C03 */ sra $a1, $t5, 0x10 -/* 105518 8029BF08 27A40160 */ addiu $a0, $sp, 0x160 -/* 10551C 8029BF0C 3C05C188 */ lui $a1, 0xc188 -/* 105520 8029BF10 3C064140 */ lui $a2, 0x4140 -/* 105524 8029BF14 0C0AD4A7 */ jal vec3f_set -/* 105528 8029BF18 3C07C208 */ lui $a3, 0xc208 -/* 10552C 8029BF1C 27A400E0 */ addiu $a0, $sp, 0xe0 -/* 105530 8029BF20 0C0AD548 */ jal mtxf_translate -/* 105534 8029BF24 27A50160 */ addiu $a1, $sp, 0x160 -/* 105538 8029BF28 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 10553C 8029BF2C 27A50120 */ addiu $a1, $sp, 0x120 -/* 105540 8029BF30 0C0ADC73 */ jal func_802B71CC -/* 105544 8029BF34 27A600E0 */ addiu $a2, $sp, 0xe0 -/* 105548 8029BF38 27A400A0 */ addiu $a0, $sp, 0xa0 -/* 10554C 8029BF3C 0C0AD3FE */ jal func_802B4FF8 -/* 105550 8029BF40 24050003 */ li $a1, 3 -/* 105554 8029BF44 50400016 */ beql $v0, $zero, .L8029BFA0 -/* 105558 8029BF48 8FBF0024 */ lw $ra, 0x24($sp) -/* 10555C 8029BF4C 8E020000 */ lw $v0, ($s0) -/* 105560 8029BF50 3C180600 */ lui $t8, 0x600 -/* 105564 8029BF54 3C09BD00 */ lui $t1, 0xbd00 -/* 105568 8029BF58 244F0008 */ addiu $t7, $v0, 8 -/* 10556C 8029BF5C AE0F0000 */ sw $t7, ($s0) -/* 105570 8029BF60 AC580000 */ sw $t8, ($v0) -/* 105574 8029BF64 8FB90030 */ lw $t9, 0x30($sp) -/* 105578 8029BF68 3C0BB700 */ lui $t3, 0xb700 -/* 10557C 8029BF6C 240C2000 */ li $t4, 8192 -/* 105580 8029BF70 AC590004 */ sw $t9, 4($v0) -/* 105584 8029BF74 8E020000 */ lw $v0, ($s0) -/* 105588 8029BF78 24480008 */ addiu $t0, $v0, 8 -/* 10558C 8029BF7C AE080000 */ sw $t0, ($s0) -/* 105590 8029BF80 AC400004 */ sw $zero, 4($v0) -/* 105594 8029BF84 AC490000 */ sw $t1, ($v0) -/* 105598 8029BF88 8E020000 */ lw $v0, ($s0) -/* 10559C 8029BF8C 244A0008 */ addiu $t2, $v0, 8 -/* 1055A0 8029BF90 AE0A0000 */ sw $t2, ($s0) -/* 1055A4 8029BF94 AC4C0004 */ sw $t4, 4($v0) -/* 1055A8 8029BF98 AC4B0000 */ sw $t3, ($v0) -.L8029BF9C: -/* 1055AC 8029BF9C 8FBF0024 */ lw $ra, 0x24($sp) -.L8029BFA0: -/* 1055B0 8029BFA0 8FB00020 */ lw $s0, 0x20($sp) -/* 1055B4 8029BFA4 27BD0178 */ addiu $sp, $sp, 0x178 -/* 1055B8 8029BFA8 03E00008 */ jr $ra -/* 1055BC 8029BFAC 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_8029BFB0.s b/asm/non_matchings/code_actors/func_8029BFB0.s deleted file mode 100644 index 9a9c9f092..000000000 --- a/asm/non_matchings/code_actors/func_8029BFB0.s +++ /dev/null @@ -1,269 +0,0 @@ -glabel func_8029BFB0 -/* 1055C0 8029BFB0 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e -/* 1055C4 8029BFB4 8DCEDB40 */ lw $t6, %lo(camera1)($t6) -/* 1055C8 8029BFB8 240100B8 */ li $at, 184 -/* 1055CC 8029BFBC 27BDFEC0 */ addiu $sp, $sp, -0x140 -/* 1055D0 8029BFC0 008E7823 */ subu $t7, $a0, $t6 -/* 1055D4 8029BFC4 01E1001A */ div $zero, $t7, $at -/* 1055D8 8029BFC8 0000C012 */ mflo $t8 -/* 1055DC 8029BFCC 0018C880 */ sll $t9, $t8, 2 -/* 1055E0 8029BFD0 3C018015 */ lui $at, %hi(D_80150130) -/* 1055E4 8029BFD4 00390821 */ addu $at, $at, $t9 -/* 1055E8 8029BFD8 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 1055EC 8029BFDC AFBF0024 */ sw $ra, 0x24($sp) -/* 1055F0 8029BFE0 AFB00020 */ sw $s0, 0x20($sp) -/* 1055F4 8029BFE4 AFA50144 */ sw $a1, 0x144($sp) -/* 1055F8 8029BFE8 3C01802C */ lui $at, %hi(D_802B9730) # $at, 0x802c -/* 1055FC 8029BFEC C4269730 */ lwc1 $f6, %lo(D_802B9730)($at) -/* 105600 8029BFF0 94860026 */ lhu $a2, 0x26($a0) -/* 105604 8029BFF4 24A50018 */ addiu $a1, $a1, 0x18 -/* 105608 8029BFF8 3C07441C */ lui $a3, (0x441C4000 >> 16) # lui $a3, 0x441c -/* 10560C 8029BFFC 34E74000 */ ori $a3, (0x441C4000 & 0xFFFF) # ori $a3, $a3, 0x4000 -/* 105610 8029C000 AFA50030 */ sw $a1, 0x30($sp) -/* 105614 8029C004 E7A40010 */ swc1 $f4, 0x10($sp) -/* 105618 8029C008 0C0AE034 */ jal func_802B80D0 -/* 10561C 8029C00C E7A60014 */ swc1 $f6, 0x14($sp) -/* 105620 8029C010 44804000 */ mtc1 $zero, $f8 -/* 105624 8029C014 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 105628 8029C018 8FA50030 */ lw $a1, 0x30($sp) -/* 10562C 8029C01C 4608003C */ c.lt.s $f0, $f8 -/* 105630 8029C020 46000086 */ mov.s $f2, $f0 -/* 105634 8029C024 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 105638 8029C028 3C09B600 */ lui $t1, 0xb600 -/* 10563C 8029C02C 450300E3 */ bc1tl .L8029C3BC -/* 105640 8029C030 8FBF0024 */ lw $ra, 0x24($sp) -/* 105644 8029C034 8E020000 */ lw $v0, ($s0) -/* 105648 8029C038 3C0A0002 */ lui $t2, 2 -/* 10564C 8029C03C 27A40100 */ addiu $a0, $sp, 0x100 -/* 105650 8029C040 24480008 */ addiu $t0, $v0, 8 -/* 105654 8029C044 AE080000 */ sw $t0, ($s0) -/* 105658 8029C048 AC4A0004 */ sw $t2, 4($v0) -/* 10565C 8029C04C AC490000 */ sw $t1, ($v0) -/* 105660 8029C050 8FA60144 */ lw $a2, 0x144($sp) -/* 105664 8029C054 E7A20070 */ swc1 $f2, 0x70($sp) -/* 105668 8029C058 0C0AD7DD */ jal func_802B5F74 -/* 10566C 8029C05C 24C60010 */ addiu $a2, $a2, 0x10 -/* 105670 8029C060 27A40100 */ addiu $a0, $sp, 0x100 -/* 105674 8029C064 0C0AD3FE */ jal func_802B4FF8 -/* 105678 8029C068 00002825 */ move $a1, $zero -/* 10567C 8029C06C 104000D2 */ beqz $v0, .L8029C3B8 -/* 105680 8029C070 C7A20070 */ lwc1 $f2, 0x70($sp) -/* 105684 8029C074 3C01802C */ lui $at, %hi(D_802B9734) # $at, 0x802c -/* 105688 8029C078 C42A9734 */ lwc1 $f10, %lo(D_802B9734)($at) -/* 10568C 8029C07C 3C0C0600 */ lui $t4, 0x600 -/* 105690 8029C080 3C01802C */ lui $at, %hi(D_802B9738) # $at, 0x802c -/* 105694 8029C084 460A103C */ c.lt.s $f2, $f10 -/* 105698 8029C088 00000000 */ nop -/* 10569C 8029C08C 45000009 */ bc1f .L8029C0B4 -/* 1056A0 8029C090 00000000 */ nop -/* 1056A4 8029C094 8E020000 */ lw $v0, ($s0) -/* 1056A8 8029C098 3C0D0602 */ lui $t5, %hi(D_0601F228) # $t5, 0x602 -/* 1056AC 8029C09C 25ADF228 */ addiu $t5, %lo(D_0601F228) # addiu $t5, $t5, -0xdd8 -/* 1056B0 8029C0A0 244B0008 */ addiu $t3, $v0, 8 -/* 1056B4 8029C0A4 AE0B0000 */ sw $t3, ($s0) -/* 1056B8 8029C0A8 AC4D0004 */ sw $t5, 4($v0) -/* 1056BC 8029C0AC 10000017 */ b .L8029C10C -/* 1056C0 8029C0B0 AC4C0000 */ sw $t4, ($v0) -.L8029C0B4: -/* 1056C4 8029C0B4 C4309738 */ lwc1 $f16, %lo(D_802B9738)($at) -/* 1056C8 8029C0B8 3C0F0600 */ lui $t7, 0x600 -/* 1056CC 8029C0BC 3C080600 */ lui $t0, 0x600 -/* 1056D0 8029C0C0 4610103C */ c.lt.s $f2, $f16 -/* 1056D4 8029C0C4 00000000 */ nop -/* 1056D8 8029C0C8 4502000A */ bc1fl .L8029C0F4 -/* 1056DC 8029C0CC 8E020000 */ lw $v0, ($s0) -/* 1056E0 8029C0D0 8E020000 */ lw $v0, ($s0) -/* 1056E4 8029C0D4 3C180602 */ lui $t8, %hi(D_0601F708) # $t8, 0x602 -/* 1056E8 8029C0D8 2718F708 */ addiu $t8, %lo(D_0601F708) # addiu $t8, $t8, -0x8f8 -/* 1056EC 8029C0DC 244E0008 */ addiu $t6, $v0, 8 -/* 1056F0 8029C0E0 AE0E0000 */ sw $t6, ($s0) -/* 1056F4 8029C0E4 AC580004 */ sw $t8, 4($v0) -/* 1056F8 8029C0E8 10000008 */ b .L8029C10C -/* 1056FC 8029C0EC AC4F0000 */ sw $t7, ($v0) -/* 105700 8029C0F0 8E020000 */ lw $v0, ($s0) -.L8029C0F4: -/* 105704 8029C0F4 3C090602 */ lui $t1, %hi(D_0601FAF8) # $t1, 0x602 -/* 105708 8029C0F8 2529FAF8 */ addiu $t1, %lo(D_0601FAF8) # addiu $t1, $t1, -0x508 -/* 10570C 8029C0FC 24590008 */ addiu $t9, $v0, 8 -/* 105710 8029C100 AE190000 */ sw $t9, ($s0) -/* 105714 8029C104 AC490004 */ sw $t1, 4($v0) -/* 105718 8029C108 AC480000 */ sw $t0, ($v0) -.L8029C10C: -/* 10571C 8029C10C 3C01802C */ lui $at, %hi(D_802B973C) # $at, 0x802c -/* 105720 8029C110 C432973C */ lwc1 $f18, %lo(D_802B973C)($at) -/* 105724 8029C114 3C0BB600 */ lui $t3, 0xb600 -/* 105728 8029C118 4602903C */ c.lt.s $f18, $f2 -/* 10572C 8029C11C 00000000 */ nop -/* 105730 8029C120 450300A6 */ bc1tl .L8029C3BC -/* 105734 8029C124 8FBF0024 */ lw $ra, 0x24($sp) -/* 105738 8029C128 8E020000 */ lw $v0, ($s0) -/* 10573C 8029C12C 240C2000 */ li $t4, 8192 -/* 105740 8029C130 3C0F0602 */ lui $t7, %hi(D_06022D28) # $t7, 0x602 -/* 105744 8029C134 244A0008 */ addiu $t2, $v0, 8 -/* 105748 8029C138 AE0A0000 */ sw $t2, ($s0) -/* 10574C 8029C13C AC4C0004 */ sw $t4, 4($v0) -/* 105750 8029C140 AC4B0000 */ sw $t3, ($v0) -/* 105754 8029C144 8E020000 */ lw $v0, ($s0) -/* 105758 8029C148 25EF2D28 */ addiu $t7, %lo(D_06022D28) # addiu $t7, $t7, 0x2d28 -/* 10575C 8029C14C 3C0E0600 */ lui $t6, 0x600 -/* 105760 8029C150 244D0008 */ addiu $t5, $v0, 8 -/* 105764 8029C154 AE0D0000 */ sw $t5, ($s0) -/* 105768 8029C158 AC4F0004 */ sw $t7, 4($v0) -/* 10576C 8029C15C AC4E0000 */ sw $t6, ($v0) -/* 105770 8029C160 8FB80144 */ lw $t8, 0x144($sp) -/* 105774 8029C164 27A40100 */ addiu $a0, $sp, 0x100 -/* 105778 8029C168 0C0AD677 */ jal func_802B59DC -/* 10577C 8029C16C 87050006 */ lh $a1, 6($t8) -/* 105780 8029C170 27A400F4 */ addiu $a0, $sp, 0xf4 -/* 105784 8029C174 3C054188 */ lui $a1, 0x4188 -/* 105788 8029C178 3C0640C0 */ lui $a2, 0x40c0 -/* 10578C 8029C17C 0C0AD4A7 */ jal vec3f_set -/* 105790 8029C180 3C074100 */ lui $a3, 0x4100 -/* 105794 8029C184 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 105798 8029C188 0C0AD548 */ jal mtxf_translate -/* 10579C 8029C18C 27A500F4 */ addiu $a1, $sp, 0xf4 -/* 1057A0 8029C190 27A40074 */ addiu $a0, $sp, 0x74 -/* 1057A4 8029C194 27A50100 */ addiu $a1, $sp, 0x100 -/* 1057A8 8029C198 0C0ADC73 */ jal func_802B71CC -/* 1057AC 8029C19C 27A600B4 */ addiu $a2, $sp, 0xb4 -/* 1057B0 8029C1A0 27A40074 */ addiu $a0, $sp, 0x74 -/* 1057B4 8029C1A4 0C0AD3FE */ jal func_802B4FF8 -/* 1057B8 8029C1A8 24050003 */ li $a1, 3 -/* 1057BC 8029C1AC 10400082 */ beqz $v0, .L8029C3B8 -/* 1057C0 8029C1B0 3C080600 */ lui $t0, 0x600 -/* 1057C4 8029C1B4 8E020000 */ lw $v0, ($s0) -/* 1057C8 8029C1B8 3C070602 */ lui $a3, %hi(D_06022DB8) # $a3, 0x602 -/* 1057CC 8029C1BC 24E72DB8 */ addiu $a3, %lo(D_06022DB8) # addiu $a3, $a3, 0x2db8 -/* 1057D0 8029C1C0 24590008 */ addiu $t9, $v0, 8 -/* 1057D4 8029C1C4 AE190000 */ sw $t9, ($s0) -/* 1057D8 8029C1C8 AC470004 */ sw $a3, 4($v0) -/* 1057DC 8029C1CC AC480000 */ sw $t0, ($v0) -/* 1057E0 8029C1D0 8E020000 */ lw $v0, ($s0) -/* 1057E4 8029C1D4 3C0ABD00 */ lui $t2, 0xbd00 -/* 1057E8 8029C1D8 27A40100 */ addiu $a0, $sp, 0x100 -/* 1057EC 8029C1DC 24490008 */ addiu $t1, $v0, 8 -/* 1057F0 8029C1E0 AE090000 */ sw $t1, ($s0) -/* 1057F4 8029C1E4 AC400004 */ sw $zero, 4($v0) -/* 1057F8 8029C1E8 AC4A0000 */ sw $t2, ($v0) -/* 1057FC 8029C1EC 8FAB0144 */ lw $t3, 0x144($sp) -/* 105800 8029C1F0 85650006 */ lh $a1, 6($t3) -/* 105804 8029C1F4 0C0AD677 */ jal func_802B59DC -/* 105808 8029C1F8 AFA70030 */ sw $a3, 0x30($sp) -/* 10580C 8029C1FC 27A400F4 */ addiu $a0, $sp, 0xf4 -/* 105810 8029C200 3C05C188 */ lui $a1, 0xc188 -/* 105814 8029C204 3C0640C0 */ lui $a2, 0x40c0 -/* 105818 8029C208 0C0AD4A7 */ jal vec3f_set -/* 10581C 8029C20C 3C074100 */ lui $a3, 0x4100 -/* 105820 8029C210 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 105824 8029C214 0C0AD548 */ jal mtxf_translate -/* 105828 8029C218 27A500F4 */ addiu $a1, $sp, 0xf4 -/* 10582C 8029C21C 27A40074 */ addiu $a0, $sp, 0x74 -/* 105830 8029C220 27A50100 */ addiu $a1, $sp, 0x100 -/* 105834 8029C224 0C0ADC73 */ jal func_802B71CC -/* 105838 8029C228 27A600B4 */ addiu $a2, $sp, 0xb4 -/* 10583C 8029C22C 27A40074 */ addiu $a0, $sp, 0x74 -/* 105840 8029C230 0C0AD3FE */ jal func_802B4FF8 -/* 105844 8029C234 24050003 */ li $a1, 3 -/* 105848 8029C238 50400060 */ beql $v0, $zero, .L8029C3BC -/* 10584C 8029C23C 8FBF0024 */ lw $ra, 0x24($sp) -/* 105850 8029C240 8E020000 */ lw $v0, ($s0) -/* 105854 8029C244 3C0D0600 */ lui $t5, 0x600 -/* 105858 8029C248 3C18BD00 */ lui $t8, 0xbd00 -/* 10585C 8029C24C 244C0008 */ addiu $t4, $v0, 8 -/* 105860 8029C250 AE0C0000 */ sw $t4, ($s0) -/* 105864 8029C254 AC4D0000 */ sw $t5, ($v0) -/* 105868 8029C258 8FAE0030 */ lw $t6, 0x30($sp) -/* 10586C 8029C25C 27A40100 */ addiu $a0, $sp, 0x100 -/* 105870 8029C260 AC4E0004 */ sw $t6, 4($v0) -/* 105874 8029C264 8E020000 */ lw $v0, ($s0) -/* 105878 8029C268 244F0008 */ addiu $t7, $v0, 8 -/* 10587C 8029C26C AE0F0000 */ sw $t7, ($s0) -/* 105880 8029C270 AC400004 */ sw $zero, 4($v0) -/* 105884 8029C274 AC580000 */ sw $t8, ($v0) -/* 105888 8029C278 8FB90144 */ lw $t9, 0x144($sp) -/* 10588C 8029C27C 87250006 */ lh $a1, 6($t9) -/* 105890 8029C280 24A50444 */ addiu $a1, $a1, 0x444 -/* 105894 8029C284 00054400 */ sll $t0, $a1, 0x10 -/* 105898 8029C288 0C0AD677 */ jal func_802B59DC -/* 10589C 8029C28C 00082C03 */ sra $a1, $t0, 0x10 -/* 1058A0 8029C290 27A400F4 */ addiu $a0, $sp, 0xf4 -/* 1058A4 8029C294 3C054188 */ lui $a1, 0x4188 -/* 1058A8 8029C298 3C0640C0 */ lui $a2, 0x40c0 -/* 1058AC 8029C29C 0C0AD4A7 */ jal vec3f_set -/* 1058B0 8029C2A0 3C07C100 */ lui $a3, 0xc100 -/* 1058B4 8029C2A4 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 1058B8 8029C2A8 0C0AD548 */ jal mtxf_translate -/* 1058BC 8029C2AC 27A500F4 */ addiu $a1, $sp, 0xf4 -/* 1058C0 8029C2B0 27A40074 */ addiu $a0, $sp, 0x74 -/* 1058C4 8029C2B4 27A50100 */ addiu $a1, $sp, 0x100 -/* 1058C8 8029C2B8 0C0ADC73 */ jal func_802B71CC -/* 1058CC 8029C2BC 27A600B4 */ addiu $a2, $sp, 0xb4 -/* 1058D0 8029C2C0 27A40074 */ addiu $a0, $sp, 0x74 -/* 1058D4 8029C2C4 0C0AD3FE */ jal func_802B4FF8 -/* 1058D8 8029C2C8 24050003 */ li $a1, 3 -/* 1058DC 8029C2CC 5040003B */ beql $v0, $zero, .L8029C3BC -/* 1058E0 8029C2D0 8FBF0024 */ lw $ra, 0x24($sp) -/* 1058E4 8029C2D4 8E020000 */ lw $v0, ($s0) -/* 1058E8 8029C2D8 3C0B0600 */ lui $t3, 0x600 -/* 1058EC 8029C2DC 3C0EBD00 */ lui $t6, 0xbd00 -/* 1058F0 8029C2E0 244A0008 */ addiu $t2, $v0, 8 -/* 1058F4 8029C2E4 AE0A0000 */ sw $t2, ($s0) -/* 1058F8 8029C2E8 AC4B0000 */ sw $t3, ($v0) -/* 1058FC 8029C2EC 8FAC0030 */ lw $t4, 0x30($sp) -/* 105900 8029C2F0 27A40100 */ addiu $a0, $sp, 0x100 -/* 105904 8029C2F4 AC4C0004 */ sw $t4, 4($v0) -/* 105908 8029C2F8 8E020000 */ lw $v0, ($s0) -/* 10590C 8029C2FC 244D0008 */ addiu $t5, $v0, 8 -/* 105910 8029C300 AE0D0000 */ sw $t5, ($s0) -/* 105914 8029C304 AC400004 */ sw $zero, 4($v0) -/* 105918 8029C308 AC4E0000 */ sw $t6, ($v0) -/* 10591C 8029C30C 8FAF0144 */ lw $t7, 0x144($sp) -/* 105920 8029C310 85E50006 */ lh $a1, 6($t7) -/* 105924 8029C314 24A50444 */ addiu $a1, $a1, 0x444 -/* 105928 8029C318 0005C400 */ sll $t8, $a1, 0x10 -/* 10592C 8029C31C 0C0AD677 */ jal func_802B59DC -/* 105930 8029C320 00182C03 */ sra $a1, $t8, 0x10 -/* 105934 8029C324 27A400F4 */ addiu $a0, $sp, 0xf4 -/* 105938 8029C328 3C05C188 */ lui $a1, 0xc188 -/* 10593C 8029C32C 3C0640C0 */ lui $a2, 0x40c0 -/* 105940 8029C330 0C0AD4A7 */ jal vec3f_set -/* 105944 8029C334 3C07C100 */ lui $a3, 0xc100 -/* 105948 8029C338 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 10594C 8029C33C 0C0AD548 */ jal mtxf_translate -/* 105950 8029C340 27A500F4 */ addiu $a1, $sp, 0xf4 -/* 105954 8029C344 27A40074 */ addiu $a0, $sp, 0x74 -/* 105958 8029C348 27A50100 */ addiu $a1, $sp, 0x100 -/* 10595C 8029C34C 0C0ADC73 */ jal func_802B71CC -/* 105960 8029C350 27A600B4 */ addiu $a2, $sp, 0xb4 -/* 105964 8029C354 27A40074 */ addiu $a0, $sp, 0x74 -/* 105968 8029C358 0C0AD3FE */ jal func_802B4FF8 -/* 10596C 8029C35C 24050003 */ li $a1, 3 -/* 105970 8029C360 50400016 */ beql $v0, $zero, .L8029C3BC -/* 105974 8029C364 8FBF0024 */ lw $ra, 0x24($sp) -/* 105978 8029C368 8E020000 */ lw $v0, ($s0) -/* 10597C 8029C36C 3C090600 */ lui $t1, 0x600 -/* 105980 8029C370 3C0CBD00 */ lui $t4, 0xbd00 -/* 105984 8029C374 24480008 */ addiu $t0, $v0, 8 -/* 105988 8029C378 AE080000 */ sw $t0, ($s0) -/* 10598C 8029C37C AC490000 */ sw $t1, ($v0) -/* 105990 8029C380 8FAA0030 */ lw $t2, 0x30($sp) -/* 105994 8029C384 3C0EB700 */ lui $t6, 0xb700 -/* 105998 8029C388 240F2000 */ li $t7, 8192 -/* 10599C 8029C38C AC4A0004 */ sw $t2, 4($v0) -/* 1059A0 8029C390 8E020000 */ lw $v0, ($s0) -/* 1059A4 8029C394 244B0008 */ addiu $t3, $v0, 8 -/* 1059A8 8029C398 AE0B0000 */ sw $t3, ($s0) -/* 1059AC 8029C39C AC400004 */ sw $zero, 4($v0) -/* 1059B0 8029C3A0 AC4C0000 */ sw $t4, ($v0) -/* 1059B4 8029C3A4 8E020000 */ lw $v0, ($s0) -/* 1059B8 8029C3A8 244D0008 */ addiu $t5, $v0, 8 -/* 1059BC 8029C3AC AE0D0000 */ sw $t5, ($s0) -/* 1059C0 8029C3B0 AC4F0004 */ sw $t7, 4($v0) -/* 1059C4 8029C3B4 AC4E0000 */ sw $t6, ($v0) -.L8029C3B8: -/* 1059C8 8029C3B8 8FBF0024 */ lw $ra, 0x24($sp) -.L8029C3BC: -/* 1059CC 8029C3BC 8FB00020 */ lw $s0, 0x20($sp) -/* 1059D0 8029C3C0 27BD0140 */ addiu $sp, $sp, 0x140 -/* 1059D4 8029C3C4 03E00008 */ jr $ra -/* 1059D8 8029C3C8 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_8029C3CC.s b/asm/non_matchings/code_actors/func_8029C3CC.s deleted file mode 100644 index 57554d046..000000000 --- a/asm/non_matchings/code_actors/func_8029C3CC.s +++ /dev/null @@ -1,439 +0,0 @@ -glabel func_8029C3CC -/* 1059DC 8029C3CC 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e -/* 1059E0 8029C3D0 8DCEDB40 */ lw $t6, %lo(camera1)($t6) -/* 1059E4 8029C3D4 240100B8 */ li $at, 184 -/* 1059E8 8029C3D8 27BDFE98 */ addiu $sp, $sp, -0x168 -/* 1059EC 8029C3DC 008E7823 */ subu $t7, $a0, $t6 -/* 1059F0 8029C3E0 01E1001A */ div $zero, $t7, $at -/* 1059F4 8029C3E4 0000C012 */ mflo $t8 -/* 1059F8 8029C3E8 0018C880 */ sll $t9, $t8, 2 -/* 1059FC 8029C3EC 3C018015 */ lui $at, %hi(D_80150130) -/* 105A00 8029C3F0 00390821 */ addu $at, $at, $t9 -/* 105A04 8029C3F4 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 105A08 8029C3F8 AFBF0024 */ sw $ra, 0x24($sp) -/* 105A0C 8029C3FC AFB00020 */ sw $s0, 0x20($sp) -/* 105A10 8029C400 AFA5016C */ sw $a1, 0x16c($sp) -/* 105A14 8029C404 3C01802C */ lui $at, %hi(D_802B9740) # $at, 0x802c -/* 105A18 8029C408 C4269740 */ lwc1 $f6, %lo(D_802B9740)($at) -/* 105A1C 8029C40C 94860026 */ lhu $a2, 0x26($a0) -/* 105A20 8029C410 24A50018 */ addiu $a1, $a1, 0x18 -/* 105A24 8029C414 3C0744FD */ lui $a3, (0x44FD2000 >> 16) # lui $a3, 0x44fd -/* 105A28 8029C418 34E72000 */ ori $a3, (0x44FD2000 & 0xFFFF) # ori $a3, $a3, 0x2000 -/* 105A2C 8029C41C AFA5002C */ sw $a1, 0x2c($sp) -/* 105A30 8029C420 E7A40010 */ swc1 $f4, 0x10($sp) -/* 105A34 8029C424 0C0AE034 */ jal func_802B80D0 -/* 105A38 8029C428 E7A60014 */ swc1 $f6, 0x14($sp) -/* 105A3C 8029C42C 44804000 */ mtc1 $zero, $f8 -/* 105A40 8029C430 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 105A44 8029C434 8FA5002C */ lw $a1, 0x2c($sp) -/* 105A48 8029C438 4608003C */ c.lt.s $f0, $f8 -/* 105A4C 8029C43C 46000086 */ mov.s $f2, $f0 -/* 105A50 8029C440 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 105A54 8029C444 3C09B600 */ lui $t1, 0xb600 -/* 105A58 8029C448 4503018D */ bc1tl .L8029CA80 -/* 105A5C 8029C44C 8FBF0024 */ lw $ra, 0x24($sp) -/* 105A60 8029C450 8E020000 */ lw $v0, ($s0) -/* 105A64 8029C454 3C0A0002 */ lui $t2, 2 -/* 105A68 8029C458 27A40128 */ addiu $a0, $sp, 0x128 -/* 105A6C 8029C45C 24480008 */ addiu $t0, $v0, 8 -/* 105A70 8029C460 AE080000 */ sw $t0, ($s0) -/* 105A74 8029C464 AC4A0004 */ sw $t2, 4($v0) -/* 105A78 8029C468 AC490000 */ sw $t1, ($v0) -/* 105A7C 8029C46C 8FA6016C */ lw $a2, 0x16c($sp) -/* 105A80 8029C470 E7A20098 */ swc1 $f2, 0x98($sp) -/* 105A84 8029C474 0C0AD7DD */ jal func_802B5F74 -/* 105A88 8029C478 24C60010 */ addiu $a2, $a2, 0x10 -/* 105A8C 8029C47C 27A40128 */ addiu $a0, $sp, 0x128 -/* 105A90 8029C480 0C0AD3FE */ jal func_802B4FF8 -/* 105A94 8029C484 00002825 */ move $a1, $zero -/* 105A98 8029C488 1040017C */ beqz $v0, .L8029CA7C -/* 105A9C 8029C48C C7A20098 */ lwc1 $f2, 0x98($sp) -/* 105AA0 8029C490 3C01802C */ lui $at, %hi(D_802B9744) # $at, 0x802c -/* 105AA4 8029C494 C42A9744 */ lwc1 $f10, %lo(D_802B9744)($at) -/* 105AA8 8029C498 3C070600 */ lui $a3, 0x600 -/* 105AAC 8029C49C 3C01802C */ lui $at, %hi(D_802B9748) # $at, 0x802c -/* 105AB0 8029C4A0 460A103C */ c.lt.s $f2, $f10 -/* 105AB4 8029C4A4 00000000 */ nop -/* 105AB8 8029C4A8 45000010 */ bc1f .L8029C4EC -/* 105ABC 8029C4AC 00000000 */ nop -/* 105AC0 8029C4B0 8E020000 */ lw $v0, ($s0) -/* 105AC4 8029C4B4 3C0C0602 */ lui $t4, %hi(D_06020A20) # $t4, 0x602 -/* 105AC8 8029C4B8 258C0A20 */ addiu $t4, %lo(D_06020A20) # addiu $t4, $t4, 0xa20 -/* 105ACC 8029C4BC 244B0008 */ addiu $t3, $v0, 8 -/* 105AD0 8029C4C0 AE0B0000 */ sw $t3, ($s0) -/* 105AD4 8029C4C4 AC4C0004 */ sw $t4, 4($v0) -/* 105AD8 8029C4C8 AC470000 */ sw $a3, ($v0) -/* 105ADC 8029C4CC 8E020000 */ lw $v0, ($s0) -/* 105AE0 8029C4D0 3C0E0602 */ lui $t6, %hi(D_06020A08) # $t6, 0x602 -/* 105AE4 8029C4D4 25CE0A08 */ addiu $t6, %lo(D_06020A08) # addiu $t6, $t6, 0xa08 -/* 105AE8 8029C4D8 244D0008 */ addiu $t5, $v0, 8 -/* 105AEC 8029C4DC AE0D0000 */ sw $t5, ($s0) -/* 105AF0 8029C4E0 AC4E0004 */ sw $t6, 4($v0) -/* 105AF4 8029C4E4 10000027 */ b .L8029C584 -/* 105AF8 8029C4E8 AC470000 */ sw $a3, ($v0) -.L8029C4EC: -/* 105AFC 8029C4EC C4309748 */ lwc1 $f16, %lo(D_802B9748)($at) -/* 105B00 8029C4F0 3C190602 */ lui $t9, %hi(D_06021550) # $t9, 0x602 -/* 105B04 8029C4F4 3C0D0602 */ lui $t5, %hi(D_06021C90) # $t5, 0x602 -/* 105B08 8029C4F8 4610103C */ c.lt.s $f2, $f16 -/* 105B0C 8029C4FC 27391550 */ addiu $t9, %lo(D_06021550) # addiu $t9, $t9, 0x1550 -/* 105B10 8029C500 3C180600 */ lui $t8, 0x600 -/* 105B14 8029C504 25AD1C90 */ addiu $t5, %lo(D_06021C90) # addiu $t5, $t5, 0x1c90 -/* 105B18 8029C508 45000010 */ bc1f .L8029C54C -/* 105B1C 8029C50C 3C0C0600 */ lui $t4, 0x600 -/* 105B20 8029C510 8E020000 */ lw $v0, ($s0) -/* 105B24 8029C514 3C0A0602 */ lui $t2, %hi(D_06021220) # $t2, 0x602 -/* 105B28 8029C518 254A1220 */ addiu $t2, %lo(D_06021220) # addiu $t2, $t2, 0x1220 -/* 105B2C 8029C51C 244F0008 */ addiu $t7, $v0, 8 -/* 105B30 8029C520 AE0F0000 */ sw $t7, ($s0) -/* 105B34 8029C524 AC590004 */ sw $t9, 4($v0) -/* 105B38 8029C528 AC580000 */ sw $t8, ($v0) -/* 105B3C 8029C52C 8E020000 */ lw $v0, ($s0) -/* 105B40 8029C530 3C090600 */ lui $t1, 0x600 -/* 105B44 8029C534 3C070600 */ lui $a3, 0x600 -/* 105B48 8029C538 24480008 */ addiu $t0, $v0, 8 -/* 105B4C 8029C53C AE080000 */ sw $t0, ($s0) -/* 105B50 8029C540 AC4A0004 */ sw $t2, 4($v0) -/* 105B54 8029C544 1000000F */ b .L8029C584 -/* 105B58 8029C548 AC490000 */ sw $t1, ($v0) -.L8029C54C: -/* 105B5C 8029C54C 8E020000 */ lw $v0, ($s0) -/* 105B60 8029C550 3C180602 */ lui $t8, %hi(D_06021A80) # $t8, 0x602 -/* 105B64 8029C554 27181A80 */ addiu $t8, %lo(D_06021A80) # addiu $t8, $t8, 0x1a80 -/* 105B68 8029C558 244B0008 */ addiu $t3, $v0, 8 -/* 105B6C 8029C55C AE0B0000 */ sw $t3, ($s0) -/* 105B70 8029C560 AC4D0004 */ sw $t5, 4($v0) -/* 105B74 8029C564 AC4C0000 */ sw $t4, ($v0) -/* 105B78 8029C568 8E020000 */ lw $v0, ($s0) -/* 105B7C 8029C56C 3C0F0600 */ lui $t7, 0x600 -/* 105B80 8029C570 3C070600 */ lui $a3, 0x600 -/* 105B84 8029C574 244E0008 */ addiu $t6, $v0, 8 -/* 105B88 8029C578 AE0E0000 */ sw $t6, ($s0) -/* 105B8C 8029C57C AC580004 */ sw $t8, 4($v0) -/* 105B90 8029C580 AC4F0000 */ sw $t7, ($v0) -.L8029C584: -/* 105B94 8029C584 3C01802C */ lui $at, %hi(D_802B974C) # $at, 0x802c -/* 105B98 8029C588 C432974C */ lwc1 $f18, %lo(D_802B974C)($at) -/* 105B9C 8029C58C 4602903C */ c.lt.s $f18, $f2 -/* 105BA0 8029C590 00000000 */ nop -/* 105BA4 8029C594 4503013A */ bc1tl .L8029CA80 -/* 105BA8 8029C598 8FBF0024 */ lw $ra, 0x24($sp) -/* 105BAC 8029C59C 8E020000 */ lw $v0, ($s0) -/* 105BB0 8029C5A0 3C08B600 */ lui $t0, 0xb600 -/* 105BB4 8029C5A4 24092000 */ li $t1, 8192 -/* 105BB8 8029C5A8 24590008 */ addiu $t9, $v0, 8 -/* 105BBC 8029C5AC AE190000 */ sw $t9, ($s0) -/* 105BC0 8029C5B0 AC490004 */ sw $t1, 4($v0) -/* 105BC4 8029C5B4 AC480000 */ sw $t0, ($v0) -/* 105BC8 8029C5B8 8E020000 */ lw $v0, ($s0) -/* 105BCC 8029C5BC 3C0B0602 */ lui $t3, %hi(D_06022D28) # $t3, 0x602 -/* 105BD0 8029C5C0 256B2D28 */ addiu $t3, %lo(D_06022D28) # addiu $t3, $t3, 0x2d28 -/* 105BD4 8029C5C4 244A0008 */ addiu $t2, $v0, 8 -/* 105BD8 8029C5C8 AE0A0000 */ sw $t2, ($s0) -/* 105BDC 8029C5CC AC4B0004 */ sw $t3, 4($v0) -/* 105BE0 8029C5D0 AC470000 */ sw $a3, ($v0) -/* 105BE4 8029C5D4 8FAC016C */ lw $t4, 0x16c($sp) -/* 105BE8 8029C5D8 27A40128 */ addiu $a0, $sp, 0x128 -/* 105BEC 8029C5DC 0C0AD677 */ jal func_802B59DC -/* 105BF0 8029C5E0 85850006 */ lh $a1, 6($t4) -/* 105BF4 8029C5E4 27A4011C */ addiu $a0, $sp, 0x11c -/* 105BF8 8029C5E8 3C054188 */ lui $a1, 0x4188 -/* 105BFC 8029C5EC 3C0640C0 */ lui $a2, 0x40c0 -/* 105C00 8029C5F0 0C0AD4A7 */ jal vec3f_set -/* 105C04 8029C5F4 3C0741E0 */ lui $a3, 0x41e0 -/* 105C08 8029C5F8 27A400DC */ addiu $a0, $sp, 0xdc -/* 105C0C 8029C5FC 0C0AD548 */ jal mtxf_translate -/* 105C10 8029C600 27A5011C */ addiu $a1, $sp, 0x11c -/* 105C14 8029C604 27A4009C */ addiu $a0, $sp, 0x9c -/* 105C18 8029C608 27A50128 */ addiu $a1, $sp, 0x128 -/* 105C1C 8029C60C 0C0ADC73 */ jal func_802B71CC -/* 105C20 8029C610 27A600DC */ addiu $a2, $sp, 0xdc -/* 105C24 8029C614 27A4009C */ addiu $a0, $sp, 0x9c -/* 105C28 8029C618 0C0AD3FE */ jal func_802B4FF8 -/* 105C2C 8029C61C 24050003 */ li $a1, 3 -/* 105C30 8029C620 10400116 */ beqz $v0, .L8029CA7C -/* 105C34 8029C624 3C0E0600 */ lui $t6, 0x600 -/* 105C38 8029C628 8E020000 */ lw $v0, ($s0) -/* 105C3C 8029C62C 3C070602 */ lui $a3, %hi(D_06022DB8) # $a3, 0x602 -/* 105C40 8029C630 24E72DB8 */ addiu $a3, %lo(D_06022DB8) # addiu $a3, $a3, 0x2db8 -/* 105C44 8029C634 244D0008 */ addiu $t5, $v0, 8 -/* 105C48 8029C638 AE0D0000 */ sw $t5, ($s0) -/* 105C4C 8029C63C AC470004 */ sw $a3, 4($v0) -/* 105C50 8029C640 AC4E0000 */ sw $t6, ($v0) -/* 105C54 8029C644 8E020000 */ lw $v0, ($s0) -/* 105C58 8029C648 3C18BD00 */ lui $t8, 0xbd00 -/* 105C5C 8029C64C 27A40128 */ addiu $a0, $sp, 0x128 -/* 105C60 8029C650 244F0008 */ addiu $t7, $v0, 8 -/* 105C64 8029C654 AE0F0000 */ sw $t7, ($s0) -/* 105C68 8029C658 AC400004 */ sw $zero, 4($v0) -/* 105C6C 8029C65C AC580000 */ sw $t8, ($v0) -/* 105C70 8029C660 8FB9016C */ lw $t9, 0x16c($sp) -/* 105C74 8029C664 87250006 */ lh $a1, 6($t9) -/* 105C78 8029C668 0C0AD677 */ jal func_802B59DC -/* 105C7C 8029C66C AFA7002C */ sw $a3, 0x2c($sp) -/* 105C80 8029C670 27A4011C */ addiu $a0, $sp, 0x11c -/* 105C84 8029C674 3C05C188 */ lui $a1, 0xc188 -/* 105C88 8029C678 3C0640C0 */ lui $a2, 0x40c0 -/* 105C8C 8029C67C 0C0AD4A7 */ jal vec3f_set -/* 105C90 8029C680 3C0741E0 */ lui $a3, 0x41e0 -/* 105C94 8029C684 27A400DC */ addiu $a0, $sp, 0xdc -/* 105C98 8029C688 0C0AD548 */ jal mtxf_translate -/* 105C9C 8029C68C 27A5011C */ addiu $a1, $sp, 0x11c -/* 105CA0 8029C690 27A4009C */ addiu $a0, $sp, 0x9c -/* 105CA4 8029C694 27A50128 */ addiu $a1, $sp, 0x128 -/* 105CA8 8029C698 0C0ADC73 */ jal func_802B71CC -/* 105CAC 8029C69C 27A600DC */ addiu $a2, $sp, 0xdc -/* 105CB0 8029C6A0 27A4009C */ addiu $a0, $sp, 0x9c -/* 105CB4 8029C6A4 0C0AD3FE */ jal func_802B4FF8 -/* 105CB8 8029C6A8 24050003 */ li $a1, 3 -/* 105CBC 8029C6AC 504000F4 */ beql $v0, $zero, .L8029CA80 -/* 105CC0 8029C6B0 8FBF0024 */ lw $ra, 0x24($sp) -/* 105CC4 8029C6B4 8E020000 */ lw $v0, ($s0) -/* 105CC8 8029C6B8 3C090600 */ lui $t1, 0x600 -/* 105CCC 8029C6BC 3C0CBD00 */ lui $t4, 0xbd00 -/* 105CD0 8029C6C0 24480008 */ addiu $t0, $v0, 8 -/* 105CD4 8029C6C4 AE080000 */ sw $t0, ($s0) -/* 105CD8 8029C6C8 AC490000 */ sw $t1, ($v0) -/* 105CDC 8029C6CC 8FAA002C */ lw $t2, 0x2c($sp) -/* 105CE0 8029C6D0 27A40128 */ addiu $a0, $sp, 0x128 -/* 105CE4 8029C6D4 AC4A0004 */ sw $t2, 4($v0) -/* 105CE8 8029C6D8 8E020000 */ lw $v0, ($s0) -/* 105CEC 8029C6DC 244B0008 */ addiu $t3, $v0, 8 -/* 105CF0 8029C6E0 AE0B0000 */ sw $t3, ($s0) -/* 105CF4 8029C6E4 AC400004 */ sw $zero, 4($v0) -/* 105CF8 8029C6E8 AC4C0000 */ sw $t4, ($v0) -/* 105CFC 8029C6EC 8FAD016C */ lw $t5, 0x16c($sp) -/* 105D00 8029C6F0 85A50006 */ lh $a1, 6($t5) -/* 105D04 8029C6F4 24A50222 */ addiu $a1, $a1, 0x222 -/* 105D08 8029C6F8 00057400 */ sll $t6, $a1, 0x10 -/* 105D0C 8029C6FC 0C0AD677 */ jal func_802B59DC -/* 105D10 8029C700 000E2C03 */ sra $a1, $t6, 0x10 -/* 105D14 8029C704 27A4011C */ addiu $a0, $sp, 0x11c -/* 105D18 8029C708 3C054188 */ lui $a1, 0x4188 -/* 105D1C 8029C70C 3C0640C0 */ lui $a2, 0x40c0 -/* 105D20 8029C710 0C0AD4A7 */ jal vec3f_set -/* 105D24 8029C714 3C074140 */ lui $a3, 0x4140 -/* 105D28 8029C718 27A400DC */ addiu $a0, $sp, 0xdc -/* 105D2C 8029C71C 0C0AD548 */ jal mtxf_translate -/* 105D30 8029C720 27A5011C */ addiu $a1, $sp, 0x11c -/* 105D34 8029C724 27A4009C */ addiu $a0, $sp, 0x9c -/* 105D38 8029C728 27A50128 */ addiu $a1, $sp, 0x128 -/* 105D3C 8029C72C 0C0ADC73 */ jal func_802B71CC -/* 105D40 8029C730 27A600DC */ addiu $a2, $sp, 0xdc -/* 105D44 8029C734 27A4009C */ addiu $a0, $sp, 0x9c -/* 105D48 8029C738 0C0AD3FE */ jal func_802B4FF8 -/* 105D4C 8029C73C 24050003 */ li $a1, 3 -/* 105D50 8029C740 504000CF */ beql $v0, $zero, .L8029CA80 -/* 105D54 8029C744 8FBF0024 */ lw $ra, 0x24($sp) -/* 105D58 8029C748 8E020000 */ lw $v0, ($s0) -/* 105D5C 8029C74C 3C190600 */ lui $t9, 0x600 -/* 105D60 8029C750 3C0ABD00 */ lui $t2, 0xbd00 -/* 105D64 8029C754 24580008 */ addiu $t8, $v0, 8 -/* 105D68 8029C758 AE180000 */ sw $t8, ($s0) -/* 105D6C 8029C75C AC590000 */ sw $t9, ($v0) -/* 105D70 8029C760 8FA8002C */ lw $t0, 0x2c($sp) -/* 105D74 8029C764 27A40128 */ addiu $a0, $sp, 0x128 -/* 105D78 8029C768 AC480004 */ sw $t0, 4($v0) -/* 105D7C 8029C76C 8E020000 */ lw $v0, ($s0) -/* 105D80 8029C770 24490008 */ addiu $t1, $v0, 8 -/* 105D84 8029C774 AE090000 */ sw $t1, ($s0) -/* 105D88 8029C778 AC400004 */ sw $zero, 4($v0) -/* 105D8C 8029C77C AC4A0000 */ sw $t2, ($v0) -/* 105D90 8029C780 8FAB016C */ lw $t3, 0x16c($sp) -/* 105D94 8029C784 85650006 */ lh $a1, 6($t3) -/* 105D98 8029C788 24A50222 */ addiu $a1, $a1, 0x222 -/* 105D9C 8029C78C 00056400 */ sll $t4, $a1, 0x10 -/* 105DA0 8029C790 0C0AD677 */ jal func_802B59DC -/* 105DA4 8029C794 000C2C03 */ sra $a1, $t4, 0x10 -/* 105DA8 8029C798 27A4011C */ addiu $a0, $sp, 0x11c -/* 105DAC 8029C79C 3C05C188 */ lui $a1, 0xc188 -/* 105DB0 8029C7A0 3C0640C0 */ lui $a2, 0x40c0 -/* 105DB4 8029C7A4 0C0AD4A7 */ jal vec3f_set -/* 105DB8 8029C7A8 3C074140 */ lui $a3, 0x4140 -/* 105DBC 8029C7AC 27A400DC */ addiu $a0, $sp, 0xdc -/* 105DC0 8029C7B0 0C0AD548 */ jal mtxf_translate -/* 105DC4 8029C7B4 27A5011C */ addiu $a1, $sp, 0x11c -/* 105DC8 8029C7B8 27A4009C */ addiu $a0, $sp, 0x9c -/* 105DCC 8029C7BC 27A50128 */ addiu $a1, $sp, 0x128 -/* 105DD0 8029C7C0 0C0ADC73 */ jal func_802B71CC -/* 105DD4 8029C7C4 27A600DC */ addiu $a2, $sp, 0xdc -/* 105DD8 8029C7C8 27A4009C */ addiu $a0, $sp, 0x9c -/* 105DDC 8029C7CC 0C0AD3FE */ jal func_802B4FF8 -/* 105DE0 8029C7D0 24050003 */ li $a1, 3 -/* 105DE4 8029C7D4 504000AA */ beql $v0, $zero, .L8029CA80 -/* 105DE8 8029C7D8 8FBF0024 */ lw $ra, 0x24($sp) -/* 105DEC 8029C7DC 8E020000 */ lw $v0, ($s0) -/* 105DF0 8029C7E0 3C0F0600 */ lui $t7, 0x600 -/* 105DF4 8029C7E4 3C08BD00 */ lui $t0, 0xbd00 -/* 105DF8 8029C7E8 244E0008 */ addiu $t6, $v0, 8 -/* 105DFC 8029C7EC AE0E0000 */ sw $t6, ($s0) -/* 105E00 8029C7F0 AC4F0000 */ sw $t7, ($v0) -/* 105E04 8029C7F4 8FB8002C */ lw $t8, 0x2c($sp) -/* 105E08 8029C7F8 27A40128 */ addiu $a0, $sp, 0x128 -/* 105E0C 8029C7FC AC580004 */ sw $t8, 4($v0) -/* 105E10 8029C800 8E020000 */ lw $v0, ($s0) -/* 105E14 8029C804 24590008 */ addiu $t9, $v0, 8 -/* 105E18 8029C808 AE190000 */ sw $t9, ($s0) -/* 105E1C 8029C80C AC400004 */ sw $zero, 4($v0) -/* 105E20 8029C810 AC480000 */ sw $t0, ($v0) -/* 105E24 8029C814 8FA9016C */ lw $t1, 0x16c($sp) -/* 105E28 8029C818 85250006 */ lh $a1, 6($t1) -/* 105E2C 8029C81C 24A505B0 */ addiu $a1, $a1, 0x5b0 -/* 105E30 8029C820 00055400 */ sll $t2, $a1, 0x10 -/* 105E34 8029C824 0C0AD677 */ jal func_802B59DC -/* 105E38 8029C828 000A2C03 */ sra $a1, $t2, 0x10 -/* 105E3C 8029C82C 27A4011C */ addiu $a0, $sp, 0x11c -/* 105E40 8029C830 3C054188 */ lui $a1, 0x4188 -/* 105E44 8029C834 3C0640C0 */ lui $a2, 0x40c0 -/* 105E48 8029C838 0C0AD4A7 */ jal vec3f_set -/* 105E4C 8029C83C 3C07C100 */ lui $a3, 0xc100 -/* 105E50 8029C840 27A400DC */ addiu $a0, $sp, 0xdc -/* 105E54 8029C844 0C0AD548 */ jal mtxf_translate -/* 105E58 8029C848 27A5011C */ addiu $a1, $sp, 0x11c -/* 105E5C 8029C84C 27A4009C */ addiu $a0, $sp, 0x9c -/* 105E60 8029C850 27A50128 */ addiu $a1, $sp, 0x128 -/* 105E64 8029C854 0C0ADC73 */ jal func_802B71CC -/* 105E68 8029C858 27A600DC */ addiu $a2, $sp, 0xdc -/* 105E6C 8029C85C 27A4009C */ addiu $a0, $sp, 0x9c -/* 105E70 8029C860 0C0AD3FE */ jal func_802B4FF8 -/* 105E74 8029C864 24050003 */ li $a1, 3 -/* 105E78 8029C868 50400085 */ beql $v0, $zero, .L8029CA80 -/* 105E7C 8029C86C 8FBF0024 */ lw $ra, 0x24($sp) -/* 105E80 8029C870 8E020000 */ lw $v0, ($s0) -/* 105E84 8029C874 3C0D0600 */ lui $t5, 0x600 -/* 105E88 8029C878 3C18BD00 */ lui $t8, 0xbd00 -/* 105E8C 8029C87C 244C0008 */ addiu $t4, $v0, 8 -/* 105E90 8029C880 AE0C0000 */ sw $t4, ($s0) -/* 105E94 8029C884 AC4D0000 */ sw $t5, ($v0) -/* 105E98 8029C888 8FAE002C */ lw $t6, 0x2c($sp) -/* 105E9C 8029C88C 27A40128 */ addiu $a0, $sp, 0x128 -/* 105EA0 8029C890 AC4E0004 */ sw $t6, 4($v0) -/* 105EA4 8029C894 8E020000 */ lw $v0, ($s0) -/* 105EA8 8029C898 244F0008 */ addiu $t7, $v0, 8 -/* 105EAC 8029C89C AE0F0000 */ sw $t7, ($s0) -/* 105EB0 8029C8A0 AC400004 */ sw $zero, 4($v0) -/* 105EB4 8029C8A4 AC580000 */ sw $t8, ($v0) -/* 105EB8 8029C8A8 8FB9016C */ lw $t9, 0x16c($sp) -/* 105EBC 8029C8AC 87250006 */ lh $a1, 6($t9) -/* 105EC0 8029C8B0 24A505B0 */ addiu $a1, $a1, 0x5b0 -/* 105EC4 8029C8B4 00054400 */ sll $t0, $a1, 0x10 -/* 105EC8 8029C8B8 0C0AD677 */ jal func_802B59DC -/* 105ECC 8029C8BC 00082C03 */ sra $a1, $t0, 0x10 -/* 105ED0 8029C8C0 27A4011C */ addiu $a0, $sp, 0x11c -/* 105ED4 8029C8C4 3C05C188 */ lui $a1, 0xc188 -/* 105ED8 8029C8C8 3C0640C0 */ lui $a2, 0x40c0 -/* 105EDC 8029C8CC 0C0AD4A7 */ jal vec3f_set -/* 105EE0 8029C8D0 3C07C100 */ lui $a3, 0xc100 -/* 105EE4 8029C8D4 27A400DC */ addiu $a0, $sp, 0xdc -/* 105EE8 8029C8D8 0C0AD548 */ jal mtxf_translate -/* 105EEC 8029C8DC 27A5011C */ addiu $a1, $sp, 0x11c -/* 105EF0 8029C8E0 27A4009C */ addiu $a0, $sp, 0x9c -/* 105EF4 8029C8E4 27A50128 */ addiu $a1, $sp, 0x128 -/* 105EF8 8029C8E8 0C0ADC73 */ jal func_802B71CC -/* 105EFC 8029C8EC 27A600DC */ addiu $a2, $sp, 0xdc -/* 105F00 8029C8F0 27A4009C */ addiu $a0, $sp, 0x9c -/* 105F04 8029C8F4 0C0AD3FE */ jal func_802B4FF8 -/* 105F08 8029C8F8 24050003 */ li $a1, 3 -/* 105F0C 8029C8FC 50400060 */ beql $v0, $zero, .L8029CA80 -/* 105F10 8029C900 8FBF0024 */ lw $ra, 0x24($sp) -/* 105F14 8029C904 8E020000 */ lw $v0, ($s0) -/* 105F18 8029C908 3C0B0600 */ lui $t3, 0x600 -/* 105F1C 8029C90C 3C0EBD00 */ lui $t6, 0xbd00 -/* 105F20 8029C910 244A0008 */ addiu $t2, $v0, 8 -/* 105F24 8029C914 AE0A0000 */ sw $t2, ($s0) -/* 105F28 8029C918 AC4B0000 */ sw $t3, ($v0) -/* 105F2C 8029C91C 8FAC002C */ lw $t4, 0x2c($sp) -/* 105F30 8029C920 27A40128 */ addiu $a0, $sp, 0x128 -/* 105F34 8029C924 AC4C0004 */ sw $t4, 4($v0) -/* 105F38 8029C928 8E020000 */ lw $v0, ($s0) -/* 105F3C 8029C92C 244D0008 */ addiu $t5, $v0, 8 -/* 105F40 8029C930 AE0D0000 */ sw $t5, ($s0) -/* 105F44 8029C934 AC400004 */ sw $zero, 4($v0) -/* 105F48 8029C938 AC4E0000 */ sw $t6, ($v0) -/* 105F4C 8029C93C 8FAF016C */ lw $t7, 0x16c($sp) -/* 105F50 8029C940 85E50006 */ lh $a1, 6($t7) -/* 105F54 8029C944 24A5016C */ addiu $a1, $a1, 0x16c -/* 105F58 8029C948 0005C400 */ sll $t8, $a1, 0x10 -/* 105F5C 8029C94C 0C0AD677 */ jal func_802B59DC -/* 105F60 8029C950 00182C03 */ sra $a1, $t8, 0x10 -/* 105F64 8029C954 27A4011C */ addiu $a0, $sp, 0x11c -/* 105F68 8029C958 3C054188 */ lui $a1, 0x4188 -/* 105F6C 8029C95C 3C0640C0 */ lui $a2, 0x40c0 -/* 105F70 8029C960 0C0AD4A7 */ jal vec3f_set -/* 105F74 8029C964 3C07C1C0 */ lui $a3, 0xc1c0 -/* 105F78 8029C968 27A400DC */ addiu $a0, $sp, 0xdc -/* 105F7C 8029C96C 0C0AD548 */ jal mtxf_translate -/* 105F80 8029C970 27A5011C */ addiu $a1, $sp, 0x11c -/* 105F84 8029C974 27A4009C */ addiu $a0, $sp, 0x9c -/* 105F88 8029C978 27A50128 */ addiu $a1, $sp, 0x128 -/* 105F8C 8029C97C 0C0ADC73 */ jal func_802B71CC -/* 105F90 8029C980 27A600DC */ addiu $a2, $sp, 0xdc -/* 105F94 8029C984 27A4009C */ addiu $a0, $sp, 0x9c -/* 105F98 8029C988 0C0AD3FE */ jal func_802B4FF8 -/* 105F9C 8029C98C 24050003 */ li $a1, 3 -/* 105FA0 8029C990 5040003B */ beql $v0, $zero, .L8029CA80 -/* 105FA4 8029C994 8FBF0024 */ lw $ra, 0x24($sp) -/* 105FA8 8029C998 8E020000 */ lw $v0, ($s0) -/* 105FAC 8029C99C 3C090600 */ lui $t1, 0x600 -/* 105FB0 8029C9A0 3C0CBD00 */ lui $t4, 0xbd00 -/* 105FB4 8029C9A4 24480008 */ addiu $t0, $v0, 8 -/* 105FB8 8029C9A8 AE080000 */ sw $t0, ($s0) -/* 105FBC 8029C9AC AC490000 */ sw $t1, ($v0) -/* 105FC0 8029C9B0 8FAA002C */ lw $t2, 0x2c($sp) -/* 105FC4 8029C9B4 27A40128 */ addiu $a0, $sp, 0x128 -/* 105FC8 8029C9B8 AC4A0004 */ sw $t2, 4($v0) -/* 105FCC 8029C9BC 8E020000 */ lw $v0, ($s0) -/* 105FD0 8029C9C0 244B0008 */ addiu $t3, $v0, 8 -/* 105FD4 8029C9C4 AE0B0000 */ sw $t3, ($s0) -/* 105FD8 8029C9C8 AC400004 */ sw $zero, 4($v0) -/* 105FDC 8029C9CC AC4C0000 */ sw $t4, ($v0) -/* 105FE0 8029C9D0 8FAD016C */ lw $t5, 0x16c($sp) -/* 105FE4 8029C9D4 85A50006 */ lh $a1, 6($t5) -/* 105FE8 8029C9D8 24A5016C */ addiu $a1, $a1, 0x16c -/* 105FEC 8029C9DC 00057400 */ sll $t6, $a1, 0x10 -/* 105FF0 8029C9E0 0C0AD677 */ jal func_802B59DC -/* 105FF4 8029C9E4 000E2C03 */ sra $a1, $t6, 0x10 -/* 105FF8 8029C9E8 27A4011C */ addiu $a0, $sp, 0x11c -/* 105FFC 8029C9EC 3C05C188 */ lui $a1, 0xc188 -/* 106000 8029C9F0 3C0640C0 */ lui $a2, 0x40c0 -/* 106004 8029C9F4 0C0AD4A7 */ jal vec3f_set -/* 106008 8029C9F8 3C07C1C0 */ lui $a3, 0xc1c0 -/* 10600C 8029C9FC 27A400DC */ addiu $a0, $sp, 0xdc -/* 106010 8029CA00 0C0AD548 */ jal mtxf_translate -/* 106014 8029CA04 27A5011C */ addiu $a1, $sp, 0x11c -/* 106018 8029CA08 27A4009C */ addiu $a0, $sp, 0x9c -/* 10601C 8029CA0C 27A50128 */ addiu $a1, $sp, 0x128 -/* 106020 8029CA10 0C0ADC73 */ jal func_802B71CC -/* 106024 8029CA14 27A600DC */ addiu $a2, $sp, 0xdc -/* 106028 8029CA18 27A4009C */ addiu $a0, $sp, 0x9c -/* 10602C 8029CA1C 0C0AD3FE */ jal func_802B4FF8 -/* 106030 8029CA20 24050003 */ li $a1, 3 -/* 106034 8029CA24 50400016 */ beql $v0, $zero, .L8029CA80 -/* 106038 8029CA28 8FBF0024 */ lw $ra, 0x24($sp) -/* 10603C 8029CA2C 8E020000 */ lw $v0, ($s0) -/* 106040 8029CA30 3C190600 */ lui $t9, 0x600 -/* 106044 8029CA34 3C0ABD00 */ lui $t2, 0xbd00 -/* 106048 8029CA38 24580008 */ addiu $t8, $v0, 8 -/* 10604C 8029CA3C AE180000 */ sw $t8, ($s0) -/* 106050 8029CA40 AC590000 */ sw $t9, ($v0) -/* 106054 8029CA44 8FA8002C */ lw $t0, 0x2c($sp) -/* 106058 8029CA48 3C0CB700 */ lui $t4, 0xb700 -/* 10605C 8029CA4C 240D2000 */ li $t5, 8192 -/* 106060 8029CA50 AC480004 */ sw $t0, 4($v0) -/* 106064 8029CA54 8E020000 */ lw $v0, ($s0) -/* 106068 8029CA58 24490008 */ addiu $t1, $v0, 8 -/* 10606C 8029CA5C AE090000 */ sw $t1, ($s0) -/* 106070 8029CA60 AC400004 */ sw $zero, 4($v0) -/* 106074 8029CA64 AC4A0000 */ sw $t2, ($v0) -/* 106078 8029CA68 8E020000 */ lw $v0, ($s0) -/* 10607C 8029CA6C 244B0008 */ addiu $t3, $v0, 8 -/* 106080 8029CA70 AE0B0000 */ sw $t3, ($s0) -/* 106084 8029CA74 AC4D0004 */ sw $t5, 4($v0) -/* 106088 8029CA78 AC4C0000 */ sw $t4, ($v0) -.L8029CA7C: -/* 10608C 8029CA7C 8FBF0024 */ lw $ra, 0x24($sp) -.L8029CA80: -/* 106090 8029CA80 8FB00020 */ lw $s0, 0x20($sp) -/* 106094 8029CA84 27BD0168 */ addiu $sp, $sp, 0x168 -/* 106098 8029CA88 03E00008 */ jr $ra -/* 10609C 8029CA8C 00000000 */ nop diff --git a/asm/non_matchings/code_actors/func_8029CA90.s b/asm/non_matchings/code_actors/func_8029CA90.s deleted file mode 100644 index 9636dbf1c..000000000 --- a/asm/non_matchings/code_actors/func_8029CA90.s +++ /dev/null @@ -1,101 +0,0 @@ -glabel func_8029CA90 -/* 1060A0 8029CA90 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 1060A4 8029CA94 AFBF0024 */ sw $ra, 0x24($sp) -/* 1060A8 8029CA98 AFB00020 */ sw $s0, 0x20($sp) -/* 1060AC 8029CA9C 84AE0004 */ lh $t6, 4($a1) -/* 1060B0 8029CAA0 00A08025 */ move $s0, $a1 -/* 1060B4 8029CAA4 24A50018 */ addiu $a1, $a1, 0x18 -/* 1060B8 8029CAA8 15C00055 */ bnez $t6, .L8029CC00 -/* 1060BC 8029CAAC 3C0743C8 */ lui $a3, 0x43c8 -/* 1060C0 8029CAB0 3C0F800E */ lui $t7, %hi(camera1) # $t7, 0x800e -/* 1060C4 8029CAB4 8DEFDB40 */ lw $t7, %lo(camera1)($t7) -/* 1060C8 8029CAB8 240100B8 */ li $at, 184 -/* 1060CC 8029CABC 94860026 */ lhu $a2, 0x26($a0) -/* 1060D0 8029CAC0 008FC023 */ subu $t8, $a0, $t7 -/* 1060D4 8029CAC4 0301001A */ div $zero, $t8, $at -/* 1060D8 8029CAC8 0000C812 */ mflo $t9 -/* 1060DC 8029CACC 00194080 */ sll $t0, $t9, 2 -/* 1060E0 8029CAD0 3C018015 */ lui $at, %hi(D_80150130) -/* 1060E4 8029CAD4 00280821 */ addu $at, $at, $t0 -/* 1060E8 8029CAD8 C4240130 */ lwc1 $f4, %lo(D_80150130)($at) -/* 1060EC 8029CADC 3C01802C */ lui $at, %hi(D_802B9750) # $at, 0x802c -/* 1060F0 8029CAE0 C4269750 */ lwc1 $f6, %lo(D_802B9750)($at) -/* 1060F4 8029CAE4 AFA5002C */ sw $a1, 0x2c($sp) -/* 1060F8 8029CAE8 E7A40010 */ swc1 $f4, 0x10($sp) -/* 1060FC 8029CAEC 0C0AE034 */ jal func_802B80D0 -/* 106100 8029CAF0 E7A60014 */ swc1 $f6, 0x14($sp) -/* 106104 8029CAF4 44804000 */ mtc1 $zero, $f8 -/* 106108 8029CAF8 3C01802C */ lui $at, %hi(D_802B9754) # $at, 0x802c -/* 10610C 8029CAFC 4608003C */ c.lt.s $f0, $f8 -/* 106110 8029CB00 00000000 */ nop -/* 106114 8029CB04 4503003F */ bc1tl .L8029CC04 -/* 106118 8029CB08 8FBF0024 */ lw $ra, 0x24($sp) -/* 10611C 8029CB0C C42A9754 */ lwc1 $f10, %lo(D_802B9754)($at) -/* 106120 8029CB10 460A003C */ c.lt.s $f0, $f10 -/* 106124 8029CB14 00000000 */ nop -/* 106128 8029CB18 45020028 */ bc1fl .L8029CBBC -/* 10612C 8029CB1C 27A4004C */ addiu $a0, $sp, 0x4c -/* 106130 8029CB20 96090034 */ lhu $t1, 0x34($s0) -/* 106134 8029CB24 24010001 */ li $at, 1 -/* 106138 8029CB28 55210024 */ bnel $t1, $at, .L8029CBBC -/* 10613C 8029CB2C 27A4004C */ addiu $a0, $sp, 0x4c -/* 106140 8029CB30 C6100018 */ lwc1 $f16, 0x18($s0) -/* 106144 8029CB34 E7B0008C */ swc1 $f16, 0x8c($sp) -/* 106148 8029CB38 C6120020 */ lwc1 $f18, 0x20($s0) -/* 10614C 8029CB3C C7AC008C */ lwc1 $f12, 0x8c($sp) -/* 106150 8029CB40 E7B20094 */ swc1 $f18, 0x94($sp) -/* 106154 8029CB44 9607003A */ lhu $a3, 0x3a($s0) -/* 106158 8029CB48 8FA60094 */ lw $a2, 0x94($sp) -/* 10615C 8029CB4C 0C0AAF8C */ jal func_802ABE30 -/* 106160 8029CB50 C60E001C */ lwc1 $f14, 0x1c($s0) -/* 106164 8029CB54 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 106168 8029CB58 44812000 */ mtc1 $at, $f4 -/* 10616C 8029CB5C A7A00098 */ sh $zero, 0x98($sp) -/* 106170 8029CB60 A7A0009A */ sh $zero, 0x9a($sp) -/* 106174 8029CB64 46040180 */ add.s $f6, $f0, $f4 -/* 106178 8029CB68 A7A0009C */ sh $zero, 0x9c($sp) -/* 10617C 8029CB6C 27A4004C */ addiu $a0, $sp, 0x4c -/* 106180 8029CB70 27A5008C */ addiu $a1, $sp, 0x8c -/* 106184 8029CB74 E7A60090 */ swc1 $f6, 0x90($sp) -/* 106188 8029CB78 0C0AD7DD */ jal func_802B5F74 -/* 10618C 8029CB7C 27A60098 */ addiu $a2, $sp, 0x98 -/* 106190 8029CB80 27A4004C */ addiu $a0, $sp, 0x4c -/* 106194 8029CB84 0C0AD3FE */ jal func_802B4FF8 -/* 106198 8029CB88 00002825 */ move $a1, $zero -/* 10619C 8029CB8C 1040001C */ beqz $v0, .L8029CC00 -/* 1061A0 8029CB90 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 1061A4 8029CB94 8C630298 */ lw $v1, %lo(gDisplayListHead)($v1) -/* 1061A8 8029CB98 3C018015 */ lui $at, %hi(gDisplayListHead) # $at, 0x8015 -/* 1061AC 8029CB9C 3C0C0600 */ lui $t4, %hi(D_06006F88) # $t4, 0x600 -/* 1061B0 8029CBA0 246A0008 */ addiu $t2, $v1, 8 -/* 1061B4 8029CBA4 AC2A0298 */ sw $t2, %lo(gDisplayListHead)($at) -/* 1061B8 8029CBA8 258C6F88 */ addiu $t4, %lo(D_06006F88) # addiu $t4, $t4, 0x6f88 -/* 1061BC 8029CBAC 3C0B0600 */ lui $t3, 0x600 -/* 1061C0 8029CBB0 AC6B0000 */ sw $t3, ($v1) -/* 1061C4 8029CBB4 AC6C0004 */ sw $t4, 4($v1) -/* 1061C8 8029CBB8 27A4004C */ addiu $a0, $sp, 0x4c -.L8029CBBC: -/* 1061CC 8029CBBC 8FA5002C */ lw $a1, 0x2c($sp) -/* 1061D0 8029CBC0 0C0AD7DD */ jal func_802B5F74 -/* 1061D4 8029CBC4 26060010 */ addiu $a2, $s0, 0x10 -/* 1061D8 8029CBC8 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 1061DC 8029CBCC 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 1061E0 8029CBD0 27A4004C */ addiu $a0, $sp, 0x4c -/* 1061E4 8029CBD4 0C0AD3FE */ jal func_802B4FF8 -/* 1061E8 8029CBD8 00002825 */ move $a1, $zero -/* 1061EC 8029CBDC 10400008 */ beqz $v0, .L8029CC00 -/* 1061F0 8029CBE0 3C0E0600 */ lui $t6, 0x600 -/* 1061F4 8029CBE4 8E030000 */ lw $v1, ($s0) -/* 1061F8 8029CBE8 3C0F0600 */ lui $t7, %hi(D_06006FE0) # $t7, 0x600 -/* 1061FC 8029CBEC 25EF6FE0 */ addiu $t7, %lo(D_06006FE0) # addiu $t7, $t7, 0x6fe0 -/* 106200 8029CBF0 246D0008 */ addiu $t5, $v1, 8 -/* 106204 8029CBF4 AE0D0000 */ sw $t5, ($s0) -/* 106208 8029CBF8 AC6F0004 */ sw $t7, 4($v1) -/* 10620C 8029CBFC AC6E0000 */ sw $t6, ($v1) -.L8029CC00: -/* 106210 8029CC00 8FBF0024 */ lw $ra, 0x24($sp) -.L8029CC04: -/* 106214 8029CC04 8FB00020 */ lw $s0, 0x20($sp) -/* 106218 8029CC08 27BD00A0 */ addiu $sp, $sp, 0xa0 -/* 10621C 8029CC0C 03E00008 */ jr $ra -/* 106220 8029CC10 00000000 */ nop diff --git a/asm/non_matchings/code_actors/place_palm_trees.s b/asm/non_matchings/code_actors/place_palm_trees.s deleted file mode 100644 index b4ad6b8df..000000000 --- a/asm/non_matchings/code_actors/place_palm_trees.s +++ /dev/null @@ -1,102 +0,0 @@ -glabel place_palm_trees -/* 106390 8029CD80 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 106394 8029CD84 00047602 */ srl $t6, $a0, 0x18 -/* 106398 8029CD88 44800000 */ mtc1 $zero, $f0 -/* 10639C 8029CD8C 000E7880 */ sll $t7, $t6, 2 -/* 1063A0 8029CD90 3C188015 */ lui $t8, %hi(gSegmentTable) -/* 1063A4 8029CD94 030FC021 */ addu $t8, $t8, $t7 -/* 1063A8 8029CD98 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 1063AC 8029CD9C 8F180258 */ lw $t8, %lo(gSegmentTable)($t8) -/* 1063B0 8029CDA0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 1063B4 8029CDA4 0081C824 */ and $t9, $a0, $at -/* 1063B8 8029CDA8 AFB60040 */ sw $s6, 0x40($sp) -/* 1063BC 8029CDAC AFB00028 */ sw $s0, 0x28($sp) -/* 1063C0 8029CDB0 27B60060 */ addiu $s6, $sp, 0x60 -/* 1063C4 8029CDB4 AFBF004C */ sw $ra, 0x4c($sp) -/* 1063C8 8029CDB8 3C018000 */ lui $at, 0x8000 -/* 1063CC 8029CDBC 44050000 */ mfc1 $a1, $f0 -/* 1063D0 8029CDC0 44060000 */ mfc1 $a2, $f0 -/* 1063D4 8029CDC4 44070000 */ mfc1 $a3, $f0 -/* 1063D8 8029CDC8 03198021 */ addu $s0, $t8, $t9 -/* 1063DC 8029CDCC AFBE0048 */ sw $fp, 0x48($sp) -/* 1063E0 8029CDD0 AFB70044 */ sw $s7, 0x44($sp) -/* 1063E4 8029CDD4 AFB5003C */ sw $s5, 0x3c($sp) -/* 1063E8 8029CDD8 AFB40038 */ sw $s4, 0x38($sp) -/* 1063EC 8029CDDC AFB30034 */ sw $s3, 0x34($sp) -/* 1063F0 8029CDE0 AFB20030 */ sw $s2, 0x30($sp) -/* 1063F4 8029CDE4 AFB1002C */ sw $s1, 0x2c($sp) -/* 1063F8 8029CDE8 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 1063FC 8029CDEC 02018021 */ addu $s0, $s0, $at -/* 106400 8029CDF0 0C0AD4A7 */ jal vec3f_set -/* 106404 8029CDF4 02C02025 */ move $a0, $s6 -/* 106408 8029CDF8 27B70058 */ addiu $s7, $sp, 0x58 -/* 10640C 8029CDFC 02E02025 */ move $a0, $s7 -/* 106410 8029CE00 00002825 */ move $a1, $zero -/* 106414 8029CE04 00003025 */ move $a2, $zero -/* 106418 8029CE08 0C0AD4AF */ jal vec3s_set -/* 10641C 8029CE0C 00003825 */ move $a3, $zero -/* 106420 8029CE10 86020000 */ lh $v0, ($s0) -/* 106424 8029CE14 241E8000 */ li $fp, -32768 -/* 106428 8029CE18 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 10642C 8029CE1C 13C2002E */ beq $fp, $v0, .L8029CED8 -/* 106430 8029CE20 24150070 */ li $s5, 112 -/* 106434 8029CE24 3C148016 */ lui $s4, %hi(D_8015F9B8) # $s4, 0x8016 -/* 106438 8029CE28 3C128016 */ lui $s2, %hi(gCourseDirection) # $s2, 0x8016 -/* 10643C 8029CE2C 4481A000 */ mtc1 $at, $f20 -/* 106440 8029CE30 2652F784 */ addiu $s2, %lo(gCourseDirection) # addiu $s2, $s2, -0x87c -/* 106444 8029CE34 2694F9B8 */ addiu $s4, %lo(D_8015F9B8) # addiu $s4, $s4, -0x648 -/* 106448 8029CE38 27B3006C */ addiu $s3, $sp, 0x6c -/* 10644C 8029CE3C 44822000 */ mtc1 $v0, $f4 -.L8029CE40: -/* 106450 8029CE40 C6480000 */ lwc1 $f8, ($s2) -/* 106454 8029CE44 02602025 */ move $a0, $s3 -/* 106458 8029CE48 468021A0 */ cvt.s.w $f6, $f4 -/* 10645C 8029CE4C 02E02825 */ move $a1, $s7 -/* 106460 8029CE50 02C03025 */ move $a2, $s6 -/* 106464 8029CE54 24070019 */ li $a3, 25 -/* 106468 8029CE58 46083282 */ mul.s $f10, $f6, $f8 -/* 10646C 8029CE5C E7AA006C */ swc1 $f10, 0x6c($sp) -/* 106470 8029CE60 86080002 */ lh $t0, 2($s0) -/* 106474 8029CE64 44888000 */ mtc1 $t0, $f16 -/* 106478 8029CE68 00000000 */ nop -/* 10647C 8029CE6C 468084A0 */ cvt.s.w $f18, $f16 -/* 106480 8029CE70 E7B20070 */ swc1 $f18, 0x70($sp) -/* 106484 8029CE74 86090004 */ lh $t1, 4($s0) -/* 106488 8029CE78 44892000 */ mtc1 $t1, $f4 -/* 10648C 8029CE7C 00000000 */ nop -/* 106490 8029CE80 468021A0 */ cvt.s.w $f6, $f4 -/* 106494 8029CE84 0C0A7B22 */ jal func_8029EC88 -/* 106498 8029CE88 E7A60074 */ swc1 $f6, 0x74($sp) -/* 10649C 8029CE8C 00550019 */ multu $v0, $s5 -/* 1064A0 8029CE90 960B0006 */ lhu $t3, 6($s0) -/* 1064A4 8029CE94 4405A000 */ mfc1 $a1, $f20 -/* 1064A8 8029CE98 00005012 */ mflo $t2 -/* 1064AC 8029CE9C 028A8821 */ addu $s1, $s4, $t2 -/* 1064B0 8029CEA0 C6280020 */ lwc1 $f8, 0x20($s1) -/* 1064B4 8029CEA4 8E260018 */ lw $a2, 0x18($s1) -/* 1064B8 8029CEA8 8E27001C */ lw $a3, 0x1c($s1) -/* 1064BC 8029CEAC A62B0004 */ sh $t3, 4($s1) -/* 1064C0 8029CEB0 26240030 */ addiu $a0, $s1, 0x30 -/* 1064C4 8029CEB4 0C0AB772 */ jal func_802ADDC8 -/* 1064C8 8029CEB8 E7A80010 */ swc1 $f8, 0x10($sp) -/* 1064CC 8029CEBC 26240030 */ addiu $a0, $s1, 0x30 -/* 1064D0 8029CEC0 0C0A5DBB */ jal func_802976EC -/* 1064D4 8029CEC4 26250010 */ addiu $a1, $s1, 0x10 -/* 1064D8 8029CEC8 86020008 */ lh $v0, 8($s0) -/* 1064DC 8029CECC 26100008 */ addiu $s0, $s0, 8 -/* 1064E0 8029CED0 57C2FFDB */ bnel $fp, $v0, .L8029CE40 -/* 1064E4 8029CED4 44822000 */ mtc1 $v0, $f4 -.L8029CED8: -/* 1064E8 8029CED8 8FBF004C */ lw $ra, 0x4c($sp) -/* 1064EC 8029CEDC D7B40020 */ ldc1 $f20, 0x20($sp) -/* 1064F0 8029CEE0 8FB00028 */ lw $s0, 0x28($sp) -/* 1064F4 8029CEE4 8FB1002C */ lw $s1, 0x2c($sp) -/* 1064F8 8029CEE8 8FB20030 */ lw $s2, 0x30($sp) -/* 1064FC 8029CEEC 8FB30034 */ lw $s3, 0x34($sp) -/* 106500 8029CEF0 8FB40038 */ lw $s4, 0x38($sp) -/* 106504 8029CEF4 8FB5003C */ lw $s5, 0x3c($sp) -/* 106508 8029CEF8 8FB60040 */ lw $s6, 0x40($sp) -/* 10650C 8029CEFC 8FB70044 */ lw $s7, 0x44($sp) -/* 106510 8029CF00 8FBE0048 */ lw $fp, 0x48($sp) -/* 106514 8029CF04 03E00008 */ jr $ra -/* 106518 8029CF08 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/non_matchings/code_actors/place_piranha_plants.s b/asm/non_matchings/code_actors/place_piranha_plants.s deleted file mode 100644 index d33e811ba..000000000 --- a/asm/non_matchings/code_actors/place_piranha_plants.s +++ /dev/null @@ -1,94 +0,0 @@ -glabel place_piranha_plants -/* 106224 8029CC14 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 106228 8029CC18 00047602 */ srl $t6, $a0, 0x18 -/* 10622C 8029CC1C 44800000 */ mtc1 $zero, $f0 -/* 106230 8029CC20 000E7880 */ sll $t7, $t6, 2 -/* 106234 8029CC24 3C188015 */ lui $t8, %hi(gSegmentTable) -/* 106238 8029CC28 030FC021 */ addu $t8, $t8, $t7 -/* 10623C 8029CC2C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 106240 8029CC30 8F180258 */ lw $t8, %lo(gSegmentTable)($t8) -/* 106244 8029CC34 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 106248 8029CC38 0081C824 */ and $t9, $a0, $at -/* 10624C 8029CC3C AFBE0038 */ sw $fp, 0x38($sp) -/* 106250 8029CC40 AFB00018 */ sw $s0, 0x18($sp) -/* 106254 8029CC44 27BE0054 */ addiu $fp, $sp, 0x54 -/* 106258 8029CC48 AFBF003C */ sw $ra, 0x3c($sp) -/* 10625C 8029CC4C 3C018000 */ lui $at, 0x8000 -/* 106260 8029CC50 44050000 */ mfc1 $a1, $f0 -/* 106264 8029CC54 44060000 */ mfc1 $a2, $f0 -/* 106268 8029CC58 44070000 */ mfc1 $a3, $f0 -/* 10626C 8029CC5C 03198021 */ addu $s0, $t8, $t9 -/* 106270 8029CC60 AFB70034 */ sw $s7, 0x34($sp) -/* 106274 8029CC64 AFB60030 */ sw $s6, 0x30($sp) -/* 106278 8029CC68 AFB5002C */ sw $s5, 0x2c($sp) -/* 10627C 8029CC6C AFB40028 */ sw $s4, 0x28($sp) -/* 106280 8029CC70 AFB30024 */ sw $s3, 0x24($sp) -/* 106284 8029CC74 AFB20020 */ sw $s2, 0x20($sp) -/* 106288 8029CC78 AFB1001C */ sw $s1, 0x1c($sp) -/* 10628C 8029CC7C 02018021 */ addu $s0, $s0, $at -/* 106290 8029CC80 0C0AD4A7 */ jal vec3f_set -/* 106294 8029CC84 03C02025 */ move $a0, $fp -/* 106298 8029CC88 27B2004C */ addiu $s2, $sp, 0x4c -/* 10629C 8029CC8C 02402025 */ move $a0, $s2 -/* 1062A0 8029CC90 00002825 */ move $a1, $zero -/* 1062A4 8029CC94 00003025 */ move $a2, $zero -/* 1062A8 8029CC98 0C0AD4AF */ jal vec3s_set -/* 1062AC 8029CC9C 00003825 */ move $a3, $zero -/* 1062B0 8029CCA0 86110000 */ lh $s1, ($s0) -/* 1062B4 8029CCA4 24138000 */ li $s3, -32768 -/* 1062B8 8029CCA8 24170070 */ li $s7, 112 -/* 1062BC 8029CCAC 12710028 */ beq $s3, $s1, .L8029CD50 -/* 1062C0 8029CCB0 3C168016 */ lui $s6, %hi(D_8015F9B8) # $s6, 0x8016 -/* 1062C4 8029CCB4 3C148016 */ lui $s4, %hi(gCourseDirection) # $s4, 0x8016 -/* 1062C8 8029CCB8 2694F784 */ addiu $s4, %lo(gCourseDirection) # addiu $s4, $s4, -0x87c -/* 1062CC 8029CCBC 26D6F9B8 */ addiu $s6, %lo(D_8015F9B8) # addiu $s6, $s6, -0x648 -/* 1062D0 8029CCC0 27B50060 */ addiu $s5, $sp, 0x60 -/* 1062D4 8029CCC4 44912000 */ mtc1 $s1, $f4 -.L8029CCC8: -/* 1062D8 8029CCC8 C6880000 */ lwc1 $f8, ($s4) -/* 1062DC 8029CCCC 02A02025 */ move $a0, $s5 -/* 1062E0 8029CCD0 468021A0 */ cvt.s.w $f6, $f4 -/* 1062E4 8029CCD4 02402825 */ move $a1, $s2 -/* 1062E8 8029CCD8 03C03025 */ move $a2, $fp -/* 1062EC 8029CCDC 2407000A */ li $a3, 10 -/* 1062F0 8029CCE0 46083282 */ mul.s $f10, $f6, $f8 -/* 1062F4 8029CCE4 E7AA0060 */ swc1 $f10, 0x60($sp) -/* 1062F8 8029CCE8 86080002 */ lh $t0, 2($s0) -/* 1062FC 8029CCEC 44888000 */ mtc1 $t0, $f16 -/* 106300 8029CCF0 00000000 */ nop -/* 106304 8029CCF4 468084A0 */ cvt.s.w $f18, $f16 -/* 106308 8029CCF8 E7B20064 */ swc1 $f18, 0x64($sp) -/* 10630C 8029CCFC 86090004 */ lh $t1, 4($s0) -/* 106310 8029CD00 44892000 */ mtc1 $t1, $f4 -/* 106314 8029CD04 00000000 */ nop -/* 106318 8029CD08 468021A0 */ cvt.s.w $f6, $f4 -/* 10631C 8029CD0C 0C0A7B22 */ jal func_8029EC88 -/* 106320 8029CD10 E7A60068 */ swc1 $f6, 0x68($sp) -/* 106324 8029CD14 00570019 */ multu $v0, $s7 -/* 106328 8029CD18 26100008 */ addiu $s0, $s0, 8 -/* 10632C 8029CD1C 00005012 */ mflo $t2 -/* 106330 8029CD20 02CA1821 */ addu $v1, $s6, $t2 -/* 106334 8029CD24 A4600004 */ sh $zero, 4($v1) -/* 106338 8029CD28 A4600006 */ sh $zero, 6($v1) -/* 10633C 8029CD2C A4600008 */ sh $zero, 8($v1) -/* 106340 8029CD30 A460000A */ sh $zero, 0xa($v1) -/* 106344 8029CD34 A4600024 */ sh $zero, 0x24($v1) -/* 106348 8029CD38 A4600026 */ sh $zero, 0x26($v1) -/* 10634C 8029CD3C A4600028 */ sh $zero, 0x28($v1) -/* 106350 8029CD40 A460002A */ sh $zero, 0x2a($v1) -/* 106354 8029CD44 86110000 */ lh $s1, ($s0) -/* 106358 8029CD48 5671FFDF */ bnel $s3, $s1, .L8029CCC8 -/* 10635C 8029CD4C 44912000 */ mtc1 $s1, $f4 -.L8029CD50: -/* 106360 8029CD50 8FBF003C */ lw $ra, 0x3c($sp) -/* 106364 8029CD54 8FB00018 */ lw $s0, 0x18($sp) -/* 106368 8029CD58 8FB1001C */ lw $s1, 0x1c($sp) -/* 10636C 8029CD5C 8FB20020 */ lw $s2, 0x20($sp) -/* 106370 8029CD60 8FB30024 */ lw $s3, 0x24($sp) -/* 106374 8029CD64 8FB40028 */ lw $s4, 0x28($sp) -/* 106378 8029CD68 8FB5002C */ lw $s5, 0x2c($sp) -/* 10637C 8029CD6C 8FB60030 */ lw $s6, 0x30($sp) -/* 106380 8029CD70 8FB70034 */ lw $s7, 0x34($sp) -/* 106384 8029CD74 8FBE0038 */ lw $fp, 0x38($sp) -/* 106388 8029CD78 03E00008 */ jr $ra -/* 10638C 8029CD7C 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/non_matchings/memory/func_802A94D8.s b/asm/non_matchings/memory/func_802A94D8.s deleted file mode 100644 index 078db1b32..000000000 --- a/asm/non_matchings/memory/func_802A94D8.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_802A94D8 -/* 112AE8 802A94D8 27BDFFF8 */ addiu $sp, $sp, -8 -/* 112AEC 802A94DC 3C0F802C */ lui $t7, %hi(D_802B8D70) # $t7, 0x802c -/* 112AF0 802A94E0 AFA5000C */ sw $a1, 0xc($sp) -/* 112AF4 802A94E4 AFA60010 */ sw $a2, 0x10($sp) -/* 112AF8 802A94E8 25EF8D70 */ addiu $t7, %lo(D_802B8D70) # addiu $t7, $t7, -0x7290 -/* 112AFC 802A94EC 8DE10000 */ lw $at, ($t7) -/* 112B00 802A94F0 8DE80004 */ lw $t0, 4($t7) -/* 112B04 802A94F4 27AE0000 */ addiu $t6, $sp, 0 -/* 112B08 802A94F8 3C02802C */ lui $v0, %hi(D_802BA270) # $v0, 0x802c -/* 112B0C 802A94FC 2442A270 */ addiu $v0, %lo(D_802BA270) # addiu $v0, $v0, -0x5d90 -/* 112B10 802A9500 ADC10000 */ sw $at, ($t6) -/* 112B14 802A9504 ADC80004 */ sw $t0, 4($t6) -/* 112B18 802A9508 8C4A0000 */ lw $t2, ($v0) -/* 112B1C 802A950C 8FA90000 */ lw $t1, ($sp) -/* 112B20 802A9510 000A58C0 */ sll $t3, $t2, 3 -/* 112B24 802A9514 008B6021 */ addu $t4, $a0, $t3 -/* 112B28 802A9518 AD890000 */ sw $t1, ($t4) -/* 112B2C 802A951C 8C590000 */ lw $t9, ($v0) -/* 112B30 802A9520 8FAD0004 */ lw $t5, 4($sp) -/* 112B34 802A9524 0019C0C0 */ sll $t8, $t9, 3 -/* 112B38 802A9528 00987021 */ addu $t6, $a0, $t8 -/* 112B3C 802A952C ADCD0004 */ sw $t5, 4($t6) -/* 112B40 802A9530 8C4F0000 */ lw $t7, ($v0) -/* 112B44 802A9534 27BD0008 */ addiu $sp, $sp, 8 -/* 112B48 802A9538 25E80001 */ addiu $t0, $t7, 1 -/* 112B4C 802A953C 03E00008 */ jr $ra -/* 112B50 802A9540 AC480000 */ sw $t0, ($v0) diff --git a/asm/non_matchings/memory/func_802A9544.s b/asm/non_matchings/memory/func_802A9544.s deleted file mode 100644 index a6f880a9a..000000000 --- a/asm/non_matchings/memory/func_802A9544.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_802A9544 -/* 112B54 802A9544 27BDFFF8 */ addiu $sp, $sp, -8 -/* 112B58 802A9548 3C0F802C */ lui $t7, %hi(D_802B8D78) # $t7, 0x802c -/* 112B5C 802A954C AFA5000C */ sw $a1, 0xc($sp) -/* 112B60 802A9550 AFA60010 */ sw $a2, 0x10($sp) -/* 112B64 802A9554 25EF8D78 */ addiu $t7, %lo(D_802B8D78) # addiu $t7, $t7, -0x7288 -/* 112B68 802A9558 8DE10000 */ lw $at, ($t7) -/* 112B6C 802A955C 8DE80004 */ lw $t0, 4($t7) -/* 112B70 802A9560 27AE0000 */ addiu $t6, $sp, 0 -/* 112B74 802A9564 3C02802C */ lui $v0, %hi(D_802BA270) # $v0, 0x802c -/* 112B78 802A9568 2442A270 */ addiu $v0, %lo(D_802BA270) # addiu $v0, $v0, -0x5d90 -/* 112B7C 802A956C ADC10000 */ sw $at, ($t6) -/* 112B80 802A9570 ADC80004 */ sw $t0, 4($t6) -/* 112B84 802A9574 8C4A0000 */ lw $t2, ($v0) -/* 112B88 802A9578 8FA90000 */ lw $t1, ($sp) -/* 112B8C 802A957C 000A58C0 */ sll $t3, $t2, 3 -/* 112B90 802A9580 008B6021 */ addu $t4, $a0, $t3 -/* 112B94 802A9584 AD890000 */ sw $t1, ($t4) -/* 112B98 802A9588 8C590000 */ lw $t9, ($v0) -/* 112B9C 802A958C 8FAD0004 */ lw $t5, 4($sp) -/* 112BA0 802A9590 0019C0C0 */ sll $t8, $t9, 3 -/* 112BA4 802A9594 00987021 */ addu $t6, $a0, $t8 -/* 112BA8 802A9598 ADCD0004 */ sw $t5, 4($t6) -/* 112BAC 802A959C 8C4F0000 */ lw $t7, ($v0) -/* 112BB0 802A95A0 27BD0008 */ addiu $sp, $sp, 8 -/* 112BB4 802A95A4 25E80001 */ addiu $t0, $t7, 1 -/* 112BB8 802A95A8 03E00008 */ jr $ra -/* 112BBC 802A95AC AC480000 */ sw $t0, ($v0) diff --git a/data/data_121DA0_1.s b/data/data_121DA0_1.s index 228b5be31..0019c970c 100644 --- a/data/data_121DA0_1.s +++ b/data/data_121DA0_1.s @@ -43,12 +43,12 @@ #.word 0xb900031d, 0x00404dd8 #glabel D_802B8D58 #.word 0xe8000000, 0x00000000 -glabel D_802B8D60 -.word 0xe8000000, 0x00000000 -glabel D_802B8D68 -.word 0xe6000000, 0x00000000 -glabel D_802B8D70 -.word 0xbb000001, 0xffffffff +#glabel D_802B8D60 +#.word 0xe8000000, 0x00000000 +#glabel D_802B8D68 +#.word 0xe6000000, 0x00000000 +#glabel D_802B8D70 +#.word 0xbb000001, 0xffffffff -glabel D_802B8D78 -.word 0xbb000000, 0x00010001 +#glabel D_802B8D78 +#.word 0xbb000000, 0x00010001 diff --git a/include/actor_types.h b/include/actor_types.h index 276560c05..2a4bfab7e 100644 --- a/include/actor_types.h +++ b/include/actor_types.h @@ -20,6 +20,7 @@ #define ACTOR_TRIPLE_GREEN_SHELL 0x15 #define ACTOR_TRIPLE_RED_SHELL 0x16 #define ACTOR_MARIO_RACEWAY_SIGN 0x17 +#define ACTOR_PALM_TREE 0x19 #define ACTOR_WARIO_STADIUM_SIGN 0x23 #define ACTOR_PADDLE_WHEEL_BOAT 0x26 #define ACTOR_RAILROAD_CROSSING 0x27 @@ -75,7 +76,8 @@ struct FallingRock { // 7230? // func_8029CF0C struct innerFR { - Vec4s data; + Vec3s data; + u16 unk2; }; typedef union { @@ -144,6 +146,20 @@ struct PiranhaPlant { /* 0x30 */ UnkActorInner unk30; }; // size = 0x70 +// Copied from PiranhaPlant, may not be accurate. +struct PalmTree { + /* 0x00 */ s16 type; + /* 0x02 */ s16 flags; + /* 0x04 */ Vec4s visibilityStates; // A per-camera visibilty state tracker + /* 0x0C */ f32 boundingBoxSize; + /* 0x10 */ Vec3s unk10; + /* 0x16 */ s16 unk16; + /* 0x18 */ Vec3f pos; + /* 0x24 */ Vec4s timers; // A per-camera timer. Might be more appropriate to call this state + /* 0x2C */ f32 unk_02C; + /* 0x30 */ UnkActorInner unk30; +}; // size = 0x70 + struct TripleShellParent { /* 0x00 */ s16 type; /* 0x02 */ s16 flags; diff --git a/src/code_80296A50.c b/src/code_80296A50.c index 6978787a9..ff64eacc1 100644 --- a/src/code_80296A50.c +++ b/src/code_80296A50.c @@ -210,7 +210,7 @@ loop_34: #else GLOBAL_ASM("asm/non_matchings/code_actors/func_80296A50.s") #endif - +void func_802ADDC8(UnkActorInner*, f32, f32, f32, f32); #ifdef MIPS_TO_C //generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd ? func_80296A50(struct Actor *); /* extern */ @@ -2196,7 +2196,7 @@ extern f32 D_802B9704; extern f32 D_802B9708; extern f32 D_802B970C; -s32 func_802B4FF8(Mat4, s32); +//s32 func_802B4FF8(Mat4, s32); extern s8 toads_turnpike_dl_10[]; extern s8 toads_turnpike_dl_11[]; extern s8 toads_turnpike_dl_9[]; @@ -2243,11 +2243,11 @@ extern Gfx toads_turnpike_dl_6[]; extern Gfx toads_turnpike_dl_7[]; extern Gfx toads_turnpike_dl_8[]; -void func_8029B6EC(Camera *arg0, struct Actor* arg1) { +void func_8029B6EC(Camera *camera, struct Actor* arg1) { s32 pad[6]; Mat4 spC8; s32 pad2[32]; - f32 temp_f0 = func_802B80D0(arg0->pos, arg1->pos, arg0->rotX[1], 2500.0f, D_80150130[arg0 - camera1], D_802B9710); + f32 temp_f0 = func_802B80D0(camera->pos, arg1->pos, camera->rotX[1], 2500.0f, D_80150130[camera - camera1], D_802B9710); if (!(temp_f0 < 0.0f)) { @@ -2275,799 +2275,442 @@ void func_8029B6EC(Camera *arg0, struct Actor* arg1) { } } -#ifdef MIPS_TO_C -//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd -s32 func_802B4FF8(f32 (*)[4], ?); /* extern */ -? func_802B59DC(f32 (*)[4], s16); /* extern */ -? func_802B5F74(f32 (*)[4], f32 *, s16 *); /* extern */ -f32 func_802B80D0(f32 *, u16, ?, f32, f32); /* extern */ -? vec3f_set(f32 *, ?, ?, ?); /* extern */ -extern ? D_0601B978; -extern ? D_0601C0F0; -extern ? D_0601D160; -extern ? D_0601D670; -extern ? D_0601E480; -extern ? D_0601E910; -extern ? D_06022D28; -extern f32 D_06022D70; -extern f32 D_06022DB8; -extern ? D_80150130; -static f32 D_802B9720 = 9e6.0f; -static f32 D_802B9724 = 122500.0f; -static f32 D_802B9728 = 640000.0f; -static f32 D_802B972C = 1440000.0f; +extern Gfx D_0601B978[]; +extern Gfx D_0601C0F0[]; +extern Gfx D_0601D160[]; +extern Gfx D_0601D670[]; +extern Gfx D_0601E480[]; +extern Gfx D_0601E910[]; +extern Gfx D_06022D28[]; +extern Gfx D_06022D70[]; +extern Gfx D_06022DB8[]; +extern f32 D_802B9720;// = 9e6.0f; +extern f32 D_802B9724;// = 122500.0f; +extern f32 D_802B9728;// = 640000.0f; +extern f32 D_802B972C;// = 1440000.0f; void func_8029B8E8(Camera *camera, struct TrainCar *actor) { - f32 sp160; - f32 sp9C; - f32 *sp30; - 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_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_f0; - f32 temp_f2; + s32 pad[3]; + Vec3f sp160; + Mat4 sp120; + Mat4 spE0; + Mat4 spA0; - temp_a1 = actor->pos; - sp30 = temp_a1; - temp_f0 = func_802B80D0(temp_a1, (u16) camera->rotX2, 0x451C4000, *(&D_80150130 + (((s32) (camera - camera1) / 184) * 4)), D_802B9720); - temp_f2 = temp_f0; - if (!(temp_f0 < 0.0f)) { - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->words.w1 = 0x00020000; - temp_v0->words.w0 = 0xB6000000; - sp9C = temp_f2; - func_802B5F74((f32 (*)[4]) &sp120[0], temp_a1, actor->rot); - if (func_802B4FF8((f32 (*)[4]) &sp120[0], 0) != 0) { - if (sp9C < D_802B9724) { - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->words.w1 = (u32) &D_0601C0F0; - temp_v0_2->words.w0 = 0x06000000; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->words.w1 = (u32) &D_0601B978; - temp_v0_3->words.w0 = 0x06000000; - } else if (sp9C < D_802B9728) { - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->words.w1 = (u32) &D_0601D670; - temp_v0_4->words.w0 = 0x06000000; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->words.w1 = (u32) &D_0601D160; - temp_v0_5->words.w0 = 0x06000000; - } else { - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->words.w1 = (u32) &D_0601E910; - temp_v0_6->words.w0 = 0x06000000; - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->words.w1 = (u32) &D_0601E480; - temp_v0_7->words.w0 = 0x06000000; - } - if (!(D_802B972C < sp9C)) { - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->words.w1 = 0x00002000; - temp_v0_8->words.w0 = 0xB6000000; - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->words.w1 = (u32) &D_06022D28; - temp_v0_9->words.w0 = 0x06000000; - func_802B59DC((f32 (*)[4]) &sp120[0], actor->wheelRot); - vec3f_set(&sp160, 0x41880000, 0x40C00000, 0x42000000); - mtxf_translate((f32 (*)[4]) &spE0[0], &sp160); - func_802B71CC((f32 (*)[4]) &spA0[0], (f32 (*)[4]) &sp120[0], (f32 (*)[4]) &spE0[0]); - if (func_802B4FF8((f32 (*)[4]) &spA0[0], 3) != 0) { - temp_v0_10 = gDisplayListHead; - gDisplayListHead = temp_v0_10 + 8; - temp_v0_10->words.w1 = (u32) &D_06022DB8; - temp_v0_10->words.w0 = 0x06000000; - temp_v0_11 = gDisplayListHead; - gDisplayListHead = temp_v0_11 + 8; - temp_v0_11->words.w1 = 0; - temp_v0_11->words.w0 = 0xBD000000; - sp30 = &D_06022DB8; - func_802B59DC((f32 (*)[4]) &sp120[0], actor->wheelRot); - vec3f_set(&sp160, 0xC1880000, 0x40C00000, 0x42000000); - mtxf_translate((f32 (*)[4]) &spE0[0], &sp160); - func_802B71CC((f32 (*)[4]) &spA0[0], (f32 (*)[4]) &sp120[0], (f32 (*)[4]) &spE0[0]); - if (func_802B4FF8((f32 (*)[4]) &spA0[0], 3) != 0) { - temp_v0_12 = gDisplayListHead; - gDisplayListHead = temp_v0_12 + 8; - temp_v0_12->words.w0 = 0x06000000; - temp_v0_12->words.w1 = (u32) sp30; - temp_v0_13 = gDisplayListHead; - gDisplayListHead = temp_v0_13 + 8; - temp_v0_13->words.w1 = 0; - temp_v0_13->words.w0 = 0xBD000000; - func_802B59DC((f32 (*)[4]) &sp120[0], (s16) (actor->wheelRot + 0x16C)); - vec3f_set(&sp160, 0x41880000, 0x40C00000, 0x41800000); - mtxf_translate((f32 (*)[4]) &spE0[0], &sp160); - func_802B71CC((f32 (*)[4]) &spA0[0], (f32 (*)[4]) &sp120[0], (f32 (*)[4]) &spE0[0]); - if (func_802B4FF8((f32 (*)[4]) &spA0[0], 3) != 0) { - temp_v0_14 = gDisplayListHead; - gDisplayListHead = temp_v0_14 + 8; - temp_v0_14->words.w0 = 0x06000000; - temp_v0_14->words.w1 = (u32) sp30; - temp_v0_15 = gDisplayListHead; - gDisplayListHead = temp_v0_15 + 8; - temp_v0_15->words.w1 = 0; - temp_v0_15->words.w0 = 0xBD000000; - func_802B59DC((f32 (*)[4]) &sp120[0], (s16) (actor->wheelRot + 0x16C)); - vec3f_set(&sp160, 0xC1880000, 0x40C00000, 0x41800000); - mtxf_translate((f32 (*)[4]) &spE0[0], &sp160); - func_802B71CC((f32 (*)[4]) &spA0[0], (f32 (*)[4]) &sp120[0], (f32 (*)[4]) &spE0[0]); - if (func_802B4FF8((f32 (*)[4]) &spA0[0], 3) != 0) { - temp_v0_16 = gDisplayListHead; - gDisplayListHead = temp_v0_16 + 8; - temp_v0_16->words.w0 = 0x06000000; - temp_v0_16->words.w1 = (u32) sp30; - temp_v0_17 = gDisplayListHead; - gDisplayListHead = temp_v0_17 + 8; - temp_v0_17->words.w1 = 0; - temp_v0_17->words.w0 = 0xBD000000; - func_802B59DC((f32 (*)[4]) &sp120[0], (s16) (actor->wheelRot + 0x444)); - vec3f_set(&sp160, 0x41880000, 0x41400000, 0xC1400000); - mtxf_translate((f32 (*)[4]) &spE0[0], &sp160); - func_802B71CC((f32 (*)[4]) &spA0[0], (f32 (*)[4]) &sp120[0], (f32 (*)[4]) &spE0[0]); - if (func_802B4FF8((f32 (*)[4]) &spA0[0], 3) != 0) { - temp_v0_18 = gDisplayListHead; - gDisplayListHead = temp_v0_18 + 8; - temp_v0_18->words.w1 = (u32) &D_06022D70; - temp_v0_18->words.w0 = 0x06000000; - temp_v0_19 = gDisplayListHead; - gDisplayListHead = temp_v0_19 + 8; - temp_v0_19->words.w1 = 0; - temp_v0_19->words.w0 = 0xBD000000; - sp30 = &D_06022D70; - func_802B59DC((f32 (*)[4]) &sp120[0], (s16) (actor->wheelRot + 0x444)); - vec3f_set(&sp160, 0xC1880000, 0x41400000, 0xC1400000); - mtxf_translate((f32 (*)[4]) &spE0[0], &sp160); - func_802B71CC((f32 (*)[4]) &spA0[0], (f32 (*)[4]) &sp120[0], (f32 (*)[4]) &spE0[0]); - if (func_802B4FF8((f32 (*)[4]) &spA0[0], 3) != 0) { - temp_v0_20 = gDisplayListHead; - gDisplayListHead = temp_v0_20 + 8; - temp_v0_20->words.w0 = 0x06000000; - temp_v0_20->words.w1 = (u32) sp30; - temp_v0_21 = gDisplayListHead; - gDisplayListHead = temp_v0_21 + 8; - temp_v0_21->words.w1 = 0; - temp_v0_21->words.w0 = 0xBD000000; - func_802B59DC((f32 (*)[4]) &sp120[0], (s16) (actor->wheelRot + 0x2D8)); - vec3f_set(&sp160, 0x41880000, 0x41400000, 0xC2080000); - mtxf_translate((f32 (*)[4]) &spE0[0], &sp160); - func_802B71CC((f32 (*)[4]) &spA0[0], (f32 (*)[4]) &sp120[0], (f32 (*)[4]) &spE0[0]); - if (func_802B4FF8((f32 (*)[4]) &spA0[0], 3) != 0) { - temp_v0_22 = gDisplayListHead; - gDisplayListHead = temp_v0_22 + 8; - temp_v0_22->words.w0 = 0x06000000; - temp_v0_22->words.w1 = (u32) sp30; - temp_v0_23 = gDisplayListHead; - gDisplayListHead = temp_v0_23 + 8; - temp_v0_23->words.w1 = 0; - temp_v0_23->words.w0 = 0xBD000000; - func_802B59DC((f32 (*)[4]) &sp120[0], (s16) (actor->wheelRot + 0x2D8)); - vec3f_set(&sp160, 0xC1880000, 0x41400000, 0xC2080000); - mtxf_translate((f32 (*)[4]) &spE0[0], &sp160); - func_802B71CC((f32 (*)[4]) &spA0[0], (f32 (*)[4]) &sp120[0], (f32 (*)[4]) &spE0[0]); - if (func_802B4FF8((f32 (*)[4]) &spA0[0], 3) != 0) { - temp_v0_24 = gDisplayListHead; - gDisplayListHead = temp_v0_24 + 8; - temp_v0_24->words.w0 = 0x06000000; - temp_v0_24->words.w1 = (u32) sp30; - temp_v0_25 = gDisplayListHead; - gDisplayListHead = temp_v0_25 + 8; - temp_v0_25->words.w1 = 0; - temp_v0_25->words.w0 = 0xBD000000; - temp_v0_26 = gDisplayListHead; - gDisplayListHead = temp_v0_26 + 8; - temp_v0_26->words.w1 = 0x00002000; - temp_v0_26->words.w0 = 0xB7000000; - } - } - } - } - } - } - } - } - } - } + f32 temp_f0 = func_802B80D0(camera->pos, actor->pos, camera->rotX[1], 2500.0f, D_80150130[camera - camera1], D_802B9720); + + if (temp_f0 < 0.0f) { return; } + + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + + func_802B5F74(sp120, actor->pos, actor->rot); + if (func_802B4FF8(sp120, 0) == 0) { return; } + + if (temp_f0 < D_802B9724) { + + gSPDisplayList(gDisplayListHead++, D_0601C0F0); + gSPDisplayList(gDisplayListHead++, D_0601B978); + + } else if (temp_f0 < D_802B9728) { + + gSPDisplayList(gDisplayListHead++, D_0601D670); + gSPDisplayList(gDisplayListHead++, D_0601D160); + } else { + gSPDisplayList(gDisplayListHead++, D_0601E910); + gSPDisplayList(gDisplayListHead++, D_0601E480); } -} -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_8029B8E8.s") -#endif + if (D_802B972C < temp_f0) { return; } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_802B4FF8(? *, ?); // extern -? mtxf_translate(? *, ? *); // extern -? func_802B59DC(? *, s16); // extern -? func_802B5F74(? *, ? *, s32); // extern -? func_802B71CC(? *, ? *, ? *); // extern -f32 func_802B80D0(? *, u16, ?, f32, f32); // extern -? vec3f_set(? *, ?, ?, ?); // extern -extern ? D_0601F228; -extern ? D_0601F708; -extern ? D_0601FAF8; -extern ? D_06022D28; -extern ? D_06022DB8; + gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); + gSPDisplayList(gDisplayListHead++, D_06022D28); + + func_802B59DC(sp120, actor->wheelRot); + vec3f_set(sp160, 17.0f, 6.0f, 32.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, actor->wheelRot); + vec3f_set(sp160, -17.0, 6.0f, 32.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, (s16) (actor->wheelRot + 0x16C)); + vec3f_set(sp160, 17.0f, 6.0f, 16.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, (s16) (actor->wheelRot + 0x16C)); + vec3f_set(sp160, -17.0f, 6.0f, 16.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, (s16) (actor->wheelRot + 0x444)); + vec3f_set(sp160, 17.0f, 12.0f, -12.0f); + mtxf_translate(spE0, &sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022D70); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, (s16) (actor->wheelRot + 0x444)); + vec3f_set(&sp160, -17.0f, 12.0f, -12.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022D70); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, (s16) (actor->wheelRot + 0x2D8)); + vec3f_set(&sp160, 17.0f, 12.0f, -34.0f); + mtxf_translate(spE0, &sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022D70); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, (s16) (actor->wheelRot + 0x2D8)); + vec3f_set(sp160, -17.0f, 12.0f, -34.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022D70); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); +} + +extern Gfx D_0601F228[]; +extern Gfx D_0601F708[]; +extern Gfx D_0601FAF8[]; +extern Gfx D_06022D28[]; extern f32 D_802B9730; extern f32 D_802B9734; extern f32 D_802B9738; extern f32 D_802B973C; +void func_8029BFB0(Camera *camera, struct TrainCar *actor) { + Mat4 sp120; + Vec3f sp160; + Mat4 spE0; + Mat4 spA0; -void func_8029BFB0(void *arg0, void *arg1) { - ? sp100; - ? spF4; - ? spB4; - ? sp74; - f32 sp70; - ? *sp30; - ? *temp_a1; - f32 temp_f0; - f32 temp_f2; - void *temp_v0; - void *temp_v0_10; - void *temp_v0_11; - void *temp_v0_12; - void *temp_v0_13; - void *temp_v0_14; - void *temp_v0_15; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - void *temp_v0_7; - void *temp_v0_8; - void *temp_v0_9; + f32 temp_f0 = func_802B80D0(camera->pos, actor->pos, camera->rotX[1], 625.0f, D_80150130[camera - camera1], D_802B9730); - temp_a1 = arg1 + 0x18; - sp30 = temp_a1; - temp_f0 = func_802B80D0(temp_a1, arg0->unk26, 0x441C4000, (&D_80150130)[(arg0 - camera1) / 0xB8], D_802B9730); - temp_f2 = temp_f0; - if (!(temp_f0 < 0.0f)) { - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk_04 = 0x20000; - temp_v0->unk0 = 0xB6000000; - sp70 = temp_f2; - func_802B5F74(&sp100, temp_a1, arg1 + 0x10); - if (func_802B4FF8(&sp100, 0) != 0) { - if (temp_f2 < D_802B9734) { - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk_04 = &D_0601F228; - temp_v0_2->unk0 = 0x6000000; - } else if (temp_f2 < D_802B9738) { - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk_04 = &D_0601F708; - temp_v0_3->unk0 = 0x6000000; - } else { - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk_04 = &D_0601FAF8; - temp_v0_4->unk0 = 0x6000000; - } - if (!(D_802B973C < temp_f2)) { - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk_04 = 0x2000; - temp_v0_5->unk0 = 0xB6000000; - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk_04 = &D_06022D28; - temp_v0_6->unk0 = 0x6000000; - func_802B59DC(&sp100, arg1->unk6); - vec3f_set(&spF4, 0x41880000, 0x40C00000, 0x41000000); - mtxf_translate(&spB4, &spF4); - func_802B71CC(&sp74, &sp100, &spB4); - if (func_802B4FF8(&sp74, 3) != 0) { - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk_04 = &D_06022DB8; - temp_v0_7->unk0 = 0x6000000; - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->unk_04 = 0; - temp_v0_8->unk0 = 0xBD000000; - sp30 = &D_06022DB8; - func_802B59DC(&sp100, arg1->unk6); - vec3f_set(&spF4, 0xC1880000, 0x40C00000, 0x41000000); - mtxf_translate(&spB4, &spF4); - func_802B71CC(&sp74, &sp100, &spB4); - if (func_802B4FF8(&sp74, 3) != 0) { - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->unk0 = 0x6000000; - temp_v0_9->unk_04 = sp30; - temp_v0_10 = gDisplayListHead; - gDisplayListHead = temp_v0_10 + 8; - temp_v0_10->unk_04 = 0; - temp_v0_10->unk0 = 0xBD000000; - func_802B59DC(&sp100, arg1->unk6 + 0x444); - vec3f_set(&spF4, 0x41880000, 0x40C00000, 0xC1000000); - mtxf_translate(&spB4, &spF4); - func_802B71CC(&sp74, &sp100, &spB4); - if (func_802B4FF8(&sp74, 3) != 0) { - temp_v0_11 = gDisplayListHead; - gDisplayListHead = temp_v0_11 + 8; - temp_v0_11->unk0 = 0x6000000; - temp_v0_11->unk_04 = sp30; - temp_v0_12 = gDisplayListHead; - gDisplayListHead = temp_v0_12 + 8; - temp_v0_12->unk_04 = 0; - temp_v0_12->unk0 = 0xBD000000; - func_802B59DC(&sp100, arg1->unk6 + 0x444); - vec3f_set(&spF4, 0xC1880000, 0x40C00000, 0xC1000000); - mtxf_translate(&spB4, &spF4); - func_802B71CC(&sp74, &sp100, &spB4); - if (func_802B4FF8(&sp74, 3) != 0) { - temp_v0_13 = gDisplayListHead; - gDisplayListHead = temp_v0_13 + 8; - temp_v0_13->unk0 = 0x6000000; - temp_v0_13->unk_04 = sp30; - temp_v0_14 = gDisplayListHead; - gDisplayListHead = temp_v0_14 + 8; - temp_v0_14->unk_04 = 0; - temp_v0_14->unk0 = 0xBD000000; - temp_v0_15 = gDisplayListHead; - gDisplayListHead = temp_v0_15 + 8; - temp_v0_15->unk_04 = 0x2000; - temp_v0_15->unk0 = 0xB7000000; - } - } - } - } - } - } + if (temp_f0 < 0.0f) { return; } + + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + + func_802B5F74(sp120, actor->pos, actor->rot); + if (func_802B4FF8(sp120, 0) == 0) { return; } + + if (temp_f0 < D_802B9734) { + + gSPDisplayList(gDisplayListHead++, D_0601F228); + + } else if (temp_f0 < D_802B9738) { + gSPDisplayList(gDisplayListHead++, D_0601F708); + } else { + gSPDisplayList(gDisplayListHead++, D_0601FAF8); } -} -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_8029BFB0.s") -#endif + if (D_802B973C < temp_f0) { return; } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_802B4FF8(? *, ?); // extern -? mtxf_translate(? *, ? *); // extern -? func_802B59DC(? *, s16); // extern -? func_802B5F74(? *, ? *, s32); // extern -? func_802B71CC(? *, ? *, ? *); // extern -f32 func_802B80D0(? *, u16, ?, f32, f32); // extern -? vec3f_set(? *, ?, ?, ?); // extern -extern ? D_06020A08; -extern ? D_06020A20; -extern ? D_06021220; -extern ? D_06021550; -extern ? D_06021A80; -extern ? D_06021C90; -extern ? D_06022D28; -extern ? D_06022DB8; + gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); + gSPDisplayList(gDisplayListHead++, D_06022D28); + + func_802B59DC(sp120, actor->wheelRot); + vec3f_set(sp160, 17.0f, 6.0f, 8.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, actor->wheelRot); + vec3f_set(sp160, -17.0, 6.0f, 8.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, (s16) (actor->wheelRot + 0x444)); + vec3f_set(sp160, 17.0f, 6.0f, -8.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, (s16) (actor->wheelRot + 0x444)); + vec3f_set(sp160, -17.0f, 6.0f, -8.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); +} + +extern Gfx D_06020A08[]; +extern Gfx D_06020A20[]; +extern Gfx D_06021220[]; +extern Gfx D_06021550[]; +extern Gfx D_06021A80[]; +extern Gfx D_06021C90[]; +extern Gfx D_06022D28[]; +extern Gfx D_06022DB8[]; extern f32 D_802B9740; extern f32 D_802B9744; extern f32 D_802B9748; extern f32 D_802B974C; +void func_8029C3CC(Camera *camera, struct TrainCar *actor) { + Mat4 sp120; + Vec3f sp160; + Mat4 spE0; + Mat4 spA0; -void func_8029C3CC(void *arg0, void *arg1) { - ? sp128; - ? sp11C; - ? spDC; - ? sp9C; - f32 sp98; - ? *sp2C; - ? *temp_a1; - f32 temp_f0; - f32 temp_f2; - void *temp_v0; - void *temp_v0_10; - void *temp_v0_11; - void *temp_v0_12; - void *temp_v0_13; - void *temp_v0_14; - void *temp_v0_15; - void *temp_v0_16; - void *temp_v0_17; - void *temp_v0_18; - void *temp_v0_19; - void *temp_v0_20; - void *temp_v0_21; - void *temp_v0_22; - void *temp_v0_23; - void *temp_v0_24; - void *temp_v0_25; - void *temp_v0_26; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - void *temp_v0_7; - void *temp_v0_8; - void *temp_v0_9; + f32 temp_f0 = func_802B80D0(camera->pos, actor->pos, camera->rotX[1], 2025.0f, D_80150130[camera - camera1], D_802B9740); - temp_a1 = arg1 + 0x18; - sp2C = temp_a1; - temp_f0 = func_802B80D0(temp_a1, arg0->unk26, 0x44FD2000, (&D_80150130)[(arg0 - camera1) / 0xB8], D_802B9740); - temp_f2 = temp_f0; - if (!(temp_f0 < 0.0f)) { - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk_04 = 0x20000; - temp_v0->unk0 = 0xB6000000; - sp98 = temp_f2; - func_802B5F74(&sp128, temp_a1, arg1 + 0x10); - if (func_802B4FF8(&sp128, 0) != 0) { - if (temp_f2 < D_802B9744) { - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk_04 = &D_06020A20; - temp_v0_2->unk0 = 0x6000000; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk_04 = &D_06020A08; - temp_v0_3->unk0 = 0x6000000; - } else if (temp_f2 < D_802B9748) { - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk_04 = &D_06021550; - temp_v0_4->unk0 = 0x6000000; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk_04 = &D_06021220; - temp_v0_5->unk0 = 0x6000000; - } else { - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk_04 = &D_06021C90; - temp_v0_6->unk0 = 0x6000000; - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk_04 = &D_06021A80; - temp_v0_7->unk0 = 0x6000000; - } - if (!(D_802B974C < temp_f2)) { - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->unk_04 = 0x2000; - temp_v0_8->unk0 = 0xB6000000; - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->unk_04 = &D_06022D28; - temp_v0_9->unk0 = 0x6000000; - func_802B59DC(&sp128, arg1->unk6); - vec3f_set(&sp11C, 0x41880000, 0x40C00000, 0x41E00000); - mtxf_translate(&spDC, &sp11C); - func_802B71CC(&sp9C, &sp128, &spDC); - if (func_802B4FF8(&sp9C, 3) != 0) { - temp_v0_10 = gDisplayListHead; - gDisplayListHead = temp_v0_10 + 8; - temp_v0_10->unk_04 = &D_06022DB8; - temp_v0_10->unk0 = 0x6000000; - temp_v0_11 = gDisplayListHead; - gDisplayListHead = temp_v0_11 + 8; - temp_v0_11->unk_04 = 0; - temp_v0_11->unk0 = 0xBD000000; - sp2C = &D_06022DB8; - func_802B59DC(&sp128, arg1->unk6); - vec3f_set(&sp11C, 0xC1880000, 0x40C00000, 0x41E00000); - mtxf_translate(&spDC, &sp11C); - func_802B71CC(&sp9C, &sp128, &spDC); - if (func_802B4FF8(&sp9C, 3) != 0) { - temp_v0_12 = gDisplayListHead; - gDisplayListHead = temp_v0_12 + 8; - temp_v0_12->unk0 = 0x6000000; - temp_v0_12->unk_04 = sp2C; - temp_v0_13 = gDisplayListHead; - gDisplayListHead = temp_v0_13 + 8; - temp_v0_13->unk_04 = 0; - temp_v0_13->unk0 = 0xBD000000; - func_802B59DC(&sp128, arg1->unk6 + 0x222); - vec3f_set(&sp11C, 0x41880000, 0x40C00000, 0x41400000); - mtxf_translate(&spDC, &sp11C); - func_802B71CC(&sp9C, &sp128, &spDC); - if (func_802B4FF8(&sp9C, 3) != 0) { - temp_v0_14 = gDisplayListHead; - gDisplayListHead = temp_v0_14 + 8; - temp_v0_14->unk0 = 0x6000000; - temp_v0_14->unk_04 = sp2C; - temp_v0_15 = gDisplayListHead; - gDisplayListHead = temp_v0_15 + 8; - temp_v0_15->unk_04 = 0; - temp_v0_15->unk0 = 0xBD000000; - func_802B59DC(&sp128, arg1->unk6 + 0x222); - vec3f_set(&sp11C, 0xC1880000, 0x40C00000, 0x41400000); - mtxf_translate(&spDC, &sp11C); - func_802B71CC(&sp9C, &sp128, &spDC); - if (func_802B4FF8(&sp9C, 3) != 0) { - temp_v0_16 = gDisplayListHead; - gDisplayListHead = temp_v0_16 + 8; - temp_v0_16->unk0 = 0x6000000; - temp_v0_16->unk_04 = sp2C; - temp_v0_17 = gDisplayListHead; - gDisplayListHead = temp_v0_17 + 8; - temp_v0_17->unk_04 = 0; - temp_v0_17->unk0 = 0xBD000000; - func_802B59DC(&sp128, arg1->unk6 + 0x5B0); - vec3f_set(&sp11C, 0x41880000, 0x40C00000, 0xC1000000); - mtxf_translate(&spDC, &sp11C); - func_802B71CC(&sp9C, &sp128, &spDC); - if (func_802B4FF8(&sp9C, 3) != 0) { - temp_v0_18 = gDisplayListHead; - gDisplayListHead = temp_v0_18 + 8; - temp_v0_18->unk0 = 0x6000000; - temp_v0_18->unk_04 = sp2C; - temp_v0_19 = gDisplayListHead; - gDisplayListHead = temp_v0_19 + 8; - temp_v0_19->unk_04 = 0; - temp_v0_19->unk0 = 0xBD000000; - func_802B59DC(&sp128, arg1->unk6 + 0x5B0); - vec3f_set(&sp11C, 0xC1880000, 0x40C00000, 0xC1000000); - mtxf_translate(&spDC, &sp11C); - func_802B71CC(&sp9C, &sp128, &spDC); - if (func_802B4FF8(&sp9C, 3) != 0) { - temp_v0_20 = gDisplayListHead; - gDisplayListHead = temp_v0_20 + 8; - temp_v0_20->unk0 = 0x6000000; - temp_v0_20->unk_04 = sp2C; - temp_v0_21 = gDisplayListHead; - gDisplayListHead = temp_v0_21 + 8; - temp_v0_21->unk_04 = 0; - temp_v0_21->unk0 = 0xBD000000; - func_802B59DC(&sp128, arg1->unk6 + 0x16C); - vec3f_set(&sp11C, 0x41880000, 0x40C00000, 0xC1C00000); - mtxf_translate(&spDC, &sp11C); - func_802B71CC(&sp9C, &sp128, &spDC); - if (func_802B4FF8(&sp9C, 3) != 0) { - temp_v0_22 = gDisplayListHead; - gDisplayListHead = temp_v0_22 + 8; - temp_v0_22->unk0 = 0x6000000; - temp_v0_22->unk_04 = sp2C; - temp_v0_23 = gDisplayListHead; - gDisplayListHead = temp_v0_23 + 8; - temp_v0_23->unk_04 = 0; - temp_v0_23->unk0 = 0xBD000000; - func_802B59DC(&sp128, arg1->unk6 + 0x16C); - vec3f_set(&sp11C, 0xC1880000, 0x40C00000, 0xC1C00000); - mtxf_translate(&spDC, &sp11C); - func_802B71CC(&sp9C, &sp128, &spDC); - if (func_802B4FF8(&sp9C, 3) != 0) { - temp_v0_24 = gDisplayListHead; - gDisplayListHead = temp_v0_24 + 8; - temp_v0_24->unk0 = 0x6000000; - temp_v0_24->unk_04 = sp2C; - temp_v0_25 = gDisplayListHead; - gDisplayListHead = temp_v0_25 + 8; - temp_v0_25->unk_04 = 0; - temp_v0_25->unk0 = 0xBD000000; - temp_v0_26 = gDisplayListHead; - gDisplayListHead = temp_v0_26 + 8; - temp_v0_26->unk_04 = 0x2000; - temp_v0_26->unk0 = 0xB7000000; - } - } - } - } - } - } - } - } - } - } + if (temp_f0 < 0.0f) { return; } + + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + + func_802B5F74(sp120, actor->pos, actor->rot); + if (func_802B4FF8(sp120, 0) == 0) { return; } + + if (temp_f0 < D_802B9744) { + + gSPDisplayList(gDisplayListHead++, D_06020A20); + gSPDisplayList(gDisplayListHead++, D_06020A08); + + } else if (temp_f0 < D_802B9748) { + + gSPDisplayList(gDisplayListHead++, D_06021550); + gSPDisplayList(gDisplayListHead++, D_06021220); + } else { + gSPDisplayList(gDisplayListHead++, D_06021C90); + gSPDisplayList(gDisplayListHead++, D_06021A80); } -} -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_8029C3CC.s") -#endif + if (D_802B974C < temp_f0) { return; } -#ifdef MIPS_TO_C -//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd -f32 func_802ABE30(f32, f32, f32, u16); /* extern */ -s32 func_802B4FF8(? *, ?); /* extern */ -? func_802B5F74(? *, f32 *, s16 *); /* extern */ -f32 func_802B80D0(f32 *, u16, ?, f32, f32); /* extern */ -extern ? D_06006F88; -extern ? D_06006FE0; -extern ? D_80150130; -static f32 D_802B9750 = 4000000.0f; -static f32 D_802B9754 = 250000.0f; + gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); + gSPDisplayList(gDisplayListHead++, D_06022D28); + + func_802B59DC(sp120, actor->wheelRot); + vec3f_set(sp160, 17.0f, 6.0f, 28.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, actor->wheelRot); + vec3f_set(sp160, -17.0, 6.0f, 28.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, (s16) (actor->wheelRot + 0x222)); + vec3f_set(sp160, 17.0f, 6.0f, 12.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, (s16) (actor->wheelRot + 0x222)); + vec3f_set(sp160, -17.0f, 6.0f, 12.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, (s16) (actor->wheelRot + 0x5B0)); + vec3f_set(sp160, 17.0f, 6.0f, -8.0f); + mtxf_translate(spE0, &sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, (s16) (actor->wheelRot + 0x5B0)); + vec3f_set(&sp160, -17.0f, 6.0f, -8.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, (s16) (actor->wheelRot + 0x16C)); + vec3f_set(&sp160, 17.0f, 6.0f, -24.0f); + mtxf_translate(spE0, &sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + + func_802B59DC(sp120, (s16) (actor->wheelRot + 0x16C)); + vec3f_set(sp160, -17.0f, 6.0f, -24.0f); + mtxf_translate(spE0, sp160); + func_802B71CC(spA0, sp120, spE0); + + if (func_802B4FF8(spA0, 3) == 0) { return; } + + gSPDisplayList(gDisplayListHead++, D_06022DB8); + gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); + gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); +} + +extern Gfx D_06006F88[]; +extern Gfx D_06006FE0[]; + +extern f32 D_802B9750; // static = 4000000.0f; +extern f32 D_802B9754; // static = 250000.0f; void func_8029CA90(Camera *camera, struct FallingRock *rock) { - s16 sp9C; - s16 sp9A; - s16 sp98; - f32 sp94; - f32 sp90; - f32 sp8C; - ? sp4C; - f32 *sp2C; - Gfx *temp_v1; - Gfx *temp_v1_2; - f32 *temp_a1; + Vec3s sp98; + Vec3f sp8C; + Mat4 sp4C; f32 temp_f0; - f32 temp_f0_2; + s32 pad[4]; - temp_a1 = rock->pos; - if (rock->respawnTimer == 0) { - sp2C = temp_a1; - temp_f0 = func_802B80D0(temp_a1, (u16) camera->rotX2, 0x43C80000, *(&D_80150130 + (((s32) (camera - camera1) / 184) * 4)), D_802B9750); - if (!(temp_f0 < 0.0f)) { - if ((temp_f0 < D_802B9754) && (rock->unk30.unk34 == 1)) { - sp8C = rock->pos[0]; - sp94 = rock->pos[2]; - temp_f0_2 = func_802ABE30(sp8C, rock->pos[1], sp94, rock->unk30.unk3A); - sp98 = 0; - sp9A = 0; - sp9C = 0; - sp90 = temp_f0_2 + 2.0f; - func_802B5F74(&sp4C, &sp8C, &sp98); - if (func_802B4FF8(&sp4C, 0) != 0) { - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->words.w0 = 0x06000000; - temp_v1->words.w1 = (u32) &D_06006F88; - goto block_6; - } - } else { + if (rock->respawnTimer != 0) { return; } + + temp_f0 = func_802B80D0(camera->pos, rock->pos, camera->rotX[1], 400.0f, D_80150130[camera - camera1], D_802B9750); + + if (temp_f0 < 0.0f) { return; } + + if ((temp_f0 < D_802B9754) && (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); + sp98[0] = 0; + sp98[1] = 0; + sp98[2] = 0; + sp8C[1] = temp_f0 + 2.0f; + func_802B5F74(sp4C, sp8C, sp98); + if (func_802B4FF8(sp4C, 0) != 0) { + gSPDisplayList(gDisplayListHead++, D_06006F88); + goto block_6; + } + } else { block_6: - func_802B5F74(&sp4C, sp2C, rock->rot); - if (func_802B4FF8(&sp4C, 0) != 0) { - temp_v1_2 = gDisplayListHead; - gDisplayListHead = temp_v1_2 + 8; - temp_v1_2->words.w1 = (u32) &D_06006FE0; - temp_v1_2->words.w0 = 0x06000000; - } - } + func_802B5F74(sp4C, rock->pos, rock->rot); + if (func_802B4FF8(sp4C, 0) != 0) { + gSPDisplayList(gDisplayListHead++, D_06006FE0); } } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/func_8029CA90.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -//s32 func_8029EC88(f32 *, ? *, ? *, ?); // extern - -//extern ? gSegmentTable; - -void place_piranha_plants(u32 arg0) { +void place_piranha_plants(Gfx *displaylist) { + s32 segment = SEGMENT_NUMBER2(displaylist); + s32 offset = SEGMENT_OFFSET(displaylist); + UnknownFallingRock *temp_s0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); + struct PiranhaPlant *temp_v1; + s32 pad; Vec3f sp60; - //f32 sp68; - //f32 sp64; Vec3f sp54; Vec3s sp4C; - Vec3f temp_a0; - s16 *temp_s0; - s16 *temp_s0_2; - s16 temp_s1; - s16 temp_s1_2; - struct piranha_plant *temp_v1; - s16 phi_s1; - Vec3s *phi_s0; - - temp_s0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[arg0 >> 18] + SEGMENT_OFFSET(arg0)); + s32 temp; + vec3f_set(sp54, 0, 0, 0); vec3s_set(sp4C, 0, 0, 0); - //temp_s1 = *temp_s0; - //phi_s1 = temp_s1; - //if (temp_s1 != -0x8000) { - //phi_s0 = temp_s0; - while (temp_s1_2 != -0x8000) { - // temp_a0 = &sp60; - sp60[0] = phi_s1 * gCourseDirection; - sp60[1] = phi_s0->unk2; - sp60[2] = phi_s0->unk4; - temp_s0_2 = phi_s0 + 8; - temp_v1 = (struct piranha_plant *) &D_8015F9B8[func_8029EC88(temp_a0, sp4C, sp54, 0xA)]; - temp_v1->unk4 = 0; - temp_v1->unk6 = 0; - temp_v1->unk_08 = 0; - temp_v1->unkA = 0; - temp_v1->velocity = 0; - temp_v1->unk26 = 0; - temp_v1->unk28 = 0; - temp_v1->unk2A = 0; - //temp_s1_2 = *temp_s0_2; - //phi_s1 = temp_s1_2; - //phi_s0 = temp_s0_2; - phi_s0++; - } - //} -} -#else -GLOBAL_ASM("asm/non_matchings/code_actors/place_piranha_plants.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_802976EC(void *, void *); // extern -s32 func_8029EC88(f32 *, ? *, ? *, ?); // extern -? func_802ADDC8(void *, ?, s32, s32, f32); // extern -? vec3s_set(? *, ?, ?, ?); // extern -? vec3f_set(? *, ?, ?, ?); // extern -extern ? D_8015F9B8; -extern f32 gCourseDirection; -extern ? gSegmentTable; - -void place_palm_trees(u32 arg0) { - f32 sp74; - f32 sp70; - f32 sp6C; - ? sp60; - ? sp58; - f32 *temp_a0; - f32 temp_f8; - s16 *temp_s0; - s16 temp_v0; - s16 temp_v0_2; - s32 temp_a2; - s32 temp_a3; - void *temp_s1; - s16 phi_v0; - s16 *phi_s0; - - temp_s0 = *(&gSegmentTable + ((arg0 >> 0x18) * 4)) + (arg0 & 0xFFFFFF) + 0x80000000; - vec3f_set(&sp60, 0, 0, 0); - vec3s_set(&sp58, 0, 0, 0); - temp_v0 = *temp_s0; - phi_v0 = temp_v0; - if (temp_v0 != -0x8000) { - phi_s0 = temp_s0; - do { - temp_a0 = &sp6C; - sp6C = phi_v0 * gCourseDirection; - sp70 = phi_s0->unk2; - sp74 = phi_s0->unk_04; - temp_s1 = &D_8015F9B8 + (func_8029EC88(temp_a0, &sp58, &sp60, 0x19) * 0x70); - temp_f8 = temp_s1->unk20; - temp_a2 = temp_s1->pos; - temp_a3 = temp_s1->unk1C; - temp_s1->unk_04 = phi_s0->unk6; - func_802ADDC8(temp_s1 + 0x30, 0x40A00000, temp_a2, temp_a3, temp_f8); - func_802976EC(temp_s1 + 0x30, temp_s1 + 0x10); - temp_v0_2 = phi_s0->unk_08; - phi_v0 = temp_v0_2; - phi_s0 += 8; - } while (temp_v0_2 != -0x8000); + while (temp_s0->unk.data[0] != -0x8000) { + sp60[0] = temp_s0->unk.data[0] * gCourseDirection; + sp60[1] = temp_s0->unk.data[1]; + sp60[2] = temp_s0->unk.data[2]; + temp = func_8029EC88(sp60, sp4C, sp54, ACTOR_PIRANHA_PLANT); + temp_v1 = (struct PiranhaPlant *) &D_8015F9B8[temp]; + temp_v1->visibilityStates[0] = 0; + temp_v1->visibilityStates[1] = 0; + temp_v1->visibilityStates[2] = 0; + temp_v1->visibilityStates[3] = 0; + temp_v1->timers[0] = 0; + temp_v1->timers[1] = 0; + temp_v1->timers[2] = 0; + temp_v1->timers[3] = 0; + temp_s0++; + } +} + +void place_palm_trees(Gfx *displaylist) { + s32 segment = SEGMENT_NUMBER2(displaylist); + s32 offset = SEGMENT_OFFSET(displaylist); + UnknownFallingRock *temp_s0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); + struct PalmTree *temp_v1; + Vec3f sp60; + Vec3f sp54; + Vec3s sp4C; + s32 temp; + + vec3f_set(sp54, 0, 0, 0); + vec3s_set(sp4C, 0, 0, 0); + + while (temp_s0->unk.data[0] != -0x8000) { + sp60[0] = temp_s0->unk.data[0] * gCourseDirection; + sp60[1] = temp_s0->unk.data[1]; + sp60[2] = temp_s0->unk.data[2]; + temp = func_8029EC88(sp60, sp4C, sp54, ACTOR_PALM_TREE); + temp_v1 = (struct PalmTree *) &D_8015F9B8[temp]; + + temp_v1->visibilityStates[0] = temp_s0->unk.unk2; + func_802ADDC8((UnkActorInner *) &temp_v1->unk30, 5.0f, temp_v1->pos[0], temp_v1->pos[1], temp_v1->pos[2]); + func_802976EC((UnkActorInner *) &temp_v1->unk30, temp_v1->unk10); + temp_s0++; } } -#else -GLOBAL_ASM("asm/non_matchings/code_actors/place_palm_trees.s") -#endif void func_8029CF0C(Gfx *displaylist, struct FallingRock *rock) { s32 segment = SEGMENT_NUMBER2(displaylist); @@ -3083,6 +2726,34 @@ void func_8029CF0C(Gfx *displaylist, struct FallingRock *rock) { vec3s_set(rock->rot, 0, 0, 0); } +void func_802AAAAC(UnkActorInner*); + +void place_falling_rocks(Gfx *displaylist) { + s32 addr = SEGMENT_NUMBER2(displaylist); + s32 offset = SEGMENT_OFFSET(displaylist); + UnknownFallingRock *temp_s0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[addr]) + offset; + struct FallingRock *temp_v1; + Vec3f sp60; + Vec3f sp54; + Vec3s sp4C; + s16 temp; + + + while (temp_s0->unk.data[0] != -0x8000) { + sp60[0] = temp_s0->unk.data[0] * gCourseDirection; + sp60[1] = temp_s0->unk.data[1] + 10.0f; + sp60[2] = temp_s0->unk.data[2]; + vec3f_set(sp54, 0, 0, 0); + vec3s_set(sp4C, 0, 0, 0); + temp = func_8029EC88(sp60, sp4C, sp54, ACTOR_FALLING_ROCK); + temp_v1 = (struct FallingRock *) &D_8015F9B8[temp]; + + temp_v1->unk_06 = temp_s0->unk.unk2; + func_802AAAAC((UnkActorInner *) &temp_v1->unk30); + temp_s0++; + } +} + #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 s32 func_8029EC88(f32 *, ? *, ? *, ?); // extern @@ -3131,7 +2802,7 @@ void place_falling_rocks(u32 arg0) { } } #else -GLOBAL_ASM("asm/non_matchings/code_actors/place_falling_rocks.s") +//GLOBAL_ASM("asm/non_matchings/code_actors/place_falling_rocks.s") #endif #ifdef MIPS_TO_C @@ -5286,7 +4957,7 @@ void func_802A1064(struct FakeItemBox *fake_item_box) { extern f32 D_802B99D0; extern f32 D_802B99D4; -void func_802ADDC8(UnkActorInner*, f32, f32, f32, f32); + void func_802B4E30(struct Actor*); void update_obj_fake_item_box(struct FakeItemBox *fake_item_box) { @@ -6289,10 +5960,6 @@ void func_8029B06C(Camera *, struct Actor*); /* extern */ void func_8029B2E4(Camera *, struct Actor*); /* extern */ void func_8029B6EC(Camera *, struct Actor*); /* extern */ void func_8029B4E0(Camera *, struct Actor*); /* extern */ -void func_8029B8E8(Camera *, struct Actor*); /* extern */ -void func_8029BFB0(Camera *, struct Actor*); /* extern */ -void func_8029C3CC(Camera *, struct Actor*); /* extern */ -void func_8029CA90(Camera *, struct Actor*); /* extern */ void func_80297A50(Camera *, Mat4, struct Actor*); void func_802A269C(Camera *, struct Actor*); /* extern */ void func_802A29BC(Camera *, Mat4, struct Actor*); /* extern */ @@ -6377,7 +6044,7 @@ void func_802A3008(struct UnkStruct_800DC5EC *arg0) { func_8029A11C(temp_s1, D_801502C0, phi_s0); break; case ACTOR_FALLING_ROCK: - func_8029CA90(temp_s1, phi_s0); + func_8029CA90(temp_s1, (struct FallingRock *) phi_s0); break; case ACTOR_KIWANO_FRUIT: func_8029A23C(temp_s1, D_801502C0, phi_s0); @@ -6398,13 +6065,13 @@ void func_802A3008(struct UnkStruct_800DC5EC *arg0) { func_80298328(temp_s1, D_801502C0, phi_s0); break; case ACTOR_TRAIN_ENGINE: - func_8029B8E8(temp_s1, phi_s0); + func_8029B8E8(temp_s1, (struct TrainCar *) phi_s0); break; case ACTOR_TRAIN_TENDER: - func_8029BFB0(temp_s1, phi_s0); + func_8029BFB0(temp_s1, (struct TrainCar *) phi_s0); break; case ACTOR_TRAIN_PASSENGER_CAR: - func_8029C3CC(temp_s1, phi_s0); + func_8029C3CC(temp_s1, (struct TrainCar *) phi_s0); break; case 18: func_80297A50(temp_s1, D_801502C0, phi_s0); diff --git a/src/memory.c b/src/memory.c index ea7460fee..c182a5549 100644 --- a/src/memory.c +++ b/src/memory.c @@ -623,12 +623,15 @@ void func_802A8F14(Gfx *arg0, u8 arg1, u8 arg2) { arg0[D_802BA270].words.w1 = macro->words.w1; D_802BA270++; } + Gfx D_802B8D58[] = {gsDPTileSync()}; #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 static ? D_802B8D58; /* unable to generate initializer */ + + void func_802A8F80(s32 arg0, s32 arg1, s8 arg2) { s32 sp58; s32 sp48; @@ -709,6 +712,9 @@ block_9: GLOBAL_ASM("asm/non_matchings/memory/func_802A8F80.s") #endif +Gfx D_802B8D60[] = { gsDPTileSync() }; +Gfx D_802B8D68[] = { gsDPLoadSync() }; + #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 static ? D_802B8D60; /* unable to generate initializer */ @@ -821,37 +827,20 @@ block_8: GLOBAL_ASM("asm/non_matchings/memory/func_802A91E4.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern ? D_802B8D70; -extern s32 D_802BA270; - -void func_802A94D8(s32 arg0, ? arg1, ? arg2) { - sp->unk0 = D_802B8D70.unk0; - sp->unk4 = D_802B8D70.unk4; - *(arg0 + (D_802BA270 * 8)) = sp0; - (arg0 + (D_802BA270 * 8))->unk4 = sp4; - D_802BA270 = D_802BA270 + 1; +void func_802A94D8(Gfx *arg0, u8 arg1, u8 arg2) { + Gfx macro[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON) }; + arg0[D_802BA270].words.w0 = macro->words.w0; + arg0[D_802BA270].words.w1 = macro->words.w1; + D_802BA270++; } -#else -GLOBAL_ASM("asm/non_matchings/memory/func_802A94D8.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern ? D_802B8D78; -extern s32 D_802BA270; +void func_802A9544(Gfx *arg0, u8 arg1, u8 arg2) { + Gfx macro[] = { gsSPTexture(0x1, 0x1, 0, G_TX_RENDERTILE, G_OFF) }; -void func_802A9544(s32 arg0, ? arg1, ? arg2) { - sp->unk0 = D_802B8D78.unk0; - sp->unk4 = D_802B8D78.unk4; - *(arg0 + (D_802BA270 * 8)) = sp0; - (arg0 + (D_802BA270 * 8))->unk4 = sp4; - D_802BA270 = D_802BA270 + 1; + arg0[D_802BA270].words.w0 = macro->words.w0; + arg0[D_802BA270].words.w1 = macro->words.w1; + D_802BA270++; } -#else -GLOBAL_ASM("asm/non_matchings/memory/func_802A9544.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -1110,7 +1099,7 @@ void display_list_unpack(u32 arg0, s32 arg1, s32 arg2) { u8 temp_a0; s32 *phi_a3; - temp_s0 = gSegmentTable[arg0 >> 0x18] + (arg0 & 0xFFFFFF) + 0x80000000; + temp_s0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[SEGMENT_NUMBER2(arg0)] + SEGMENT_OFFSET(arg0)); temp_s1 = gHeapEndPtr - (((arg1 + 0xF) & ~0xF) + 8); gHeapEndPtr = temp_s1; D_802BA270 = 0;