Commit Graph

436 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
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
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
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