3956c1d7a0
StatusEffects with a duration ignore removed targets and automatically stop if all targets have been removed. Closes#571
Joonas Rikkonen
2018-08-06 11:09:06 +03:00
0fa046b325
Removed monitor (unused item that doesn't function atm). Closes#580
Joonas Rikkonen
2018-08-06 11:02:48 +03:00
362c97ce05
Worn items use the spritecolor set in the sub editor. Closes#574
Joonas Rikkonen
2018-08-06 11:01:13 +03:00
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
Joonas Rikkonen
2018-08-03 21:32:28 +03:00
2f5ca65542
Fixed nullref exceptions when a character dies while holding an item.
Joonas Rikkonen
2018-08-03 19:54:58 +03:00
cafcc76064
Fixed wall-attached sections of a wire not rendering when the item is being rewired outside the sub
Joonas Rikkonen
2018-08-02 16:55:37 +03:00
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?
Joonas Rikkonen
2018-08-02 16:48:51 +03:00
708f72c883
Fixed items occasionally dropping instead of being moved to another inventory client-side. Closes#558
Joonas Rikkonen
2018-08-02 13:24:56 +03:00
9ab5d76ed1
Fixed attachable items dropping on the ground when deattaching them (but still staying in the inventory of the character detaching them). Closes#559
Joonas Rikkonen
2018-08-02 12:18:03 +03:00
1379460ad9
Fixed holdable components reverting their RequiredItems back to the prefab values during loading. Closes#557
Joonas Rikkonen
2018-08-02 11:22:49 +03:00
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
Joonas Rikkonen
2018-06-29 17:39:10 +03:00
5ba3f9384a
Debug visualization of docking port colliders
Joonas Rikkonen
2018-08-01 17:30:07 +03:00
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
Joonas Rikkonen
2018-08-01 14:09:22 +03:00
5a6a8e2501
Wifi components can't communicate with the enemy sub in combat missions. Fixes#554
Joonas Rikkonen
2018-08-01 13:52:47 +03:00
bec2cd5323
more accurate placement
ursinewalrus
2018-07-31 19:46:55 -05:00
d8559ad63c
attaches item to wall where hand is, not at center of body
ursinewalrus
2018-07-31 18:50:38 -05:00
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
Joonas Rikkonen
2018-07-31 15:03:20 +03:00
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.
Joonas Rikkonen
2018-07-31 12:28:04 +03:00
d881a7060b
Updated tutorial info text to match the new color of the sonar display. Closes#550
Joonas Rikkonen
2018-07-31 10:41:41 +03:00
7acd3f746d
StatusEffects don't attempt to use removed items or apply property values to removed entities.
Joonas Rikkonen
2018-07-30 14:30:27 +03:00
b4d0a1bd38
Inventory sync fix (component index included in events created when the server receives an inventory update from a client).
Joonas Rikkonen
2018-07-30 14:28:04 +03:00
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.
Joonas Rikkonen
2018-07-30 13:35:26 +03:00
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?)
Joonas Rikkonen
2018-07-30 11:41:03 +03:00
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).
Joonas Rikkonen
2018-07-30 11:00:21 +03:00
9964923eba
Fixed server writing invalid item network events incorrectly (NetBuffer.Position is the read position, not write position)
Joonas Rikkonen
2018-07-30 10:46:52 +03:00
5233b51e18
More error checks in Item.ServerWrite
Joonas Rikkonen
2018-07-30 10:12:55 +03:00
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.
Joonas Rikkonen
2018-07-29 22:28:56 +03:00
b7b033dac1
Made the traitorlist command usable by clients (assuming they have the permission to use it). Closes#539
Joonas Rikkonen
2018-07-29 21:16:59 +03:00
6209f48fff
More error logging to diagnose invalid header errors
Joonas Rikkonen
2018-07-27 16:11:19 +03:00
5dcb7bba9b
Mirroring background sprite positions partially working. They spawn at the correct edge, but not at the correct position or rotation.
Joonas Rikkonen
2018-07-27 14:50:42 +03:00
3b4a6c0081
Ruin and seafloor mirroring works now
Joonas Rikkonen
2018-07-27 13:01:04 +03:00
5b019621b7
Fixed sea floor having a wrong collision category, causing artifacts to spawn below it. Closes#532
Joonas Rikkonen
2018-07-27 11:14:09 +03:00
aa5b2a973e
Mirroring levels. Mirroring the wall geometry works, but ruins and background sprites are not placed at the correct positions yet.
Joonas Rikkonen
2018-07-27 10:36:52 +03:00
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
Joonas Rikkonen
2018-07-26 16:42:11 +03:00
90f6d351e5
Fixed indentation in jobs.xml, oxygengenerator.xml & weapons.xml and removed the oxygenite tank statuseffect that does nothing from oxygen generator
Joonas Rikkonen
2018-07-26 13:09:54 +03:00
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
Joonas Rikkonen
2018-07-26 12:41:54 +03:00
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).
Joonas Rikkonen
2018-07-25 17:34:10 +03:00
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.
Joonas Rikkonen
2018-07-25 17:00:31 +03:00
d3d842eecd
Added error checking and logging to wire cloning logic in MapEntity.Clone (see #527)
Joonas Rikkonen
2018-07-25 11:49:10 +03:00
01e97fe4bd
Fixed crashing if the server attempts to spawn extra cargo that doesn't spawn in a container.
Joonas Rikkonen
2018-07-24 19:10:18 +03:00
df720b67ba
Fixed clients getting desynced if cargomanager spawns extra containers due to running out of space.
Joonas Rikkonen
2018-07-24 19:02:56 +03:00
756278bb81
Increased the minimum distance between verts in level collider generation code. Should make the "invalid triangle created by CaveGenerator" errors less frequent. (See #311)
Joonas Rikkonen
2018-07-24 15:43:26 +03:00
e21b756f29
Fixed invalid left/right normal errors during level generation (I think). The voronoi cell generation logic ignored zero-length edges, but it was possible for an edge to be so short that the distance from the adjacent edge to the center of the short edge rounded down to zero in GenerateWallShapes.
Joonas Rikkonen
2018-07-24 15:00:35 +03:00
bf0c12ce52
The number of completed missions in a level connection is saved (-> reloading doesn't reset the mission in the connection to the initial one). Fixes#517
Joonas Rikkonen
2018-07-24 14:34:27 +03:00
4a8845c604
Fixed docking ports creating duplicate hulls and gaps during loading
Joonas Rikkonen
2018-07-24 13:21:36 +03:00
5e6215a37c
Fixed crashing when attempting to generate hulls with the "autohull" command when there are no walls or doors in the sub.
Joonas Rikkonen
2018-07-24 13:21:02 +03:00
65b8d2d36e
Fixed door gaps being removed twice when unloading a sub (in door.Remove and Entity.RemoveAll). Probably didn't cause any issues other than unnecessary console warnings.
Joonas Rikkonen
2018-07-24 13:19:07 +03:00
c28fd336c9
If you buy more than a full box worth of stuff at the store instead of not letting you start the mission it will put the extra stuff in extra boxes for you
ursinewalrus
2018-07-23 21:32:01 -05:00
4e3d375ae5
game will now launch on overbuy and extra items will be present on floor, however a GUI error will be generated on match start
ursinewalrus
2018-07-23 18:57:29 -05:00
3b6bedb180
Fixed clients not recreating docking port hulls/gaps when receiving a network event if the docking port is already locked
Joonas Rikkonen
2018-07-23 23:27:27 +03:00
2c6535b1f2
PhysicsBody error messages are only shown in the console when verbose logging is on.
Joonas Rikkonen
2018-07-23 22:52:24 +03:00
852fc174c2
Fixes to respawn shuttle bugs that may have caused entity ID mismatches: clients don't remove gaps or undock docking ports when a respawn shuttle leaves the level (but instead receive network events that tell them to do so), removing gaps is done with EntitySpawner.
Joonas Rikkonen
2018-07-23 22:51:52 +03:00
002e63f1eb
Fixed entity IDs occasionally getting messed up due to the gaps and hulls created by docking ports. Clients would simply use the existing hulls and gaps when a network event for an already docked port is received, even though they may have been removed and replaced with ones with different IDs.
Joonas Rikkonen
2018-07-23 21:36:43 +03:00
be5f168b76
Sending error messages during EntityEvent writing/reading and entity removal to GameAnalytics
Joonas Rikkonen
2018-07-23 21:16:57 +03:00
4b5a4d66e7
Fixed nullref exception if the player clicks yes on the "download sub from the server" prompt after returning to the main menu.
Joonas Rikkonen
2018-07-23 18:37:48 +03:00
4041633eec
Clamping velocity when correcting submarine position
Joonas Rikkonen
2018-07-23 18:33:32 +03:00
12c6a081a9
Fixed nullref exception in NetLobbyScreen when selecting a level seed that has no background sprite defined
Joonas Rikkonen
2018-07-23 18:33:04 +03:00
9d1c4f3efb
Moved Submarine.ClientRead to the client project
Joonas Rikkonen
2018-07-23 17:58:28 +03:00
25a62b3a51
More physics error checks, ragdoll clamps the velocity returned by PhysicsBody.CorrectPosition to prevent applying excessively high velocities to the collider if the position has changed significantly between frames
Joonas Rikkonen
2018-07-23 17:58:02 +03:00
a373c589d1
Fixed ragdoll dropping away from the collider if it's freezed while swimming (e.g. if a client disconnects when in water)
Joonas Rikkonen
2018-07-23 17:44:32 +03:00
ee13ea3972
Fixed clients not syncing the position of their controlled character when dead/unconscious
Joonas Rikkonen
2018-07-23 17:40:40 +03:00
c8cdc5d58c
Fixed console errors when entering '\' or '\n'
Joonas Rikkonen
2018-07-23 16:59:09 +03:00
78a5dcbfe9
Fixed nullref exception in CharacterInvetory.UseItemOnSelf if the OnUse statuseffect removes the item. Closes#513
Joonas Rikkonen
2018-07-22 17:58:52 +03:00
0728784b8b
Added invalid value checks to PhysicsBody property setters & item.SetTransform, checking for excessively large values
Joonas Rikkonen
2018-07-22 17:50:29 +03:00
7f1e5820ff
Upon spawning captain's revolver has 3 bullets
Blue
2018-07-20 15:57:11 +02:00
9880a74218
Added check for removed AITarget to EnemyAIController.UpdateEscape
Joonas Rikkonen
2018-07-20 16:37:41 +03:00
faf0a87cfa
Added a bunch of error checks to physicsbody-manipulating code
Joonas Rikkonen
2018-07-20 16:33:12 +03:00
f0a663bab0
Added some extra information to OpenAL error messages
Joonas Rikkonen
2018-07-20 16:10:49 +03:00
0abdcb969d
Fixed "failed to write event" errors when a client or server tries to change an enum value of an item (e.g. the output type of an oscillator component)
Joonas Rikkonen
2018-07-20 15:18:46 +03:00
a61ac1716d
Sending level seed & level gen errors to GameAnalytics
Joonas Rikkonen
2018-07-20 14:17:59 +03:00
07de2b2a0f
Fixed previous items not being cleared from multiplayer campaign UI after a round ends. Closes#505
Joonas Rikkonen
2018-07-20 13:50:04 +03:00
20ed61a879
Version string sent to GameAnalytics includes the name and hash of the exe (makes it easier to identify events/errors from modded games), added stack trace to a ragdoll error message
Joonas Rikkonen
2018-07-20 12:24:05 +03:00