Unstable 0.16.2.0
This commit is contained in:
@@ -107,7 +107,7 @@ namespace Barotrauma
|
||||
public static bool ShowHulls = true;
|
||||
|
||||
public static bool EditWater, EditFire;
|
||||
public const float OxygenDistributionSpeed = 500.0f;
|
||||
public const float OxygenDistributionSpeed = 30000.0f;
|
||||
public const float OxygenDeteriorationSpeed = 0.3f;
|
||||
public const float OxygenConsumptionSpeed = 700.0f;
|
||||
|
||||
@@ -132,7 +132,7 @@ namespace Barotrauma
|
||||
|
||||
private float lethalPressure;
|
||||
|
||||
private float surface, drawSurface;
|
||||
private float surface;
|
||||
private float waterVolume;
|
||||
private float pressure;
|
||||
|
||||
@@ -241,7 +241,10 @@ namespace Barotrauma
|
||||
}
|
||||
|
||||
OxygenPercentage = prevOxygenPercentage;
|
||||
surface = drawSurface = rect.Y - rect.Height + WaterVolume / rect.Width;
|
||||
surface = rect.Y - rect.Height + WaterVolume / rect.Width;
|
||||
#if CLIENT
|
||||
drawSurface = surface;
|
||||
#endif
|
||||
Pressure = surface;
|
||||
|
||||
CreateBackgroundSections();
|
||||
@@ -275,17 +278,6 @@ namespace Barotrauma
|
||||
get { return surface; }
|
||||
}
|
||||
|
||||
public float DrawSurface
|
||||
{
|
||||
get { return drawSurface; }
|
||||
set
|
||||
{
|
||||
if (Math.Abs(drawSurface - value) < 0.00001f) return;
|
||||
drawSurface = MathHelper.Clamp(value, rect.Y - rect.Height, rect.Y);
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
public float WorldSurface
|
||||
{
|
||||
get { return Submarine == null ? surface : surface + Submarine.Position.Y; }
|
||||
@@ -628,7 +620,10 @@ namespace Barotrauma
|
||||
Gap.UpdateHulls();
|
||||
}
|
||||
|
||||
surface = drawSurface = rect.Y - rect.Height + WaterVolume / rect.Width;
|
||||
surface = rect.Y - rect.Height + WaterVolume / rect.Width;
|
||||
#if CLIENT
|
||||
drawSurface = surface;
|
||||
#endif
|
||||
Pressure = surface;
|
||||
}
|
||||
|
||||
@@ -753,8 +748,6 @@ namespace Barotrauma
|
||||
|
||||
public override void Update(float deltaTime, Camera cam)
|
||||
{
|
||||
base.Update(deltaTime, cam);
|
||||
|
||||
BallastFlora?.Update(deltaTime);
|
||||
|
||||
UpdateProjSpecific(deltaTime, cam);
|
||||
@@ -808,11 +801,6 @@ namespace Barotrauma
|
||||
surface,
|
||||
rect.Y - rect.Height + waterDepth,
|
||||
deltaTime * 10.0f), rect.Y - rect.Height);
|
||||
//interpolate the position of the rendered surface towards the "target surface"
|
||||
drawSurface = Math.Max(MathHelper.Lerp(
|
||||
drawSurface,
|
||||
rect.Y - rect.Height + waterDepth,
|
||||
deltaTime * 10.0f), rect.Y - rect.Height);
|
||||
|
||||
for (int i = 0; i < waveY.Length; i++)
|
||||
{
|
||||
@@ -900,10 +888,10 @@ namespace Barotrauma
|
||||
}
|
||||
}
|
||||
|
||||
//0.01 increase every ~1000 frames = reaches full dirtiness in ~27 minutes
|
||||
if (submergedSections.Count > 0 && Submarine != null && Submarine.Info.Type == SubmarineType.Player && Rand.Int(1000) == 1)
|
||||
//0.016 increase every ~2000 frames = reaches full dirtiness in ~35 minutes
|
||||
if (submergedSections.Count > 0 && Submarine != null && Submarine.Info.Type == SubmarineType.Player && Rand.Int(2000) == 1)
|
||||
{
|
||||
DirtySections(submergedSections, 0.01f);
|
||||
DirtySections(submergedSections, deltaTime);
|
||||
}
|
||||
|
||||
if (waterVolume < Volume)
|
||||
@@ -911,11 +899,13 @@ namespace Barotrauma
|
||||
LethalPressure -= 10.0f * deltaTime;
|
||||
if (WaterVolume <= 0.0f)
|
||||
{
|
||||
#if CLIENT
|
||||
//wait for the surface to be lerped back to bottom and the waves to settle until disabling update
|
||||
if (drawSurface > rect.Y - rect.Height + 1) return;
|
||||
if (drawSurface > rect.Y - rect.Height + 1) { return; }
|
||||
#endif
|
||||
for (int i = 1; i < waveY.Length - 1; i++)
|
||||
{
|
||||
if (waveY[i] > 0.1f) return;
|
||||
if (waveY[i] > 0.1f) { return; }
|
||||
}
|
||||
|
||||
update = false;
|
||||
|
||||
Reference in New Issue
Block a user