[Scummvm-git-logs] scummvm master -> 5153b58e731c19b8726ec5868e7954d770a2fcd8
sev-
noreply at scummvm.org
Sat Nov 23 22:58:04 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
5153b58e73 QDENGINE: Get rid of g_runtime in EffectManager in adv minigames
Commit: 5153b58e731c19b8726ec5868e7954d770a2fcd8
https://github.com/scummvm/scummvm/commit/5153b58e731c19b8726ec5868e7954d770a2fcd8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-11-23T23:57:52+01:00
Commit Message:
QDENGINE: Get rid of g_runtime in EffectManager in adv minigames
Changed paths:
engines/qdengine/minigames/adv/EffectManager.cpp
engines/qdengine/minigames/adv/EffectManager.h
engines/qdengine/minigames/adv/RunTime.cpp
diff --git a/engines/qdengine/minigames/adv/EffectManager.cpp b/engines/qdengine/minigames/adv/EffectManager.cpp
index a53d96ce34a..8bbb9997e0c 100644
--- a/engines/qdengine/minigames/adv/EffectManager.cpp
+++ b/engines/qdengine/minigames/adv/EffectManager.cpp
@@ -25,13 +25,14 @@
namespace QDEngine {
-EffectManager::EffectManager(HoldData<EffectManagerData> &data) {
- const char *effectName = g_runtime->parameter("effect_name", "effect");
- if (g_runtime->testObject(effectName)) {
- _effect = g_runtime->getObject(effectName);
+EffectManager::EffectManager(HoldData<EffectManagerData> &data, MinigameManager *runtime) {
+ _runtime = runtime;
+ const char *effectName = _runtime->parameter("effect_name", "effect");
+ if (_runtime->testObject(effectName)) {
+ _effect = _runtime->getObject(effectName);
_data.crd = _effect->R();
_effect->set_screen_scale(mgVect2f(0.01f, 0.01f), mgVect2f(10000.f, 10000.f));
- g_runtime->hide(_effect);
+ _runtime->hide(_effect);
}
data.process(_data);
@@ -47,21 +48,20 @@ EffectManager::EffectManager(HoldData<EffectManagerData> &data) {
}
EffectManager::~EffectManager() {
- g_runtime->release(_effect);
-
+ _runtime->release(_effect);
}
void EffectManager::quant(float dt) {
if (_current == EFFECT_COUNT)
return;
- if (g_runtime->getTime() > _effectTimer) {
+ if (_runtime->getTime() > _effectTimer) {
stop(_current);
return;
}
- if (g_runtime->getTime() > _phaseTimer) {
- _phaseTimer = g_runtime->getTime() + _phaseTime;
+ if (_runtime->getTime() > _phaseTimer) {
+ _phaseTimer = _runtime->getTime() + _phaseTime;
mgVect2f scale = _effect->screen_scale();
mgVect2f speed = scale;
scale *= _phaseSpeed;
@@ -75,9 +75,9 @@ void EffectManager::quant(float dt) {
void EffectManager::start(EffectType id) {
if (_current != EFFECT_COUNT || !_effect)
return;
- _effectTimer = g_runtime->getTime() + _effectTime;
+ _effectTimer = _runtime->getTime() + _effectTime;
_current = id;
- _phaseTimer = g_runtime->getTime();
+ _phaseTimer = _runtime->getTime();
_effect->set_screen_scale(mgVect2f(0.02f, 0.02f), mgVect2f(10000.f, 10000.f));
_effect->set_R(_data.crd);
@@ -86,7 +86,7 @@ void EffectManager::start(EffectType id) {
void EffectManager::stop(EffectType id) {
if (_current == EFFECT_COUNT)
return;
- g_runtime->hide(_effect);
+ _runtime->hide(_effect);
_effect->set_screen_scale(mgVect2f(0.01f, 0.01f), mgVect2f(10000.f, 10000.f));
_current = EFFECT_COUNT;
}
diff --git a/engines/qdengine/minigames/adv/EffectManager.h b/engines/qdengine/minigames/adv/EffectManager.h
index 9d4d47d9376..f8c1c628f82 100644
--- a/engines/qdengine/minigames/adv/EffectManager.h
+++ b/engines/qdengine/minigames/adv/EffectManager.h
@@ -34,7 +34,7 @@ enum EffectType {
class EffectManager {
public:
- EffectManager(HoldData<EffectManagerData> &data);
+ EffectManager(HoldData<EffectManagerData> &data, MinigameManager *runtime);
~EffectManager();
void quant(float dt);
@@ -53,6 +53,7 @@ private:
float _phaseTimer;
QDObject _effect;
+ MinigameManager *_runtime;
};
} // namespace QDEngine
diff --git a/engines/qdengine/minigames/adv/RunTime.cpp b/engines/qdengine/minigames/adv/RunTime.cpp
index 3950d11b28d..eada4c937f1 100644
--- a/engines/qdengine/minigames/adv/RunTime.cpp
+++ b/engines/qdengine/minigames/adv/RunTime.cpp
@@ -182,7 +182,7 @@ bool MinigameManager::createGame() {
_eventManager = new EventManager(this);
HoldData<EffectManagerData> effectData(_currentGameInfo ? &_currentGameInfo->_effectManagerData : 0, !_currentGameInfo || _currentGameInfo->_empty);
- _effectManager = new EffectManager(effectData);
+ _effectManager = new EffectManager(effectData, this);
const char *stateFlagName = parameter("_state_flagname", "state_flag");
More information about the Scummvm-git-logs
mailing list