Commit Graph

2610 Commits

Author SHA1 Message Date
Joonas Rikkonen
fd56875e95 (98a962701) Close the save/load dialogs when leaving the sub editor. Otherwise they'll still be visible when re-entering the editor, and saving at that point will overwrite the previously loaded sub with an empty one. Closes #1357 2019-03-27 11:31:30 +02:00
Joonas Rikkonen
26a3f866ee (a3947cb13) Batteries output charge values as ints. Closes #1358 2019-03-27 11:31:16 +02:00
Joonas Rikkonen
065173f3f7 (c417b7693) Decreased structure damage done by frag grenades (they weren't very practical for defending against intruders because they tended to blow up half the sub) and made them disappear after they've exploded. Closes #1317 2019-03-27 11:30:47 +02:00
Joonas Rikkonen
bb17463aae (f5be65240) Optimized explosions a bit, toned down wall damage effect when the wall has a small amount of damage. 2019-03-27 11:30:33 +02:00
Joonas Rikkonen
6fd4d14497 (8b8693dbf) Allow editing selected wires in wiring mode, made connection panels a little less transparent. Closes #1329 2019-03-26 17:34:35 +02:00
Joonas Rikkonen
d60696f895 (a0e195312) Don't allow steering with WASD when a textbox is selected. Closes #1353 2019-03-26 17:34:21 +02:00
Joonas Rikkonen
20e258f88e (26025de59) Allow panning the campaign map with WASD. Closes #1352 2019-03-26 17:34:07 +02:00
Joonas Rikkonen
237f164123 (afe15e7b2) Fixed server sending campaign saves and campaign character data to clients after the game mode has been switched to something else. Closes #1346 2019-03-26 17:12:45 +02:00
Joonas Rikkonen
6c4649fe3f (4b1fa5c86) Fixed client-side console errors during campaign setup because the client tried to load save files that only exist server-side. Now the server sends the information needed for the campaign setup window in the CAMPAIGN_SETUP_INFO message. 2019-03-26 17:10:20 +02:00
Joonas Rikkonen
555d91a3d5 (c590657d2) Don't retry decompressing save files or loading sub files if the file doesn't exist 2019-03-26 17:10:06 +02:00
Joonas Rikkonen
93f2dfb185 (628aa768f) Fix characters always being created in the default folder (#1330). 2019-03-26 17:09:35 +02:00
Joonas Rikkonen
8537234b75 (df56e74f1) Rename Charybdis as Legacycharybdis. Temporarily disable charybdis events. 2019-03-26 17:09:21 +02:00
Joonas Rikkonen
a1ef2732c9 (0d12b23e4) Fix the crash due to NaN value in torso or head angle (#1349). 2019-03-26 17:09:08 +02:00
Joonas Rikkonen
705d05a308 (652745ae0) Fix a crash due to invalid physics when scaling the Mudraptor. If the ragdoll still has invalid settings after trying to reset it, just freeze it to prevent crashing. Return boolean and make CheckValidity public so that we can check and react to the invalid ragdoll state elsewhere. 2019-03-26 17:08:53 +02:00
Joonas Rikkonen
56d1f5a054 (0df804de8) Add a null check for the character info reference. 2019-03-26 17:08:39 +02:00
Joonas Rikkonen
c94064c5f6 (ef9221ae5) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-03-26 14:10:47 +02:00
Joonas Rikkonen
d51c9a2028 (31ba1cb37) Fixed batteries being able to draw power through relay components that are connected directly to a power source, even if the relay isn't on. Closes #1069 2019-03-26 14:07:51 +02:00
Joonas Rikkonen
f4b85b32d0 (482b2c640) Fixes relay component logic: previously the load was clamped to zero when traversing out from the power_in connection of a relay to check how much power is coming in (devices connected to power_in don't increase the load), but now the same is also done for the incoming power when traversing out from power_out. Fixes #329, #805 and #1350 2019-03-26 14:07:37 +02:00
Joonas Rikkonen
fe10fdeeeb (621dbfdd2) Humpback: Modified bilge to make it easier for ai to fix. Added ballast space to make use of extra space. Dugong: Added ballast space to make use of extra space. 2019-03-26 14:07:24 +02:00
Joonas Rikkonen
4b3e78b566 (913ed2ce9) Merge remote-tracking branch 'origin/dev' into enemy-ai 2019-03-26 14:07:11 +02:00
Joonas Rikkonen
14832e2040 (aea5053bf) Fix wall target position not updated when the submarine moves. Fix latchontoai attach positions and distance checks. Detaching should also work both when the characters can get in and when the submarine velocity is enough to detach the characters. Still not synced, but re-enabled for testing. 2019-03-26 14:06:55 +02:00
Joonas Rikkonen
ccd496b769 (99836db69) Fixed clients being unable to end campaign rounds at all if the sub isn't at the start/end outpost (regardless if they have the permission to end the round or not), added a verification prompt when trying to end the round when the sub isn't at either outpost. 2019-03-26 14:06:40 +02:00
Joonas Rikkonen
ca279d40a3 (dbaa7326b) Use the SpriteColor of the item when drawing the moving parts of turrets and doors, made InventoryIconColor and ContainerColor saveable. Closes #1326 2019-03-26 14:06:26 +02:00
Joonas Rikkonen
7c9d0aac03 (ef1d7a5a2) Campaign fix: clear missions from locations that change their type, and all adjacent locations. Caused missions to still be available when they logically shouldn't be (e.g. a transport mission from an uninhabited location to another) and syncing issues in multiplayer. 2019-03-25 19:55:38 +02:00
Joonas Rikkonen
d98f0efd66 (0cd6089c2) Disable campaign start button if a round is already running when joining. 2019-03-25 19:51:54 +02:00
Joonas Rikkonen
86c4b6a3ae (9d3dd6da9) Reattempt decompressing saves files and initiating file transfers a few times before throwing an error. Running multiple instances of the game from the same install (or hosting a server as a client) occasionally causes IOExceptions because the instances try to access the same files. 2019-03-25 19:51:39 +02:00
Joonas Rikkonen
006d53ccf1 (5a10ddbee) Server ends the round if the owner of the server reports an error. 2019-03-25 19:51:25 +02:00
Joonas Rikkonen
eda3d9a533 (4f62d9b8f) Clients stop reading a network message if EventManager reports an error to the server. Otherwise the reading will fail with an "unknown object header" error, causing the client to disconnect themselves before receiving the more descriptive error message from the server. 2019-03-25 19:51:11 +02:00
Joonas Rikkonen
965a378f0e (5d67aa3f5) Merge remote-tracking branch 'origin/dev' into enemy-ai 2019-03-25 19:50:58 +02:00
Joonas Rikkonen
1fa94dd2b9 (b6e2dda8d) Adjust Crawler and Mudraptor targeting priorities. 2019-03-25 19:50:44 +02:00
Joonas Rikkonen
291623abb8 (59bf3d346) Double the Mudraptor attack speed. 2019-03-25 19:50:30 +02:00
Joonas Rikkonen
e06d4b777f (e8b93e8d7) Increase the door ai target ranges. The values are halved for most monsters, because they currently have the sight of 0.5. 2019-03-25 19:50:16 +02:00
Joonas Rikkonen
fd5d2b86af (a97ef2847) AI improvements: - Fix steering issues when attacking (yet again): We still have to offset the sim positions. - Fix the steering vector when escaping from the enemy that is inside the sub. - Enemies can now navigate out from the sub, when escaping. - Fix door tag not being used when targeting items. Change the priority boosts considering doors. Should now entirely ignore the outer doors when inside and inner doors when outside. - Change the way enemies react to characters that are not in the same sub. Halve the priority when the character is not in the same hull. Add some boost to the priority when escaping. 2019-03-25 19:50:02 +02:00
Joonas Rikkonen
19d5ed5d66 (14f26adfa) Take the position of a sub's docking port into account when determining where to place outposts. Humpback's docking port for example is 600 units to the right from the sub's centerpoint, which prevented it from docking in some levels because the left side of the sub hit the wall at the left side of the outpost. Closes #1028 2019-03-25 19:49:48 +02:00
Joonas Rikkonen
26594e2c6c (4b33eda28) Merge branch 'dev' into enemy-ai 2019-03-25 19:49:34 +02:00
Joonas Rikkonen
7d74b5bd52 (2c717d761) Enable wall targets also inside the sub, so that enemies can get through multiple layers of walls. Don't target walls (intentionally), when the character is already inside the sub. Fix attack world position being calculated wrong when the character is targeting walls inside the sub. Take the sub position into account when assigning the wall target position. Makes things a bit simpler. 2019-03-25 19:49:20 +02:00
Joonas Rikkonen
5ec6a7fba9 (325184804) Fix distance based attacks not registering if they hit a submarine. 2019-03-25 19:49:05 +02:00
juanjp600
96003509b8 (4450f3514) whoops again 2019-03-25 11:05:03 -03:00
juanjp600
7edb33516d (2b7c505c1) whoops 2019-03-25 10:58:21 -03:00
juanjp600
bc24dc9365 (a123b392c) Fixes to pretty script 2019-03-25 10:58:15 -03:00
juanjp600
13fcf6f166 (27eca7ad9) Some network optimization: - Don't create network events for hulls that are very far from all clients (e.g. ruin hulls). - Don't create network events for triggers that are set to limit the triggerer's velocity when there are no triggerers. 2019-03-25 10:58:07 -03:00
juanjp600
733271ea2e (fd1ee0c02) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev 2019-03-25 10:57:44 -03:00
juanjp600
991639709c (2da6c898b) Added 'pretty' merge script 2019-03-25 10:57:38 -03:00
juanjp600
94c1b29beb (9a13b4418) Hull syncing fixes: - Don't let clients decrease the size of FireSources below zero. May happen because clients are allowed to predict changes in the size (correcting the values when receiving updates from the server), but not remove the fires if their size is too small. - When using the fire/water command, the clients used to simply discard hull updates from the server if fire/water had been edited within 0.5 seconds (to prevent the state from reverting back to previous one when receiving an update). This occasionally caused the fires/water to get out of sync if the server didn't send additional updates after the 0.5 delay. Now the clients will simply correct the hull to the last known server state after the 0.5 second delay. 2019-03-25 10:57:18 -03:00
Joonas Rikkonen
c2e8263927 f9e8100...ccacceb
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
2019-03-25 14:30:00 +02:00
Joonas Rikkonen
c3b5c414cb 4e002dc...f9e8100
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
2019-03-24 20:38:12 +02:00
Joonas Rikkonen
c4cd346ae2 483f2ad...4e002dc
commit 4e002dc86422ca441f97e42780af9ed3545e835f
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date:   Sun Mar 24 19:39:44 2019 +0200

    Fixed compiler error in GameServer
2019-03-24 19:40:17 +02:00
Joonas Rikkonen
27917ee376 7b471b5...483f2ad
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
2019-03-24 19:21:41 +02:00
Joonas Rikkonen
7d6867996c ece6ead...7b471b5
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
2019-03-24 13:51:57 +02:00
Joonas Rikkonen
77a07a95af 1473f77...ece6ead
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.
2019-03-23 19:22:13 +02:00