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