rwe icon indicating copy to clipboard operation
rwe copied to clipboard

Implement F2 In-Game Menu (Single Player)

Open KevinHake opened this issue 2 years ago • 1 comments

Presumably we'd keep the same menu as the original? image

OTA behavior (reminder, single player. In multi there's no pause): Normal Stuff:

  • F2 brings up the menu and automatically pauses (showing PAUSED in the middle). Any menus that were displayed before are grayed out slightly and not accessible.
  • F2 again, pressing the "Resume" button, or pressing Escape closes the menu and unpauses
  • Arrow keys change highlighted menu button, with Enter activating the highlighted button
  • Right or Left clicks both activate the menu buttons the same way

Ok Stuff:

  • Hotkeys are temporarily changed to match lime green underlines of menu button labels (hard to see at high resolution), Escape mapped to Resume. Note all other hotkeys unrelated to the menu seem to be disabled.
  • Escape key also leaves the menu (I guess this is just part of remapping of hotkeys inside the menu).
  • Edge scrolling is disabled
  • Minimap "scrolling"/jump to location still works

Surprising/Weird Stuff that I'm mostly over-specifying:

  • the Pause key no longer works to unpause. You HAVE to use the Resume button or press F2 again (common confusion for new players).
  • Units on screen can still be selected, and whatever the default primary click command is, those can be issued. Shift allows queueing of commands and also cancelling queued commands. If a unit was selected, and a non-default command (like a build order) was selected before F2 was pressed, that command will still be issue-able/cancellable.
  • De-selecting any unit (by dragging a selection in the game window where no units are) ALSO leaves the menu and unpauses the game (but changing the selection to a different unit doesn't).
  • Changing the selected unit does NOT update the unit-specific menu underneath the F2 menu, it's only re-drawn once the menu is closed.

Note Issue #153 is for implementing Pause functionality.

KevinHake avatar Jul 10 '22 04:07 KevinHake

@MHeasell curious your thoughts on what RWE should do here. Do we need/want to keep the same menu structure and behavior? I'm thinking in any case, it's probably decent to simplify from OTA, e.g. disable all interaction with the game while the menu is up, and maybe allow any clicks outside the menu to exit back to the game, just to make it dead simple and fast.

As far as this issue is concerned, maybe just let it entail:

  • Working Pause (#153)
  • Re-mapped hotkeys (and revert on exit)
  • Menu toggles properly w/ grayed out in-game ui menus?
  • Clickable buttons whose functions can be other new Issues, but maybe for now just shows debug text (another needed Issue?) "not yet implemented"
  • Whatever form of simplified behavior for exiting the menu we decide

KevinHake avatar Jul 10 '22 05:07 KevinHake