Opened 12 years ago

Closed 11 years ago

Last modified 11 years ago

#6067 closed defect (fixed)

SCI: SQ4 CD text glitches in introduction

Reported by: misterhands Owned by: bluegr
Priority: normal Component: Engine: SCI
Version: Keywords: script
Cc: Game: Space Quest 4


SQ4 CD DOS ENG SCUMMVM 1.5git win32

Two text glitches during the introduction of SQ4 CD, they seem to be related to the Speech + Text feature (thanks for that BTW, much appreciated by us non-native English speakers).

1) when Roger starts telling his greatly exaggerated tales of adventure, the message "MSG 16: 7 0 3 1 not found" appears. This occurs in TEXT, and BOTH modes. Some digging revealed that the 7 0 3 1 7 string is indeed not present in the resource file 16.msg, so obviously that's the cause.

2) When the narrator says "We join Roger as he relates...", no text is shown in BOTH mode. This string appears normally in TEXT mode.

Ticket imported from: #3538416. Ticket imported from: bugs/6067.

Change History (8)

comment:1 by digitall, 12 years ago

Both issues replicated with latest Git master on Linux x86_32 with SQ4CD from The Space Quest Collection CDROM.

comment:2 by SF/a60wattfish, 12 years ago

I can also confirm this in 1.4.1 and latest nightly build for OSX (Intel) on SQ4CD.

comment:3 by digitall, 12 years ago

It should also be noted for the SCI developer who investigate this that these two issues occur together, but in reverse order i.e. Issue 2) with the missing Narrator line of "We join Roger..." immediately precedes Issue 1) where Roger brags before being interrupted by the Timecop, so this may be a script issue with calculating subtitle resource values for these successive lines.

The completely missing "MSG 16: 7 0 3 1" line may not be "missing" from the resource file, but might be the script calculating the wrong index. This can be confirmed by seeing if the missing line text is in the files.

Based on the speech, this will be (or a minor variation due to spelling or punctuation of) Roger saying: "See, there was this deadly root monster, a ferocious swamp creature and a Labion terror beast to contend with, then I had to outsmart another of Vohaul's gorillas and steal the shut..."

comment:4 by bluegr, 12 years ago

Both issues occur in the same room, 16, and are caused by the same function (script 16, convScript::changeState).

This overridden method performs different calls depending on the state. State 0 shows a message, state 1 starts an audio clip. With speech + subtitles, it's first called with state 0 when the narrator speaks, and then with state 1 when Roger speaks (with wrong parameters, which is why the error shows up).

The rest of the scene's dialog is handled by spScript, which does normal calls like in the rest of the game.

I assume that convScript was changed like this to handle the two different calls to it (one for the narrator and one for Roger). In any case, these two calls will need to be treated in a special way different from the way the rest of the game's generic scripts are handled.

comment:5 by misterhands, 11 years ago

Also after you restart the game the setting is reset to SPEECH. This is no big deal, but maybe the in-game setting should stay in sync with the ScummVM one ?

comment:6 by bluegr, 11 years ago

misterhands: the issue with the settings getting lost after a game restart has been fixed in commit ed6bc0a13dea0abee56182bc9ff0cd616942fd65 (as mentioned in your other bug)

comment:7 by bluegr, 11 years ago

The message in artifact 1 is really missing, it's an engine limitation - the text is too long to fit on screen. Thus, we just don't display an error in this case (commit 61ec6c99).

There's not much that can be done about artifact 2, the relevant game script doesn't display text when text and subtitles are both enabled (a mode not originally supported by the game). Since a script patch is needed just for this one line in this one scene, and for a feature not in the original game, it's not really worth the effort. So we won't fix artifact 2, as it's pretty minor, and the work needed to fix it is substantial.


comment:8 by bluegr, 11 years ago

Owner: set to bluegr
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.