Commit Graph

2373 Commits

Author SHA1 Message Date
Joonas Rikkonen
e57eb739e2 Cloned items copy the RequiredItems from the original item. Closes #581 2018-08-06 11:19:10 +03:00
Joonas Rikkonen
a8604deeb6 Removed monitor files from the vs project 2018-08-06 11:18:37 +03:00
Joonas Rikkonen
3956c1d7a0 StatusEffects with a duration ignore removed targets and automatically stop if all targets have been removed. Closes #571 2018-08-06 11:09:06 +03:00
Joonas Rikkonen
0fa046b325 Removed monitor (unused item that doesn't function atm). Closes #580 2018-08-06 11:02:48 +03:00
Joonas Rikkonen
362c97ce05 Worn items use the spritecolor set in the sub editor. Closes #574 2018-08-06 11:01:13 +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
5b2e31b923 v0.8.1.11 2018-08-05 21:40:33 +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
2f5ca65542 Fixed nullref exceptions when a character dies while holding an item. 2018-08-03 19:54:58 +03:00
Joonas Rikkonen
cafcc76064 Fixed wall-attached sections of a wire not rendering when the item is being rewired outside the sub 2018-08-02 16:55:37 +03:00
Joonas Rikkonen
9099b191d0 Fix (or a workaround) to characters teleporting inside/through colliders when leaving a sub (see #552). Gaps do a raycast out from the sub to see if there are obstacles outside, and if so, ragdolls place a collider at the corresponding position inside the sub. The collider is simply a straight axis-aligned line atm, so it doesn't work accurately with sloped ice/submarine walls, but does prevent the ragdoll from ending up inside the obstacles. TODO: use a few edges to approximate the shape of the obstacles more closely? 2018-08-02 16:48:51 +03:00
Joonas Rikkonen
708f72c883 Fixed items occasionally dropping instead of being moved to another inventory client-side. Closes #558 2018-08-02 13:24:56 +03:00
Joonas Rikkonen
9ab5d76ed1 Fixed attachable items dropping on the ground when deattaching them (but still staying in the inventory of the character detaching them). Closes #559 2018-08-02 12:18:03 +03:00
Joonas Rikkonen
1379460ad9 Fixed holdable components reverting their RequiredItems back to the prefab values during loading. Closes #557 2018-08-02 11:22:49 +03:00
Joonas Rikkonen
274a29bada Fixed fabricated items always appearing to be in full condition client-side (e.g. oxygen tanks which should be empty after being fabricated). Cherry-picked from 64896b0f. Closes #561 2018-08-02 10:50:38 +03:00
Joonas Rikkonen
7f58e4619b Merge pull request #560 from ursinewalrus/placeItemsWhereHandIs
Place items where hand is
2018-08-02 10:44:45 +03:00
Josh Kerxhalli-Kleinfield
8c8d3e300f Comment update 2018-08-01 19:07:35 -05:00
Joonas Rikkonen
5ba3f9384a Debug visualization of docking port colliders 2018-08-01 17:30:07 +03:00
Joonas Rikkonen
027cebafdd Fixed the previously selected location staying selected but start button staying disabled when returning to the lobby screen in SP campaign. Made it impossible to progress without restarting if there were no other selectable locations. Closes #553 2018-08-01 14:09:22 +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
ursinewalrus
bec2cd5323 more accurate placement 2018-07-31 19:46:55 -05:00
ursinewalrus
d8559ad63c attaches item to wall where hand is, not at center of body 2018-07-31 18:50:38 -05: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
d81ee1a27e Added a bunch of checks to make sure a normalized zero vector (= NaN, NaN) is not used in any position/velocity/movement calculations. There were at least three places where it was causing problems according to error reports: when a character that can't enter a sub spawns at the center of a hull and when using an underwater scooter or throwing something while the cursor is at the position of the character, but there were tons of other places as well where it may have potentially caused physics errors. 2018-07-31 12:28:04 +03:00
Joonas Rikkonen
d881a7060b Updated tutorial info text to match the new color of the sonar display. Closes #550 2018-07-31 10:41:41 +03:00
Joonas Rikkonen
13a2e4d33b StatusEffect.StopAll clears DurationList and DelayList. Closes #543 2018-07-30 20:02:56 +03:00
Joonas Rikkonen
86df5f6b1a Physics error checks & logging 2018-07-30 14:31:30 +03:00
Joonas Rikkonen
7acd3f746d StatusEffects don't attempt to use removed items or apply property values to removed entities. 2018-07-30 14:30:27 +03:00
Joonas Rikkonen
b4d0a1bd38 Inventory sync fix (component index included in events created when the server receives an inventory update from a client). 2018-07-30 14:28:04 +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
8c598db10b Fixed errors in RespawnManager.ClientRead when not using a shuttle, extra diving gear does not spawn when respawning in main sub (TODO: automatically give and equip diving gear if the sub is flooded?) 2018-07-30 11:41:54 +03:00
Joonas Rikkonen
c66098ca4e Fixed only the first inventory of an item being synced (e.g. clients wouldn't get notified when an item is contained in the "output inventory" of a fabricator or deconstructor). 2018-07-30 11:00:21 +03:00
Joonas Rikkonen
9964923eba Fixed server writing invalid item network events incorrectly (NetBuffer.Position is the read position, not write position) 2018-07-30 10:46:52 +03:00
Joonas Rikkonen
5233b51e18 More error checks in Item.ServerWrite 2018-07-30 10:12:55 +03:00
Joonas Rikkonen
458c972580 More server-side EntityEvent error logging, Item.ServerWrite does some error checks and writes NetEntityEvent.Type.Invalid as the type of the event instead of attempting to write a potentially unreadable message. 2018-07-29 22:28:56 +03:00
Joonas Rikkonen
b7b033dac1 Made the traitorlist command usable by clients (assuming they have the permission to use it). Closes #539 2018-07-29 21:16:59 +03:00
Joonas Rikkonen
6209f48fff More error logging to diagnose invalid header errors 2018-07-27 16:11:19 +03:00
Joonas Rikkonen
891a2c3257 Merge branch 'master' of https://github.com/Regalis11/Barotrauma 2018-07-27 11:14:14 +03:00
Joonas Rikkonen
5b019621b7 Fixed sea floor having a wrong collision category, causing artifacts to spawn below it. Closes #532 2018-07-27 11:14:09 +03:00
Joonas Rikkonen
2de1b2a05c v0.8.1.10 2018-07-27 02:30:35 +03:00
Joonas Rikkonen
ce18309a78 Fixed crashing when attempting to increase buy quantity in campaign UI when money is at zero, fixed capping the number input to the value the player can afford (the previous calculation only clamped it above zero). Closes #531 2018-07-26 16:42:11 +03:00
Joonas Rikkonen
90f6d351e5 Fixed indentation in jobs.xml, oxygengenerator.xml & weapons.xml and removed the oxygenite tank statuseffect that does nothing from oxygen generator 2018-07-26 13:09:54 +03:00
Joonas Rikkonen
50603b72f4 Fixed another bug in DockingPort that caused entity ID mismatches. Even though the server sent the IDs of the CURRENT hulls and gap of the docking port, they are not necessarily created in the correct order during midround syncing and may end up replacing the ID of another entity or another entity spawned after them may cause their IDs to be replaced. Closes #530 2018-07-26 12:42:29 +03:00
Joonas Rikkonen
b309b45246 Fixed entity ID mismatches and desync kicks caused by gap creation/removal in Structure.SetDamage. Creating the gaps on damaged walls wasn't guaranteed to happen in the same order client-side as on the server, causing the IDs to get assigned mismatching IDs and in some cases also affecting the IDs of other types of entities (see #528).
Now the structure gaps simply don't have IDs. They're never accessed by ID so I don't think there's the need to make the creation/removal go through entityspawner.
2018-07-25 17:34:10 +03:00
Joonas Rikkonen
40f4e94613 Fixed incorrect debug info when receiving a message with an invalid object header. The method wrote the bytes/bits read SINCE the previous object (= just one byte, the invalid object header) instead of what was read in the previous object. The error message also ignored empty entity events. 2018-07-25 17:00:31 +03:00
Joonas Rikkonen
d3d842eecd Added error checking and logging to wire cloning logic in MapEntity.Clone (see #527) 2018-07-25 11:49:10 +03:00
Joonas Rikkonen
01e97fe4bd Fixed crashing if the server attempts to spawn extra cargo that doesn't spawn in a container. 2018-07-24 19:10:18 +03:00
Joonas Rikkonen
df720b67ba Fixed clients getting desynced if cargomanager spawns extra containers due to running out of space. 2018-07-24 19:02:56 +03:00
Joonas Rikkonen
2705eddd18 Merge branch 'ursinewalrus-gameFailsToStartOnStoreOverBuy' 2018-07-24 18:39:16 +03:00