game mode filterfix

GameMode::findGameModes now only returns the *active* ones.
SubScene::load() checks against either that, or if it's selected
This commit is contained in:
AzaezelX 2025-02-25 19:17:43 -06:00
parent 9f3785d893
commit 18750047fb
2 changed files with 3 additions and 2 deletions

View file

@ -348,7 +348,7 @@ void SubScene::load()
return; return;
GameMode::findGameModes(mGameModesNames, &mGameModesList); GameMode::findGameModes(mGameModesNames, &mGameModesList);
if ((String(mGameModesNames).isNotEmpty() && mGameModesList.size() == 0) || !evaluateCondition()) if (!isSelected() && (String(mGameModesNames).isNotEmpty() && mGameModesList.size() == 0) || !evaluateCondition())
{ {
mLoaded = false; mLoaded = false;
return; return;

View file

@ -101,7 +101,8 @@ void GameMode::findGameModes(const char* gameModeList, Vector<GameMode*> *outGam
GameMode* gm; GameMode* gm;
if (Sim::findObject(gameModeNames[i].c_str(), gm)) if (Sim::findObject(gameModeNames[i].c_str(), gm))
{ {
outGameModes->push_back(gm); if (gm->isActive() || gm->isAlwaysActive())
outGameModes->push_back(gm);
} }
} }
} }