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
e167a34f32
Make entity lists thread-safe with copy-on-write wrappers
...
Replaced static entity lists (e.g., HullList, GapList, MapEntityList, etc.) with thread-safe copy-on-write wrappers to improve concurrency and prevent race conditions. Updated usages and related methods to support the new thread-safe collections, ensuring atomic operations and lock-free reads throughout the codebase.
2025-12-28 21:59:03 +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
caa0326cf8
Release 1.10.5.0 - Autumn Update 2025
2025-09-17 13:44:21 +03:00
Regalis11
ea5a2bc693
Release 1.9.7.0 - Summer Update 2025
2025-06-17 16:38:11 +03:00
Regalis11
ec9e29af07
Release 1.8.8.1 - Calm Before the Storm Hotfix 1
2025-04-29 12:46:51 +03:00
Regalis11
1deef20f21
Release 1.8.7.0 - Calm Before the Storm Hotfix 1
2025-04-16 12:46:39 +03:00
Markus Isberg
5762420f84
Merge branch 'dev'
...
# Conflicts:
# Barotrauma/BarotraumaClient/ClientSource/Characters/Animation/Ragdoll.cs
# Barotrauma/BarotraumaClient/ClientSource/Characters/Character.cs
# Barotrauma/BarotraumaClient/ClientSource/Characters/CharacterHUD.cs
# Barotrauma/BarotraumaClient/ClientSource/Characters/Jobs/JobPrefab.cs
# Barotrauma/BarotraumaClient/ClientSource/Characters/Limb.cs
# Barotrauma/BarotraumaClient/ClientSource/DebugConsole.cs
# Barotrauma/BarotraumaClient/ClientSource/GUI/TabMenu.cs
# Barotrauma/BarotraumaClient/ClientSource/GUI/TalentMenu.cs
# Barotrauma/BarotraumaClient/ClientSource/GameSession/RoundSummary.cs
# Barotrauma/BarotraumaClient/ClientSource/Items/Components/ItemComponent.cs
# Barotrauma/BarotraumaClient/ClientSource/Items/Components/ItemContainer.cs
# Barotrauma/BarotraumaClient/ClientSource/Items/Components/Signal/Wire.cs
# Barotrauma/BarotraumaClient/ClientSource/Items/Item.cs
# Barotrauma/BarotraumaClient/ClientSource/Map/Structure.cs
# Barotrauma/BarotraumaClient/ClientSource/Map/Submarine.cs
# Barotrauma/BarotraumaClient/ClientSource/Networking/GameClient.cs
# Barotrauma/BarotraumaClient/ClientSource/Networking/Primitives/Peers/ClientPeer.cs
# Barotrauma/BarotraumaClient/ClientSource/Networking/RespawnManager.cs
# Barotrauma/BarotraumaClient/ClientSource/Particles/Particle.cs
# Barotrauma/BarotraumaClient/ClientSource/Particles/ParticleEmitter.cs
# Barotrauma/BarotraumaClient/ClientSource/Physics/PhysicsBody.cs
# Barotrauma/BarotraumaClient/ClientSource/Screens/GameScreen.cs
# Barotrauma/BarotraumaClient/ClientSource/Screens/LevelEditorScreen.cs
# Barotrauma/BarotraumaClient/ClientSource/Screens/MainMenuScreen/MainMenuScreen.cs
# Barotrauma/BarotraumaClient/ClientSource/Screens/NetLobbyScreen.cs
# Barotrauma/BarotraumaClient/ClientSource/Screens/SubEditorScreen.cs
# Barotrauma/BarotraumaClient/ClientSource/Sounds/SoundManager.cs
# Barotrauma/BarotraumaClient/ClientSource/Steam/WorkshopMenu/Mutable/InstalledTab.cs
# Barotrauma/BarotraumaClient/LinuxClient.csproj
# Barotrauma/BarotraumaClient/MacClient.csproj
# Barotrauma/BarotraumaClient/WindowsClient.csproj
# Barotrauma/BarotraumaServer/LinuxServer.csproj
# Barotrauma/BarotraumaServer/MacServer.csproj
# Barotrauma/BarotraumaServer/ServerSource/Characters/CharacterNetworking.cs
# Barotrauma/BarotraumaServer/ServerSource/DebugConsole.cs
# Barotrauma/BarotraumaServer/ServerSource/Events/EventActions/ConversationAction.cs
# Barotrauma/BarotraumaServer/ServerSource/Networking/GameServer.cs
# Barotrauma/BarotraumaServer/ServerSource/Networking/RespawnManager.cs
# Barotrauma/BarotraumaServer/ServerSource/Networking/ServerSettings.cs
# Barotrauma/BarotraumaServer/WindowsServer.csproj
# Barotrauma/BarotraumaShared/LocalMods/[DebugOnlyTest]Character override and variant tests/README.txt
# Barotrauma/BarotraumaShared/LocalMods/[DebugOnlyTest]Character override and variant tests/filelist.xml
# Barotrauma/BarotraumaShared/SharedSource/AchievementManager.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/EnemyAIController.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/HumanAIController.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/IndoorsSteeringManager.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveCombat.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveDeconstructItem.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveFindSafety.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveGoTo.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveOperateItem.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveReturn.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/PetBehavior.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/Character.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/CharacterInfo.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/Health/Afflictions/AfflictionHusk.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/Health/Afflictions/AfflictionPrefab.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/Jobs/JobPrefab.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/Params/CharacterParams.cs
# Barotrauma/BarotraumaShared/SharedSource/ContentManagement/ContentPackage/ContentPackage.cs
# Barotrauma/BarotraumaShared/SharedSource/DebugConsole.cs
# Barotrauma/BarotraumaShared/SharedSource/DisembarkPerks/DisembarkPerkPrefab.cs
# Barotrauma/BarotraumaShared/SharedSource/Enums.cs
# Barotrauma/BarotraumaShared/SharedSource/Events/EventActions/ConversationAction.cs
# Barotrauma/BarotraumaShared/SharedSource/Events/EventActions/NPCChangeTeamAction.cs
# Barotrauma/BarotraumaShared/SharedSource/Events/EventManager.cs
# Barotrauma/BarotraumaShared/SharedSource/Events/Missions/AbandonedOutpostMission.cs
# Barotrauma/BarotraumaShared/SharedSource/Events/Missions/Mission.cs
# Barotrauma/BarotraumaShared/SharedSource/Events/MonsterEvent.cs
# Barotrauma/BarotraumaShared/SharedSource/GameSession/AutoItemPlacer.cs
# Barotrauma/BarotraumaShared/SharedSource/GameSession/GameSession.cs
# Barotrauma/BarotraumaShared/SharedSource/Items/Components/GeneticMaterial.cs
# Barotrauma/BarotraumaShared/SharedSource/Items/Components/Holdable/Holdable.cs
# Barotrauma/BarotraumaShared/SharedSource/Items/Components/ItemContainer.cs
# Barotrauma/BarotraumaShared/SharedSource/Items/Components/Turret.cs
# Barotrauma/BarotraumaShared/SharedSource/Items/Item.cs
# Barotrauma/BarotraumaShared/SharedSource/Map/Levels/Level.cs
# Barotrauma/BarotraumaShared/SharedSource/Map/Map/Location.cs
# Barotrauma/BarotraumaShared/SharedSource/Map/Map/LocationType.cs
# Barotrauma/BarotraumaShared/SharedSource/Map/Outposts/OutpostGenerator.cs
# Barotrauma/BarotraumaShared/SharedSource/Map/Submarine.cs
# Barotrauma/BarotraumaShared/SharedSource/Map/SubmarineInfo.cs
# Barotrauma/BarotraumaShared/SharedSource/Map/WayPoint.cs
# Barotrauma/BarotraumaShared/SharedSource/Networking/EntitySpawner.cs
# Barotrauma/BarotraumaShared/SharedSource/Networking/NetworkMember.cs
# Barotrauma/BarotraumaShared/SharedSource/Networking/RespawnManager.cs
# Barotrauma/BarotraumaShared/SharedSource/PerformanceCounter.cs
# Barotrauma/BarotraumaShared/SharedSource/Serialization/XMLExtensions.cs
# Barotrauma/BarotraumaShared/SharedSource/StatusEffects/StatusEffect.cs
# Barotrauma/BarotraumaShared/SharedSource/Tags.cs
# Barotrauma/BarotraumaShared/SharedSource/Text/TextManager.cs
# Barotrauma/BarotraumaShared/changelog.txt
2025-04-10 14:35:30 +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
f6349b2175
v1.7.7.0 (Winter Update 2024)
2024-12-11 13:26:13 +02:00
Regalis11
26ffd2104e
v1.6.19.1 (Unto the Breach Hotfix 1)
2024-10-31 11:27:32 +02:00
Regalis11
7eac44ea7d
v1.6.18.1 (Unto the Breach Hotfix 1)
2024-10-28 15:03:46 +02:00
Regalis11
6e6c17e100
v1.6.17.0 (Unto the Breach update)
2024-10-22 17:29:04 +03:00
Regalis11
230d1b6e78
v1.5.7.0 (Summer Update)
2024-06-18 16:50:02 +03:00
Markus Isberg
0a0a9784c5
Blood in the Water Hotfix 2 - 1.4.6.0
2024-05-02 14:08:04 +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
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
df7e8f1625
v1.1.18.0 (Treacherous Tides Update)
2023-10-19 19:28:43 +03:00
Regalis11
34ffc520cc
v1.1.18.0 (Treacherous Tides Update)
2023-10-19 17:18:51 +03:00
Markus Isberg
12e43d95ef
Unstable 1.1.15.0
2023-10-05 14:55:53 +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
Regalis11
406562f522
Removed a duplicate class
2023-06-15 16:50: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
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