- wiring tool bugfixes

- new oxygen and welding fuel tank sprites
- more reliable method of checking that the sub can pass through the level
- moved the name of the highlighted item to the bottom of the screen
This commit is contained in:
Regalis
2016-03-11 19:12:07 +02:00
parent ad17b1a9bf
commit ae4e4d8f34
16 changed files with 40 additions and 55 deletions
+1 -18
View File
@@ -734,12 +734,7 @@
</Content> </Content>
<Content Include="Content\Items\idcard.xml"> <Content Include="Content\Items\idcard.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> <SubType>Designer</SubType>
<Content Include="Content\Items\Tools\fueltank.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Items\Tools\plasmacutter.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Content\Items\Weapons\weapons.xml"> <Content Include="Content\Items\Weapons\weapons.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -771,9 +766,6 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Content> </Content>
<Content Include="Content\Items\Diving\oxygentank.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Items\Electricity\poweritems.xml"> <Content Include="Content\Items\Electricity\poweritems.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<SubType>Designer</SubType> <SubType>Designer</SubType>
@@ -803,12 +795,6 @@
<Content Include="Content\Items\Weapons\rope.png"> <Content Include="Content\Items\Weapons\rope.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Content\Items\Tools\screwdriver.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Items\Tools\wrench.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Items\OxygenGenerator\vent.png"> <Content Include="Content\Items\OxygenGenerator\vent.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
@@ -816,9 +802,6 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Content> </Content>
<Content Include="Content\Items\Tools\weldingtool.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Items\Weapons\stungrenade.png"> <Content Include="Content\Items\Weapons\stungrenade.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
@@ -11,9 +11,9 @@
<Item name="Steel Bar"/> <Item name="Steel Bar"/>
</Deconstruct> </Deconstruct>
<Sprite texture ="oxygentank.png" depth="0.5"/> <Sprite texture ="Content/Items/Tools/tools.png" sourcerect="39,31,12,33" depth="0.5"/>
<Body radius="6" height="22" density="5"/> <Body width="12" height="33" density="5"/>
<Pickable holdpos="30,-15" handle1="0,1" slots="RightHand,LeftHand,Any"> <Pickable holdpos="30,-15" handle1="0,1" slots="RightHand,LeftHand,Any">
<StatusEffect type="OnFire" target="This" Condition="-100.0" sound="Content/Items/Reactor/explosion.ogg" disabledeltatime="true"> <StatusEffect type="OnFire" target="This" Condition="-100.0" sound="Content/Items/Reactor/explosion.ogg" disabledeltatime="true">
Binary file not shown.

Before

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 474 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

+2 -2
View File
@@ -110,9 +110,9 @@
<Item name="Steel Bar"/> <Item name="Steel Bar"/>
</Deconstruct> </Deconstruct>
<Sprite texture ="fueltank.png" depth="0.5"/> <Sprite texture ="tools.png" sourcerect="52,31,12,33" depth="0.5"/>
<Body radius="6" height="22" density="5"/> <Body width="12" height="33" density="5"/>
<Holdable slots="RightHand,Any" holdpos="30,-15" handle1="0,5" handle2="0,-5"> <Holdable slots="RightHand,Any" holdpos="30,-15" handle1="0,5" handle2="0,-5">
<StatusEffect type="OnFire" target="This" Condition="-100.0" sound="Content/Items/Reactor/explosion.ogg" disabledeltatime="true"> <StatusEffect type="OnFire" target="This" Condition="-100.0" sound="Content/Items/Reactor/explosion.ogg" disabledeltatime="true">
Binary file not shown.

Before

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 B

