#766 closed defect (fixed)
COMI: Saved games crash.
Reported by: | SF/barneyntd | Owned by: | fingolfin |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: | Monkey Island 3 |
Description
I'm trying to play COMI english version 1.0 from the PC CDs (bought recently in the UK) under MacOS X, using ScummVM 0.4.0 (2003-05- 11).
If I save a game in part 2 (The curse gets worse), when I reload, as soon as I look at my inventory, the game crashes. It draws the "chest" full of items, but then either "unexpectedly quits" or drops into the debugger with an error such as: ERROR (FOKA) Not found in 0... illegal block len -785460946 Typing "exit" immediately quits.
This doesn't happen in part 1, or in other games I have tried (Monkey 1, Monkey 2, DOTT). It happened in all the CVS versions I compiled myself, as well as the released binary. I don't know whether it happens in Part 3 or later, as I haven't got that far!
I will attach a saved game to this bug report.
Barney.
Ticket imported from: #737139. Ticket imported from: bugs/766.
Attachments (5)
Change History (19)
by , 22 years ago
comment:1 by , 22 years ago
Component: | → Engine: SCUMM |
---|---|
Game: | → Monkey Island 3 |
comment:2 by , 22 years ago
I only have hte german version of Comi so I can't try this save game. However, I never encountered this problem nor did I ever hear about it (which doesn't mean it doesn't exist, mind you :-).
I put some saving related changes in latest CVS, you might want to try with that (in older code versions, including 0.4.0, a few script variables could be used incorrectly; this is fixed in latest CVS).
If you start the game like this: ./scummvm -d0 -b715 comi and then save and load, does the problem occur?
comment:3 by , 22 years ago
I tried the latest cvs version: same problem. This time it dropped into the console with error message: ERROR: akos_increaseAnim: invalid code cfcf
Next I tried ./scummvm -d0 -b715 comi (as requested) which gave an error:
Cannot find file: `comi.la2` Insert disc 2 into drive /Volumes/MONKEY3_1/ Hit OK to retry, Cancel to exit
and the following terminal output:
Debuglevel (from command line): 0 Looking for comi Trying to start game 'The Curse of Monkey Island', version 8.1.0 WARNING: Illegal access to variable VAR_V6_EMSSPACE in file scumm/ scummvm.cpp, line 820! WARNING: Illegal access to variable VAR_PERFORMANCE_1 in file scumm/ gfx.cpp, line 207! WARNING: Illegal access to variable VAR_PERFORMANCE_2 in file scumm/ gfx.cpp, line 215! DEBUG: room number in boot = 715 DEBUG: sputm-debug = 1 WARNING: Set userface charset to 1! DEBUG: exit room 1 (0:71:0xAE63): Cannot find file: 'comi.la2'!
I swapped the discs, but it didn't work: it was still looking in /Volumes/ MONKEY3_1/ instead of /Volumes/MONKEY3_2/. So I can't try what you asked.
Barney.
comment:4 by , 22 years ago
I forgot that one can actually (with comi, and maybe also Dig/FT) load english save games in the german version, and vice versa (they are localized using an external file, not by modifying the scripts). Anyway, I can't reproduce any problems with your save game. Mabye do a "make clean && make" before trying again, sorry, can't say much more useful right now...
Maybe your data files are the problem? Hm... Olki, you have a mac, too, can you reproduce this?
Barney, did you try the "./scummvm -d0 -b715 comi" with CD 2 inserted initially? BTW if you have enough disk space you can also just copy the data files to your HD.
comment:5 by , 22 years ago
I didn't just try "make clean", I deleted the whole folder and got a new copy from cvs. Same problem.
I tried "./scummvm -d0 -b715 comi" with the second disk installed, and got a similar error:
Cannot find file: `comi.la0` Insert disc 0 into drive /Volumes/MONKEY3_1/ Hit OK to retry, Cancel to exit
Next I tried adding the game from the second disk, followed by "./scummvm -d0 -b715 comia" (comia is the name it gave to the new game) but I just got:
Cannot find file: `comi.la1` Insert disc 1 into drive /Volumes/MONKEY3_2/ Hit OK to retry, Cancel to exit
Finally I copied comi.la0, comi.la1, comi.la2 and all of the contents of the two RESOURCES folders to my hard disk and tried running it from there (game comib). Same problem saving & reloading in Part 2. Tried ./scummvm -d0 -b715 comib save, quit, restart, load, open inventory. It ran for a bit, then "unexpectedly quit". Here is the terminal output:
Debuglevel (from command line): 0 Looking for comi Trying to start game 'The Curse of Monkey Island', version 8.1.0 WARNING: Illegal access to variable VAR_V6_EMSSPACE in file scumm/ scummvm.cpp, line 820! WARNING: Illegal access to variable VAR_PERFORMANCE_1 in file scumm/ gfx.cpp, line 207! WARNING: Illegal access to variable VAR_PERFORMANCE_2 in file scumm/ gfx.cpp, line 215! DEBUG: room number in boot = 715 DEBUG: sputm-debug = 1 WARNING: Set userface charset to 1! DEBUG: exit room 1 DEBUG: exit room 1 WARNING: Illegal access to variable VAR_V6_EMSSPACE in file scumm/ scummvm.cpp, line 820! WARNING: o8_startVideo(/Volumes/Apps/Scumm/comi//liftcrse.san)! 2003-05-14 12:16:22.801 scummvm[3618] *** _NSAutoreleaseNoPool(): Object 0x961ca0 of class NSCFArray autoreleased with no pool in place - just leaking 2003-05-14 12:16:22.803 scummvm[3618] *** _NSAutoreleaseNoPool(): Object 0xf9dba0 of class NSCFArray autoreleased with no pool in place - just leaking 2003-05-14 12:16:22.804 scummvm[3618] *** _NSAutoreleaseNoPool(): Object 0x1e972f0 of class NSCFArray autoreleased with no pool in place - just leaking 2003-05-14 12:16:22.806 scummvm[3618] *** _NSAutoreleaseNoPool(): Object 0xf9dbc0 of class NSCFArray autoreleased with no pool in place - just leaking 2003-05-14 12:16:22.811 scummvm[3618] *** _NSAutoreleaseNoPool(): Object 0xa30783b0 of class NSCFString autoreleased with no pool in place - just leaking 2003-05-14 12:16:22.813 scummvm[3618] *** _NSAutoreleaseNoPool(): Object 0x1f04310 of class NSCFArray autoreleased with no pool in place - just leaking 2003-05-14 12:16:22.815 scummvm[3618] *** _NSAutoreleaseNoPool(): Object 0x1f16150 of class NSCFArray autoreleased with no pool in place - just leaking 2003-05-14 12:16:22.816 scummvm[3618] *** _NSAutoreleaseNoPool(): Object 0xfa5ae0 of class SDL_QuartzWindow autoreleased with no pool in place - just leaking 2003-05-14 12:16:22.819 scummvm[3618] *** _NSAutoreleaseNoPool(): Object 0x1ef1be0 of class NSCFArray autoreleased with no pool in place - just leaking
Barney.
comment:6 by , 22 years ago
(forgot to assign this to olki, to make him see this and try i on his system ;-)
Barney, you don't have latest CVS, though, judging from the "invalid variable" errors. That shouldn't be a problem, though.
To play COMI from HD, you need to put the files like this:
comi/ |-- COMI.LA0 |-- COMI.LA1 |-- COMI.LA2 `-- RESOURCE |-- BBSAN.SAN |-- CURSERNG.SAN |-- FG010GP.SAN |-- FINALE.SAN |-- FONT0.NUT |-- FONT1.NUT |-- FONT2.NUT |-- FONT3.NUT |-- FONT4.NUT |-- KIS030.SAN |-- LANGUAGE.TAB |-- LAVARIDE.SAN |-- LIFTCRSE.SAN |-- MORESLAW.SAN |-- MUSDISK1.BUN |-- MUSDISK2.BUN |-- NEWBOOTS.SAN |-- OPENING.SAN |-- SB010.SAN |-- SB020.SAN |-- SINKSHP.SAN |-- VOXDISK1.BUN |-- VOXDISK1.DAT |-- VOXDISK2.BUN |-- WRECKSAN.SAN `-- ZAP010.SAN
comment:7 by , 22 years ago
Owner: | set to |
---|
comment:8 by , 22 years ago
I can't find VOXDISK1.DAT on either of my CDs. Apart from that, that is exactly how my files are arranged. sourceforge is refusing connections at the moment, so I can't do a cvs update.
HOWEVER: I must have done something wrong in my last testing. It now seems to work fine if launched from the command line with ./scummvm comib
but crashes as before (load saved game then open inventory) if launched from the app created by "make bundle". I have tried this with several saved games, and so far, I've had no crashes starting from the command line, but starting from the application bundle, it almost always crashes (I have one saved game which doesn't crash, but it does produce lots of graphics and sound glitches).
It seems to be something to do with the application bundle, or maybe the game selection dialog.
Barney.
comment:9 by , 22 years ago
Owner: | changed from | to
---|
comment:10 by , 22 years ago
We can now reproduce the crash. It only "works" with the release binary. The key is "stripping" the binary, this will make it crashy. I also found an extermly hackish workaround. However, at this moment we have no clue what is the immediate cause of the problem, nor what a proper fix would be. Working on it. Oh yes: the problems even occur when loading the savegame from the command line, i.e. the GUI parts (launcher, saveload dialog) are not involved.
comment:11 by , 22 years ago
OK I think I found and fixed the bug (at least it is gone for me).
If you can test this for me, too, I'd be most grateful. You can download a fixed build from http://dev.quendi.de/scummvm/ScummVM-0.4.0b.tar.gz. Please tell me if that solves the problem.
comment:13 by , 22 years ago
Good. I hope we can soon do a 0.4.1 bugfix release with this and a few other fixes.
comment:14 by , 22 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Saved game which crashes on reload.