Opened 22 years ago

Closed 22 years ago

#498 closed defect

MI1: forrest graphics glitch

Reported by: SF/logicdeluxe Owned by: SF/ender
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Monkey Island 1

Description

Built on Oct 22 2002 00:12:50 win In the middle of several trees at the fork, Guybrush is visible one line through them while he is standing behind them. This is on both the disk version and the enhanced CD.

Ticket imported from: #626827. Ticket imported from: bugs/498.

Change History (10)

comment:1 by eriktorbjorn, 22 years ago

This problem is almost certainly caused by Ender's "totally random fix for Dig memory corruption" in revision 1.35 of gfx.cpp. I'll let him deal with it.

comment:2 by eriktorbjorn, 22 years ago

Owner: set to SF/ender

comment:3 by SF/ender, 22 years ago

Owner: SF/ender removed

comment:4 by SF/ender, 22 years ago

I've got no idea.

That was a totally random fix that just happened to fix the dig memory corruption. If anybody can find the -real- cause of the memory corruption and fix it, feel free to remove that hack.

Reassigning to the pool.

comment:5 by eriktorbjorn, 22 years ago

This is getting a bit off-topic, but...

If the problem with The Dig is that it applies the mask outside of the allocated mask buffer, wouldn't we have the same problem with the image itself that the mask belongs to? Is that image clipped, so that we should add similar clipping to decompressMaskImg( ) and decompressMaskImgOr( )? Or maybe it's applied to the wrong part of the buffer, or the buffer itself is too small.

Do you have any details at all on the Dig memory corruption? I don't even know what mask it was that you wanted to clip.

comment:6 by SF/ender, 22 years ago

I have no idea what's going on, all I noticed was that Valgrind said that function was writing one byte past the buffer, and corrupting memory...

so I changed height to (height-1) and the memory corruption stopped. I havn't really had the time to look into it any more :(

(and it's not off topic, because this bug will be fixed if someone can find the PROPER solution to the memory corruption :)

comment:7 by eriktorbjorn, 22 years ago

The glitch no longer happens with current CVS snapshots, but only because the height hack is now only used in The Dig. See patch #629043 for more discussion on what appears to be the underlying problem.

comment:8 by eriktorbjorn, 22 years ago

Aquadran checked in a fix for The Dig's nexus problems and while I don't pretend to understand it, it does mean the previous hack has been removed.

Does that mean we can close this bug report now?

comment:9 by SF/ender, 22 years ago

Owner: set to SF/ender
Status: newclosed

comment:10 by SF/ender, 22 years ago

I guess so :)

Closed.

Note: See TracTickets for help on using tickets.