Hi,
> > In that case, it's likely to be an interesting bug. Please try starting up
> > the interpreter with '-D', then tell it to 'set debug_flag 1' and to 'go'.
> > It should now print every operation it executes.
> > It'd be best if you could do this on your other box as well (with the same
> > version of LSL3).
>
> I've got one more: SQ3 behaves strangely as well: it goes right to a
> death dialog ("deceleration traume: It wouldn't be so bad, except for
> the sudden stop at the end. Next time, don't get so close to the edge."
> Restore, Restart Quit). Works fine with intro and all from a linux
> box.
That one was reported on PPC a while ago but never made it to the bug
tracker...
Looking at the logs you sent, we might have some virtual heap corruption
or a call to a disposed SCI script/object/class at that point. Could you
send me a savegame of this for both platforms, please?
(to save the game state in the debugger, use 'save_game <name>'; the
result is written to "~/.freesci/<game-id>/<name>", where <game-id> is a
game-specific identifier retreived from the game scripts (LSL3 in this
case, IIRC), and <name> as specified in the function call. If you want to
reach maximum synchronity with the script on your linux box, try running
's 1937' instead of 'run' in its debug mode, this will execute 1937
byte-code operations, which should get pretty close to the 1951 steps
after which things break on IRIX (according to the logs, this should get
you to the point of divergence on the Linux side; you may need a few more
steps on IRIX). Having the program counters in sync on both sides would
give the best results, but being somewhat close should suffice (yes,
that's a vague statement, but I can't do any better ATM, with the
information I have).)
llap,
Christoph