diff --git a/asm/non_matchings/unknown_043920/func_80044450.s b/asm/non_matchings/unknown_043920/func_80044450.s deleted file mode 100644 index d313aa72..00000000 --- a/asm/non_matchings/unknown_043920/func_80044450.s +++ /dev/null @@ -1,13 +0,0 @@ -glabel func_80044450 -/* 045050 80044450 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 045054 80044454 AFBF0014 */ sw $ra, 0x14($sp) -/* 045058 80044458 AFA40018 */ sw $a0, 0x18($sp) -/* 04505C 8004445C 00002025 */ move $a0, $zero -/* 045060 80044460 0C01BE53 */ jal func_8006F94C -/* 045064 80044464 24050063 */ li $a1, 99 -/* 045068 80044468 8FAE0018 */ lw $t6, 0x18($sp) -/* 04506C 8004446C 8FBF0014 */ lw $ra, 0x14($sp) -/* 045070 80044470 27BD0018 */ addiu $sp, $sp, 0x18 -/* 045074 80044474 03E00008 */ jr $ra -/* 045078 80044478 004E102A */ slt $v0, $v0, $t6 - diff --git a/asm/non_matchings/unknown_043920/func_80052188.s b/asm/non_matchings/unknown_043920/func_80052188.s deleted file mode 100644 index bd4c41d4..00000000 --- a/asm/non_matchings/unknown_043920/func_80052188.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel func_80052188 -/* 052D88 80052188 3C038012 */ lui $v1, %hi(D_8011D582) # $v1, 0x8012 -/* 052D8C 8005218C 2463D582 */ addiu $v1, %lo(D_8011D582) # addiu $v1, $v1, -0x2a7e -/* 052D90 80052190 806E0000 */ lb $t6, ($v1) -/* 052D94 80052194 24010002 */ li $at, 2 -/* 052D98 80052198 15C10004 */ bne $t6, $at, .L800521AC -/* 052D9C 8005219C 240F0001 */ li $t7, 1 -/* 052DA0 800521A0 A06F0000 */ sb $t7, ($v1) -/* 052DA4 800521A4 03E00008 */ jr $ra -/* 052DA8 800521A8 24020001 */ li $v0, 1 - -.L800521AC: -/* 052DAC 800521AC 00001025 */ move $v0, $zero -/* 052DB0 800521B0 03E00008 */ jr $ra -/* 052DB4 800521B4 00000000 */ nop - diff --git a/asm/non_matchings/unknown_043920/func_800599A8.s b/asm/non_matchings/unknown_043920/func_800599A8.s deleted file mode 100644 index 953b13d9..00000000 --- a/asm/non_matchings/unknown_043920/func_800599A8.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel func_800599A8 -/* 05A5A8 800599A8 3C028012 */ lui $v0, %hi(D_8011D5AC) # $v0, 0x8012 -/* 05A5AC 800599AC 8442D5AC */ lh $v0, %lo(D_8011D5AC)($v0) -/* 05A5B0 800599B0 03E00008 */ jr $ra -/* 05A5B4 800599B4 00000000 */ nop - diff --git a/asm/non_matchings/unknown_043920/func_80059B4C.s b/asm/non_matchings/unknown_043920/func_80059B4C.s deleted file mode 100644 index d25e22ef..00000000 --- a/asm/non_matchings/unknown_043920/func_80059B4C.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel func_80059B4C -/* 05A74C 80059B4C 3C048012 */ lui $a0, %hi(D_8011D598) # $a0, 0x8012 -/* 05A750 80059B50 8C84D598 */ lw $a0, %lo(D_8011D598)($a0) -/* 05A754 80059B54 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 05A758 80059B58 10800003 */ beqz $a0, .L80059B68 -/* 05A75C 80059B5C AFBF0014 */ sw $ra, 0x14($sp) -/* 05A760 80059B60 0C01C450 */ jal func_80071140 -/* 05A764 80059B64 00000000 */ nop -.L80059B68: -/* 05A768 80059B68 8FBF0014 */ lw $ra, 0x14($sp) -/* 05A76C 80059B6C 3C018012 */ lui $at, %hi(D_8011D598) # $at, 0x8012 -/* 05A770 80059B70 AC20D598 */ sw $zero, %lo(D_8011D598)($at) -/* 05A774 80059B74 03E00008 */ jr $ra -/* 05A778 80059B78 27BD0018 */ addiu $sp, $sp, 0x18 - diff --git a/asm/non_matchings/unknown_043920/func_8005A3B0.s b/asm/non_matchings/unknown_043920/func_8005A3B0.s deleted file mode 100644 index e34c7715..00000000 --- a/asm/non_matchings/unknown_043920/func_8005A3B0.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel func_8005A3B0 -/* 05AFB0 8005A3B0 240E0001 */ li $t6, 1 -/* 05AFB4 8005A3B4 3C018012 */ lui $at, 0x8012 -/* 05AFB8 8005A3B8 03E00008 */ jr $ra -/* 05AFBC 8005A3BC A02ED584 */ sb $t6, -0x2a7c($at) - diff --git a/asm/non_matchings/unknown_043920/func_8005A3C0.s b/asm/non_matchings/unknown_043920/func_8005A3C0.s deleted file mode 100644 index d29f79a2..00000000 --- a/asm/non_matchings/unknown_043920/func_8005A3C0.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel func_8005A3C0 -/* 05AFC0 8005A3C0 240E0001 */ li $t6, 1 -/* 05AFC4 8005A3C4 3C018012 */ lui $at, 0x8012 -/* 05AFC8 8005A3C8 03E00008 */ jr $ra -/* 05AFCC 8005A3CC A02ED583 */ sb $t6, -0x2a7d($at) - diff --git a/asm/non_matchings/unknown_043920/func_8005C25C.s b/asm/non_matchings/unknown_043920/func_8005C25C.s deleted file mode 100644 index 4c81a6c7..00000000 --- a/asm/non_matchings/unknown_043920/func_8005C25C.s +++ /dev/null @@ -1,7 +0,0 @@ -glabel func_8005C25C -/* 05CE5C 8005C25C 3C01800E */ lui $at, %hi(D_800E6A00) # $at, 0x800e -/* 05CE60 8005C260 C4246A00 */ lwc1 $f4, %lo(D_800E6A00)($at) -/* 05CE64 8005C264 3C01800E */ lui $at, 0x800e -/* 05CE68 8005C268 03E00008 */ jr $ra -/* 05CE6C 8005C26C E424CB9C */ swc1 $f4, -0x3464($at) - diff --git a/src/unknown_043920.c b/src/unknown_043920.c index 063f1b52..273160c6 100644 --- a/src/unknown_043920.c +++ b/src/unknown_043920.c @@ -4,10 +4,25 @@ #include "types.h" #include "macros.h" +extern s8 D_8011D582; +extern s8 D_8011D583; +extern s8 D_8011D584; + +extern s16 D_8011D5AC; + +extern s32 D_8011D598; + +extern f32 D_800DCB9C; +extern f32 D_800E6A00; + GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80042D20.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80043ECC.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80044170.s") -GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80044450.s") + +s32 func_80044450(s32 arg0) { + return func_8006F94C(0, 99) < arg0; +} + GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8004447C.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80045128.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_800452A0.s") @@ -30,7 +45,15 @@ GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8004F7F4.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80050754.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80050850.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80050A28.s") -GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80052188.s") + +s32 func_80052188(void) { + if (D_8011D582 == 2) { + D_8011D582 = 1; + return 1; + } + return 0; +} + GLOBAL_ASM("asm/non_matchings/unknown_043920/func_800521B8.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_800521C4.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8005234C.s") @@ -71,19 +94,41 @@ GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80059790.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_800598D0.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80059944.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80059984.s") -GLOBAL_ASM("asm/non_matchings/unknown_043920/func_800599A8.s") + +s16 func_800599A8(void) { + return D_8011D5AC; +} + GLOBAL_ASM("asm/non_matchings/unknown_043920/func_800599B8.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80059A68.s") -GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80059B4C.s") + +void func_80059B4C(void) { + if (D_8011D598 != 0) { + func_80071140(D_8011D598); + } + D_8011D598 = 0; +} + GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80059B7C.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80059BF0.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80059E20.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80059E40.s") -GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8005A3B0.s") -GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8005A3C0.s") + +void func_8005A3B0(void) { + D_8011D584 = 1; +} + +void func_8005A3C0(void) { + D_8011D583 = 1; +} + GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8005A3D0.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8005A424.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8005A6F0.s") GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8005B818.s") -GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8005C25C.s") + +void func_8005C25C(void) { + D_800DCB9C = D_800E6A00; +} + GLOBAL_ASM("asm/non_matchings/unknown_043920/func_8005C270.s")