diff --git a/src/game/game_1668e0.c b/src/game/game_1668e0.c index 1d60a0504..79f44a542 100644 --- a/src/game/game_1668e0.c +++ b/src/game/game_1668e0.c @@ -3954,7 +3954,7 @@ glabel func0f169374 /* f169d4c: 00000000 */ sll $zero,$zero,0x0 /* f169d50: 0fc18c0b */ jal func0f06302c /* f169d54: 02202025 */ or $a0,$s1,$zero -/* f169d58: 0fc615c8 */ jal func0f185720 +/* f169d58: 0fc615c8 */ jal scenarioCallback14 /* f169d5c: 00002025 */ or $a0,$zero,$zero /* f169d60: 0fc1806c */ jal func0f0601b0 /* f169d64: 00000000 */ sll $zero,$zero,0x0 diff --git a/src/game/game_176d70.c b/src/game/game_176d70.c index adb70a884..e57116f09 100644 --- a/src/game/game_176d70.c +++ b/src/game/game_176d70.c @@ -11200,7 +11200,7 @@ void scenarioCaptureCallback10(void) // empty } -void scenarioCaptureCallback14(void) +void scenarioCaptureCallback14() { // empty } @@ -16355,32 +16355,12 @@ glabel func0f1856ac /* f18571c: 00000000 */ sll $zero,$zero,0x0 ); -GLOBAL_ASM( -glabel func0f185720 -/* f185720: 3c0e800a */ lui $t6,0x800a -/* f185724: 8dcea2d8 */ lw $t6,-0x5d28($t6) -/* f185728: 27bdffe8 */ addiu $sp,$sp,-24 -/* f18572c: afbf0014 */ sw $ra,0x14($sp) -/* f185730: 11c0000c */ beqz $t6,.L0f185764 -/* f185734: 3c0f800b */ lui $t7,0x800b -/* f185738: 91efcb98 */ lbu $t7,-0x3468($t7) -/* f18573c: 3c028008 */ lui $v0,0x8008 -/* f185740: 000fc0c0 */ sll $t8,$t7,0x3 -/* f185744: 030fc021 */ addu $t8,$t8,$t7 -/* f185748: 0018c0c0 */ sll $t8,$t8,0x3 -/* f18574c: 00581021 */ addu $v0,$v0,$t8 -/* f185750: 8c426fac */ lw $v0,0x6fac($v0) -/* f185754: 50400004 */ beqzl $v0,.L0f185768 -/* f185758: 8fbf0014 */ lw $ra,0x14($sp) -/* f18575c: 0040f809 */ jalr $v0 -/* f185760: 00000000 */ sll $zero,$zero,0x0 -.L0f185764: -/* f185764: 8fbf0014 */ lw $ra,0x14($sp) -.L0f185768: -/* f185768: 27bd0018 */ addiu $sp,$sp,0x18 -/* f18576c: 03e00008 */ jr $ra -/* f185770: 00000000 */ sll $zero,$zero,0x0 -); +void scenarioCallback14(struct chrdata *chr) +{ + if (g_Vars.unk000318 && g_MpScenarios[g_MpSetup.scenario].unk14) { + g_MpScenarios[g_MpSetup.scenario].unk14(chr); + } +} GLOBAL_ASM( glabel func0f185774 diff --git a/src/game/game_187770.c b/src/game/game_187770.c index dbde169e3..e6d992b12 100644 --- a/src/game/game_187770.c +++ b/src/game/game_187770.c @@ -12370,7 +12370,7 @@ glabel func0f1918d0 /* f191f54: 8fbf0024 */ lw $ra,0x24($sp) /* f191f58: 51c00004 */ beqzl $t6,.L0f191f6c /* f191f5c: 8faf0058 */ lw $t7,0x58($sp) -/* f191f60: 0fc615c8 */ jal func0f185720 +/* f191f60: 0fc615c8 */ jal scenarioCallback14 /* f191f64: 02202025 */ or $a0,$s1,$zero /* f191f68: 8faf0058 */ lw $t7,0x58($sp) .L0f191f6c: diff --git a/src/include/game/game_176d70.h b/src/include/game/game_176d70.h index 791e3ebee..ab6b79581 100644 --- a/src/include/game/game_176d70.h +++ b/src/include/game/game_176d70.h @@ -87,7 +87,7 @@ u32 func0f180078(void); u32 func0f1800a8(void); void scenarioBriefcaseCallback0c(void); u32 scenarioBriefcaseCallback10(void); -u32 scenarioBriefcaseCallback14(void); +void scenarioBriefcaseCallback14(struct chrdata *chr); u32 scenarioBriefcaseCallback18(void); u32 scenarioBriefcaseCallback1c(void); s32 scenarioBriefcaseCallback20(s32 value); @@ -96,7 +96,7 @@ u32 scenarioBriefcaseCallback28(void); void scenarioCaptureCallback04(void); s32 scenarioCaptureCallback08(void); void scenarioCaptureCallback10(void); -void scenarioCaptureCallback14(void); +void scenarioCaptureCallback14(); void scenarioCaptureCallback0c(void); u32 scenarioCaptureCallback1c(void); s32 scenarioCaptureCallback20(s32 value); @@ -125,7 +125,7 @@ u32 func0f182bf4(void); u32 func0f182c98(void); void scenarioHackerCallback0c(void); u32 scenarioHackerCallback10(void); -u32 scenarioHackerCallback14(void); +void scenarioHackerCallback14(struct chrdata *chr); u32 scenarioHackerCallback18(void); u32 scenarioHackerCallback1c(void); s32 scenarioHackerCallback20(s32 value); @@ -151,7 +151,7 @@ s32 scenarioCallback08(void); void scenarioCallback0c(void); u32 func0f185568(void); u32 func0f1856ac(void); -u32 func0f185720(void); +void scenarioCallback14(struct chrdata *chr); u32 func0f185774(void); u32 func0f185c14(void); s32 scenarioCallback20(s32 value); diff --git a/src/include/types.h b/src/include/types.h index 0c74db196..1bcf96101 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -4106,7 +4106,7 @@ struct mpscenario { s32 (*unk08)(void); void (*unk0c)(void); void *unk10; - void *unk14; + void (*unk14)(struct chrdata *chr); void *unk18; void *unk1c; s32 (*unk20)(s32 value);