Opened 3 years ago

Closed 3 years ago

#7086 closed defect (fixed)

SCI: QFG3: Tell about Initiation in Uhura's Hut

Reported by: SF/retiredpaladin Owned by:
Priority: normal Component: Engine: SCI
Keywords: original script Cc:
Game: Quest for Glory 3

Description

  1. 1.8.0pre123-gbdec806(Feb 17 2016 05:46:25)
  2. walk into the hut on the right (Uhura's hut). Pree mouth icon on yourself and choose tell about initiation, should be 3 points awarded
  3. English
  4. original Quest for Glory Collection series (not gog and not using any patches)
  5. Win dos
  6. Thanks for looking into this

Ticket imported from: bugs/7086.

Attachments (7)

qfg3.006 (51.6 KB) - added by SF/retiredpaladin 3 years ago.
GLORYSG.013 (10.3 KB) - added by tomasz89 3 years ago.
GLORYSG.014 (11.3 KB) - added by tomasz89 3 years ago.
GLORYSG.015 (12.1 KB) - added by tomasz89 3 years ago.
qfg3-GOG.011 (53.9 KB) - added by tomasz89 3 years ago.
qfg3-GOG.012 (52.6 KB) - added by tomasz89 3 years ago.
qfg3-GOG.013 (57.7 KB) - added by tomasz89 3 years ago.

Download all attachments as: .zip

Change History (20)

Changed 3 years ago by SF/retiredpaladin

Attachment: qfg3.006 added

comment:1 Changed 3 years ago by m-kiewitz

Component: Engine: SCI
Game: Quest for Glory 3
Summary: Tell about Initiation in Uhura's HutSCI: QFG3: Tell about Initiation in Uhura's Hut

comment:2 Changed 3 years ago by m-kiewitz

Original interpreter awards points? Can you please check that? And maybe even attach an original SCI saved game too?

comment:3 Changed 3 years ago by SF/retiredpaladin

Original interpreter ALLEGEDLY award points and I believe the original game (on floppies) all those years ago did but that game is long gone and i am using the the original collections series on cd.

comment:4 Changed 3 years ago by OmerMor

The official Quest for Glory III Hint Book has a Puzzle Point list (page 45), which does not mention these 3 points.

The 3 points are mentioned in this FAQ, but I wouldn't say it's trustworthy.

comment:5 Changed 3 years ago by OmerMor

OK, I was partially wrong:
The official hint book state that fighters and paladins can get 3 points for telling about the initiation.
I checked the scripts, and I found evidence for these 3 points being awarded in room #285 (Kreesha, Rakeesh and Hero sitting together) when you tell about the initiation.
Not sure yet what triggers this dialog option.

Changed 3 years ago by tomasz89

Attachment: GLORYSG.015 added

comment:6 Changed 3 years ago by tomasz89

Here's a few attached saves from the GOG QFG3 version running natively (dosbox).
One is having just won the initiation for the starting point.
One is with Kreesha/Rakeesh having won the initiation - the only dialog available is about "dispelled leopard prisoner".
One is with Uhura in her hut and although you can tell about initiation it doesn't grant points.

Changed 3 years ago by tomasz89

Attachment: qfg3-GOG.013 added

comment:7 Changed 3 years ago by tomasz89

Here's a few attached saves from the GOG QFG3 version running through ScummVM.
The situation is the same as with the native version:
One is having just won the initiation for the starting point.
One is with Kreesha/Rakeesh having won the initiation - the only dialog available is about "dispelled leopard prisoner".
One is with Uhura in her hut and although you can tell about initiation it doesn't grant points.

comment:8 Changed 3 years ago by OmerMor

Thanks Tomasz for the save games.
I was able to reproduce, investigate and come up with a possible fix.

Script 285 (Hero sitting with Rakeesh and Kreesha) initializes an egoTell object with an array (local156) of possible messages that can be shown:
[local156 14] = [0 -41 -76 1 -30 -77 -33 -34 -35 -36 -37 -42 -80 999]

Later, in egoTell::showDialog() there's logic that calls Teller::showDialog() with an array of messages and booleans used to determine whether that message should be shown. All the messages in this function can be found in the local156 array, expect one: message #31 which also happens to be the missing "Tell about Initiation" message.

I suspect the positive "1" in local156 it a typo and should've been "-31". I believe only negative values are used for real messages, and the positive 0 and 999 mark the start and end of the array.

So using SCI Companion I replaced the "1" with "-31", compiled the script, and using your save game I was able to trigger the missing message and get the 3 points.

I'm attaching the patched 285.SCR and 285.HEP so you could test it yourself. Simply place the files in the game folder and load the game. I suggest you load a savegame from another room, and travel to room #285, because I suspect loading a savegame from that room won't go through my patched room's initialization.

If the patch works for you, it could be later embedded in ScummVM.

comment:9 Changed 3 years ago by tomasz89

Thanks for the fix and detailed explanation. I checked earlier but I can't see any attachments to your post now..?

comment:10 Changed 3 years ago by OmerMor

Maybe it violates the policy, and was removed?
You can send me a PM with your email and I'll send it to you.

comment:11 Changed 3 years ago by OmerMor

Upon further testing, I no longer believe I can simply replace the "1" with "31" as the one stands for the "Tell about Tarna" option.

comment:12 Changed 3 years ago by tomasz89

Tested on ScummVM 1.9.0git1898-g6581bca and got awarded the 3 points for telling Kreesha/Rakeesh about it. Thanks for the fix!

comment:13 Changed 3 years ago by OmerMor

Thanks for testing Tomasz!
The version you used should have my patch built-in.
Did you test the game with the independent script patch files I sent you or w/o them?

comment:14 Changed 3 years ago by tomasz89

I did not apply your patches to my game; it was a vanilla GOG copy of QFG3 running through ScummVM.

comment:15 Changed 3 years ago by OmerMor

Great!
So I guess this bug could be closed now (by someone who has permission to do so...).

comment:16 Changed 3 years ago by m-kiewitz

Fixed by commit aaf8cbca0049aa9161e507a22724a56e19009695

comment:17 Changed 3 years ago by m-kiewitz

Keywords: original script added
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.