Skip to content

Allow changing options in-game #31

@sdthompson1

Description

@sdthompson1

Sometimes players want to access the options screen in-game (e.g. to adjust their controls). This might be a good feature to add - e.g. could add "O" for Options to the in-game ESC menu (and maybe have an "Options" UI button on the quest selection screen).

Some random technical notes (not fully thought out yet):

  • Currently OptionsScreen is hard-coded to go back to TitleScreen. Instead, we could give it a "continuation" (a function returning a unique_ptr<Screen>) to allow it to go back to InGameScreen or MenuScreen.
  • The OptionsScreen would need to keep the game running in the background - e.g. check what InGameScreen::update does, and replicate it in OptionsScreen::update if necessary. We would also have to keep the GameManager open, keep KnightsClient around, etc.
  • When opening options from in-game, we should automatically put the "Show controls for" dropdown on the correct setting (for the current game mode).
  • If the control method is changed (action bar controls vs. original Amiga controls) the server needs to be told about this. We can send CLIENT_SET_ACTION_BAR_CONTROLS again, but currently the server only expects to receive this at game startup. If received mid-game, the server would have to find the relevant Player object and change the action_bar_controls flag on that Player.

Metadata

Metadata

Assignees

No one assigned

    Labels

    user experienceUser interface, quality of life features, etc.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions