[Scummvm-git-logs] scummvm master -> 6120e49575ecb1ebbc7f1695cf6551b2f362c133
sev-
noreply at scummvm.org
Wed Oct 30 00:08:33 UTC 2024
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
4054c6baea QDENGINE: Dump condutions in human-readable form in XML
6120e49575 QDENGINE: More human-readable flags in XML output
Commit: 4054c6baea82e2109d11e14c445b0acffe8f58d2
https://github.com/scummvm/scummvm/commit/4054c6baea82e2109d11e14c445b0acffe8f58d2
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-30T01:08:20+01:00
Commit Message:
QDENGINE: Dump condutions in human-readable form in XML
Changed paths:
engines/qdengine/qdcore/qd_condition_group.cpp
engines/qdengine/qdcore/qd_conditional_object.cpp
diff --git a/engines/qdengine/qdcore/qd_condition_group.cpp b/engines/qdengine/qdcore/qd_condition_group.cpp
index 37e5ae433ab..9418352f7ff 100644
--- a/engines/qdengine/qdcore/qd_condition_group.cpp
+++ b/engines/qdengine/qdcore/qd_condition_group.cpp
@@ -19,6 +19,8 @@
*
*/
+#include "common/debug.h"
+
#include "qdengine/qd_fwd.h"
#include "qdengine/parser/qdscr_parser.h"
#include "qdengine/parser/xml_tag_buffer.h"
@@ -87,7 +89,11 @@ bool qdConditionGroup::save_script(Common::WriteStream &fh, int indent) const {
}
fh.writeString("<condition_group");
- fh.writeString(Common::String::format(" type=\"%d\"", (int)_conditions_mode));
+ if (debugChannelSet(-1, kDebugLog))
+ fh.writeString(Common::String::format(" type=\"%s\"", _conditions_mode == CONDITIONS_AND ? "CONDITIONS_AND" : "CONDITIONS_OR"));
+ else
+ fh.writeString(Common::String::format(" type=\"%d\"", (int)_conditions_mode));
+
fh.writeString(">");
fh.writeString(Common::String::format("%u", _conditions.size()));
diff --git a/engines/qdengine/qdcore/qd_conditional_object.cpp b/engines/qdengine/qdcore/qd_conditional_object.cpp
index 3dea2c3e1c4..417e938ae85 100644
--- a/engines/qdengine/qdcore/qd_conditional_object.cpp
+++ b/engines/qdengine/qdcore/qd_conditional_object.cpp
@@ -181,7 +181,10 @@ bool qdConditionalObject::save_conditions_script(Common::WriteStream &fh, int in
fh.writeString("\t");
}
- fh.writeString(Common::String::format("<conditions_mode>%d</conditions_mode>\r\n", _conditions_mode));
+ if (debugChannelSet(-1, kDebugLog))
+ fh.writeString(Common::String::format("<conditions_mode>%s</conditions_mode>\r\n", _conditions_mode == CONDITIONS_AND ? "CONDITIONS_AND" : "CONDITIONS_OR"));
+ else
+ fh.writeString(Common::String::format("<conditions_mode>%d</conditions_mode>\r\n", _conditions_mode));
}
for (auto &it : _condition_groups) {
Commit: 6120e49575ecb1ebbc7f1695cf6551b2f362c133
https://github.com/scummvm/scummvm/commit/6120e49575ecb1ebbc7f1695cf6551b2f362c133
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-30T01:08:20+01:00
Commit Message:
QDENGINE: More human-readable flags in XML output
Changed paths:
engines/qdengine/qdcore/qd_coords_animation.cpp
engines/qdengine/qdcore/qd_coords_animation.h
engines/qdengine/qdcore/qd_game_dispatcher.cpp
engines/qdengine/qdcore/qd_game_object.cpp
diff --git a/engines/qdengine/qdcore/qd_coords_animation.cpp b/engines/qdengine/qdcore/qd_coords_animation.cpp
index ab81315aacc..7a9722fbd31 100644
--- a/engines/qdengine/qdcore/qd_coords_animation.cpp
+++ b/engines/qdengine/qdcore/qd_coords_animation.cpp
@@ -282,7 +282,11 @@ bool qdCoordsAnimation::save_script(Common::WriteStream &fh, int indent) const {
for (int i = 0; i <= indent; i++) {
fh.writeString("\t");
}
- fh.writeString(Common::String::format("<flag>%d</flag>\r\n", flags()));
+
+ if (debugChannelSet(-1, kDebugLog))
+ fh.writeString(Common::String::format("<flag>%s</flag>\r\n", flag2str(flags()).c_str()));
+ else
+ fh.writeString(Common::String::format("<flag>%d</flag>\r\n", flags()));
}
if (NULL != _start_object) {
@@ -477,4 +481,36 @@ bool qdCoordsAnimation::save_data(Common::WriteStream &fh) const {
debugC(4, kDebugSave, " qdCoordsAnimation::save_data(): after: %d", (int)fh.pos());
return true;
}
+
+#define defFlag(x) { x, #x }
+
+struct FlagsList {
+ int f;
+ const char *s;
+} static flagList[] = {
+ defFlag(QD_COORDS_ANM_OBJECT_START_FLAG),
+ defFlag(QD_COORDS_ANM_LOOP_FLAG),
+ defFlag(QD_COORDS_ANM_RELATIVE_FLAG),
+};
+
+Common::String qdCoordsAnimation::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_coords_animation.h b/engines/qdengine/qdcore/qd_coords_animation.h
index dbd2fbc919a..7c63f93c493 100644
--- a/engines/qdengine/qdcore/qd_coords_animation.h
+++ b/engines/qdengine/qdcore/qd_coords_animation.h
@@ -129,6 +129,8 @@ public:
//! ÐапиÑÑ Ð´Ð°Ð½Ð½ÑÑ
в ÑÑйв.
bool save_data(Common::WriteStream &fh) const;
+ Common::String flag2str(int flags) const;
+
private:
qdCoordsAnimationType _type;
diff --git a/engines/qdengine/qdcore/qd_game_dispatcher.cpp b/engines/qdengine/qdcore/qd_game_dispatcher.cpp
index 8e722c6fa13..dc7ca96a425 100644
--- a/engines/qdengine/qdcore/qd_game_dispatcher.cpp
+++ b/engines/qdengine/qdcore/qd_game_dispatcher.cpp
@@ -1649,6 +1649,7 @@ bool qdGameDispatcher::check_condition(qdCondition *cnd) {
}
return false;
case qdCondition::CONDITION_KEYPRESS: {
+ warning("**** CONDITION_KEYPRESS");
int vkey;
if (!cnd->get_value(0, vkey)) return false;
return keyboardDispatcher::instance()->is_pressed(vkey);
diff --git a/engines/qdengine/qdcore/qd_game_object.cpp b/engines/qdengine/qdcore/qd_game_object.cpp
index 2835d9b300f..029028b7c1d 100644
--- a/engines/qdengine/qdcore/qd_game_object.cpp
+++ b/engines/qdengine/qdcore/qd_game_object.cpp
@@ -107,7 +107,11 @@ bool qdGameObject::save_script_body(Common::WriteStream &fh, int indent) const {
for (int i = 0; i <= indent; i++) {
fh.writeString("\t");
}
- fh.writeString(Common::String::format("<flag>%d</flag>\r\n", flags()));
+
+ if (debugChannelSet(-1, kDebugLog))
+ fh.writeString(Common::String::format("<flag>%s</flag>\r\n", flag2str(flags()).c_str()));
+ else
+ fh.writeString(Common::String::format("<flag>%d</flag>\r\n", flags()));
}
return true;
More information about the Scummvm-git-logs
mailing list