diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-12-05 15:39:11 +1100 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-12-05 15:39:11 +1100 |
commit | dd52188e53e690f8eb872421f8a4c3bcc5699133 (patch) | |
tree | e99bf401ffad1f2b3988922188a12cffc04147f6 /source/game/StarSkyParameters.cpp | |
parent | 3fc12923ce2db3a5af87d8d1195ce2ac4c5b6030 (diff) |
add sky setting overrides to celestial.flyShip, pass net rules to packet read/write
Diffstat (limited to 'source/game/StarSkyParameters.cpp')
-rw-r--r-- | source/game/StarSkyParameters.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/game/StarSkyParameters.cpp b/source/game/StarSkyParameters.cpp index 3eddce5..e2ed885 100644 --- a/source/game/StarSkyParameters.cpp +++ b/source/game/StarSkyParameters.cpp @@ -7,7 +7,7 @@ namespace Star { -SkyParameters::SkyParameters() : seed(), skyType(SkyType::Barren), skyColoring(makeRight(Color::Black)) {} +SkyParameters::SkyParameters() : seed(), skyType(SkyType::Barren), skyColoring(makeRight(Color::Black)), settings(JsonObject()) {} SkyParameters::SkyParameters(CelestialCoordinate const& coordinate, CelestialDatabasePtr const& celestialDatabase) : SkyParameters() { @@ -113,6 +113,8 @@ SkyParameters::SkyParameters(Json const& config) : SkyParameters() { surfaceLevel = config.optFloat("surfaceLevel"); sunType = config.getString("sunType", ""); + + settings = config.get("settings", JsonObject()); } Json SkyParameters::toJson() const { @@ -155,6 +157,7 @@ Json SkyParameters::toJson() const { {"spaceLevel", jsonFromMaybe<float>(spaceLevel)}, {"surfaceLevel", jsonFromMaybe<float>(surfaceLevel)}, {"sunType", sunType}, + {"settings", settings} }; } @@ -170,6 +173,8 @@ void SkyParameters::read(DataStream& ds) { ds >> spaceLevel; ds >> surfaceLevel; ds >> sunType; + if (ds.streamCompatibilityVersion() >= 3) + ds >> settings; } void SkyParameters::write(DataStream& ds) const { @@ -184,6 +189,8 @@ void SkyParameters::write(DataStream& ds) const { ds << spaceLevel; ds << surfaceLevel; ds << sunType; + if (ds.streamCompatibilityVersion() >= 3) + ds << settings; } void SkyParameters::readVisitableParameters(VisitableWorldParametersConstPtr visitableParameters) { |