Opened 7 weeks ago

Last modified 6 weeks ago

#15728 new defect

SCI: KQ5 (floppy): The text "What?!" goes by too quickly in the intro

Reported by: eriktorbjorn Owned by:
Priority: normal Component: Engine: SCI
Version: Keywords:
Cc: Game: King's Quest 5

Description (last modified by eriktorbjorn)

In the floppy version of the game, when Graham finds his castle gone there is the following lines printed:

"My castle! What has happened?"
"I can tell you what happened."
"What?!"

But that last text is hard to read, because the screen fades down immediately. Looking at sluicebox's decompiled script (kq4-dos-0.000.062), I see this in intro3.sc:

			(12
				(cls)
				(PrintDC 102 2 67 100 100 351 103) ; "What?!"
				(gCurRoom newRoom: 103) ; intro4
			)

Did the original rely on load times alone to provide the appropriate delay? It certainly stays up longer when I run it in DOSBox, at leats on slow speeds.

Now, I'm not actually using this version of the game. I'm using the French version that was included on at least some King's Quest collections. So it's doing this instead:

                        (12
                                (cls)
                                (= global380 1)
                                (PrintDC 102 2 #at 100 100 #dispose) ; "Quoi?"
                                (gCurRoom newRoom: 103) ; intro4
                        )

But it's actually even worse than that. Because I'm using a patch that I got from the GOG forum to set the language to English by default, and to add English texts to the intro. (Hey, I tried asking Activision support to release the floppy version because subtitles would be great for accessibility, but I couldn't get them to understand what I meant.)

Assuming it is a timing bug, it would be great if it could be fixed for the official versions at least. It would be fantastic if it could be fixed for the patched version as well, but I can understand if that's not a priority.

Attachments (1)

KQ5FRNCH.7z (14.7 KB ) - added by eriktorbjorn 7 weeks ago.

Download all attachments as: .zip

Change History (6)

by eriktorbjorn, 7 weeks ago

Attachment: KQ5FRNCH.7z added

comment:1 by eriktorbjorn, 7 weeks ago

I've attached the patch I used. I originally found it at https://www.gog.com/forum/kings_quest_series/turn_off_terrible_voices_in_kq5/post53

comment:2 by eriktorbjorn, 7 weeks ago

Actually, it looks like that particular part of the script doesn't change, unless I completely messed up trying to disassemble it. Is the translation handled elsewhere? Because that would probably be great.

0026:0286: 3c             dup
0026:0287: 35 0c          ldi  	0c		; 12
0026:0289: 1a             eq?  
0026:028a: 30 25 00       bnt  	0025  [02b2]
0026:028d: 76             push0			; species
0026:028e: 45 06 00       callb	06	00
0026:0291: 35 01          ldi  	01
0026:0293: a0 7c 01       sag  	017c		; 380
0026:0296: 39 06          pushi	06		; loop
0026:0298: 39 66          pushi	66		; 102, 'f', flags
0026:029a: 7a             push2			; -info-
0026:029b: 39 43          pushi	43		; 67, 'C', at
0026:029d: 39 64          pushi	64		; 100, 'd', moveDone
0026:029f: 3c             dup  
0026:02a0: 39 6b          pushi	6b		; 107, 'k', dispose
0026:02a2: 46 f7 02 00 00 0c calle	02f7		; 759	0000	0c	; 12
0026:02a8: 38 76 01       pushi	0176		; 374, newRoom
0026:02ab: 78             push1			; superClass
0026:02ac: 39 67          pushi	67		; 103, 'g', quitGame
0026:02ae: 81 02          lag  	02
0026:02b0: 4a 06          send 	06
0026:02b2: 3a             toss 
0026:02b3: 48             ret  
Last edited 6 weeks ago by eriktorbjorn (previous) (diff)

comment:3 by eriktorbjorn, 7 weeks ago

Description: modified (diff)

comment:4 by eriktorbjorn, 7 weeks ago

Description: modified (diff)

comment:5 by eriktorbjorn, 6 weeks ago

But on second thought, I have no idea how to insert a delay here. You'd have to split case 12 into two separate cases with a delay between, and I'm not sure that can be done. By my estimate, you'd have to find a way to insert at least a dozen bytes here, and I thought you were limited to the space already allotted for the script?

Note: See TracTickets for help on using tickets.