aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/mohawk/cursors.cpp12
-rw-r--r--engines/mohawk/detection.cpp3
-rw-r--r--engines/mohawk/detection_tables.h21
-rw-r--r--engines/mohawk/livingbooks.cpp7
-rw-r--r--engines/mohawk/livingbooks.h3
-rw-r--r--engines/mohawk/mohawk.h1
6 files changed, 35 insertions, 12 deletions
diff --git a/engines/mohawk/cursors.cpp b/engines/mohawk/cursors.cpp
index c7288ab0c3..675f2d86bb 100644
--- a/engines/mohawk/cursors.cpp
+++ b/engines/mohawk/cursors.cpp
@@ -310,12 +310,14 @@ void NECursorManager::setCursor(uint16 id) {
}
MacCursorManager::MacCursorManager(const Common::String &appName) {
- _resFork = new Common::MacResManager();
+ if (!appName.empty()) {
+ _resFork = new Common::MacResManager();
- if (!_resFork->open(appName)) {
- // Not all have cursors anyway, so this is not a problem
- delete _resFork;
- _resFork = 0;
+ if (!_resFork->open(appName)) {
+ // Not all have cursors anyway, so this is not a problem
+ delete _resFork;
+ _resFork = 0;
+ }
}
}
diff --git a/engines/mohawk/detection.cpp b/engines/mohawk/detection.cpp
index 270f66fdfe..d5baa0f73e 100644
--- a/engines/mohawk/detection.cpp
+++ b/engines/mohawk/detection.cpp
@@ -105,7 +105,7 @@ static const PlainGameDescriptor mohawkGames[] = {
{"zoombini", "Logical Journey of the Zoombinis Deluxe"},
{"csworld", "Where in the World is Carmen Sandiego?"},
{"csamtrak", "Where in America is Carmen Sandiego? (The Great Amtrak Train Adventure)"},
- {"maggiess", "Maggie's Farmyard Adventure"},
+ {"maggiesfa", "Maggie's Farmyard Adventure"},
{"jamesmath", "James Discovers/Explores Math"},
{"treehouse", "The Treehouse"},
{"greeneggs", "Green Eggs and Ham"},
@@ -234,7 +234,6 @@ bool MohawkMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGa
case Mohawk::GType_ZOOMBINI:
case Mohawk::GType_CSWORLD:
case Mohawk::GType_CSAMTRAK:
- case Mohawk::GType_MAGGIESS:
case Mohawk::GType_JAMESMATH:
case Mohawk::GType_TREEHOUSE:
case Mohawk::GType_1STDEGREE:
diff --git a/engines/mohawk/detection_tables.h b/engines/mohawk/detection_tables.h
index 2b042a70ca..401383e164 100644
--- a/engines/mohawk/detection_tables.h
+++ b/engines/mohawk/detection_tables.h
@@ -449,15 +449,30 @@ static const MohawkGameDescription gameDescriptions[] = {
{
{
- "maggiess",
+ "maggiesfa",
"",
- AD_ENTRY1("MAGGIESS.MHK", "08f75fc8c0390e68fdada5ddb35d0355"),
+ AD_ENTRY1("Outline", "b7dc6e65fa9e80784a5bb8b557aa37c4"),
Common::EN_ANY,
Common::kPlatformWindows,
ADGF_NO_FLAGS,
Common::GUIO_NONE
},
- GType_MAGGIESS,
+ GType_LIVINGBOOKSV3,
+ 0,
+ 0
+ },
+
+ {
+ {
+ "maggiesfa",
+ "",
+ AD_ENTRY1("BookOutline", "1ce006d7daaa26cf61040203856b88f1"),
+ Common::EN_ANY,
+ Common::kPlatformMacintosh,
+ ADGF_NO_FLAGS,
+ Common::GUIO_NONE
+ },
+ GType_LIVINGBOOKSV3,
0,
0
},
diff --git a/engines/mohawk/livingbooks.cpp b/engines/mohawk/livingbooks.cpp
index fa3db1d316..506586794d 100644
--- a/engines/mohawk/livingbooks.cpp
+++ b/engines/mohawk/livingbooks.cpp
@@ -1076,6 +1076,13 @@ NodeState LBAnimationNode::update(bool seeking) {
}
break;
+ case kLBAnimOpUnknownF:
+ // TODO: Found in maggiesfa
+ // Seems to always be a uint32 as the data
+ assert(entry.size == 4);
+ warning("f: UnknownF(%d)", READ_BE_UINT32(entry.data));
+ break;
+
default:
error("Unknown opcode id %02x (size %d)", entry.opcode, entry.size);
break;
diff --git a/engines/mohawk/livingbooks.h b/engines/mohawk/livingbooks.h
index 0ad99e00df..c297a26eac 100644
--- a/engines/mohawk/livingbooks.h
+++ b/engines/mohawk/livingbooks.h
@@ -80,7 +80,8 @@ enum {
kLBAnimOpWaitForSound = 0xb,
kLBAnimOpReleaseSound = 0xc,
kLBAnimOpResetSound = 0xd,
- kLBAnimOpUnknownE = 0xe
+ kLBAnimOpUnknownE = 0xe,
+ kLBAnimOpUnknownF = 0xf
};
enum {
diff --git a/engines/mohawk/mohawk.h b/engines/mohawk/mohawk.h
index a1027ce066..83e2566a09 100644
--- a/engines/mohawk/mohawk.h
+++ b/engines/mohawk/mohawk.h
@@ -55,7 +55,6 @@ enum MohawkGameType {
GType_ZOOMBINI,
GType_CSWORLD,
GType_CSAMTRAK,
- GType_MAGGIESS,
GType_JAMESMATH,
GType_TREEHOUSE,
GType_1STDEGREE,