Add hardware scenario state variables#2890
Closed
gwaland wants to merge 19 commits into
Closed
Conversation
Refactor TargetsContainer to handle sequentially selecting targets
by their distance from the player.
- Centralize target set population logic used by setPrev/Next().
- Add public setNext/Prev() overloads to pass a function override
for the iteration method.
- Add KnownFriendOrFoe enum to TargetsContainer to handle logic for
building target sets by their FoF state and faction relationship
to the player. This replaces the `FactionRelation` parameter in
setNext/Prev() overloads to allow more granular selections that
include or exclude entities with not-yet-known faction or FoF
relationships.
- Add prev/next selection keybinds for Weapons, Science, and Relay.
- Add prev keybind for Weapons target and hostile target.
- Add prev keybind for Science scannable target.
- Add next/prev keybinds for Science target, hostile target.
- Add next/prev keybinds for Relay targetable, hostile target,
hackable target, and launched probes. This includes logic for
selecting only targets within shared short-range radars.
- Copy new/revised Weapons keybinds to Tactical and SinglePilot.
…o Feature/probe-view-toggle-and-target-cycle-keybinds # Conflicts: # src/gui/hotkeyConfig.h # src/screens/crew6/scienceScreen.cpp
Adds a single assignable hotkey that aborts if a scan is active, or starts a scan on the selected target if idle. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Relay: use Selectable instead of Targetable so probes (which lack Hull) can be clicked and linked to science. Science: filter radar-blocked entities from all target cycling keybinds so next/prev target only selects objects visible on the radar. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds two hardware.ini variables for game-state-aware lighting:
RunningScenario, backed by a replicatedGameGlobalInfo::scenario_runningflag so hosts and connected clients can read the same state.ShuttingDown, backed by a local hardware-controller shutdown flag for the final output flush.The hardware controller now performs a final
update(0.0f)whileShuttingDownis active, then waits 100 ms before the existing window and engine teardown continues.Impact
Station-attached hardware mappings can distinguish menus/non-scenario state from loaded scenario runtime, and can apply final/default exit lighting during application shutdown without changing existing hardware.ini syntax.
Validation
git diff --checkpassed.cmake -S . -B /tmp/emptyepsilon-build -G Ninja, but this environment is missing SDL2 development package config files (SDL2Config.cmake/sdl2-config.cmake), so a full build could not be completed here.