From 2074fad2cf48e901d3cacccad200d13e88487f82 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Fri, 19 Aug 2016 09:20:32 +0200 Subject: DIRECTOR: Lingo: Improved stack content trace --- engines/director/lingo/lingo-codegen.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'engines/director/lingo') 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': { -- cgit v1.2.3