Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SCUMM: Add support for Mac Loom low quality music #3169

Merged
merged 3 commits into from Jul 28, 2021

Conversation

@eriktorbjorn
Copy link
Member

@eriktorbjorn eriktorbjorn commented Jul 19, 2021

This is guesswork, but it seems like the first channel always contains a complete rendition of the music. I think that's intended for low-end Macs, while the other voices (four, but the last one never seems to be used) is the standard version of the music.

It doesn't sound particularly good, and also not quite as with Mini vMac (I'm not fully prepared to rule out emulation problems), but it seems reasonably close.

So this is basically the Mac version of PC Speaker music, and I'm adding it as a curiosity. The pull request is mostly to get feedback on the name/description of the engine option and the way it is added, since I've never done that before.

This is guesswork, but it seems like the first channel always contains a
complete rendition of the music. I think that's intended for low-end
Macs, while the other voices (four, but the last one never seems to be
used) is the standard version of the music.

It doesn't sound particularly good, and also not quite as with Mini vMac
(I'm not fully prepared to rule out emulation problems), but it seems
reasonably close.
@eriktorbjorn
Copy link
Member Author

@eriktorbjorn eriktorbjorn commented Jul 23, 2021

I've made recordings of the Loom intro music to demonstrate the difference:

http://www.update.uu.se/~d91tan/tmp/loom-full.ogg
http://www.update.uu.se/~d91tan/tmp/loom-simple.ogg

When running it in a Mac emulator, the simple music plays long notes for the first bar, but I have no idea why. Maybe the emulation is bad, or there is some detail that we're not implementing. The rest sounds reasonably similar though.

_s("Play simplified music"),
_s("This music was presumably intended for low-end Macs, and uses only one channel."),
"mac_v3_low_quality_music",
false,

This comment has been minimized.

@sev-

sev- Jul 27, 2021
Member

This will fail on older compilers, please remove the comma at end of the list

@@ -209,6 +215,9 @@ const ExtraGuiOptions ScummMetaEngineDetection::getExtraGuiOptions(const Common:
if (target.empty() || (ConfMan.get("platform", target) == "fmtowns" && guiOptions.contains(GUIO_TRIM_FMTOWNS_TO_200_PIXELS))) {
options.push_back(fmtownsTrimTo200);
}
if (target.empty() || (ConfMan.get("gameid", target) == "loom" && ConfMan.get("platform", target) == "macintosh" && ConfMan.get("extra", target) != "Steam")) {

This comment has been minimized.

@sev-

sev- Jul 27, 2021
Member

Maybe put "gameid" and "platform" to variables for better code readability since they're now used in multiple places?

@sev-
Copy link
Member

@sev- sev- commented Jul 27, 2021

I love this addition!

@sev-
Copy link
Member

@sev- sev- commented Jul 28, 2021

Thank you!

@sev- sev- merged commit 6ecfc01 into scummvm:master Jul 28, 2021
8 checks passed
8 checks passed
@github-actions
Windows (win32, x86-windows, x86, --enable-faad --enable-mpeg2 --enable-discord --disable-fribidi...
Details
@github-actions
Windows (x64, x64, x64-windows, --enable-faad --enable-mpeg2 --enable-discord --disable-fribidi, ...
Details
@github-actions
Windows (arm64, arm64, arm64-windows, --enable-faad --enable-mpeg2 --enable-discord --disable-fri...
Details
@github-actions
Xcode (macosx, -scheme ScummVM-macOS, --disable-nasm --enable-faad --enable-mpeg2, a52dec faad2 f...
Details
@github-actions
Xcode (ios7, -scheme ScummVM-iOS CODE_SIGN_IDENTITY="" CODE_SIGNING_ALLOWED=NO, --disable-nasm --...
Details
@github-actions
Ubuntu (ubuntu-latest, sdl2-config, --enable-c++11, libsdl2-dev libsdl2-net-dev liba52-dev libjpe...
Details
@github-actions
Ubuntu (ubuntu-18.04, sdl-config, --disable-c++11, libsdl1.2-dev libsdl-net1.2-dev liba52-dev lib...
Details
@codacy-production
Codacy Static Code Analysis A positive pull request.
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants