Add initial support for KQ6 Mac. Wrapper functions for read/writing to pointers are now used (found in util.*) for code that has different endianness in SCI1.1+ Mac games. Add support for Mac 'snd ' and 'CURS' resources. QFG1 Mac is not yet playable due to script compression.

svn-id: r49070
This commit is contained in:
Matthew Hoops 2010-05-18 04:17:58 +00:00
parent 0fe2ba6a0d
commit 3dda73d9a2
18 changed files with 404 additions and 180 deletions

View file

@ -335,9 +335,9 @@ SciKernelFunction kfunct_mappers[] = {
DEFUN("Intersections", kIntersections, "iiiiriiiri"),
DEFUN("ResCheck", kResCheck, "iii*"),
DEFUN("SetQuitStr", kSetQuitStr, "r"),
DEFUN("ShowMovie", kShowMovie, "..*"),
DEFUN("ShowMovie", kShowMovie, ".*"),
DEFUN("SetVideoMode", kSetVideoMode, "i"),
DEFUN("Platform", kPlatform, "i*"),
DEFUN("Platform", kPlatform, "i.*"),
DEFUN("TextColors", kTextColors, ".*"),
DEFUN("TextFonts", kTextFonts, ".*"),
DEFUN("Portrait", kPortrait, ".*"),
@ -757,10 +757,16 @@ void Kernel::setDefaultKernelNames(Common::String gameId) {
break;
case SCI_VERSION_1_1:
// In KQ6CD, the empty kSetSynonyms function has been replaced
// with kPortrait
if (gameId == "kq6")
_kernelNames[0x26] = "Portrait";
// In KQ6 CD, the empty kSetSynonyms function has been replaced
// with kPortrait. In KQ6 Mac, kPlayBack has been replaced by
// kShowMovie.
if (gameId == "kq6") {
if (g_sci->getPlatform() == Common::kPlatformMacintosh)
_kernelNames[0x84] = "ShowMovie";
else
_kernelNames[0x26] = "Portrait";
}
_kernelNames[0x71] = "PalVary";
_kernelNames[0x7c] = "Message";
break;