Skip to content

Commit 838f35c

Browse files
authored
Merge pull request #154 from Touhma/TransitionFix
Transition fix
2 parents fcd4eff + cc2e2f4 commit 838f35c

File tree

25 files changed

+1191
-1030
lines changed

25 files changed

+1191
-1030
lines changed

GalacticScale2/DSP_Plugins.GalacticScale.csproj

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
<ItemGroup Label="Core">
4343
<PackageReference Include="BepInEx.Analyzers" Version="1.*" PrivateAssets="all" />
4444
<PackageReference Include="BepInEx.Core" Version="5.*" PrivateAssets="all" />
45-
<PackageReference Include="DysonSphereProgram.GameLibs" Version="*-*" IncludeAssets="compile" PrivateAssets="all" />
4645
<PackageReference Include="UnityEngine.Modules">
4746
<Version>2018.4.12</Version>
4847
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
@@ -53,8 +52,8 @@
5352
<Reference Include="0Harmony, Version=2.5.5.0, Culture=neutral, processorArchitecture=MSIL">
5453
<HintPath>..\packages\HarmonyX.2.5.5\lib\net45\0Harmony.dll</HintPath>
5554
</Reference>
56-
<Reference Include="Assembly-CSharp, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
57-
<HintPath>..\packages\DysonSphereProgram.GameLibs.0.8.23.9989-r.0\lib\net45\Assembly-CSharp.dll</HintPath>
55+
<Reference Include="Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
56+
<HintPath>..\..\..\Program Files (x86)\Steam\steamapps\common\Dyson Sphere Program\DSPGAME_Data\Managed\publicized_assemblies\Assembly-CSharp_publicized.dll</HintPath>
5857
</Reference>
5958
<Reference Include="BepInEx, Version=5.4.15.0, Culture=neutral, processorArchitecture=MSIL">
6059
<HintPath>..\packages\BepInEx.BaseLib.5.4.16\lib\net35\BepInEx.dll</HintPath>

