Opened 16 years ago

Closed 15 years ago

Last modified 15 years ago

#1624 closed defect (fixed)

COMI: Crash when you choose Rottingham as your first oponent

Reported by: SF/ys_ Owned by: fingolfin
Priority: high Component: Engine: SCUMM
Keywords: Cc:
Game: Monkey Island 3


Starting chapter 3, if you try to battle Rottingham
before you do with any other ship, game crashes with
this stuff:

scummvm: scumm/script_v6.cpp:502: int
Scumm::ScummEngine_v6::readArray(int, int, int):
Assertion `base >= 0 && base < ((uint16)(ah->dim1)) *
((uint16)(ah->dim2))' failed.

Spanish version.
CVS 20040510
Compiled with GCC 3.3
686 (Pentium III Katmai)
GNU/Linux 2.6.4

Ticket imported from: #953302. Ticket imported from: bugs/1624.

Attachments (1)

comi.s12 (56.1 KB ) - added by SF/ys_ 16 years ago.
bypass this scene, then chapter 3 starts and you can check it by looking at the map and finding rottingham's ship

Download all attachments as: .zip

Change History (8)

comment:1 by fingolfin, 16 years ago

Please attach a savegame close to / before the crash.

comment:2 by fingolfin, 16 years ago

Priority: normalhigh

by SF/ys_, 16 years ago

Attachment: comi.s12 added

bypass this scene, then chapter 3 starts and you can check it by looking at the map and finding rottingham's ship

comment:3 by Kirben, 16 years ago

I have often seen this problem but always assumed it was
due to using boot parameters. Just use a boot parameter to
re-produce issue, 470 in this case.

comment:4 by SF/dnordenberg, 15 years ago

My little brother wanted to play COMI on my computer and I
said fine but I don't want it installed on my harddrive so I
said run it in scummvm. He soon hit this bug and was quite
upset about it :( (he doesnt understand what a bug is) Tried
with CVS from yesterday on windows 2000. Whats the status on
solving this bug? Do you need any more information? Still
needing save file? I saw one was already attached so I guess
fingolfins comment does not apply any more?

Some sidenotes on comi:
The game requires some really intensive discswap that I
can't imagine the official engine does (I know I can copy
the game to hdd). ScummVM is also a lot slower than the the
official engine and lags and skips trough large part of high
motion scenes on my pentium 266 MHz where the official game
engine runs smooth on my other p 166 MHz computer but
occationally crashes instead (old obsolete win me instable
as hell computer ;-)

comment:5 by fingolfin, 15 years ago

Status: newclosed

comment:6 by fingolfin, 15 years ago

Fixed in CVS. It turned out that an odd workaround I added a long time
ago hinted at a deeper problem, I just didn't understand it properly:
COMI is special regarding the way it pre-declares two dimensional
arrays. A small tweak in ScummEngine_v8::readArrayFromIndexFile()
not only solved this problem but allowed me to get rid of that old hack.
And it might very well fix other problems, too :-).

comment:7 by fingolfin, 15 years ago

Owner: set to fingolfin
Resolution: fixed
Note: See TracTickets for help on using tickets.