diff --git a/client/battle/BattleWindow.cpp b/client/battle/BattleWindow.cpp index b9d308764..8ca01cef7 100644 --- a/client/battle/BattleWindow.cpp +++ b/client/battle/BattleWindow.cpp @@ -89,6 +89,7 @@ void BattleWindow::createQueue() //create stack queue and adjust our own position bool embedQueue; + bool showQueue = settings["battle"]["showQueue"].Bool(); std::string queueSize = settings["battle"]["queueSize"].String(); if(queueSize == "auto") @@ -97,13 +98,16 @@ void BattleWindow::createQueue() embedQueue = GH.screenDimensions().y < 700 || queueSize == "small"; queue = std::make_shared(embedQueue, owner); - if(!embedQueue && settings["battle"]["showQueue"].Bool()) + if(!embedQueue && showQueue) { //re-center, taking into account stack queue position pos.y -= queue->pos.h; pos.h += queue->pos.h; pos = center(); } + + if (!showQueue) + queue->disable(); } BattleWindow::~BattleWindow() @@ -143,8 +147,8 @@ void BattleWindow::hideQueue() pos.y += queue->pos.h; pos.h -= queue->pos.h; pos = center(); - GH.totalRedraw(); } + GH.totalRedraw(); } void BattleWindow::showQueue() @@ -213,9 +217,12 @@ void BattleWindow::tacticPhaseStarted() auto menuTactics = widget("menuTactics"); auto tacticNext = widget("tacticNext"); auto tacticEnd = widget("tacticEnd"); + auto alternativeAction = widget("alternativeAction"); menuBattle->disable(); console->disable(); + if (alternativeAction) + alternativeAction->disable(); menuTactics->enable(); tacticNext->enable(); @@ -231,9 +238,12 @@ void BattleWindow::tacticPhaseEnded() auto menuTactics = widget("menuTactics"); auto tacticNext = widget("tacticNext"); auto tacticEnd = widget("tacticEnd"); + auto alternativeAction = widget("alternativeAction"); menuBattle->enable(); console->enable(); + if (alternativeAction) + alternativeAction->enable(); menuTactics->disable(); tacticNext->disable(); diff --git a/client/windows/settings/BattleOptionsTab.cpp b/client/windows/settings/BattleOptionsTab.cpp index fdd82feb4..65b62341f 100644 --- a/client/windows/settings/BattleOptionsTab.cpp +++ b/client/windows/settings/BattleOptionsTab.cpp @@ -84,14 +84,19 @@ int BattleOptionsTab::getAnimSpeed() const int BattleOptionsTab::getQueueSizeId() const { - std::string text = settings["battle"]["queueSize"].String(); - if(text == "none") + std::string sizeText = settings["battle"]["queueSize"].String(); + bool visible = settings["battle"]["showQueue"].Bool(); + + if(!visible) return -1; - if(text == "auto") + + if(sizeText == "none") + return -1; + if(sizeText == "auto") return 0; - if(text == "small") + if(sizeText == "small") return 1; - if(text == "big") + if(sizeText == "big") return 2; return 0;