diff options
author | Marisa-Chan | 2014-06-13 21:43:04 +0700 |
---|---|---|
committer | Marisa-Chan | 2014-06-13 21:43:04 +0700 |
commit | 45589950c0fb1a449351e6a00ef10d42290d8bae (patch) | |
tree | 44e4eedcb7e69d5fc386155b000ed038af07251d /engines/agos/debug.cpp | |
parent | 48360645dcd5f8fddb135b6e31ae5cae4be8d77f (diff) | |
parent | 5c005ad3a3f1df0bc968c85c1cf0fc48e36ab0b2 (diff) | |
download | scummvm-rg350-45589950c0fb1a449351e6a00ef10d42290d8bae.tar.gz scummvm-rg350-45589950c0fb1a449351e6a00ef10d42290d8bae.tar.bz2 scummvm-rg350-45589950c0fb1a449351e6a00ef10d42290d8bae.zip |
Merge remote-tracking branch 'upstream/master' into zvision
Conflicts:
engines/zvision/animation/rlf_animation.cpp
engines/zvision/animation_control.h
engines/zvision/core/console.cpp
engines/zvision/core/events.cpp
engines/zvision/cursors/cursor.cpp
engines/zvision/cursors/cursor_manager.cpp
engines/zvision/cursors/cursor_manager.h
engines/zvision/fonts/truetype_font.cpp
engines/zvision/graphics/render_manager.cpp
engines/zvision/graphics/render_manager.h
engines/zvision/inventory/inventory_manager.h
engines/zvision/inventory_manager.h
engines/zvision/meta_animation.h
engines/zvision/module.mk
engines/zvision/scripting/actions.cpp
engines/zvision/scripting/control.h
engines/zvision/scripting/controls/animation_control.cpp
engines/zvision/scripting/controls/animation_control.h
engines/zvision/scripting/controls/input_control.cpp
engines/zvision/scripting/controls/lever_control.cpp
engines/zvision/scripting/controls/timer_node.cpp
engines/zvision/scripting/controls/timer_node.h
engines/zvision/scripting/puzzle.h
engines/zvision/scripting/scr_file_handling.cpp
engines/zvision/scripting/script_manager.cpp
engines/zvision/scripting/script_manager.h
engines/zvision/sidefx.cpp
engines/zvision/sound/zork_raw.cpp
engines/zvision/sound/zork_raw.h
engines/zvision/video/video.cpp
engines/zvision/video/zork_avi_decoder.h
engines/zvision/zvision.cpp
engines/zvision/zvision.h
Diffstat (limited to 'engines/agos/debug.cpp')
-rw-r--r-- | engines/agos/debug.cpp | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/engines/agos/debug.cpp b/engines/agos/debug.cpp index 841ac6bb1a..ad5bfb56f4 100644 --- a/engines/agos/debug.cpp +++ b/engines/agos/debug.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -101,7 +101,7 @@ const byte *AGOSEngine::dumpOpcode(const byte *p) { } case 'W':{ - int n = (int16)READ_BE_UINT16(p); + uint16 n = READ_BE_UINT16(p); p += 2; if (getGameType() == GType_PP) { if (n >= 60000 && n < 62048) @@ -222,14 +222,18 @@ void AGOSEngine::dumpVideoScript(const byte *src, bool singeOpcode) { error("dumpVideoScript: Opcode %d out of range (%d)", opcode, _numVideoOpcodes); } - if (getGameType() == GType_FF || getGameType() == GType_PP) { + if (getGameType() == GType_PP) { + strn = str = puzzlepack_videoOpcodeNameTable[opcode]; + } else if (getGameType() == GType_FF) { strn = str = feeblefiles_videoOpcodeNameTable[opcode]; } else if (getGameType() == GType_SIMON2) { strn = str = simon2_videoOpcodeNameTable[opcode]; } else if (getGameType() == GType_SIMON1) { strn = str = simon1_videoOpcodeNameTable[opcode]; - } else if (getGameType() == GType_ELVIRA2 || getGameType() == GType_WW) { + } else if (getGameType() == GType_WW) { strn = str = ww_videoOpcodeNameTable[opcode]; + } else if (getGameType() == GType_ELVIRA2) { + strn = str = elvira2_videoOpcodeNameTable[opcode]; } else if (getGameType() == GType_ELVIRA1) { strn = str = elvira1_videoOpcodeNameTable[opcode]; } else { @@ -250,25 +254,39 @@ void AGOSEngine::dumpVideoScript(const byte *src, bool singeOpcode) { case 'x': debugN("\n"); return; - case 'b': + case 'b': { debugN("%d ", *src++); break; - case 'd': + } + case 'w': { + int16 v = (int16)readUint16Wrapper(src); + src += 2; + if (v < 0) + debugN("[%d] ", -v); + else + debugN("%d ", v); + break; + } + case 'd': { debugN("%d ", (int16)readUint16Wrapper(src)); src += 2; break; - case 'v': + } + case 'v': { debugN("[%d] ", readUint16Wrapper(src)); src += 2; break; - case 'i': + } + case 'i': { debugN("%d ", (int16)readUint16Wrapper(src)); src += 2; break; - case 'j': + } + case 'j': { debugN("-> "); break; - case 'q': + } + case 'q': { while (readUint16Wrapper(src) != end) { debugN("(%d,%d) ", readUint16Wrapper(src), readUint16Wrapper(src + 2)); @@ -276,6 +294,7 @@ void AGOSEngine::dumpVideoScript(const byte *src, bool singeOpcode) { } src += 2; break; + } default: error("dumpVideoScript: Invalid fmt string '%c' in decompile VGA", *str); } |