Difference between revisions of "SCI/SCI32 Mac Support Status"

Jump to navigation Jump to search
Updates to TODO items and blockers
(Updated with kPlatform info and latest status)
(Updates to TODO items and blockers)
Line 13: Line 13:
==General TODOs==
==General TODOs==


* Fix "Failed to initialize sound driver!" error when loading SCI2.1+ games (see patch below for bypassing this)
* Fix screen items not being cleared when restoring
* Fix palette handling. Games either have corrupt palettes at startup or soon afterwards.
* Fix palette handling. Games either have corrupt palettes at startup or soon afterwards.
* Use correct kDoSound subop numbers. Mac versions of SCI2.1 Middle and later continue using older subop numbers.
* Implement support for Mac color cursors. They are currently black and white and not upscaled.
* Implement support for Mac color cursors. They are currently black and white and not upscaled.
* Implement kPlatform Mac subops for saving and restoring in KQ7, Shivers, Lighthouse, and Mother Goose.
* Implement kPlatform Mac subops for saving and restoring in KQ7, Shivers, Lighthouse, and Mother Goose.
Line 31: Line 28:
|GK1
|GK1
|
|
* Palette corruption after a while.
* Testing, the game is playable.
|-
|-
|KQ7
|KQ7
Line 40: Line 37:
|LSL6 HI-RES
|LSL6 HI-RES
|
|
* Palette corruption.
* Testing, the game is playable.
|-
|-
|PQ4
|PQ4
Line 49: Line 46:
|GK2
|GK2
|
|
* "Failed to initialize sound driver!"
* Palette corruption.
* Palette corruption.
* Video files don't play. VLC can't play the Mac videos. Possible endian issue.
* Out of bounds assertion when playing AIFF audio.
* Determine how to name/detect the multi-disc Data files
|-
|-
|HOYLE5
|HOYLE5
|
|
* "Failed to initialize sound driver!"
* Palette corruption.
* Wrong kDoSound subops.
|-
|-
|MOTHERGOOSE HI-RES
|MOTHERGOOSE HI-RES
|
|
* Requires kPlatform 0 6,7,8,9,10,11 subops for saving and loading, prevents booting
* Requires kPlatform 0 6,7,8,9,10,11 subops for saving and loading, prevents booting
* Palette corruption.
|-
|-
|PHANTASMAGORIA
|PHANTASMAGORIA
|
|
* "Failed to initialize sound driver!"
* Palette corruption.
* "kArrayFill signature mismatch"
* Out of bounds assertion when playing AIFF audio.
* Requires a kPlatform subop for setting music volume (see below)
* Determine how to name/detect the multi-disc Data files
|-
|-
|SHIVERS
|SHIVERS
|
|
* "Failed to initialize sound driver!"
* Wrong kDoSound subops.
* Requires kPlatform subops for saving and loading (see below)
* Requires kPlatform subops for saving and loading (see below)
|-
|-
|SQ6
|SQ6
|
|
* "Failed to initialize sound driver!"
* Palette corruption.
* Wrong kDoSound subops.
* Audio assertion when clicking a main menu item.
|-
|-
|TORIN
|TORIN
|
|
* "Failed to initialize sound driver!"
* Lip sync not animating, log reports missing sync resources
|-
|-
|LSL7
|LSL7
|
|
* "Failed to initialize sound driver!"
* Saving/restoring crashes, kScummVMSaveLoad script patch not applied correctly
|-
|-
|LIGHTHOUSE
|LIGHTHOUSE
|
|
* "Failed to initialize sound driver!"
* Lite:init errors
* Lite:init errors
* Requires kPlatform subops for saving and loading (see below)
* Requires kPlatform subops for saving and loading (see below)
* Determine how to name/detect the multi-disc Data files
|-
|-
|RAMA
|RAMA
|
|
* "Failed to initialize sound driver!"
* Determine how to name/detect the multi-disc Data files
|-
|-
|PQSWAT
|PQSWAT
|
|
* "Failed to initialize sound driver!"
* Determine how to name/detect the multi-disc Data files
* Wrong kDoSound subops.
|}
|}
=="Failed to initialize sound driver!"==
The "Failed to initialize sound driver!" error occurs within SciMusic::init.
You can temporarily bypass that with this patch:
<syntaxhighlight lang="diff">
--- a/engines/sci/sound/music.cpp
+++ b/engines/sci/sound/music.cpp
@@ -74,6 +74,8 @@ void SciMusic::init() {
#ifdef ENABLE_SCI32
        if (g_sci->_features->generalMidiOnly()) {
                deviceFlags = MDT_MIDI;
+      } else if (platform == Common::kPlatformMacintosh) {
+              deviceFlags = MDT_MIDI;
        } else {
#endif
                deviceFlags = MDT_PCSPK | MDT_PCJR | MDT_ADLIB | MDT_MIDI;
</syntaxhighlight>
...Or even better, you could figure out what it's supposed to do! =)


== kPlatform subops ==
== kPlatform subops ==
30

edits

Navigation menu