Commit Graph

2079 Commits

Author SHA1 Message Date
Joonas Rikkonen
dda8854b58 Fixed campaign view button staying visible in the server lobby after the campaign has been exited. (See #315) 2018-03-06 15:44:15 +02:00
Joonas Rikkonen
366d57b98d Crash reports & main menu show a "debug build" text in debug builds 2018-03-06 14:35:09 +02:00
Joonas Rikkonen
08ade1dc6f Fixed clients not being notified when a campaign is exited and a new one started, causing them to think they still have up-to-date save files for the new campaign and get kicked out due to desync as soon as a round starts. (See #315) 2018-03-06 14:18:37 +02:00
Joonas Rikkonen
8e8b8464af All items and structures have to define a sourcerect for the sprite because otherwise the dedicated server won't know the size of the entity. Closes #321 2018-03-06 13:55:30 +02:00
Joonas Rikkonen
0ab4521a7a Fixed monsters being able to spawn under the ocean floor. Closes #319 2018-03-06 12:13:08 +02:00
Joonas Rikkonen
f5af432ad9 Fixed item tags & aliases not being taken into account when determining target validity in StatusEffect.Apply. Closes #316 2018-03-06 11:25:25 +02:00
Joonas Rikkonen
8c04722385 Lighting optimization: lightsources mark convex hulls that are within range but not visible as hidden and don't recalculate the light volume when these convex hulls change (= e.g. when opening/closing a door, only the lightsources that cast light to the door have to recalculated). 2018-03-05 23:22:28 +02:00
Joonas Rikkonen
d57102271d Fixed exceptions when trying to render LOS with no convex hulls within the view 2018-03-05 18:16:51 +02:00
Joonas Rikkonen
a57bec2a27 Made statuseffects stackable by default, fixed statuseffects only being considered the same if they're caused by the same item, applying the same non-stackable statuseffect again refreshes the timer of the existing statuseffect. Closes #309 2018-03-05 16:59:23 +02:00
Joonas Rikkonen
6ddcd65f18 RepairTools can do damage to characters by hitting the collider. Closes #299 2018-03-05 12:34:21 +02:00
Joonas Rikkonen
4e048b7895 Items removed due to the "DeleteOnUse" property are removed using EntitySpawner, removing an item removes it from the selected items of all characters. Closes #306 2018-03-05 12:13:52 +02:00
Joonas Rikkonen
f72b4c697f Fixed dedicated servers not resetting votes when a round ends. Closes #307 2018-03-05 11:41:46 +02:00
Joonas Rikkonen
4f32a90e62 Fixed mouserects of the back and tab buttons being clamped in mp campaign UI. Closes #305 2018-03-05 11:26:34 +02:00
Joonas Rikkonen
a04842705a Fixed crashing when clicking the "refreshing server list" text. Closes #312 2018-03-04 21:24:17 +02:00
Joonas Rikkonen
8b6d2f3cc1 Updated OpenGL LOS shader 2018-03-04 21:00:12 +02:00
Joonas Rikkonen
da7ea779b7 LOS effect optimization/changes:
- Rendering the shadows instead of light volumes to avoid the expensive raycasts needed to calculate the light volume.
- The LOS shadows are now rendered in two passes (fully obscured + penumbra) instead of each convex hull taking up 2 passes.

TODO: fix linux
2018-03-03 21:57:36 +02:00
Joonas Rikkonen
e15fad6986 Relay fix attempt number n + 2 2018-03-02 21:51:39 +02:00
Joonas Rikkonen
c624ff2c8c Hopefully fixed clients forcing other players to pick items when the clients actually selected them (e29655c) without breaking AI interactions with items 2018-03-02 18:04:01 +02:00
Joonas Rikkonen
199794cf41 Fixed exceptions when trying to save an itemcomponent that has been instantiated by calling the constructor directly (e.g. lightcomponents in wearables) 2018-03-02 17:46:48 +02:00
Joonas Rikkonen
b49f47d3d9 Ladder waypoint generation fix: waypoints are not just placed at the top and bottom of the ladders (and at hatches on the ladders), but above every platform along the ladders (-> waypoints work correctly on ladders spanning through multiple floors). + Some ladder climbing fixes in IndoorsSteeringManager. 2018-03-02 17:45:13 +02:00
Joonas Rikkonen
07d3d69040 Equipped items can be swapped by double-clicking, fixed inventories getting messed up when swapping multi-slot items fails (e.g. drag a jumpsuit on an equipped diving suit). 2018-03-02 15:24:54 +02:00
Joonas Rikkonen
f1f190a997 Added a light to diving suits (requires a battery to work). Closes #233 2018-03-02 13:11:28 +02:00
Joonas Rikkonen
12d1692bb5 Wearables can attach lightsources to limbs 2018-03-02 11:13:11 +02:00
Joonas Rikkonen
cc41f0cd9e Fixed items held in left hand taking the sprite depth from the left arm instead of the hand 2018-03-02 10:38:10 +02:00
Joonas Rikkonen
10189254b5 GrabLimb type is written in character network messages as byte instead of UInt16 2018-03-01 23:43:10 +02:00
Joonas Rikkonen
31ba9e20a2 Item description & tags are only included in spawn network message if they differ from the prefab. 2018-03-01 22:07:51 +02:00
Joonas Rikkonen
2b4c01d18b Fixed debug assertion fail in World.Raycast if a limb is (almost) exactly at the position of a character's collider when calling TrySetLimbPosition. 2018-03-01 22:07:18 +02:00
Joonas Rikkonen
cd6fc87eb4 Fixed object header issues and "trying to read past the buffer size" errors caused by NetEntityEvents for removed entities.
EntityEventManager sends an empty event with an ID of 0 if the entity doesn't exist anymore when writing the event. The recipient should simply skip over these messages and read the next one, but clients only did so if the event is the next unreceived one, causing the rest of the messages to be read incorrectly (which could lead to various sorts of problems in addition to the header and buffer size errors). The server didn't deal with the empty events correctly either, it increased the last received ID even if the received event was not the one the server is waiting for, potentially causing other non-empty events to be ignored.

+ Added an error message if the size of an NetEntityEvent is larger than 255 bytes. Not only is that excessively large for an event, but the length of the event is written as a byte and larger ones may again cause messages to be read incorrectly. Most events should be nowhere near 255 bytes, but now that the descriptions and tags of a spawned item are included in the item spawn messages there's the possibility that some events are too large.
2018-03-01 19:30:27 +02:00
Joonas Rikkonen
2880ca3adb Contained items drawn by ItemContainer.Draw use the sprite color of the item. Closes #300 2018-03-01 15:57:57 +02:00
Joonas Rikkonen
1255b21853 Relay fix attempt number n + 1 2018-03-01 15:56:03 +02:00
Joonas Rikkonen
ab99aa9ac1 Relay fix attempt number n 2018-03-01 12:40:38 +02:00
Joonas Rikkonen
55a5e9e968 Syringes are recolored according to the color of the contained medical item. Closes #256 2018-03-01 11:26:04 +02:00
Joonas Rikkonen
9f6868eaaa Fixed crashing when attempting to perform CPR _as_ a headless character. 2018-03-01 10:17:32 +02:00
Joonas Rikkonen
38e80be05d Some more debug logging 2018-02-28 18:04:40 +02:00
Joonas Rikkonen
c803e23c50 Added checks for character removal to a bunch of places. Some of these may not necessary, but at least MeleeWeapon, Projectile and Controller still accessed the user after the user had been removed. 2018-02-28 17:37:20 +02:00
Joonas Rikkonen
e29655c81b Fixed clients forcing remote players to pick an item when it's being selected, causing them to press buttons and start deattaching them when the player is actually just rewiring the button. Closes #251 2018-02-28 15:38:55 +02:00
Joonas Rikkonen
f5277ce661 Fixed clients being unable to crowbar doors due to OnPicked only being called on local players. Closes #297 2018-02-28 15:24:42 +02:00
Joonas Rikkonen
74ef5c6ea6 Fixed items attached mid-round by other clients or the host being impossible to interact with and occasionally being attached to an incorrect position. Closes #296 2018-02-28 14:01:38 +02:00
Joonas Rikkonen
2585cc9873 Fixed attachable objects being deattachable with the select key due to e6b7a0d3, fixed typo in ConvertInputType 2018-02-28 13:26:18 +02:00
Joonas Rikkonen
620a2bf374 Forgot to change dustparticle movement speed to normal after testing 2018-02-28 10:32:54 +02:00
Joonas Rikkonen
d867dd6c17 Diving suits are rendered in front of all items (diving masks, goggles, etc aren't drawn on top of the suit). Items that are being held take the depth of the wearable sprite on the hand into account. Closes #290 2018-02-27 23:04:54 +02:00
Joonas Rikkonen
9e298c98ab Fixed dust particle texture "warping" when the movement offset wraps around 2018-02-27 20:16:12 +02:00
Joonas Rikkonen
0fa1ae6825 Fixed plasma cutters and welders not affecting hatches, alien doors/hatches or duct blocks. Closes #293 2018-02-27 15:17:58 +02:00
Joonas Rikkonen
795b2e4cad Fixed crashing when attempting to perform CPR on a character with no head. Closes #294 2018-02-27 15:01:53 +02:00
Joonas Rikkonen
3564abf31b Moved a bunch of hard-coded sound paths to the sound config file. 2018-02-26 22:31:07 +02:00
Joonas Rikkonen
77940fa992 Added some debug logging, Character.Revive removes the existing AITarget from the character before creating a new one 2018-02-26 18:05:03 +02:00
Joonas Rikkonen
1c68d5a4d7 - Fixed clients using character directories to count the number of disallowed monsters, which made it possible for them to disallow incorrect monsters.
- Fixed MonsterEvent checking if the name of the character directory contains the name of the disallowed character directory, which could for example cause them to disallow "someMonsterAlt" if "someMonster" is disallowed.
2018-02-26 16:53:22 +02:00
Joonas Rikkonen
7f740c2f67 Attempt to diagnose issues #278, #284 and #291. It appears that the game attempts to access the Limbs-field of a ragdoll after it's been set to null (which should only happen when the ragdoll is removed). 2018-02-26 15:06:00 +02:00
Joonas Rikkonen
064750d99f Fixed missing RepairTool HitStructure particles & missing ancient weapon beam (+ added hit particles to ancient weapon). Closes #285 2018-02-25 22:43:06 +02:00
Joonas Rikkonen
cb25c0711f v0.8.0.4 2018-02-25 22:41:23 +02:00