Commit Graph

462 Commits

Author SHA1 Message Date
Regalis 179079b91c Clients can't set the health or stun timer of a character unless they receive a msg from the server 2017-01-03 23:52:15 +02:00
Regalis bb685019a2 Fixes to unconscious character pos syncing:
- main limb is anchored to collider
- server ignores inputs from unconscious characters and doesn't freeze them
- using timestamp-based interpolation on the client's own character instead of IDs
2017-01-03 23:49:37 +02:00
Regalis 1fb15f5589 The collider position of the controlled character is synced with the same interpolation logic as the rest of the characters when unconscious/stunned (todo: make the ragdoll follow the collider even when unconscious/dead/stunned) 2017-01-02 22:40:00 +02:00
Regalis c318e629ff Health, bleeding, oxygen & stun syncing, sending aim and use inputs and cursor positions to clients so other players will be able to see when someone is shooting, hitting with a wrench etc 2017-01-02 22:12:50 +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 020aac55ea AICharacter position syncing 2016-12-29 22:01:50 +02:00
Regalis 98183c47fb Syncing aim & use inputs (i.e. left and right click) 2016-12-28 22:33:43 +02:00
Regalis 12b7290bad Fixed Ragdoll.HeadInWater not being set to true if the character is inside a water-filled hull but the head is outside the sub, HUDProgressBars aren't created when a non-controlled character repairs something 2016-12-28 20:00:40 +02:00
Regalis 49d4108eeb Fixed character colliders sinking/floating away when using a railgun controller underwater 2016-12-28 19:56:52 +02:00
juanjp600 a733e917dd Readded input enum flags 2016-12-24 18:14:54 -03:00
Regalis 5e8a01636e Fixed exception when trying to remove a limb with no sprite 2016-12-20 16:10:47 +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 b01b38da68 Bunch of new sounds by Omniary, some charactersound & soundplayer refactoring 2016-12-15 21:42:15 +02:00
Regalis 1f454d593e Inventory syncing, objHeader is passed to the ClientRead/ServerRead methods so they can determine how to read the msg (is it an inventory update, position, input, etc) 2016-12-10 16:39:58 +02:00
Regalis 983c54f4b5 CharacterInventory is moved back to the bottom left corner if selecting a character whose inventory has been moved 2016-12-10 13:55:29 +02:00
Regalis bea523187b The host can send chat messages, fixed client not being passed to ServerRead methods 2016-12-09 16:45:08 +02:00
Regalis 3eec463f5e Anim tweaking, simplified (+ non-broken) water drag logic 2016-12-09 15:02:48 +02:00
Regalis d95acec6a2 v0.5.4.1 + regenerated waypoints in vanilla subs & FishAnim tweaking 2016-12-04 19:21:17 +02:00
Regalis deb76d0767 Removed a duplicate line 2016-11-24 20:24:01 +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 12f98268b5 Increased character visibility range (how far monsters can see characters from), enemies manually steer towards their target if their steering path is finished or unreachable, mantis tweaking 2016-11-24 19:17:49 +02:00
Regalis 9d1d64901a Pathfinding fixes:
- determining if a character is close enough to a waypoint works now, even if the character is too short for its collider to overlap with the wp (e.g. crawlers)
- enemies can drop down from platforms
- an extra waypoint is placed at the middle of stairs to prevent characters from choosing a waypoint on a platform above the stairs as the starting point of their path
2016-11-23 22:20:44 +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
Regalis 6ca605aa57 Merge branch 'master' of https://gitlab.com/poe.regalis/barotrauma 2016-11-18 18:48:10 +02:00
Regalis 8c90fd1774 Doors push colliders away when closing, small human standing anim tweak 2016-11-18 18:47:58 +02:00
juanjp600 a4ebb116c0 Fixed falling damage 2016-11-17 15:35:15 -03:00
Regalis a4f00310dc "Floor check" raycasts ignore platforms/stairs based on the bottom pos of the collider instead of the lowest limb, fixed IndoorsSteeringManager node diff checks 2016-11-17 20:00:03 +02:00
Regalis 089b0dbcee Water slows down players based on the depth of the water relative to the bottom of the collider 2016-11-17 19:16:30 +02:00
Regalis bded421366 Added colliderHeightFromFloor to a few places I missed, some more human collider tweaking, correcting collider y position faster 2016-11-17 19:06:12 +02:00
Regalis adece20072 Collider height from floor can be changed in the xml files, moved human collider a bit higher to allow climbing over roughly waist-high obstacles 2016-11-17 18:06:43 +02:00
juanjp600 c25ea7c75f Fixed collider not taking previous Submarine value on index change 2016-11-16 22:06:10 -03:00
juanjp600 b68be44864 Fixed ragdoll position not being offset on ladder 2016-11-16 21:44:08 -03:00
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
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 184c6858cd Removing orphans in PathFinder.GenerateNodes, fixed autopilot steering the wrong way if clicking an already selected destination tickbox 2016-11-15 20:48:52 +02:00
Regalis 335bf00890 Entity removal fixes 2016-11-14 17:52:26 +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 44d87613b9 - setting SelectedConstruction back to null if a client is too far from it (-> selecting items doesn't become impossible after selecting a cabinet/reactor/whatever and moving away from it)
- closestItem or closestCharacter aren't checked unless the client pressed Select
2016-11-13 21:13:18 +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
juanjp600 392bc13258 Removed case check from CharacterInfo because it corrects itself
Just make sure to not get the directory casing wrong and we'll be good
2016-11-10 21:58:35 -03:00
juanjp600 0e9c20c666 Case-sensitivity checks on Windows
Should prevent "TigerThresher" from happening again.
2016-11-10 21:45:59 -03:00
Regalis 17a7cb70ed Resetting character position to the server pos if the difference between the positions is large enough 2016-11-09 19:58:05 +02:00
Regalis e1c2cd4d53 Networked characters can climb ladders without joining the Europan Space Program 2016-11-09 18:17:04 +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 9eaca68cea Clients move their saved local positions if they don't match the servers position (instead of immediately snapping to the latest server position)
TODO: prevent ladders from sending the character flying, some safeguards in case positions are way off
2016-11-09 17:43:23 +02:00
Regalis 1617cd8f7a Item/statuseffect optimization:
- PowerTransfer components cache power connections instead of rechecking them every frame
- items store connections in a dictionary with the name of the connection as a key (-> finding the correct connection when sending a signal is more efficient)
- storing item tags & StatusEffect targetNames in HashSets
2016-11-08 21:14:29 +02:00
Regalis 1dc08b3019 Added collider to humanhusk.xml, disabled the "zoom effect" when under pressure as a huskified human 2016-11-08 20:15:59 +02:00
Regalis f259f3fba4 Limiting character movement when collider isn't upright (can't run at full speed if lodged in some tight space), hack-ish way of moving the collider of a character that's being dragged 2016-11-07 18:52:36 +02:00