Commit Graph

133 Commits

Author SHA1 Message Date
Eero 31812d524d Make collections thread-safe for AI and character systems
Refactored various collections (lists, dictionaries, queues, and caches) in AI, character, animation, and item component systems to use thread-safe patterns and concurrent data structures. This includes introducing copy-on-write wrappers, ConcurrentDictionary, ConcurrentQueue, and ThreadLocal where appropriate to ensure safe concurrent access and mutation, improving stability in multi-threaded scenarios.
2025-12-28 12:53:10 +08:00
Eero 46595b1399 WIP Make collections thread-safe and add safe iteration
Replaced static lists and dictionaries with thread-safe ConcurrentDictionary or ThreadLocal collections for various item components and systems. Updated all relevant code to use snapshots (ToArray, ToList) for safe iteration, and added helper methods for marking and clearing changed connections. These changes improve thread safety and prevent potential concurrency issues in multi-threaded scenarios.
2025-12-28 04:59:56 +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
Evil Factory 352625af28 Merge remote-tracking branch 'upstream/master' 2025-12-08 12:35:44 -03:00
Markus Isberg 598966f200 Release 1.11.4.1 (Winter Update) 2025-12-08 14:56:47 +00:00
EvilFactory b8fd8980a7 Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2025-07-01 17:55:43 -03:00
Regalis11 6661bb607b Release 1.9.8.0 - Summer Update Hotfix 1 2025-07-01 11:40:07 +03:00
EvilFactory 2368640841 Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2025-06-17 15:45:16 -03:00
Regalis11 ea5a2bc693 Release 1.9.7.0 - Summer Update 2025 2025-06-17 16:38:11 +03:00
EvilFactory 5e321a5abd Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2025-04-16 18:08:37 -03:00
Regalis11 1deef20f21 Release 1.8.7.0 - Calm Before the Storm Hotfix 1 2025-04-16 12:46:39 +03:00
EvilFactory 103871a4e9 Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2025-04-10 10:37:09 -03:00
Markus Isberg a4a3427e4e Unstable 1.8.4.0 2025-03-12 12:56:27 +00:00
EvilFactory 6da26ffa93 Merge remote-tracking branch 'upstream/master' into develop 2024-12-11 10:44:53 -03:00
Regalis11 f6349b2175 v1.7.7.0 (Winter Update 2024) 2024-12-11 13:26:13 +02:00
EvilFactory 30a8f0c561 Merge remote-tracking branch 'upstream/master' into develop 2024-10-22 12:42:35 -03:00
Regalis11 6e6c17e100 v1.6.17.0 (Unto the Breach update) 2024-10-22 17:29:04 +03:00
EvilFactory e163f7ed73 Merge remote-tracking branch 'upstream/master' into develop 2024-06-18 12:19:13 -03:00
Regalis11 230d1b6e78 v1.5.7.0 (Summer Update) 2024-06-18 16:50:02 +03:00
EvilFactory 0a9ff43986 Merge remote-tracking branch 'upstream/master' into develop 2024-04-24 12:20:11 -03:00
Regalis11 ff1b8951a7 v1.4.4.1 (Blood in the Water Update) 2024-04-24 18:09:05 +03:00
EvilFactory 7a74cd052f Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2024-03-28 14:26:18 -03:00
Regalis11 3791670c42 v1.3.0.1 (Epic Store release) 2024-03-28 18:34:33 +02:00
EvilFactory 448e4cdfbb Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2023-12-14 11:56:39 -03:00
Regalis11 b91e85559d v1.2.6.0 (Winter Update) 2023-12-14 16:11:27 +02:00
EvilFactory 759f66cf9f Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2023-10-30 12:40:09 -03:00
Regalis11 a8f9c97dda v1.1.19.3 (Treacherous Tides Hotfix 2) 2023-10-30 17:38:29 +02:00
EvilFactory a65d99021c Fixed merge and some errors 2023-10-19 12:53:49 -03:00
EvilFactory 9838cc59ee Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2023-10-19 12:18:30 -03:00
Markus Isberg cf8f0de659 Unstable 1.1.14.0 2023-10-02 16:43:54 +03:00
EvilFactory a318e2a0c4 Fixed compile error 2023-06-15 12:32:26 -03:00
EvilFactory 15daa64f66 Merge https://github.com/Regalis11/Barotrauma into develop 2023-06-15 12:13:50 -03:00
itchyOwl 83de72e3d2 v1.0.20.1 (summer patch) 2023-06-15 16:46:54 +03:00
EvilFactory 2c45c3d020 Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2023-05-10 11:55:46 -03:00
Regalis11 ee1db852b1 v1.0.13.1 (first post-1.0 patch) 2023-05-10 15:07:17 +03:00
EvilFactory 4a229c6427 Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2023-03-13 13:32:14 -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
EvilFactory d60efb17cd Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2023-01-31 13:17:15 -03:00
Regalis11 cf9ecd35b3 Build 0.21.6.0 (1.0 pre-patch) 2023-01-31 18:08:26 +02:00
Markus Isberg caa5a2f762 Faction Test 100.13.0.0 2023-01-11 15:36:23 +02:00
EvilFactory 90c3cef977 Merge remote-tracking branch 'upstream/dev' into develop 2022-12-09 17:33:44 -03:00
Markus Isberg c772b61fc1 Faction Test 100.4.0.0 2022-11-14 18:28:28 +02:00
Markus Isberg 54712b5dc9 Build 0.20.4.0 2022-11-11 17:57:23 +02:00
EvilFactory 77c63541eb Merge branch 'dev' of https://github.com/Regalis11/Barotrauma into unstable 2022-09-29 12:13:55 -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
Juan Pablo Arce 3f2c843247 Unstable v0.19.3.0 2022-09-02 15:10:56 -03:00
Juan Pablo Arce 1219615d64 Unstable v0.19.1.0 2022-08-19 13:59:08 -03:00
Regalis11 6b55adcdd9 v0.19.0.0 (unstable) 2022-07-20 18:47:07 +03:00