diff --git a/Subsurface/Content/Items/Tools/tools.xml b/Subsurface/Content/Items/Tools/tools.xml
index 1e6441e34..de8247a95 100644
--- a/Subsurface/Content/Items/Tools/tools.xml
+++ b/Subsurface/Content/Items/Tools/tools.xml
@@ -25,7 +25,7 @@
-
+
@@ -65,7 +65,7 @@
-
+
diff --git a/Subsurface/Content/Items/Weapons/railgun.xml b/Subsurface/Content/Items/Weapons/railgun.xml
index 3431add15..fe9db5a6a 100644
--- a/Subsurface/Content/Items/Weapons/railgun.xml
+++ b/Subsurface/Content/Items/Weapons/railgun.xml
@@ -51,7 +51,7 @@
-
+
diff --git a/Subsurface/Properties/AssemblyInfo.cs b/Subsurface/Properties/AssemblyInfo.cs
index 0f41eb25e..a9326b975 100644
--- a/Subsurface/Properties/AssemblyInfo.cs
+++ b/Subsurface/Properties/AssemblyInfo.cs
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.1.0.0")]
-[assembly: AssemblyFileVersion("0.1.0.0")]
+[assembly: AssemblyVersion("0.1.1.0")]
+[assembly: AssemblyFileVersion("0.1.1.0")]
diff --git a/Subsurface/Source/DebugConsole.cs b/Subsurface/Source/DebugConsole.cs
index d1541fa83..9eb9a94c1 100644
--- a/Subsurface/Source/DebugConsole.cs
+++ b/Subsurface/Source/DebugConsole.cs
@@ -252,19 +252,13 @@ namespace Subsurface
break;
case "savemap":
if (commands.Length < 2) break;
- Submarine.SaveCurrent("Content/SavedMaps/" + string.Join(" ", commands.Skip(1)));
+ Submarine.SaveCurrent("Content/SavedMaps/" + string.Join(" ", commands.Skip(1))+".gz");
NewMessage("map saved", Color.Green);
break;
case "loadmap":
if (commands.Length < 2) break;
Submarine.Load("Content/SavedMaps/" + string.Join(" ", commands.Skip(1)));
break;
- //case "savegame":
- // SaveUtil.SaveGame();
- // break;
- //case "loadgame":
- // SaveUtil.LoadGame(SaveUtil.SaveFolder + "save");
- // break;
case "messagebox":
if (commands.Length < 3) break;
new GUIMessageBox(commands[1], commands[2]);
diff --git a/Subsurface/Source/GameSession/TraitorMode.cs b/Subsurface/Source/GameSession/TraitorMode.cs
index b327a31cb..e81751bff 100644
--- a/Subsurface/Source/GameSession/TraitorMode.cs
+++ b/Subsurface/Source/GameSession/TraitorMode.cs
@@ -64,7 +64,7 @@ namespace Subsurface
if (target.character.IsDead)
{
string endMessage = traitor.character.Info.Name + " was a traitor! ";
- endMessage += (traitor.character.Info.Gender == Gender.Male) ? "his" : "her";
+ endMessage += (traitor.character.Info.Gender == Gender.Male) ? "His" : "Her";
endMessage += " task was to assassinate " + target.character.Info.Name + ". The task was succesful.";
End(endMessage);
}
diff --git a/Subsurface/Source/Networking/GameServer.cs b/Subsurface/Source/Networking/GameServer.cs
index 331b465c0..bd7a3e794 100644
--- a/Subsurface/Source/Networking/GameServer.cs
+++ b/Subsurface/Source/Networking/GameServer.cs
@@ -29,6 +29,9 @@ namespace Subsurface.Networking
config = new NetPeerConfiguration("subsurface");
+ //config.SimulatedLoss = 0.2f;
+ //config.SimulatedMinimumLatency = 0.25f;
+
config.Port = port;
config.EnableUPnP = true;
@@ -531,6 +534,8 @@ namespace Subsurface.Networking
public void NewTraitor(Client traitor, Client target)
{
+ new GUIMessageBox("New traitor", traitor.name + " is the traitor and the target is " + target+".");
+
NetOutgoingMessage msg = server.CreateMessage();
msg.Write((byte)PacketTypes.Traitor);
msg.Write(target.name);
diff --git a/Subsurface/Source/Networking/NetworkMember.cs b/Subsurface/Source/Networking/NetworkMember.cs
index 188415b8c..1841557d4 100644
--- a/Subsurface/Source/Networking/NetworkMember.cs
+++ b/Subsurface/Source/Networking/NetworkMember.cs
@@ -97,6 +97,7 @@ namespace Subsurface.Networking
crewFrame.Padding = new Vector4(10.0f, 10.0f, 10.0f, 10.0f);
GUIListBox crewList = new GUIListBox(new Rectangle(0, 0, 200, 300), Color.White * 0.7f, GUI.style, crewFrame);
+ crewList.Padding = new Vector4(10.0f, 10.0f, 10.0f, 10.0f);
crewList.OnSelected = SelectCharacter;
foreach (Character character in crew)
diff --git a/Subsurface/Source/Screens/NetLobbyScreen.cs b/Subsurface/Source/Screens/NetLobbyScreen.cs
index 9625bd268..7324cebc4 100644
--- a/Subsurface/Source/Screens/NetLobbyScreen.cs
+++ b/Subsurface/Source/Screens/NetLobbyScreen.cs
@@ -23,7 +23,7 @@ namespace Subsurface
private GUITextBox textBox, seedBox;
- GUIFrame previewPlayer;
+ //GUIFrame previewPlayer;
private GUIScrollBar durationBar;
@@ -41,7 +41,6 @@ namespace Subsurface
get { return subList.SelectedData as Submarine; }
}
-
public GameModePreset SelectedMode
{
get { return modeList.SelectedData as GameModePreset; }
@@ -113,13 +112,13 @@ namespace Subsurface
//server info panel ------------------------------------------------------------
- infoFrame = new GUIFrame(new Rectangle(0, 0, (int)(panelRect.Width * 0.6f), (int)(panelRect.Height * 0.6f)), GUI.style, menu);
+ infoFrame = new GUIFrame(new Rectangle(0, 0, (int)(panelRect.Width * 0.7f), (int)(panelRect.Height * 0.6f)), GUI.style, menu);
//infoFrame.Padding = GUI.style.smallPadding;
//chatbox ----------------------------------------------------------------------
GUIFrame chatFrame = new GUIFrame(
new Rectangle(0, (int)(panelRect.Height * 0.6f + 20),
- (int)(panelRect.Width * 0.6f),
+ (int)(panelRect.Width * 0.7f),
(int)(panelRect.Height * 0.4f - 20)),
GUI.style, menu);
@@ -131,15 +130,15 @@ namespace Subsurface
//player info panel ------------------------------------------------------------
playerFrame = new GUIFrame(
- new Rectangle((int)(panelRect.Width * 0.6f + 20), 0,
- (int)(panelRect.Width * 0.4f - 20), (int)(panelRect.Height * 0.6f)),
+ new Rectangle((int)(panelRect.Width * 0.7f + 20), 0,
+ (int)(panelRect.Width * 0.3f - 20), (int)(panelRect.Height * 0.6f)),
GUI.style, menu);
//player list ------------------------------------------------------------------
GUIFrame playerListFrame = new GUIFrame(
- new Rectangle((int)(panelRect.Width * 0.6f + 20), (int)(panelRect.Height * 0.6f + 20),
- (int)(panelRect.Width * 0.4f - 20), (int)(panelRect.Height * 0.4f - 20)),
+ new Rectangle((int)(panelRect.Width * 0.7f + 20), (int)(panelRect.Height * 0.6f + 20),
+ (int)(panelRect.Width * 0.3f - 20), (int)(panelRect.Height * 0.4f - 20)),
GUI.style, menu);
playerList = new GUIListBox(new Rectangle(0,0,0,0), null, GUI.style, playerListFrame);
@@ -266,50 +265,51 @@ namespace Subsurface
if (GameModePreset.list.Count > 0) modeList.Select(0);
}
else if (playerFrame.children.Count==0)
- {
- int x = playerFrame.Rect.Width / 2;
-
+ {
playerFrame.ClearChildren();
- new GUITextBlock(new Rectangle(x, 0, 200, 30), "Name: ", GUI.style, playerFrame);
+ new GUITextBlock(new Rectangle(60, 0, 200, 30), "Name: ", GUI.style, playerFrame);
- GUITextBox playerName = new GUITextBox(new Rectangle(x, 30, 0, 20),
+ GUITextBox playerName = new GUITextBox(new Rectangle(60, 30, 0, 20),
Alignment.TopLeft, GUI.style, playerFrame);
playerName.Text = Game1.Client.CharacterInfo.Name;
playerName.OnEnter += ChangeCharacterName;
- new GUITextBlock(new Rectangle(x, 70, 200, 30), "Gender: ", GUI.style, playerFrame);
+ new GUITextBlock(new Rectangle(0, 70, 200, 30), "Gender: ", GUI.style, playerFrame);
- GUIButton maleButton = new GUIButton(new Rectangle(x, 100, 70, 20), "Male",
+ GUIButton maleButton = new GUIButton(new Rectangle(0, 100, 70, 20), "Male",
Alignment.TopLeft, GUI.style,playerFrame);
maleButton.UserData = Gender.Male;
maleButton.OnClicked += SwitchGender;
- GUIButton femaleButton = new GUIButton(new Rectangle(x+90, 100, 70, 20), "Female",
+ GUIButton femaleButton = new GUIButton(new Rectangle(90, 100, 70, 20), "Female",
Alignment.TopLeft, GUI.style, playerFrame);
femaleButton.UserData = Gender.Female;
femaleButton.OnClicked += SwitchGender;
- new GUITextBlock(new Rectangle(x, 150, 200, 30), "Job preferences:", GUI.style, playerFrame);
+ new GUITextBlock(new Rectangle(0, 150, 200, 30), "Job preferences:", GUI.style, playerFrame);
- jobList = new GUIListBox(new Rectangle(x, 180, 150, 0), GUI.style, playerFrame);
+ jobList = new GUIListBox(new Rectangle(0, 180, 180, 0), GUI.style, playerFrame);
+ jobList.Enabled = false;
foreach (JobPrefab job in JobPrefab.List)
{
- GUITextBlock jobText = new GUITextBlock(new Rectangle(0,0,0,20), job.Name, GUI.style, jobList);
+ 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(jobText.Rect.Width - 45, 0, 20, 20), "u", GUI.style, jobText);
+ GUIButton upButton = new GUIButton(new Rectangle(0, 0, 20, 20), "u", GUI.style, jobText);
upButton.UserData = -1;
upButton.OnClicked += ChangeJobPreference;
- GUIButton downButton = new GUIButton(new Rectangle(jobText.Rect.Width - 20, 0, 20, 20), "d", GUI.style, jobText);
+ GUIButton downButton = new GUIButton(new Rectangle(25, 0, 20, 20), "d", GUI.style, jobText);
downButton.UserData = 1;
downButton.OnClicked += ChangeJobPreference;
}
UpdateJobPreferences(jobList);
+ //UpdatePreviewPlayer(Game1.Client.CharacterInfo);
+
UpdatePreviewPlayer(Game1.Client.CharacterInfo);
}
@@ -407,7 +407,7 @@ namespace Subsurface
menu.Draw(spriteBatch);
- if (previewPlayer!=null) previewPlayer.Draw(spriteBatch);
+ //if (previewPlayer!=null) previewPlayer.Draw(spriteBatch);
GUI.Draw((float)deltaTime, spriteBatch, null);
@@ -455,13 +455,11 @@ namespace Subsurface
private void UpdatePreviewPlayer(CharacterInfo characterInfo)
{
- previewPlayer = new GUIFrame(
- new Rectangle(playerFrame.Rect.X + 20, playerFrame.Rect.Y + 20, 230, 300),
- new Color(0.0f, 0.0f, 0.0f, 0.8f), GUI.style);
- previewPlayer.Padding = new Vector4(5.0f, 5.0f, 5.0f, 5.0f);
- characterInfo.CreateInfoFrame(previewPlayer);
+ GUIComponent existing = playerFrame.FindChild("playerhead");
+ if (existing != null) playerFrame.RemoveChild(existing);
- previewPlayer.UserData = characterInfo;
+ GUIImage image = new GUIImage(new Rectangle(0, 0, 30, 30), characterInfo.HeadSprite, Alignment.TopLeft, playerFrame);
+ image.UserData = "playerhead";
}
private bool SwitchGender(GUIButton button, object obj)
diff --git a/Subsurface_Solution.v12.suo b/Subsurface_Solution.v12.suo
index 8f04bc374..257584790 100644
Binary files a/Subsurface_Solution.v12.suo and b/Subsurface_Solution.v12.suo differ