[Scummvm-tracker] [ScummVM] #10814: QFG4: Crash in cave when fighting Pit Horror below the tightrope
Vhati
trac at scummvm.org
Fri Nov 23 20:19:50 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:
> it makes the most sense to simply add a workaround entry with STILLCALL.
That wasn't accepted as a legal value for arithmeticWorkarounds.
"Assertion failed: solution.type == WORKAROUND_FAKE, file
engines/sci/engine/vm_types.cpp, line 73"
\\
\\
[https://github.com/scummvm/scummvm/blob/205ee4d0d00a8aab333e4c743c27fc86d0af5b2e/engines/sci/engine/vm_types.cpp#L68
Source]: vm_types.cpp
{{{
reg_t reg_t::lookForWorkaround(const reg_t right, const char *operation)
const {
SciCallOrigin originReply;
SciWorkaroundSolution solution = trackOriginAndFindWorkaround(0,
arithmeticWorkarounds, &originReply);
if (solution.type == WORKAROUND_NONE)
error("Invalid arithmetic operation (%s - params:
%04x:%04x and %04x:%04x) from %s", operation, PRINT_REG(*this),
PRINT_REG(right), originReply.toString().c_str());
assert(solution.type == WORKAROUND_FAKE);
return make_reg(0, solution.value);
}
}}}
\\
\\
Should that check be removed from arithmetic workarounds, or should there
be a new workaround table for kSetNowSeen()?
--
Ticket URL: <https://bugs.scummvm.org/ticket/10814#comment:24>
ScummVM <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list