Hi,

On Sun, 28 Nov 1999, Lars Skovlund wrote:

[PQ requires RestartGame]

> So we  have quite a few related problems at our hands here:
> 
>   * Simply calling invoke_selector in kRestartGame may eventually fill
> up the execution stack if the game is restarted often enough (we could
> clear the exec stack, though)

Since we're using a non-system stack, clearing it is rather easy. However,
I think that we should implement this the way savegames work, i.e. quit
the execution loop, and start a new exec stack.

>   * The way I see it (TWISI?) we can't handle RestartGame TWSUTDT,
> beceause of the way we implement game_state_t. This may require a
> restructuring of our code.

I disagree :-)

>   * Even after implementing kRestartGame, the original PQ bug still
> occurs (i.e. the copy protection reappears, although after a longer
> while now)

<expletive/>

Anyway, what exactly does it do again? IIRC, it calls 
<gameobj>::restart(), is that correct?

> BTW: AddToPic needs to be prepared to receive a null pointer as a
> parameter. Haven't checked if this is original SCI behaviour or because
> of my particular (and possibly buggy) RestartGame implementation,
> thouugh.

I've fixed it in a way that discards the picview list if
AddToPic(NULL) is run. I don't think that it makes a lot of sense
(picviews are supposed not to change after Animate() is called for the
first time), but if PQ wants it, it can have it.

llap,
 Christoph

Reply via email to