diff --git a/src/game/game_176d70.c b/src/game/game_176d70.c index 6a9f077b5..d36e564f2 100644 --- a/src/game/game_176d70.c +++ b/src/game/game_176d70.c @@ -15065,6 +15065,26 @@ glabel scenarioPacCallback10 /* f184a14: 00000000 */ sll $zero,$zero,0x0 ); +//void scenarioPacCallback10(void) +//{ +// if (g_ScenarioData.pac.victimindex == -1) { +// func0f1845bc(); +// } +// +// if (g_ScenarioData.pac.victimindex >= 0) { +// if (PLAYERCOUNT() <= g_ScenarioData.pac.victims[g_ScenarioData.pac.victimindex] || +// g_Vars.players[g_ScenarioData.pac.victims[g_ScenarioData.pac.victimindex]]->isdead == false) { +// g_ScenarioData.pac.age240 += g_Vars.lvupdate240; +// +// if (g_ScenarioData.pac.age240 > SECSTOFRAMES240(60)) { +// g_ScenarioData.pac.age240 = 0; +// g_ScenarioData.pac.wincounts[g_ScenarioData.pac.victims[g_ScenarioData.pac.victimindex]]++; +// func0f1866b8(g_ScenarioData.pac.victims[g_ScenarioData.pac.victimindex], textGet(0x5407)); // "Have a point for living!" +// } +// } +// } +//} + GLOBAL_ASM( glabel scenarioPacCallback18 /* f184a18: 3c02800b */ lui $v0,%hi(g_ScenarioData) diff --git a/src/include/constants.h b/src/include/constants.h index 4b684e75f..e444941f0 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -7,6 +7,8 @@ #define PLAYERCOUNT() ((g_Vars.players[0] ? 1 : 0) + (g_Vars.players[1] ? 1 : 0) + (g_Vars.players[2] ? 1 : 0) + (g_Vars.players[3] ? 1 : 0)) #define PLAYERCOUNT3012() ((g_Vars.players[3] ? 1 : 0) + (g_Vars.players[0] ? 1 : 0) + (g_Vars.players[1] ? 1 : 0) + (g_Vars.players[2] ? 1 : 0)) +#define SECSTOFRAMES240(secs) (secs * 240) + // These actions are assigned to chr->actiontype #define ACT_INIT 0 #define ACT_STAND 1 diff --git a/src/include/game/game_176d70.h b/src/include/game/game_176d70.h index dbe71e5f2..344f6c8ee 100644 --- a/src/include/game/game_176d70.h +++ b/src/include/game/game_176d70.h @@ -135,7 +135,7 @@ void scenarioPacChooseVictims(void); void scenarioPacInit(void); void scenarioPacReset(void); u32 scenarioPacCallback28(void); -u32 func0f1845bc(void); +void func0f1845bc(void); u32 func0f1847b8(void); void scenarioPacCallback10(void); u32 scenarioPacCallback18(void); @@ -162,7 +162,7 @@ u32 func0f18620c(void); s32 scenarioCallback30(void); void scenarioCallback38(s16 arg0, s32 *arg1, s32 *arg2, s32 *arg3); u32 func0f186508(void); -u32 func0f1866b8(void); +void func0f1866b8(s32 playernum, char *message); u32 func0f186780(void); u32 func0f186898(void); u32 func0f187288(void); diff --git a/src/include/types.h b/src/include/types.h index 11e914f11..ab9da3886 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -4459,11 +4459,11 @@ struct scenariodata_htm { struct scenariodata_pac { s16 unk00; - s16 unk02; - s32 unk04; + u16 age240; + s32 victimindex; s16 victims[12]; // shuffled list of player numbers s16 unk20[12]; - s16 unk34[12]; + s16 wincounts[12]; // indexed by player num }; struct scenariodata_koh {