000975ff5a
v0.5.4.3
Regalis
2017-02-21 18:13:21 +02:00
c29be7862b
Disabled the splash screen in the Linux version (apparently video playback hasn't been implemented in DesktopGL)
Regalis
2017-02-20 22:03:58 +02:00
0306c03d00
Tutorial fixes: walls and windows outside the command room are fixed during the same frame they break (to prevent anything from flying out from the railgun room), moloch is forced above the player once the railgun is ready fire
Regalis
2017-02-20 21:33:03 +02:00
13a9b7ea88
More accurate velocity in item update messages (+ fixed incorrect message length)
Regalis
2017-02-20 20:43:14 +02:00
502211c6a7
Resetting entity event IDs (lastSentToAll & client-specific IDs) when a round ends
Regalis
2017-02-20 20:26:12 +02:00
04f86865f7
Changed GUIMessageBox.MessageBoxes from a queue to a list to make it easier to remove messageboxes that aren't currently visible, fixed clients creating multiple "permissions changed" messageboxes if there's another messagebox on the screen
Regalis
2017-02-18 15:58:46 +02:00
6c8f5b8999
The server maintains a list of unique EntityEvents created during the round and sends them to clients who join mid-round
Regalis
2017-02-18 15:09:13 +02:00
0e66f2a69c
Fixed exceptions in ServerEntityEventManager if there are no clients on the server, clients who are in the lobby can't prevent outdated EntityEvents from being removed
Regalis
2017-02-18 13:18:48 +02:00
05ce7ac5e9
Changelog update
Regalis
2017-02-17 20:11:08 +02:00
68b0f2132a
Merge branch 'master' into new-netcode
Regalis
2017-02-17 19:31:25 +02:00
a5e56f7d4d
Hacky fix for monsters getting lodged inside the sub due to tunneling
Regalis
2017-02-17 19:28:16 +02:00
99cf438ed7
The lowest point of a character collider is calculated from its AABB (works correctly now even if the collider is rotated, allowing prone characters to be dragged through stairs), dragged characters collide with stairs when climbing up, the AI of unconscious or stunned characters isn't updated
Regalis
2017-02-17 19:27:54 +02:00
c46856167c
Stopped server events that hadn't been sent to everyone from being removed
juanjp600
2017-02-16 20:34:29 -03:00
ae67be1775
Removing "sent" duplicates when a new event is added
juanjp600
2017-02-15 13:48:13 -03:00
7f7ac76484
Merge branch 'master' into new-netcode
Regalis
2017-02-13 22:04:28 +02:00
bfc22c7b33
Enabling characters when switching control to them (when switching to a disabled far-away monster for example)
Regalis
2017-02-13 21:58:27 +02:00
1ea3044fd6
Firesource sound fix
Regalis
2017-02-13 21:12:15 +02:00
5871faa2dd
Added a few new console commands: disablehud, lockx & locky (disables submarine movement on the respective axis), followsub (toggles whether the camera moves with the subs)
Regalis
2017-02-13 16:23:28 +02:00
52bf73722f
ServerEntityEventManager doesn't process received events until the character inputs of the client for the corresponding frame have been processed (fixes character movement lagging behind EntityEvents at the servers side)
Regalis
2017-02-09 18:56:28 +02:00
1f16bef01c
Interpolating item drawRotation in the "shortest direction" (prevents twitching if the rotation changes e.g. from -0.1f to PI*2), physicsbodies are lerped towards their targetposition at a constant speed
Regalis
2017-02-09 00:01:01 +02:00
4c5da19ab4
Clients predict the state of a door when a signal is received (and revert back to the correct state if no verification is received from the server in 1 sec)
Regalis
2017-02-08 19:56:42 +02:00
304c67f904
EntityEvent type written into item update messages using WriteRangedInteger, item position updates include the velocity of the item
Regalis
2017-02-07 21:18:22 +02:00
e2a872ad90
Fixed ItemContainer not setting the position of a contained item when it's placed in the ItemInventory, minor refactoring
Regalis
2017-02-07 20:47:24 +02:00
d46207916f
Server doesn't send character position updates to far-away clients, clients disable characters if they haven't received position updates in a while
Regalis
2017-02-07 18:59:25 +02:00
b98ebe6e21
Readded client permissions
Regalis
2017-02-06 21:07:24 +02:00
462a8b5da8
Changed character update IDs from uint to ushort
Regalis
2017-02-06 16:24:11 +02:00
4b8d1054b1
Changed lobby & chatMsg IDs to from uint to ushort, added a utility class that handles the wrap around of IDs
Regalis
2017-02-05 22:55:19 +02:00
9bda79036a
- server doesn't send the STARTGAME message to all clients when someone joins mid-round - team ID is included in character spawn messages even if no-one is controlling the character anymore - living characters are taken into account when assigning jobs for respawned characters (e.g. there can't be two captains alive at the same time)
Regalis
2017-02-05 21:58:31 +02:00
7f661ce362
Fixed a brainfart in property saving (i.e. saveable but non-editable properties not being saved)
Regalis
2017-02-05 18:42:17 +02:00
b375422c4e
"Undertow games" splashscreen
Regalis
2017-02-04 16:51:09 +02:00
89e881cb57
Readded voting (submarine, mode, end round & kick)
Regalis
2017-02-04 16:44:46 +02:00
b5bac67c4a
WIP item position syncing
Regalis
2017-02-02 20:40:58 +02:00
39f977535d
Fixed ragdolls colliding with stairs when swimming even if not steering upwards, AI steering fixes
Regalis
2017-02-02 20:39:51 +02:00
32d7be07ee
ClosestCharacter is saved into NetInputMem (clients can drag characters again)
Regalis
2017-02-02 19:24:42 +02:00
7674647928
Clients don't apply a received inventory state on the inventory until >1 second has passed since they sent their local state (prevents the inventory from briefly reverting to an old state if items are moved around in quick succession)
Regalis
2017-02-02 18:24:45 +02:00
05c5880269
Displaying the names of the connected players in the server lobby
Regalis
2017-02-01 18:10:48 +02:00
b87e22409a
Fixed server setting character LastNetworkUpdateIDs to UInt32.MaxValue
Regalis
2017-02-01 18:09:31 +02:00
5a4201c3f2
Character status syncing fix, less frequent stun update messages
Regalis
2017-01-31 20:18:11 +02:00
b8263d6a90
Removing items from their parent inventory in item.Drop
Regalis
2017-01-31 20:11:19 +02:00
0cd2d7a0b9
Readded traitors
Regalis
2017-01-30 19:49:13 +02:00
6bbd11630d
Fabricator & deconstructor syncing
Regalis
2017-01-28 12:40:43 +02:00
0570956e24
Wiring syncing
Regalis
2017-01-27 20:59:41 +02:00
4589c2bcfb
Syncing changes to ingame editable item properties (light colors etc)
Regalis
2017-01-27 18:20:38 +02:00
626e238994
Merge branch 'master' into new-netcode
Regalis
2017-01-26 19:57:53 +02:00
5afca48a82
Relinking dockingport hulls to gaps after flipping the sub
Regalis
2017-01-26 19:57:21 +02:00
fb1f90e226
Fixed docked subs being moved twice when syncing sub position
Regalis
2017-01-26 19:04:26 +02:00
15b3dd31a8
Merge branch 'master' into new-netcode
Regalis
2017-01-25 20:30:26 +02:00
282c2b75d4
Fixed docking ports disconnecting when a submarine is flipped
Regalis
2017-01-25 20:30:08 +02:00
e27fa1c7ee
Readded team assignment logic
Regalis
2017-01-15 20:39:06 +02:00
b0231105a2
Reimplemented private chat messages
Regalis
2017-01-15 17:49:31 +02:00
8f50cca026
Syncing StatusEffects applied by meleeweapons or using an item on self
Regalis
2017-01-15 14:49:15 +02:00
f7ac98ab5f
Broken items can be repaired, fixed clients never removing firesources (causing the lights to stay after the flames have been extinguished)
Regalis
2017-01-14 20:30:46 +02:00
bd7766d3e7
Server clears EntityEventManager before starting a new round, not just when ending it (fixes events breaking during the next round if an item created an event when unloading the previous sub) + some additional error checks
Regalis
2017-01-14 20:26:41 +02:00
6252db7928
- fixed server validating its own name instead of the name of a client who's logging in - clients automatically reconnect to the server when the connection is lost and return back to server list if they fail to reconnect - showing the error msg as a GUIMessageBox and returning to main menu if starting a server fails
Regalis
2017-01-14 16:57:47 +02:00
fdbdf9638f
Fixed railgun aiming, fixed EntityEvent not being sent if a character is killed by something else than health dropping to zero
Regalis
2017-01-14 14:45:19 +02:00
9b03b2bcc1
Server ignores UPDATE_INGAME messages if the game isn't running, server doesn't set any of the clients' lastRecvIDs above the ID of the latest chatMsg/event/etc (clients can't have received something the server hasn't sent yet)
Regalis
2017-01-13 18:07:00 +02:00
fecb7bee9a
Syncing attack input
Regalis
2017-01-13 17:53:40 +02:00
08053bec85
Clients can join the game mid-round
Regalis
2017-01-12 20:41:21 +02:00
81f3d24070
DockingPort syncing
Regalis
2017-01-12 18:03:52 +02:00
ed675dc75e
Lobby update ID isn't included in ingame update messages, resetting lastRecvGeneralUpdate in InitClientSync
Regalis
2017-01-11 23:37:30 +02:00
037bd09c2c
- clients ignore lobby updates if they already received a more up-to-date one - server tells clients their ID in the first lobby update - clients take control of a spawned character if their ID matches the ownerID of the character (-> respawning works now)
Regalis
2017-01-11 21:31:19 +02:00
dc3885a2da
Server doesn't un-freezes characters that are stunned, unconscious or dead, or controlled by the host
Regalis
2017-01-11 21:24:03 +02:00
8a9b322b78
Clients can create firesources if server tells them to, extinguishing fixes
Regalis
2017-01-11 18:02:24 +02:00
b9006983e4
Item condition syncing
Regalis
2017-01-11 18:01:07 +02:00
3041138f03
Inventory.TryPutItem doesn't put an item in the inventory (or create a NetEntityEvent) if the item is already in it
Regalis
2017-01-10 20:50:31 +02:00
df59f0d089
Fixed speech bubbles, server sends the ID of a speaking character instead of the name
Regalis
2017-01-10 18:40:12 +02:00
81c3641d97
Optimized mouse position syncing from server to clients, removed a redundant WritePadBits from Character.ServerWrite
Regalis
2017-01-10 00:07:09 +02:00
72eb2aa769
Tiny optimization
Regalis
2017-01-09 21:39:39 +02:00
fb0026b4be
Removed duplicate selection logic from GUIListBox
Regalis
2017-01-09 18:25:26 +02:00
ff96f152ce
Resetting EntityEvent & EntitySpawner IDs when starting a new round, LOS effect is enabled when a client takes control of a character
Regalis
2017-01-09 18:22:37 +02:00
05cb5989dc
Chat range also affects the server host if they're controlling a character, fixed missing sender names in the server lobby
Regalis
2017-01-07 20:24:01 +02:00
6747faae3d
Clients can't make their character immortal by not sending inputs, clients don't implode their characters unless the server says so
Regalis
2017-01-07 19:25:22 +02:00
402c745fc3
Reimplemented chat range & radio messages. Each client now has their own chatMsgQueue, so all chat messages don't have to be sent to all clients.
Regalis
2017-01-07 19:22:48 +02:00
44cbd0d9bf
Fixed AI characters constantly flipping over the X-axis when inside, fixed clients not receiving a msg about characters spawned by RespawnManager
Regalis
2017-01-07 16:51:51 +02:00
6364915353
Fixed incorrect msg lengths in CHARACTER_POSITION messages (+ calculating the length automatically)
Regalis
2017-01-07 16:11:50 +02:00
629df6aab3
HuskInfection unsubscribes from the OnDeath event when the infection is cured (-> cured characters don't turn into husks when they die)
Regalis
2017-01-07 14:45:17 +02:00
a5f0d1d7da
Fixed editable item properties not being saved if the property is also marked with a non-saveable HasDefaultValue attribute
Regalis
2017-01-07 14:37:03 +02:00
7dc474dab4
Actually round movement.X down to zero
juanjp600
2017-01-06 16:05:23 -03:00
f453980ace
Replaced isStillCountdown with a speed check for server catch-up
juanjp600
2017-01-06 14:09:06 -03:00
5d83a33876
Notifying clients when the round ends
Regalis
2017-01-06 19:06:11 +02:00
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
Regalis
2017-01-06 18:19:51 +02:00
80e743916a
Character death syncing, characters don't reselect items when they receive a network msg about an item they have already selected
Regalis
2017-01-06 17:43:18 +02:00
0569a665f4
Fixed a server-side off-by-one error in the player input IDs
juanjp600
2017-01-05 22:37:14 -03:00
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)
Regalis
2017-01-05 19:07:18 +02:00
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)
Regalis
2017-01-05 18:16:58 +02:00
ba4ee843f3
Syncing character/construction selection
Regalis
2017-01-04 21:37:19 +02:00
7a40658fba
derp
Regalis
2017-01-04 20:46:51 +02:00
179079b91c
Clients can't set the health or stun timer of a character unless they receive a msg from the server
Regalis
2017-01-03 23:52:15 +02:00
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
Regalis
2017-01-03 23:49:37 +02:00
1eea373117
NetEntityEvent fixes: - comparing event data equality with Object.Equals instead of == because == returns false for boxed value types - fixed old unacked messages not being resent if there are newer unacked messages that have been resent less than 1.5 * RTT ago
Regalis
2017-01-03 20:10:03 +02:00
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)
Regalis
2017-01-02 22:40:00 +02:00
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
Regalis
2017-01-02 22:12:50 +02:00