diff --git a/Subsurface/Content/Items/Clothes/captainLegs.png b/Subsurface/Content/Items/Clothes/captainLegs.png
index 6b327f6b3..4c22114e8 100644
Binary files a/Subsurface/Content/Items/Clothes/captainLegs.png and b/Subsurface/Content/Items/Clothes/captainLegs.png differ
diff --git a/Subsurface/Source/DebugConsole.cs b/Subsurface/Source/DebugConsole.cs
index 9eb9a94c1..bd98b5e8a 100644
--- a/Subsurface/Source/DebugConsole.cs
+++ b/Subsurface/Source/DebugConsole.cs
@@ -252,7 +252,14 @@ namespace Subsurface
break;
case "savemap":
if (commands.Length < 2) break;
- Submarine.SaveCurrent("Content/SavedMaps/" + string.Join(" ", commands.Skip(1))+".gz");
+
+ string fileName = string.Join(" ", commands.Skip(1));
+ if (fileName.Contains("../"))
+ {
+ DebugConsole.ThrowError("Illegal symbols in filename (../)");
+ return;
+ }
+ Submarine.SaveCurrent("Content/SavedMaps/" + fileName +".gz");
NewMessage("map saved", Color.Green);
break;
case "loadmap":
diff --git a/Subsurface/Source/Screens/MainMenu.cs b/Subsurface/Source/Screens/MainMenu.cs
index 8ea5324b3..7383741ff 100644
--- a/Subsurface/Source/Screens/MainMenu.cs
+++ b/Subsurface/Source/Screens/MainMenu.cs
@@ -148,7 +148,7 @@ namespace Subsurface
new GUITextBlock(new Rectangle(0, 0, 0, 30), "Join Server", GUI.style, Alignment.CenterX, Alignment.CenterX, menuTabs[(int)Tabs.JoinServer]);
- new GUITextBlock(new Rectangle(0, 30, 0, 30), "Name:", GUI.style, Alignment.CenterX, Alignment.CenterX, menuTabs[(int)Tabs.JoinServer]);
+ new GUITextBlock(new Rectangle(0, 30, 0, 30), "Your Name:", GUI.style, Alignment.CenterX, Alignment.CenterX, menuTabs[(int)Tabs.JoinServer]);
clientNameBox = new GUITextBox(new Rectangle(0, 60, 200, 30), Color.White, Color.Black, Alignment.CenterX, Alignment.CenterX, null, menuTabs[(int)Tabs.JoinServer]);
new GUITextBlock(new Rectangle(0, 100, 0, 30), "Server IP:", GUI.style, Alignment.CenterX, Alignment.CenterX, menuTabs[(int)Tabs.JoinServer]);
@@ -164,7 +164,7 @@ namespace Subsurface
new GUITextBlock(new Rectangle(0, 0, 0, 30), "Host Server", GUI.style, Alignment.CenterX, Alignment.CenterX, menuTabs[(int)Tabs.HostServer]);
- new GUITextBlock(new Rectangle(0, 30, 0, 30), "Name:", GUI.style, Alignment.CenterX, Alignment.CenterX, menuTabs[(int)Tabs.HostServer]);
+ new GUITextBlock(new Rectangle(0, 30, 0, 30), "Server Name:", GUI.style, Alignment.CenterX, Alignment.CenterX, menuTabs[(int)Tabs.HostServer]);
serverNameBox = new GUITextBox(new Rectangle(0, 60, 200, 30), Color.White, Color.Black, Alignment.CenterX, Alignment.CenterX, null, menuTabs[(int)Tabs.HostServer]);
new GUITextBlock(new Rectangle(0, 100, 0, 30), "Server port:", GUI.style, Alignment.CenterX, Alignment.CenterX, menuTabs[(int)Tabs.HostServer]);
diff --git a/Subsurface/Source/Screens/NetLobbyScreen.cs b/Subsurface/Source/Screens/NetLobbyScreen.cs
index 7324cebc4..e70fef24d 100644
--- a/Subsurface/Source/Screens/NetLobbyScreen.cs
+++ b/Subsurface/Source/Screens/NetLobbyScreen.cs
@@ -149,7 +149,7 @@ namespace Subsurface
int columnX = 0;
new GUITextBlock(new Rectangle(columnX, 120, columnWidth, 30), "Selected submarine:", GUI.style, infoFrame);
- subList = new GUIListBox(new Rectangle(columnX, 150, columnWidth, 200), Color.White, GUI.style, infoFrame);
+ subList = new GUIListBox(new Rectangle(columnX, 150, columnWidth, infoFrame.Rect.Height - 150 - 80), Color.White, GUI.style, infoFrame);
subList.OnSelected = SelectMap;
if (Submarine.SavedSubmarines.Count > 0)
@@ -176,7 +176,7 @@ namespace Subsurface
//gamemode ------------------------------------------------------------------
new GUITextBlock(new Rectangle(columnX, 120, 0, 30), "Selected game mode: ", GUI.style, infoFrame);
- modeList = new GUIListBox(new Rectangle(columnX, 150, columnWidth, 200), GUI.style, infoFrame);
+ modeList = new GUIListBox(new Rectangle(columnX, 150, columnWidth, infoFrame.Rect.Height - 150 - 80), GUI.style, infoFrame);
foreach (GameModePreset mode in GameModePreset.list)
{
@@ -297,11 +297,11 @@ namespace Subsurface
GUITextBlock jobText = new GUITextBlock(new Rectangle(0,0,0,20), job.Name, GUI.style, Alignment.Left, Alignment.Right, jobList);
jobText.UserData = job;
- GUIButton upButton = new GUIButton(new Rectangle(0, 0, 20, 20), "u", GUI.style, jobText);
+ GUIButton upButton = new GUIButton(new Rectangle(0, 0, 15, 15), "u", GUI.style, jobText);
upButton.UserData = -1;
upButton.OnClicked += ChangeJobPreference;
- GUIButton downButton = new GUIButton(new Rectangle(25, 0, 20, 20), "d", GUI.style, jobText);
+ GUIButton downButton = new GUIButton(new Rectangle(25, 0, 15, 15), "d", GUI.style, jobText);
downButton.UserData = 1;
downButton.OnClicked += ChangeJobPreference;
}
diff --git a/Subsurface/Subsurface.csproj b/Subsurface/Subsurface.csproj
index 11e83d44d..25c8a0204 100644
--- a/Subsurface/Subsurface.csproj
+++ b/Subsurface/Subsurface.csproj
@@ -234,6 +234,9 @@
+
+ PreserveNewest
+
PreserveNewest
diff --git a/Subsurface/changelog.txt b/Subsurface/changelog.txt
new file mode 100644
index 000000000..61b893645
--- /dev/null
+++ b/Subsurface/changelog.txt
@@ -0,0 +1,33 @@
+
+---------------------------------------------------------------------------------------------------------
+v0.1.1
+---------------------------------------------------------------------------------------------------------
+
+Multiplayer:
+ - player names are shown
+ - assigning jobs and selecting job preferences works now (jobs are assigned when the round starts)
+ - a menu that shows the crew members and their jobs and skills
+ - reduced lag spikes
+ - fixed a bug that caused disconnected players to stay in the player list
+ - server admin can see which player is the traitor
+
+Items:
+ - plasma cutter / welding tool bugfixes and some light & sound effects
+ - stun grenades, detonators and c4 blocks work now
+ - captain's uniform
+ - items can be placed inside railgun shells (explosives for example)
+ - buttons can be attached and detached
+ - on-screen message when trying to use a button without the right ID card
+ - wire sprites don't overlap and "flicker" on top of each other anymore
+ - trying to set the color of a lightcomponent to an invalid value doesn't crash the game anymore
+
+Submarine:
+ - some signs on the walls of Aegir to make navigation a bit easier
+ - moved the railgun and changed the rotation limits to increase it's area of effect while preventing
+ shooting at the windows
+ - fixed waypoint selection bug in submarine editor
+ - the ".gz" extension is automatically added when saving a map
+
+Other:
+ - decreased fall/impact damage
+ - dead characters can be looted
diff --git a/Subsurface/readme.txt b/Subsurface/readme.txt
index 716523cd8..58e9c8186 100644
--- a/Subsurface/readme.txt
+++ b/Subsurface/readme.txt
@@ -4,16 +4,16 @@ www.undertowgames.com/subsurface
Copyright © Undertow Games 2015
Controls:
-WASD - move
-Shift - run
-E - use/activate items and devices
-Right click - aim with equipped item
-Left click - use equipped item
-Tab - select/deselect the chat box in multiplayer mode
-F3 - open/close console
+WASD - move
+Shift - run
+E - use/activate items and devices
+Right click - aim with equipped item
+Left click - use equipped item
+Tab - select/deselect the chat box in multiplayer mode
+F3 - open/close console
See the wiki for more detailed info and instructions:
-http://subsurface.wikia.com/wiki/Subsurface_Wiki
+http://subsurface.gamepedia.com
------------------------------------------------------------------------
diff --git a/Subsurface_Solution.v12.suo b/Subsurface_Solution.v12.suo
index 257584790..73e957d42 100644
Binary files a/Subsurface_Solution.v12.suo and b/Subsurface_Solution.v12.suo differ