GalacticScale2/Scripts/Bootstrap.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public partial class GS2
2020
[BepInDependency(NebulaAPI.NebulaModAPI.API_GUID)]
2121
public class Bootstrap : BaseUnityPlugin
2222
{
23-
public const string VERSION = "2.2.0.16";
23+
public const string VERSION = "2.2.0.23";
2424

2525
public new static ManualLogSource Logger;
2626

GalacticScale2/Scripts/GalacticScale2.0/Galaxy Generation/ProcessGalaxy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public static partial class GS2
99
{
1010
public static GalaxyData ProcessGalaxy(GameDesc desc, bool sketchOnly = false)
1111
{
12-
Log($"Start ProcessGalaxy:{sketchOnly} StarCount:{gameDesc.starCount} Seed:{gameDesc.galaxySeed} Called By{GetCaller()}");
12+
Log($"Start ProcessGalaxy:{sketchOnly} StarCount:{gameDesc.starCount} Seed:{gameDesc.galaxySeed} Called By{GetCaller()}. Galaxy StarCount : {galaxy?.stars?.Length}");
1313
var random = new Random(GSSettings.Seed);
1414
try
1515
{

GalacticScale2/Scripts/GalacticScale2.0/Generators/GS2Dev/Orbits.cs

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Collections.Generic;
2+
using System.Linq;
23
using UnityEngine;
34

45
namespace GalacticScale.Generators
@@ -31,24 +32,27 @@ public void NamePlanets(GSStar star)
3132

3233
private void AssignPlanetOrbits(GSStar star)
3334
{
34-
// GS2.Warn("Start:"+star.Planets.Count);
35+
GS2.Warn($"-------------------------------------------------------------------------------");
36+
GS2.Warn($"--{star.Name}-----------------------------------------------------------------------------");
37+
GS2.Warn($"--{star.displayType}-----------------------------------------------------------------------------");
38+
GS2.Warn($"Assigning Planet Orbits for {star.Name}:{star.Planets.Count} planets to assign");
3539
var r = new GS2.Random(star.Seed);
3640
var orbits = new List<Orbit>();
3741
ref var planets = ref star.Planets;
3842
var brokenPlanets = new GSPlanets();
3943
planets.Sort(PlanetSortBySystemRadius);
40-
// GS2.WarnJson((from s in planets select s.details).ToList());
44+
GS2.WarnJson((from s in planets select s.details).ToList());
4145
CalculateHabitableZone(star);
4246
var minimumOrbit = CalculateMinimumOrbit(star);
4347
var maximumOrbit = CalculateMaximumOrbit(star);
48+
GS2.Warn($"Minimum Orbit:{minimumOrbit} Maximum Orbit:{maximumOrbit}");
4449
var freeOrbitRanges = new List<(float inner, float outer)>();
4550

4651
//Warn("Orbit Count 0");
4752
if (star == birthStar)
4853
{
4954
var birthRadius = Mathf.Clamp(r.NextFloat(star.genData.Get("minHZ").Float(0f), star.genData.Get("maxHZ").Float(100f)), star.RadiusAU * 1.5f, 100f);
50-
//Warn(
51-
//$"Selected Orbit {birthRadius} for planet {birthPlanet.Name}. Hz:{star.genData.Get("minHZ").Float(0f)}-{star.genData.Get("maxHZ").Float(100f)}");
55+
GS2.Warn($"Selected Orbit {birthRadius} for planet {birthPlanet.Name}. Hz:{star.genData.Get("minHZ").Float(0f)}-{star.genData.Get("maxHZ").Float(100f)}");
5256
var orbit = new Orbit(birthRadius);
5357
orbit.planets.Add(birthPlanet);
5458
birthPlanet.OrbitRadius = birthRadius;
@@ -65,12 +69,12 @@ private void AssignPlanetOrbits(GSStar star)
6569
freeOrbitRanges.Add((minimumOrbit, maximumOrbit));
6670
}
6771

68-
// GS2.Warn("Begin Loop:" + star.Planets.Count);
72+
GS2.Warn("Begin Loop:" + star.Planets.Count);
6973
for (var i = 0; i < planets.Count; i++)
7074
{
7175
Orbit orbit;
7276
var planet = planets[i];
73-
// GS2.Log($"Finding Orbit for planet index {i} - {planet.Name}");
77+
GS2.Log($"Finding Orbit for planet index {i} - {planet.Name}");
7478
if (planet == birthPlanet)
7579
// planet.Name += " BIRTH";
7680
continue;
@@ -79,33 +83,39 @@ private void AssignPlanetOrbits(GSStar star)
7983
//planet.OrbitInclination = 0f;
8084

8185

82-
// Log($"Orbit Count > 1. Free orbit range count = {freeOrbitRanges.Count}");
86+
GS2.Log($"Orbit Count > 1. Free orbit range count = {freeOrbitRanges.Count}");
8387
var availableOrbits = new List<(float inner, float outer)>();
8488
foreach (var range in freeOrbitRanges)
85-
// GS2.Log($"Free orbits:{range}. Checking SystemRadius:{planet.SystemRadius}. {(0.05f+ 2 * planet.SystemRadius)}");
89+
{
90+
GS2.Log($"Free orbits:{range}. Checking SystemRadius:{planet.SystemRadius}. {(0.05f + 2 * planet.SystemRadius)}");
91+
92+
8693
if (range.outer - range.inner > 0.05f + 2 * planet.SystemRadius)
94+
{
8795
//(1 + 1 * (GetSystemDensityBiasForStar(star) / 50)) * 2*planet.SystemRadius)
88-
// Log($"Adding {range}");
96+
GS2.Log($"Adding {range}");
8997
availableOrbits.Add(range);
98+
}
99+
}
90100

91-
if (availableOrbits.Count == 0)
101+
if (availableOrbits.Count == 0)
92102
{
93-
// Warn("Free Orbit Ranges:");
94-
// LogJson(freeOrbitRanges);
95-
// Warn($"No Orbit Ranges found for planet {planet.Name} {planet.genData["hosttype"]} {planet.genData["hostname"]} radius:{planet.SystemRadius}");
103+
GS2.Warn("Free Orbit Ranges:");
104+
GS2.LogJson(freeOrbitRanges);
105+
GS2.Warn($"No Orbit Ranges found for planet {planet.Name} {planet.genData["hosttype"]} {planet.genData["hostname"]} radius:{planet.SystemRadius}");
96106
var success = false;
97107
foreach (var existingOrbit in orbits)
98108
if (existingOrbit.hasRoom && existingOrbit.SystemRadius > planet.SystemRadius)
99109
{
100-
// Warn($"Existing orbit {existingOrbit.radius} used for planet {planet.Name}");
110+
GS2.Warn($"Existing orbit {existingOrbit.radius} used for planet {planet.Name}");
101111
existingOrbit.planets.Add(planet);
102112
planet.OrbitRadius = existingOrbit.radius;
103113
planet.OrbitalPeriod = Utils.CalculateOrbitPeriod(planet.OrbitRadius);
104114
success = true;
105115
break;
106116
}
107117

108-
// GS2.Log($"{planet.Name} orbit radius {planet.OrbitRadius}");
118+
GS2.Log($"{planet.Name} orbit radius {planet.OrbitRadius}");
109119
if (success) continue;
110120

111121
GS2.Warn($"After all that, just couldn't find an orbit for {planet.Name} {planet.genData["hosttype"]} {planet.genData["hostname"]} . Throwing planet into the sun.");
@@ -118,20 +128,22 @@ private void AssignPlanetOrbits(GSStar star)
118128

119129
if (availableOrbits.Count == 0)
120130

121-
// GS2.Log($"No Available Orbits Found for Planet {planet.Name}");
131+
{
132+
GS2.Log($"No Available Orbits Found for Planet {planet.Name}");
122133
continue;
134+
}
123135
var selectedRange = r.Item(availableOrbits);
124-
// GS2.Log($"radius = r.NextFloat({selectedRange.inner + planet.SystemRadius}, {selectedRange.outer - planet.SystemRadius})");
136+
GS2.Log($"radius = r.NextFloat({selectedRange.inner + planet.SystemRadius}, {selectedRange.outer - planet.SystemRadius})");
125137
var radius = r.NextFloat(selectedRange.inner + planet.SystemRadius, selectedRange.outer - planet.SystemRadius);
126138
freeOrbitRanges.Remove(selectedRange);
127139
orbit = new Orbit(radius);
128140
orbit.planets.Add(planet);
129141
planet.OrbitRadius = radius;
130-
// GS2.Log($"-{planet.Name} orbit radius {planet.OrbitRadius}");
142+
GS2.Log($"-{planet.Name} orbit radius {planet.OrbitRadius}");
131143

132144
planet.OrbitalPeriod = Utils.CalculateOrbitPeriod(planet.OrbitRadius);
133-
// Log(
134-
// $"selected orbit({radius}) for {planet.Name}({planet.SystemRadius}) SelectedRange:{selectedRange.inner}, {selectedRange.outer} New Ranges: {selectedRange.inner},{radius - planet.SystemRadius}({radius - planet.SystemRadius - selectedRange.inner}) | {radius + planet.SystemRadius}, {selectedRange.outer}({selectedRange.outer - radius - planet.SystemRadius})");
145+
GS2.Warn(
146+
$"selected orbit({radius}) for {planet.Name}({planet.SystemRadius}) SelectedRange:{selectedRange.inner}, {selectedRange.outer} New Ranges: {selectedRange.inner},{radius - planet.SystemRadius}({radius - planet.SystemRadius - selectedRange.inner}) | {radius + planet.SystemRadius}, {selectedRange.outer}({selectedRange.outer - radius - planet.SystemRadius})");
135147
orbits.Add(orbit);
136148
var minGap = 0.1f;
137149

GalacticScale2/Scripts/GalacticScale2.0/Generators/GS2Dev/Stars.cs

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ private int ParsePlanetSize(int size)
197197

198198
private FloatPair CalculateHabitableZone(GSStar star)
199199
{
200+
GS2.Warn($"Calculating Habitable Zone for {star.Name}");
200201
var lum = star.luminosity;
201202
var flp = Utils.CalculateHabitableZone(lum);
202203
var min = flp.low;
@@ -213,22 +214,23 @@ private FloatPair CalculateHabitableZone(GSStar star)
213214

214215
if (star.genData.Get("hasBinary", false))
215216
{
216-
// GS2.Warn($"{star.Name} Binary offset : {star.genData.Get("binaryOffset", 1f)}");
217-
// GS2.Warn($"Increasing by {star.genData.Get("binaryOffset", 1)*60f}");
218-
// GS2.Warn($"Star RadiusAU:{star.RadiusAU}");
219-
// GS2.WarnJson(GSSettings.Stars.Select(o=>(o.Name,o.RadiusAU)).ToList());
217+
GS2.Warn($"{star.Name} Binary offset : {star.genData.Get("binaryOffset", 1f)}");
218+
GS2.Warn($"Increasing by {star.genData.Get("binaryOffset", 1)*60f}");
219+
GS2.Warn($"Star RadiusAU:{star.RadiusAU}");
220+
GS2.WarnJson(GSSettings.Stars.Select(o=>(o.Name,o.RadiusAU)).ToList());
220221
min += star.genData.Get("binaryOffset", 1f) * 60f;
221222
max += star.genData.Get("binaryOffset", 1f) * 60f;
222223
}
223224

224225
star.genData.Set("minHZ", min);
225226
star.genData.Set("maxHZ", max);
226-
// GS2.Warn($"HZ of {star.Name} {min}:{max}");
227+
GS2.Warn($"HZ of {star.Name} {min}:{max}");
227228
return new FloatPair(min, max);
228229
}
229230

230231
private float CalculateMinimumOrbit(GSStar star)
231232
{
233+
Warn($"Calculating Minimum Orbit for {star.Name}");
232234
var sl = GetTypeLetterFromStar(star);
233235

234236
var radius = star.RadiusAU;
@@ -237,21 +239,27 @@ private float CalculateMinimumOrbit(GSStar star)
237239

238240
if (preferences.GetBool($"{sl}orbitOverride"))
239241
{
242+
240243
var fp = preferences.GetFloatFloat($"{sl}orbits", new FloatPair(0.02f, 20f));
244+
Warn($"Using Star Type Override {fp.low}");
241245
min = fp.low;
242246
}
243247

244-
if (star.genData.Get("hasBinary", false)) min += star.genData.Get("binaryOffset", 1f) * 60f;
248+
if (star.genData.Get("hasBinary", false))
249+
{
250+
Warn("Increasing for Binary");
251+
min += star.genData.Get("binaryOffset", 1f) * 60f;
252+
}
245253
min = Clamp(min, radius * 1.1f, 100f);
246254
star.genData.Set("minOrbit", min);
247-
// Warn($"Getting Min Orbit for Star {star.Name} Min:{min}");
255+
Warn($"Getting Min Orbit for Star {star.Name} Min:{min}");
248256
return min;
249257
}
250258

251259
private float CalculateMaximumOrbit(GSStar star)
252260
{
253261
var sl = GetTypeLetterFromStar(star);
254-
262+
Warn($"Calculating Maximum Orbit for {star.Name}");
255263
var minMaxOrbit = 5f;
256264
var lum = star.luminosity;
257265
var hzMax = star.genData.Get("maxHZ");
@@ -264,12 +272,19 @@ private float CalculateMaximumOrbit(GSStar star)
264272
var max = Clamp(Max(maxByPlanetCount, minMaxOrbit, maxOrbitByLuminosity, maxOrbitByRadius, maxOrbitByHabitableZone), star.genData.Get("minOrbit") * 2f, star.MaxOrbit);
265273
if (preferences.GetBool($"{sl}orbitOverride"))
266274
{
275+
267276
var fp = preferences.GetFloatFloat($"{sl}orbits", new FloatPair(0.02f, 20f));
268277
max = fp.high;
278+
Warn($"Using Star Type Override {fp.high} from {fp} in {sl}orbits");
269279
}
270280

271-
// Warn($"Getting Max Orbit for Star {star.Name} HardCap:{star.MaxOrbit} MaxbyRadius({star.radius}):{maxOrbitByRadius} MaxbyPlanets({star.PlanetCount}):{maxByPlanetCount} MaxbyLum({lum}):{maxOrbitByLuminosity} MaxByHZ({hzMax}):{maxOrbitByHabitableZone} Max({max}):{max} HabitableZone:{star.genData.Get("minHZ")}:{hzMax}");
272-
if (star.genData.Get("hasBinary", false)) max += star.genData.Get("binaryOffset", 1f) * 60f;
281+
Warn($"Getting Max Orbit for Star {star.Name}\r\n HardCap:{star.MaxOrbit} \r\nMaxbyRadius({star.radius}):{maxOrbitByRadius} \r\nMaxbyPlanets({star.PlanetCount}):{maxByPlanetCount} \r\nMaxbyLum({lum}):{maxOrbitByLuminosity} \r\nMaxByHZ({hzMax}):{maxOrbitByHabitableZone} \r\n HabitableZone:{star.genData.Get("minHZ")}:{hzMax}");
282+
Warn($"Final Max({max}):{max}");
283+
if (star.genData.Get("hasBinary", false))
284+
{
285+
Warn("Increasing Max Orbit for Binary");
286+
max += star.genData.Get("binaryOffset", 1f) * 60f;
287+
}
273288
star.genData.Set("maxOrbit", max);
274289
return max;
275290
}

GalacticScale2/Scripts/GalacticScale2.0/IO/Json.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -104,24 +104,24 @@ public static GSTheme LoadJsonTheme(string filename)
104104

105105
public static bool LoadSettingsFromJson(string path)
106106
{
107-
// Log("Start");
107+
Log("Start");
108108
if (!CheckJsonFileExists(path)) return false;
109109

110-
// Log("Path = " + path);
110+
Log("Path = " + path);
111111
var serializer = new fsSerializer();
112112
GSSettings.Stars.Clear();
113-
// Log("Initializing ThemeLibrary");
113+
Log("Initializing ThemeLibrary");
114114
GSSettings.ThemeLibrary = ThemeLibrary.Vanilla();
115115
GSSettings.GalaxyParams = new GSGalaxyParams();
116-
// Log("Reading JSON");
116+
Log("Reading JSON");
117117
var json = File.ReadAllText(path);
118118
var result = GSSettings.Instance;
119-
// Log("Parsing JSON");
119+
Log("Parsing JSON");
120120
var data = fsJsonParser.Parse(json);
121-
// Log("Trying To Deserialize JSON");
121+
Log("Trying To Deserialize JSON");
122122
serializer.TryDeserialize(data, ref result);
123-
// LogJson(result.galaxyParams);
124-
// Log("End");
123+
LogJson(result.galaxyParams);
124+
Log("End");
125125
return true;
126126
}
127127

0 commit comments

Comments
 (0)