aboutsummaryrefslogtreecommitdiff
path: root/scumm/scumm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/scumm.cpp')
-rw-r--r--scumm/scumm.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp
index c43ca59122..67fd8a842d 100644
--- a/scumm/scumm.cpp
+++ b/scumm/scumm.cpp
@@ -1009,6 +1009,27 @@ void ScummEngine::go() {
void ScummEngine::launch() {
+ // The mac versions of Sam&Max and DOTT use a special container file to
+ // store the actual SCUMM data files. The rescumm utility used to be used
+ // to extract those files. While that is still possible, we now support
+ // reading those files directly. The first step is to check whether one
+ // of them is present (what we do here); the rest is handled by the
+ // ScummFile class and code in openResourceFile() (and in the Sound class,
+ // for MONSTER.SOU handling).
+ if (_gameId == GID_SAMNMAX) {
+ const char *samDataFile = "Sam & Max Data";
+ if (_fileHandle.open(samDataFile)) {
+ _containerFile = samDataFile;
+ }
+ }
+ if (_gameId == GID_TENTACLE) {
+ const char *dottDataFile = "Day of the Tentacle Data";
+ if (_fileHandle.open(dottDataFile)) {
+ _containerFile = dottDataFile;
+ }
+ }
+
+
#ifdef __PALM_OS__
if (_features & GF_NEW_COSTUMES)
_maxHeapThreshold = gVars->memory[kMemScummNewCostGames];