Browse Source

Fix spacecraft panel showing for 1 frame then disappearing

- Remove unconditional reset of ui_state.selected_craft_index in render_body_list_ui()
- Only reset ui_state.selected_craft_index to -1 when body is selected
- This prevents panel from disappearing in subsequent frames when spacecraft remains selected
main
cinnaboot 5 months ago
parent
commit
b6ddca5dbb
  1. 3
      src/ui_renderer.cpp

3
src/ui_renderer.cpp

@ -123,12 +123,11 @@ void render_body_list_ui(SimulationState* sim, RenderState* render_state, UIStat
int previous_active = ui_state->body_list_active;
GuiListView(list_bounds, list_text, &ui_state->body_list_scroll, &ui_state->body_list_active);
ui_state->selected_craft_index = -1;
// Check if an item was selected
if (ui_state->body_list_active >= 0 && ui_state->body_list_active != previous_active) {
if (ui_state->body_list_active < sim->body_count) {
render_state->selected_body_index = ui_state->body_list_active;
ui_state->selected_craft_index = -1;
render_state->camera_target_enabled = true;
printf("Camera follow enabled for body: %s\n", sim->bodies[render_state->selected_body_index].name);
} else {

Loading…
Cancel
Save