not worth changing (That would mean rewriting the Undo function, or
at least adding an "Undo2" command), but I have not seen it mentioned
anywhere, and it should be, so...:
On Undo-Restore Logic
*** The Undo function concerns in-game action. It may double-act
to revoke "on-game" commands, but keeps its buffer focus.
Example 1:
Go/fire 75 moves/shots, Save position, go/fire 25 more (75+25=100),
then Restore position (@ 75), then Undo the restore;
LaserTank will jump back to the PENULTIMATE IN-GAME ACTION,
disregarding (=passing) the Restore command on the way there, thus
sending You back @, not 100, but 99. Restore then Undo again =98, &
so on back to 0, past which point the Tank demands a Rest[-ore/-art]
before continuing.
Example 2:
Go/fire 75 moves/shots, Save position, Undo 25 actions (75-25=50),
then Restore position (@ 75), then Undo the restore;
LaserTank performs as above, You land @ 49. (Restore then Undo again
=48, & so on.)
Actions 50-74 are now lost in-game (since there is
no "Redo" ;/), but remembered on-game: Restore from anywhere "below"
the restoration point, then save as lpb. All action, including Undone
steps (in this example 50 to 74), is saved - thus available in-game
at replay.
This is a small point made, but well worth knowing when dealing with
those long levels & automatics, where a lost move may cost You an
hour to repeat.
All for now / Charon Direnj
P.S.:
Regarding bugs - and I still see a few, however small - should they
not be listed in a document available on the home page (along with
the already present source code), for willing & able programmers in
the future?