Regalis
efcc466fdd
- added colliders to all monster configs
...
- disabling monster collider & placing it at mainlimb when stunned/dead/frozen
- monsters can't swim above water
- misc fixes
2016-10-17 16:32:57 +03:00
Regalis
db8c2b9f8e
Changed colliders from limbs to normal physics bodies, removed RefLimb
2016-10-15 20:08:51 +03:00
Regalis
1b59d1bc21
- disabling the collider and placing it on the torso when swimming, stunned or dead (todo: attempt to get swimming working with the collider controlling movement)
...
- only the collider can receive impact damage
- shorter collider to allow crouching in tight spaces
- AI characters are considered close enough to a waypoint if their collider overlaps with it (instead of a distance check)
2016-10-14 16:11:45 +03:00
Regalis
60b36e020c
Changed ItemSpawner to EntitySpawner, used for syncing both item and character spawning
2016-10-12 19:25:01 +03:00
juanjp600
72033a581e
Merge remote-tracking branch 'refs/remotes/barotrauma/master'
...
Conflicts:
Subsurface/Properties/AssemblyInfo.cs
Subsurface/Source/Characters/Character.cs
Subsurface/Source/GUI/GUI.cs
Subsurface/Source/GameMain.cs
Subsurface/Source/GameSettings.cs
Subsurface/Source/Items/CharacterInventory.cs
Subsurface/Source/Items/Components/ItemComponent.cs
Subsurface/Source/Items/Components/Machines/Pump.cs
Subsurface/Source/Items/Components/Machines/Radar.cs
Subsurface/Source/Items/Components/Machines/Steering.cs
Subsurface/Source/Items/Components/Power/PowerContainer.cs
Subsurface/Source/Items/Inventory.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Items/ItemSpawner.cs
Subsurface/Source/Map/Levels/WaterRenderer.cs
Subsurface/Source/Map/LinkedSubmarine.cs
Subsurface/Source/Map/Map/Map.cs
Subsurface/Source/Map/Structure.cs
Subsurface/Source/Map/Submarine.cs
Subsurface/Source/Map/WayPoint.cs
Subsurface/Source/Networking/GameClient.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Physics/PhysicsBody.cs
Subsurface/Source/Screens/GameScreen.cs
2016-10-11 20:19:25 -03:00
juanjp600
4caf00dd9d
Some extra checks to prevent character flinging
...
New netcode will solve all of these problems the right way.
2016-10-11 19:40:35 -03:00
Regalis
f9017d3cf9
User-controlled monsters can damage structures from outside the sub
2016-10-11 21:11:06 +03:00
Regalis
ef9dce9a0d
- fixed exception in GetSubsToLeaveBehind if the round ends when none of the subs is at an exit
...
- water surface is clamped above the bottom of the hull
- character names don't overlap with health bars
2016-10-09 18:20:32 +03:00
juanjp600
e1296e4a8e
Backported vsync changes from new-netcode, WIP hull visibility culling
...
The hull culling functions are there, they just aren't being used right now because there are some annoying bugs.
2016-10-02 22:24:31 -03:00
juanjp600
4c7e8fe57d
Character name scale based on zoom
2016-09-30 15:45:09 -03:00
juanjp600
f6b82eb095
Some progress on flipping subs
...
Press crouch to flip every sub in the map, texture alignment breaks and physics items vanish, but other than that it's working.
2016-09-29 22:20:15 -03:00
juanjp600
e22d8adde5
Red name on enemy players
...
To prevent confusion.
2016-09-27 20:06:02 -03:00
juanjp600
344947c3c4
Search and destroy mission
...
Featuring ugly code
2016-09-26 22:09:06 -03:00
juanjp600
0ef813f189
Merge remote-tracking branch 'refs/remotes/barotrauma/master'
...
Conflicts:
Subsurface/Barotrauma.csproj
Subsurface/Source/Screens/GameScreen.cs
2016-09-26 17:03:14 -03:00
Regalis
790212a20b
Merge branch 'walldamage'
2016-09-26 16:28:52 +03:00
Regalis
e91e0a4f9c
HUDProgressBars move with the subs
2016-09-26 16:26:52 +03:00
juanjp600
02d98f5d29
Merge remote-tracking branch 'refs/remotes/barotrauma/master'
...
Conflicts:
Subsurface/Source/Networking/FileStreamReceiver.cs
Subsurface/Source/Networking/FileStreamSender.cs
Subsurface/Source/Networking/GameClient.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Networking/GameServerLogin.cs
Subsurface/Source/Networking/NetworkEvent.cs
Subsurface/Source/Screens/NetLobbyScreen.cs
2016-09-24 21:28:37 -03:00
juanjp600
d537e8795a
Replace '' (two single quotes) with \" (double quote)
...
We must correct post-traumatic Blitz disorder
2016-09-24 21:26:08 -03:00
juanjp600
1c58c9323d
Added memPosX/Y
...
This will be used on the client's side to compare positions with what the server says.
2016-09-24 18:57:00 -03:00
juanjp600
8cee457ab7
Run syncing + comparison with hexadecimal values
2016-09-24 18:51:42 -03:00
juanjp600
5567dff1c9
Fixed input order execution + Controller direction syncing
...
It was a dumb mistake indeed, now the player's movement is a lot less erratic. There's some very minor desync, though I might've just tested it incorrectly.
2016-09-24 18:11:09 -03:00
juanjp600
84ce612d06
Fixed Character.IsKeyHit
2016-09-22 21:29:07 -03:00
juanjp600
44e12ffed2
Basic player input syncing
...
There's currently a bug where the inputs might be read out of order or more than once, which leads to desync. I'll feel really dumb when I find what's going on here.
Also, I'm using placeholder player spawning because CharacterInfo doesn't seem to be fully functional yet.
2016-09-22 21:20:46 -03:00
juanjp600
edab86f730
Character freezing + Misc fixes
2016-09-21 16:46:12 -03:00
Regalis
96a61ab2ea
HUDProgressBars are drawn over the LOS effect, progressbar not displayed when attempting to weld/cut platforms
2016-09-20 19:36:58 +03:00
Regalis
5918e845ac
Progress bars that show the health of wall sections when welding/cutting
2016-09-20 18:40:30 +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
bfd8bc6b35
Server serialization functions require client
2016-09-07 17:32:20 -03:00
Regalis
9463b18993
Huskification bugfixes
2016-09-07 18:19:42 +03: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
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
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
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
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
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
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
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