aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorTravis Howell2006-10-04 13:29:14 +0000
committerTravis Howell2006-10-04 13:29:14 +0000
commita66907e27605c6175b6e8a52623e796bb98fdcbe (patch)
tree4f2d7d0c0249800572d8b9a1e9d9403a123a23f5 /engines
parent1dd23850ecc2f3b20f07b6ef0f2b94be4b9b0393 (diff)
downloadscummvm-rg350-a66907e27605c6175b6e8a52623e796bb98fdcbe.tar.gz
scummvm-rg350-a66907e27605c6175b6e8a52623e796bb98fdcbe.tar.bz2
scummvm-rg350-a66907e27605c6175b6e8a52623e796bb98fdcbe.zip
Fix dumping of complete video script output
svn-id: r24112
Diffstat (limited to 'engines')
-rw-r--r--engines/agos/agos.cpp11
-rw-r--r--engines/agos/vga.cpp11
2 files changed, 20 insertions, 2 deletions
diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp
index 92eb3e8a1a..a62dc86cee 100644
--- a/engines/agos/agos.cpp
+++ b/engines/agos/agos.cpp
@@ -1623,6 +1623,16 @@ void AGOSEngine::set_video_mode_internal(uint16 mode, uint16 vga_res_id) {
assert(READ_BE_UINT16(&((ImageHeader_WW *) b)->id) == vga_res_id);
}
+ if (_startVgaScript) {
+ if (getGameType() == GType_FF || getGameType() == GType_PP) {
+ dump_vga_script(_curVgaFile1 + READ_LE_UINT16(&((ImageHeader_Feeble*)b)->scriptOffs), num, vga_res_id);
+ } else if (getGameType() == GType_SIMON1 || getGameType() == GType_SIMON2) {
+ dump_vga_script(_curVgaFile1 + READ_BE_UINT16(&((ImageHeader_Simon*)b)->scriptOffs), num, vga_res_id);
+ } else {
+ dump_vga_script(_curVgaFile1 + READ_BE_UINT16(&((ImageHeader_WW*)b)->scriptOffs), num, vga_res_id);
+ }
+ }
+
if (getGameType() == GType_SIMON1) {
if (vga_res_id == 16300) {
clearBackFromTop(134);
@@ -1654,7 +1664,6 @@ void AGOSEngine::set_video_mode_internal(uint16 mode, uint16 vga_res_id) {
_vcPtr = _curVgaFile1 + READ_BE_UINT16(&((ImageHeader_WW *) b)->scriptOffs);
}
- //dump_vga_script(_vcPtr, num, vga_res_id);
runVgaScript();
_vcPtr = vc_ptr_org;
diff --git a/engines/agos/vga.cpp b/engines/agos/vga.cpp
index bc50d86758..fac6b817d7 100644
--- a/engines/agos/vga.cpp
+++ b/engines/agos/vga.cpp
@@ -480,6 +480,16 @@ void AGOSEngine::vc2_call() {
assert(READ_BE_UINT16(&((ImageHeader_WW *) b)->id) == num);
}
+ if (_startVgaScript) {
+ if (getGameType() == GType_FF || getGameType() == GType_PP) {
+ dump_vga_script(_curVgaFile1 + READ_LE_UINT16(&((ImageHeader_Feeble*)b)->scriptOffs), res, num);
+ } else if (getGameType() == GType_SIMON1 || getGameType() == GType_SIMON2) {
+ dump_vga_script(_curVgaFile1 + READ_BE_UINT16(&((ImageHeader_Simon*)b)->scriptOffs), res, num);
+ } else {
+ dump_vga_script(_curVgaFile1 + READ_BE_UINT16(&((ImageHeader_WW*)b)->scriptOffs), res, num);
+ }
+ }
+
vcPtrOrg = _vcPtr;
if (getGameType() == GType_FF || getGameType() == GType_PP) {
@@ -490,7 +500,6 @@ void AGOSEngine::vc2_call() {
_vcPtr = _curVgaFile1 + READ_BE_UINT16(&((ImageHeader_WW *) b)->scriptOffs);
}
- //dump_vga_script(_vcPtr, res, num);
runVgaScript();
_curVgaFile1 = old_file_1;