@@ -377,6 +377,8 @@ namespace Barotrauma
public static Character Create(string file, Vector2 position, CharacterInfo characterInfo = null, bool isNetworkPlayer = false, bool hasAi=true) public static Character Create(string file, Vector2 position, CharacterInfo characterInfo = null, bool isNetworkPlayer = false, bool hasAi=true)
{ {
if (!System.IO.File.Exists(file)) return null;
if (file != humanConfigFile) if (file != humanConfigFile)
{ {
var enemyCharacter = new AICharacter(file, position, characterInfo, isNetworkPlayer); var enemyCharacter = new AICharacter(file, position, characterInfo, isNetworkPlayer);
+15 -16
View File
@@ -9,7 +9,6 @@ namespace Barotrauma
{ {
class CharacterHUD class CharacterHUD
{ {
private static Sprite statusIcons; private static Sprite statusIcons;
private static Sprite noiseOverlay, damageOverlay; private static Sprite noiseOverlay, damageOverlay;
@@ -22,7 +21,7 @@ namespace Barotrauma
{ {
healthBar.Flash(); healthBar.Flash();
damageOverlayTimer = MathHelper.Clamp(amount*0.1f, 0.2f, 5.0f); damageOverlayTimer = MathHelper.Clamp(amount * 0.1f, 0.2f, 5.0f);
} }
public static void Update(float deltaTime, Character character) public static void Update(float deltaTime, Character character)
@@ -39,17 +38,17 @@ namespace Barotrauma
public static void Draw(SpriteBatch spriteBatch, Character character, Camera cam) public static void Draw(SpriteBatch spriteBatch, Character character, Camera cam)
{ {
if (statusIcons==null) if (statusIcons == null)
{ {
statusIcons = new Sprite("Content/UI/statusIcons.png", Vector2.Zero); statusIcons = new Sprite("Content/UI/statusIcons.png", Vector2.Zero);
} }
if (noiseOverlay==null) if (noiseOverlay == null)
{ {
noiseOverlay = new Sprite("Content/UI/noise.png", Vector2.Zero); noiseOverlay = new Sprite("Content/UI/noise.png", Vector2.Zero);
} }
if (damageOverlay==null) if (damageOverlay == null)
{ {
damageOverlay = new Sprite("Content/UI/damageOverlay.png", Vector2.Zero); damageOverlay = new Sprite("Content/UI/damageOverlay.png", Vector2.Zero);
} }
@@ -71,26 +70,26 @@ namespace Barotrauma
Vector2 textPos = startPos; Vector2 textPos = startPos;
textPos -= new Vector2(GUI.Font.MeasureString(character.ClosestCharacter.Info.Name).X / 2, 20); textPos -= new Vector2(GUI.Font.MeasureString(character.ClosestCharacter.Info.Name).X / 2, 20);
GUI.DrawString(spriteBatch, textPos, character.ClosestCharacter.Info.Name, Color.Orange, Color.Black, 2); GUI.DrawString(spriteBatch, textPos, character.ClosestCharacter.Info.Name, Color.White, Color.Black, 2);
} }
else if (character.SelectedCharacter == null && character.ClosestItem != null && character.SelectedConstruction == null) else if (character.SelectedCharacter == null && character.ClosestItem != null && character.SelectedConstruction == null)
{ {
var hudTexts = character.ClosestItem.GetHUDTexts(character);
Vector2 startPos = character.DrawPosition + (character.ClosestItem.DrawPosition - character.DrawPosition) * 0.7f; Vector2 startPos = new Vector2((int)(GameMain.GraphicsWidth / 2.0f), (int)(GameMain.GraphicsHeight));
startPos = cam.WorldToScreen(startPos); startPos.Y -= 50 + hudTexts.Count * 25;
Vector2 textPos = startPos; Vector2 textPos = startPos;
textPos -= new Vector2(GUI.Font.MeasureString(character.ClosestItem.Name).X / 2, 20); textPos -= new Vector2((int)GUI.Font.MeasureString(character.ClosestItem.Name).X / 2, 20);
GUI.DrawString(spriteBatch, textPos, character.ClosestItem.Name, Color.Orange, Color.Black * 0.7f, 2); GUI.DrawString(spriteBatch, textPos, character.ClosestItem.Name, Color.White, Color.Black * 0.7f, 2);
textPos.Y += 30.0f;
textPos.Y += 50.0f; foreach (ColoredText coloredText in hudTexts)
foreach (ColoredText coloredText in character.ClosestItem.GetHUDTexts(character))
{ {
textPos.X = startPos.X - GUI.Font.MeasureString(coloredText.Text).X / 2; textPos.X = (int)(startPos.X - GUI.SmallFont.MeasureString(coloredText.Text).X / 2);
GUI.DrawString(spriteBatch, textPos, coloredText.Text, coloredText.Color, Color.Black*0.7f, 2); GUI.DrawString(spriteBatch, textPos, coloredText.Text, coloredText.Color, Color.Black*0.7f, 2, GUI.SmallFont);
textPos.Y += 25; textPos.Y += 25;
} }
-4
View File
@@ -219,10 +219,6 @@ namespace Barotrauma
if (spawnedCharacter != null && GameMain.Server != null) GameMain.Server.SendCharacterSpawnMessage(spawnedCharacter); if (spawnedCharacter != null && GameMain.Server != null) GameMain.Server.SendCharacterSpawnMessage(spawnedCharacter);
break; break;
//case "startserver":
// if (Game1.Server==null)
// Game1.NetworkMember = new GameServer();
// break;
case "kick": case "kick":
if (GameMain.Server == null) break; if (GameMain.Server == null) break;
GameMain.Server.KickPlayer(commands[1]); GameMain.Server.KickPlayer(commands[1]);
@@ -164,6 +164,9 @@ namespace Barotrauma.Items.Components
case "set_state": case "set_state":
IsActive = (signal != "0"); IsActive = (signal != "0");
break; break;
case "set_color":
LightColor = signal;
break;
} }
} }
} }
+4 -5
View File
@@ -162,7 +162,7 @@ namespace Barotrauma
backgroundColor = new Color(backgroundColor, 1.0f); backgroundColor = new Color(backgroundColor, 1.0f);
float minWidth = Submarine.Loaded == null ? 0.0f : Math.Max(Submarine.Borders.Width, Submarine.Borders.Height); float minWidth = Submarine.Loaded == null ? 0.0f : Math.Max(Submarine.Borders.Width, Submarine.Borders.Height);
minWidth = Math.Max(minWidth, 3500.0f); minWidth = Math.Max(minWidth, 6500.0f);
startPosition = new Vector2((int)minWidth * 2, Rand.Range((int)minWidth * 2, borders.Height - (int)minWidth * 2, false)); startPosition = new Vector2((int)minWidth * 2, Rand.Range((int)minWidth * 2, borders.Height - (int)minWidth * 2, false));
endPosition = new Vector2(borders.Width - (int)minWidth * 2, Rand.Range((int)minWidth * 2, borders.Height - (int)minWidth * 2, false)); endPosition = new Vector2(borders.Width - (int)minWidth * 2, Rand.Range((int)minWidth * 2, borders.Height - (int)minWidth * 2, false));
@@ -628,12 +628,11 @@ namespace Barotrauma
if (tooClose && !tooCloseCells.Contains(cell)) tooCloseCells.Add(cell); if (tooClose && !tooCloseCells.Contains(cell)) tooCloseCells.Add(cell);
} }
for (int x = -1; x <= 1; x++) for (float x = -minDistance; x <= minDistance; x+=siteInterval)
{ {
for (int y = -1; y <= 1; y++) for (float y = -minDistance; y <= minDistance; y += siteInterval)
{ {
if (x == 0 && y == 0) continue; Vector2 cornerPos = position + new Vector2(x,y);
Vector2 cornerPos = position + new Vector2(x * minDistance, y * minDistance);
int cellIndex = FindCellIndex(cornerPos); int cellIndex = FindCellIndex(cornerPos);
if (cellIndex == -1) continue; if (cellIndex == -1) continue;
+9 -6
View File
@@ -516,8 +516,9 @@ namespace Barotrauma
{ {
if (dummyCharacter == null) return false; if (dummyCharacter == null) return false;
//if the same type of wire has already been selected, deselect it and return
Item existingWire = dummyCharacter.SelectedItems.FirstOrDefault(i => i != null && i.Prefab == userData as ItemPrefab); Item existingWire = dummyCharacter.SelectedItems.FirstOrDefault(i => i != null && i.Prefab == userData as ItemPrefab);
if (existingWire!=null) if (existingWire != null)
{ {
existingWire.Drop(); existingWire.Drop();
existingWire.Remove(); existingWire.Remove();
@@ -526,12 +527,14 @@ namespace Barotrauma
var wire = new Item(userData as ItemPrefab, Vector2.Zero, null); var wire = new Item(userData as ItemPrefab, Vector2.Zero, null);
int slotIndex = dummyCharacter.Inventory.FindLimbSlot(LimbSlot.LeftHand); int slotIndex = dummyCharacter.Inventory.FindLimbSlot(LimbSlot.LeftHand);
if (dummyCharacter.Inventory.Items[slotIndex] != null && dummyCharacter.Inventory.Items[slotIndex].Prefab != userData as ItemPrefab)
//if there's some other type of wire in the inventory, remove it
existingWire = dummyCharacter.Inventory.Items[slotIndex];
if (existingWire != null && existingWire.Prefab != userData as ItemPrefab)
{ {
dummyCharacter.Inventory.Items[slotIndex].Drop(); existingWire.Drop();
dummyCharacter.Inventory.Items[slotIndex].Remove(); existingWire.Remove();
} }
dummyCharacter.Inventory.TryPutItem(wire, slotIndex, false, false); dummyCharacter.Inventory.TryPutItem(wire, slotIndex, false, false);
@@ -663,7 +666,7 @@ namespace Barotrauma
if (wiringMode) if (wiringMode)
{ {
if (!dummyCharacter.SelectedItems.Any(it => it.HasTag("Wire"))) if (!dummyCharacter.SelectedItems.Any(it => it != null && it.HasTag("Wire")))
{ {
wiringToolPanel.GetChild<GUIListBox>().Deselect(); wiringToolPanel.GetChild<GUIListBox>().Deselect();
} }