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;
}
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);
S_StartSound(NULL, sfx_s3k81);
const INT32 skinid = R_SkinAvailableEx(cv_skin[0].string, false);
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))