diff --git a/src/game/game_1668e0.c b/src/game/game_1668e0.c index 79f44a542..ff6c75c59 100644 --- a/src/game/game_1668e0.c +++ b/src/game/game_1668e0.c @@ -7085,7 +7085,7 @@ glabel func0f16b96c /* f16ca14: 00000000 */ sll $zero,$zero,0x0 /* f16ca18: 0fc06fca */ jal func0f01bf28 /* f16ca1c: 00000000 */ sll $zero,$zero,0x0 -/* f16ca20: 0fc615ab */ jal func0f1856ac +/* f16ca20: 0fc615ab */ jal scenarioCallback10 /* f16ca24: 00000000 */ sll $zero,$zero,0x0 /* f16ca28: 3c188006 */ lui $t8,0x8006 /* f16ca2c: 8f18d9d0 */ lw $t8,-0x2630($t8) diff --git a/src/game/game_176d70.c b/src/game/game_176d70.c index e57116f09..68346e364 100644 --- a/src/game/game_176d70.c +++ b/src/game/game_176d70.c @@ -16320,40 +16320,18 @@ glabel func0f185568 /* f1856a8: 27bd00c0 */ addiu $sp,$sp,0xc0 ); -GLOBAL_ASM( -glabel func0f1856ac -/* f1856ac: 3c02800a */ lui $v0,%hi(g_Vars) -/* f1856b0: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars) -/* f1856b4: 8c4e0318 */ lw $t6,0x318($v0) -/* f1856b8: 27bdffe8 */ addiu $sp,$sp,-24 -/* f1856bc: afbf0014 */ sw $ra,0x14($sp) -/* f1856c0: 51c00014 */ beqzl $t6,.L0f185714 -/* f1856c4: 8fbf0014 */ lw $ra,0x14($sp) -/* f1856c8: 8c4f000c */ lw $t7,0xc($v0) -/* f1856cc: 24010005 */ addiu $at,$zero,0x5 -/* f1856d0: 15e10003 */ bne $t7,$at,.L0f1856e0 -/* f1856d4: 00000000 */ sll $zero,$zero,0x0 -/* f1856d8: 0fc6155a */ jal func0f185568 -/* f1856dc: 00000000 */ sll $zero,$zero,0x0 -.L0f1856e0: -/* f1856e0: 3c18800b */ lui $t8,0x800b -/* f1856e4: 9318cb98 */ lbu $t8,-0x3468($t8) -/* f1856e8: 3c028008 */ lui $v0,0x8008 -/* f1856ec: 0018c8c0 */ sll $t9,$t8,0x3 -/* f1856f0: 0338c821 */ addu $t9,$t9,$t8 -/* f1856f4: 0019c8c0 */ sll $t9,$t9,0x3 -/* f1856f8: 00591021 */ addu $v0,$v0,$t9 -/* f1856fc: 8c426fa8 */ lw $v0,0x6fa8($v0) -/* f185700: 50400004 */ beqzl $v0,.L0f185714 -/* f185704: 8fbf0014 */ lw $ra,0x14($sp) -/* f185708: 0040f809 */ jalr $v0 -/* f18570c: 00000000 */ sll $zero,$zero,0x0 -/* f185710: 8fbf0014 */ lw $ra,0x14($sp) -.L0f185714: -/* f185714: 27bd0018 */ addiu $sp,$sp,0x18 -/* f185718: 03e00008 */ jr $ra -/* f18571c: 00000000 */ sll $zero,$zero,0x0 -); +void scenarioCallback10(void) +{ + if (g_Vars.unk000318 != 0) { + if (g_Vars.lvframenum == 5) { + func0f185568(); + } + + if (g_MpScenarios[g_MpSetup.scenario].unk10) { + g_MpScenarios[g_MpSetup.scenario].unk10(); + } + } +} void scenarioCallback14(struct chrdata *chr) { diff --git a/src/include/game/game_176d70.h b/src/include/game/game_176d70.h index ab6b79581..31c973d55 100644 --- a/src/include/game/game_176d70.h +++ b/src/include/game/game_176d70.h @@ -86,7 +86,7 @@ u32 func0f17ffe4(void); u32 func0f180078(void); u32 func0f1800a8(void); void scenarioBriefcaseCallback0c(void); -u32 scenarioBriefcaseCallback10(void); +void scenarioBriefcaseCallback10(void); void scenarioBriefcaseCallback14(struct chrdata *chr); u32 scenarioBriefcaseCallback18(void); u32 scenarioBriefcaseCallback1c(void); @@ -111,7 +111,7 @@ void scenarioHillCallback40(s32 *arg0); void scenarioHillCallback44(s32 *arg0); void scenarioHillCallback04(void); void scenarioHillCallback0c(void); -u32 scenarioHillCallback10(void); +void scenarioHillCallback10(void); u32 scenarioHillCallback18(void); u32 scenarioHillCallback1c(void); s32 scenarioHillCallback20(s32 value); @@ -124,7 +124,7 @@ u32 func0f182ba4(void); u32 func0f182bf4(void); u32 func0f182c98(void); void scenarioHackerCallback0c(void); -u32 scenarioHackerCallback10(void); +void scenarioHackerCallback10(void); void scenarioHackerCallback14(struct chrdata *chr); u32 scenarioHackerCallback18(void); u32 scenarioHackerCallback1c(void); @@ -137,7 +137,7 @@ void scenarioPopacapCallback0c(void); u32 scenarioPopacapCallback28(void); u32 func0f1845bc(void); u32 func0f1847b8(void); -u32 scenarioPopacapCallback10(void); +void scenarioPopacapCallback10(void); u32 scenarioPopacapCallback18(void); u32 scenarioPopacapCallback1c(void); s32 scenarioPopacapCallback20(s32 value); @@ -149,8 +149,8 @@ void scenarioCallback44(s32 *arg0); void scenarioCallback04(void); s32 scenarioCallback08(void); void scenarioCallback0c(void); -u32 func0f185568(void); -u32 func0f1856ac(void); +void func0f185568(void); +void scenarioCallback10(void); void scenarioCallback14(struct chrdata *chr); u32 func0f185774(void); u32 func0f185c14(void); diff --git a/src/include/types.h b/src/include/types.h index 1bcf96101..552642286 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -4105,7 +4105,7 @@ struct mpscenario { void (*unk04)(void); s32 (*unk08)(void); void (*unk0c)(void); - void *unk10; + void (*unk10)(void); void (*unk14)(struct chrdata *chr); void *unk18; void *unk1c;