Commit Graph

245 Commits

Author SHA1 Message Date
juanjp600
0ef813f189 Merge remote-tracking branch 'refs/remotes/barotrauma/master'
Conflicts:
	Subsurface/Barotrauma.csproj
	Subsurface/Source/Screens/GameScreen.cs
2016-09-26 17:03:14 -03:00
Regalis
790212a20b Merge branch 'walldamage' 2016-09-26 16:28:52 +03:00
juanjp600
02d98f5d29 Merge remote-tracking branch 'refs/remotes/barotrauma/master'
Conflicts:
	Subsurface/Source/Networking/FileStreamReceiver.cs
	Subsurface/Source/Networking/FileStreamSender.cs
	Subsurface/Source/Networking/GameClient.cs
	Subsurface/Source/Networking/GameServer.cs
	Subsurface/Source/Networking/GameServerLogin.cs
	Subsurface/Source/Networking/NetworkEvent.cs
	Subsurface/Source/Screens/NetLobbyScreen.cs
2016-09-24 21:28:37 -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
Regalis
b01b52172a Topwindow sprite fix, fixed null reference exception when welding/cutting walls that aren't part of a sub 2016-09-21 19:39:00 +03:00
Regalis
96a61ab2ea HUDProgressBars are drawn over the LOS effect, progressbar not displayed when attempting to weld/cut platforms 2016-09-20 19:36:58 +03:00
Regalis
5918e845ac Progress bars that show the health of wall sections when welding/cutting 2016-09-20 18:40:30 +03:00
juanjp600
4cd6888622 Added some missing UpdateGUI implementations 2016-09-18 11:41:17 -03:00
juanjp600
33641ead3e Fixed timestep for some GUI & input code
Fixed timestep only applied to the physics simulation, but input and GUI updates were not being handled properly, so here's some progress into fixing them.
2016-09-18 11:03:52 -03:00
juanjp600
e4f11e4679 Merged branch master into new-netcode 2016-09-16 13:45:19 -03:00
Regalis
0265d075a5 Possible to zoom out further when debugdraw is on, vents don't replenish oxygen when underwater, monster missions & events ignore spawnpoints that are too close to the main sub 2016-09-14 20:25:09 +03:00
juanjp600
4763dac21b Merged branch master into new-netcode 2016-09-08 15:34:40 -03:00
Regalis
1f7bf250b5 asdfasdf 2016-09-08 21:26:15 +03:00
Regalis
4bf01aeba7 Improved MiniMap: shows hull integrity and oxygen levels, and can be configured to only show oxy/water data if the rooms have detectors in place
+ itemprefab "aliases" (allows changing item names while keeping backwards compatibility with older sub files)
2016-09-08 20:21:55 +03:00
Regalis
7be5474617 Autopilot tweaking 2016-09-08 20:14:57 +03:00
juanjp600
404c506662 Merge remote-tracking branch 'refs/remotes/barotrauma/master'
Conflicts:
	Subsurface/Properties/AssemblyInfo.cs
	Subsurface/Source/Characters/Character.cs
2016-09-07 17:35:18 -03:00
juanjp600
bfd8bc6b35 Server serialization functions require client 2016-09-07 17:32:20 -03:00
Regalis
e61e40547b Improved autopilot 2016-09-06 19:14:27 +03:00
Regalis
cf77a59c97 Implemented some of the itemcomponent read/write methods, made submarines server serializable 2016-09-02 17:59:08 +03:00
Regalis
0d68467464 Separate interfaces for entities that the clients/server can send updates for (+ placeholder implementations)
May or may not be useful
2016-09-01 20:39:52 +03:00
juanjp600
9416eb64d7 Completely destroyed game
Looks like a lot more than just netcode is getting rewritten. Removing coroutines because there are better ways of handling asynchronous tasks, removing filestream because that's to be reimplemented later
2016-08-30 19:59:14 -03:00
juanjp600
af220dbc2a Removed Fill/ReadNetworkData
These functions needed to be replaced because they rely heavily on reliability.

Instead, new functions called (Write/Read)Data(Server/Client) will be added. 

