Commit Graph

2329 Commits

Author SHA1 Message Date
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
Joonas Rikkonen 9edbbaa170 Revert changes to the revolver sprite because jaggies are ugly 2018-07-24 16:41:14 +03:00
Joonas Rikkonen 8c2c517f74 Merge pull request #501 from BlueTheKing/master
Revolver, Plasma Cutter, Oxygen Generator, Oxygenite Tank changed
2018-07-24 16:28:22 +03:00
Joonas Rikkonen 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) 2018-07-24 15:43:26 +03:00
Joonas Rikkonen 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. 2018-07-24 15:00:35 +03:00
Joonas Rikkonen 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 2018-07-24 14:34:27 +03:00
Joonas Rikkonen 4a8845c604 Fixed docking ports creating duplicate hulls and gaps during loading 2018-07-24 13:21:36 +03:00
Joonas Rikkonen 5e6215a37c Fixed crashing when attempting to generate hulls with the "autohull" command when there are no walls or doors in the sub. 2018-07-24 13:21:02 +03:00
Joonas Rikkonen 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. 2018-07-24 13:19:07 +03:00
ursinewalrus 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 2018-07-23 21:32:01 -05:00
ursinewalrus 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 2018-07-23 18:57:29 -05:00
Joonas Rikkonen a63ee41e5f v0.8.1.9 2018-07-24 01:06:27 +03:00
Joonas Rikkonen 3b6bedb180 Fixed clients not recreating docking port hulls/gaps when receiving a network event if the docking port is already locked 2018-07-23 23:27:27 +03:00
Joonas Rikkonen 2c6535b1f2 PhysicsBody error messages are only shown in the console when verbose logging is on. 2018-07-23 22:52:24 +03:00
Joonas Rikkonen 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. 2018-07-23 22:51:52 +03:00
Joonas Rikkonen 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. 2018-07-23 21:36:49 +03:00
Joonas Rikkonen be5f168b76 Sending error messages during EntityEvent writing/reading and entity removal to GameAnalytics 2018-07-23 21:16:57 +03:00
Joonas Rikkonen 7977e47359 Fixes 2018-07-23 19:24:44 +03:00
Joonas Rikkonen 4b5a4d66e7 Fixed nullref exception if the player clicks yes on the "download sub from the server" prompt after returning to the main menu. 2018-07-23 18:37:48 +03:00
Joonas Rikkonen 4041633eec Clamping velocity when correcting submarine position 2018-07-23 18:33:32 +03:00
Joonas Rikkonen 12c6a081a9 Fixed nullref exception in NetLobbyScreen when selecting a level seed that has no background sprite defined 2018-07-23 18:33:04 +03:00
Joonas Rikkonen 9d1c4f3efb Moved Submarine.ClientRead to the client project 2018-07-23 17:58:28 +03:00
Joonas Rikkonen 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 2018-07-23 17:58:02 +03:00
Joonas Rikkonen a373c589d1 Fixed ragdoll dropping away from the collider if it's freezed while swimming (e.g. if a client disconnects when in water) 2018-07-23 17:44:32 +03:00
Joonas Rikkonen ee13ea3972 Fixed clients not syncing the position of their controlled character when dead/unconscious 2018-07-23 17:40:40 +03:00
Joonas Rikkonen c8cdc5d58c Fixed console errors when entering '\' or '\n' 2018-07-23 16:59:09 +03:00
Joonas Rikkonen 7b5ab2f795 v0.8.1.8 2018-07-22 20:48:56 +03:00
Joonas Rikkonen ca364af3bc Merge pull request #507 from NilanthAnimosus/vanillawork
Redesign campaign buymenu to use a quantity field
2018-07-22 18:10:02 +03:00
Joonas Rikkonen 41cae8d3c5 Added null check to Sound.StreamVolume 2018-07-22 17:59:13 +03:00
Joonas Rikkonen 78a5dcbfe9 Fixed nullref exception in CharacterInvetory.UseItemOnSelf if the OnUse statuseffect removes the item. Closes #513 2018-07-22 17:58:52 +03:00
Joonas Rikkonen 0728784b8b Added invalid value checks to PhysicsBody property setters & item.SetTransform, checking for excessively large values 2018-07-22 17:58:17 +03:00
Joonas Rikkonen bd845488d7 Added exception handling to MainMenuScreen.StartGame 2018-07-22 17:40:17 +03:00
Joonas Rikkonen 5ebfde72de Fixed ragdoll collision categories not being updated when CheckDistFromCollider re-enables limb collisions. Fixes #508 2018-07-22 16:00:32 +03:00
Blue 7a7958ba49 When holding oxygen or oxygenite tank the player will actually hold one ingame 2018-07-22 14:41:09 +02:00
Nilanth Animosus 5177c5b1eb Fixed clients being unable to see vote counts
The clients would check their saved submarines instead of the submarines the server had when receiving the vote count.
2018-07-21 18:38:27 +01:00
Nilanth Animosus cac1c48aa3 Redesigned campaign buymenu to use a quantity field
Additionally sorts the bought items by name then type to attempt to mirror the tabs (Not perfect)
2018-07-20 18:01:38 +01:00
Nilanth Animosus 76f53c3544 Merge remote-tracking branch 'Regalis11/master' into vanillawork 2018-07-20 15:38:07 +01:00
Blue 7f1e5820ff Upon spawning captain's revolver has 3 bullets
(instead of 6)
2018-07-20 15:57:11 +02:00
Joonas Rikkonen 9880a74218 Added check for removed AITarget to EnemyAIController.UpdateEscape 2018-07-20 16:37:41 +03:00
Joonas Rikkonen faf0a87cfa Added a bunch of error checks to physicsbody-manipulating code 2018-07-20 16:33:12 +03:00
Joonas Rikkonen f0a663bab0 Added some extra information to OpenAL error messages 2018-07-20 16:10:49 +03:00
Joonas Rikkonen 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) 2018-07-20 15:18:46 +03:00
Joonas Rikkonen a61ac1716d Sending level seed & level gen errors to GameAnalytics 2018-07-20 14:17:59 +03:00
Joonas Rikkonen 07de2b2a0f Fixed previous items not being cleared from multiplayer campaign UI after a round ends. Closes #505 2018-07-20 13:50:04 +03:00
Joonas Rikkonen 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 2018-07-20 12:24:05 +03:00