Opened 18 years ago

Closed 18 years ago

Last modified 23 months ago

#8157 closed patch

CMI: Extending gfxUsageBits[] to 96 bits

Reported by: eriktorbjorn Owned by: SF/ender
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Monkey Island 3

Description

This patch extends gfxUsageBits[] so that each entry is now 96 bytes instead of 32. This is necessary in order to keep track of the 80 simultaneous actors that CMI may (in theory) be using.

It's not a complicated patch by any means, but the save/load stuff is still completely untested, and I may very well have made an error when converting the old code. In other words, I would very much appreciate if someone would take a closer look at it before it's decided whether or not it could be applied.

I'm happy to say that even my limited testing showed that the patch seems to fix a number of CMI redraw glitches, e.g. the dagger on the difficulty selection screen, the verb coin (partially), and the cannonball splashes. I'm sure there are other examples as well, but I haven't played far enough to find any.

Ticket imported from: #667613. Ticket imported from: patches/262.

Attachments (1)

comi-usagebits.diff (16.2 KB ) - added by eriktorbjorn 18 years ago.
Patch against a January 13 CVS snapshot

Download all attachments as: .zip

Change History (6)

by eriktorbjorn, 18 years ago

Attachment: comi-usagebits.diff added

Patch against a January 13 CVS snapshot

comment:1 by SF/ender, 18 years ago

Brilliant! This fixes EVERY graphic corruption issue I've seen, and there are a lot (Eg, monkeys in the pirate ship and theatre audience during the play)

comment:2 by SF/ender, 18 years ago

Owner: set to SF/ender
Status: newclosed

comment:3 by fingolfin, 18 years ago

Err... well now it's already checked in. I'd like to have seen some changes in it, first. In particular, it would have been easily possible to make the save game format upward compatible w/o any convert function: after all, we need the alternate code *only* in V8 games, i.e. only in COMI. So the accessors for the V8 code could have just done that "old" style access in V8 games, and the V8 class would have overloaded them with the more complicated versions. Ah well, now it's too late. Would be nice if we can discuss patches like this briefly in the future before applying them :-/

comment:4 by eriktorbjorn, 18 years ago

Good point. I never considered that when I was writing it.

Is it really too late to change, though? The patch has been in for just a few hours, it's been said before that CMI savegame compatibility isn't a high priority right now, and I was under the impression that current CVS was broken for pretty much everything except CMI at the moment anyway.

comment:5 by digitall, 23 months ago

Component: Engine: SCUMM
Game: Monkey Island 3
Note: See TracTickets for help on using tickets.