Skip to content

Commit d645b45

Browse files
Fix some bugs with sky rendering and add a color override boolean
1 parent 04f5a40 commit d645b45

File tree

4 files changed

+13
-7
lines changed

4 files changed

+13
-7
lines changed

src/main/java/zmaster587/advancedRocketry/client/render/planet/RenderSpaceSky.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,15 +203,14 @@ public void renderPlanet2(BufferBuilder buffer, DimensionProperties properties,
203203

204204
buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
205205
mc.renderEngine.bindTexture(DimensionProperties.getAtmosphereLEOResource());
206+
GlStateManager.color(atmColor[0], atmColor[1], atmColor[2], 0.5f);
206207

207208
double dist = -5D - 4*(planetOrbitalDistance)/200D;
208209
double scalingMult = 1D - 0.9*(planetOrbitalDistance)/200D;
209210

210211
int maxAmt = 6;
211212
float lng = (float) (Minecraft.getSystemTime()/100000d % 1);
212213
for(int i = 0; i < maxAmt; i++) {
213-
GlStateManager.color(0.05f*(maxAmt-i/6f), .4f*(i/6f), 1f, 0.4f);
214-
215214
//IDK it looks pretty
216215
Xoffset = lng*(i-(maxAmt/4f));
217216
float Yoffset = -lng*i;
@@ -235,7 +234,7 @@ public void renderPlanet2(BufferBuilder buffer, DimensionProperties properties,
235234
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
236235

237236
buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
238-
GlStateManager.color(0.5f,0.5f,1, 0.08f);
237+
GlStateManager.color(atmColor[0], atmColor[1], atmColor[2], 0.08f);
239238

240239

241240
for(int i = 0; i < 5 ; i++) {

src/main/java/zmaster587/advancedRocketry/dimension/DimensionProperties.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@ public ResourceLocation getResourceLEO() {
222222
public float gravitationalMultiplier;
223223
public int orbitalDist;
224224
public boolean hasOxygen;
225+
public boolean colorOverride;
225226
private int originalAtmosphereDensity;
226227
//Used in solar panels
227228
public double peakInsolationMultiplier;
@@ -315,6 +316,7 @@ public DimensionProperties(int id) {
315316
isNativeDimension = true;
316317
skyRenderOverride = false;
317318
hasOxygen = true;
319+
colorOverride = false;
318320
peakInsolationMultiplier = -1;
319321
peakInsolationMultiplierWithoutAtmosphere = -1;
320322
isGasGiant = false;
@@ -1517,6 +1519,7 @@ public void readFromNBT(NBTTagCompound nbt) {
15171519
rotationalPhi = nbt.getDouble("rotationalPhi");
15181520
isRetrograde = nbt.getBoolean("isRetrograde");
15191521
hasOxygen = nbt.getBoolean("hasOxygen");
1522+
colorOverride = nbt.getBoolean("colorOverride");
15201523
atmosphereDensity = nbt.getInteger("atmosphereDensity");
15211524

15221525
if(nbt.hasKey("originalAtmosphereDensity"))
@@ -1742,6 +1745,7 @@ public void writeToNBT(NBTTagCompound nbt) {
17421745
nbt.setDouble("rotationalPhi", rotationalPhi);
17431746
nbt.setBoolean("isRetrograde", isRetrograde);
17441747
nbt.setBoolean("hasOxygen", hasOxygen);
1748+
nbt.setBoolean("colorOverride", colorOverride);
17451749
nbt.setInteger("atmosphereDensity", atmosphereDensity);
17461750
nbt.setInteger("originalAtmosphereDensity", originalAtmosphereDensity);
17471751
nbt.setDouble("peakInsolationMultiplier", peakInsolationMultiplier);

src/main/java/zmaster587/advancedRocketry/util/XMLPlanetLoader.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ public class XMLPlanetLoader {
9494
private static final String ELEMENT_VOLCANO_MULTIPLIER = "volcanoFrequencyMultiplier";
9595
private static final String ELEMENT_GEODE_MULTIPLIER = "geodefrequencyMultiplier";
9696
private static final String ELEMENT_CAN_DECORATE = "hasShading";
97+
private static final String ELEMENT_COLOR_OVERRIDE = "hasColorOverride";
9798
private static final String ELEMENT_SKYOVERRIDE = "skyRenderOverride";
9899
private static final String ATTR_WEIGHT = "weight";
99100
private static final String ATTR_GROUPMIN = "groupMin";
@@ -296,6 +297,8 @@ else if(colors.length == 1) {
296297
}
297298
else if(planetPropertyNode.getNodeName().equalsIgnoreCase(ELEMENT_HASOXYGEN))
298299
properties.hasOxygen = Boolean.parseBoolean(planetPropertyNode.getTextContent());
300+
else if(planetPropertyNode.getNodeName().equalsIgnoreCase(ELEMENT_COLOR_OVERRIDE))
301+
properties.hasOxygen = Boolean.parseBoolean(planetPropertyNode.getTextContent());
299302
else if(planetPropertyNode.getNodeName().equalsIgnoreCase(ELEMENT_SKYOVERRIDE))
300303
properties.skyRenderOverride = Boolean.parseBoolean(planetPropertyNode.getTextContent());
301304
else if(planetPropertyNode.getNodeName().equalsIgnoreCase(ELEMENT_ATMDENSITY)) {

src/main/java/zmaster587/advancedRocketry/world/provider/WorldProviderPlanet.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ public Vec3d getSkyColor(@Nonnull Entity cameraEntity, float partialTicks) {
301301
if(vec == null)
302302
return super.getSkyColor(cameraEntity, partialTicks);
303303
else {
304-
Vec3d skyColorVec = super.getSkyColor(cameraEntity, partialTicks);
304+
Vec3d skyColorVec = getDimensionProperties(new BlockPos((int)cameraEntity.posX, 0, (int)cameraEntity.posZ)).colorOverride ? new Vec3d(1.0, 1.0, 1.0) : super.getSkyColor(cameraEntity, partialTicks);
305305
return new Vec3d(vec[0] * skyColorVec.x, vec[1] * skyColorVec.y, vec[2] * skyColorVec.z) ;
306306
}
307307
}
@@ -310,11 +310,11 @@ public Vec3d getSkyColor(@Nonnull Entity cameraEntity, float partialTicks) {
310310
@SideOnly(Side.CLIENT)
311311
@Nonnull
312312
public Vec3d getFogColor(float p_76562_1_, float p_76562_2_) {
313+
Entity cameraEntity = Minecraft.getMinecraft().player;
313314

314-
Vec3d superVec = super.getFogColor(p_76562_1_, p_76562_2_);
315-
//float multiplier = getAtmosphereDensityFromHeight(Minecraft.getMinecraft().renderViewEntity.posY);
315+
Vec3d superVec = getDimensionProperties(new BlockPos((int)cameraEntity.posX, 0, (int)cameraEntity.posZ)).colorOverride ? new Vec3d(1.0, 1.0, 1.0) : super.getFogColor(p_76562_1_, p_76562_2_);
316316

317-
float[] vec = getDimensionProperties(new BlockPos((int)Minecraft.getMinecraft().player.posX, 0, (int)Minecraft.getMinecraft().player.posZ)).fogColor;
317+
float[] vec = getDimensionProperties(new BlockPos((int)cameraEntity.posX, 0, (int)cameraEntity.posZ)).fogColor;
318318
return new Vec3d(vec[0] * superVec.x, vec[1] * superVec.y, vec[2] * superVec.z);
319319
}
320320

0 commit comments

Comments
 (0)