diff --git a/Changes.txt b/Changes.txt index 6140d6f59..73f089554 100644 --- a/Changes.txt +++ b/Changes.txt @@ -14,6 +14,8 @@ 6.4 to 6.5 (December XX, 2020) + * Added high scores saving. + * Enhanced cut/copy/paste for text editing. (TODO: PromptWidget) * Added undo and redo to text editing. (TODO: PromptWidget) diff --git a/docs/graphics/highscores.png b/docs/graphics/highscores.png new file mode 100644 index 000000000..cb68de0d0 Binary files /dev/null and b/docs/graphics/highscores.png differ diff --git a/docs/graphics/options_gameinfo_highscores.png b/docs/graphics/options_gameinfo_highscores.png new file mode 100644 index 000000000..f88bc399d Binary files /dev/null and b/docs/graphics/options_gameinfo_highscores.png differ diff --git a/docs/index.html b/docs/index.html index 369598e23..4f979ac70 100644 --- a/docs/index.html +++ b/docs/index.html @@ -41,6 +41,7 @@
  • Hotkeys
  • Controller Map
  • Stella's 'Time Machine'
  • +
  • High Scores Saving
  • Advanced Configuration
    @@ -303,6 +304,7 @@ TIA sprites and collisions for each object separately
  • Full system state save/load functionality
  • Automatic save state creation ('Time Machine') which allows moving back and forth in the recorded timeline
  • +
  • High scores saving
  • Cross-platform UI including a built-in ROM launcher frontend
  • Built-in extensive debugger, including static analysis with the Distella disassembler and dynamic analysis at runtime by tracking code/graphics/data sections, and @@ -593,7 +595,7 @@ 'listdelay' option; see User Interface Settings to change this setting.

    -

    Command Menu

    +

    Command Menu

    While playing a game, normally one would use the keyboard shortcuts for controlling the 'virtual' switches in Stella (ie, the commands associated with the @@ -649,13 +651,13 @@ - Enter/exit options mode + Enter/exit options mode Tab/Escape Tab/Escape - Enter/exit command mode + Enter/exit command mode Backslash (\) Backslash (\) @@ -1809,7 +1811,11 @@ Shift-Control-Alt + s Shift-Control-Cmd + s - + + Open the High Scores dialog. + Insert + Insert + Toggle 'Time Machine' mode Alt + t @@ -2272,6 +2278,58 @@ Developer Options - Time Machine tab.


    +
    +

    + High Scores

    +
    + +

    Stella allows saving high scores when the required definitions for a ROM + exist. For a number of popular games this has been done already. You are + welcome to help us with defining more games.

    + +

    High Scores dialog:

    + + +

    This dialog can be opened by pressing 'Insert' any time while a game is + played. It will read the current score from the game and allow the user + to add it as a new high score. Of course this makes most sense when a game + is over. + + The dialog items are explained in the following two tables.

    + + + + + + + + + + +
    ItemDescription
    Top rowDisplays the current game's name.
    VariationBy default the current game's variation is + selected. By changing the variation, the high scores of other + variations can be reviewed.
    High scores tableThis table displays up to ten high scores + for the current game variation. +
      +
    • Besides 'Rank' and 'Score' an optional special value (e.g. + 'Level', 'Wave' or 'Round') is displayed.
    • +
    • In the 'Name' column, the player's initials are displayed. + These can be entered when a new high score is added to the list. +
    • +
    • 'Date' and 'Time' record the time when the high score was + added.
    • +
    • The buttons at the right allow deleting individual high + scores from the list.
    • +
    +
    MD5Displays the MD5 checksum of the current game. This can + be useful for comparing and verifying high scores.
    ResetResets all high scores of the currently selected + variation.
    SaveSaves the updated high scores and closes the dialog. +
    CancelCloses the dialog without saving.
    + +

    For details how to configure high scores definintions for a game see + High Scores Properties.

    +

    +

    @@ -3277,7 +3335,7 @@

    All settings can be changed within the integrated Options UI while Stella is running (unless otherwise noted; some settings require an application restart). The Options menu can be accessed from the ROM launcher by clicking the - Options button, or in-game by pressing the 'Tab' key.

    + Options... button, or in-game by pressing the 'Tab' key.

    Options Menu dialog:

    @@ -3748,6 +3806,8 @@ +

  • +
  • High scores: This option displays the High Scores dialog for the selected ROM.

  • Reload listing: Selecting this performs a reload of the current listing. It is an alternative to pressing the 'Control + r' @@ -4648,6 +4708,42 @@ Ms Pac-Man (Stella extended codes): +

    High Scores Properties

    +

    + +

    + + + + + +
    Cart.HighscoreContains the high score definition data as JSON string.
    +

    It can be defined in the 'High Scores Properties' dialog as follows:

    + + + + + + + + + + + + + + + + + +
     Item Description
    Enable High ScoresCheck to enable high score definitions.
    VariationsDefines the number of game variations. + If the number is set to 1, the following variation definitions are not required.
    AddressDefines the address (in hex format) where the variation number is stored.
    BCDDefines whether the variation number is stored as decimal or BCD.
    0-basedDefines whether the variation number is stored zero-based.
    DigitsSelect the number of score digits displayed.
    0-digitsSelect the number of trailing score digits which are fixed to 0.
    BCDDefines whether the score is stored as decimal or BCD.
    InvertInverts the score ordering. Check if a lower score (e.g. a timer) is better.
    AddressesDefines the addresses (in hex format, highest byte first) where the score is stored. + The number of addresses required is defined by the number of digits and trailing, fixed 0-digits.
    SpecialDefines a short label (up to 5 chars) for the optional, game's special value (e.g. 'Level', 'Wave', 'Round'...). + If no label is defined, the following special definitions are not required.
    AddressDefines the address (in hex format) where the special number is stored.
    BCDDefines whether the special number is stored as decimal or BCD.
    0-basedDefines whether the special number is stored is stored zero-based.
    NoteAllows defining some free text which explains the high scores properties.
    +

    To find the required definition values, you can use Stella's built-in debugger.

    +

    Note: To verify the definitions, the current values of the addresses and the resulting score are displayed.

    +
    +

    The buttons at the bottom of the dialogs work as follows: