Commit Graph

291 Commits

Author SHA1 Message Date
juanjp600
edab86f730 Character freezing + Misc fixes 2016-09-21 16:46:12 -03:00
juanjp600
c97f729fb3 Added option to toggle vsync
For the ultimate PC master race experience.

Also calling water scroll on every frame with deltatime instead of being called at fixed intervals, making it look smoother as framerate increases.
2016-09-18 18:24:50 -03:00
juanjp600
5da2bc9523 Fixed water scroll speed 2016-09-18 15:35:35 -03:00
juanjp600
4763dac21b Merged branch master into new-netcode 2016-09-08 15:34:40 -03:00
Regalis
93a3a55fb1 Oxygen isn't distributed through gaps that are underwater (-> air pockets) 2016-09-08 21:23:44 +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
d884f23a72 v5.1.3: the upper border of the level is one continuous body instead of two separate bodies at the entrance and exit 2016-09-07 15:18:01 +03:00
juanjp600
6f25bee9e1 Merge remote-tracking branch 'refs/remotes/barotrauma/master'
Conflicts:
	.vs/Subsurface_Solution/v14/.suo
	Subsurface/Barotrauma.csproj
	Subsurface/Properties/AssemblyInfo.cs
	Subsurface/Source/Items/ItemSpawner.cs
	Subsurface/Source/Networking/GameClient.cs
	Subsurface/Source/Networking/GameServer.cs
	Subsurface/Source/Networking/GameServerLogin.cs
2016-09-03 17:54:33 -03:00
Sebastian Broberg
400084f9e5 BackgroundCreatureManager and BackgroundSpriteManager can be overridden via Content packages
Changed "topshaft"
2016-09-03 18:05:26 +02: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
6e83ef7626 Merge remote-tracking branch 'refs/remotes/origin/master'
Conflicts:
	Subsurface/Barotrauma.csproj
	Subsurface/Source/Characters/AI/EnemyAIController.cs
	Subsurface/Source/Characters/AICharacter.cs
	Subsurface/Source/Characters/Character.cs
	Subsurface/Source/Items/Components/DockingPort.cs
	Subsurface/Source/Items/Components/Door.cs
	Subsurface/Source/Items/Item.cs
	Subsurface/Source/Networking/GameClient.cs
	Subsurface/Source/Networking/GameServer.cs
	Subsurface/Source/Physics/PhysicsBody.cs
2016-08-30 18:04:49 -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
Regalis
a0a5e2df33 v0.5.0.1 + re-enabled the black wall damage indicators, client permissions disabled 2016-08-29 23:43:08 +03:00
Regalis
0b2a5d5771 Wall sections are updated after resizing a structure 2016-08-29 17:25:17 +03:00
Sebastian Broberg
a708c4f915 Fix for broken repeating textures. 2016-08-28 23:42:41 +02:00
Sebastian Broberg
6c03b2ed3e Merge branch 'master' into master_home 2016-08-28 22:01:19 +02:00
Sebastian Broberg
99b568b287 Flooding tweak 2016-08-28 21:54:11 +02:00
Joonas Rikkonen
c51837ef30 Merged in Headswe/barotrauma (pull request #1)
WIP, Walls are drawn per section instead of entire wall, thus enabling hiding parts of the wall or more advanced manipulation of sections.
2016-08-28 21:39:59 +03:00
Regalis
503883a885 Artifacts are spread out better throughout the levels 2016-08-28 20:28:24 +03:00
Sebastian Broberg
5b948908ab Small clean up. 2016-08-28 16:07:52 +02:00
Sebastian Broberg
1729c55820 WIP, Walls are drawn per section instead of entire wall, thus enabling hiding parts of the wall or more advanced manipulation of sections. 2016-08-28 16:04:30 +02:00
Regalis
f03d3b2f61 - included wrap_oal.dll in the build (may help with the OpenAL exceptions?)
- medics always have a high enough medical skill to fabricate any drug
- respawned characters get the same ID card tags they would've gotten if they had spawned inside the main sub
- highlighted characters glow in the dark
2016-08-22 21:06:01 +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
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
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
19d3d793e7 Artifacts don't have to be inside the main sub when exiting, gap particle positioning bugfix, waypoints that aren't inside a hull are displayed in blue (easier to spot waypoint issues), a warning is displayed if trying to choose a shuttle as the submarine in SP, random sub selection in MP ignores shuttles 2016-08-13 18:26:40 +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
69933188d6 Ragdoll.SetPosition takes platforms into account if the character isn't ignoring platforms (i.e. forcing a character on top of a platform won't make it fall through it), reaching the top/bottom of a ladder won't make networkplayers fall off, server ignores position updates from dead/unconscious characters, smaller ResetRagdollDistance 2016-08-10 19:16:18 +03:00
Regalis
9209e093d7 Camera isn't clamped to the top of the level, but there's a black rect that hides everything above the top "wall" 2016-08-05 14:06:54 +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
581a7d5d9f Highlighted items glow in the dark, health bars are hidden when health is full, usernames and health bars are drawn at full brightness 2016-07-31 19:13:08 +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
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
dd9b78f8ff Handling exceptions thrown at any point during coroutine update, not just at Coroutine.MoveNext, dirty workaround for a (rare?) pathfinding bug I haven't been able to reproduce 2016-07-21 21:20:21 +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
2bdd6ff916 Multi-sub transition cinematic, linkedsubs don't have to be docked to the main sub when leaving (being at the same exit is enough), resetting item/serverlog listbox scroll when filtering the list 2016-07-18 20:37:53 +03:00
Regalis
f8fec79785 Parts of the submarine that are left behind in the level will stay there, it's possible to leave the level without the main sub (e.g. in an escape shuttle) 2016-07-16 16:14:51 +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
e74d5adef4 Subs that aren't docked to the main sub aren't saved 2016-07-04 17:31:07 +03:00
Regalis
cafeceb6d2 WIP dockingport/multisub saving in single player mode 2016-07-02 14:59:49 +03:00