[Enhancement] Changing radar lock in game
This could be through a settings menu or a button on the screen.
There is already an in-game setting for this ("Radar Rotation")
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.
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
ShipSelectionScreenthat invokesOptionsMenuand destroysShipSelectionScreen. - The Back button on
OptionsMenuis currently hardcoded toreturnToMainMenuwhen clicking its Back button. Add context when invokingOptionsMenuso it can insteadreturnToShipSelectionif 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
autoconnectclients, 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
onUpdatein 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
CrewStationScreenor the specific crew screens to toggle the pref.This could be as little as adding a radar lock toggle button to
HelpOverlayon relevant screens, sinceHelpOverlay'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
I think #2532 closes this.