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 )
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)
Change History (12)
by , 5 months ago
Attachment: | kq6-cd.009 added |
---|
by , 5 months ago
Attachment: | Base Profile 2024.12.18 - 15.36.41.01 - 2.mp4 added |
---|
comment:1 by , 5 months ago
Description: | modified (diff) |
---|
by , 5 months ago
Attachment: | kq6-cd.011 added |
---|
comment:2 by , 5 months ago
Cc: | removed |
---|---|
Component: | --Unset-- → Engine: SCI |
Game: | → King's Quest 6 |
comment:3 by , 5 months ago
Cc: | added |
---|
comment:4 by , 5 months ago
by , 5 months ago
Attachment: | RM390Original.png added |
---|
by , 5 months ago
Attachment: | RM390Fixed.png added |
---|
comment:5 by , 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 , 5 months ago
Attachment: | KQ6PrintDUALFix.png added |
---|
comment:6 by , 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
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:
This goes to script 520::finishedPond::doVerb.
This goes to script 907::huntersLamp::doVerb, (different states).
This goes to script 907::teaCup::doVerb, (different states).
This goes to script 282::genieBadgerOwnerScr::changeState, state 4.
This goes to script 390::caveTalkScr::changeState, state 0.
There are two Narrator lines that need press button mouse.
This goes to script 907::clothes::doVerb, 1.
This goes to script 907::clothes::doVerb, 5.
This goes to script 907::huntersLamp::doVerb, 24. Maybe other switches happens also.
The incantation dialogue box remains opened until the mouse button is clicked.
This goes to script 190::makeRainScript::changeState, 1.
This goes to script 210::(different lines)
-The message of the nightingale getting the ring also stucks.
This goes to script 580::makeRain::changeState, state 46.
This goes to script 907::skull:doVerb, 1 (embers), 19 (egg), 15 (hair).
This goes to script 640::keyDanceScript::changeState, state 1.
This goes to script 811::convScript::changeState, state 1.
This goes to script 781::paper_BoxInset::doVerb, (== theVerb 1)
This for short path of solution
This goes to script 220::wearClothingScr::changeState, state 11.
This goes to script 220::wearClothingScr::changeState, state 17.
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.