Skip to content

Add optional auto-save/restore feature using -a <filename> option

Rob Swindell requested to merge SynchronetBBS/open-adventure:autosave into master

To enable use with online Bulletin Board Systems (BBSes) where users may be disconnected unexpectedly, but would naturally want to resume playing their same game, added support for an optional save game path/filename to be specified on the command-line (very similar to "-r "), except this save/restore file is:

  1. automatically loaded/restored if it exists
  2. automatically created when starting a new game
  3. automatically updated when exiting a game for any reason
  4. cannot be changed to a different path/filename by the user

Since a BBS server program be expected to send a SIGHUP or SIGTERM to the game process upon user disconnection (or timeout), those signals are caught and a graceful termination will occur which saves the current game state.

Build with ADVENT_AUTOSAVE defined to enable this option.

BUG: The 'info' command still reports the save/suspend/pause commands as valid, though they are not when this build option is used (same is true of ADVENT_NOSAVE, and that doesn't apparently bother anyone).

Merge request reports