aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/debug.cpp
diff options
context:
space:
mode:
authorTravis Howell2009-03-08 08:45:21 +0000
committerTravis Howell2009-03-08 08:45:21 +0000
commit2620d6836c001f2f295cb6efd6beab78f5a3c50f (patch)
tree81d5055b74abfc7b0be105bee13b39e6505fce91 /engines/agos/debug.cpp
parent7bfab75a0814d0655a2504bf4c461df0000da0e4 (diff)
downloadscummvm-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.cpp22
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;