Commit Graph

30 Commits

Author SHA1 Message Date
Joonas Rikkonen e0fe737c3b (60001519f) Fixed clients not being able to see other characters in spectator if they've died far away from the sub. + Increased position update interval for spectators. Closes #1421
+ Merge fix
2019-04-16 17:16:14 +03:00
Joonas Rikkonen 6262b3ea54 (ce8e185aa) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-04-16 17:12:09 +03:00
Joonas Rikkonen bd07acf26d (052ab6307) Use MonoKickstart on Linux so installing Mono is not required, fixed division by zero if the width of the server console window is 0 2019-04-16 17:11:49 +03:00
Joonas Rikkonen 046a6d5abc (b899f62c0) Server emulates the ragdoll input when clients are stunned, unconscious or dead. Fixes disconnected players appearing in a weird half-crouching pose until they die, and might fix ragdolling in general doing the same (see #1297). The problem apparently appears when not playing locally, haven't tested yet. 2019-04-11 18:28:24 +03:00
Joonas Rikkonen f278ff212c (370a5daac) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-04-08 13:35:02 +03:00
Joonas Rikkonen 8a227a4f2c (570318151) Cleanup. 2019-04-08 13:34:48 +03:00
Joonas Rikkonen 2fe8139ffd (b651e55f4) Don't quantize physicsbody velocities server-side. Caused subs to occasionally not move horizontally because the velocities got rounded down to zero if the sub wasn't accelerating fast enough. 2019-04-08 12:06:53 +03:00
Joonas Rikkonen cc122f2bbf (b451554e8) Merge remote-tracking branch 'origin/dev' into keymapping-refactor-test 2019-04-04 11:10:29 +03:00
Joonas Rikkonen b08a31a68f (33ab1e038) Add buttons for resetting the settings to the defaults and setting the default keybindings. TODO: pressing the buttons should refresh the settings frame instead of closing it. 2019-04-04 11:10:14 +03:00
Joonas Rikkonen 41da4e24a9 (cd41ee958) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-04-04 11:09:45 +03:00
Joonas Rikkonen 1966bcb4ab (c445db0f5) Lazy load item & structure sprites (loaded automatically when switching to the sub editor or instantiating an item/structure, so should not cause any mid-game freezes). 2019-04-04 11:09:32 +03:00
Joonas Rikkonen a3425a0432 (bb85ea959) Fixed last item not being visible in grid layout groups if it's the only item on the last row 2019-04-04 11:08:49 +03:00
Joonas Rikkonen 7eb03ea6b3 (874c38a79) Show keybindings for use or shoot in the tooltips. 2019-04-04 11:08:33 +03:00
Joonas Rikkonen d4752bb6a0 (9f5c9fbcb) Make sure lazy-loaded sprites load their texture when creating a GUIImage, because the image needs to know the size of the texture to scale itself correctly. Fixes location portraits not being visible in the campaign menu when a location is selected for the first time. 2019-04-04 11:08:18 +03:00
Joonas Rikkonen 7491b06a5d (bbd192053) Rebind Select and Use keys. Refactor GameSettings to support legacy bindings, when they are set. That is, if the new "deselect" and "shoot" keys are not defined, but the player config file is found, use the "select" and the "use" keys instead of the defaults. 2019-04-04 11:08:02 +03:00
Joonas Rikkonen 79ea41e6c9 (4f4395b00) Reduced the size of the disallowed item interface area around the chatbox 2019-04-04 11:07:45 +03:00
Joonas Rikkonen c8a7815ef8 (6ae5f1e59) Sync the new input with the server. 2019-04-04 11:06:59 +03:00
Joonas Rikkonen 5f05322fdb (fdc038d5d) Keymapping and UX test: - Map use to "E" and Select to "Left Mouse". - Introduce a dedicated key for deselecting ("Right Mouse"). - Introduce a dedicated key for shooting ("Left Mouse"). - Define certain objects as shootables, which simply means that they use the "Shoot" key instead of using the "Use" key. This required the least amount of refactoring the existing code. - TODO: don't register the "Select" input when aiming or when an interface is open -> should prevent interacting through UI elements. - TODO: sync the new input types with the server. 2019-04-04 11:06:12 +03:00
Joonas Rikkonen 6b38ba8434 (7749cbf6a) Server sends the current facing direction of a character to clients instead of the TargetDirection. Fixes monsters flipping around constantly client-side. + Don't allow clients to make characters flip in EnemyAIController (controlled by the server) 2019-04-03 16:28:10 +03:00
Joonas Rikkonen 0ecfc426ff (45f083a5a) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-04-03 16:22:12 +03:00
Joonas Rikkonen 0dd1823eb1 (44a496915) Added: Template for using a video with the Welcome text in the tutorial if needed. Removed: Old spritesheets. Fixed: Bug in fetching crew with certain jobs 2019-04-03 16:21:57 +03:00
Joonas Rikkonen a46c195532 (2a183f60c) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-04-01 22:51:07 +03:00
Joonas Rikkonen 5d6cbb5898 (b522c4551) Don't assign the attackinglimb if we shouldn't be attacking. Fixes Hammerhead not falling back after hitting the sub. 2019-04-01 22:50:39 +03:00
Joonas Rikkonen d511ecd4e3 (5218c43a0) Server sends the IDs of both selected characters and selected items to the clients. Previously this wasn't needed, because it wasn't possible to have both a character and an item selected at the same time. Fixes characters floating mid-air client-side when dragging others up stairs, and probably some other undiscovered bugs as well. 2019-04-01 22:50:11 +03:00
Joonas Rikkonen ae6b797d73 (c2e1b24e2) Fixed remote characters sliding slowly to the left in multiplayer. Happened because linear velocity was written with an accuracy of 12 bits, causing the lowest possible value to be about 1.5 cm/s. Now extremely low velocity values are rounded down to zero. The server also now quantizes the LinearVelocity/AngularVelocity values, which should make position syncing a little more reliable because the server runs the physics using the same rounded values as the clients. 2019-04-01 22:49:58 +03:00
Joonas Rikkonen 2eaf22683d (ae643deeb) Added alive checks to a couple of diving gear status effects (don't consume tanks when dead) 2019-04-01 22:47:22 +03:00
Joonas Rikkonen ec7e23061b (38b5d9aad) Experimental changes to syncing ragdolled (unconscious/dead) characters: - Higher error tolerance when syncing the positions. It's often hard to get the main limb exactly to the same position as the collider, because the positions of the limbs aren't synced and the pose of the ragdoll may differ between the server and clients. Increasing the tolerance makes it less likely for dead/unconscious characters to "twitch" when the game attempts to force the main limb to the position of the collider. - If the position of the ragdoll differs from the position of the collider so much that CheckDistFromCollider disables limb collisions, apply an additional force to all limbs to force the ragdoll to the correct position. Otherwise the ragdoll can occasionally start "hanging" midair, clipping through solid objects, because the main limb's pull joint doesn't necessarily have enough force to pull the entire ragdoll up to the collider. 2019-04-01 22:47:03 +03:00
Joonas Rikkonen 84121674b1 (050a72bf3) Server resets remote character inputs if no inputs have been received in the past 0.5 seconds. Previously the server would assume the inputs hadn't changed from the last known ones, which works well when there are brief networking hiccups that cause the server to run out of inputs for a few frames, but if it takes longer, we don't want to keep the character firing a welding tool or whatever else they were doing until the kill disconnect timer kicks in. 2019-03-30 21:44:37 +02:00
Joonas Rikkonen 23687fbf2f aeafa16...4d3cf73 2019-03-18 22:57:05 +02:00
Joonas Rikkonen 044fd3344b 2f107db...5202af9 2019-03-18 21:42:26 +02:00