|
|
|
|
@ -12,12 +12,20 @@ struct RenderState {
|
|
|
|
|
double distance_scale; // Scale factor for distances |
|
|
|
|
double size_scale; // Scale factor for body sizes |
|
|
|
|
int selected_body_index; // -1 = no selection |
|
|
|
|
int selected_craft_index; // -1 = no selection |
|
|
|
|
int last_target_index; // Tracks body or craft index (negative = spacecraft) |
|
|
|
|
bool camera_target_enabled; // Whether camera follows selected body |
|
|
|
|
Vector3 camera_offset; // Offset from target when following body |
|
|
|
|
int last_target_index; // Tracks body index for change detection |
|
|
|
|
Texture2D maneuver_textures[6]; // One per burn direction |
|
|
|
|
bool texture_loaded; |
|
|
|
|
}; |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
### UIState (ui_renderer.h) |
|
|
|
|
```cpp |
|
|
|
|
struct UIState { |
|
|
|
|
int body_list_scroll; // Scroll position for body list |
|
|
|
|
int body_list_active; // Active item index in body list |
|
|
|
|
bool camera_target_enabled; // Whether camera follows selected body/craft |
|
|
|
|
Vector3 camera_offset; // Offset from target when following body |
|
|
|
|
int selected_craft_index; // Selected spacecraft index (-1 = no selection) |
|
|
|
|
}; |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|