Commit Graph

470 Commits

Author SHA1 Message Date
Joonas Rikkonen 083d88a64f Fixed lightcomponent sprites & broken sprites not being mirrored. Closes #893 2018-11-08 15:32:57 +02:00
Joonas Rikkonen 33d971f5d0 Fixed OnBroken & OnImpact statuseffects not being applied client-side 2018-10-29 20:38:43 +02:00
Joonas Rikkonen 224e9238db EntityEvents are written and sent even if the entity has been removed at the time of writing. Otherwise the clients may not receive some important events, e.g. when an item applies a statuseffect to something or triggers an explosion and is removed immediately afterwards. I'm not 100% confident that this won't cause any additional issues, so it still needs more testing. See #839 2018-10-29 20:38:10 +02:00
Joonas Rikkonen 9d92b696f0 Fixed clients getting kicked if they receive an entity event that's more recent than the one they're expecting. This happens often even when there's no actual error, for example if the client happens to receive messages in an incorrect order (the messages are sent using the Unreliable delivery method). Instead of getting themselves kicked, the clients should just ignore the event and wait until they receive the correct one. 2018-10-28 21:12:30 +02:00
Joonas Rikkonen ef9afedf42 Added a level equality check to client error handling to make it easier to diagnose bugs like #848 in the future. 2018-10-18 00:18:57 +03:00
Joonas Rikkonen 9f7fbb0cbe Fixed client error reporting 2018-10-17 23:48:00 +03:00
juanjp600 13dc008cb5 Client communicates event syncing errors to the server
This should help
2018-10-16 17:11:20 -03:00
Joonas Rikkonen 6bad59dfba v0.8.2.1 2018-10-14 22:46:22 +03:00
Joonas Rikkonen fec7740378 Fixed a bunch of bugs when dragging characters up ladders (see e0504042). The dragging logic didn't take into account that the characters are not necessarily in the same sub, which caused the dragged character to launch away at a high speed when climbing from a sub to another (for example when climbing down to the shuttle in Aegir). The pull joint on the target's torso was never disabled, so the character stayed floating mid-air after getting off the ladders.
+ Made Limb.pullJoint private. Now it can only be accessed by properties of the Limb, and there's some error checks in place to prevent WorldAnchorB from being set to an invalid value.
2018-09-24 21:19:18 +03:00
Joonas Rikkonen a403ca44c5 Fixed inventory sync delay being decremented in two places, causing the delay to be 0.5 seconds instead of the intended 1 s. Closes #788 2018-09-12 14:16:06 +03:00
juanjp600 ae70b973dd Changed TextureLoader.PreMultiplyAlpha return type to void 2018-09-10 18:09:26 -03:00
itchyOwl 5d2a193471 Line endings. 2018-09-03 10:23:36 +03:00
Joonas Rikkonen 4e1f6c56ca v0.8.2.0 2018-09-02 20:41:22 +03:00
Joonas Rikkonen 565f14801b Normalized line endings to CRLF 2018-09-02 19:25:48 +03:00
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 c34b2361dc v0.8.1.12 2018-08-08 02:30:08 +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 5b2e31b923 v0.8.1.11 2018-08-05 21:40:33 +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