Hi, > There seem to be some minor bugs, though. When I save a game in LSL2, > quit, then start LSL2 again and restore in-game, I see: > > Restarting with replay() > Memtesting E:\src\freesci\src\engine\vm.c: line 1633 > Memtest succeeded! > Attempt to set invalid attribute of menu 4, item 1: 0x001a > Resuming on handle 0000 (value 0000) > Attempt to resume invalid handle 0000 These could be bugs in LSL2. Are they fatal? Setting attribute 0x1a looks interesting, though- does Sierra SCI handle this attribute? > When restoring in-game, the free(s) at vm.c:1617 has already been free'd > somewhere else. Hmm, I can't seem to find a place where it's freed explicitly; can purify do this? Maybe dmalloc can... Also (this is important), does the error happen if restoring succeeded, or if it failed? cfsml tries to track memory that was allocated while restoring a game so that it can free that memory on error; maybe the game state was added to this list by accident. This code hasn't been tested particularly well, though. > When running under a debugger, or on some platforms, this > will cause a crash. This does not happen when doing a "quick-start". There's no old state to free in this case, after all. llap, Christoph
