diff --git a/asm/nonmatchings/world/area_mac/mac_01/8017D0/func_80245440_805CC0.s b/asm/nonmatchings/world/area_mac/mac_01/8017D0/func_80245440_805CC0.s deleted file mode 100644 index fd0bbefcb5..0000000000 --- a/asm/nonmatchings/world/area_mac/mac_01/8017D0/func_80245440_805CC0.s +++ /dev/null @@ -1,23 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80245440_805CC0 -/* 805CC0 80245440 3C028011 */ lui $v0, 0x8011 -/* 805CC4 80245444 8042F2A2 */ lb $v0, -0xd5e($v0) -/* 805CC8 80245448 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 805CCC 8024544C AFB00010 */ sw $s0, 0x10($sp) -/* 805CD0 80245450 0080802D */ daddu $s0, $a0, $zero -/* 805CD4 80245454 AFBF0014 */ sw $ra, 0x14($sp) -/* 805CD8 80245458 8E0400AC */ lw $a0, 0xac($s0) -/* 805CDC 8024545C 50440005 */ beql $v0, $a0, .L80245474 -/* 805CE0 80245460 AE000088 */ sw $zero, 0x88($s0) -/* 805CE4 80245464 0C03AC5A */ jal func_800EB168 -/* 805CE8 80245468 00000000 */ nop -/* 805CEC 8024546C 24020001 */ addiu $v0, $zero, 1 -/* 805CF0 80245470 AE020088 */ sw $v0, 0x88($s0) -.L80245474: -/* 805CF4 80245474 24020002 */ addiu $v0, $zero, 2 -/* 805CF8 80245478 8FBF0014 */ lw $ra, 0x14($sp) -/* 805CFC 8024547C 8FB00010 */ lw $s0, 0x10($sp) -/* 805D00 80245480 03E00008 */ jr $ra -/* 805D04 80245484 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/include/functions.h b/include/functions.h index abc8ebebd0..7a6b9ed69c 100644 --- a/include/functions.h +++ b/include/functions.h @@ -70,7 +70,7 @@ void set_curtain_fade(f32 scale); void fx_walk_normal(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5); -s32 func_800EB168(s8); +s32 func_800EB168(s32); // Partner void func_800EBA3C(Npc* partner); diff --git a/src/code_838b0_len_5900.c b/src/code_838b0_len_5900.c index a5c09f35ed..e55f7cbc49 100644 --- a/src/code_838b0_len_5900.c +++ b/src/code_838b0_len_5900.c @@ -27,7 +27,7 @@ INCLUDE_ASM(s32, "code_838b0_len_5900", func_800EA6A8); INCLUDE_ASM(s32, "code_838b0_len_5900", func_800EA6CC); -INCLUDE_ASM(s32, "code_838b0_len_5900", func_800EB168, s8 arg0); +INCLUDE_ASM(s32, "code_838b0_len_5900", func_800EB168, s32 arg0); INCLUDE_ASM(s32, "code_838b0_len_5900", func_800EB200); diff --git a/src/world/area_mac/mac_01/8017D0.c b/src/world/area_mac/mac_01/8017D0.c index 9a9b09cab2..2e61f7ff5b 100644 --- a/src/world/area_mac/mac_01/8017D0.c +++ b/src/world/area_mac/mac_01/8017D0.c @@ -174,7 +174,16 @@ INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80245028_8058A8); INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_8024522C_805AAC); -INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80245440_805CC0); +ApiStatus func_80245440_805CC0(ScriptInstance* script, s32 isInitialCall) { + if (PLAYER_DATA->currentPartner == script->varTable[10]) { + script->varTable[1] = 0; + return ApiStatus_DONE2; + } + + func_800EB168(script->varTable[10]); + script->varTable[1] = 1; + return ApiStatus_DONE2; +} INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80245488_805D08); diff --git a/src/world/common/GetPartnerCall800EB168.inc.c b/src/world/common/GetPartnerCall800EB168.inc.c index c7b85eb2c6..97c821c33a 100644 --- a/src/world/common/GetPartnerCall800EB168.inc.c +++ b/src/world/common/GetPartnerCall800EB168.inc.c @@ -7,6 +7,6 @@ static ApiStatus GetPartnerCall800EB168(ScriptInstance* script, s32 isInitialCal } static ApiStatus Call800EB168(ScriptInstance* script, s32 isInitialCall) { - func_800EB168(get_variable(script, *script->ptrReadPos)); + func_800EB168((s8)get_variable(script, *script->ptrReadPos)); return ApiStatus_DONE2; }