[Scummvm-tracker] [ScummVM :: Bugs] #11432: SCI: QFG3 - game skips to second encounter with Manu the monkey if there wasn't a first encounter before the conference

ScummVM :: Bugs trac at scummvm.org
Sat Aug 6 23:42:07 UTC 2022


#11432: SCI: QFG3 - game skips to second encounter with Manu the monkey if there
wasn't a first encounter before the conference
-------------------+--------------------------------
Reporter:  lwcorp  |       Owner:  (none)
    Type:  defect  |      Status:  new
Priority:  normal  |   Component:  Engine: SCI
 Version:          |  Resolution:
Keywords:          |        Game:  Quest for Glory 3
-------------------+--------------------------------
Comment (by lwcorp):

 If it helps, here's the technical issue:
 When you
 1) Cross from room 160 (Savannah panorama) to 170 (Jungle panorama).
 and
 2) Flag 43 (After Conference) is set.
 Then you immediately get stopped and move to room 700 (random Jungle room)
 to meet Manu.

 I ask to add:
 3) Flag 109 (Manu Released) is also set.

 But beware this of course means you'll have to meet Manu at room 180 (Lost
 City panorama) and then go back to room 170 (Jungle panorama), which the
 game never anticipated, so this can cause weirdness such as meeting Johari
 again.

 My proposal is to do the following to https://github.com/EricOakford/SCI-
 Decompilation-Archive/blob/master/qfg3/src/rm170.sc:
 1) Add the 109 condition wherever 43 is tested.
 2) After saving Manu, treat walking back from Lost City panorama like
 walking back from the Savannah panorama.

 Here's a diff file to that GitHub version of room 170:

 {{{
 168,169c168,172
 <                                               (= style SCROLLRIGHT)
 <                                               fromLostCityPanorama
 ---
 >                                               (if (and (= style
 SCROLLRIGHT) (or (not (Btst fAfterConference)) (not (Btst
 fManuReleased))))
 >
 fromLostCityPanorama
 >                                               else
 >
 fromSimbaniPanorama
 >                                               )
 510c513
 <                                       setMotion: MoveTo (if (Btst
 fAfterConference) 15 else 10) (ego y?) self
 ---
 >                                       setMotion: MoveTo (if (and (Btst
 fAfterConference) (Btst fManuReleased)) 15 else 10) (ego y?) self
 514c517
 <                               (if (Btst fAfterConference)
 ---
 >                               (if (and (Btst fAfterConference) (Btst
 fManuReleased))

 }}}

 Here's a diff file to a directly extracted SCICompanion version of room
 170:

 {{{
 116,117c116,120
 <                                               (= style 11)
 <                                               fromLostCityPanorama
 ---
 >                                               (if (and (= style 11) (or
 (not (proc0_6 43)) (not (proc0_6 109))))
 >
 fromLostCityPanorama
 >                                               else
 >
 fromSimbaniPanorama
 >                                               )
 434c437
 <                                       setMotion: MoveTo (if (proc0_6 43)
 15 else 10) (global0 y?) self
 ---
 >                                       setMotion: MoveTo (if (and
 (proc0_6 43) (proc0_6 109)) 15 else 10) (global0 y?) self
 438c441
 <                               (if (proc0_6 43)
 ---
 >                               (if (and (proc0_6 43) (proc0_6 109))

 }}}

 Problem is I don't know how to test it. I tried to use SCICompanion to
 extract this SC file as a patch but the game seems to completely ignore
 it.

 What do you think?
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/11432#comment:7>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list