Skip to content

Add hardware scenario state variables#2890

Closed
gwaland wants to merge 19 commits into
daid:masterfrom
gwaland:plan/new-states
Closed

Add hardware scenario state variables#2890
gwaland wants to merge 19 commits into
daid:masterfrom
gwaland:plan/new-states

Conversation

@gwaland

@gwaland gwaland commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds two hardware.ini variables for game-state-aware lighting:

  • RunningScenario, backed by a replicated GameGlobalInfo::scenario_running flag 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) while ShuttingDown is 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 --check passed.
  • CMake configure was attempted with 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.

Bobby Walker and others added 19 commits March 30, 2026 13:03
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>
@gwaland gwaland closed this Jul 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants