[Scummvm-git-logs] scummvm master -> 5caf8f2185fe3cc02a09faba6369910b92a5eed8
sev-
noreply at scummvm.org
Thu Aug 22 21:24:06 UTC 2024
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
593daa4746 QDENGINE: Fixes for Amiga build
560769524b QDENINGE: Added possibility to print qdGameObject flags in human-readable form
5caf8f2185 QDENGINE: Added more debug output
Commit: 593daa474699c26efe8dd92775bf0893a0b1dcbb
https://github.com/scummvm/scummvm/commit/593daa474699c26efe8dd92775bf0893a0b1dcbb
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-08-22T23:20:25+02:00
Commit Message:
QDENGINE: Fixes for Amiga build
Changed paths:
engines/qdengine/qdengine.h
diff --git a/engines/qdengine/qdengine.h b/engines/qdengine/qdengine.h
index a26eca6a1b4..e08481c1da5 100644
--- a/engines/qdengine/qdengine.h
+++ b/engines/qdengine/qdengine.h
@@ -67,8 +67,8 @@ public:
Graphics::PixelFormat _pixelformat;
int _tagMap[QDSCR_MAX_KEYWORD_ID];
- int32 _screenW;
- int32 _screenH;
+ int _screenW;
+ int _screenH;
public:
QDEngineEngine(OSystem *syst, const ADGameDescription *gameDesc);
~QDEngineEngine() override;
Commit: 560769524b56e00230cebec0974bcec1857a5a44
https://github.com/scummvm/scummvm/commit/560769524b56e00230cebec0974bcec1857a5a44
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-08-22T23:22:33+02:00
Commit Message:
QDENINGE: Added possibility to print qdGameObject flags in human-readable form
Changed paths:
engines/qdengine/qdcore/qd_game_object.cpp
engines/qdengine/qdcore/qd_game_object.h
engines/qdengine/qdcore/qd_game_object_state.cpp
diff --git a/engines/qdengine/qdcore/qd_game_object.cpp b/engines/qdengine/qdcore/qd_game_object.cpp
index 2146102a1ae..ff3fa1383f6 100644
--- a/engines/qdengine/qdcore/qd_game_object.cpp
+++ b/engines/qdengine/qdcore/qd_game_object.cpp
@@ -185,4 +185,47 @@ bool qdGameObject::init() {
return true;
}
+#define defFlag(x) { x, #x }
+
+struct FlagsList {
+ int f;
+ const char *s;
+} static flagList[] = {
+ defFlag(QD_OBJ_MOVING_FLAG),
+ defFlag(QD_OBJ_HIDDEN_FLAG),
+ defFlag(QD_OBJ_INVERSE_PERSPECTIVE_FLAG),
+ defFlag(QD_OBJ_SHOW_NAME_FLAG),
+ defFlag(QD_OBJ_NO_SCALE_FLAG),
+ defFlag(QD_OBJ_SCREEN_COORDS_FLAG),
+ defFlag(QD_OBJ_NON_PLAYER_PERSONAGE_FLAG),
+ defFlag(QD_OBJ_HAS_BOUND_FLAG),
+ defFlag(QD_OBJ_DISABLE_MOVEMENT_FLAG),
+ defFlag(QD_OBJ_DISABLE_MOUSE_FLAG),
+ defFlag(QD_OBJ_IS_IN_TRIGGER_FLAG),
+ defFlag(QD_OBJ_STATE_CHANGE_FLAG),
+ defFlag(QD_OBJ_IS_IN_INVENTORY_FLAG),
+ defFlag(QD_OBJ_KEYBOARD_CONTROL_FLAG),
+ defFlag(QD_OBJ_FIXED_SCREEN_COORDS_FLAG),
+};
+
+Common::String qdGameObject::flag2str(int fl) const {
+ Common::String res;
+
+ for (int i = 0; i < ARRAYSIZE(flagList); i++) {
+ if (fl & flagList[i].f) {
+ if (!res.empty())
+ res += " | ";
+
+ res += flagList[i].s;
+
+ fl &= ~flagList[i].f;
+ }
+ }
+
+ if (fl)
+ res += Common::String::format(" | %x", fl);
+
+ return res;
+}
+
} // namespace QDEngine
diff --git a/engines/qdengine/qdcore/qd_game_object.h b/engines/qdengine/qdcore/qd_game_object.h
index e20d208832a..fae37a9d9f8 100644
--- a/engines/qdengine/qdcore/qd_game_object.h
+++ b/engines/qdengine/qdcore/qd_game_object.h
@@ -156,6 +156,8 @@ public:
void setTempPosInList(uint pos) { _tempPosInList = pos; }
uint tempPosInList() const { return _tempPosInList; }
+ Common::String flag2str(int flags) const;
+
protected:
virtual bool load_script_body(const xml::tag *p);
diff --git a/engines/qdengine/qdcore/qd_game_object_state.cpp b/engines/qdengine/qdcore/qd_game_object_state.cpp
index ed34852f09b..01086bb6b8f 100644
--- a/engines/qdengine/qdcore/qd_game_object_state.cpp
+++ b/engines/qdengine/qdcore/qd_game_object_state.cpp
@@ -233,7 +233,7 @@ bool qdGameObjectState::is_default() const {
struct FlagsList {
int f;
const char *s;
-} flagList[] = {
+} static flagList[] = {
defFlag(QD_OBJ_STATE_FLAG_HIDDEN),
defFlag(QD_OBJ_STATE_FLAG_NOT_IN_TRIGGERS),
defFlag(QD_OBJ_STATE_FLAG_RESTORE_PREV_STATE),
Commit: 5caf8f2185fe3cc02a09faba6369910b92a5eed8
https://github.com/scummvm/scummvm/commit/5caf8f2185fe3cc02a09faba6369910b92a5eed8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-08-22T23:23:47+02:00
Commit Message:
QDENGINE: Added more debug output
Changed paths:
engines/qdengine/qdcore/qd_game_object_animated.cpp
diff --git a/engines/qdengine/qdcore/qd_game_object_animated.cpp b/engines/qdengine/qdcore/qd_game_object_animated.cpp
index 0b281e97c5d..3e049135884 100644
--- a/engines/qdengine/qdcore/qd_game_object_animated.cpp
+++ b/engines/qdengine/qdcore/qd_game_object_animated.cpp
@@ -258,6 +258,8 @@ void qdGameObjectAnimated::quant(float dt) {
for (qdGameObjectStateVector::iterator it = _states.begin(); it != _states.end(); ++it)
(*it)->quant(dt);
+ debugC(1, kDebugQuant, "qdGameObjectAnimated::quant(): obj: '%s', state: %d flags: %s", transCyrillic(name()), _cur_state, flag2str(flags()).c_str());
+
if (_cur_state != -1) {
if (!_states[_cur_state]->coords_animation()->is_empty())
_states[_cur_state]->coords_animation()->quant(dt);
More information about the Scummvm-git-logs
mailing list