juanjp600
cfeb720836
Fixed IsKeyHit (ladder climbing being inconsistent) + optimized interaction syncing
...
Instead of sending over mouse position as two floats (8 bytes total), the game will send the aim angle represented as a short (0 to 65535, so it's fairly precise) and the selected item ID (up to 4 bytes total, 2 bytes if it's only one of the inputs).
The problem with IsKeyHit is that it checked when the player started a key press, when it should've been checking for the key being released.
2017-01-09 15:06:19 -03:00
juanjp600
073def094f
Merge branch 'new-netcode' of https://gitlab.com/poe.regalis/barotrauma into new-netcode
...
# Conflicts:
# Subsurface/Source/Characters/Character.cs
2017-01-08 12:30:56 -03:00
juanjp600
4b868fc09d
Constant error correction + fixed standing catchup
...
With constant correction, there's little chance for a large difference to build up, so it becomes practically unnoticeable.
Also added a flag which stops the character from updating client-side until the server sends the spawning position.
2017-01-08 12:20:36 -03:00
Regalis
44cbd0d9bf
Fixed AI characters constantly flipping over the X-axis when inside, fixed clients not receiving a msg about characters spawned by RespawnManager
2017-01-07 16:51:51 +02:00
juanjp600
7dc474dab4
Actually round movement.X down to zero
...
whoops
2017-01-06 16:05:23 -03:00
Regalis
65d64af041
Server reads CHARACTER_INPUT messages even if the client isn't allowed to move (but ignores the inputs), otherwise it would fail to read the rest of the packet
2017-01-06 18:19:51 +02:00
juanjp600
5b4d6120ff
Merge branch 'new-netcode' of https://gitlab.com/poe.regalis/barotrauma into new-netcode
2017-01-05 22:37:45 -03:00
juanjp600
0569a665f4
Fixed a server-side off-by-one error in the player input IDs
...
I'm guessing this one comes from the player's position not being updated immediately after the input is processed, so that's where most of the remaining error came from.
Also added some rounding to the horizontal velocity when approaching 0, and changed something that depended on the head limb to use the collider instead, which should hopefully further reduce the chance of syncing errors.
2017-01-05 22:37:14 -03:00
Regalis
518eea746e
Transforming in-sub MemPos/MemLocalPos coordinates to outside coordinates if the character is outside and vice versa, server doesn't start sending ingame updates until they receive the first ingame update message from the client (no need to send updates while the client is loading or if they fail to start the round)
2017-01-05 18:16:58 +02:00
Regalis
7a40658fba
derp
2017-01-04 20:46:51 +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
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
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
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
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
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
d2c17274fe
GUI elements now respect render order + some minor distance comparison optimization
2016-11-15 22:26:36 -03:00
Regalis
335bf00890
Entity removal fixes
2016-11-14 17:52:26 +02: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
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
Regalis
de3966ae95
- character colliders stay enabled when the character is unconscious/stunned (prevents getting stuck inside walls when the collider is re-enabled)
...
- can't climb over obstacles if the contact point is above the center of the character collider
- higher "obstacle climbing velocity"
- limiting collider velocity when dragging another character
2016-11-06 18:56:03 +02:00
juanjp600
160eff85d0
Input fast-forward/catchup when standing still for 15 frames
...
Also made position correction work based on linear velocity so running doesn't make you twitch nearly as much.
2016-11-06 13:43:53 -03: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
a32198ff80
v0.5.3.1
2016-11-04 16:27:53 +02:00
Regalis
95937694f4
Colliders can "climb" over small obstacles
2016-11-02 17:14:57 +02:00
Regalis
1b818b6422
Fixed timestep logic is disabled during loading (less choppy loading screens & no pause at the start of the game), damageable structures visible in LOS again, footstep sound tweaking
2016-11-01 19:05:09 +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
29ad3d2555
Removed limb impact tolerances from creature configs & added ragdoll-specific impact tolerance
2016-10-26 20:20:42 +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