Opened 15 years ago

Closed 15 years ago

Last modified 9 months ago

#1600 closed defect (fixed)

MI2: Crash because of object overflow in part4.

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

Description

Right, here is the savegame for the object overflow
(max=50).

Running the 0.7.0 cvs (14 april).

Ticket imported from: #936323. Ticket imported from: bugs/1600.

Attachments (2)

monkey2.s01 (15.1 KB) - added by SF/michel75 15 years ago.
Here is the savegame finally :)
mi2-newnames.diff (1.3 KB) - added by eriktorbjorn 15 years ago.
Patch against an April 18 CVS snapshot

Download all attachments as: .zip

Change History (16)

comment:1 Changed 15 years ago by fingolfin

Owner: set to fingolfin

comment:2 Changed 15 years ago by eriktorbjorn

There aren't any files attached. Did you forget to check the
"Check to Upload and Attach a File" box?

Changed 15 years ago by SF/michel75

Attachment: monkey2.s01 added

Here is the savegame finally :)

comment:3 Changed 15 years ago by SF/michel75

Done.

comment:4 Changed 15 years ago by eriktorbjorn

I can reproduce the crash with this save game. Fingolfin, I
seem to recall that you have a different MI2 version than I
do so the savegame might not help you after all. If so, is
there any debugging output I can provide that would help you
determine what's wrong?

I can tell that it's loading 49 object name resources. If I
managed to get the names correctly, there are some that
don't make any immediate sense to me, but most of them seem
reasonable enough.

comment:5 Changed 15 years ago by fingolfin

It wasn't specified, but I assume this savegame is for the PC English
version of MI2, which I don't own, so I can't try this out :-/

comment:6 Changed 15 years ago by eriktorbjorn

That's why I offered to provide debugging output.

Anyway, my uninformed guess would be that MI2 really does
change the name of more than 50 objects, and unless there's
a way of determining when any of these objects will never
been seen again so that they can be removed from the list
(this seems unlikely to me), the only thing we can do is to
increase the size of that list.

comment:7 Changed 15 years ago by fingolfin

Owner: changed from fingolfin to eriktorbjorn

comment:8 Changed 15 years ago by fingolfin

Sounds good to me. Increasing this to 100 object slots will only cost us
4*50 = 200 additional bytes of heap anyway. Feel free to try this out and
commit a fix :-)

Changed 15 years ago by eriktorbjorn

Attachment: mi2-newnames.diff added

Patch against an April 18 CVS snapshot

comment:9 Changed 15 years ago by eriktorbjorn

This patch seems to work for me. Does it look ok to you?

comment:10 Changed 15 years ago by fingolfin

Looks fine to me. In fact, we could just increase the limit to 100 for all
the games...

comment:11 Changed 15 years ago by eriktorbjorn

When you say "for all the games", do you mean all games in
that particular case (i.e. just remove the check for MI2
that I added), or do you mean changing it for every game
that doesn't read the value from the resource files?

comment:12 Changed 15 years ago by eriktorbjorn

Oh, what the heck. I've removed the MI2 check, but I haven't
changed the value for the older versions. We can always
extend those later, if the need arises.

This bug - and hopefully #933610 as well - should be fixed
in CVS now.

comment:13 Changed 15 years ago by eriktorbjorn

Resolution: fixed
Status: newclosed

comment:14 Changed 9 months ago by digitall

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