[Scummvm-git-logs] scummvm master -> a64b651c7a5f2fc69deee7faacc7a3a43e2d591d
sev-
noreply at scummvm.org
Thu Oct 17 20:11:19 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:
a64b651c7a QDENGINE: Some compilation fixes in minigames/adv
Commit: a64b651c7a5f2fc69deee7faacc7a3a43e2d591d
https://github.com/scummvm/scummvm/commit/a64b651c7a5f2fc69deee7faacc7a3a43e2d591d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-17T22:10:53+02:00
Commit Message:
QDENGINE: Some compilation fixes in minigames/adv
Changed paths:
engines/qdengine/minigames/adv/EffectManager.cpp
engines/qdengine/minigames/adv/EventManager.h
engines/qdengine/minigames/adv/HoldData.h
engines/qdengine/minigames/adv/RunTime.cpp
engines/qdengine/minigames/adv/RunTime.h
engines/qdengine/minigames/adv/TextManager.cpp
engines/qdengine/minigames/adv/common.cpp
engines/qdengine/minigames/adv/common.h
engines/qdengine/minigames/adv/m_puzzle.cpp
engines/qdengine/minigames/adv/m_swap.cpp
engines/qdengine/minigames/adv/qdMath.h
engines/qdengine/module.mk
diff --git a/engines/qdengine/minigames/adv/EffectManager.cpp b/engines/qdengine/minigames/adv/EffectManager.cpp
index 8a8c745bf61..fa6f79851ac 100644
--- a/engines/qdengine/minigames/adv/EffectManager.cpp
+++ b/engines/qdengine/minigames/adv/EffectManager.cpp
@@ -53,13 +53,13 @@ void EffectManager::quant(float dt) {
if (current_ == EFFECT_COUNT)
return;
- if (runtime->time() > effectTimer_) {
+ if (runtime->getTime() > effectTimer_) {
stop(current_);
return;
}
- if (runtime->time() > phaseTimer_) {
- phaseTimer_ = runtime->time() + phaseTime_;
+ if (runtime->getTime() > phaseTimer_) {
+ phaseTimer_ = runtime->getTime() + phaseTime_;
mgVect2f scale = effect_->screen_scale();
mgVect2f speed = scale;
scale *= phaseSpeed_;
@@ -73,9 +73,9 @@ void EffectManager::quant(float dt) {
void EffectManager::start(EffectType id) {
if (current_ != EFFECT_COUNT || !effect_)
return;
- effectTimer_ = runtime->time() + effectTime_;
+ effectTimer_ = runtime->getTime() + effectTime_;
current_ = id;
- phaseTimer_ = runtime->time();
+ phaseTimer_ = runtime->getTime();
effect_->set_screen_scale(mgVect2f(0.02f, 0.02f), mgVect2f(10000.f, 10000.f));
effect_->set_R(data_.crd);
diff --git a/engines/qdengine/minigames/adv/EventManager.h b/engines/qdengine/minigames/adv/EventManager.h
index a42de3d1391..490a80a8d9a 100644
--- a/engines/qdengine/minigames/adv/EventManager.h
+++ b/engines/qdengine/minigames/adv/EventManager.h
@@ -24,18 +24,6 @@
namespace QDEngine {
-enum SystemEvent {
- EVENT_TIME_1_SECOND_TICK,
- EVENT_TIME_10_SECOND_TICK,
- EVENT_TIME_60_SECOND_TICK,
- EVENT_TIME_10_SECOND_LEFT,
- EVENT_TIME_LESS_10_SECOND_LEFT_SECOND_TICK,
- EVENT_TIME_OUT,
- EVENT_GAME_LOSE,
- EVENT_GAME_WIN,
- SYSTEM_EVENTS_SIZE
-};
-
class EventManager {
public:
EventManager();
diff --git a/engines/qdengine/minigames/adv/HoldData.h b/engines/qdengine/minigames/adv/HoldData.h
index cf250c9dff9..f2bf6d8d70f 100644
--- a/engines/qdengine/minigames/adv/HoldData.h
+++ b/engines/qdengine/minigames/adv/HoldData.h
@@ -45,7 +45,7 @@ public:
}
const T &get() const {
- xassert(!empty_);
+ assert(!empty_);
return data_;
}
};
diff --git a/engines/qdengine/minigames/adv/RunTime.cpp b/engines/qdengine/minigames/adv/RunTime.cpp
index 3556ce88428..c63ed5edf27 100644
--- a/engines/qdengine/minigames/adv/RunTime.cpp
+++ b/engines/qdengine/minigames/adv/RunTime.cpp
@@ -628,7 +628,7 @@ void MinigameManager::gameWin() {
if (currentGameIndex_.gameNum_ == 0)
return;
- int gameTime = round(time());
+ int gameTime = round(getTime());
eventManager_->addScore(round(timeManager_->leftTime() * timeManager_->timeCost()));
currentGameInfo_->game_.lastTime_ = gameTime;
@@ -968,7 +968,7 @@ TimeManager::TimeManager(HoldData<TimeManagerData> &data) {
} else
size_ = mgVect2f(-1.f, -1.f);
- xassert(runtime->time() == 0.f);
+ xassert(runtime->getTime() == 0.f);
lastEventTime_ = 0;
@@ -982,7 +982,7 @@ TimeManager::~TimeManager() {
bool TimeManager::timeIsOut() const {
if (gameTime_ > 0.f)
- return runtime->time() > gameTime_;
+ return runtime->getTime() > gameTime_;
return false;
}
@@ -990,12 +990,12 @@ bool TimeManager::timeIsOut() const {
float TimeManager::leftTime() const {
if (gameTime_ <= 0.f)
return 0;
- return runtime->time() > gameTime_ ? 0 : gameTime_ - runtime->time();
+ return runtime->getTime() > gameTime_ ? 0 : gameTime_ - runtime->getTime();
}
void TimeManager::quant(float dt) {
- int seconds = round(runtime->time());
+ int seconds = round(runtime->getTime());
if (seconds != lastEventTime_) {
lastEventTime_ = seconds;
runtime->textManager().updateTime(seconds);
@@ -1016,7 +1016,7 @@ void TimeManager::quant(float dt) {
if (gameTime_ <= 0.f || !timeBar_)
return;
- float phase = clamp(runtime->time() / gameTime_, 0.f, 1.f);
+ float phase = clamp(runtime->getTime() / gameTime_, 0.f, 1.f);
mgVect3f pos;
switch (direction_) {
case UP:
diff --git a/engines/qdengine/minigames/adv/RunTime.h b/engines/qdengine/minigames/adv/RunTime.h
index 69ffa02410b..37f73f05a3f 100644
--- a/engines/qdengine/minigames/adv/RunTime.h
+++ b/engines/qdengine/minigames/adv/RunTime.h
@@ -22,6 +22,8 @@
#ifndef QDENGINE_MINIGAMES_ADV_RUNTIME_H
#define QDENGINE_MINIGAMES_ADV_RUNTIME_H
+#include "common/hashmap.h"
+
namespace QDEngine {
class qdEngineInterface;
@@ -30,7 +32,6 @@ class qdMinigameSceneInterface;
class MinigameInterface;
class TextManager;
class TimeManager;
-enum SystemEvent;
class EventManager;
class EffectManager;
@@ -103,7 +104,7 @@ public:
mgVect2i screenSize() const {
return screenSize_;
}
- float time() const {
+ float getTime() const {
return gameTime_;
}
@@ -168,7 +169,7 @@ public:
float rnd(float min, float max) const;
int rnd(int min, int max) const;
// ÑлÑÑайнÑй диапазон, из набоÑа веÑоÑÑноÑÑей
- int rnd(const vector<float> &prob) const;
+ int rnd(const Std::vector<float> &prob) const;
// Ñайл Ñо ÑпиÑком Ð¸Ð³Ñ Ð¿Ð¾ ÑÑовнÑм
const char *gameListFileName() const {
@@ -206,13 +207,13 @@ private:
QDObject complete_help_;
QDObject complete_help_miniature_;
// ÑекÑÑее ÑоÑÑоÑние Ð´Ð»Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ ÑпÑавки
- string complete_help_state_name_;
+ Common::String complete_help_state_name_;
// ÑпÑавка по игÑе
QDObject game_help_;
QDObject game_help_trigger_;
bool game_help_enabled_;
// ÑекÑÑее ÑоÑÑоÑние Ð´Ð»Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ ÑпÑавки
- string game_help_state_name_;
+ Common::String game_help_state_name_;
// инÑеÑÑÐµÐ¹Ñ Ðº движкÑ
const qdEngineInterface *engine_;
@@ -230,7 +231,7 @@ private:
// Ð¸Ð¼Ñ Ñайла и инÑоÑмаÑией о миниигÑаÑ
const char *state_container_name_;
// колиÑеÑÑво пÑойденнÑÑ
Ð¸Ð³Ñ Ð½Ð° каждом ÑÑовне
- typedef map<int, int> Counters;
+ typedef Common::HashMap<int, int> Counters;
Counters completeCounters_;
struct GameInfoIndex {
@@ -242,7 +243,7 @@ private:
}
};
// инÑоÑмаÑÐ¸Ñ Ð¾ пÑойденнÑÑ
игÑаÑ
- typedef map<GameInfoIndex, GameInfo> GameInfoMap;
+ typedef Common::HashMap<GameInfoIndex, GameInfo> GameInfoMap;
GameInfoMap gameInfos_;
// ÐнÑоÑмаÑÐ¸Ñ Ð¾ ÑекÑÑей игÑе, пÑи вÑÑ
оде запиÑеÑÑÑ
GameInfoIndex currentGameIndex_;
diff --git a/engines/qdengine/minigames/adv/TextManager.cpp b/engines/qdengine/minigames/adv/TextManager.cpp
index 1888dcbd378..75ff9f9ebe1 100644
--- a/engines/qdengine/minigames/adv/TextManager.cpp
+++ b/engines/qdengine/minigames/adv/TextManager.cpp
@@ -330,7 +330,7 @@ void TextManager::quant(float dt) {
}
if (show_scores_.textID >= 0) {
- if (scoreUpdateTimer_ >= 0.f && scoreUpdateTimer_ <= runtime->time()) {
+ if (scoreUpdateTimer_ >= 0.f && scoreUpdateTimer_ <= runtime->getTime()) {
int sgn = SIGN(targetScore_ - currentScore_);
int mod = abs(currentScore_ - targetScore_);
currentScore_ += sgn * (mod / 10 + 1);
@@ -340,7 +340,7 @@ void TextManager::quant(float dt) {
_snprintf(buf, 15, show_scores_.format, currentScore_);
updateStaticText(show_scores_.textID, buf);
- scoreUpdateTimer_ = currentScore_ != targetScore_ ? runtime->time() + scoreUpdateTime_ : -1.f;
+ scoreUpdateTimer_ = currentScore_ != targetScore_ ? runtime->getTime() + scoreUpdateTime_ : -1.f;
}
}
}
@@ -348,7 +348,7 @@ void TextManager::quant(float dt) {
void TextManager::updateScore(int score) {
targetScore_ = score;
if (scoreUpdateTimer_ < 0.f)
- scoreUpdateTimer_ = runtime->time();
+ scoreUpdateTimer_ = runtime->getTime();
}
void TextManager::updateTime(int seconds) {
diff --git a/engines/qdengine/minigames/adv/common.cpp b/engines/qdengine/minigames/adv/common.cpp
index dc377fd39e2..11f8c8e700d 100644
--- a/engines/qdengine/minigames/adv/common.cpp
+++ b/engines/qdengine/minigames/adv/common.cpp
@@ -64,11 +64,11 @@ bool getParameter(const char* name, T& out, bool obligatory) {
template<>
float getParameter(const char* name, const float &defValue) {
- if (const char * data = runtime->parameter(name, false)) {
+ if (const char *data = runtime->parameter(name, false)) {
float retValue = defValue;
- if (_snscanf(data, 8, "%f", &retValue) == 1)
+ if (sscanf(data, "%f", &retValue) == 1)
return retValue;
- xxassert(false, (XBuffer() < "РпаÑамеÑÑе [" < name < "] невеÑнÑй Ñип даннÑÑ
. Ðолжно бÑÑÑ ÑиÑло.").c_str());
+ error("The parameter [%s] contains wrong data type. It must be a number", name);
}
return defValue;
@@ -78,11 +78,11 @@ template<>
bool getParameter(const char* name, float &out, bool obligatory) {
if (const char * data = runtime->parameter(name, obligatory)) {
float retValue = out;
- if (_snscanf(data, 8, "%f", &retValue) == 1) {
+ if (sscanf(data, "%f", &retValue) == 1) {
out = retValue;
return true;
}
- xxassert(false, (XBuffer() < "РпаÑамеÑÑе [" < name < "] невеÑнÑй Ñип даннÑÑ
. Ðолжно бÑÑÑ ÑиÑло.").c_str());
+ error("The parameter [%s] contains wrong data type. It must be a number", name);
}
return false;
@@ -92,9 +92,9 @@ template<>
mgVect2f getParameter(const char* name, const mgVect2f& defValue) {
if (const char * data = runtime->parameter(name, false)) {
mgVect2f retValue = defValue;
- if (_snscanf(data, 16, "%f %f", &retValue.x, &retValue.y) == 2)
+ if (sscanf(data, "%f %f", &retValue.x, &retValue.y) == 2)
return retValue;
- xxassert(false, (XBuffer() < "РпаÑамеÑÑе [" < name < "] невеÑнÑй Ñип даннÑÑ
. Ðолжна бÑÑÑ Ð¿Ð°Ñа ÑиÑел.").c_str());
+ error("The parameter [%s] contains wrong data type. It must be a pair of numbers", name);
}
return defValue;
@@ -104,11 +104,11 @@ template<>
bool getParameter(const char* name, mgVect2f& out, bool obligatory) {
if (const char * data = runtime->parameter(name, obligatory)) {
mgVect2f retValue = out;
- if (_snscanf(data, 16, "%f %f", &retValue.x, &retValue.y) == 2) {
+ if (sscanf(data, "%f %f", &retValue.x, &retValue.y) == 2) {
out = retValue;
return true;
}
- xxassert(false, (XBuffer() < "РпаÑамеÑÑе [" < name < "] невеÑнÑй Ñип даннÑÑ
. Ðолжна бÑÑÑ Ð¿Ð°Ñа ÑиÑел.").c_str());
+ error("The parameter [%s] contains wrong data type. It must be a pair of numbers", name);
}
return false;
diff --git a/engines/qdengine/minigames/adv/common.h b/engines/qdengine/minigames/adv/common.h
index b4b01109dc1..3916eb373f9 100644
--- a/engines/qdengine/minigames/adv/common.h
+++ b/engines/qdengine/minigames/adv/common.h
@@ -22,6 +22,7 @@
#ifndef QDENGINE_MINIGAMES_ADV_COMMON_H
#define QDENGINE_MINIGAMES_ADV_COMMON_H
+#include "qdengine/qd_fwd.h"
#include "qdengine/qdcore/qd_minigame_interface.h"
namespace QDEngine {
@@ -71,9 +72,9 @@ public:
typedef qdMinigameCounterInterface *QDCounter;
-typedef vector<QDObject> QDObjects;
-typedef vector<int> Indexes;
-typedef vector<mgVect3f> Coords;
+typedef Std::vector<QDObject> QDObjects;
+typedef Std::vector<int> Indexes;
+typedef Std::vector<mgVect3f> Coords;
class MinigameManager;
extern MinigameManager *runtime;
@@ -84,6 +85,18 @@ T getParameter(const char* name, const T& defValue);
template<class T>
bool getParameter(const char* name, T& out, bool obligatory);
+enum SystemEvent {
+ EVENT_TIME_1_SECOND_TICK,
+ EVENT_TIME_10_SECOND_TICK,
+ EVENT_TIME_60_SECOND_TICK,
+ EVENT_TIME_10_SECOND_LEFT,
+ EVENT_TIME_LESS_10_SECOND_LEFT_SECOND_TICK,
+ EVENT_TIME_OUT,
+ EVENT_GAME_LOSE,
+ EVENT_GAME_WIN,
+ SYSTEM_EVENTS_SIZE
+};
+
} // namespace QDEngine
#endif // QDENGINE_MINIGAMES_ADV_COMMON_H
diff --git a/engines/qdengine/minigames/adv/m_puzzle.cpp b/engines/qdengine/minigames/adv/m_puzzle.cpp
index 41e818de85d..7b5a6e8a35c 100644
--- a/engines/qdengine/minigames/adv/m_puzzle.cpp
+++ b/engines/qdengine/minigames/adv/m_puzzle.cpp
@@ -85,7 +85,7 @@ Puzzle::Puzzle() {
return;
} else
rotateTimePeriod_ = 86400; // ÑÑÑки
- nextRotateTime_ = runtime->time() + rotateTimePeriod_;
+ nextRotateTime_ = runtime->getTime() + rotateTimePeriod_;
flySpeed_ = getParameter("inventory_drop_speed", 240.f);
xassert(flySpeed_ > 0.f);
@@ -143,7 +143,7 @@ Puzzle::Puzzle() {
mouseObjPose_ = stidx(stackSize_ + 1);
inField_ = runtime->debugMode() ? nodes_.size() : 0;
- nextObjTime_ = runtime->time();
+ nextObjTime_ = runtime->getTime();
setState(MinigameInterface::RUNNING);
}
@@ -248,9 +248,9 @@ void Puzzle::quant(float dt) {
else
runtime->setGameHelpVariant(1);
- if (runtime->time() > nextRotateTime_) {
+ if (runtime->getTime() > nextRotateTime_) {
runtime->event(EVENT_FIELD_ROTATE, mgVect2f(400, 300));
- nextRotateTime_ = runtime->time() + rotateTimePeriod_;
+ nextRotateTime_ = runtime->getTime() + rotateTimePeriod_;
globalAngle_ = (globalAngle_ + 1) % angles_;
runtime->setCompleteHelpVariant(globalAngle_);
}
@@ -262,7 +262,7 @@ void Puzzle::quant(float dt) {
else
fit = flyObjs_.erase(fit);
- if (inField_ < nodes_.size() && runtime->time() > nextObjTime_ &&
+ if (inField_ < nodes_.size() && runtime->getTime() > nextObjTime_ &&
(stack_.size() < stackSize_ - 1 || stack_.size() < stackSize_ && pickedItem_ == -1)) { // нÑжно добавиÑÑ Ð² инвенÑоÑи ÑиÑкÑ
// иÑем ÑлÑÑайнÑй не вÑÑÑавленнÑй ÑÑагменÑ
int freeIdx = round(runtime->rnd(0.f, nodes_.size() - 1));
@@ -277,7 +277,7 @@ void Puzzle::quant(float dt) {
int idx = distance(nodes_.begin(), it);
++inField_;
- nextObjTime_ = runtime->time() + stackPlaceSize_.y / flySpeed_;
+ nextObjTime_ = runtime->getTime() + stackPlaceSize_.y / flySpeed_;
it->pos = stidx(stackSize_);
it->obj.setState(getStateName(it->angle, false, true));
diff --git a/engines/qdengine/minigames/adv/m_swap.cpp b/engines/qdengine/minigames/adv/m_swap.cpp
index 4f064c7aaa1..8f8ec3e0090 100644
--- a/engines/qdengine/minigames/adv/m_swap.cpp
+++ b/engines/qdengine/minigames/adv/m_swap.cpp
@@ -64,7 +64,7 @@ Swap::Swap() {
if ((rotateTimePeriod_ = getParameter("rotate_period", 86400.f)) < 10.f)
return;
- nextRotateTime_ = runtime->time() + rotateTimePeriod_;
+ nextRotateTime_ = runtime->getTime() + rotateTimePeriod_;
const char *name_begin = runtime->parameter("obj_name_begin", "obj_");
@@ -129,11 +129,11 @@ void Swap::quant(float dt) {
else
runtime->setGameHelpVariant(0);
- if (runtime->time() > nextRotateTime_) {
+ if (runtime->getTime() > nextRotateTime_) {
int item1 = runtime->rnd(0, gameSize_ - 1);
int item2 = runtime->rnd(0, gameSize_ - 1);
if (item1 != last1_ && item1 != last2_ && item1 != pickedItem_ && item2 != last1_ && item2 != last2_ && item2 != pickedItem_) {
- nextRotateTime_ = runtime->time() + rotateTimePeriod_;
+ nextRotateTime_ = runtime->getTime() + rotateTimePeriod_;
rotate(item1, item2, false, true);
runtime->event(EVENT_AUTO_ROTATE, mgVect2f(400, 300));
return;
diff --git a/engines/qdengine/minigames/adv/qdMath.h b/engines/qdengine/minigames/adv/qdMath.h
index 8acd888032f..1ea73bfe6ef 100644
--- a/engines/qdengine/minigames/adv/qdMath.h
+++ b/engines/qdengine/minigames/adv/qdMath.h
@@ -31,11 +31,11 @@ const float FLT_INF = 1.e+30f;
#define SQRT3 1.73205081f
inline float dist(const mgVect2f& v1, const mgVect2f& v2) {
- return sqrt(sqr(v1.x - v2.x) + sqr(v1.y - v2.y));
+ return sqrt((v1.x - v2.x) * (v1.x - v2.x) + (v1.y - v2.y) * (v1.y - v2.y));
}
inline float abs(const mgVect2f& v) {
- return sqrt(sqr(v.x) + sqr(v.y));
+ return sqrt(v.x * v.x + v.y * v.y);
}
inline void norm(mgVect2f& v) {
diff --git a/engines/qdengine/module.mk b/engines/qdengine/module.mk
index 8e91f66731c..c1696fc67e0 100644
--- a/engines/qdengine/module.mk
+++ b/engines/qdengine/module.mk
@@ -4,6 +4,7 @@ MODULE_OBJS = \
qdengine.o \
console.o \
metaengine.o \
+ minigames/adv/Range.o \
parser/qdscr_parser.o \
parser/xml_parser.o \
parser/xml_tag_buffer.o \
More information about the Scummvm-git-logs
mailing list