Commit Graph

424 Commits

Author SHA1 Message Date
Joonas Rikkonen 6cb2a7260c Clients dispose fileTransfers when shutting down (otherwise the files will stay open and cause "used by another process" exceptions when attempting to receive them again) 2018-08-21 16:43:05 +03:00
Joonas Rikkonen f09fcfc3be Fabricators show the list of required items even if the character doesn't have the skills to craft the item. Closes #717 2018-08-20 21:19:18 +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 3747852c13 Removed the Entity.MoveWithLevel property, fixed artifacts and other items from ruins not being saved. Closes #694 2018-08-20 16:23:40 +03:00
juanjp600 2f6cb84b5e Added workaround to tabbing out breaking fullscreen 2018-08-17 19:26:24 -03:00
Joonas Rikkonen 9783ed3750 Backported LOS effect changes from the dev branch (the brightness of the obstructer area is the same as ambient light) 2018-08-17 12:58:23 +03:00
Joonas Rikkonen 0dca8bc940 Clients can be given access to server logs. Closes #366 2018-08-15 12:57:46 +03:00
Joonas Rikkonen c2f9e1481f Recommended crew experience is saved using text tags instead of the actual text (-> experience texts can be translated without the translation showing up in sub files). 2018-08-15 12:06:22 +03:00
Joonas Rikkonen b1f8de887c Clients use the Revive method instead of just setting health above zero when the host revives a character. Fixes dismembered characters staying dismembered client-side. 2018-08-15 11:52:48 +03:00
Joonas Rikkonen 4866a89253 Servers can disable the disguise feature. Closes #568 2018-08-14 16:06:23 +03:00
Joonas Rikkonen 8160abe109 Fixed nullref exceptions when loading a steering component when a gamesession is running but no locations have been selected (not sure how that can even happen) 2018-08-14 13:28:11 +03:00
Joonas Rikkonen 6cb6e26b94 Servers can modify all Editable item properties using ChangeProperty events (not just InGameEditable ones). Closes #675 2018-08-14 12:01:56 +03:00
Joonas Rikkonen 7a7c92a2ce Server writes item condition at full accuracy instead of just using 8 bits. The more inaccurate condition caused issues when the value was just above some specific threshold (e.g. minimum condition for a fabricator ingredient) server-side and below it client-side. Closes #616 2018-08-09 12:39:14 +03:00
Juan Pablo Arce f1a8db5b47 Fixed stereo sound loading
I had already fixed this on the dev branch, backporting because it's gonna take a while until it's released
2018-08-08 20:57:00 -03:00
Joonas Rikkonen bcd44f79e9 Merge branch 'level-mirroring' 2018-08-08 15:30:41 +03:00
Joonas Rikkonen 5100956bae Levels are mirrored when traveling backwards through a connection in the campaign mode. Closes #519 2018-08-08 15:30:32 +03:00
Joonas Rikkonen 506c13c929 Again, save before committing 2018-08-08 11:15:05 +03:00
Joonas Rikkonen 0a84d989a8 Fixed wearable sprite colors being calculated wrong. Closes #607 2018-08-08 11:10:48 +03:00
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 aa5b2a973e Mirroring levels. Mirroring the wall geometry works, but ruins and background sprites are not placed at the correct positions yet. 2018-07-27 10:36:52 +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