[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