On Sun, 21 May 2000, Christoph Reichenbach wrote:
> > I think I have the full story on this matter now. play() is used for
> > restarting the game in every case.
Has the "replay() on second and subsequent restart" thing been abandoned?
Last time I checked it was still there.
>
> That's how it works right now in FreeSCI
> (Addendum to the cvs update message: Fixed memory leak on the SCI heap
> during restarts)
>
> > replay(), OTOH, is used for restoring
> > by the interpreter to make sure that, e.g., the status bar is updated (it
> > currently isn't in FreeSCI) and pending events from long ago are
> > discarded.
>
> Is it just called as a function which returns to the interpreter (in order
> to resume execution at the point the game was saved), or does replay()
> re-enter the main game loop? In the latter case, we'd have to distinguish
> between "regular" savegames and debug savegames (which we want to continue
> at the exact point they were saved at)?
I am not quite sure what you mean here, but what happens in RestoreGame is
somewhat similar to restarting; The relevant data is loaded and then the
VM aborts. At last, a new one is bootstrapped using replay().
>
> llap,
> Christoph
>
Lars