NagyD / SDLPoP

An open-source port of Prince of Persia, based on the disassembly of the DOS version.
GNU General Public License v3.0
1.1k stars 140 forks source link

Added Multiple Quicksaves Feature. #270

Closed Akruzen closed 2 years ago

Akruzen commented 2 years ago

Added feature which creates multiple quicksaves and quickloads. From F1 to F5, the game will save; from F6 to F10, the game will load the respective chosen slot. The slot_key variable contains the information which decides which slot to save or load from.

P.S. This feature might not function properly during replays.

NagyD commented 2 years ago

Hi,

Unfortunately, d8683b02e7f173c568b7d3e3b933880cb4d5b29c accidentally undoes some earlier changes in data.h and seg000.c.

The source branch of the PR (your master branch) doesn't even compile, I get this error:

seg009.c: In function 'open_dat':
seg009.c:376:33: error: 'always_use_original_graphics' undeclared (first use in this function)
   if (!skip_mod_data_files && !(always_use_original_graphics && optional == 'G')) {
                                 ^

I have fixed it on a separate branch, in e8c83fd697a79f23dcc7d03d0d2532b8aa4ade99.

Then I documented it in fce580e39315145b12b2f4838bfcf45b5af3621a.

We still need to solve the following:

  1. What should the Pause menu's Quicksave and Quickload menu items do?
  2. Are these keys easy enough to remember?
    • For example, some emulators use F1..F10 to load and Shift+F1..F10 to save. You press the same function key for both, so it's easier to remember.
    • Another system used by emulators is to use a set of keys to select the slot (for example 0..9), and separate keys to save or load the selected slot.
NagyD commented 2 years ago

I have merged #271, which is an improved version of this PR. So I think I can close this?