Fixed limb lightsource flipping (or actually disabled flipping altogether and just made the lightsource follow the rotation of the limb)

This commit is contained in:
Regalis
2017-05-29 18:41:36 +03:00
parent 4a94f12c8b
commit 52daeea109
3 changed files with 10 additions and 14 deletions
@@ -645,10 +645,10 @@ namespace Barotrauma
limb.Dir = Dir; limb.Dir = Dir;
if (limb.LightSource != null) /*if (limb.LightSource != null)
{ {
limb.LightSource.FlipX(); limb.LightSource.FlipX();
} }*/
if (limb.pullJoint != null) if (limb.pullJoint != null)
{ {
@@ -943,7 +943,7 @@ namespace Barotrauma
if (limb.LightSource != null) if (limb.LightSource != null)
{ {
limb.LightSource.Rotation = limb.Rotation; limb.LightSource.Rotation = dir == Direction.Right ? limb.body.DrawRotation : limb.body.DrawRotation - MathHelper.Pi;
} }
limb.Update(deltaTime); limb.Update(deltaTime);
} }
-1
View File
@@ -500,7 +500,6 @@ namespace Barotrauma
if (LightSource != null) if (LightSource != null)
{ {
LightSource.Position = body.DrawPosition; LightSource.Position = body.DrawPosition;
LightSource.Rotation = body.DrawRotation;
} }
foreach (WearableSprite wearable in wearingItems) foreach (WearableSprite wearable in wearingItems)
+7 -10
View File
@@ -19,8 +19,7 @@ namespace Barotrauma.Lights
private Sprite overrideLightTexture; private Sprite overrideLightTexture;
private Texture2D texture; private Texture2D texture;
public SpriteEffects SpriteEffect = SpriteEffects.None;
public Sprite LightSprite; public Sprite LightSprite;
public Submarine ParentSub; public Submarine ParentSub;
@@ -520,7 +519,7 @@ namespace Barotrauma.Lights
drawPos.Y = -drawPos.Y; drawPos.Y = -drawPos.Y;
if (range > 1.0f && false) /*if (range > 1.0f)
{ {
if (overrideLightTexture == null) if (overrideLightTexture == null)
{ {
@@ -534,15 +533,14 @@ namespace Barotrauma.Lights
overrideLightTexture.Draw(spriteBatch, overrideLightTexture.Draw(spriteBatch,
drawPos, color * (color.A / 255.0f), drawPos, color * (color.A / 255.0f),
overrideLightTexture.Origin, -Rotation, overrideLightTexture.Origin, -Rotation,
new Vector2(overrideLightTexture.size.X / overrideLightTexture.SourceRect.Width, overrideLightTexture.size.Y / overrideLightTexture.SourceRect.Height), new Vector2(overrideLightTexture.size.X / overrideLightTexture.SourceRect.Width, overrideLightTexture.size.Y / overrideLightTexture.SourceRect.Height));
SpriteEffect);
} }
} }
if (LightSprite != null) if (LightSprite != null)
{ {
//LightSprite.Draw(spriteBatch, drawPos, Color, LightSprite.Origin, -Rotation, 1, SpriteEffect); LightSprite.Draw(spriteBatch, drawPos, Color, LightSprite.Origin, -Rotation, 1);
} }*/
if (NeedsRecalculation) if (NeedsRecalculation)
{ {
@@ -575,9 +573,8 @@ namespace Barotrauma.Lights
); );
} }
public void FlipX() /*public void FlipX()
{ {
SpriteEffect = SpriteEffect == SpriteEffects.None ? SpriteEffects.FlipHorizontally : SpriteEffects.None;
if (LightSprite != null) if (LightSprite != null)
{ {
Vector2 lightOrigin = LightSprite.Origin; Vector2 lightOrigin = LightSprite.Origin;
@@ -591,7 +588,7 @@ namespace Barotrauma.Lights
lightOrigin.X = overrideLightTexture.SourceRect.Width - lightOrigin.X; lightOrigin.X = overrideLightTexture.SourceRect.Width - lightOrigin.X;
overrideLightTexture.Origin = lightOrigin; overrideLightTexture.Origin = lightOrigin;
} }
} }*/
public void Remove() public void Remove()
{ {