[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