Files
fs2open.github.com/code
Goober5000andClaude Opus 5 e2be023f84 Replace the Cockpit_active global with computed predicates
Cockpit_active was latched inside ship_render_player_ship(), which only
runs when Viewer_obj is non-null.  External, chase, warp-chase, topdown,
free-camera and dead views all null Viewer_obj, so the flag froze at its
last cockpit-view value and cockpitinactive HUD gauges vanished.  It was
also read before being written each frame (by the show-ship check and the
shadow helpers), so those decisions lagged a frame on any transition.

Replace it with three functions computed on demand:
- ship_cockpit_enabled(sip): the ship has a cockpit model and cockpits
  aren't disabled; used by the Show_ship_only_if_cockpits_enabled checks
- ship_render_player_cockpit(sip): the above, outside topdown view;
  replaces three duplicated copies of that expression
- ship_render_player_cockpit_active(): whether the viewer's cockpit is
  being rendered this frame; used by the HUD cockpit-view-choice checks

With the predicate correct, the VM_CHASE special cases added for #4804
are no longer needed and are removed.  In chase view, cockpitinactive
gauges now also respect pop-up state, No_ets, and setRenderOverride,
which the early return in HudGauge::canRender() used to bypass.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-09-11 23:39:05 -04:00
..
2026-04-30 00:35:19 -04:00
2026-07-20 23:04:56 -04:00
2026-07-23 15:52:27 +02:00
2026-07-23 15:52:27 +02:00
2018-07-15 19:37:24 +02:00
2026-07-23 15:52:27 +02:00
2026-07-23 15:52:27 +02:00
2025-08-18 11:59:22 -04:00
2026-08-16 02:04:50 +00:00
2026-05-12 11:31:20 -04:00
2026-05-28 14:43:48 +09:00
2026-04-30 00:35:19 -04:00
2026-09-08 13:20:36 -04:00
2026-09-08 10:48:13 -04:00
2026-07-20 23:04:56 -04:00
2026-07-23 15:52:27 +02:00
2026-07-23 15:52:27 +02:00
2026-07-23 15:52:27 +02:00
2016-07-22 12:07:19 +02:00