Opened 18 years ago
Closed 18 years ago
#2690 closed defect (fixed)
INDY3 VGA: Crashes in Sewer
Reported by: | SF/mthreepwood | Owned by: | Kirben |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: | Indiana Jones 3 |
Description
In the Venice Sewers, the game randomly crashes at some points. Sometimes it will crash when you change rooms for no apparent reason. When I go back to my saved game, it works fine until I get to another room.
I used Indy3 VGA (DOS/English) with 0.9.0pre 6/14/06 on my PC.
I attached a saved game.
Ticket imported from: #1507856. Ticket imported from: bugs/2690.
Attachments (3)
Change History (13)
by , 18 years ago
comment:1 by , 18 years ago
I can confirm this, I had one crash, and when I came back nothing happend, so I didn't know whether to file a bugreport.
comment:2 by , 18 years ago
Nothing happened to me either. But, it happened about five times. It got really annoying and I figured that when other people play the game, they will be annoyed too.
comment:3 by , 18 years ago
Nothing happened to me either. But, it happened about five times. It got really annoying and I figured that when other people play the game, they will be annoyed too.
comment:5 by , 18 years ago
Does ScummVM report any error, when the crash occurs? you might need to run ScummVM via a command prompt or ms-dos prompt to see the error reported.
comment:6 by , 18 years ago
Wow... I haven't used Command Prompt/MS-DOS in a while.
Anyway, there was an error message using command prompt. It was "ERROR: Gdi:: decompressBitmap: default case 175".
comment:7 by , 18 years ago
There's an invalid write there which appears to be caused by the flashlight being undrawn after the room has changed. It tries to draw a black rectangle to the old screen.
It looks like _flashlight.isDrawn might have to be reset when the kMainVirtScreen changes, but I'm not sure how that should be done, considering initVirtScreen is in ScummEngine and the _flashlight is in ScummEngine_v5.
comment:9 by , 18 years ago
Added alternative patch, which matches the code of original games. The original games would reset the flashlight in redrawBGAreas() when drawing more than a single strip, during a full screen redraw. Also I changed clearFlashlight() to non-virtual, since only a single version is required.
comment:10 by , 18 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Saved Game in Sewer