M_LevelSelectInit: Catch potentially invalid skin dereference for Hivolt message, just in case

This commit is contained in:
toaster 2025-05-31 22:17:23 +01:00
parent 57cdb4fcb5
commit 5bfbfccdae

View file

@ -681,10 +681,14 @@ void M_LevelSelectInit(INT32 choice)
gt = menugametype; gt = menugametype;
} }
if (levellist.levelsearch.timeattack && gt == GT_RACE && skins[R_SkinAvailableEx(cv_skin[0].string, false)].flags & SF_HIVOLT) if (levellist.levelsearch.timeattack && gt == GT_RACE)
{ {
M_StartMessage("A long-forgotten power...", "You are using a \x82prototype engine\x80.\nRecords will not be saved.", NULL, MM_NOTHING, NULL, NULL); const INT32 skinid = R_SkinAvailableEx(cv_skin[0].string, false);
S_StartSound(NULL, sfx_s3k81); if (skinid >= 0 && (skins[skinid].flags & SF_HIVOLT))
{
M_StartMessage("A long-forgotten power...", "You are using a \x82prototype engine\x80.\nRecords will not be saved.", NULL, MM_NOTHING, NULL, NULL);
S_StartSound(NULL, sfx_s3k81);
}
} }
if (!M_LevelListFromGametype(gt)) if (!M_LevelListFromGametype(gt))