Opened 14 years ago

Closed 14 years ago

#4836 closed defect (fixed)

DRACI : Segfault Crash when dirtying Goblins Beard

Reported by: digitall Owned by: rspalek
Priority: normal Component: Engine: Draci
Version: Keywords:
Cc: Game: Dragon History


A segfault crash occured when dirtying the Goblins Beard with Soot.

I have been unable to replicate this, though a few tries have produced odd gfx behaviour. See attached screenshot.

ScummVM 1.1.0pre48399 (Mar 25 2010 02:42:50) Features compiled in: Vorbis FLAC MP3 ALSA RGB zLib FluidSynth built on Linux x86_32 2.6.31 by GCC 4.3.4

Ticket imported from: #2976777. Ticket imported from: bugs/4836.

Attachments (2)

draci.s13 (20.4 KB ) - added by digitall 14 years ago.
Savegame to help replication
scummvm00001.jpg (73.6 KB ) - added by digitall 14 years ago.
Odd GFX Behaviour…

Download all attachments as: .zip

Change History (8)

by digitall, 14 years ago

Attachment: draci.s13 added

Savegame to help replication

by digitall, 14 years ago

Attachment: scummvm00001.jpg added

Odd GFX Behaviour...

comment:1 by fingolfin, 14 years ago

Owner: set to rspalek

comment:2 by rspalek, 14 years ago

how did you replicate the gfx from the savegame? maybe it's the same bug. if I can get to it, I might be able to fix the crash, too.

comment:3 by digitall, 14 years ago

I have been able to replicate the gfx oddity from the savegame under valgrind with : ScummVM 1.2.0svn48462 (Apr 2 2010 03:09:01) Features compiled in: Vorbis FLAC MP3 ALSA RGB zLib FluidSynth

There is no associated memory errors or segfault and I now suspect that the segfault seen was probably due to the same cause as bug 2976774. I am unable to replicate, so that part of this bug can be considered closed.

As for the gfx oddity, Bert can move behind the corner of the fireplace near "The Hall Of Traditions". I assume this is valid, with the fireplace being partly a foreground layer.

The GFX oddity depicted can be replicated by placing Bert behind the fireplace, then clicking rapidly around the area to the lower right of the soot.

If this is timed correctly i.e. as Bert rounds the corner, Bert instead of moving around the corner of the fireplace "validly", appears to walk through the corner bricks of the fireplace, resulting in the glitch seen.

This appears to be a benign glitch and probably present in the original.

spalek : I leave it up to you whether you want to try to correct this, or just note it as known in original.

comment:4 by rspalek, 14 years ago

your description seems to imply that this is indeed not a real bug. often having the animations placed properly along the Z-axis relies on a 1-pixel accuracy. I'm not sure whether such a bug is present in the original game (probably yes), but my hero-walking algorithm is completely different from the original one (I would say better) and to ensure smooth animations, the hero is sometimes displaced by a few pixels away from the optimal straight line. this is because when you step on your foot, your head is higher than in the middle of the step.

while it is in principle possible to complicate the algorithm to preserve smooth animations but keep the Z-coordinate intact, I'm reluctant to do any big changes, because I'm extremely tight on time now.

we don't have to close this bug, but I would lower its priority and label it either Won't Fix, Would be nice to fix, or Later. the glitch anyway persists only for a short time until you click away with the hero. if there was something wrong with the graphics that would corrupt the screen, I would thing differently.

comment:5 by digitall, 14 years ago

OK. Since the original segfault seems to have been corrected and with the minor gfx issue not being a regression from the original engine, I'm going to close this.

comment:6 by digitall, 14 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.