Opened 15 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

Description

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_ 15 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 Changed 15 years ago by fingolfin

Please attach a savegame close to / before the crash.

comment:2 Changed 15 years ago by fingolfin

Priority: normalhigh

Changed 15 years ago by SF/ys_

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 Changed 15 years ago by Kirben

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 Changed 15 years ago by SF/dnordenberg

Hello
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 Changed 15 years ago by fingolfin

Status: newclosed

comment:6 Changed 15 years ago by fingolfin

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 Changed 15 years ago by fingolfin

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