aboutsummaryrefslogtreecommitdiff
path: root/engines/director/lingo
diff options
context:
space:
mode:
authorEugene Sandulenko2016-08-19 09:20:32 +0200
committerEugene Sandulenko2016-08-19 09:55:22 +0200
commit2074fad2cf48e901d3cacccad200d13e88487f82 (patch)
tree36a4d36c281810261e60931e65686867a8acc857 /engines/director/lingo
parentcd8415cfd6e51ef8ab2d4e51ddb4a120253e3b96 (diff)
downloadscummvm-rg350-2074fad2cf48e901d3cacccad200d13e88487f82.tar.gz
scummvm-rg350-2074fad2cf48e901d3cacccad200d13e88487f82.tar.bz2
scummvm-rg350-2074fad2cf48e901d3cacccad200d13e88487f82.zip
DIRECTOR: Lingo: Improved stack content trace
Diffstat (limited to 'engines/director/lingo')
-rw-r--r--engines/director/lingo/lingo-codegen.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/engines/director/lingo/lingo-codegen.cpp b/engines/director/lingo/lingo-codegen.cpp
index 44ae8e9492..3b7278488f 100644
--- a/engines/director/lingo/lingo-codegen.cpp
+++ b/engines/director/lingo/lingo-codegen.cpp
@@ -57,10 +57,14 @@ void Lingo::execute(int pc) {
debugC(1, kDebugLingoExec, "[%3d]: %s", _pc, instr.c_str());
+ Common::String stack("Stack: ");
+
for (uint i = 0; i < _stack.size(); i++) {
- debugCN(5, kDebugLingoExec, "%d ", _stack[i].u.i);
+ Datum d = _stack[i];
+ d.toString();
+ stack += Common::String::format("<%s> ", d.u.s->c_str());
}
- debugCN(5, kDebugLingoExec, "%s", "");
+ debugC(5, kDebugLingoExec, "%s", stack.c_str());
_pc++;
(*((*_currentScript)[_pc - 1]))();
@@ -78,7 +82,6 @@ Common::String Lingo::decodeInstruction(int pc) {
inst i;
while (*pars) {
- warning("--- %d of %d -- %s", pc, _currentScript->size(), res.c_str());
switch (*pars++) {
case 'i':
{