From dfa4f5da8a52ed217bbb3b86b623e6cb08fba332 Mon Sep 17 00:00:00 2001 From: Dave Corley Date: Sat, 1 Jul 2023 08:48:57 +0000 Subject: [PATCH] pass time on OnTrainingFinished callback instead of before the fadeScreenIn --- AUTHORS.md | 1 + CHANGELOG.md | 1 + apps/openmw/mwgui/trainingwindow.cpp | 12 ++++++------ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/AUTHORS.md b/AUTHORS.md index 1471466e64..4a277b9f46 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -61,6 +61,7 @@ Programmers crussell187 Dan Vukelich (sanchezman) darkf + Dave Corley (S3ctor) David Cernat (davidcernat) Declan Millar (declan-millar) devnexen diff --git a/CHANGELOG.md b/CHANGELOG.md index 90c95c3d59..0e798950fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ Bug #6939: OpenMW-CS: ID columns are too short Bug #6949: Sun Damage effect doesn't work in quasi exteriors Bug #6964: Nerasa Dralor Won't Follow + Bug #6973: Fade in happens after the scene load and is shown Bug #6974: Only harmful effects are reflected Bug #6977: Sun damage implementation does not match research Bug #6986: Sound magic effect does not make noise diff --git a/apps/openmw/mwgui/trainingwindow.cpp b/apps/openmw/mwgui/trainingwindow.cpp index 90c092dd79..5676f2bdc2 100644 --- a/apps/openmw/mwgui/trainingwindow.cpp +++ b/apps/openmw/mwgui/trainingwindow.cpp @@ -170,17 +170,13 @@ namespace MWGui MWMechanics::NpcStats& npcStats = mPtr.getClass().getNpcStats(mPtr); npcStats.setGoldPool(npcStats.getGoldPool() + price); - // advance time - MWBase::Environment::get().getMechanicsManager()->rest(2, false); - MWBase::Environment::get().getWorld()->advanceTime(2); - setVisible(false); mProgressBar.setVisible(true); mProgressBar.setProgress(0, 2); mTimeAdvancer.run(2); - MWBase::Environment::get().getWindowManager()->fadeScreenOut(0.25); - MWBase::Environment::get().getWindowManager()->fadeScreenIn(0.25, false, 0.25); + MWBase::Environment::get().getWindowManager()->fadeScreenOut(0.2); + MWBase::Environment::get().getWindowManager()->fadeScreenIn(0.2, false, 0.2); } void TrainingWindow::onTrainingProgressChanged(int cur, int total) @@ -192,6 +188,10 @@ namespace MWGui { mProgressBar.setVisible(false); + // advance time + MWBase::Environment::get().getMechanicsManager()->rest(2, false); + MWBase::Environment::get().getWorld()->advanceTime(2); + // go back to game mode MWBase::Environment::get().getWindowManager()->removeGuiMode(GM_Training); MWBase::Environment::get().getWindowManager()->exitCurrentGuiMode();