[Scummvm-git-logs] scummvm master -> c8e3f4f775505ede25232073e1274859a949659e

sev- noreply at scummvm.org
Fri Nov 22 22:25:17 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:
c8e3f4f775 QDENGINE: Eliminated more g_runtime usage in adv minigames


Commit: c8e3f4f775505ede25232073e1274859a949659e
    https://github.com/scummvm/scummvm/commit/c8e3f4f775505ede25232073e1274859a949659e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-11-22T23:23:26+01:00

Commit Message:
QDENGINE: Eliminated more g_runtime usage in adv minigames

Changed paths:
    engines/qdengine/minigames/adv/EventManager.cpp
    engines/qdengine/minigames/adv/EventManager.h
    engines/qdengine/minigames/adv/RunTime.cpp


diff --git a/engines/qdengine/minigames/adv/EventManager.cpp b/engines/qdengine/minigames/adv/EventManager.cpp
index bf57d7eb731..d17f3083d00 100644
--- a/engines/qdengine/minigames/adv/EventManager.cpp
+++ b/engines/qdengine/minigames/adv/EventManager.cpp
@@ -36,15 +36,16 @@ EventManager::EventPreset::EventPreset() {
 	triggerEventID = -1;
 }
 
-EventManager::EventManager() {
+EventManager::EventManager(MinigameManager *runtime) {
+	_runtime = runtime;
 	_score = 0;
 
 	char str_cache[256];
 
 	for (int idx = 0;; ++idx) {
 		snprintf(str_cache, 127, "register_trigger_%d", idx);
-		if (const char *descr = g_runtime->parameter(str_cache, false))
-			_triggerEvents.push_back(g_runtime->getObject(descr));
+		if (const char *descr = _runtime->parameter(str_cache, false))
+			_triggerEvents.push_back(_runtime->getObject(descr));
 		else
 			break;
 	}
@@ -53,7 +54,7 @@ EventManager::EventManager() {
 	_eventPresets.resize(SYSTEM_EVENTS_SIZE);
 	for (int idx = 0; idx < SYSTEM_EVENTS_SIZE; ++idx) {
 		snprintf(str_cache, 127, "system_event_%d", idx);
-		if (const char * descr = g_runtime->parameter(str_cache, false)) {
+		if (const char * descr = _runtime->parameter(str_cache, false)) {
 			EventPreset preset;
 			int read = sscanf(descr, "%d %d", &preset.score, &preset.triggerEventID);
 
@@ -72,7 +73,7 @@ EventManager::EventManager() {
 
 	for (int idx = 0;; ++idx) {
 		snprintf(str_cache, 127, "register_event_%d", idx);
-		if (const char * descr = g_runtime->parameter(str_cache, false)) {
+		if (const char * descr = _runtime->parameter(str_cache, false)) {
 			EventPreset preset;
 			int read = sscanf(descr, "%d %d %d %d", &preset.score, &preset.fontID, &preset.escapeID, &preset.triggerEventID);
 
@@ -91,7 +92,7 @@ EventManager::EventManager() {
 	}
 	debugC(2, kDebugMinigames, "EventManager(): registered %d events", _eventPresets.size());
 
-	if (const char * data = g_runtime->parameter("allow_negative", false)) {
+	if (const char * data = _runtime->parameter("allow_negative", false)) {
 		int tmp;
 		sscanf(data, "%d", &tmp);
 		_enableNegative = tmp;
@@ -105,7 +106,7 @@ void EventManager::sysEvent(int eventID) {
 
 	assert(eventID < SYSTEM_EVENTS_SIZE);
 
-	mgVect2i pos = g_runtime->screenSize() / 2;
+	mgVect2i pos = _runtime->screenSize() / 2;
 	event(eventID - SYSTEM_EVENTS_SIZE, mgVect2f(pos.x, pos.y), 1);
 }
 
@@ -128,7 +129,7 @@ void EventManager::event(int eventID, const mgVect2f& pos, int factor) {
 		int diff = addScore(pr.score);
 
 		if (pr.fontID >= 0 && pr.escapeID >= 0 && diff != 0)
-			g_runtime->textManager().showNumber(diff, pos, pr.fontID, pr.escapeID);
+			_runtime->textManager().showNumber(diff, pos, pr.fontID, pr.escapeID);
 	}
 }
 
@@ -142,7 +143,7 @@ int EventManager::addScore(int sc) {
 	diff = _score - diff;
 
 	if (diff)
-		g_runtime->textManager().updateScore(_score);
+		_runtime->textManager().updateScore(_score);
 
 	return diff;
 }
diff --git a/engines/qdengine/minigames/adv/EventManager.h b/engines/qdengine/minigames/adv/EventManager.h
index 094c339c4f8..4d09f450420 100644
--- a/engines/qdengine/minigames/adv/EventManager.h
+++ b/engines/qdengine/minigames/adv/EventManager.h
@@ -26,7 +26,7 @@ namespace QDEngine {
 
 class EventManager {
 public:
-	EventManager();
+	EventManager(MinigameManager *runtime);
 
 	void sysEvent(int eventID);
 	void event(int eventID, const mgVect2f& pos, int factor);
@@ -51,6 +51,7 @@ private:
 	EventPresets _eventPresets;
 
 	QDObjects _triggerEvents;
+	MinigameManager *_runtime;
 };
 
 } // namespace QDEngine
diff --git a/engines/qdengine/minigames/adv/RunTime.cpp b/engines/qdengine/minigames/adv/RunTime.cpp
index 422681537b2..3950d11b28d 100644
--- a/engines/qdengine/minigames/adv/RunTime.cpp
+++ b/engines/qdengine/minigames/adv/RunTime.cpp
@@ -179,7 +179,7 @@ bool MinigameManager::createGame() {
 
 	_textManager = new TextManager();
 
-	_eventManager = new EventManager();
+	_eventManager = new EventManager(this);
 
 	HoldData<EffectManagerData> effectData(_currentGameInfo ? &_currentGameInfo->_effectManagerData : 0, !_currentGameInfo || _currentGameInfo->_empty);
 	_effectManager = new EffectManager(effectData);
@@ -866,7 +866,7 @@ int MinigameManager::rnd(int min, int max) const {
 }
 
 int MinigameManager::rnd(const Std::vector<float> &prob) const {
-	float rnd = g_runtime->rnd(0.f, .9999f);
+	float rnd = this->rnd(0.f, .9999f);
 	float accum = 0.f;
 	int idx = 0;
 	int size = prob.size();




More information about the Scummvm-git-logs mailing list