Skip to content
This repository was archived by the owner on Apr 21, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions SubdivisionData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ public class SubdivisionData //Only added to quads that could be subdivided (
{
public PQ quad;
public int subdivisionLevel;
public string cbNameLaterName;
public bool usesCbNameLater = false;
public bool subdividable = false;
public GameObject newQuad;
public bool initialized = false;
Expand All @@ -71,12 +73,17 @@ public class SubdivisionData //Only added to quads that could be subdivided (
public Material quadMaterial;
public bool materialCreated = false;
public AdvancedSubdivision subdivisionComponent;
public SubdivisionData(PQ quad, int subdivisionLevel, float subdivisionRadius, bool subdividable)
public SubdivisionData(PQ quad, int subdivisionLevel, float subdivisionRadius, bool subdividable, bool usesCbNameLater, string cbNameLaterName)
{
this.quad = quad;
this.subdivisionLevel = subdivisionLevel;
this.subdividable = subdividable;
this.subdivisionSearchRadius = subdivisionRadius;
this.usesCbNameLater = usesCbNameLater;
if (this.usesCbNameLater)
{
this.cbNameLaterName = cbNameLaterName;
}
quadMaterial = DetermineMaterial();

if (subdividable)
Expand Down Expand Up @@ -166,7 +173,7 @@ public void Subdivide()
}
public Material DetermineMaterial()
{
ParallaxBody body = ParallaxBodies.parallaxBodies[quad.sphereRoot.name];
ParallaxBody body = ParallaxBodies.parallaxBodies[usesCbNameLater ? cbNameLaterName : quad.sphereRoot.name];

float lowStart = body._LowStart;
float lowEnd = body._LowEnd;
Expand Down
14 changes: 13 additions & 1 deletion SubdivisionMod.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,11 @@ public class PQSMod_Subdivide : PQSMod
{
public int subdivisionLevel = 1;
public float subdivisionRadius = 100;
public string cbNameLaterName;
public bool usesCbNameLater = false;
public override void OnQuadBuilt(PQ quad)
{
SubdivisionQuadData.quadData.Add(quad, new SubdivisionData(quad, subdivisionLevel, subdivisionRadius, (quad.subdivision == quad.sphereRoot.maxLevel) && (GameSettings.TERRAIN_SHADER_QUALITY == 3)));
SubdivisionQuadData.quadData.Add(quad, new SubdivisionData(quad, subdivisionLevel, subdivisionRadius, (quad.subdivision == quad.sphereRoot.maxLevel) && (GameSettings.TERRAIN_SHADER_QUALITY == 3), usesCbNameLater, cbNameLaterName));
}
public override void OnQuadDestroy(PQ quad)
{
Expand Down Expand Up @@ -72,5 +74,15 @@ public NumericParser<int> order
get { return Mod.order; }
set { Mod.order = int.MaxValue - 2; }
}
[ParserTarget("cbNameLaterName", Optional = true)]
public string cbNameLaterName
{
get { return Mod.cbNameLaterName; }
set
{
Mod.cbNameLaterName = value;
Mod.usesCbNameLater = true;
}
}
}
}