Commit Graph

449 Commits

Author SHA1 Message Date
juanjp600
fac0c850a5 Changes to collider behavior
The collider now levitates above the ground, which makes small obstacles a non-issue. The raytest also helps the collider stick to staircases, so players don't jump off anymore.
Crouching now changes the collider to a smaller version, so now there is actual functionality to crouching.
I also removed the anchor from corpses of network players. I'm not entirely sure why this was done, but removing it doesn't seem to break anything.
2016-11-16 21:30:49 -03:00
Regalis
1c206e1730 Adding CrewManager to GUIUpdateList in single player mode 2016-11-16 21:40:13 +02:00
Regalis
16cf9f6c81 Handling exceptions in particle update, gamesession UI order fix, traitor setting loading fix 2016-11-16 20:14:14 +02:00
Regalis
f8d2bb4e2a Merge branch 'master' of https://gitlab.com/poe.regalis/barotrauma 2016-11-16 17:37:43 +02:00
Regalis
5b99f9e35e Saving server info box & traitor settings 2016-11-16 17:36:38 +02:00
juanjp600
5922fc972d Merge branch 'master' of https://gitlab.com/poe.regalis/barotrauma 2016-11-15 22:26:46 -03:00
juanjp600
d2c17274fe GUI elements now respect render order + some minor distance comparison optimization 2016-11-15 22:26:36 -03:00
Regalis
dd5eb69875 Fixed respawned characters getting a different team ID than the rest of the characters (causing them to be displayed as a separate team in the crew menu) 2016-11-14 20:09:37 +02:00
Regalis
0c9a55e9e0 - server doesn't create a new EntityEvent if there's a duplicate event waiting to be sent
- hull, radar, steering & pump syncing
2016-11-14 16:58:21 +02:00
Regalis
3d234aef73 Sending NetEntityEvents from client to server, ItemComponent class doesn't implement the INetSerializable interfaces (only the derived classes do), reactor syncing 2016-11-13 19:34:23 +02:00
Regalis
724172fe7c Server doesn't attempt to resend unacked EntityEvents until Connection.AverageRoundTripTime has passed 2016-11-13 14:45:00 +02:00
Regalis
498c72c64a Server sends ServerEntityEvents to clients, NetEntityEvents can contain an object array which will be passed to the serializable entity (now only used for ItemComponent indices) 2016-11-13 13:56:48 +02:00
Regalis
c314b37029 Some classes for syncing entity state changes. Similar to the NetworkEvents in the old netcode, but the logic is split into separate classes which prevent the server from reading updates for entities that aren't IClientSerializable.
todo: add NetEntityEventManagers to server & client, some logic to prevent sending events that don't need to be sent (e.g. duplicate event state updates)
2016-11-12 20:56:06 +02:00
Regalis
8a8b9ca0fc Re-registering to master server if the server has timed out 2016-11-10 19:44:19 +02:00
Regalis
ac65a431a8 Merge branch 'master' into new-netcode
Conflicts:
	Subsurface/Properties/AssemblyInfo.cs
	Subsurface/Source/Items/Components/Signal/Wire.cs
	Subsurface/Source/Items/Item.cs
	Subsurface/Source/Items/ItemInventory.cs
	Subsurface/Source/Networking/GameServer.cs
2016-11-09 17:58:56 +02:00
Regalis
fa6bf60032 Combat missions don't reset the "allow respawn" setting 2016-11-06 15:57:28 +02:00
juanjp600
f0acf69065 Merge remote-tracking branch 'barotrauma/master' into new-netcode
# Conflicts:
#	Subsurface/Properties/AssemblyInfo.cs
#	Subsurface/Source/Characters/AI/EnemyAIController.cs
#	Subsurface/Source/Characters/AICharacter.cs
#	Subsurface/Source/Characters/Character.cs
#	Subsurface/Source/Items/Components/Signal/Connection.cs
#	Subsurface/Source/Items/Item.cs
#	Subsurface/Source/Map/Structure.cs
#	Subsurface/Source/Networking/GameClient.cs
#	Subsurface/Source/Networking/GameServer.cs
#	Subsurface/Source/Screens/NetLobbyScreen.cs
2016-11-05 18:18:20 -03:00
juanjp600
35dafc4792 Merge remote-tracking branch 'barotrauma/master' into new-netcode
# Conflicts:
#	Subsurface/Source/Characters/Character.cs
#	Subsurface/Source/Items/Components/Machines/Steering.cs
#	Subsurface/Source/Map/Structure.cs
#	Subsurface/Source/Networking/GameClient.cs
#	Subsurface/Source/Networking/GameServer.cs
2016-11-05 18:09:44 -03:00
Regalis
8f646a2723 - fixed dummy location generation crashing the tutorial
- gameserver handles exceptions thrown when instantiating a new gamesession
- fixed screwdrivers (and other items that can be held in either hand) going into both hand slots when equipping by double clicking
2016-11-03 18:22:45 +02:00
Regalis
8011aecb31 Autorestart countdown is reset and the start button re-enabled if an exception is thrown when starting a new round, "restarting in X seconds" clamped over 0, added resolution & window mode to crash reports 2016-11-02 18:00:37 +02: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
6f9160e4a7 Removing & spawning entities in the same order as the server, EntitySpawner does both removing and spawning 2016-10-26 16:44:59 +03:00
Regalis
df9f89e383 Submarine position syncing 2016-10-25 20:50:47 +03:00
Regalis
62dd055e8d Merge branch 'master' into animcontroller-overhaul
Conflicts:
	Subsurface/Content/Characters/Crawler/crawler.xml
	Subsurface/Source/Characters/AICharacter.cs
	Subsurface/Source/Characters/Animation/FishAnimController.cs
	Subsurface/Source/Characters/Animation/Ragdoll.cs
	Subsurface/Source/Characters/Character.cs
	Subsurface/Source/Map/Submarine.cs
	Subsurface/Source/Map/SubmarineBody.cs
	Subsurface/Source/Networking/GameClient.cs
	Subsurface/Source/Networking/GameServer.cs
	Subsurface/Source/Physics/PhysicsBody.cs
