EmptyEpsilon icon indicating copy to clipboard operation
EmptyEpsilon copied to clipboard

[Enhancement] Changing radar lock in game

Open Ownezx opened this issue 6 months ago • 4 comments

This could be through a settings menu or a button on the screen.

Ownezx avatar Jun 25 '25 14:06 Ownezx

There is already an in-game setting for this ("Radar Rotation")

Image

parracodea avatar Jun 26 '25 02:06 parracodea

I apologize, I wasn't clear, I was proposing to add that during game to avoid a player to have to disconnect the server and go in the settings if they wish to change the settings mid game.

Ownezx avatar Jun 26 '25 02:06 Ownezx

It seems feasible to invoke the entire OptionsMenu from ShipSelectionScreen. This would allow changing more options than just radar lock, without disconnecting as a client or halting the server.

Also, the radar lock preferences are applied when the crew screen is instantiated, so even if the pref was toggled from a crew screen, it wouldn't take effect until you exited the crew screen and re-entered it. So you'd have to check the pref on update or otherwise invoke a reloading of the crew screen when the pref is updated.

So two options, not necessarily exclusive of each other, might be:

  • Add an Options button to ShipSelectionScreen that invokes OptionsMenu and destroys ShipSelectionScreen.
  • The Back button on OptionsMenu is currently hardcoded to returnToMainMenu when clicking its Back button. Add context when invoking OptionsMenu so it can instead returnToShipSelection if called from there.
  • Since the pref is applied during crew screen instantiation, this doesn't require any changes to existing crew screen behaviors.
  • This doesn't help autoconnect clients, who can't access ship selection.

https://github.com/user-attachments/assets/d8783215-792d-47e8-b965-cbd0f93fdeef

EDIT: This is now implemented via #2532.

and/or

  • Move the radar lock prefs check from instantiation to onUpdate in each relevant screen.

  • Reset the radar rotation when the lock is disabled. Otherwise, the radar retains the last rotation value before the radar lock mode change.

  • Add a button or keybind on CrewStationScreen or the specific crew screens to toggle the pref.

    This could be as little as adding a radar lock toggle button to HelpOverlay on relevant screens, since HelpOverlay's contents are already conditionalized to the active crew screen.

https://github.com/user-attachments/assets/a6c67039-edf0-4376-b899-d96b76d20b0b

Example diff: https://github.com/daid/EmptyEpsilon/compare/2645d9203838df21a548f707dab6c9cc58bd70bb...oznogon:EmptyEpsilon:2456-client-settings-without-disconnect?expand=1

oznogon avatar Jul 02 '25 02:07 oznogon

I think #2532 closes this.

oznogon avatar Oct 22 '25 02:10 oznogon