diff --git a/src/g_game.c b/src/g_game.c index 526508ea1..bed354997 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -4216,6 +4216,8 @@ static void G_DoCompleted(void) tutorialchallenge = TUTORIALSKIP_FAILED; G_SetGametype(GT_TUTORIAL); nextmapoverride = prevmap+1; + + gamedata->failedtutorialchallenge = true; } else { @@ -4223,9 +4225,10 @@ static void G_DoCompleted(void) nextmapoverride = NEXTMAP_TITLE+1; gamedata->finishedtutorialchallenge = true; - M_UpdateUnlockablesAndExtraEmblems(true, true); - G_SaveGameData(); } + + M_UpdateUnlockablesAndExtraEmblems(true, true); + G_SaveGameData(); } else { @@ -4526,6 +4529,7 @@ typedef enum GDEVER_KEYTUTORIAL = 1<<4, GDEVER_KEYMAJORSKIP = 1<<5, GDEVER_TUTORIALSKIP = 1<<6, + GDEVER_FAILEDTUTSKIP = 1<<7, } gdeverdone_t; static const char *G_GameDataFolder(void) @@ -4666,6 +4670,7 @@ void G_LoadGameData(void) gamedata->chaokeytutorial = !!(everflags & GDEVER_KEYTUTORIAL); gamedata->majorkeyskipattempted = !!(everflags & GDEVER_KEYMAJORSKIP); gamedata->finishedtutorialchallenge = !!(everflags & GDEVER_TUTORIALSKIP); + gamedata->failedtutorialchallenge = !!(everflags & GDEVER_FAILEDTUTSKIP); } else { @@ -5359,6 +5364,8 @@ void G_SaveGameData(void) everflags |= GDEVER_KEYMAJORSKIP; if (gamedata->finishedtutorialchallenge) everflags |= GDEVER_TUTORIALSKIP; + if (gamedata->failedtutorialchallenge) + everflags |= GDEVER_FAILEDTUTSKIP; WRITEUINT32(save.p, everflags); // 4 } diff --git a/src/m_cond.c b/src/m_cond.c index a9e4f5161..23f8a6506 100644 --- a/src/m_cond.c +++ b/src/m_cond.c @@ -662,6 +662,7 @@ void M_ClearStats(void) gamedata->chaokeytutorial = false; gamedata->majorkeyskipattempted = false; gamedata->finishedtutorialchallenge = false; + gamedata->failedtutorialchallenge = false; gamedata->musicstate = GDMUSIC_NONE; gamedata->importprofilewins = false; diff --git a/src/m_cond.h b/src/m_cond.h index acd6e008b..b8de598d0 100644 --- a/src/m_cond.h +++ b/src/m_cond.h @@ -365,6 +365,7 @@ struct gamedata_t boolean chaokeytutorial; boolean majorkeyskipattempted; boolean finishedtutorialchallenge; + boolean failedtutorialchallenge; gdmusic_t musicstate; // BACKWARDS COMPAT ASSIST