From d83438225e40f513a43b2c9b5d9b71a3afbc375e Mon Sep 17 00:00:00 2001 From: Robert Crossfield Date: Sun, 7 Dec 2014 19:53:27 +1100 Subject: SCUMM: Maniac V0: Add support for D64 Demo Disk, Cleanup duplicate 'Talk' array --- engines/scumm/file.cpp | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'engines/scumm/file.cpp') diff --git a/engines/scumm/file.cpp b/engines/scumm/file.cpp index 475ffa3238..7ead4c25b5 100644 --- a/engines/scumm/file.cpp +++ b/engines/scumm/file.cpp @@ -221,6 +221,15 @@ static const int maniacResourcesPerFile[55] = { 3, 10, 1, 0, 0 }; +static const int maniacDemoResourcesPerFile[55] = { + 0, 12, 0, 2, 1, 12, 1, 13, 6, 0, + 31, 0, 1, 0, 0, 0, 0, 1, 1, 1, + 0, 1, 0, 0, 2, 0, 0, 1, 0, 0, + 2, 7, 1, 11, 0, 0, 5, 1, 0, 0, + 1, 0, 1, 3, 4, 3, 1, 0, 0, 1, + 1, 2, 0, 0, 0 +}; + static const int zakResourcesPerFile[59] = { 0, 29, 12, 14, 13, 4, 4, 10, 7, 4, 14, 19, 5, 4, 7, 6, 11, 9, 4, 4, @@ -253,9 +262,17 @@ ScummDiskImage::ScummDiskImage(const char *disk1, const char *disk2, GameSetting _numGlobalObjects = 256; _numRooms = 55; _numCostumes = 25; - _numScripts = 160; - _numSounds = 70; - _resourcesPerFile = maniacResourcesPerFile; + + if (_game.features & GF_DEMO) { + _numScripts = 55; + _numSounds = 40; + _resourcesPerFile = maniacDemoResourcesPerFile; + } else { + _numScripts = 160; + _numSounds = 70; + _resourcesPerFile = maniacResourcesPerFile; + } + } else { _numGlobalObjects = 775; _numRooms = 59; @@ -327,6 +344,9 @@ bool ScummDiskImage::open(const Common::String &filename) { extractIndex(0); // Fill in resource arrays + if (_game.features & GF_DEMO) + return true; + openDisk(2); if (_game.platform == Common::kPlatformApple2GS) { -- cgit v1.2.3 From 962c8b4524f46bbc2394d7a80972db0a474221a3 Mon Sep 17 00:00:00 2001 From: Robert Crossfield Date: Mon, 8 Dec 2014 19:04:17 +1100 Subject: SCUMM: Maniac V0 Demo: Allow F7 to restart, Add handler for opcode 0x6e (o_screenPrepare) --- engines/scumm/file.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'engines/scumm/file.cpp') diff --git a/engines/scumm/file.cpp b/engines/scumm/file.cpp index 7ead4c25b5..96b46aa21a 100644 --- a/engines/scumm/file.cpp +++ b/engines/scumm/file.cpp @@ -227,7 +227,7 @@ static const int maniacDemoResourcesPerFile[55] = { 0, 1, 0, 0, 2, 0, 0, 1, 0, 0, 2, 7, 1, 11, 0, 0, 5, 1, 0, 0, 1, 0, 1, 3, 4, 3, 1, 0, 0, 1, - 1, 2, 0, 0, 0 + 2, 2, 0, 0, 0 }; static const int zakResourcesPerFile[59] = { -- cgit v1.2.3