[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