Commit Graph

104 Commits

Author SHA1 Message Date
Joonas Rikkonen 16359ea873 (537240172) Fixed RuinGenerator using unsynced random when doing connections between ruin entities. I don't think there are any assemblies atm that use this type of connections, but if there were, the connections might've differed between clients/server. 2019-06-13 11:46:43 +03:00
Joonas Rikkonen f8405fedb4 (ce6f2672e) Additional verbose logging 2019-06-13 11:45:20 +03:00
Joonas Rikkonen bea7b58ff3 (a410fd46c) Trying to help the merge script through a jungle of merges 2019-06-04 16:37:31 +03:00
Joonas Rikkonen 6332cfd55f (81d7f4c1c) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-05-18 17:44:13 +03:00
Joonas Rikkonen 71d1738498 (76e16f98e) Use outdoorsteering when far enough from the sub. Increase the wait until reachable time a bit. 2019-05-18 17:43:38 +03:00
Joonas Rikkonen 78b67de866 (e9f10995d) Merge branch 'bugreporterUI' into dev 2019-05-18 17:43:00 +03:00
Joonas Rikkonen 3a2310e547 (3ac5065f5) Fixed: Rendering order for Bugreporter window, OK button position 2019-05-18 17:42:41 +03:00
Joonas Rikkonen da693c20fa (7bfeac605) More space for the labels in the Pump interface 2019-05-18 17:42:20 +03:00
Joonas Rikkonen 11d08f4f70 (2df363efc) Refactor avoiding, because the previous method wasn't working well. It now should work better, but requires a heading vector. Add some notes on how to improve the method. TODO: revisit fishes. 2019-05-18 17:41:58 +03:00
Joonas Rikkonen f1d794cb39 (86c9256b3) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-05-18 17:35:10 +03:00
Joonas Rikkonen 65a914e5ed (0b29f1236) Added: Scaling to mouse cursor size 2019-05-18 17:34:53 +03:00
Joonas Rikkonen 038fc74b72 (2a8f78c27) Don't allow floating ice chunks to spawn near either end of the level 2019-05-18 17:34:04 +03:00
Joonas Rikkonen cb83984e80 (4ca668169) Fixed: Conflict 2019-05-16 05:58:48 +03:00
Joonas Rikkonen 257889b9cc (42b18ccca) Allow to return to the initial combat mode after retreating. Implement reloading (disabled because only reloads one ammunition) -> TODO: only load ammunition when found in the inventory. Implement a generic method for removing subobjectives and resetting the reference. Refuel the repair tool. 2019-05-16 05:58:15 +03:00
Joonas Rikkonen 18b6775457 (aee208587) Option to configure multiple sprite variants for a LevelObject, implemented new ice/rock sprites 2019-05-16 05:57:58 +03:00
Joonas Rikkonen bec7aadfa9 (af16ecdfa) Merge branch 'dev' into human-ai 2019-05-16 05:14:00 +03:00
Joonas Rikkonen 60f52375e6 (7788ec72a) Test issuing orders automatically. 2019-05-16 05:03:49 +03:00
Joonas Rikkonen 809fa5adb0 (ef2bdb136) Fixed "biome "none" not found" console error when loading level generation params 2019-05-03 13:51:22 +03:00
Joonas Rikkonen 8c678e3977 (9f9b86b9b) Fixed tutorial level generation params being used in normal levels. 2019-05-03 13:50:49 +03:00
Joonas Rikkonen fbb7daed00 (0c3442136) Merge branch 'dev' into docking-interface 2019-05-03 13:41:23 +03:00
Joonas Rikkonen b551ae7999 (c1468d39d) Overhauled docking interface (WIP) 2019-05-03 13:39:54 +03:00
Joonas Rikkonen e83dba2959 (42d13c09f) Merge remote-tracking branch 'origin/tutorial-rework' into dev 2019-04-25 18:07:37 +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 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 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 1f94e174ef (50a891840) Lazy deformable LevelObject sprite loading 2019-04-03 16:25:31 +03:00
Joonas Rikkonen 92713cf587 (d041dfb1b) Implemented lazy sprite loading (= the texture isn't loaded until it's accessed for the first time). Atm only used in LevelObjectPrefabs and location portraits. 2019-04-03 16:25:02 +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 0844f1eae4 (8e2e6e4da) Physics error prevention: - Use the ApplyForce/ApplyImpulse method overrides that clamp the resulting velocity to a value (in this case NetConfig.MaxPhysicsBodyVelocity, 64 m/s). Without this, explosions and attacks for example could apply arbitrarily large forces to bodies, causing physics errors in Ragdoll.CheckValidity. - Make sure angular velocity still has a sane value after applying an impulse to a specific point of a collider. 2019-04-03 16:21:22 +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 fa2a338d73 (b8f75ee96) Fixed level inequality errors caused by 866621c. Accessing the level start/end location properties during level generation caused the seed of RandSync.Server to be changed. Now generating a new random location uses a new MTRandom instance and doesn't touch RandSync.Server. 2019-03-31 19:12:27 +03:00
Joonas Rikkonen 8668647049 (866621cd8) Display a warning on the status monitor when docked to an outpost ("Docked to X, undock before attempting to maneuver the submarine"). 2019-03-31 19:12:13 +03:00
Joonas Rikkonen 080ac78ded (5c35a640e) Update tutorial-rework with dev 2019-03-27 20:52:47 +02:00
Joonas Rikkonen 3f82c9a2cb (f417b026f) Fetched: Changes for playing video tutorial from local branch 2019-03-27 20:45:14 +02:00
Joonas Rikkonen 965a378f0e (5d67aa3f5) Merge remote-tracking branch 'origin/dev' into enemy-ai 2019-03-25 19:50:58 +02:00
Joonas Rikkonen fd5d2b86af (a97ef2847) AI improvements: - Fix steering issues when attacking (yet again): We still have to offset the sim positions. - Fix the steering vector when escaping from the enemy that is inside the sub. - Enemies can now navigate out from the sub, when escaping. - Fix door tag not being used when targeting items. Change the priority boosts considering doors. Should now entirely ignore the outer doors when inside and inner doors when outside. - Change the way enemies react to characters that are not in the same sub. Halve the priority when the character is not in the same hull. Add some boost to the priority when escaping. 2019-03-25 19:50:02 +02:00
Joonas Rikkonen 19d5ed5d66 (14f26adfa) Take the position of a sub's docking port into account when determining where to place outposts. Humpback's docking port for example is 600 units to the right from the sub's centerpoint, which prevented it from docking in some levels because the left side of the sub hit the wall at the left side of the outpost. Closes #1028 2019-03-25 19:49:48 +02:00
Joonas Rikkonen 26594e2c6c (4b33eda28) Merge branch 'dev' into enemy-ai 2019-03-25 19:49:34 +02:00
Joonas Rikkonen 5ec6a7fba9 (325184804) Fix distance based attacks not registering if they hit a submarine. 2019-03-25 19:49:05 +02:00
juanjp600 13fcf6f166 (27eca7ad9) Some network optimization: - Don't create network events for hulls that are very far from all clients (e.g. ruin hulls). - Don't create network events for triggers that are set to limit the triggerer's velocity when there are no triggerers. 2019-03-25 10:58:07 -03:00
Joonas Rikkonen c2e8263927 f9e8100...ccacceb
commit ccacceb16a184f00ecd384eede64ca9c4fab08a0
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 25 14:05:59 2019 +0200

    NetEntityEventManager checks the length of the event data (and logs an error if it's too long) before checking if there's still room to keep writing events in the packet. Checking the available room first could lead to situations where an excessively large event can't fit to any packet, "soft-locking" the EventManager without any error messages.

commit 5ac8259372aa900adc724aa4da1fd81af41ca195
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 25 13:41:52 2019 +0200

    Don't display disabled limbs on sonar (i.e. severed limbs that have "faded out")

commit 5f84df73ad86be96f3678c450351b3905e7317a4
Merge: b981f1635 dc429d6c4
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 25 13:41:16 2019 +0200

    Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev

commit b981f163575b2bfc9a83b9925c94eca19b9d4554
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 25 13:36:19 2019 +0200

    Multiplayer campaign fixes:
    - Server uses a different temp folder to decompress save/sub files into than the clients. Should fix files occasionally getting corrupted and exceptions when trying to read the files when hosting a server from the main executable.
    - Some additional debug logging.
    - Use the base names of the adjacent locations as level seeds (i.e. "Vorta" instead of "Vorta Outpost"). The levels should not change when the type (and full name) of the location changes.

commit 42c5d18df77fc7acd5873d8e25f20bdd31b1ed76
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 25 13:31:06 2019 +0200

    Don't transfer files through the network when sending them to the owner of the server (i.e. a client hosting directly from the main executable), but simply tell the client where the file is located.

commit dc429d6c450f4893fe29c51d3c830527e587a871
Author: Daniel Asteljoki <daniel.asteljoki@gmail.com>
Date:   Mon Mar 25 13:30:26 2019 +0200

    Added labels next to periscopes in Humpback and Dugong

commit 789f02a87a2917dd2ae378f136cbe8dd3236c60d
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 25 13:29:29 2019 +0200

    If loading a submarine fails, wait a bit and retry up to 4 times. Fixes loading occasionally failing when running multiple instances of the game from the same directory.

commit be9ea3a58832992b6226917117247e1bf1efeff9
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 25 11:03:36 2019 +0200

    Fixed a bunch of disconnection messages being in an incorrect format & DisconnectUnauthClient not getting the messages from the xml

commit c6f744b4d6b3520720010f5cd4f22a25b42bfc8b
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 25 10:43:10 2019 +0200

    Log entity event errors into server logs when verbose logging is enabled
2019-03-25 14:30:00 +02:00
Joonas Rikkonen 27917ee376 7b471b5...483f2ad
commit 483f2ad4fd9d91b9763d25df592a899cdf39ba67
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Sun Mar 24 19:19:01 2019 +0200

    Instead of making coilgun bolts continuously deteriorate to give them a lifetime of 5 seconds, simply create a delayed status effect that removes them after 5 seconds of being launched.

commit 00b8d48d4d1d933e76a6c0d7df5320c50dc0a07d
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Sun Mar 24 19:16:40 2019 +0200

    Wait at least 0.15 seconds before creating a new condition update event for an item. Some rapidly deteriorating items (e.g. coilgun bolt, faraday artifacts) would otherwise cause new events to be created at an excessively high rate.

commit 84e6948a4898dd040b2a84eb5f1ad97c20dfc69f
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Sun Mar 24 19:14:58 2019 +0200

    Server can send multiple network event packets per update if there's too many events to fit in one packet (up to 4 packets per update).

commit 40797e91d67f965ac6d292367fef5386214abbdb
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Sun Mar 24 17:34:49 2019 +0200

    NetEntityEvent changes:
    - Don't restrict the number of events per message, but instead write as many events as the packet can fit (up to a maximum of 1024 bytes to leave some space for other types of data (event IDs, chat messages and such)).
    - Decrease the delay after which events can be resent (RTT * 1.5 -> RTT).

commit bfefbb5d7da3ce6a5fe9cb7ff733ec5df37a8a15
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Sun Mar 24 14:31:03 2019 +0200

    Fixed FixDurationLowSkill & FixDurationHighSkill parameters in Repairable being case-sensitive, causing almost none of the xml values to be used. + Moved client-specific repairable methods to the client project, and server-specific to the server project.

commit 311f67c6c6b8d2cd9f4f4ca820e42316938c4f17
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Sun Mar 24 14:09:10 2019 +0200

    Fixed "trying to add a dead character to crewmanager" errors when attempting to revive a character killed by some other affliction than internal damage, bleeding or burns. Closes #1341
2019-03-24 19:21:41 +02:00
Joonas Rikkonen 044fd3344b 2f107db...5202af9 2019-03-18 21:42:26 +02:00