From 8957e224723a9f27fb23b0bf8707aacf041ff5dd Mon Sep 17 00:00:00 2001 From: Hleb Valoshka <375gnu@gmail.com> Date: Mon, 21 Oct 2019 21:11:57 +0300 Subject: [PATCH] Restore star orbits (Closes: #448) Was broken by e73e366 --- src/celengine/render.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/celengine/render.cpp b/src/celengine/render.cpp index 882a6818..339787cd 100644 --- a/src/celengine/render.cpp +++ b/src/celengine/render.cpp @@ -2565,18 +2565,25 @@ void Renderer::draw(const Observer& observer, bool foundBrightestStar = false; #endif - if ((renderFlags & ShowSSO) != 0) + if ((renderFlags & (ShowSSO | ShowOrbits)) != 0) { nearStars.clear(); universe.getNearStars(observer.getPosition(), SolarSystemMaxDistance, nearStars); // Set up direct light sources (i.e. just stars at the moment) - setupLightSources(nearStars, observer.getPosition(), now, lightSourceList, renderFlags); + // Skip if only star orbits to be shown + if ((renderFlags & ShowSSO) != 0) + setupLightSources(nearStars, observer.getPosition(), now, lightSourceList, renderFlags); // Traverse the frame trees of each nearby solar system and // build the list of objects to be rendered. for (const auto sun : nearStars) { + addStarOrbitToRenderList(*sun, observer, now); + // Skip if only star orbits to be shown + if ((renderFlags & ShowSSO) == 0) + continue; + SolarSystem* solarSystem = universe.getSolarSystem(sun); if (solarSystem == nullptr) continue; @@ -2603,7 +2610,7 @@ void Renderer::draw(const Observer& observer, solarSysTree, observer, now); - if (renderFlags & ShowOrbits) + if ((renderFlags & ShowOrbits) != 0) { buildOrbitLists(astrocentricObserverPos, observer.getOrientation(), @@ -2611,8 +2618,6 @@ void Renderer::draw(const Observer& observer, solarSysTree, now); } - - addStarOrbitToRenderList(*sun, observer, now); } if ((labelMode & BodyLabelMask) != 0)