diff options
author | Travis Howell | 2009-03-08 08:45:21 +0000 |
---|---|---|
committer | Travis Howell | 2009-03-08 08:45:21 +0000 |
commit | 2620d6836c001f2f295cb6efd6beab78f5a3c50f (patch) | |
tree | 81d5055b74abfc7b0be105bee13b39e6505fce91 /engines/agos/debug.cpp | |
parent | 7bfab75a0814d0655a2504bf4c461df0000da0e4 (diff) | |
download | scummvm-rg350-2620d6836c001f2f295cb6efd6beab78f5a3c50f.tar.gz scummvm-rg350-2620d6836c001f2f295cb6efd6beab78f5a3c50f.tar.bz2 scummvm-rg350-2620d6836c001f2f295cb6efd6beab78f5a3c50f.zip |
Add initial support for Personal Nightmare.
Thanks to dreammaster for file decompression and icon decoding code.
NOTE: setjmp/longjmp code will require conversion for portability.
svn-id: r39216
Diffstat (limited to 'engines/agos/debug.cpp')
-rw-r--r-- | engines/agos/debug.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/engines/agos/debug.cpp b/engines/agos/debug.cpp index 069af828c3..0959d48e07 100644 --- a/engines/agos/debug.cpp +++ b/engines/agos/debug.cpp @@ -231,8 +231,10 @@ void AGOSEngine::dumpVideoScript(const byte *src, bool singeOpcode) { strn = str = simon1_videoOpcodeNameTable[opcode]; } else if (getGameType() == GType_ELVIRA2 || getGameType() == GType_WW) { strn = str = ww_videoOpcodeNameTable[opcode]; - } else { + } else if (getGameType() == GType_ELVIRA1) { strn = str = elvira1_videoOpcodeNameTable[opcode]; + } else { + strn = str = pn_videoOpcodeNameTable[opcode]; } if (strn == NULL) { @@ -295,6 +297,24 @@ void AGOSEngine::dumpVgaScriptAlways(const byte *ptr, uint16 res, uint16 id) { printf("; end\n"); } +void AGOSEngine::dumpAllVgaFiles() { + uint8 start = (getGameType() == GType_PN) ? 0 : 2; + uint8 end = (getGameType() == GType_PN) ? 26 : 450; + + for (int f = start; f < end; f++) { + uint16 zoneNum = (getGameType() == GType_PN) ? 0 : f; + loadZone(f, false); + + VgaPointersEntry *vpe = &_vgaBufferPointers[zoneNum]; + if (vpe->vgaFile1 != NULL) { + _curVgaFile1 = vpe->vgaFile1; + dumpVgaFile(_curVgaFile1); + } + } + + error("Complete"); +} + void AGOSEngine_Feeble::dumpVgaFile(const byte *vga) { const byte *pp; const byte *p; |