summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscrawl <720642+scrawl@users.noreply.github.com>2017-11-15 16:29:50 +0100
committerscrawl <720642+scrawl@users.noreply.github.com>2017-11-15 17:20:40 +0000
commit35d68f038d4dc7d3255e1b3feebdeba90a7249a4 (patch)
treed9a9624a00691f489450ebc88d98c38ede76da42
parent93e9df15c999ddb42fb2f9650cced5beed162310 (diff)
Update dialogue topics list after result script is runopenmw-0.43.0
Regression from 0.42.
-rw-r--r--apps/openmw/mwgui/dialogue.cpp14
-rw-r--r--apps/openmw/mwgui/dialogue.hpp3
2 files changed, 15 insertions, 2 deletions
diff --git a/apps/openmw/mwgui/dialogue.cpp b/apps/openmw/mwgui/dialogue.cpp
index 8a7ae85ea7..14bbe81ef6 100644
--- a/apps/openmw/mwgui/dialogue.cpp
+++ b/apps/openmw/mwgui/dialogue.cpp
@@ -45,6 +45,11 @@ namespace MWGui
mWindow->addResponse(title, text, mNeedMargin);
}
+ void updateTopics()
+ {
+ mWindow->updateTopics();
+ }
+
private:
DialogueWindow* mWindow;
bool mNeedMargin;
@@ -91,6 +96,7 @@ namespace MWGui
type = MWBase::MechanicsManager::PT_Bribe1000;
MWBase::Environment::get().getDialogueManager()->persuade(type, mCallback.get());
+ mCallback->updateTopics();
setVisible(false);
}
@@ -395,6 +401,8 @@ namespace MWGui
else if (topic == gmst.find("sRepair")->getString())
MWBase::Environment::get().getWindowManager()->pushGuiMode(GM_MerchantRepair, mPtr);
}
+ else
+ updateTopics();
}
}
@@ -432,7 +440,9 @@ namespace MWGui
setTitle(mPtr.getClass().getName(mPtr));
- updateTopicsPane();
+ updateTopics();
+ updateTopicsPane(); // force update for new services
+
updateDisposition();
restock();
}
@@ -620,11 +630,13 @@ namespace MWGui
void DialogueWindow::onTopicActivated(const std::string &topicId)
{
MWBase::Environment::get().getDialogueManager()->keywordSelected(topicId, mCallback.get());
+ updateTopics();
}
void DialogueWindow::onChoiceActivated(int id)
{
MWBase::Environment::get().getDialogueManager()->questionAnswered(id, mCallback.get());
+ updateTopics();
}
void DialogueWindow::onGoodbyeActivated()
diff --git a/apps/openmw/mwgui/dialogue.hpp b/apps/openmw/mwgui/dialogue.hpp
index 2770325137..2538602c6c 100644
--- a/apps/openmw/mwgui/dialogue.hpp
+++ b/apps/openmw/mwgui/dialogue.hpp
@@ -131,8 +131,9 @@ namespace MWGui
void onFrame(float dt);
void clear() { resetReference(); }
- protected:
void updateTopics();
+
+ protected:
void updateTopicsPane();
bool isCompanion(const MWWorld::Ptr& actor);
bool isCompanion();