Commit Graph

116 Commits

Author SHA1 Message Date
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
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
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
ba7fcad8f2 Readded special client permissions
Also added a command that requires a password to gain the permissions.
I think they were never vulnerable in the first place, gamerfood was just trying to intimidate us.
2016-11-20 22:01:37 -03: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
Regalis
eb2c51c2f1 Cleanup with resharper (mostly removing redundancies & using collection.Length/Count properties instead of the Count method) 2016-10-31 20:50:20 +02:00
Regalis
5cc605bc01 Dust particles are drawn in the same batch as the background sprites (-> far-away particles are rendered behind the sprites), limiting character name length in the crew info menu, the "submarine not found in your folder" -tooltip is updated after downloading a sub file 2016-10-29 15:38:40 +03:00
Regalis
980f8e0d33 - option to select which location autopilot navigates towards
- generating "dummy locations" for the MP gamesessions (visible in sonar and mission descriptions)
- EndGame network message tells the clients if the mission was successful (because the message may arrive before the sub has reached the exit or before some character has died at the client's end)
2016-10-26 19:22:40 +03:00
Regalis
07f8c966ab Submarine position is synced using the same logic as the characters, AICharacter position syncing 2016-10-25 19:01:19 +03:00
Regalis
641e579e92 Backported animcontroller-overhaul 2016-10-22 15:18:16 +03:00
juanjp600
344947c3c4 Search and destroy mission
Featuring ugly code
2016-09-26 22:09:06 -03:00
juanjp600
d537e8795a Replace '' (two single quotes) with \" (double quote)
We must correct post-traumatic Blitz disorder
2016-09-24 21:26:08 -03:00
juanjp600
ef2b0d8721 Whitelist + conflict resolve 2016-09-03 14:57:36 -03:00
juanjp600
83f8ad0555 Clientside fix for empty password
Thanks for finding this Reg
2016-08-29 18:40:27 -03:00
juanjp600
bf686ae997 A few more security checks 2016-08-29 18:38:06 -03:00
Regalis
a0a5e2df33 v0.5.0.1 + re-enabled the black wall damage indicators, client permissions disabled 2016-08-29 23:43:08 +03:00
juanjp600
e284ff5f38 Heavier password encryption
I don't think this fixes actual bugs but the encryption seemed kinda weak.
2016-08-29 07:13:19 -03:00
Regalis
fe8cce1723 Using Levenshtein distance to measure the similarity of chat messages, (float)0.0 -> 0.0f 2016-08-28 16:53:24 +03:00
Regalis
3d2d06d2e5 WriteCharacterData/ReadCharacterData methods can be used for any type of character (less duplicate code) 2016-08-26 20:48:57 +03:00
Regalis
712953cc9e WIP client special permissions (kick, ban, end round) 2016-08-24 11:47:46 +03:00
Regalis
dc67eeebd4 Humans can be spawned through console in multiplayer 2016-08-23 14:19:50 +03:00
Regalis
ef0098d52a Anti-gamerfood measures:
- clients don't send server passwords as plaintext: the server sends a nonce which the client encrypt using the password as the key
- IPs are visible in netstats
- amount of client jobpreferences limited to 3 at the servers side
- sanitizing client names
2016-08-19 18:18:07 +03:00
Regalis
7e14ca6186 Possible to use the same sub as the main submarine and the respawn shuttle, fixed duplicate client names in netlobby if reconnecting before the server has disconnected the client, fixed "end round" button not appearing when joining mid-round 2016-08-14 20:13:40 +03:00
Regalis
fbe6c91d67 - previous networkevent of an item isn't overridden if the event is for a different itemcomponent
- batteries are restored to full capacity and all items repaired when resetting the respawn shuttle
- some respawnmanager refactoring (characters/items arent created in WriteNetworkEvent anymore)
- syncing respawnmanager state with clients who join mid-round
- LOS is turned back on when respawning
2016-08-13 18:42:55 +03:00
Regalis
7716b5e9d4 Fixed respawn shuttles with no nav terminal throwing an exception, removing focus from server log searchbar when the log window is closed, clients wait for ongoing file transfers to finish before starting a new one (instead of cancelling) 2016-08-10 19:18:50 +03:00
Regalis
d55926a352 Option to choose which submarine to use as the respawn shuttle, submarines can be given "tags" (atm just shuttle and HideInMenu), separate saving window in sub editor 2016-08-05 14:06:05 +03:00
Regalis
4252f4b9d0 - clients don't spawn character jobitems themselves (item data is written in the StartGame network message)
- after receiving a StartGame message, clients will wait until the game is loaded before reading new messages from the server
- the Item(prefab, position, submarine) constructor uses the position as the center of the item, not as top-left corner
2016-07-29 18:38:42 +03:00
Regalis
357a853342 A bunch of fixes to syncing clients who join mid-round:
- syncing items spawned/removed mid-round
- syncing characters spawned mid-round (through the console or by respawning)
- making sure that item IDs of the spawned characters match
- syncing wall damage
2016-07-25 18:48:48 +03:00
Regalis
911846acff - submarines send position updates more frequently when they're moving faster
- small AICharacter syncing optimizations
- respawning can be disabled in server setting
- netstats show the total amount of bytes sent for each networkevent type
2016-07-20 17:20:27 +03:00
Regalis
03a3a156ba - fixed camera "twitching" when trying to move it above the upper limit of the level
- fixed duplicate hulls/gaps being placed at docking ports when saving and loading
- fixed linkedsubmarines moving when saving and reloading if the center of the wall vertices isn't he same as the center of the sub
- moving docked submarines along with the main sub when syncing the position
- characters are killed when the client controlling them disconnects (+ cause of death: disconnected)
- fixed the description box in server lobby
2016-07-15 19:21:10 +03:00
Regalis
296c5a14ed - host can respawn
- respawn info texts
- camera clamped to the the upper edge of the level
- fixed submarinebody being generated from all walls (and not just the ones belonging to that specific sub)
2016-06-23 18:23:20 +03:00
Regalis
dc7956274c - camera follows the closest sub
- WIP "respawn shuttle"
- submarine size affects its mass
- electricity fixes
2016-06-18 14:46:40 +03:00
Regalis
7349cdd310 Progress (compiles now) 2016-06-09 22:15:50 +03:00
Regalis
9689ef070d Vote kick settings 2016-06-07 14:13:12 +03:00
Regalis
0e24eab5e3 Re-enabled vote kicking, with some improvements: chat messages notifying about votes, kick button is disabled for the host's character or if already voted 2016-06-03 15:00:36 +03:00
Regalis
b512a7ec18 - fixed clients failing to load submarines if they're not in the root Submarine folder
- some refactoring
- temporarily disabled kicking by voting
2016-05-30 18:32:36 +03:00
Regalis
310e85fd8c WIP kicking by voting 2016-05-26 16:05:45 +03:00
Regalis
52f28f98a7 - server asks the clients whether they're ready to start a round, giving some time to load the selected sub before the round starts
- fixed joining clients not being informed about vote status or voting being enabled
2016-05-24 19:10:11 +03:00
Regalis
e6b073f872 - clients see the submarines that the host has instead of their own subs in server lobby
- possible to vote for subs the client doesn't have
- fixed the "votes required" slider moving when re-opening the server settings
- WIP method for sending missing subs to clients before the round starts (atm the clients won't have time to request a sub file that was chosen by voting)
2016-05-22 01:39:10 +03:00
Regalis
e7a06a6171 Option to choose mission type in mp 2016-05-10 18:42:50 +03:00
Regalis
d3ab7946a8 Using ToLowerInvariant instead of ToLower (the game works for Turkish players now!)
http://www.moserware.com/2008/02/does-your-code-pass-turkey-test.html
2016-04-27 17:14:09 +03:00
Regalis
8c19adeb5e Some more randomness in level generation, info message about the radio command in mp 2016-04-23 17:32:52 +03:00
Regalis
de2af7f973 Speech bubble icon next to the character when speaking in multiplayer, fixed clients sending every message through radio when wearing a headset 2016-04-20 20:31:45 +03:00
Regalis
e33f30dad1 Mid-round chat messages have a limited range, headset item which can be used to communicate with players further away, new inventory slot for items like masks and headsets 2016-04-20 17:19:38 +03:00
Regalis
31a04c7bc1 Cargo missions, a menu that shows the mission description mid-round 2016-04-16 15:36:01 +03:00
Regalis
2f7295eaad Option to set a duration for a status effect 2016-03-26 23:20:02 +02:00
Regalis
a1c728d207 Networking bugfixes & improvements:
- fixed server not sending kill-events when a monster dies
- some interpolation when correcting character positions
- physicsbody position lerping improvements
- sending AICharacter Dir instead of TargetDir
2016-03-09 16:56:42 +02:00
Regalis
436bdb1448 v0.3.4.2: fixed section bodies not being restored after repairing a wall/window, fixed servers letting all clients in despite a wrong password, game version or content package 2016-03-05 12:50:22 +02:00
Regalis
02825782e5 - Edited item densities to make more sense
- Characters spawned through the console are synced with clients
2016-03-04 18:29:41 +02:00