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;
GameMode::findGameModes(mGameModesNames, &mGameModesList);
if ((String(mGameModesNames).isNotEmpty() && mGameModesList.size() == 0) || !evaluateCondition())
if (!isSelected() && (String(mGameModesNames).isNotEmpty() && mGameModesList.size() == 0) || !evaluateCondition())
{
mLoaded = false;
return;

View file

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