Commit Graph

69 Commits

Author SHA1 Message Date
Joonas Rikkonen 8de2eccff2 (7d0cf0d4f) Clamp forces in a bunch of more places where forces are applied to bodies 2019-04-03 16:21:38 +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 5d7dba0f70 (cef39af84) Fixed server creating "attempted to create a network event for an item that hasn't been fully initialized yet" console errors when spawning LightComponents mid-round. + Simplified ragdoll collider null check 2019-04-03 16:21:06 +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 aeeacf6779 (932f9d67b) Fixed wire connections that have been done mid-round not working properly. Closes #1371 2019-03-31 19:13:39 +03:00
Joonas Rikkonen 080ac78ded (5c35a640e) Update tutorial-rework with dev 2019-03-27 20:52:47 +02:00
Joonas Rikkonen bbfb472122 (ed863473d) Added: New tutorial content & UI 2019-03-27 20:46:13 +02:00
Joonas Rikkonen 7ea3e1b20c (9801d8289) Added: Handling of error cases when video is not found 2019-03-27 20:45:58 +02:00
Joonas Rikkonen 556d86ed4f (bce1100e8) ClientCode.projitems update 2019-03-27 20:45:45 +02:00
Joonas Rikkonen ff4ecd15b3 (c7ebe3cdb) Fixed: Old TextManager.Get call 2019-03-27 20:45:30 +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 5127038dc8 7cc231b...69487a2
commit 69487a2a8596ac24252c12624b40b7ad7a06edb5
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Wed Mar 20 15:50:44 2019 +0200

    Fixed TargetItemComponentName comparisons in StatusEffect conditionals. Closes #1307

commit 8568bbce1a6d7d809e8e7a63509850387d6d2b91
Merge: b4bd00925 481755c1b
Author: itchyOwl <lauri.harkanen@gmail.com>
Date:   Wed Mar 20 15:46:12 2019 +0200

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

commit b4bd0092566cb31239bc8c585d98f4949fdc57b1
Author: itchyOwl <lauri.harkanen@gmail.com>
Date:   Wed Mar 20 15:45:48 2019 +0200

    Reinstate equipped item overrides for all item component instances.

commit 481755c1b636794886a38f8503b801df89eeee7e
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Wed Mar 20 15:37:55 2019 +0200

    Don't create network events in the LightComponent.IsOn setter if the round hasn't started (= when loading a game and initializing the items)
2019-03-20 16:07:57 +02:00
Joonas Rikkonen 63eb4d64e5 f8b0295...0671290 2019-03-18 23:30:58 +02:00
Joonas Rikkonen 80ab27df22 c2e39cc...409d4d9
commit 409d4d96ead69028a164274637d23e350acb73fb
Merge: 95169f539 26e89c63d
Author: EdusFF <pitkanen.eetu@gmail.com>
Date:   Mon Mar 11 15:13:27 2019 +0200

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

commit 95169f53937f9a7e168a884171eaa21ae7f08023
Author: EdusFF <pitkanen.eetu@gmail.com>
Date:   Mon Mar 11 15:13:11 2019 +0200

    Modified: ServerMessage structure to allow _ ; in player & submarine names

commit 26e89c63dc8da771aea9f09978a630a6cff60a6f
Merge: b7646d06d fb0b821bc
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 11 14:42:44 2019 +0200

    Merge branch 'kuraiookami-logicExpantion' into dev

    # Conflicts:
    #       Barotrauma/BarotraumaShared/SharedContent.projitems

commit fb0b821bc97891cdeec8f2c740a12119696393ea
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 11 14:41:21 2019 +0200

    Use invariant culture when parsing floats or converting them to strings in signal components

commit f0c8afba934b41358cf5d59a22b87caf33f98a61
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 11 14:00:44 2019 +0200

    Update new signal components to use identifiers & added names and descriptions to the text file, use invariant culture in equalscomponent, memorycomponent doesn't require the signals to be floats

commit 674d9ec804fc4770b602d4b09240b08cafc8ccec
Merge: 3ea33fb54 242e2429f
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 11 12:01:27 2019 +0200

    Merge branch 'logicExpantion' of https://github.com/kuraiookami/Barotrauma into kuraiookami-logicExpantion

    # Conflicts:
    #       Barotrauma/BarotraumaShared/BarotraumaShared.projitems
    #       Barotrauma/BarotraumaShared/Content/Items/Electricity/poweritems.xml
    #       Barotrauma/BarotraumaShared/Content/Items/Electricity/signalitems.xml
    #       Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerContainer.cs
    #       Barotrauma/BarotraumaShared/Source/Items/Components/Signal/AdderComponent.cs

commit b7646d06d53fb05227276e6286d0e15da5dc9080
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 11 11:37:33 2019 +0200

    Re-enabled multiplayer campaign

