diff options
author | Niffe <petrovnik01@ukr.net> | 2024-03-01 00:03:19 +0200 |
---|---|---|
committer | Niffe <petrovnik01@ukr.net> | 2024-03-01 18:28:13 +0200 |
commit | 4b4013e5c8201276cf26c8c1e68ac62a8e9b7449 (patch) | |
tree | 816732f7cf1d70cdb021c1103877fe386495f101 /source/game/StarSkyParameters.cpp | |
parent | 3453819837f8f1bb1d439bb2df66386a9f35d80d (diff) |
Dynamic sun image
Also adds access to sun scale, ray color, and fixes sun rendering in front of satellites
Diffstat (limited to 'source/game/StarSkyParameters.cpp')
-rw-r--r-- | source/game/StarSkyParameters.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/game/StarSkyParameters.cpp b/source/game/StarSkyParameters.cpp index 886d882..3eddce5 100644 --- a/source/game/StarSkyParameters.cpp +++ b/source/game/StarSkyParameters.cpp @@ -16,6 +16,7 @@ SkyParameters::SkyParameters(CelestialCoordinate const& coordinate, CelestialDat auto params = celestialDatabase->parameters(coordinate); if (!params) return; + auto systemParams = celestialDatabase->parameters(coordinate.system()); seed = staticRandomU64(params->seed(), "SkySeed"); // Gather up all the CelestialParameters and scales for all the celestial @@ -50,6 +51,8 @@ SkyParameters::SkyParameters(CelestialCoordinate const& coordinate, CelestialDat horizonImages = CelestialGraphics::worldHorizonImages(*params); readVisitableParameters(params->visitableParameters()); + + sunType = systemParams->getParameter("typeName").toString(); } SkyParameters::SkyParameters(SkyParameters const& oldSkyParameters, VisitableWorldParametersConstPtr newVisitableParameters) : SkyParameters() { @@ -108,6 +111,8 @@ SkyParameters::SkyParameters(Json const& config) : SkyParameters() { spaceLevel = config.optFloat("spaceLevel"); surfaceLevel = config.optFloat("surfaceLevel"); + + sunType = config.getString("sunType", ""); } Json SkyParameters::toJson() const { @@ -149,6 +154,7 @@ Json SkyParameters::toJson() const { {"ambientLightLevel", jsonFromMaybe<Color>(skyColoring.maybeRight(), [](Color c) { return jsonFromColor(c); })}, {"spaceLevel", jsonFromMaybe<float>(spaceLevel)}, {"surfaceLevel", jsonFromMaybe<float>(surfaceLevel)}, + {"sunType", sunType}, }; } @@ -163,6 +169,7 @@ void SkyParameters::read(DataStream& ds) { ds >> skyColoring; ds >> spaceLevel; ds >> surfaceLevel; + ds >> sunType; } void SkyParameters::write(DataStream& ds) const { @@ -176,6 +183,7 @@ void SkyParameters::write(DataStream& ds) const { ds << skyColoring; ds << spaceLevel; ds << surfaceLevel; + ds << sunType; } void SkyParameters::readVisitableParameters(VisitableWorldParametersConstPtr visitableParameters) { |