[Scummvm-git-logs] scummvm master -> e9695c57af855153647cf5acc332949b5217e6a2
sev-
noreply at scummvm.org
Sat May 25 00:32:31 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:
e9695c57af DIRECTOR: DEBUGGER: Rearranged Vars window
Commit: e9695c57af855153647cf5acc332949b5217e6a2
https://github.com/scummvm/scummvm/commit/e9695c57af855153647cf5acc332949b5217e6a2
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-05-25T02:31:36+02:00
Commit Message:
DIRECTOR: DEBUGGER: Rearranged Vars window
Put all variables into collapsable groups and
moved Global vars to the very top
Changed paths:
engines/director/debugtools.cpp
diff --git a/engines/director/debugtools.cpp b/engines/director/debugtools.cpp
index cc074b4950d..ba6ea852673 100644
--- a/engines/director/debugtools.cpp
+++ b/engines/director/debugtools.cpp
@@ -2163,53 +2163,55 @@ static void showVars() {
ImGui::SetNextWindowSize(ImVec2(300, 250), ImGuiCond_FirstUseEver);
if (ImGui::Begin("Vars", &_state->_w.vars)) {
Common::Array<Common::String> keyBuffer;
- const ImVec4 head_color = ImVec4(0.9f, 0.08f, 0.0f, 1.0f);
- ImGui::TextColored(head_color, "Local vars:");
- if (!_state->_vars._locals.empty()) {
- for (auto &it : _state->_vars._locals) {
+ if (ImGui::CollapsingHeader("Global vars:", ImGuiTreeNodeFlags_DefaultOpen)) {
+ for (auto &it : _state->_vars._globals) {
keyBuffer.push_back(it._key);
}
Common::sort(keyBuffer.begin(), keyBuffer.end());
for (auto &i : keyBuffer) {
- Datum &val = _state->_vars._locals.getVal(i);
+ Datum &val = _state->_vars._globals.getVal(i);
displayVariable(i);
ImGui::SameLine();
ImGui::Text(" - [%s] %s", val.type2str(), formatStringForDump(val.asString(true)).c_str());
}
keyBuffer.clear();
- } else {
- ImGui::Text(" (no local vars)");
}
-
- if (lingo->_state->me.type == OBJECT && lingo->_state->me.u.obj->getObjType() & (kFactoryObj | kScriptObj)) {
- ScriptContext *script = static_cast<ScriptContext *>(lingo->_state->me.u.obj);
- ImGui::TextColored(head_color, "Instance/property vars:");
- for (uint32 i = 1; i <= script->getPropCount(); i++) {
- keyBuffer.push_back(script->getPropAt(i));
- }
- Common::sort(keyBuffer.begin(), keyBuffer.end());
- for (auto &i : keyBuffer) {
- Datum val = script->getProp(i);
- displayVariable(i);
- ImGui::SameLine();
- ImGui::Text(" - [%s] %s", val.type2str(), formatStringForDump(val.asString(true)).c_str());
+ if (ImGui::CollapsingHeader("Local vars:", ImGuiTreeNodeFlags_None)) {
+ if (!_state->_vars._locals.empty()) {
+ for (auto &it : _state->_vars._locals) {
+ keyBuffer.push_back(it._key);
+ }
+ Common::sort(keyBuffer.begin(), keyBuffer.end());
+ for (auto &i : keyBuffer) {
+ Datum &val = _state->_vars._locals.getVal(i);
+ displayVariable(i);
+ ImGui::SameLine();
+ ImGui::Text(" - [%s] %s", val.type2str(), formatStringForDump(val.asString(true)).c_str());
+ }
+ keyBuffer.clear();
+ } else {
+ ImGui::Text(" (no local vars)");
}
- keyBuffer.clear();
}
-
- ImGui::TextColored(head_color, "Global vars:");
- for (auto &it : _state->_vars._globals) {
- keyBuffer.push_back(it._key);
- }
- Common::sort(keyBuffer.begin(), keyBuffer.end());
- for (auto &i : keyBuffer) {
- Datum &val = _state->_vars._globals.getVal(i);
- displayVariable(i);
- ImGui::SameLine();
- ImGui::Text(" - [%s] %s", val.type2str(), formatStringForDump(val.asString(true)).c_str());
+ if (ImGui::CollapsingHeader("Instance/property vars:", ImGuiTreeNodeFlags_None)) {
+ if (lingo->_state->me.type == OBJECT && lingo->_state->me.u.obj->getObjType() & (kFactoryObj | kScriptObj)) {
+ ScriptContext *script = static_cast<ScriptContext *>(lingo->_state->me.u.obj);
+ for (uint32 i = 1; i <= script->getPropCount(); i++) {
+ keyBuffer.push_back(script->getPropAt(i));
+ }
+ Common::sort(keyBuffer.begin(), keyBuffer.end());
+ for (auto &i : keyBuffer) {
+ Datum val = script->getProp(i);
+ displayVariable(i);
+ ImGui::SameLine();
+ ImGui::Text(" - [%s] %s", val.type2str(), formatStringForDump(val.asString(true)).c_str());
+ }
+ keyBuffer.clear();
+ } else {
+ ImGui::Text(" (no instance or property)");
+ }
}
- keyBuffer.clear();
}
ImGui::End();
}
More information about the Scummvm-git-logs
mailing list