[Scummvm-tracker] [ScummVM] #10814: QFG4: Crash in cave when fighting Pit Horror below the tightrope
Vhati
trac at scummvm.org
Thu Nov 22 09:31:11 CET 2018
#10814: QFG4: Crash in cave when fighting Pit Horror below the tightrope
--------------------------------+-------------------------
Reporter: Vhati | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: SCI
Resolution: | Keywords: SCI32
Game: Quest for Glory 4 |
--------------------------------+-------------------------
Comment (by Vhati):
@m-kiewitz:
> The kernel function is definitely not at fault.
> [...]
> SetNowSeen32 returns a boolean, so that can't be it.
I'm sorry to ask but... Does it?
\\
\\
[https://github.com/scummvm/scummvm/blob/7f83640894c16b46aaff60baff0268a6e5e951bc/engines/sci/sci.h#L222
Source]: sci/sci.h
{{{
enum SciVersion {
// ...
SCI_VERSION_2, // GK1, PQ4 floppy, QFG4 floppy
SCI_VERSION_2_1_EARLY, // GK2 demo, KQ7 1.4/1.51, LSL6 hires,
PQ4CD, QFG4CD
}
}}}
\\
\\
[https://github.com/scummvm/scummvm/blob/c9a8ee019073a6fb0501f404d63631530716b498/engines/sci/engine/kgraphics32.cpp#L102
Source]: sci/engine/kgraphics32.cpp - kSetNowSeen32()
{{{
reg_t kSetNowSeen32(EngineState *s, int argc, reg_t *argv) {
const bool found = g_sci->_gfxFrameout->kernelSetNowSeen(argv[0]);
// MGDX is assumed to use the older kSetNowSeen since it was
released before
// SQ6, but this has not been verified since it cannot be
disassembled at
// the moment (Phar Lap Windows-only release)
// (See also getNowSeenRect)
if (getSciVersion() <= SCI_VERSION_2_1_EARLY ||
g_sci->getGameId() == GID_SQ6 ||
g_sci->getGameId() == GID_MOTHERGOOSEHIRES) {
return s->r_acc;
}
return make_reg(0, found);
}
}}}
I got lost. Can't tell if it's returning acc as-is or deferring to
something behind frameout that would modify it.
--
Ticket URL: <https://bugs.scummvm.org/ticket/10814#comment:11>
ScummVM <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list