commit cf7258f6410a5995c881ec6e95eb9def5cd90ad4
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 11 11:28:48 2019 +0200

    Fixed item interfaces getting repositioned every frame when the editing HUD is open. Closes #1212

commit e8906239c779cf71de694bc65c81058e5cae16ef
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Mon Mar 11 11:12:05 2019 +0200

    Fixed VoipCapture creating new "could not start voice capture" popups constantly if there's no suitable capture device. Closes #1262

commit a30f47fbe47fde4fccb0453c1773a76d730d226b
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Sun Mar 10 19:04:59 2019 +0200

    Disable audio instead of crashing if no audio device is found. Closes #1214

commit 242e2429fd2c3ed199ac26b55e2cbdc8636e73f9
Author: Darkwolf <Darkwolf0101@gmail.com>
Date:   Mon Jan 21 21:26:57 2019 -0600

    Expansion of Barotrauma's logic system.

    Changed:
    - AdderComponent and children can clamp their output
    - Powercontainer signals for charge,charge% and charge rate

    Added:
    - ColorComponent: Dynamic signals for light set_color inputs
    - MemoryComponent: Stores and sends a signal that is edge latched
    - DivideComponent: Standard division
    - MultiplyComponent: Standard multiplication
    - SubtractComponent: Standard subtraction
    - XorComponent: Exclusive or
    - EqualsComponent: Equals comparison
    - GreaterComponent: Greater than comparison
