Opened 6 months ago

Closed 4 months ago

Last modified 4 months ago

#15159 closed defect (fixed)

SCI: Betrayed Alliance - Menu discrepancy: "Music" in Speed menu item

Reported by: dfsgand Owned by: sluicebox
Priority: low Component: Engine: SCI
Version: Keywords: menu graphics
Cc: Game: SCI Fanmade

Description (last modified by sluicebox)

ScummVM version checked:
ScummVM 2.9.0git5034-g8019d0eea13 (Jun 1 2024 20:18:24)
Using SDL backend with SDL 2.0.14
Features compiled in: Vorbis FLAC MP3 ALSA SEQ sndio TiMidity RGB zLib MikMod VPX A/52 FreeType2 FriBiDi JPEG PNG ENet SDL2 TinyGL OpenGL (with shaders)
Platform: Debian 11.9 bullseye, x86-64

Games: Betrayed Alliance v1.3.2: https://github.com/Slattstudio/BetrayedAllianceBook1/releases/tag/release-v1.3.2

Upon being given control in ScummVM, the last entry in the "Speed" menu reads "Slower -Music". This does not happen in native: the last line instead reads "Slower -" with the dash properly aligned. See the screenshots for more details. (Native DOS screenshot courtesy of PickledDog.)

Attachments (2)

betrayed_alliance_speed.png (106.1 KB ) - added by dfsgand 6 months ago.
ScummVM screenshot
betrayed_alliance_132_native.png (533.2 KB ) - added by dfsgand 6 months ago.
Screenshot from DOS with MT-32 enables

Download all attachments as: .zip

Change History (8)

by dfsgand, 6 months ago

Attachment: betrayed_alliance_speed.png added

ScummVM screenshot

by dfsgand, 6 months ago

Screenshot from DOS with MT-32 enables

comment:1 by sluicebox, 5 months ago

What makes you think this is related to MT-32? I see the same results with a default ScummVM config (no MT-32), so I'm confused. Are you seeing something different, or were you guessing? =)

comment:2 by sluicebox, 5 months ago

Description: modified (diff)
Priority: normallow
Summary: SCI: Betrayed Alliance v1.3.2: "Music" in last Speed menu line when MT32 is enabledSCI: Betrayed Alliance - Menu disrepancy: "Music" in Speed menu item

I'm now certain this has nothing to do with MT-32 or any music, so let's ignore all that. It also applies to all versions of this game.

This game has a malformed menu string which has exposed a discrepancy in how we parse malformed menu strings. We display "-Music" because that's the text that this menu string ends in. By luck, Sierra's interpreter ignores the junk "Music" at the end, so the author didn't notice their mistake.

It would be good to fix this, but it's also about as low priority as you can get: this doesn't happen in real games, and the easy solution is to email the author and let them know. I've done that, so presumably this will be fixed in the next game version.

Our menu code is a 200 line function of classic C string parsing. It's also based on reverse engineering, so the names are guesses, meanwhile Here In The Future we know the real spec and the real names of menu string components. Our code also handles dual-language games too. It's risky to alter any of this, and the next game release will make it moot.

It's still worth doing eventually, even if it just makes our menu code a better reference. We'll keep this open, and I'll lower priority and remove the MT-32 references.

comment:3 by sluicebox, 5 months ago

Summary: SCI: Betrayed Alliance - Menu disrepancy: "Music" in Speed menu itemSCI: Betrayed Alliance - Menu discrepancy: "Music" in Speed menu item

comment:4 by sluicebox, 4 months ago

It's been fixed in Betrayed Alliance 1.3.3.1

comment:5 by sluicebox <22204938+sluicebox@…>, 4 months ago

Owner: set to sluicebox <22204938+sluicebox@…>
Resolution: fixed
Status: newclosed

In 66f994d7:

SCI: Fix Betrayed Alliance speed menu

Fixes #15159

comment:6 by sluicebox, 4 months ago

Owner: changed from sluicebox <22204938+sluicebox@…> to sluicebox

I just realized that it's a simple one-byte script patch to work around this bug in older game versions, so now it's done. Otherwise this would have been wontfix.

Note: See TracTickets for help on using tickets.