Commit Graph

405 Commits

Author SHA1 Message Date
Joonas Rikkonen
4b0c54d664 Dockingport gap linking fixes. Closes #551
- Dockingports force the hatch/door gaps to be connected to the hulls between the ports, because connecting them automatically may fail if the ports are positioned in a non-standard way.
- Gaps don't recheck hulls in OnMapLoaded if rechecks have been disabled.
- Item.UpdateHulls and Gap.UpdateHulls are not called when OnMapLoaded is called during ruin generation.
2018-08-07 12:45:45 +03:00
Joonas Rikkonen
5354670288 Fixed StatusEffects being multiplied by deltatime when a client uses an item with the "use on self" buttons (even though the effect should be instantaneous). Caused effects with no duration to do almost nothing, making calyxanide and other meds with instantaneous effects basically useless. Closes #587 2018-08-07 11:36:53 +03:00
Joonas Rikkonen
e60ebc1930 Handling and logging exceptions thrown by ItemComponent constructors, added stack traces to a couple of error messages 2018-08-06 14:53:28 +03:00
Joonas Rikkonen
7c93730fc3 Fixed errors in netlobbyscreen when attempting to select a sub that fails to load (for example due to a missing/corrupt file), campaign cannot be started if the selected submarine cannot be loaded 2018-08-06 14:28:54 +03:00
Joonas Rikkonen
af3fa80011 Clients only include the last 20 console messages in the "invalid object header" error messages, and the console messages are not displayed in the console itself. Closes #569 2018-08-06 12:32:00 +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
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
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
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
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
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
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
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
6209f48fff More error logging to diagnose invalid header errors 2018-07-27 16:11:19 +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
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
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
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
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
ee13ea3972 Fixed clients not syncing the position of their controlled character when dead/unconscious 2018-07-23 17:40:40 +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
bd845488d7 Added exception handling to MainMenuScreen.StartGame 2018-07-22 17:40:17 +03: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
Joonas Rikkonen
f0a663bab0 Added some extra information to OpenAL error messages 2018-07-20 16:10:49 +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
49c6b177e3 Added wrapper methods that check if user statistics are enabled to GameAnalyticsManager 2018-07-20 12:05:13 +03:00
Joonas Rikkonen
8e03ac9284 Fixed nullref exceptions in CharacterHUD & RuinGenerator 2018-07-20 11:36:53 +03:00
Joonas Rikkonen
f13b1b4d84 Fixed camera ScreenToWorld & WorldToScreen returning invalid values when Camera.UpdateTransform has only been called once, because interpolated zoom value is initially 0 which messes up the transformation matrices. Closes #504 2018-07-20 11:36:22 +03:00
Joonas Rikkonen
f1c4bd3c67 - Some of the non-game-crashing error messages are sent to GameAnalytics.
- Changed crash severity from Error to Critical.
- Exception handling when loading submarine preview images.
- Checking if position is valid in Ragdoll.SetPosition.
2018-07-19 22:12:50 +03:00
Joonas Rikkonen
c901b75ff1 Fixed round ending tickbox not being visible client-side if the client is not controlling character (despite servers now allowing votes from players who've spawned at least once during the round). Closes #500 2018-07-19 10:47:39 +03:00
Joonas Rikkonen
568cf1a02f Fixed memory leak caused by submarine preview images, changed Submarine.SavedSubmarines to a property that prevents removing submarines from outside the class without disposing the preview image. Closes #498 2018-07-18 14:23:43 +03:00
Joonas Rikkonen
af4d60db1d Fixed GameMain.Server.Character not being set to null when the character is removed. Closes #488 2018-07-18 13:05:58 +03:00
Joonas Rikkonen
cbb207dbca Cleanbuild console command resets the user statistics setting 2018-07-18 12:59:59 +03:00
Joonas Rikkonen
e0455caaaa Cherry-picked 869b725 from dev 2018-07-18 11:49:36 +03:00
Joonas Rikkonen
d831654690 Fixed linux build 2018-07-17 21:37:44 +03:00
Joonas Rikkonen
23e0a76f37 Character head & gender settings are saved. Closes #474 2018-07-17 13:38:21 +03:00
Joonas Rikkonen
b61898b16f Fixed clients assigning a wrong name to submarines with dots in their name (e.g. Sub Mk.Iv), because the part after the dots was considered a file extension and stripped out in the submarine constructor. Closes #472 2018-07-16 21:09:01 +03:00
Joonas Rikkonen
ac5bad3011 Dedicated server can give clients the permission to use commands that only exist in the client project (los, lights, control, etc). Closes #476 2018-07-16 11:43:50 +03:00
Joonas Rikkonen
734b86bfba Fixed clients being unable to give non-permanent or range bans. Closes #481 2018-07-16 11:24:24 +03:00
Joonas Rikkonen
015eacbcb0 Fixed GameAnalytics thread becoming active despite user statistics being disabled, causing the game to stay active in the background when quitting. 2018-07-13 11:29:11 +03:00