Browse Source

Simplify maneuver texture selection with direct array indexing

main
cinnaboot 5 months ago
parent
commit
d7f11cb836
  1. 2
      docs/planning/rendering-cleanup-plan.md
  2. 25
      src/renderer.cpp

2
docs/planning/rendering-cleanup-plan.md

@ -50,7 +50,7 @@ Remove all spacecraft texture-related code:
- Update docs/technical_reference.md line 531 (references to render_body)
- **PAUSE** for user review
### Step 5: Simplify Maneuver Texture Selection
### Step 5: Simplify Maneuver Texture Selection [COMPLETED]
- Replace switch statement (renderer.cpp:426-449) with direct array indexing
- Since BurnDirection enum values are sequential (0-5), use `maneuver->direction` directly as texture_index
- Handle BURN_CUSTOM case separately if needed

25
src/renderer.cpp

@ -348,30 +348,7 @@ void render_maneuver_marker_screen_space(Spacecraft* craft, Maneuver* maneuver,
if (screen_size < 20.0f) screen_size = 20.0f;
if (screen_size > 60.0f) screen_size = 60.0f;
int texture_index;
switch (maneuver->direction) {
case BURN_PROGRADE:
texture_index = 0;
break;
case BURN_RETROGRADE:
texture_index = 1;
break;
case BURN_NORMAL:
texture_index = 2;
break;
case BURN_ANTINORMAL:
texture_index = 3;
break;
case BURN_RADIAL_IN:
texture_index = 4;
break;
case BURN_RADIAL_OUT:
texture_index = 5;
break;
default:
texture_index = 0;
break;
}
int texture_index = (maneuver->direction == BURN_CUSTOM) ? 0 : maneuver->direction;
Rectangle source = {0, 0, 32, 32};
Rectangle dest = {

Loading…
Cancel
Save