Separating client and server code into completely separate functions will help ensure that proper security checks are performed.
2016-08-29 20:02:46 -03:00
juanjp600
bf686ae997 A few more security checks 2016-08-29 18:38:06 -03:00
juanjp600
73fc0cf724 More security checks
This actually looks pretty bad, not gonna lie.
2016-08-28 19:54:31 -03:00
Regalis
08817090a0 Fixed docking ports leaking if multiple vessels have docked to the main sub, cargo is always spawned in the main sub 2016-08-19 20:13:24 +03:00
Regalis
7c8e866030 Fixed the door collision bug at docking ports 2016-08-16 20:21:33 +03:00
Regalis
6c5452570e More sanity checks to make sure clients aren't doing something they're not allowed to:
- AICharacter, hull, structure and submarine updates from clients are ignored
- character updates from anyone else than the client controlling the character are ignored
- players can't pick/drop items from anyone else's inventory (unless the target is unconscious/stunned/cuffed)
- server has authority over reactor temperature
2016-08-16 17:56:33 +03:00
Regalis
cce3b32a82 v0.5.0.1 2016-08-16 17:11:19 +03:00
Regalis
0602bb6154 Dockingport power wire is connected to a free wire slot instead of the last slot, submarines above the top of the level (i.e. respawn shuttle) aren't shown on sonar, underwater scooter for each respawned player 2016-08-13 21:35:52 +03:00
Regalis
ec59c47041 Docking ports have a power connector that can be used for distributing power between docked subs, already connected wires in respawn shuttles and the tutorial subs can't be disconnected, flares burn longer 2016-08-13 17:52:35 +03:00
Regalis
eb33746907 Forcing hull/gap ids to correct ones if receiving a dockingport network event and the hulls/gaps have already been created, ItemContainers are active by default (to always check for potential statuseffects of the contained items), fixed NullReferenceException in Wire.Connect if attempting to connect to something outside the sub (shouldn't be possible unless messing something up in the editor) 2016-08-11 21:52:57 +03:00
Regalis
c773320a55 Autopilot can avoid other subs, characters won't go outside in idle state 2016-07-28 21:45:35 +03:00
Regalis
2490c0eb9d - fixed Submarine.MainSub not being set in tutorialmode
- controllers can effect view distance (-> longer railgun view dist)
- fixed removeitem messages not being sent when a fabricator destroys an item
- changes to depth damage logic: structures won't take damage until the pressure is above the health of the hull (i.e. weaker structures break first, subs with no windows can go deeper)
2016-07-25 18:38:50 +03:00
Regalis
deb09328e0 Sending the ids of the hulls/gaps in between docking ports to make sure they match between clients, small optimizations to hull networkevents 2016-07-25 18:33:44 +03:00
Regalis
09782be231 - sonar shows the outlines of docked subs (instead of normal sonar blips)
- fixed lights not being removed if the same explosion is triggered again before the previous one is finished
- fixed electrical shocks from junction boxes stunning nearby players (and not just the player using the jb)
- showing restart timer as mins + secs
- more server settings
2016-07-25 18:30:13 +03:00
Regalis
b81417ad16 Characters can be left behind in levels and they will stay there until the player returns, other subs visible in sonar 2016-07-20 17:13:34 +03:00
Regalis
c4cc19ea4f Fixed wires disconnecting when dragging them outside the sub, larger range of wifi channels 2016-07-18 20:35:38 +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
a5111d33df Tons of AI + pathfinding bugfixes:
- waypoints are created between docked subs and removed when they undock
- fixed start waypoint being left out of steering paths
- NPCs won't close doors/hatches on themselves
- NPCs won't let go of ladders until their feet are above the lower edge of the hull
- fixed FindDivingGear "loops": need to find a suit -> need to get to a suit -> need a suit to get to the suit -> need to find a suit...
- fixed characters constantly turning from side to side in small rooms
- recursive function for finding the button which opens a door (so a button doesn't have to be connected straight to a door for an NPC to be able to open it)
- AIObjectiveGetItem keeps searching for more suitable items even if a path to a matching item has been found
2016-07-08 20:53:11 +03:00
Regalis
c8dae18135 - syncing docking ports
- linkedsubmarine saving fixes, path can be changed and sub reloaded in editinghub
- lightsources don't constantly recheck convex hulls of another sub if subs are docked
- position update networkevents arent sent for subs that are docked to the main sub
2016-07-06 23:01:51 +03:00
Regalis
19915fc4e5 - server log and item lists in editor can be filtered
- changes to item highlighting logic (easier in cramped subs)
- sub name/description boxes and selected items are reset when leaving the editor
2016-07-06 18:10:22 +03:00
Regalis
cd3ecd36e8 Merge branch 'multisub'
Conflicts:
	.gitignore
	Subsurface/Source/Characters/Animation/HumanoidAnimController.cs
	Subsurface/Source/Items/Components/Holdable/RepairTool.cs
	Subsurface_Solution.v12.suo
2016-07-04 17:42:31 +03:00
Regalis
cafeceb6d2 WIP dockingport/multisub saving in single player mode 2016-07-02 14:59:49 +03:00
Regalis
17197a442d Water can flow through vertical docking ports 2016-06-30 18:37:10 +03:00
Regalis
aae24b2b2c Better logic for determining which convex hulls are in the range of a lightsource (separate convexhull lists for each sub) 2016-06-30 17:50:02 +03:00
Regalis
3e3ec5a2ef Fixed fire extinquishers 2016-06-27 18:38:11 +03:00
Regalis
38c5251005 Vertical docking port, docking sounds, water flows properly between horizontally docked hulls, falseoutput of signal check components can be changed, lighting and FOW works between hulls (todo: some logic for determining when to update light.HullsInRange when two subs are moving relative to each other) 2016-06-27 17:48:20 +03:00
Regalis
b04e204dc3 - multiple submarines can be "merged" into one file (to be used as escape vessels etc)
- WIP docking ports
2016-06-26 14:31:00 +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