diff --git a/gframe/game.cpp b/gframe/game.cpp index fad396209..dbd870c4a 100644 --- a/gframe/game.cpp +++ b/gframe/game.cpp @@ -2473,6 +2473,15 @@ void Game::RefreshLFLists() { } deckBuilder.filterList = &gdeckManager->_lfList[cbDBLFList->getSelected()]; cbFilterBanlist->setSelected(prevFilter); + SelectTCGRulesBasedOnLFList(); +} +void Game::SelectTCGRulesBasedOnLFList() { + irr::s32 selected = cbHostLFList->getSelected(); + if (selected == -1) return; + wchar_t const* flListName = cbHostLFList->getItem(selected); + size_t n = wcslen(flListName); + if (n < 4) return; + chkTcgRulings->setChecked(wcsncmp(flListName + (n - 4), L" TCG", 4) == 0); } void Game::RefreshAiDecks() { gBot.bots.clear(); diff --git a/gframe/game.h b/gframe/game.h index f3a9e6520..690f24fce 100644 --- a/gframe/game.h +++ b/gframe/game.h @@ -520,6 +520,7 @@ class Game final : public info_panel_elements, public main_menu_panel_elements, bool ApplySkin(const epro::path_string& skin, bool reload = false, bool firstrun = false); void RefreshDeck(irr::gui::IGUIComboBox* cbDeck); void RefreshLFLists(); + void SelectTCGRulesBasedOnLFList(); void RefreshAiDecks(); void RefreshReplay(); void RefreshSingleplay(); diff --git a/gframe/menu_handler.cpp b/gframe/menu_handler.cpp index 3dc7fc713..4924e768e 100644 --- a/gframe/menu_handler.cpp +++ b/gframe/menu_handler.cpp @@ -953,6 +953,10 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) { } case irr::gui::EGET_COMBO_BOX_CHANGED: { switch (id) { + case COMBOBOX_HOST_LFLIST: { + mainGame->SelectTCGRulesBasedOnLFList(); + break; + } case COMBOBOX_DUEL_RULE: { auto setDeckSizes = [&](const DeckSizes& size) { mainGame->ebMainMin->setText(epro::to_wstring(size.main.min).data());