Submarine rendering to correct position almost ready, fixed camera position "twitching"

This commit is contained in:
Regalis
2015-12-04 17:21:59 +02:00
parent 242af12f14
commit 09588e548d
8 changed files with 36 additions and 22 deletions
@@ -536,17 +536,28 @@ namespace Barotrauma
}
}
public void FindHull()
public void FindHull(bool setSubmarine = true)
{
Hull newHull = Hull.FindHull(
ConvertUnits.ToDisplayUnits(refLimb.SimPosition),
currentHull);
if (newHull == currentHull) return;
CurrentHull = newHull;
if (setSubmarine)
{
if (newHull == null && currentHull.Submarine != null)
{
SetPosition(refLimb.SimPosition + ConvertUnits.ToSimUnits(currentHull.Submarine.Position));
}
else if (currentHull == null && newHull != null && newHull.Submarine != null)
{
SetPosition(refLimb.SimPosition - ConvertUnits.ToSimUnits(newHull.Submarine.Position));
}
}
CurrentHull = newHull;
UpdateCollisionCategories();
}
+1 -2
View File
@@ -443,7 +443,7 @@ namespace Barotrauma
}
}
AnimController.FindHull();
AnimController.FindHull(false);
CharacterList.Add(this);
@@ -755,7 +755,6 @@ namespace Barotrauma
if (moveCam)
{
cam.TargetPos = WorldPosition;
cam.OffsetAmount = MathHelper.Lerp(cam.OffsetAmount, 250.0f, 0.05f);
}
+1 -1
View File
@@ -67,7 +67,7 @@ namespace Barotrauma
else if (character.SelectedCharacter == null && character.ClosestItem != null && character.SelectedConstruction == null)
{
Vector2 startPos = character.Position + (character.ClosestItem.Position - character.Position) * 0.7f;
Vector2 startPos = character.WorldPosition + (character.ClosestItem.WorldPosition - character.WorldPosition) * 0.7f;
startPos = cam.WorldToScreen(startPos);
Vector2 textPos = startPos;