Commit Graph

134 Commits

Author SHA1 Message Date
Joonas Rikkonen fde99f5373 (586e37096) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-04-10 13:22:57 +03:00
Joonas Rikkonen bd0c8a9d34 (818a83da1) Alternate door versions with integrated buttons 2019-04-10 13:22:39 +03:00
Joonas Rikkonen 842b6a2e34 (9619c01cd) Change the info text colors and cache the list. 2019-04-10 13:22:19 +03:00
Joonas Rikkonen d7c88e3055 (f185bce97) Fix an indentation. 2019-04-10 13:22:02 +03:00
Joonas Rikkonen 25453018fc (3f015888d) Implement manual doors that can be opened simply by clicking on them. Add a test sub (not added in the project -> have to manually place in the local bin folder to test it). 2019-04-10 13:21:25 +03:00
Joonas Rikkonen 443d199017 (cd7359bb3) StatusEffects can modify item sound and sight ranges (requires an AITarget) 2019-04-08 23:12:09 +03:00
Joonas Rikkonen 4811ec796f (50447ac17) Inventory syncing fixes. Could be related to #768. - When moving an item from an inventory to another, create the event for the target inventory first, then for the inventory the item is being removed from. Otherwise clients would first drop the item, and then put it in the container with the next event, which works most of the time, but if the second event is delayed enough that the item is not within the character's reach by the time it arrives, the client will be unable to put it in the container and the item will just be dropped. - Fixed item velocities not being reset when they're dropped from a character's inventory. I'm not exactly sure why, but sometimes they had very high downwards velocities (even though the body was previously inactive), which caused them to launch through floors and made the previous inventory syncing issue much worse (because a delay of just a couple of frames was enough to move the item out of the character's reach). 2019-04-08 19:18:04 +03:00
Joonas Rikkonen 1297127ae2 (0be4bd31d) Todo note about idling characters killing the framerate (see #1397) 2019-04-07 13:41:07 +03:00
Joonas Rikkonen db754188ce (bc739e38f) Added impact sounds to items (e.g. when dropped to the ground). Closes #841 2019-04-07 13:40: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 860e5204ab (cad2b1306) Fix the camera issue on turrets. 2019-04-04 11:07:29 +03:00
Joonas Rikkonen 2d52a8ddf4 (883c460d5) Don't require holding the aim key when using the periscope/controller. Move the RequireAimToUse from Controller component to Item. Change the use and shoot logic accordingly. TODO: fix the camera centering. 2019-04-04 11:07:14 +03:00
Joonas Rikkonen 3f05035c18 (c4338b107) Disable aiming when interacting with an item other than ladders. 2019-04-04 11:06:44 +03:00
Joonas Rikkonen 0cd81c6a99 (cdc68f306) Don't select items when aiming. 2019-04-04 11:06:28 +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 df155079cc (2a51e42a4) Set PositionUpdateInterval to zero when an item is dropped to make sure clients receive some position updates and become aware of the new position of the item 2019-04-03 16:26:28 +03:00
Joonas Rikkonen 64bec6d3b9 (684bcee1a) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-04-03 16:24:20 +03:00
Joonas Rikkonen 516159fe43 (d404aba3e) Added background color to keybind inputs in the Controls settings layout, to help readability 2019-04-03 16:24:06 +03:00
Joonas Rikkonen abad70f0c1 (7e32870a0) Check that item has a non-zero mass before applying water forces (couldn't reproduce it, but had a debug assertion fail due to the mass of an alien artifact being 0), validate clamped force before attempting to apply it 2019-04-03 16:23:37 +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 cae366e807 (4d924cc86) Fixes to New Game and Game Settings layouts
+ merge fix
2019-04-01 22:55:04 +03:00
Joonas Rikkonen 8b12f85f48 (b6f451292) Moved crafting recipes from the fabricator xml to the xmls of the items. Makes it possible for modders to add new craftable items without having to modify the fabricators. Closes #1001 2019-04-01 22:51:37 +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 a8222e429f (edb24c37f) Fixed ItemComponents overwriting the Msg-tags ("ItemMsgPressSelect" etc) with the text fetched from the text xml, preventing the texts from being translated after the sub has been saved. 2019-03-28 12:36:11 +02:00
Joonas Rikkonen e6c3d6d537 (6cc2e0541) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-03-27 21:00:33 +02: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 4b3e78b566 (913ed2ce9) Merge remote-tracking branch 'origin/dev' into enemy-ai 2019-03-26 14:07:11 +02:00
Joonas Rikkonen 14832e2040 (aea5053bf) Fix wall target position not updated when the submarine moves. Fix latchontoai attach positions and distance checks. Detaching should also work both when the characters can get in and when the submarine velocity is enough to detach the characters. Still not synced, but re-enabled for testing. 2019-03-26 14:06:55 +02:00
Joonas Rikkonen ca279d40a3 (dbaa7326b) Use the SpriteColor of the item when drawing the moving parts of turrets and doors, made InventoryIconColor and ContainerColor saveable. Closes #1326 2019-03-26 14:06:26 +02:00
Joonas Rikkonen 7c9d0aac03 (ef1d7a5a2) Campaign fix: clear missions from locations that change their type, and all adjacent locations. Caused missions to still be available when they logically shouldn't be (e.g. a transport mission from an uninhabited location to another) and syncing issues in multiplayer. 2019-03-25 19:55:38 +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
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 c78546b5f4 a75a560...814f6c9
commit 814f6c9dd4d48b3931e1d3bcb1918ff79324c1d4
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Wed Mar 20 19:33:18 2019 +0200

    Fixed multiplayer campaign setup UI showing the client's subs instead of the server's (see #1311)

commit 4a3e485dea85aa21037b13fd1b86af4a4ec1a5fd
Author: itchyOwl <lauri.harkanen@gmail.com>
Date:   Wed Mar 20 19:16:17 2019 +0200

    Move new texts in the end of the localization file.

commit 5a8af99afe5aad0b2f5343ca6f923d8c7eb19e68
Author: itchyOwl <lauri.harkanen@gmail.com>
Date:   Wed Mar 20 19:05:43 2019 +0200

    Recreate the editing gui window when resetting the entities with the "resetall" command.

commit 0048e6dcb9699e5b1e434ace867bc8f426cdae28
Author: itchyOwl <lauri.harkanen@gmail.com>
Date:   Wed Mar 20 19:04:42 2019 +0200

    Fix resetting to prefab.

commit 88be0923761f5ac2c895364c8ad0e11fe9a66576
Author: itchyOwl <lauri.harkanen@gmail.com>
Date:   Wed Mar 20 18:40:13 2019 +0200

    Fix item components not being loaded properly.

commit 6f970d54ed800eff25ae3643b03c0020336c8621
Author: itchyOwl <lauri.harkanen@gmail.com>
Date:   Wed Mar 20 18:21:25 2019 +0200

    Add a console command for resetting all items and structures to the prefabs.

commit bd561ef43391a2e4251bef18a8738b233f540961
Merge: e8843c30c a75a56088
Author: itchyOwl <lauri.harkanen@gmail.com>
Date:   Wed Mar 20 17:47:14 2019 +0200

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

commit e8843c30cdb966832236ec361494e4c886130590
Author: itchyOwl <lauri.harkanen@gmail.com>
Date:   Wed Mar 20 17:46:38 2019 +0200

    Implement item and structure instance resetting to prefab. Add buttons in the subeditor. Allow to save the msg text in the editor.
2019-03-20 19:42:17 +02:00
Joonas Rikkonen a8309b5766 69487a2...d38c50c
commit d38c50cc354476d5309645bc1487a4c03fe97d57
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Wed Mar 20 16:27:45 2019 +0200

    Fixed inability to throw anything in the multiplayer. The clients would create a network event about dropping the item during the throw, which prevented throwing it server-side (because the item isn't in the character's inventory anymore by the time it should be launched). Closes #1318

commit 25cc1ceefcf62e346281c24c41964053d102701c
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Wed Mar 20 16:21:33 2019 +0200

    Merge same afflictions into one icon in the preview above the health bar (instead of showing the same icon for each limb that has the affliction)
2019-03-20 16:28:15 +02:00
Joonas Rikkonen 81fafaf3f5 633e54b...7cc231b
commit 7cc231bc51890e7fde50bbac3413328dd7bc5189
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Wed Mar 20 14:23:06 2019 +0200

    Fixed server creating network events in Item.Load due to CreateServerEvent calls in some of the ItemComponent properties (e.g. LightComponent.IsOn). Caused syncing problems because the entity spawn events aren't created until the item has been loaded, leading to situations where clients fail to read events because the entity doesn't exist at their end yet (see #1293). TODO: get rid of console errors when attempting to create events during component initialization in the Item constructor.

commit ac1bf32edf125d95d56775e1e8ce54ac7671328c
Author: itchyOwl <lauri.harkanen@gmail.com>
Date:   Wed Mar 20 13:49:55 2019 +0200

    Fix Hammerhead attack causing warping. Adjust the targeting priorities.

commit e3e032d7c3a753397269bb4236c1494ab0809004
Author: itchyOwl <lauri.harkanen@gmail.com>
Date:   Wed Mar 20 13:48:47 2019 +0200

    Enemy AI fixes:
    - Fix enemies "fleeing" after they have been shot. There was a steering issue when they targeted characters that were inside the sub when they were outside of it
    - Fix the previous target resetting too often
    - Fix the wall target resetting too often
    - Use world positions instead of sim positions where possible, because the sub positions are then taken into account

commit 847cf5ffd9212a542000dbf12332b2c08756579a
Author: Daniel Asteljoki <daniel.asteljoki@gmail.com>
Date:   Wed Mar 20 12:00:15 2019 +0200

    Remora: added power connection between sub and drone, removed non-scaling hull parts

commit a9c2e8cc124713e90dd44a9adf2fcbb3204b2c4d
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Wed Mar 20 11:24:37 2019 +0200

    Server sets clients' last received campaign save/update IDs to one before the current up-to-date IDs (instead of zero) when a campaign changes. Zero would get interpreted as a more up-to-date ID if the IDs of the current campaign are close to ushort.MaxValue where the IDs wrap around.

commit 07d82b64e6990eacaf8905aed1a5d7c61224e47d
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Tue Mar 19 18:24:01 2019 +0200

    Log level inequality error messages & client error reports handled by the server to GameAnalytics
2019-03-20 14:25:03 +02:00
Joonas Rikkonen 63eb4d64e5 f8b0295...0671290 2019-03-18 23:30:58 +02:00
Joonas Rikkonen 23687fbf2f aeafa16...4d3cf73 2019-03-18 22:57:05 +02:00