[Scummvm-tracker] [ScummVM :: Bugs] #12635: KYRA: Missing subtitle (also in original game)

ScummVM :: Bugs trac at scummvm.org
Sun Jun 13 19:55:37 UTC 2021


#12635: KYRA: Missing subtitle (also in original game)
-------------------+---------------------------
Reporter:  orgads  |       Owner:  (none)
    Type:  defect  |      Status:  new
Priority:  normal  |   Component:  Engine: Kyra
 Version:          |  Resolution:
Keywords:          |        Game:  Kyrandia 1
-------------------+---------------------------
Description changed by orgads:

Old description:

> Hi,
>
> On Zanthia's lab during the cutscene, Brandon awakes and asks "Where am
> I?" etc.
>
> After 4 sentences Brandon asks "Who are you?". The voice is played, but
> the subtitle doesn't appear.
>
> I tried to debug this issue a bit, and noticed that on most texts there
> are several pushes, followed by o1_displayWSASequentialFrames between
> o1_customPrintTalkString and o1_restoreCustomPrintBackground, but this
> sentence has o1_customPrintTalkString immediately followed by
> o1_restoreCustomPrintBackground, and onlyl then
> o1_displayWSASequentialFrames.
>
> Looks like the op order is swapped.
>
> [0x00000982] EMCInterpreter::op_addSP([4/4])
> [0x00000984] EMCInterpreter::op_push([15/15])
> [0x00000986] EMCInterpreter::op_push([40/40])
> [0x00000988] EMCInterpreter::op_push([184/184])
> [0x0000098C] EMCInterpreter::op_push([10/10])
> [0x0000098E] EMCInterpreter::op_push([6/6])
> [0x00000990] EMCInterpreter::op_sysCall([52/52])
> KyraEngine_LoK::o1_customPrintTalkString(000002965277c8a8) (6, 'މ €š?',
> 184, 40, 15)
> [0x00000992] EMCInterpreter::op_addSP([5/5])
> [0x00000994] EMCInterpreter::op_sysCall([53/53])
> KyraEngine_LoK::o1_restoreCustomPrintBackground(000002965277c8a8) ()
> [0x00000996] EMCInterpreter::op_push([2/2])
> [0x00000998] EMCInterpreter::op_pushRetOrPos([1/1])
> [0x0000099A] EMCInterpreter::op_jmp([930/930])
> [0x00000744] EMCInterpreter::op_push([0/0])
> [0x00000746] EMCInterpreter::op_pushBPAdd([1/1])
> [0x00000748] EMCInterpreter::op_push([0/0])
> [0x0000074A] EMCInterpreter::op_push([10/10])
> [0x0000074C] EMCInterpreter::op_push([40/40])
> [0x0000074E] EMCInterpreter::op_push([184/184])
> [0x00000752] EMCInterpreter::op_push([20/20])
> [0x00000754] EMCInterpreter::op_push([18/18])
> [0x00000756] EMCInterpreter::op_sysCall([64/64])
> KyraEngine_LoK::o1_displayWSASequentialFrames(000002965277c8a8) (18, 20,
> 184, 40, 10, 0, 2, 0)
>
> Can you suggest a workaround or a way to patch this?

New description:

 Hi,

 On Zanthia's lab during the cutscene, Brandon awakes and asks "Where am
 I?" etc.

 After 4 sentences Brandon asks "Who are you?". The voice is played, but
 the subtitle doesn't appear.

 I tried to debug this issue a bit, and noticed that on most texts there
 are several pushes, followed by o1_displayWSASequentialFrames between
 o1_customPrintTalkString and o1_restoreCustomPrintBackground, but this
 sentence has o1_customPrintTalkString immediately followed by
 o1_restoreCustomPrintBackground, and onlyl then
 o1_displayWSASequentialFrames.

 Looks like the op order is swapped.

 [0x00000982] EMCInterpreter::op_addSP([4/4])
 [0x00000984] EMCInterpreter::op_push([15/15])
 [0x00000986] EMCInterpreter::op_push([40/40])
 [0x00000988] EMCInterpreter::op_push([184/184])
 [0x0000098C] EMCInterpreter::op_push([10/10])
 [0x0000098E] EMCInterpreter::op_push([6/6])
 [0x00000990] EMCInterpreter::op_sysCall([52/52])
 KyraEngine_LoK::o1_customPrintTalkString(000002965277c8a8) (6, 'Who are
 you?', 184, 40, 15)
 [0x00000992] EMCInterpreter::op_addSP([5/5])
 [0x00000994] EMCInterpreter::op_sysCall([53/53])
 KyraEngine_LoK::o1_restoreCustomPrintBackground(000002965277c8a8) ()
 [0x00000996] EMCInterpreter::op_push([2/2])
 [0x00000998] EMCInterpreter::op_pushRetOrPos([1/1])
 [0x0000099A] EMCInterpreter::op_jmp([930/930])
 [0x00000744] EMCInterpreter::op_push([0/0])
 [0x00000746] EMCInterpreter::op_pushBPAdd([1/1])
 [0x00000748] EMCInterpreter::op_push([0/0])
 [0x0000074A] EMCInterpreter::op_push([10/10])
 [0x0000074C] EMCInterpreter::op_push([40/40])
 [0x0000074E] EMCInterpreter::op_push([184/184])
 [0x00000752] EMCInterpreter::op_push([20/20])
 [0x00000754] EMCInterpreter::op_push([18/18])
 [0x00000756] EMCInterpreter::op_sysCall([64/64])
 KyraEngine_LoK::o1_displayWSASequentialFrames(000002965277c8a8) (18, 20,
 184, 40, 10, 0, 2, 0)

 Can you suggest a workaround or a way to patch this?

--
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/12635#comment:1>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list