[Scummvm-tracker] [ScummVM :: Bugs] #15436: DREAMWEB: Assert failure in showAllEx
ScummVM :: Bugs
trac at scummvm.org
Wed Oct 30 03:17:23 UTC 2024
#15436: DREAMWEB: Assert failure in showAllEx
----------------------+------------------------------
Reporter: sluicebox | Owner: (none)
Type: defect | Status: new
Priority: high | Component: Engine: Dreamweb
Version: | Keywords:
Game: |
----------------------+------------------------------
This was reported by @huntekye after the fix in #15420, and I've created a
new ticket.
To reproduce, as described by @huntekye with the attached save:
Load the saved game "game1.5_passcard", open the inventory (click on the
dude's face), click on the passcard (10th position on page 3 of the
inventory), drop it by moving it to the trash can, and then (try to) exit
the inventory.
This bug looks similar to #15420, but I don't think they are directly
related. In the previous ticket, a frame parameter was declared as 8 bits
causing the 16 bit values passed to it to silently truncate and cause
failures. In this ticket, an assertion was written 13 years ago that a
frame number would never be 256 or greater, even though the function
calculates many 16 bit frame numbers, and the function that receives the
value takes a 16 bit parameter. Also, the underlying frame arrays have
more than 255 elements.
This assertion is uncommented, and was added 13 years ago in a commit
whose description is unrelated: e40f1af3dcc282585cd8f9d173d81657ec4dc0cc .
I guess what I'm saying is, "Good luck, Team Dreamweb!" =)
I am unfamiliar with this engine/game, but I was comfortable fixing the
first bug in 77151b611059a187cc76e798a749bf900172d8d7 because it was an
easily explainable programming mistake. In this case though, @wjp wrote an
assertion that frame numbers should never be this large, even though the
surrounding loop contradicts this. This same assertion also occurs in
`showAllFree` with similar code. I leave this one to someone who knows
this engine.
I suspect these asserts should just be deleted. When I do, the game seems
to work fine. Document your assertions if you want to keep 'em =)
--
Ticket URL: <https://bugs.scummvm.org/ticket/15436>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list