From 77c30a68c99871135a36190be1bc5383235ae3f0 Mon Sep 17 00:00:00 2001 From: Kuyondo Date: Sat, 12 Jul 2025 11:56:31 +0800 Subject: [PATCH 1/3] more similar to vanilla --- apps/openmw/mwgui/jailscreen.cpp | 2 +- apps/openmw/mwgui/timeadvancer.cpp | 5 ++--- apps/openmw/mwgui/timeadvancer.hpp | 4 ++-- apps/openmw/mwgui/trainingwindow.cpp | 2 +- apps/openmw/mwgui/waitdialog.cpp | 2 +- 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/apps/openmw/mwgui/jailscreen.cpp b/apps/openmw/mwgui/jailscreen.cpp index c6aefdd177..f482ec4de2 100644 --- a/apps/openmw/mwgui/jailscreen.cpp +++ b/apps/openmw/mwgui/jailscreen.cpp @@ -23,7 +23,7 @@ namespace MWGui : WindowBase("openmw_jail_screen.layout") , mDays(1) , mFadeTimeRemaining(0) - , mTimeAdvancer(0.01f) + , mTimeAdvancer() { getWidget(mProgressBar, "ProgressBar"); diff --git a/apps/openmw/mwgui/timeadvancer.cpp b/apps/openmw/mwgui/timeadvancer.cpp index 2cdab127b9..abe0a668d4 100644 --- a/apps/openmw/mwgui/timeadvancer.cpp +++ b/apps/openmw/mwgui/timeadvancer.cpp @@ -2,13 +2,12 @@ namespace MWGui { - TimeAdvancer::TimeAdvancer(float delay) + TimeAdvancer::TimeAdvancer() : mRunning(false) , mCurHour(0) , mHours(1) , mInterruptAt(-1) - , mDelay(delay) - , mRemainingTime(delay) + , mRemainingTime(mDelay) { } diff --git a/apps/openmw/mwgui/timeadvancer.hpp b/apps/openmw/mwgui/timeadvancer.hpp index bb6aa649cb..be19619d25 100644 --- a/apps/openmw/mwgui/timeadvancer.hpp +++ b/apps/openmw/mwgui/timeadvancer.hpp @@ -8,7 +8,7 @@ namespace MWGui class TimeAdvancer { public: - TimeAdvancer(float delay); + TimeAdvancer(); void run(int hours, int interruptAt = -1); void stop(); @@ -32,7 +32,7 @@ namespace MWGui int mHours; int mInterruptAt; - float mDelay; + static constexpr float mDelay = 1.0f / 60.0f; float mRemainingTime; }; } diff --git a/apps/openmw/mwgui/trainingwindow.cpp b/apps/openmw/mwgui/trainingwindow.cpp index 890aa0ba68..94f001f26d 100644 --- a/apps/openmw/mwgui/trainingwindow.cpp +++ b/apps/openmw/mwgui/trainingwindow.cpp @@ -27,7 +27,7 @@ namespace MWGui TrainingWindow::TrainingWindow() : WindowBase("openmw_trainingwindow.layout") - , mTimeAdvancer(0.05f) + , mTimeAdvancer() { getWidget(mTrainingOptions, "TrainingOptions"); getWidget(mCancelButton, "CancelButton"); diff --git a/apps/openmw/mwgui/waitdialog.cpp b/apps/openmw/mwgui/waitdialog.cpp index 222a34e53b..f6f1b86214 100644 --- a/apps/openmw/mwgui/waitdialog.cpp +++ b/apps/openmw/mwgui/waitdialog.cpp @@ -52,7 +52,7 @@ namespace MWGui WaitDialog::WaitDialog() : WindowBase("openmw_wait_dialog.layout") - , mTimeAdvancer(0.05f) + , mTimeAdvancer() , mSleeping(false) , mHours(1) , mManualHours(1) From d2c78ee88cc89b41206c7703fed64eef3cdb2bbc Mon Sep 17 00:00:00 2001 From: Kuyondo Date: Sat, 12 Jul 2025 22:14:47 +0800 Subject: [PATCH 2/3] move member var to implementation --- apps/openmw/mwgui/timeadvancer.cpp | 12 +++++++++--- apps/openmw/mwgui/timeadvancer.hpp | 1 - 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/apps/openmw/mwgui/timeadvancer.cpp b/apps/openmw/mwgui/timeadvancer.cpp index abe0a668d4..c4bdc030c2 100644 --- a/apps/openmw/mwgui/timeadvancer.cpp +++ b/apps/openmw/mwgui/timeadvancer.cpp @@ -1,5 +1,11 @@ #include "timeadvancer.hpp" +namespace +{ + // Time per hour tick + constexpr float kProgressStepDelay = 1.0f / 60.0f; +} + namespace MWGui { TimeAdvancer::TimeAdvancer() @@ -7,7 +13,7 @@ namespace MWGui , mCurHour(0) , mHours(1) , mInterruptAt(-1) - , mRemainingTime(mDelay) + , mRemainingTime(kProgressStepDelay) { } @@ -16,7 +22,7 @@ namespace MWGui mHours = hours; mCurHour = 0; mInterruptAt = interruptAt; - mRemainingTime = mDelay; + mRemainingTime = kProgressStepDelay; mRunning = true; } @@ -42,7 +48,7 @@ namespace MWGui while (mRemainingTime <= 0) { - mRemainingTime += mDelay; + mRemainingTime += kProgressStepDelay; ++mCurHour; if (mCurHour <= mHours) diff --git a/apps/openmw/mwgui/timeadvancer.hpp b/apps/openmw/mwgui/timeadvancer.hpp index be19619d25..e69153aed4 100644 --- a/apps/openmw/mwgui/timeadvancer.hpp +++ b/apps/openmw/mwgui/timeadvancer.hpp @@ -32,7 +32,6 @@ namespace MWGui int mHours; int mInterruptAt; - static constexpr float mDelay = 1.0f / 60.0f; float mRemainingTime; }; } From def31cfb05a29fb65e199d45cba97c54358b5ae6 Mon Sep 17 00:00:00 2001 From: Kuyondo Date: Sat, 12 Jul 2025 22:44:28 +0800 Subject: [PATCH 3/3] cleanup --- apps/openmw/mwgui/jailscreen.cpp | 1 - apps/openmw/mwgui/trainingwindow.cpp | 1 - apps/openmw/mwgui/waitdialog.cpp | 1 - 3 files changed, 3 deletions(-) diff --git a/apps/openmw/mwgui/jailscreen.cpp b/apps/openmw/mwgui/jailscreen.cpp index f482ec4de2..2fbaa8d8ac 100644 --- a/apps/openmw/mwgui/jailscreen.cpp +++ b/apps/openmw/mwgui/jailscreen.cpp @@ -23,7 +23,6 @@ namespace MWGui : WindowBase("openmw_jail_screen.layout") , mDays(1) , mFadeTimeRemaining(0) - , mTimeAdvancer() { getWidget(mProgressBar, "ProgressBar"); diff --git a/apps/openmw/mwgui/trainingwindow.cpp b/apps/openmw/mwgui/trainingwindow.cpp index 94f001f26d..4bde77a552 100644 --- a/apps/openmw/mwgui/trainingwindow.cpp +++ b/apps/openmw/mwgui/trainingwindow.cpp @@ -27,7 +27,6 @@ namespace MWGui TrainingWindow::TrainingWindow() : WindowBase("openmw_trainingwindow.layout") - , mTimeAdvancer() { getWidget(mTrainingOptions, "TrainingOptions"); getWidget(mCancelButton, "CancelButton"); diff --git a/apps/openmw/mwgui/waitdialog.cpp b/apps/openmw/mwgui/waitdialog.cpp index f6f1b86214..9609def96d 100644 --- a/apps/openmw/mwgui/waitdialog.cpp +++ b/apps/openmw/mwgui/waitdialog.cpp @@ -52,7 +52,6 @@ namespace MWGui WaitDialog::WaitDialog() : WindowBase("openmw_wait_dialog.layout") - , mTimeAdvancer() , mSleeping(false) , mHours(1) , mManualHours(1)