juanjp600
a75ef8ee51
Optimized MaxVal
...
0x200 represents a bit that isn't used for any flags, 0x1FF represents all usable bits
2017-01-08 12:45:44 -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
6747faae3d
Clients can't make their character immortal by not sending inputs, clients don't implode their characters unless the server says so
2017-01-07 19:25:22 +02: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
Regalis
6364915353
Fixed incorrect msg lengths in CHARACTER_POSITION messages (+ calculating the length automatically)
2017-01-07 16:11:50 +02:00
juanjp600
7dc474dab4
Actually round movement.X down to zero
...
whoops
2017-01-06 16:05:23 -03:00
juanjp600
f453980ace
Replaced isStillCountdown with a speed check for server catch-up
2017-01-06 14:09:06 -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
Regalis
2a7ef5dd84
Merge branch 'new-netcode' of https://gitlab.com/poe.regalis/barotrauma into new-netcode
2017-01-06 17:43:40 +02:00
Regalis
80e743916a
Character death syncing, characters don't reselect items when they receive a network msg about an item they have already selected
2017-01-06 17:43:30 +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
beac45458e
Transforming received in-sub mouse coordinates to outside coordinates if the character is outside and vice versa, HiddenSubPosition fix (can't use Level.Loaded to find the top of the level because the level isn't loaded yet)
2017-01-05 19:08:54 +02:00
Regalis
ba4ee843f3
Syncing character/construction selection
2017-01-04 21:37:19 +02:00
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
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
juanjp600
a733e917dd
Readded input enum flags
2016-12-24 18:14:54 -03: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
bea523187b
The host can send chat messages, fixed client not being passed to ServerRead methods
2016-12-09 16:45:08 +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
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
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
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
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
juanjp600
cd8c927800
Sync InputType.Select
2016-11-06 18:15:13 -03: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
Regalis
a32198ff80
v0.5.3.1
2016-11-04 16:27:53 +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
182cfb3451
Removed unnecessary memLocalPos stuff
2016-10-25 20:20:23 +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
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
b4389277aa
Collider isn't moved to the position of the main limb when frozen, limb collisions are temporarily disabled if the ragdoll is too far from the collider, some cleanup
2016-10-19 16:21:54 +03:00
Regalis
51a2bf097d
Using update IDs instead of timestamps to correct client-side movement predictions
2016-10-19 00:56:24 +03:00