[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