Commit Graph

317 Commits

Author SHA1 Message Date
Regalis
bee570e2e3 - the server log view is not cleared when saving the log (but old messages are removed when going over the max number of lines)
- log can be viewed in the server lobby, not just in-game
- logging pump, reactor & battery state usage
- GUIListBox.MouseRect doesn't return an empty rect anymore -> listboxes without selectable content can be scrolled with the mouse wheel
2017-05-08 21:30:54 +03:00
Regalis
7dad837733 Server limits chatmessage length and the number of chatmessages written in one packet 2017-05-08 19:06:05 +03:00
Regalis
511f24cc47 Merge branch 'master' into new-netcode
Conflicts:
	Subsurface/Source/GameMain.cs
	Subsurface/Source/Networking/ChatMessage.cs
	Subsurface/Source/Networking/NetworkMember.cs
	Subsurface/Source/Screens/NetLobbyScreen.cs
2017-05-01 19:25:07 +03:00
Regalis
f92c2df9f7 TextBoxes align text to the right and hide any overflowing text at the left if the width of the box is exceeded 2017-04-30 18:14:25 +03:00
Regalis
eddc33dc89 Smoothly scrolling listboxes, items in the boxes can be partially visible 2017-04-30 17:57:01 +03:00
Regalis
64c109f13b Merge branch 'master' into new-netcode
Conflicts:
	Subsurface/Source/Characters/AI/EnemyAIController.cs
	Subsurface/Source/DebugConsole.cs
	Subsurface/Source/Items/Components/Machines/Radar.cs
	Subsurface/Source/Items/Item.cs
2017-04-27 21:33:44 +03:00
Regalis
6397bc432e UI tweaks 2017-04-27 21:08:20 +03:00
Regalis
31f7eca717 Merge branch 'master' into new-netcode
Conflicts:
	Subsurface/Source/GUI/GUIButton.cs
	Subsurface/Source/GameSession/CrewManager.cs
	Subsurface/Source/GameSession/GameSession.cs
	Subsurface/Source/Items/Item.cs
	Subsurface/Source/Networking/GameServer.cs
	Subsurface/Source/Screens/MainMenuScreen.cs
	Subsurface/Source/Screens/ServerListScreen.cs
2017-04-23 21:40:11 +03:00
Regalis
0709418ba3 Merge branch 'UI-overhaul'
Conflicts:
	Subsurface/Source/Screens/EditMapScreen.cs
