Commit Graph

347 Commits

Author SHA1 Message Date
Joonas Rikkonen
e61dc5ae5f Option to log debug console output to a file. Closes #318 2018-04-20 20:11:01 +03:00
Joonas Rikkonen
c6f3d0c1b8 Attempt to fix characters occasionally getting launched out of the sub at lightspeed when the sub crashes into something (even if the impact doesn't appear to be that hard): impacts don't increase the velocity of the characters above 20 units/s. 2018-04-18 17:24:10 +03:00
Joonas Rikkonen
edf5bacc89 Fixed EndRound music looping forever. Closes #334 2018-04-18 11:02:58 +03:00
Joonas Rikkonen
9a8f13140e Cherry-picked [ab78991]: Rendering tiled sprites with scaling works correctly now (I think?), added option to edit the offset of structure textures 2018-04-17 14:06:40 +03:00
Joonas Rikkonen
607acb6e8a Fixed wall sections being rendered incorrectly if texture scale is changed, fixed gaps between tiles due to the width/height of the tile being rounded down as a result of texture scaling 2018-04-10 22:28:14 +03:00
Joonas Rikkonen
8c4531188b Fixed scrollable area of GUIListBoxes not changing when children are hidden (e.g. when filtering messages in the server log), fixed new log messages appearing in the server log even if the type of message has been filtered out. 2018-04-09 17:31:03 +03:00
Joonas Rikkonen
324b7f8edd Fixed background fish not being rendered, added scale parameter to bg fish and made them a little smaller and faster. Closes #362 2018-04-09 16:01:38 +03:00
itchyOwl
a34a024f58 Revert to the old tiling logic. Insert texture scale logic in between. Turn the silhouette code block into a separate method. 2018-04-09 09:54:26 +03:00
itchyOwl
22c3af6af6 Enable editing of the texture scale of the structures. 2018-04-06 16:07:17 +03:00
itchyOwl
9fc65298e8 Reduce duplicate code in Sprite constructors. 2018-04-06 15:56:32 +03:00
itchyOwl
1d30cbfac7 Add a null check. Simplify. 2018-04-06 15:11:04 +03:00
itchyOwl
061c7d17f1 Clean up a bit. 2018-04-06 14:21:29 +03:00
itchyOwl
b86b8cd377 Use a single method with optional parameters for drawing tiled textures. 2018-04-06 11:54:41 +03:00
itchyOwl
d7d69616e3 Simplify checks and casts, use pattern matching. Add a todo note. 2018-04-06 11:50:54 +03:00
Joonas Rikkonen
807ec87694 Fixed items in cloned/copypasted inventories not being saved. Closes #342 and #38 2018-04-05 13:45:21 +03:00
itchyOwl
b599206294 Add a GUI slider for setting the auto ban duration. Define the max auto ban length in the server settings. (Issue #128) 2018-03-27 11:29:36 +03:00
Joonas Rikkonen
3f8ead6ad2 Name tag and healthpor positions are clamped inside the hull a character is inside. Closes #158 2018-03-09 19:16:38 +02:00
juanjp600
82dcbc3ae8 Light sources now follow the direction of parent Turrets + changed Controller's output signal and Turret's input signal to an angle 2018-03-07 22:53:28 -03:00
Joonas Rikkonen
3bcf7a849b Fix LOS effect on linux. Not sure why the parameter names are different in the OpenGL shader but this seems to work ¯\_(ツ)_/¯ 2018-03-07 20:40:00 +02:00
Joonas Rikkonen
dd701e981e Fixed MP round summary always showing the game over text if the sub didn't progress to the next location. Closes #314 2018-03-06 17:26:58 +02:00
Joonas Rikkonen
10ce4bd20d Fixed messageboxes opened by the mp campaign setup UI not being shown until the UI is closed (e.g. shuttle & incompatible content package warnings), renamed MultiplayerCampaign -> MultiPlayerCampaign for consistency. See #315 2018-03-06 16:43:36 +02:00
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
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
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
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
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
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
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
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
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
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
9e2966e9cb - Fixed creature disable list only taking config files in the Content/Characters folder into account (making it impossible to disable spawning of custom monsters outside the folder)
- Removed hard-coded ruin structure, particle & decal config paths and moved them to content package (custom ones can be added now without modifying the original files).
2018-02-25 15:03:29 +02:00
Joonas Rikkonen
48757618f6 Renamed the "file" attribute of hit sounds to "tag", replaced footstep sound paths in creature configs with tags. 2018-02-24 21:13:21 +02:00
Joonas Rikkonen
eaafc022f2 Fixed Ragdoll.ImpactProjSpecific attempting to play limb/wearable hitsounds even if the sound tag is empty, wearable items can cause hit sounds to be played even if the limb has no hit sound configured. Closes #280 2018-02-24 20:55:30 +02:00
Joonas Rikkonen
127cc28af3 SoundPlayer.GetSound doesn't attempt to load the sound if a sound with a matching tag is not found, because otherwise configuring limb hit sounds and such with the file path instead of the tag will cause a new sound instance to be created every time the sound is played (and these instances are never freed). + Sound config files can be now configured in content packages. 2018-02-24 19:41:28 +02:00
Joonas Rikkonen
7044631901 Attempt to diagnose null reference exception during Ragdoll drawing (see #278) 2018-02-23 11:09:17 +02:00
Joonas Rikkonen
8b07e91d2c Added camera zoom value to debug hud 2018-02-23 10:33:59 +02:00
Joonas Rikkonen
83c02504ea Fixed clients failing to select a received submarine/shuttle file, preventing them from starting a round until they rejoin the server. Closes #271 2018-02-22 14:18:06 +02:00
Joonas Rikkonen
375e135672 Made round summary scrollable (long summary texts don't overflow anymore), listbox scissorrects work correctly now on nested listboxes 2018-02-22 12:18:09 +02:00