Opened 16 years ago

Closed 16 years ago

Last modified 16 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_ 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, 16 years ago

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 by fingolfin, 16 years ago

Status: newclosed

comment:6 by fingolfin, 16 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, 16 years ago

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