From bdebebbd0b5d5004604dd7d364625ec9bbacc1f3 Mon Sep 17 00:00:00 2001 From: Faschz Date: Sat, 4 Dec 2021 10:20:23 -0600 Subject: [PATCH] Match 2 non-matchings in unknown_0348C0 - Matches func_80037594 and func_800380F8 --- .../unknown_032760/func_80037594.s | 40 ----------------- .../unknown_032760/func_800380F8.s | 43 ------------------- src/unknown_0348C0.c | 26 +++-------- 3 files changed, 5 insertions(+), 104 deletions(-) delete mode 100644 asm/non_matchings/unknown_032760/func_80037594.s delete mode 100644 asm/non_matchings/unknown_032760/func_800380F8.s diff --git a/asm/non_matchings/unknown_032760/func_80037594.s b/asm/non_matchings/unknown_032760/func_80037594.s deleted file mode 100644 index d4d628dc..00000000 --- a/asm/non_matchings/unknown_032760/func_80037594.s +++ /dev/null @@ -1,40 +0,0 @@ -glabel func_80037594 -/* 038194 80037594 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 038198 80037598 AFBF0014 */ sw $ra, 0x14($sp) -/* 03819C 8003759C 8C820078 */ lw $v0, 0x78($a0) -/* 0381A0 800375A0 00803025 */ move $a2, $a0 -/* 0381A4 800375A4 18400007 */ blez $v0, .L800375C4 -/* 0381A8 800375A8 00055080 */ sll $t2, $a1, 2 -/* 0381AC 800375AC 848F0006 */ lh $t7, 6($a0) -/* 0381B0 800375B0 00457023 */ subu $t6, $v0, $a1 -/* 0381B4 800375B4 35F84000 */ ori $t8, $t7, 0x4000 -/* 0381B8 800375B8 AC8E0078 */ sw $t6, 0x78($a0) -/* 0381BC 800375BC 10000015 */ b .L80037614 -/* 0381C0 800375C0 A4980006 */ sh $t8, 6($a0) -.L800375C4: -/* 0381C4 800375C4 84C90018 */ lh $t1, 0x18($a2) -/* 0381C8 800375C8 84D90006 */ lh $t9, 6($a2) -/* 0381CC 800375CC 012A5821 */ addu $t3, $t1, $t2 -/* 0381D0 800375D0 A4CB0018 */ sh $t3, 0x18($a2) -/* 0381D4 800375D4 84CC0018 */ lh $t4, 0x18($a2) -/* 0381D8 800375D8 3328BFFF */ andi $t0, $t9, 0xbfff -/* 0381DC 800375DC 29810100 */ slti $at, $t4, 0x100 -/* 0381E0 800375E0 1420000C */ bnez $at, .L80037614 -/* 0381E4 800375E4 A4C80006 */ sh $t0, 6($a2) -/* 0381E8 800375E8 A4C00018 */ sh $zero, 0x18($a2) -/* 0381EC 800375EC AFA60018 */ sw $a2, 0x18($sp) -/* 0381F0 800375F0 00002025 */ move $a0, $zero -/* 0381F4 800375F4 0C01BE53 */ jal get_random_number_from_range -/* 0381F8 800375F8 2405001E */ li $a1, 30 -/* 0381FC 800375FC 8FA60018 */ lw $a2, 0x18($sp) -/* 038200 80037600 00000000 */ nop -/* 038204 80037604 8CCD007C */ lw $t5, 0x7c($a2) -/* 038208 80037608 00000000 */ nop -/* 03820C 8003760C 004D7021 */ addu $t6, $v0, $t5 -/* 038210 80037610 ACCE0078 */ sw $t6, 0x78($a2) -.L80037614: -/* 038214 80037614 8FBF0014 */ lw $ra, 0x14($sp) -/* 038218 80037618 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03821C 8003761C 03E00008 */ jr $ra -/* 038220 80037620 00000000 */ nop - diff --git a/asm/non_matchings/unknown_032760/func_800380F8.s b/asm/non_matchings/unknown_032760/func_800380F8.s deleted file mode 100644 index 81f4fe2a..00000000 --- a/asm/non_matchings/unknown_032760/func_800380F8.s +++ /dev/null @@ -1,43 +0,0 @@ -glabel func_800380F8 -/* 038CF8 800380F8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 038CFC 800380FC AFBF0014 */ sw $ra, 0x14($sp) -/* 038D00 80038100 AFA40018 */ sw $a0, 0x18($sp) -/* 038D04 80038104 0C007D18 */ jal func_8001F460 -/* 038D08 80038108 00803025 */ move $a2, $a0 -/* 038D0C 8003810C 8FA40018 */ lw $a0, 0x18($sp) -/* 038D10 80038110 00000000 */ nop -/* 038D14 80038114 8C830060 */ lw $v1, 0x60($a0) -/* 038D18 80038118 00000000 */ nop -/* 038D1C 8003811C 10600018 */ beqz $v1, .L80038180 -/* 038D20 80038120 8FBF0014 */ lw $ra, 0x14($sp) -/* 038D24 80038124 8C620000 */ lw $v0, ($v1) -/* 038D28 80038128 24010003 */ li $at, 3 -/* 038D2C 8003812C 18400013 */ blez $v0, .L8003817C -/* 038D30 80038130 240E4000 */ li $t6, 16384 -/* 038D34 80038134 14410004 */ bne $v0, $at, .L80038148 -/* 038D38 80038138 00000000 */ nop -/* 038D3C 8003813C 8C62000C */ lw $v0, 0xc($v1) -/* 038D40 80038140 10000004 */ b .L80038154 -/* 038D44 80038144 804F003A */ lb $t7, 0x3a($v0) -.L80038148: -/* 038D48 80038148 8C620004 */ lw $v0, 4($v1) -/* 038D4C 8003814C 00000000 */ nop -/* 038D50 80038150 804F003A */ lb $t7, 0x3a($v0) -.L80038154: -/* 038D54 80038154 8C590040 */ lw $t9, 0x40($v0) -/* 038D58 80038158 25F80001 */ addiu $t8, $t7, 1 -/* 038D5C 8003815C A058003A */ sb $t8, 0x3a($v0) -/* 038D60 80038160 A44E0000 */ sh $t6, ($v0) -/* 038D64 80038164 8049003A */ lb $t1, 0x3a($v0) -/* 038D68 80038168 83280055 */ lb $t0, 0x55($t9) -/* 038D6C 8003816C 00000000 */ nop -/* 038D70 80038170 15090003 */ bne $t0, $t1, .L80038180 -/* 038D74 80038174 8FBF0014 */ lw $ra, 0x14($sp) -/* 038D78 80038178 A040003A */ sb $zero, 0x3a($v0) -.L8003817C: -/* 038D7C 8003817C 8FBF0014 */ lw $ra, 0x14($sp) -.L80038180: -/* 038D80 80038180 27BD0018 */ addiu $sp, $sp, 0x18 -/* 038D84 80038184 03E00008 */ jr $ra -/* 038D88 80038188 00000000 */ nop - diff --git a/src/unknown_0348C0.c b/src/unknown_0348C0.c index 887a79d0..858b02a0 100644 --- a/src/unknown_0348C0.c +++ b/src/unknown_0348C0.c @@ -440,24 +440,19 @@ void func_80037578(unk80037578 *arg0, u8 *arg1) { arg0->unk7C = arg1[8]; } -#ifdef NON_MATCHING -// Regalloc issues void func_80037594(Object *obj, s32 arg1) { if (obj->unk78 > 0) { obj->unk78 -= arg1; obj->unk6 |= 0x4000; } else { + obj->unk6 &= ~0x4000; obj->unk18 += arg1 * 4; - obj->unk6 &= 0xBFFF; if (obj->unk18 >= 256) { obj->unk18 = 0; obj->unk78 = get_random_number_from_range(0, 30) + obj->unk7C.word; } } } -#else -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80037594.s") -#endif void func_80037624(unk80037624 *arg0, s32 arg1) { arg0->unk6 |= 0x4000; @@ -523,8 +518,6 @@ void func_80037D6C(s32 arg0, s32 arg1) { GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80037D78.s") -#ifdef NON_MATCHING -// Regalloc issues void func_800380F8(Object *obj, s32 arg1) { Object_60_800380F8 *obj60; Object *someObj; @@ -533,22 +526,15 @@ void func_800380F8(Object *obj, s32 arg1) { obj60 = obj->unk60; if (obj60 != NULL) { if (obj60->unk0 > 0) { - if (obj60->unk0 == 3) { - someObj = obj60->unkC; - } else { - someObj = obj60->unk4; - } - someObj->unk3A++; + someObj = obj60->unk0 == 3 ? obj60->unkC : obj60->unk4; someObj->y_rotation = 0x4000; - if (someObj->descriptor_ptr->unk55 == someObj->unk3A) { + someObj->unk3A++; + if (someObj->unk3A == someObj->descriptor_ptr->unk55) { someObj->unk3A = 0; } } } } -#else -GLOBAL_ASM("asm/non_matchings/unknown_032760/func_800380F8.s") -#endif void func_8003818C(Object *arg0, s32 arg1) { arg0->unk4C->unk14 = 0x81; @@ -806,8 +792,6 @@ void func_80038E3C(Object *obj, LevelObjectEntry80038E3C *arg1) { obj->unk4C->unk12 = 0; } -//GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80038E3C.s") - GLOBAL_ASM("asm/non_matchings/unknown_032760/func_80038F58.s") void func_80039160(unk80039160 *arg0, s8 *arg1) { @@ -1333,7 +1317,7 @@ void func_8003FEF4(Object *arg0, LevelObjectEntry8003FEF4 *arg1) { obj64->unkF = arg1->unk10; obj64->unk12 = arg1->unk13; func_800098A4(obj64->unk0, obj64->unk2, arg1->common.x, arg1->common.y, arg1->common.z, - obj64->unkF, obj64->unkE, obj64->unk10, obj64->unk12, obj64->unk4, obj64->unk11, + obj64->unkF, obj64->unkE, obj64->unk10, obj64->unk12, obj64->unk4, obj64->unk11, obj64->unkC, obj64->unkD); gParticlePtrList_addObject(arg0); }