[Scummvm-tracker] [ScummVM :: Bugs] #13114: SQ3: v1.018 "COURSE ALREADY ACHIEVED" not displaying

ScummVM :: Bugs trac at scummvm.org
Thu Dec 9 10:38:14 UTC 2021


#13114: SQ3: v1.018 "COURSE ALREADY ACHIEVED" not displaying
-------------------+----------------------------
Reporter:  Thpwg   |       Owner:  (none)
    Type:  defect  |      Status:  new
Priority:  normal  |   Component:  Engine: SCI
 Version:          |  Resolution:
Keywords:          |        Game:  Space Quest 3
-------------------+----------------------------
Comment (by Thpwg):

 COURSE ALREADY ACHIEVED bug.
 That is a separate bug from the vocab issues.
 We can fix the bug by changing just a few lines of code :

 Open script.019 and edit (global2 newRoom: 17) to (= state 5) in
 courseScript (1

 (if (== temp0 {COURSE ALREADY ACHIEVED})
         (scanBut state: 0)
         (= state 5)
 )

 We set it to (= state 5) because after 3 seconds it will change to script
 (6 instead of (2

 and add (6

 (6
         (global2 newRoom: 17)
 )

 So courseScript should look like this after you edit it:

 (instance courseScript of Script
         (properties)

         (method (changeState newState &tmp temp0 [temp1 49])
                 (switch (= state newState)
                         (0
                                 (if local2 (localproc_003c local2) (=
 local2 0))
                                 (= global162 (/ global214 12))
                                 (if
                                 (> (= global161 (- global214 (* global162
 12))) 0)
                                         (++ global162)
                                 else
                                         (= global161 12)
                                 )
                                 (if (> global163 global161) (= global165
 1))
                                 (if (< global163 global161) (= global165
 -1))
                                 (if (== global163 global161) (= global165
 0))
                                 (if (> global164 global162) (= global166
 1))
                                 (if (< global164 global162) (= global166
 -1))
                                 (if (== global164 global162) (= global166
 0))
                                 (= seconds 2)
                         )
                         (1
                                 (= temp0
                                         (if (== global213 global214)
                                                 {COURSE ALREADY ACHIEVED}
                                         else
                                                 {STANDBY\nCALCULATING
 COURSE}
                                         )
                                 )
                                 (if (!= global213 global214) (= global217
 global213))
                                 (if local1 (localproc_003c local1) (=
 local1 0))
                                 (= local4
                                         (Display
                                                 temp0
                                                 dsWIDTH
                                                 135
                                                 dsALIGN
                                                 1
                                                 dsCOORD
                                                 168
                                                 3
                                                 dsCOLOR
                                                 14
                                                 dsFONT
                                                 600
                                                 dsSAVEPIXELS
                                         )
                                 )
                                 (if (== temp0 {COURSE ALREADY ACHIEVED})
                                         (scanBut state: 0)
                                         (= state 5)
                                 )
                                 (= seconds 3)

                         )
                         (2
                                 (if local4 (localproc_003c local4) (=
 local4 0))
                                 (if (!= global213 global214) (= cycles 2))
                         )
                         (3
                                 (= local4
                                         (Display
                                                 {COURSE LOCKED}
                                                 dsWIDTH
                                                 135
                                                 dsALIGN
                                                 1
                                                 dsCOORD
                                                 168
                                                 3
                                                 dsCOLOR
                                                 9
                                                 dsFONT
                                                 600
                                                 dsSAVEPIXELS
                                         )
                                 )
                                 (= seconds 3)
                         )
                         (4
                                 (if local4 (localproc_003c local4) (=
 local4 0))
                                 (= cycles 1)
                         )
                         (5
                                 (localproc_003c
                                         (Format @local55 {DESTINATION :
 SECTOR %d} global217)
                                 )
                                 (= global220 local155)
                                 (global2 newRoom: 17)
                         )
                         (6
                                 (global2 newRoom: 17)
                         )
                 )
         )
 )


 That should make COURSE ALREADY ACHIEVED display for 3 seconds before
 changing to room17.

 **A very special thanks to doomlazer.**
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/13114#comment:6>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list