juanjp600
edab86f730
Character freezing + Misc fixes
2016-09-21 16:46:12 -03:00
juanjp600
3314c8501c
Merged branch master into new-netcode
2016-09-21 14:30:49 -03:00
Regalis
f21000124b
0.5 sec delay when switching from swimming to walking or vice versa (prevents rapid switches between swimming/walking if the water level is fluctuating around the minimum swimming depth)
2016-09-21 20:14:24 +03:00
juanjp600
179c0424d7
Disabled vsync + added input list to Character
...
Not everything breaks without vsync. GUI updates need to be fixed.
2016-09-16 15:54:11 -03:00
Regalis
c20ffd2431
Read/write methods for notifying the clients about a spawned character
2016-09-10 14:56:55 +03:00
juanjp600
404c506662
Merge remote-tracking branch 'refs/remotes/barotrauma/master'
...
Conflicts:
Subsurface/Properties/AssemblyInfo.cs
Subsurface/Source/Characters/Character.cs
2016-09-07 17:35:18 -03:00
juanjp600
bfd8bc6b35
Server serialization functions require client
2016-09-07 17:32:20 -03:00
Regalis
94cec67a2b
Characters that aren't inside a hull or can't enter subs won't attempt to play a walking animation
2016-09-07 20:18:52 +03:00
Regalis
9463b18993
Huskification bugfixes
2016-09-07 18:19:42 +03:00
juanjp600
95118ed6ab
Merge remote-tracking branch 'refs/remotes/barotrauma/master'
...
Conflicts:
Subsurface/Barotrauma.csproj
2016-09-05 13:28:21 -03:00
Regalis
98b04f1147
Merge branch 'master' of https://gitlab.com/poe.regalis/barotrauma
...
Conflicts:
Subsurface/Barotrauma.csproj
2016-09-04 19:24:00 +03:00
Regalis
3b394976e4
A new monster, some changes to fish animation logic (creatures don't need to have a head, more pronounced swimming movement, option to select the position where steering forces are applied)
2016-09-04 19:18:44 +03:00
juanjp600
6f25bee9e1
Merge remote-tracking branch 'refs/remotes/barotrauma/master'
...
Conflicts:
.vs/Subsurface_Solution/v14/.suo
Subsurface/Barotrauma.csproj
Subsurface/Properties/AssemblyInfo.cs
Subsurface/Source/Items/ItemSpawner.cs
Subsurface/Source/Networking/GameClient.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Networking/GameServerLogin.cs
2016-09-03 17:54:33 -03:00
Sebastian Broberg
400084f9e5
BackgroundCreatureManager and BackgroundSpriteManager can be overridden via Content packages
...
Changed "topshaft"
2016-09-03 18:05:26 +02:00
Regalis
0d68467464
Separate interfaces for entities that the clients/server can send updates for (+ placeholder implementations)
...
May or may not be useful
2016-09-01 20:39:52 +03:00
juanjp600
7bdcc51bae
Made game compilable
...
Networking functionality is fully disabled now.
I think it's time to start rewriting everything. OH BOY
2016-08-30 21:13:36 -03:00
juanjp600
9416eb64d7
Completely destroyed game
...
Looks like a lot more than just netcode is getting rewritten. Removing coroutines because there are better ways of handling asynchronous tasks, removing filestream because that's to be reimplemented later
2016-08-30 19:59:14 -03:00
juanjp600
6e83ef7626
Merge remote-tracking branch 'refs/remotes/origin/master'
...
Conflicts:
Subsurface/Barotrauma.csproj
Subsurface/Source/Characters/AI/EnemyAIController.cs
Subsurface/Source/Characters/AICharacter.cs
Subsurface/Source/Characters/Character.cs
Subsurface/Source/Items/Components/DockingPort.cs
Subsurface/Source/Items/Components/Door.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Networking/GameClient.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Physics/PhysicsBody.cs
2016-08-30 18:04:49 -03:00
juanjp600
52270e3a35
Hacked clients can't send chat messages from other characters anymore
...
Also added sendername as userdata in chat messages, for now it's not used for anything but we'll probably find something where this is useful
2016-08-30 17:35:58 -03:00
juanjp600
af220dbc2a
Removed Fill/ReadNetworkData
...
These functions needed to be replaced because they rely heavily on reliability.
Instead, new functions called (Write/Read)Data(Server/Client) will be added.
Separating client and server code into completely separate functions will help ensure that proper security checks are performed.
2016-08-29 20:02:46 -03:00
juanjp600
bf686ae997
A few more security checks
2016-08-29 18:38:06 -03:00
Regalis
ca5ad3ece4
Added some husk chems to the subs, attack key is included in the default config, fixed character and wiring modes crashing the game
2016-08-29 21:23:35 +03:00
Regalis
9955856c0c
Tweaked the item interaction distance checks a bit:
...
- using worldposition instead of simposition (an item outside the airlock can be close enough to pick up even if it's far away in physics sim coordinates)
- checking if the player is inside the interact trigger of the item
- better way of checking if the item is a ladder
2016-08-29 18:26:24 +03:00
juanjp600
d27cafffa9
Fixed access to items without PickDistance
...
The ladder check is a horrible hack, but if you're horribly desynced then trying to interact with one will just kill you :)
2016-08-28 20:26:36 -03:00
juanjp600
73fc0cf724
More security checks
...
This actually looks pretty bad, not gonna lie.
2016-08-28 19:54:31 -03:00
juanjp600
6e67c86fb6
Item interaction distance checks
...
Another anti-hack measure, hopefully this stops them from wrecking the sub instantly
2016-08-28 18:35:38 -03:00
Regalis
2c5d272acd
- special death messages for husk infections
...
- fixed husk infections not being removed from clients
- more accurate bleeding indicators
- humanoid standing anim tweaking
2016-08-28 20:22:45 +03:00
Regalis
e2885a912d
Husk infections, manually attacking when controlling a creature
2016-08-28 16:16:02 +03:00
Regalis
fda251898b
Limb attack refactoring (moved attack update logic from EnemyAIController to Limb, removed the Hit/PinchCW/PinchCCW attacktypes)
2016-08-26 20:38:28 +03:00
juanjp600
a00ceb5b9f
Server doesn't trust client positions
...
Client doesn't receive its own real position from the server yet (and I actually can't find where the code filters this information out, but since I'm doing a rewrite it probably won't matter), and since the inputs aren't sent reliably or redundantly, desync is inevitable.
2016-08-25 19:15:10 -03:00
Regalis
dc67eeebd4
Humans can be spawned through console in multiplayer
2016-08-23 14:19:50 +03:00
Regalis
d476ebdc8d
Fixed letting go of dragged character when entering/exiting the sub, fixed spawnitems not being visible in the job info window
2016-08-22 16:49:43 +03:00
Regalis
7c8e866030
Fixed the door collision bug at docking ports
2016-08-16 20:21:33 +03:00
Regalis
6c5452570e
More sanity checks to make sure clients aren't doing something they're not allowed to:
...
- AICharacter, hull, structure and submarine updates from clients are ignored
- character updates from anyone else than the client controlling the character are ignored
- players can't pick/drop items from anyone else's inventory (unless the target is unconscious/stunned/cuffed)
- server has authority over reactor temperature
2016-08-16 17:56:33 +03:00
Regalis
8a2ad8eb64
NPCs don't try to use depth charge tubes when given the "operate railgun" command
2016-08-16 17:37:08 +03:00
Regalis
aa2dbab579
PickItem networkevents include whether the item was selected instead of toggling selected/deselected, items can be picked when inside their trigger even if the position of the item isn't visible (i.e. ladders in Nehalennia can be climbed again)
2016-08-13 18:34:47 +03:00
Regalis
66df9c1dd0
Reverted the Ragdoll.SetPosition changes done in commit 6993318, won't work when standing partially through a platform
2016-08-13 18:31:55 +03:00
Regalis
eb33746907
Forcing hull/gap ids to correct ones if receiving a dockingport network event and the hulls/gaps have already been created, ItemContainers are active by default (to always check for potential statuseffects of the contained items), fixed NullReferenceException in Wire.Connect if attempting to connect to something outside the sub (shouldn't be possible unless messing something up in the editor)
2016-08-11 21:52:57 +03:00
Regalis
ab923c47e3
Error message if a character config file isn't found, Linux version tries to search for "Characterfolder" if "characterfolder" isn't found
2016-08-11 21:31:02 +03:00
Regalis
69933188d6
Ragdoll.SetPosition takes platforms into account if the character isn't ignoring platforms (i.e. forcing a character on top of a platform won't make it fall through it), reaching the top/bottom of a ladder won't make networkplayers fall off, server ignores position updates from dead/unconscious characters, smaller ResetRagdollDistance
2016-08-10 19:16:18 +03:00
Regalis
d4338580c7
updated changelog, transparent debug console frame, stuff
2016-08-08 23:32:32 +03:00
Regalis
581a7d5d9f
Highlighted items glow in the dark, health bars are hidden when health is full, usernames and health bars are drawn at full brightness
2016-07-31 19:13:08 +03:00
Regalis
1a0451d0a8
- items can be equipped/unequipped by double clicking
...
- items inside the respawn shuttle
- using the teleport method when moving a character into or out from a sub
- removing dropped items from the respawn shuttle when respawning
2016-07-29 22:25:48 +03:00
Regalis
4252f4b9d0
- clients don't spawn character jobitems themselves (item data is written in the StartGame network message)
...
- after receiving a StartGame message, clients will wait until the game is loaded before reading new messages from the server
- the Item(prefab, position, submarine) constructor uses the position as the center of the item, not as top-left corner
2016-07-29 18:38:42 +03:00
Regalis
c773320a55
Autopilot can avoid other subs, characters won't go outside in idle state
2016-07-28 21:45:35 +03:00
Regalis
357a853342
A bunch of fixes to syncing clients who join mid-round:
...
- syncing items spawned/removed mid-round
- syncing characters spawned mid-round (through the console or by respawning)
- making sure that item IDs of the spawned characters match
- syncing wall damage
2016-07-25 18:48:48 +03:00
Regalis
6c79a8c568
Syncinc AICharacter inventories (a husk controlled by the host), clients don't try to read physicsbodyposition messages if the item doesn't have a body, control command works even if the character has spaces in the name
2016-07-25 18:43:09 +03:00
Regalis
dd9b78f8ff
Handling exceptions thrown at any point during coroutine update, not just at Coroutine.MoveNext, dirty workaround for a (rare?) pathfinding bug I haven't been able to reproduce
2016-07-21 21:20:21 +03:00
Regalis
911846acff
- submarines send position updates more frequently when they're moving faster
...
- small AICharacter syncing optimizations
- respawning can be disabled in server setting
- netstats show the total amount of bytes sent for each networkevent type
2016-07-20 17:20:27 +03:00
Regalis
b81417ad16
Characters can be left behind in levels and they will stay there until the player returns, other subs visible in sonar
2016-07-20 17:13:34 +03:00