Opened 5 months ago

Last modified 5 months ago

#15606 new defect

SCI: KQ6CD Strange audio/text behaviour in DUAL mode

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

Description (last modified by LaZar00)

Game Version : KQ6 CD Talkie english version (GOG release)
ScummVM : v2.9.0 daily build (just today)
OS : Windows 11 x64

I decided to split this issue from ticket #15594. This is the point 4 specifically of this ticket, plus an added strange behaviour when we have sequenced messages.

This happens in room 520 (the boiling pond). I leave a savegame before the issue. I upload also a video to explain better the issue.

As in explained in #15594, when you use LOOK/HAND icons on it (or even LOOK another part of the room), the sound of the boil disappears. This is not happening with MT32/FM analog sounds.

I tested also the TALK icon in the pond. Alexander shows a message window, then the narrator shows also another message window. The issue here is that in VOICES only mode, the spoken messages are played one after the other, without having to press the button mouse or anything. When using DUAL mode, you have to click the mouse to play the next message of the narrator. This only happens the first time after entering the room. The second time we talk with the pond, this works strangely well.

This happens in more places, like when the genius (old man) in pawn shop says there are not more mints. We need to click the mouse again in DUAL, while with only VOICE the dialogue is fluid.

If you need more help, I can try some things. Let me know.

Attachments (6)

kq6-cd.009 (40.0 KB ) - added by LaZar00 5 months ago.
Base Profile 2024.12.18 - 15.36.41.01 - 2.mp4 (1.2 MB ) - added by LaZar00 5 months ago.
kq6-cd.011 (40.1 KB ) - added by LaZar00 5 months ago.
RM390Original.png (84.8 KB ) - added by LaZar00 5 months ago.
RM390Fixed.png (90.3 KB ) - added by LaZar00 5 months ago.
KQ6PrintDUALFix.png (106.2 KB ) - added by LaZar00 5 months ago.

Download all attachments as: .zip

Change History (12)

by LaZar00, 5 months ago

Attachment: kq6-cd.009 added

comment:1 by LaZar00, 5 months ago

Description: modified (diff)

by LaZar00, 5 months ago

Attachment: kq6-cd.011 added

comment:2 by LaZar00, 5 months ago

Cc: LaZar00 removed
Component: --Unset--Engine: SCI
Game: King's Quest 6

comment:3 by LaZar00, 5 months ago

Cc: LaZar00 added

comment:4 by LaZar00, 5 months ago

Well, more research about this issue (the mouse button click needed in some dialogues). I tested this in hires mode, but in lowres happened also. This happens basically in Dual mode, and in KQ6Print script (104). The strange thing is that there are some patches (shared with LauraBow2 I think) for 2-3 of this cases in scummvm code, but they seem not to work.

This is a list of situations where the dialogue box stucks and you must click the mouse button:

  • TALK to boiling pond (while boiling) (rm520).
    This goes to script 520::finishedPond::doVerb.
  • LOOK to Hunter's Lamp in inventory (after getting baby tears better, or others...) (rm470).
    This goes to script 907::huntersLamp::doVerb, (different states).
  • LOOK to Tea Cup in inventory (after getting swamp mud or others) (rm470/rm480).
    This goes to script 907::teaCup::doVerb, (different states).
  • When genie in pawn shop tries to get a mint and the pot is empty (rm280).
    This goes to script 282::genieBadgerOwnerScr::changeState, state 4.
  • TALK to the dark cave (rm390).
    This goes to script 390::caveTalkScr::changeState, state 0.
  • LOOK Beauty's dress for first time (before getting hair).
    There are two Narrator lines that need press button mouse.
    This goes to script 907::clothes::doVerb, 1.
  • DO Beauty's dress for first time (gets the hair; you have not the Cassima hair).
    This goes to script 907::clothes::doVerb, 5.
  • DO Hunter's Lamp with Sacred Water Vial.
    This goes to script 907::huntersLamp::doVerb, 24. Maybe other switches happens also.
  • Cast Make Rain spell (when having all the components).
    The incantation dialogue box remains opened until the mouse button is clicked.
    This goes to script 190::makeRainScript::changeState, 1.
  • GIVE item to nightingale (Alex ring, mechanical nightingale, poem, white rose...) (rm210).
    This goes to script 210::(different lines)
    -The message of the nightingale getting the ring also stucks.
  • When Make Rain spell applies with druids (rm580).
    This goes to script 580::makeRain::changeState, state 46.
  • LOOK skull when has something inside (like embers or egg).
    This goes to script 907::skull:doVerb, 1 (embers), 19 (egg), 15 (hair).
    • After putting the embers, DO in egg or hair over the skull, the message is stuck.
  • DO in the bones (xylophone). Just the message of bones dancing stucks. (rm640)
    This goes to script 640::keyDanceScript::changeState, state 1.
  • LOOK/DO in third hole of secret passage of castle (where vizir is writing letter). (rm810)
    This goes to script 811::convScript::changeState, state 1.
    • While writing letter, the dialogue boxes flow is VERY VERY SLOW, but there is no need to push mouse button.
  • LOOK the note in black box over the table in vizir room. (rm780)
    This goes to script 781::paper_BoxInset::doVerb, (== theVerb 1)


This for short path of solution

  • After putting the maiden clothes, before going to the castle, Alexander talks. (rm220)
    This goes to script 220::wearClothingScr::changeState, state 11.
    • Then tries to enter to the castle and says: "Yes, Sir." womanized.
      This goes to script 220::wearClothingScr::changeState, state 17.
  • USE Nightingale in dogs when in second floor of the castle. (rm850)
    This goes to script 850::guardDoVerb::doVerb, condition (== theVerb 37)

I'm not sure if this is fixable, but I think I could dispose the dialogues just after the KQ6Print call (after some seconds or ticks) in the scripts. I hope this helps to you. And maybe there is some case more, although I played the game trying to test a lot of things.

by LaZar00, 5 months ago

Attachment: RM390Original.png added

by LaZar00, 5 months ago

Attachment: RM390Fixed.png added

comment:5 by LaZar00, 5 months ago

I want to add a sample of how is possible to fix, for example room 390, the dark cave, and make the dialogue box disappear after some seconds for TALK action. I think the major part of scripts can be solved like this, the KQ6Print ones, but there is some gMessenger that maybe needs an alternate solution.

I uploaded two images, rm390original.png and rm390fixed.png. This code does not check which mode are you using (Text/Voices/Dual). I put this here only as an example.

by LaZar00, 5 months ago

Attachment: KQ6PrintDUALFix.png added

comment:6 by LaZar00, 5 months ago

Ok. After looking the scripts, I tried to modify "say" method in KQ6Print (104) script. Doing this little change, I think that it solves the stuck dialogue windows that use this method in Dual mode (gMsgType == 3).

I tested it and seems to work well, but you have more knowledge than me to see if there could be some issue in specific situations. The solution applied is to show the text giving an amount of time (ticks). And get the seconds applying a little formula.

I include an image to show you what I changed. Maybe you are interested in apply this in your code. Now only remains some messages with gMessenger that gets stuck.

BTW, I had to "inverse" part of "say" code to bypass scummvm signature. xD

Last edited 5 months ago by LaZar00 (previous) (diff)
Note: See TracTickets for help on using tickets.