[Scummvm-tracker] [ScummVM :: Bugs] #15264: TUCKER: Unable to go to Lower Hall (Dolny korytarz) in 2nd Chapter

ScummVM :: Bugs trac at scummvm.org
Sat Jul 13 11:58:49 UTC 2024


#15264: TUCKER: Unable to go to Lower Hall (Dolny korytarz) in 2nd Chapter
--------------------------------+-----------------------------
Reporter:  m-stefanski          |       Owner:  (none)
    Type:  defect               |      Status:  new
Priority:  normal               |   Component:  Engine: Tucker
 Version:                       |  Resolution:
Keywords:  walk to bottom exit  |        Game:  Bud Tucker
--------------------------------+-----------------------------
Changes (by antoniou79):

 * component:  --Unset-- => Engine: Tucker
 * keywords:   => walk to bottom exit

Comment:

 I think I've figured the cause of this.

 There's some code that tries to access unallocated memory (outside the
 bounds of the space allocated to an array called
 _locationBackgroundMaskBuf).

 Windows handles this more *conveniently* for the game's purposes, but
 other backends probably don't.

 The culprit seems to be in the method: TuckerEngine::testLocationMask(int
 x, int y)
 wherein there's already some code that looks like a workaround but I am
 unsure if that was put in to address specifically a similar bug or
 something else.

 If we put an
 {{{
 assert (offset < 640 * 140);
 }}}
 before the "return" line trying to access
 _locationBackgroundMaskBuf[offset], then it throws assertion fault there.
 (640x140 is the size allocated to _locationBackgroundMaskBuf)

 I think I have a potential fix for this. I'll issue a PR later today, if
 possible.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/15264#comment:3>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list