Commit Graph

118 Commits

Author SHA1 Message Date
NotAlwaysTrue
f9ad542029 Merge branch 'CBT' into dev_itemrefactor 2026-04-30 22:15:38 +08:00
NotAlwaysTrue
25683dcf39 Reapply "OBT1.1.0 Merge branch 'dev_pte' into dev"
This reverts commit 046483b9da.
2026-04-30 21:59:54 +08:00
Regalis11
a4607dffad v1.12.6.2 (Spring Update 2026) 2026-04-09 15:10:07 +03:00
Eero
7b8275100d Improve thread safety and performance in core systems
Refactors event, entity, and physics management to use thread-safe and lock-free data structures (Immutable collections, ConcurrentQueue, ConcurrentDictionary, Channel) for improved concurrency and performance. Replaces O(n) queue lookups with O(1) set/dictionary checks, ensures atomic updates for shared state, and optimizes queue draining and deferred action processing. Updates related code to use new APIs and patterns, and adds documentation for thread safety and workflow.
2025-12-29 16:47:10 +08:00
Eero
90962b2328 Refactor Item collections for thread safety and performance
Replaces static Item.ItemList and related collections with thread-safe data structures using ConcurrentDictionary and ImmutableHashSet. Adds thread-safe helpers for marking items for deconstruction and managing item lists. Updates all usages of Item.ItemList and DeconstructItems to use new APIs, improving performance and safety in multi-threaded contexts. Also refactors MeleeWeapon and Projectile impact queues to use ConcurrentQueue, and updates related logic throughout the codebase.
2025-12-28 03:57:04 +08:00
Markus Isberg
598966f200 Release 1.11.4.1 (Winter Update) 2025-12-08 14:56:47 +00:00
Regalis11
b2d91cde7c Release 1.10.6.0 - Autumn Update 2025 Hotfix 1 2025-09-25 11:11:35 +03:00
Regalis11
caa0326cf8 Release 1.10.5.0 - Autumn Update 2025 2025-09-17 13:44:21 +03:00
Regalis11
6661bb607b Release 1.9.8.0 - Summer Update Hotfix 1 2025-07-01 11:40:07 +03:00
Regalis11
ea5a2bc693 Release 1.9.7.0 - Summer Update 2025 2025-06-17 16:38:11 +03:00
Markus Isberg
14f61af41c Release 1.8.6.2 - Calm Before the Storm 2025-04-10 11:29:43 +00:00
Markus Isberg
a4a3427e4e Unstable 1.8.4.0 2025-03-12 12:56:27 +00:00
Regalis11
169eced79a v1.5.7.0 (Summer Update Hotfix 1) 2024-06-19 18:42:16 +03:00
Regalis11
230d1b6e78 v1.5.7.0 (Summer Update) 2024-06-18 16:50:02 +03:00
Regalis11
ff1b8951a7 v1.4.4.1 (Blood in the Water Update) 2024-04-24 18:09:05 +03:00
Regalis11
3791670c42 v1.3.0.1 (Epic Store release) 2024-03-28 18:34:33 +02:00
Regalis11
0c433eb187 v1.2.8.0 (Winter Update hotfix 2) 2024-01-11 16:19:43 +02:00
Regalis11
ada8d6f260 v1.2.7.0 (Winter Update hotfix) 2023-12-20 15:00:42 +02:00
Regalis11
b91e85559d v1.2.6.0 (Winter Update) 2023-12-14 16:11:27 +02:00
Regalis11
a8f9c97dda v1.1.19.3 (Treacherous Tides Hotfix 2) 2023-10-30 17:38:29 +02:00
Markus Isberg
2ea58c58a7 Hotfix 1.1.18.1 (real this time) 2023-10-20 18:17:33 +03:00
Markus Isberg
6cc82976a1 Hotfix 1.1.18.1 2023-10-20 18:05:28 +03:00
Regalis11
34ffc520cc v1.1.18.0 (Treacherous Tides Update) 2023-10-19 17:18:51 +03:00
Markus Isberg
cf8f0de659 Unstable 1.1.14.0 2023-10-02 16:43:54 +03:00
Regalis11
94f5a93a0c Merge remote-tracking branch 'origin/master' into dev
# Conflicts:
#	Barotrauma/BarotraumaClient/ClientSource/DebugConsole.cs
#	Barotrauma/BarotraumaClient/ClientSource/Events/EventManager.cs
#	Barotrauma/BarotraumaClient/ClientSource/GUI/CrewManagement.cs
#	Barotrauma/BarotraumaClient/ClientSource/GUI/MedicalClinicUI.cs
#	Barotrauma/BarotraumaClient/ClientSource/GUI/Store.cs
#	Barotrauma/BarotraumaClient/ClientSource/GUI/SubmarineSelection.cs
#	Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/CampaignMode.cs
#	Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/MultiPlayerCampaign.cs
#	Barotrauma/BarotraumaClient/ClientSource/GameSession/RoundSummary.cs
#	Barotrauma/BarotraumaClient/ClientSource/Items/Components/Door.cs
#	Barotrauma/BarotraumaClient/ClientSource/Items/Components/Machines/Fabricator.cs
#	Barotrauma/BarotraumaClient/ClientSource/Items/Components/Projectile.cs
#	Barotrauma/BarotraumaClient/ClientSource/Map/Lights/ConvexHull.cs
#	Barotrauma/BarotraumaClient/ClientSource/Map/Lights/LightManager.cs
#	Barotrauma/BarotraumaClient/ClientSource/Map/Lights/LightSource.cs
#	Barotrauma/BarotraumaClient/ClientSource/Map/Structure.cs
#	Barotrauma/BarotraumaClient/ClientSource/Networking/GameClient.cs
#	Barotrauma/BarotraumaClient/ClientSource/Networking/Voip/VoipClient.cs
#	Barotrauma/BarotraumaClient/ClientSource/Networking/Voting.cs
#	Barotrauma/BarotraumaClient/ClientSource/Screens/ServerListScreen/ServerListScreen.cs
#	Barotrauma/BarotraumaClient/LinuxClient.csproj
#	Barotrauma/BarotraumaClient/MacClient.csproj
#	Barotrauma/BarotraumaClient/WindowsClient.csproj
#	Barotrauma/BarotraumaServer/LinuxServer.csproj
#	Barotrauma/BarotraumaServer/MacServer.csproj
#	Barotrauma/BarotraumaServer/ServerSource/DebugConsole.cs
#	Barotrauma/BarotraumaServer/ServerSource/GameSession/MedicalClinic.cs
#	Barotrauma/BarotraumaServer/ServerSource/Items/Inventory.cs
#	Barotrauma/BarotraumaServer/ServerSource/Networking/GameServer.cs
#	Barotrauma/BarotraumaServer/ServerSource/Utils/DoSProtection.cs
#	Barotrauma/BarotraumaServer/WindowsServer.csproj
#	Barotrauma/BarotraumaShared/SharedSource/Characters/AI/HumanAIController.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/AI/IndoorsSteeringManager.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveContainItem.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveFindSafety.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveGetItem.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveGoTo.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveIdle.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/AI/ShipCommand/ShipIssueWorkerOperateWeapons.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Attack.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Character.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Health/Afflictions/Affliction.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Health/Afflictions/AfflictionPrefab.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Health/CharacterHealth.cs
#	Barotrauma/BarotraumaShared/SharedSource/Characters/Params/CharacterParams.cs
#	Barotrauma/BarotraumaShared/SharedSource/ContentManagement/ContentPackageManager.cs
#	Barotrauma/BarotraumaShared/SharedSource/Enums.cs
#	Barotrauma/BarotraumaShared/SharedSource/Events/EventActions/MissionAction.cs
#	Barotrauma/BarotraumaShared/SharedSource/Events/EventActions/NPCChangeTeamAction.cs
#	Barotrauma/BarotraumaShared/SharedSource/Events/EventActions/NPCFollowAction.cs
#	Barotrauma/BarotraumaShared/SharedSource/Events/EventActions/NPCWaitAction.cs
#	Barotrauma/BarotraumaShared/SharedSource/Events/EventManager.cs
#	Barotrauma/BarotraumaShared/SharedSource/Events/Missions/Mission.cs
#	Barotrauma/BarotraumaShared/SharedSource/Events/Missions/PirateMission.cs
#	Barotrauma/BarotraumaShared/SharedSource/Events/Missions/SalvageMission.cs
#	Barotrauma/BarotraumaShared/SharedSource/GameSession/CargoManager.cs
#	Barotrauma/BarotraumaShared/SharedSource/GameSession/Data/Reputation.cs
#	Barotrauma/BarotraumaShared/SharedSource/GameSession/GameModes/CampaignMode.cs
#	Barotrauma/BarotraumaShared/SharedSource/GameSession/GameSession.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/Door.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/Holdable/LevelResource.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/Holdable/RangedWeapon.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/ItemContainer.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/Projectile.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/Signal/LightComponent.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Components/Turret.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/Item.cs
#	Barotrauma/BarotraumaShared/SharedSource/Items/ItemPrefab.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Gap.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Levels/Level.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Map/Location.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Map/Map.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Outposts/OutpostGenerator.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/Submarine.cs
#	Barotrauma/BarotraumaShared/SharedSource/Map/SubmarineBody.cs
#	Barotrauma/BarotraumaShared/SharedSource/Networking/ServerSettings.cs
#	Barotrauma/BarotraumaShared/SharedSource/Settings/GameSettings.cs
#	Barotrauma/BarotraumaShared/SharedSource/StatusEffects/PropertyConditional.cs
#	Barotrauma/BarotraumaShared/SharedSource/StatusEffects/StatusEffect.cs
#	Barotrauma/BarotraumaShared/changelog.txt
2023-06-15 16:55:39 +03:00
itchyOwl
83de72e3d2 v1.0.20.1 (summer patch) 2023-06-15 16:46:54 +03:00
Regalis11
ee1db852b1 v1.0.13.1 (first post-1.0 patch) 2023-05-10 15:07:17 +03:00
Markus Isberg
9470edead3 Build 1.1.4.0 2023-03-31 18:40:44 +03:00
Regalis11
bf73ddb6c3 v1.0.7.0 (Full Release) 2023-03-13 10:30:37 +02:00
Regalis11
2c5a7923b0 Faction Test v1.0.1.0 2023-02-16 15:01:28 +02:00
Markus Isberg
25fa5a9552 Build 0.21.6.0 2023-01-31 18:01:29 +02:00
Markus Isberg
697ec52120 Build 0.21.1.0 2023-01-13 18:10:35 +02:00
Markus Isberg
caa5a2f762 Faction Test 100.13.0.0 2023-01-11 15:36:23 +02:00
Markus Isberg
6f788fb8b4 Build 0.20.12.0 2022-12-09 20:08:36 +02:00
Markus Isberg
1650735468 Faction Test 100.11.0.0 2022-12-09 20:08:17 +02:00
Markus Isberg
e0c3754621 Faction Test 100.10.0.0 2022-12-07 17:46:02 +02:00
Markus Isberg
a10cc13566 Build 0.20.11.0 2022-12-07 17:40:58 +02:00
Markus Isberg
f7f1ebd979 Faction Test 100.8.0.0 2022-12-01 22:00:25 +02:00
Markus Isberg
31d2dc658e Build 0.20.9.0 2022-12-01 21:59:53 +02:00
Markus Isberg
df805574c4 Build 0.20.8.0 2022-11-25 19:56:30 +02:00
Markus Isberg
0057f5bfce Faction Test 100.6.0.0 2022-11-25 19:55:45 +02:00
Markus Isberg
c44fb0ad3a Faction Test 100.5.0.0 2022-11-18 18:32:04 +02:00
Markus Isberg
ecb6d40b4b Build 0.20.7.0 2022-11-18 18:13:38 +02:00
Markus Isberg
c772b61fc1 Faction Test 100.4.0.0 2022-11-14 18:28:28 +02:00
Markus Isberg
8c8fd865c5 Build 0.20.6.0 2022-11-14 18:14:35 +02:00
Markus Isberg
54712b5dc9 Build 0.20.4.0 2022-11-11 17:57:23 +02:00
Markus Isberg
edaf4b09fe Build 0.20.0.0 2022-10-27 17:54:57 +03:00
Regalis11
6cddd03918 v0.19.14.0 2022-10-20 17:05:24 +03:00
Juan Pablo Arce
3ca584f2fc v0.19.8.0 2022-09-28 21:30:52 -03:00
Juan Pablo Arce
1fd2a51bbb Unstable v0.19.5.0 2022-09-14 12:48:12 -03:00