commit ccacceb16a184f00ecd384eede64ca9c4fab08a0
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 25 14:05:59 2019 +0200
NetEntityEventManager checks the length of the event data (and logs an error if it's too long) before checking if there's still room to keep writing events in the packet. Checking the available room first could lead to situations where an excessively large event can't fit to any packet, "soft-locking" the EventManager without any error messages.
commit 5ac8259372aa900adc724aa4da1fd81af41ca195
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 25 13:41:52 2019 +0200
Don't display disabled limbs on sonar (i.e. severed limbs that have "faded out")
commit 5f84df73ad86be96f3678c450351b3905e7317a4
Merge: b981f1635 dc429d6c4
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 25 13:41:16 2019 +0200
Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev
commit b981f163575b2bfc9a83b9925c94eca19b9d4554
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 25 13:36:19 2019 +0200
Multiplayer campaign fixes:
- Server uses a different temp folder to decompress save/sub files into than the clients. Should fix files occasionally getting corrupted and exceptions when trying to read the files when hosting a server from the main executable.
- Some additional debug logging.
- Use the base names of the adjacent locations as level seeds (i.e. "Vorta" instead of "Vorta Outpost"). The levels should not change when the type (and full name) of the location changes.
commit 42c5d18df77fc7acd5873d8e25f20bdd31b1ed76
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 25 13:31:06 2019 +0200
Don't transfer files through the network when sending them to the owner of the server (i.e. a client hosting directly from the main executable), but simply tell the client where the file is located.
commit dc429d6c450f4893fe29c51d3c830527e587a871
Author: Daniel Asteljoki <daniel.asteljoki@gmail.com>
Date: Mon Mar 25 13:30:26 2019 +0200
Added labels next to periscopes in Humpback and Dugong
commit 789f02a87a2917dd2ae378f136cbe8dd3236c60d
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 25 13:29:29 2019 +0200
If loading a submarine fails, wait a bit and retry up to 4 times. Fixes loading occasionally failing when running multiple instances of the game from the same directory.
commit be9ea3a58832992b6226917117247e1bf1efeff9
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 25 11:03:36 2019 +0200
Fixed a bunch of disconnection messages being in an incorrect format & DisconnectUnauthClient not getting the messages from the xml
commit c6f744b4d6b3520720010f5cd4f22a25b42bfc8b
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 25 10:43:10 2019 +0200
Log entity event errors into server logs when verbose logging is enabled
commit f9e8100140d99d30db551c16523f04cf042fb107
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Sun Mar 24 20:37:23 2019 +0200
Automatically grab adjacent ladders when the top/bottom of the current ladder is reached. Makes moving through docking ports a little less confusing. Closes#1337
commit 7ad697036299c3dae0145f89dc7e1f4fec22953d
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Sun Mar 24 20:11:57 2019 +0200
Fixed windows clients being unable to start a campaign in servers running on Linux. Caused by submarine paths not matching because the clients would use backslash in the filepath while Linux uses a slash. The submarine selection logic also had an additional issue: the clients would assume the submarine is in the default Submarines folder, even though the server may actually store them somewhere else. Now the client communicates the selected sub to the server by sending the name and MD5 hash instead of the path, so mismatching paths shouldn't cause problems anymore. Closes#1332
commit 483f2ad4fd9d91b9763d25df592a899cdf39ba67
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Sun Mar 24 19:19:01 2019 +0200
Instead of making coilgun bolts continuously deteriorate to give them a lifetime of 5 seconds, simply create a delayed status effect that removes them after 5 seconds of being launched.
commit 00b8d48d4d1d933e76a6c0d7df5320c50dc0a07d
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Sun Mar 24 19:16:40 2019 +0200
Wait at least 0.15 seconds before creating a new condition update event for an item. Some rapidly deteriorating items (e.g. coilgun bolt, faraday artifacts) would otherwise cause new events to be created at an excessively high rate.
commit 84e6948a4898dd040b2a84eb5f1ad97c20dfc69f
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Sun Mar 24 19:14:58 2019 +0200
Server can send multiple network event packets per update if there's too many events to fit in one packet (up to 4 packets per update).
commit 40797e91d67f965ac6d292367fef5386214abbdb
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Sun Mar 24 17:34:49 2019 +0200
NetEntityEvent changes:
- Don't restrict the number of events per message, but instead write as many events as the packet can fit (up to a maximum of 1024 bytes to leave some space for other types of data (event IDs, chat messages and such)).
- Decrease the delay after which events can be resent (RTT * 1.5 -> RTT).
commit bfefbb5d7da3ce6a5fe9cb7ff733ec5df37a8a15
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Sun Mar 24 14:31:03 2019 +0200
Fixed FixDurationLowSkill & FixDurationHighSkill parameters in Repairable being case-sensitive, causing almost none of the xml values to be used. + Moved client-specific repairable methods to the client project, and server-specific to the server project.
commit 311f67c6c6b8d2cd9f4f4ca820e42316938c4f17
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Sun Mar 24 14:09:10 2019 +0200
Fixed "trying to add a dead character to crewmanager" errors when attempting to revive a character killed by some other affliction than internal damage, bleeding or burns. Closes#1341
commit 7b471b565d49a165ef54357fe6d165bf5df6522b
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Sun Mar 24 13:49:53 2019 +0200
Don't apply smoothing to client cursor positions server-side
commit f6a67ca31e98a353bde591789bb42a2f84d1bcc1
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Sat Mar 23 22:29:01 2019 +0200
Nuclear shells and nuclear depth charges are removed after they've exploded. Closes#1316
commit 2d7b7b9643d3640f784ba5ab8e84caf55abad6b9
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Sat Mar 23 22:28:26 2019 +0200
Option to configure when afflictions become visible with the health scanner. Closes#1310
commit ece6ead54c021d084f406f4f99daa5a0a7ef4b19
Author: Regalis11 <poe.regalis@gmail.com>
Date: Fri Mar 22 21:52:56 2019 +0200
v0.8.9.7
commit c10dd821ca1a89b4ae62046cf8e558589ff8e6af
Author: Regalis11 <poe.regalis@gmail.com>
Date: Fri Mar 22 21:00:02 2019 +0200
Fixed release builds crashing due to simulatedlatency etc commands not existing in release builds
commit dee0dded80cbbf30d484232b6706dd705a577eb7
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Fri Mar 22 15:24:44 2019 +0200
Fixed nullref exception if a client disconnects while netstats is enabled
commit c45d5bf0c5a4a68200c9eca461cd04090a5de23a
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Fri Mar 22 15:24:26 2019 +0200
Togglehud, toggleupperhud and togglecharacternames don't require a permission to use, made simulatedlatency, simulatedloss and simulatedduplicateschange usable to clients
commit cec1ac6bccac058bc12ddf18c8e060a7a47c9301
Merge: 411cd9726 1473f77ba
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Fri Mar 22 14:01:58 2019 +0200
Merge branch 'dev' into enemy-ai
commit 411cd9726979668764eea782b515c7510ec4f5a8
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Fri Mar 22 14:01:09 2019 +0200
If the target has changed, re-evaluate the attacking limb. Fixes Hammerhead getting stuck next to the sub, because it treats the claw as the attacking limb when targeting characters inside the sub. It should use the head, because it has a wall target.
commit 2522bec262f9cb1dea9df75e1d2c22307be5254c
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Fri Mar 22 13:58:18 2019 +0200
Enemy ai/steering fixes:
- Store both sim and world positions. Offset the simposition with the subposition and use it for steering. Fixes enemy indoorsteering, which was broken.
- Use head or torso for steering instead of always using the main limb. Fixes characters like Mudraptor overshooting their targets badly.
commit c667ff9e4edf8af8f95278fbad42e0c8dd37d84c
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Fri Mar 22 13:54:21 2019 +0200
Improve the ai debug graphics.
commit 4c6c13e07e43a4e3ce2a11dfc4064961c442044a
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Thu Mar 21 17:11:17 2019 +0200
Refactor, fix and adjust the enemy targeting logic:
- Change the logic for fading the memories
- When attacking a wall target, set it as the currently selected ai target so that we adjust the right memory
- Significantly reduce the value of character targets that are not in the same submarine
- In aggressive boarding, double the priority of walls when outside. Set the priority to 0 when inside. Reduce the attractiveness of doors, but still keep the values high.
- Redefine priorities for Mudraptor and Crawler (wip)
commit b085a95cff6bcf5e3f13e90dd1b71ac15e5ec1ab
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Thu Mar 21 13:16:22 2019 +0200
Allow enemies to target walls by decision (not only when they happen to be on their way). TODO: target only outer walls and only when outside of the sub.
commit 1473f77ba0c85b80d48dce3e0fca809a9d5da98c
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Fri Mar 22 12:39:03 2019 +0200
Server automatically ends rounds if there have been no players alive in 60 seconds and respawning is not allowed during the round. Otherwise campaign rounds can get "bricked" if all the clients die/disconnect and there's no-one who's allowed to manually end the round. Closes#1319
commit 7096983fb10e48c2866393d30420bfaa79a0719b
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Fri Mar 22 12:03:10 2019 +0200
Some extra error logging in an attempt to diagnose #1327 (seems that the server is trying to start a campaign round after the campaign has been disposed and another game mode selected).
commit 2d7a3be83cd8865869837879b965fa9aeb046042
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Fri Mar 22 10:53:08 2019 +0200
Use null as the rotation and angular velocity of a character's collider in network state buffers if the collider is set to a fixed rotation (i.e. when standing). Previously the _current_ rotation and angular velocity was used if the server didn't send the values, which caused the collider to "wobble" when getting up from the ground, because the clients used the current rotation and angular velocity to determine if their predicted state is correct, even though they should've been using past states (or rather, not attempting to correct at all because both the rotation and ang velocity should be 0 when the rotation is fixed).
commit 2e2fd7078798703bc5d6ae398f75fa580ecca566
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Thu Mar 21 22:44:11 2019 +0200
Disabled kicking clients out of the server if their Steam auth becomes invalid after they've already been authenticated. Got some reports from players about this occasionally happening for no apparent reason, and I don't see the need to kick the clients if they've already been successfully authenticated during that session.
commit 4d2bcb1ad79f552c5c79a6b93a483c0410cf8531
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Thu Mar 21 20:39:14 2019 +0200
Changelog additions
commit 5339b414bef868639641e5a92697d1eea4de9f5c
Merge: e07db1ab1 69a6cdb6a
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Thu Mar 21 20:17:01 2019 +0200
Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev
commit e07db1ab1d4c2627a74b1318822b79fcfd69e072
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Thu Mar 21 20:16:44 2019 +0200
Fixed dedicated server crashing when typing in more text than can fit on one line. Closes#1321
commit 69a6cdb6a7d1b8f2f2e819145ced9ae4fcc38f28
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Thu Mar 21 16:46:32 2019 +0200
Made crafting materials combinable
commit 4fb24391cb02f285f1adbae236647bf70d8b1e30
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Thu Mar 21 16:35:18 2019 +0200
Fixed almost none of the new medical items being combinable or usable in a syringe gun, added relevant tags to StatusEffects (medical, poison)
commit 975cb1c80bdf90a5b699a35f77fdddd927937816
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Thu Mar 21 15:42:53 2019 +0200
Fixed spamevents command causing an immediate disconnection, fixed simulatedlatency using the first argument as both the minimum latency and random latency
commit 01f115d32d768c76d01bc5fad5cfe2e3f88333cc
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Thu Mar 21 13:09:32 2019 +0200
MidRoundSyncing changes (could potentially fix#1281 and #1323):
- Don't mark events as "sent to all" if there's a midround syncing client who'll need those events once the midround sync is done.
- Don't keep updating midround syncing clients' unreceived event count as new unique events are created during midround sync, but instead just send the clients the unique events they were missing at the time of joining. Because the new events created during the midround syncing aren't removed anymore, the joining client will be able to receive them when they switch to normal sync. The old behaviour might've lead to cases where the client can't "catch up" with the new events while midround syncing, causing them to time out.
commit 915aeb4e322ad04968556484aea74cf8b0070c3e
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Thu Mar 21 12:16:57 2019 +0200
Fixed end round vote count overlapping with the server log button, display the votes as votes/max instead of y/n.
commit 62e3b272bb0235553562578493bf638a047235ab
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Wed Mar 20 23:36:03 2019 +0200
Updated handheld sonar UI graphics & moved it to the bottom left corner of the screen
commit b93c7312c6bf4b560c8259e79650dbf1444072c9
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Wed Mar 20 23:10:08 2019 +0200
Hide the start button from the campaign UI if the client doesn't have the permission to manage the campaign or rounds.
commit 814f6c9dd4d48b3931e1d3bcb1918ff79324c1d4
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Wed Mar 20 19:33:18 2019 +0200
Fixed multiplayer campaign setup UI showing the client's subs instead of the server's (see #1311)
commit 4a3e485dea85aa21037b13fd1b86af4a4ec1a5fd
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Wed Mar 20 19:16:17 2019 +0200
Move new texts in the end of the localization file.
commit 5a8af99afe5aad0b2f5343ca6f923d8c7eb19e68
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Wed Mar 20 19:05:43 2019 +0200
Recreate the editing gui window when resetting the entities with the "resetall" command.
commit 0048e6dcb9699e5b1e434ace867bc8f426cdae28
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Wed Mar 20 19:04:42 2019 +0200
Fix resetting to prefab.
commit 88be0923761f5ac2c895364c8ad0e11fe9a66576
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Wed Mar 20 18:40:13 2019 +0200
Fix item components not being loaded properly.
commit 6f970d54ed800eff25ae3643b03c0020336c8621
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Wed Mar 20 18:21:25 2019 +0200
Add a console command for resetting all items and structures to the prefabs.
commit bd561ef43391a2e4251bef18a8738b233f540961
Merge: e8843c30c a75a56088
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Wed Mar 20 17:47:14 2019 +0200
Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev
commit e8843c30cdb966832236ec361494e4c886130590
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Wed Mar 20 17:46:38 2019 +0200
Implement item and structure instance resetting to prefab. Add buttons in the subeditor. Allow to save the msg text in the editor.
commit a75a560881604a05789676800b7f157f30263434
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Wed Mar 20 17:19:12 2019 +0200
Adjusted the collider in one of the wall pieces
commit 309a6966d065babc9f024fce8e7729cb84de06f8
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Wed Mar 20 17:15:46 2019 +0200
Make sure the selected submarine exists before attempting to start a new multiplayer campaign. Related to #1311 - doesn't fix the underlying issue but prevents the server from starting the campaign without a sub when the issue occurs.
commit f20250657eda223fddacf812a477727b1a2b507b
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Wed Mar 20 16:50:39 2019 +0200
Ending a campaign round by talking to watchman doesn't require any special permissions. Closes#1313
commit d38c50cc354476d5309645bc1487a4c03fe97d57
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Wed Mar 20 16:27:45 2019 +0200
Fixed inability to throw anything in the multiplayer. The clients would create a network event about dropping the item during the throw, which prevented throwing it server-side (because the item isn't in the character's inventory anymore by the time it should be launched). Closes#1318
commit 25cc1ceefcf62e346281c24c41964053d102701c
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Wed Mar 20 16:21:33 2019 +0200
Merge same afflictions into one icon in the preview above the health bar (instead of showing the same icon for each limb that has the affliction)
commit 69487a2a8596ac24252c12624b40b7ad7a06edb5
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Wed Mar 20 15:50:44 2019 +0200
Fixed TargetItemComponentName comparisons in StatusEffect conditionals. Closes#1307
commit 8568bbce1a6d7d809e8e7a63509850387d6d2b91
Merge: b4bd00925 481755c1b
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Wed Mar 20 15:46:12 2019 +0200
Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev
commit b4bd0092566cb31239bc8c585d98f4949fdc57b1
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Wed Mar 20 15:45:48 2019 +0200
Reinstate equipped item overrides for all item component instances.
commit 481755c1b636794886a38f8503b801df89eeee7e
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Wed Mar 20 15:37:55 2019 +0200
Don't create network events in the LightComponent.IsOn setter if the round hasn't started (= when loading a game and initializing the items)