[Scummvm-tracker] [ScummVM] #10789: QFG4: Peering through doors at absent bats in the castle
Vhati
trac at scummvm.org
Sat Dec 1 00:09:45 CET 2018
#10789: QFG4: Peering through doors at absent bats in the castle
--------------------------------+----------------------------
Reporter: Vhati | Owner: (none)
Type: defect | Status: new
Priority: low | Component: Engine: SCI
Resolution: | Keywords: SCI32 original
Game: Quest for Glory 4 |
--------------------------------+----------------------------
Comment (by Vhati):
Bat stairway is 632.
The lower room is 644.
The upper room, with the crest bookshelf, is 663.
The stairway tracks which bats have been killed with plot flags (331-334).
They're in a bitmask, so instead of calling proc0_4(), we can check all
four simultaneously (0000000000011110 == 30d).
{{{
global[520] & 30 == 30
}}}
\\
\\
The lower room was an easy fix. Combining the largely redundant say()
calls makes room.
script 644 - sPeepingTom::changeState(1)
{{{
(1
(if (< (g0_hero x?) 60)
# You don't see any sign of life or movement beyond the
door.
(g91_gloryMessager say: 2 155 27 1 self 640)
else
# You catch a brief glimpse of the elusive flash of wings
# on the other side of the door.
(g91_gloryMessager say: 2 155 29 1 self 640)
)
)
}}}
\\
\\
The upper room has the same problem, always reporting bats.
script 663 - sPeepingTom::changeState()
{{{
(0
(global1 handsOff:)
(global0
view: 4
setLoop: 0 1
setCel: 0
setCycle: End self
)
)
(1
# You catch a brief glimpse of the elusive flash of wings
# on the other side of the door.
(global91 say: 2 155 29 1 self 640)
)
(2 (= seconds 3))
(3 (global0 setCycle: Beg self))
(4
(global0 normalize:)
(global1 handsOn:)
(self dispose:)
)
}}}
\\
\\
I can't find freeable bytes to fix that one.
I'd rather not jump to a distant code cave somewhere else in the script,
and back.
--
Ticket URL: <https://bugs.scummvm.org/ticket/10789#comment:2>
ScummVM <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list