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 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 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 7cc231bc51890e7fde50bbac3413328dd7bc5189
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Wed Mar 20 14:23:06 2019 +0200
Fixed server creating network events in Item.Load due to CreateServerEvent calls in some of the ItemComponent properties (e.g. LightComponent.IsOn). Caused syncing problems because the entity spawn events aren't created until the item has been loaded, leading to situations where clients fail to read events because the entity doesn't exist at their end yet (see #1293). TODO: get rid of console errors when attempting to create events during component initialization in the Item constructor.
commit ac1bf32edf125d95d56775e1e8ce54ac7671328c
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Wed Mar 20 13:49:55 2019 +0200
Fix Hammerhead attack causing warping. Adjust the targeting priorities.
commit e3e032d7c3a753397269bb4236c1494ab0809004
Author: itchyOwl <lauri.harkanen@gmail.com>
Date: Wed Mar 20 13:48:47 2019 +0200
Enemy AI fixes:
- Fix enemies "fleeing" after they have been shot. There was a steering issue when they targeted characters that were inside the sub when they were outside of it
- Fix the previous target resetting too often
- Fix the wall target resetting too often
- Use world positions instead of sim positions where possible, because the sub positions are then taken into account
commit 847cf5ffd9212a542000dbf12332b2c08756579a
Author: Daniel Asteljoki <daniel.asteljoki@gmail.com>
Date: Wed Mar 20 12:00:15 2019 +0200
Remora: added power connection between sub and drone, removed non-scaling hull parts
commit a9c2e8cc124713e90dd44a9adf2fcbb3204b2c4d
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Wed Mar 20 11:24:37 2019 +0200
Server sets clients' last received campaign save/update IDs to one before the current up-to-date IDs (instead of zero) when a campaign changes. Zero would get interpreted as a more up-to-date ID if the IDs of the current campaign are close to ushort.MaxValue where the IDs wrap around.
commit 07d82b64e6990eacaf8905aed1a5d7c61224e47d
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Tue Mar 19 18:24:01 2019 +0200
Log level inequality error messages & client error reports handled by the server to GameAnalytics
commit 633e54b2ffb4e5ec13c1fa5ce8170f5e726f8e10
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Tue Mar 19 18:02:21 2019 +0200
Include level equality check value in round start messages, so clients immediately know if the level generated at their end doesn't match the one generated by the server (which will cause ID mismatches and more hard-to-diagnose desync kicks during the rounds). Related to #848
commit 68e410705115ece2fcc4ca9c7d9856cc1dd5c1f8
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Tue Mar 19 18:01:01 2019 +0200
Readded client error handling from ef9afed. Not sure how it got removed, probably a messed up merge somewhere down the line when working on the client-server-separation branch or when merging the Steam version work from dev to master. In any case this should help diagnose desync kicks such as #1293.
commit 409d4d96ead69028a164274637d23e350acb73fb
Merge: 95169f539 26e89c63d
Author: EdusFF <pitkanen.eetu@gmail.com>
Date: Mon Mar 11 15:13:27 2019 +0200
Merge branch 'dev' of github.com:Regalis11/Barotrauma into dev
commit 95169f53937f9a7e168a884171eaa21ae7f08023
Author: EdusFF <pitkanen.eetu@gmail.com>
Date: Mon Mar 11 15:13:11 2019 +0200
Modified: ServerMessage structure to allow _ ; in player & submarine names
commit 26e89c63dc8da771aea9f09978a630a6cff60a6f
Merge: b7646d06d fb0b821bc
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 11 14:42:44 2019 +0200
Merge branch 'kuraiookami-logicExpantion' into dev
# Conflicts:
# Barotrauma/BarotraumaShared/SharedContent.projitems
commit fb0b821bc97891cdeec8f2c740a12119696393ea
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 11 14:41:21 2019 +0200
Use invariant culture when parsing floats or converting them to strings in signal components
commit f0c8afba934b41358cf5d59a22b87caf33f98a61
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 11 14:00:44 2019 +0200
Update new signal components to use identifiers & added names and descriptions to the text file, use invariant culture in equalscomponent, memorycomponent doesn't require the signals to be floats
commit 674d9ec804fc4770b602d4b09240b08cafc8ccec
Merge: 3ea33fb54 242e2429f
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 11 12:01:27 2019 +0200
Merge branch 'logicExpantion' of https://github.com/kuraiookami/Barotrauma into kuraiookami-logicExpantion
# Conflicts:
# Barotrauma/BarotraumaShared/BarotraumaShared.projitems
# Barotrauma/BarotraumaShared/Content/Items/Electricity/poweritems.xml
# Barotrauma/BarotraumaShared/Content/Items/Electricity/signalitems.xml
# Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerContainer.cs
# Barotrauma/BarotraumaShared/Source/Items/Components/Signal/AdderComponent.cs
commit b7646d06d53fb05227276e6286d0e15da5dc9080
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 11 11:37:33 2019 +0200
Re-enabled multiplayer campaign
commit cf7258f6410a5995c881ec6e95eb9def5cd90ad4
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 11 11:28:48 2019 +0200
Fixed item interfaces getting repositioned every frame when the editing HUD is open. Closes#1212
commit e8906239c779cf71de694bc65c81058e5cae16ef
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Mon Mar 11 11:12:05 2019 +0200
Fixed VoipCapture creating new "could not start voice capture" popups constantly if there's no suitable capture device. Closes#1262
commit a30f47fbe47fde4fccb0453c1773a76d730d226b
Author: Joonas Rikkonen <poe.regalis@gmail.com>
Date: Sun Mar 10 19:04:59 2019 +0200
Disable audio instead of crashing if no audio device is found. Closes#1214
commit 242e2429fd2c3ed199ac26b55e2cbdc8636e73f9
Author: Darkwolf <Darkwolf0101@gmail.com>
Date: Mon Jan 21 21:26:57 2019 -0600
Expansion of Barotrauma's logic system.
Changed:
- AdderComponent and children can clamp their output
- Powercontainer signals for charge,charge% and charge rate
Added:
- ColorComponent: Dynamic signals for light set_color inputs
- MemoryComponent: Stores and sends a signal that is edge latched
- DivideComponent: Standard division
- MultiplyComponent: Standard multiplication
- SubtractComponent: Standard subtraction
- XorComponent: Exclusive or
- EqualsComponent: Equals comparison
- GreaterComponent: Greater than comparison