2017-04-20 21:27:40 +03:00
Regalis
2cac176c87 More UI tweaking 2017-04-20 21:24:52 +03:00
Regalis
499284dc91 UI layout tweaks 2017-04-20 17:39:32 +03:00
Regalis
acaa8697c8 Small menu fixes: open menus are closed when opening another one in the sub editor (e.g. if the save dialog box is opened when one of the entity menus are open), switching to the correct tab from the settings menu when going through the "apply changes" dialog 2017-04-18 20:08:56 +03:00
Regalis
9a5777183f Separate sprites for horizontal and vertical scrollbars, style tweaking 2017-04-18 19:24:13 +03:00
Regalis
34f0ae39b6 - Sliced sprites are scaled instead of tiling (so they work properly even if the UI element is smaller than the sprite)
- Option to use separate sprites for different states of a GUIComponent (e.g. hovered/pressed button)
- Option to configure "child styles" for the individual elements of a GUIComponent (e.g. the background frame and the handle of a scroll bar)
2017-04-09 21:26:35 +03:00
Regalis
3844dd9dac GUIStyle logic changes: instead of having a predetermined GUIComponentStyle for each type of GUIComponent, any GUIComponent can use any style. The GUIComponent constructors take the name of the style as a parameter, and if no style is specified, the default style for the GUIComponent in question will be used. 2017-04-08 16:46:53 +03:00
Regalis
e1a2f6af62 Fixed the name of the server being overridden with "Server" every time a client selects the lobby screen 2017-04-05 21:57:00 +03:00
Regalis
5bdd801da4 Having multiple sub files with the same name doesn't prevent clients from selecting or requesting the correct one 2017-03-28 21:01:44 +03:00
Regalis
fe4a8b419d Chatmessage GUITextBlock height matches the height of the message (-> multi-line messages don't overlap), fixed the name of the server being added to server chatmessages if there are no recipients 2017-03-20 20:52:10 +02:00
Regalis
3f590da395 Fixed AddToGUIUpdateList crashes (I think):
The callbacks from the async requests to master server only assign the response to a variable, preventing GUIComponents from being manipulated from two threads simultaneously
2017-03-14 17:27:15 +02:00
Regalis
5bdb57b98a Merge branch 'master' into new-netcode
Conflicts:
	Subsurface/Properties/AssemblyInfo.cs
	Subsurface/Source/Characters/AICharacter.cs
	Subsurface/Source/Characters/Animation/HumanoidAnimController.cs
	Subsurface/Source/Characters/Character.cs
	Subsurface/Source/GameMain.cs
	Subsurface/Source/Items/Components/Signal/Connection.cs
	Subsurface/Source/Items/Item.cs
	Subsurface/Source/Networking/GameServer.cs
	Subsurface/Source/Networking/GameServerLogin.cs
	Subsurface/Source/Physics/PhysicsBody.cs
2017-03-11 13:24:09 +02:00
Regalis
e406b76cd5 Some more logic to handle missing sub files and active file transfers when starting a round:
- server waits for transfers to finish before starting the round (up to a max 20 seconds, can be skipped by the host)
- clients enable the spectate button when the round starts (in case they fail to start the round due to a missing sub file or an error)
- clients notify the server if a transfer is cancelled

+ FileReceivers can't be instantiated if a server is running
2017-03-09 19:56:27 +02:00
Regalis
6bae2cf47b File transfers (somewhat) working. Todo: testing, show active transfers in the UI 2017-03-07 23:01:01 +02:00
juanjp600
d6c292a2cc SharpFont + ScalableFont implementation
https://github.com/Robmaister/SharpFont

TODO: replace Code Bold.otf with the full version, fix any bugs, build on Linux, possibly move ToolBox string wrapping and limiting logic to ScalableFont class for better results.
2017-03-07 13:44:42 -03:00
Regalis
9e16542b13 Replaced the arrows in server lobby buttons with images, made GUIImages rotatable (todo: make them align correctly when rotated/scaled), fixed the size of the sub save warning messagebox 2017-02-27 22:28:10 +02:00
Regalis
b635a61bb4 Editor UI fixes: UI of the selected item is added to GUIUpdateList in wiring/character mode, save/load/item menus can't be clicked when hidden by wiring/character mode 2017-02-27 20:09:15 +02:00
Regalis
b8c3b9c29f - sub editor shows a warning upon saving if there are entities way outside the sub
- warnings are shown in a GUIMessageBox instead of the debug console
- added a submarine indicator to the editor
2017-02-24 00:01:46 +02:00
Regalis
3fcaff0288 Merge branch 'master' into new-netcode
Conflicts:
	Subsurface/Properties/AssemblyInfo.cs
2017-02-22 23:33:14 +02:00
Regalis
d7aba531d7 Server port included in refresh and remove requests to master server, spectators see indicators for both subs during combat missions 2017-02-21 20:57:04 +02:00
Regalis
04f86865f7 Changed GUIMessageBox.MessageBoxes from a queue to a list to make it easier to remove messageboxes that aren't currently visible, fixed clients creating multiple "permissions changed" messageboxes if there's another messagebox on the screen 2017-02-18 15:58:46 +02:00
Regalis
7f7ac76484 Merge branch 'master' into new-netcode
Conflicts:
	Subsurface/Source/Characters/Character.cs
	Subsurface/Source/GUI/GUI.cs
	Subsurface/Source/GUI/LoadingScreen.cs
2017-02-13 22:04:28 +02:00
Regalis
5871faa2dd Added a few new console commands: disablehud, lockx & locky (disables submarine movement on the respective axis), followsub (toggles whether the camera moves with the subs) 2017-02-13 16:23:28 +02:00
Regalis
4b8d1054b1 Changed lobby & chatMsg IDs to from uint to ushort, added a utility class that handles the wrap around of IDs 2017-02-05 22:55:19 +02:00
Regalis
89e881cb57 Readded voting (submarine, mode, end round & kick) 2017-02-04 18:30:40 +02:00
Regalis
05c5880269 Displaying the names of the connected players in the server lobby 2017-02-01 18:10:48 +02:00
Regalis
beac45458e Transforming received in-sub mouse coordinates to outside coordinates if the character is outside and vice versa, HiddenSubPosition fix (can't use Level.Loaded to find the top of the level because the level isn't loaded yet) 2017-01-05 19:08:54 +02:00
Regalis
1f07b18e5b Merge branch 'master' into new-netcode
Conflicts:
	Subsurface/Properties/AssemblyInfo.cs
	Subsurface/Source/Items/Components/DockingPort.cs
	Subsurface/Source/Items/Components/Signal/Wire.cs
	Subsurface/Source/Items/Item.cs
2016-12-29 22:18:27 +02:00
Regalis
311f388358 Limbs with no sprite don't cause the game to crash anymore, lightsources attached to a limb are drawn at the interpolated position (= DrawPosition) of the limb, lightTexture origin is flipped on the X-axis when parent limb flips 2016-12-17 14:24:54 +02:00
Regalis
5db3315bf3 The "check updates" tickbox in the launcher can be clicked again, nicer changelog formatting in the launcher, setting kb focus to the item searchbox in sub editor automatically 2016-12-14 19:53:06 +02:00
Regalis
d6ba825baf Wire nodes can't be moved when editing wire connections, all mapentities are deselected when toggling wiring/character mode 2016-12-14 18:09:29 +02:00
Regalis
d7ed27381f List of linkable subs in the editor is refreshed after saving a new sub 2016-12-14 17:00:09 +02:00
Regalis
73eb6a2f1b Pausing all sounds when switching to editor screen, temp save folder is cleared before saving (fixes unnecessary files being included in saves) 2016-12-13 23:10:52 +02:00
Regalis
f9ea876edf - sub list in the main menu is refreshed when MainMenuScreen is selected (-> downloaded and newly created subs appear in the list)
- fixed "editing menu" not disappearing after an entity is removed in the editor
- debugconsole textbox is automatically selected when opening the console
- clearing the current gamesession if returning to main menu using the console
2016-12-12 14:49:16 +02:00
Regalis
568c909ff0 Improved wire editing logic:
- wires have to be selected by clicking before any nodes can be moved
- wires can be selected by clicking either the nodes or the sections
- new nodes can be added by clicking a section while holding ctrl
- the selected wire is drawn on top of all other entities
2016-11-30 16:45:21 +02:00
Regalis
e10b3dfef5 Sub editor: zooming not allowed if the cursor is on a GUIComponent, disabled music, limiting item names in the "previously used" listbox 2016-11-29 18:32:51 +02:00
Regalis
0b03b78606 Entities that are behind other entities can be selected using a listbox that appears when hovering the cursor over them, itemcomponent GUIFrames aren't added to GUIUpdateList in sub editor (unless in character mode) 2016-11-29 17:30:13 +02:00
Regalis
adde3461ea Merge branch 'master' into new-netcode
Conflicts:
	Subsurface/Properties/AssemblyInfo.cs
	Subsurface/Source/Characters/Animation/HumanoidAnimController.cs
	Subsurface/Source/Characters/Character.cs
	Subsurface/Source/Items/Components/Door.cs
	Subsurface/Source/Items/Components/Power/PowerContainer.cs
	Subsurface/Source/Items/Components/Signal/Wire.cs
	Subsurface/Source/Items/Item.cs
	Subsurface/Source/Networking/ChatMessage.cs
	Subsurface/Source/Networking/GameClient.cs
	Subsurface/Source/Networking/GameServer.cs
	Subsurface/Source/Networking/GameServerLogin.cs
	Subsurface/Source/Networking/GameServerSettings.cs
	Subsurface/Source/Networking/NetworkMember.cs
2016-11-24 19:52:40 +02:00
Regalis
03e55a2040 whoops 2016-11-21 18:00:47 +02:00
Regalis
c3b84ca835 Re-enabled client permission settings in NetLobbyScreen, fixed clients not setting their permissions when receiving PacketTypes.Permissions 2016-11-21 17:46:03 +02:00
Regalis
4cef011131 Hull volume helper is hidden when no hulls are selected, using the HasPermission method for consistency 2016-11-21 16:55:56 +02:00
juanjp600
7a3bce3973 Hull volume helper in editor + Character name matches client name + Better-looking Watcher light source
Also '' is a thing of the past, use \" instead
2016-11-20 18:47:22 -03:00