2019-03-18 22:50:18 +02:00
Joonas Rikkonen 044fd3344b 2f107db...5202af9 2019-03-18 21:42:26 +02:00
Joonas Rikkonen 6c0679c297 38f1ddb...178a853: v0.8.9.1, removed content folder 2019-03-18 20:39:27 +02:00
Joonas Rikkonen c2d0fa4e03 Fixed non-continuous RegEx components only sending out a signal once 2018-11-15 21:32:11 +02:00
Joonas Rikkonen c4c2967065 Option to make RegEx component only send a signal when it receives a signal (not continuously according to the last received signal), added FalseOutput property to RegEx component. Closes #846, Closes #911 2018-11-15 20:52:15 +02:00
Joonas Rikkonen 105461beb3 Fixed LightComponents staying active on broken items. Closes #759 2018-08-29 16:45:35 +03:00
Joonas Rikkonen 898e8dfdb1 Added a property for locking connection panels (better than the old hacky way of changing the required item to something else). Locked panels can still be rewired in the sub editor. Closes #679 2018-08-20 20:12:33 +03:00
Joonas Rikkonen 6a415afaa1 Merge branch 'master' of https://github.com/Regalis11/Barotrauma 2018-08-06 10:53:25 +03:00
Joonas Rikkonen 141b77f838 Fixed connectionpanel syncing. Closes #575 2018-08-06 10:50:32 +03:00
Joonas Rikkonen a69c52b3c1 Fixed servers failing to write network events for wires with too many nodes, causing clients syncing to fail and everyone getting kicked out due to desync. Now the wire events are split into multiple events, and there's a hard cap (255) on the number of nodes per wire. Closes #563
+ Writing too much data into an event no longer breaks event syncing completely, if it happens the server just logs an error and writes an empty event.
2018-08-03 21:32:28 +03:00
Joonas Rikkonen 5a6a8e2501 Wifi components can't communicate with the enemy sub in combat missions. Fixes #554 2018-08-01 13:52:47 +03:00
Joonas Rikkonen 82103cf394 Controllers don't have to be wired directly to an item for camera focus to work (= railguns and cameras can be used over wifi). Closes #535 2018-07-31 15:03:20 +03:00
Joonas Rikkonen 60a563fe75 EntityEvent fixes:
- Clients wait for midround syncing to finish before applying the remote state to connection panels and inventories (because the wires connected to the connection panel or items in the inventory may not exist before the EntitySpawner events have been received).
- Server writes 0 as the projectile ID if the projectile doesn't exist anymore when a Turret event is sent.
- More info in networkevent error messages.
2018-07-30 13:35:26 +03:00
Joonas Rikkonen d00b52882f Added UpdateUseItem method from d253863 2018-07-18 12:14:09 +03:00
Joonas Rikkonen 41800aff77 Cherry-picked d0b61b3 from dev. 2018-07-18 11:50:09 +03:00
Joonas Rikkonen e0455caaaa Cherry-picked 869b725 from dev 2018-07-18 11:49:36 +03:00
Joonas Rikkonen 1ef2cb7500 Fixed crashing if the Use method of a wire is triggered by a StatusEffect 2018-07-18 11:24:56 +03:00
Roni Kovaniemi c1cbde4288 Adder Signal Component
Added a Adder signal component, which adds values inputted together and outputs a sum.
2018-07-09 14:42:07 +03:00
Joonas Rikkonen df149dd0fa Option to make delay component reset (discarding previously received signals) when a new signal is received, fixed delay countdown running even when the game is paused. Closes #435 2018-06-10 23:51:26 +03:00
Joonas Rikkonen d1ec246f28 Fixed motion sensors sending out signals even if the output is set to nothing. Closes #426 2018-05-30 18:36:44 +03:00
Joonas Rikkonen ed22ca360f Fixed AND/OR or components staying inactive until they receive their first signal. Closes #387 2018-04-25 14:43:44 +03:00
Joonas Rikkonen faaaa69fa7 RegExFindComponent doesn't attempt to evaluate the (null) signal when no signal has been received yet. 2018-03-21 15:31:53 +02:00
juanjp600 82dcbc3ae8 Light sources now follow the direction of parent Turrets + changed Controller's output signal and Turret's input signal to an angle 2018-03-07 22:53:28 -03:00
Joonas Rikkonen f1f190a997 Added a light to diving suits (requires a battery to work). Closes #233 2018-03-02 13:11:28 +02:00
Joonas Rikkonen 12d1692bb5 Wearables can attach lightsources to limbs 2018-03-02 11:13:11 +02:00
Joonas Rikkonen 6fcf2f573b Fixed relays burning out when connected to the main power grid. The changes in bb98767 caused relay components to be considered parts of whichever power grid they're connected to, causing their power and load to match the rest of the grid which usually causes them to go over the max power value. Closes #279
+ Fixed "powerConnections" field not being updated when creating PowerTransfer components mid-round, which made fabricated relays unusable for power transfer.
2018-02-24 20:46:28 +02:00
Joonas Rikkonen 7d346c1437 Fixed wires dropping when a client moves them from a connection to another in the same connection panel, fixed wires becoming disconnected client-side if they're moved from a connection to another connection that's upper in the connection panel. (See #252) 2018-02-15 14:24:04 +02:00
Joonas Rikkonen ec302e099b Fixed Powered ItemComponents (not components deriving from Powered) never resetting their voltage after receiving power, causing them to stay powered indefinitely. Closes #247 2018-02-05 22:31:55 +02:00
Joonas Rikkonen 965eef365b Fixed relay components not carrying power & deactivated (CanTransfer = false or IsActive = false) PowerTransfer components still carrying power 2018-01-17 21:25:52 +02:00
Joonas Rikkonen aa0fdfb790 All highlighted items are rendered to the lightmap, not just the ones the player is focusing on. -> Highlighted wires and the items they are connected to now glow in the dark.
Fixed LightComponent light source position not being updated if the item has no body, causing the light source to appear in a wrong position when attaching lights to walls.
2018-01-11 13:22:04 +02:00
Joonas Rikkonen 47f9900fdc Lighting fixes:
- Re-enabled lightsprites (glowing lamp sprites on lamps).
- Limb sprites use lightsprites instead of overriding the texture (positioned correctly now).
- Fixed lights that don't cast shadows not being rendered.
2018-01-11 11:23:55 +02:00
Joonas Rikkonen 6a3a4efba6 Option to display lighting in sub editor 2018-01-09 12:27:42 +02:00
Joonas Rikkonen 78c13ddb42 Wire selection fixes:
- Fixed MathUtils.LineToPointDistance returning NaN if both points of the line are at the same position, preventing from selecting some wire nodes in the wiring mode.
- Added an indicator that shows when a node is highlighted.
- Wire nodes a higher preference for being highlighted than wire sections. Makes it easier to select nodes that are on top of another wire.

Closes #215
2018-01-01 15:04:53 +02:00
Joonas Rikkonen bb987676ca Improved PowerTransfer logic. The PowerTransfer components cache all the connections that are connected to the item (directly or via another item) and only recalculate them when changes are done to the wiring. Signals received by the PowerTransfer component are relayed directly to the recipients instead of stepping through all the wires and junction boxes in between.
Fixes stack overflow exceptions caused by signals looping between junction boxes and improves performance because the layout of the power grid doesn't have to be calculated every frame and the wire connections don't have to be rechecked when sending a signal. Closes #222
2018-01-01 14:59:40 +02:00
Alex Noir bdeb3a19fd Updated server logs so admins can see disguised persons
clientist should also display stuff
TODO: Log inventory interactions like putting item in slots (e.g. oxy mask equipped in Head slot or equipped in Any slot, etc.) so you can tell the exact moment someone decided to disguise themselves.
2017-12-16 20:24:24 +03:00
Joonas Rikkonen 847e10d4a2 Fixed wires not being dropped server-side when a player drops a connected wire without dragging it to their inventory first (or client-side when a host does so).
Closes #96
2017-12-13 18:34:23 +02:00