2016-10-25 20:09:25 +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
ac8edb5b2a Fixed monster/artifact events being out of sync between the server and the clients 2016-10-25 18:58:56 +03:00
Regalis
641e579e92 Backported animcontroller-overhaul 2016-10-22 15:18:16 +03:00
Regalis
b410a04a86 Fixes 2016-10-21 19:55:48 +03:00
Regalis
e2d0e7fe24 Moved collider position correction logic to the physicsbody class (so that it can be used for sub & item syncing), character position msg length is written in bytes instead of bits, misc cleanup/refactoring 2016-10-19 20:49:18 +03:00
Regalis
de203cc424 - a WIP attempt to correct the position of the controlled character based on updates from the server
- fixed server not being able to move character controllers
- renamed IsNetworkPlayer -> IsRemotePlayer
2016-10-19 00:15:29 +03:00
Regalis
9fed308705 InGame update messages include a timestamp which is passed to the ClientRead methods
Now only used in character position syncing, but some other entities may also have an use for it (e.g. discarding outdated data)
2016-10-18 19:04:32 +03:00
Regalis
b68eeda8a8 WIP position syncing 2016-10-17 22:34:59 +03:00
Regalis
170e1a0da8 ItemRemover -> EntityRemover, clients reset spawner & remover when starting a new round 2016-10-12 20:46:47 +03:00
Regalis
60b36e020c Changed ItemSpawner to EntitySpawner, used for syncing both item and character spawning 2016-10-12 19:25:01 +03:00
Regalis
ac3539da63 Item spawn syncing 2016-10-12 18:29:44 +03:00
Regalis
a235b90aee Job & waypoint assignment 2016-10-12 16:49:43 +03:00
juanjp600
f5268c7c6c Fixes
It compiles now, but it's probably really broken.
2016-10-11 21:37:23 -03:00
juanjp600
72033a581e Merge remote-tracking branch 'refs/remotes/barotrauma/master'
Conflicts:
	Subsurface/Properties/AssemblyInfo.cs
	Subsurface/Source/Characters/Character.cs
	Subsurface/Source/GUI/GUI.cs
	Subsurface/Source/GameMain.cs
	Subsurface/Source/GameSettings.cs
	Subsurface/Source/Items/CharacterInventory.cs
	Subsurface/Source/Items/Components/ItemComponent.cs
	Subsurface/Source/Items/Components/Machines/Pump.cs
	Subsurface/Source/Items/Components/Machines/Radar.cs
	Subsurface/Source/Items/Components/Machines/Steering.cs
	Subsurface/Source/Items/Components/Power/PowerContainer.cs
	Subsurface/Source/Items/Inventory.cs
	Subsurface/Source/Items/Item.cs
	Subsurface/Source/Items/ItemSpawner.cs
	Subsurface/Source/Map/Levels/WaterRenderer.cs
	Subsurface/Source/Map/LinkedSubmarine.cs
	Subsurface/Source/Map/Map/Map.cs
	Subsurface/Source/Map/Structure.cs
	Subsurface/Source/Map/Submarine.cs
	Subsurface/Source/Map/WayPoint.cs
	Subsurface/Source/Networking/GameClient.cs
	Subsurface/Source/Networking/GameServer.cs
	Subsurface/Source/Physics/PhysicsBody.cs
	Subsurface/Source/Screens/GameScreen.cs
2016-10-11 20:19:25 -03:00
juanjp600
cb1b975f9f Merged branch combat-mission into combat-mission 2016-10-10 09:58:06 -03:00
juanjp600
0125ff0f5c Replace mission GUI box text hack + If both teams die, they both lose 2016-10-10 08:32:31 -03:00
Regalis
f7e98ee6a8 Cargo spawning fix again: items are spawned slightly above the bottom of the cargo room (because the item is only inside the hull if pos.Y > hull.rect.bottom) 2016-10-09 17:33:51 +03:00
juanjp600
b09eebc9c2 Holding F gives old mousewheel zoom functionality 2016-10-08 18:55:27 -03:00
Regalis
1b66e51970 Additional cargo isn't spawned in shuttles, fixed exception if trying to spawn additional cargo in a sub with no cargo spawnpoint, netlobby chatMsgBox stays selected after sending a chat message 2016-10-08 18:02:25 +03:00
juanjp600
91539c5b84 Host can spawn in team 2 + relay component state syncing 2016-10-05 22:03:06 -03:00
juanjp600
ffeda27c1b Restored change lost in conflict resolve
Also checking for itemprefab because adding structures wouldn't make any sense here
2016-10-05 17:01:38 -03:00
Regalis
4ebe961024 Simpler method of checking which items to put in the Additional Cargo menu 2016-10-05 20:19:09 +03:00
Regalis
fb28fc8cda - separate listboxes for both teams in the crew menu
- fixed host getting team ID 0
- fixed clients not spawning if their ID is 0 (= if playing a non-combat mission before IDs have been assigned)
- fixed host's character taking part in the job assignment of both teams
2016-10-05 20:15:39 +03:00
Regalis
41c38575b9 Using ItemSpawner to spawn extra cargo (-> clients will be notified of the spawned items) 2016-10-05 18:30:48 +03:00