From 72ccb14d3508912c8c73c78d90e869e6c85d07a3 Mon Sep 17 00:00:00 2001 From: Luke Street Date: Fri, 21 Aug 2026 23:21:21 -0600 Subject: [PATCH] Guard against null stag_info --- src/d/d_com_inf_game.cpp | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/d/d_com_inf_game.cpp b/src/d/d_com_inf_game.cpp index 61aa0dc179..dea395644b 100644 --- a/src/d/d_com_inf_game.cpp +++ b/src/d/d_com_inf_game.cpp @@ -1503,7 +1503,11 @@ static void dummy1() { } BOOL dComIfGs_isStageTbox(int i_stageNo, int i_no) { +#if TARGET_PC + if (dComIfGp_getStageStagInfo() && i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#else if (i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#endif return dComIfGs_isTbox(i_no); } else { return dComIfGs_isSaveTbox(i_stageNo, i_no); @@ -1511,7 +1515,11 @@ BOOL dComIfGs_isStageTbox(int i_stageNo, int i_no) { } void dComIfGs_onStageSwitch(int i_stageNo, int i_no) { +#if TARGET_PC + if (dComIfGp_getStageStagInfo() && i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#else if (i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#endif dComIfGs_onSwitch(i_no, -1); } @@ -1527,7 +1535,11 @@ void dComIfGs_offStageSwitch(int i_stageNo, int i_no) { } BOOL dComIfGs_isStageSwitch(int i_stageNo, int i_no) { +#if TARGET_PC + if (dComIfGp_getStageStagInfo() && i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#else if (i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#endif return dComIfGs_isSwitch(i_no, -1); } else { return dComIfGs_isSaveSwitch(i_stageNo, i_no); @@ -1535,7 +1547,11 @@ BOOL dComIfGs_isStageSwitch(int i_stageNo, int i_no) { } void dComIfGs_onDungeonItemMap(int i_stageNo) { +#if TARGET_PC + if (dComIfGp_getStageStagInfo() && i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#else if (i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#endif dComIfGs_onDungeonItemMap(); } @@ -1551,7 +1567,11 @@ void dComIfGs_offDungeonItemMap(int i_stageNo) { } s32 dComIfGs_isDungeonItemMap(int i_stageNo) { +#if TARGET_PC + if (dComIfGp_getStageStagInfo() && i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#else if (i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#endif return dComIfGs_isDungeonItemMap(); } @@ -1559,7 +1579,11 @@ s32 dComIfGs_isDungeonItemMap(int i_stageNo) { } void dComIfGs_onDungeonItemCompass(int i_stageNo) { +#if TARGET_PC + if (dComIfGp_getStageStagInfo() && i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#else if (i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#endif dComIfGs_onDungeonItemCompass(); } @@ -1575,7 +1599,11 @@ void dComIfGs_offDungeonItemCompass(int i_stageNo) { } s32 dComIfGs_isDungeonItemCompass(int i_stageNo) { +#if TARGET_PC + if (dComIfGp_getStageStagInfo() && i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#else if (i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#endif return dComIfGs_isDungeonItemCompass(); } @@ -1583,7 +1611,11 @@ s32 dComIfGs_isDungeonItemCompass(int i_stageNo) { } void dComIfGs_onDungeonItemBossKey(int i_stageNo) { +#if TARGET_PC + if (dComIfGp_getStageStagInfo() && i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#else if (i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#endif dComIfGs_onDungeonItemBossKey(); } @@ -1599,7 +1631,11 @@ void dComIfGs_offDungeonItemBossKey(int i_stageNo) { } s32 dComIfGs_isDungeonItemBossKey(int i_stageNo) { +#if TARGET_PC + if (dComIfGp_getStageStagInfo() && i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#else if (i_stageNo == dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo())) { +#endif return dComIfGs_isDungeonItemBossKey(); }