Commit Graph

65 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
NotAlwaysTrue 5207b381b7 OBT/1.1.1 (#51)
Reverted an outdated change which is no longer in use
Removed CL-EP install command due to partical system issues
2026-03-13 13:34:21 +08:00
Eero f4a0d149ca CBT2.0.3 #33 2026-01-04 00:23:09 +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 45312af297 WIP Make static collections thread-safe using ThreadStatic and ThreadLocal
Refactored various static and instance collections to use [ThreadStatic], ThreadLocal, or local variables to prevent concurrent modification issues during parallel updates. This affects status effect targets, affliction lists, damage modifiers, and cached data in Character, CharacterHealth, Limb, Explosion, Hull, Submarine, and ToolBox classes. Also replaced Dictionary caches with ConcurrentDictionary where appropriate for thread safety.
2025-12-28 14:14:53 +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
NotAlwaysTrue 5446795196 Fixed #7 (re-applied) 2025-12-26 11:07:54 +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
Markus Isberg a4a3427e4e Unstable 1.8.4.0 2025-03-12 12:56:27 +00: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
Markus Isberg fb5ea537bf Unstable 1.2.4.0 2023-11-30 13:53:00 +02:00
Markus Isberg 8a2e2ea0ae Unstable 1.2.1.0 2023-11-10 17:45:19 +02:00
Markus Isberg cf8f0de659 Unstable 1.1.14.0 2023-10-02 16:43:54 +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
Regalis11 f8af8db91a v1.0.9.0 (2nd hotfix) 2023-04-12 15:42:35 +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 caa5a2f762 Faction Test 100.13.0.0 2023-01-11 15:36:23 +02:00
Markus Isberg c772b61fc1 Faction Test 100.4.0.0 2022-11-14 18:28:28 +02: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
Regalis11 6b55adcdd9 v0.19.0.0 (unstable) 2022-07-20 18:47:07 +03:00
Markus Isberg 497045de7e Build 0.18.13.0 2022-07-01 12:16:36 +09:00
Markus Isberg 6be757a45b Build 0.18.5.0 2022-06-03 22:29:04 +09:00
Markus Isberg 64db1a6a44 Build 0.18.4.0 2022-05-31 23:13:05 +09:00
Markus Isberg 7547a9b78a Build 0.18.0.0 2022-05-13 00:55:52 +09:00
Markus Isberg d9a05400e0 Build 0.17.11.0 2022-04-19 23:52:59 +09:00
Markus Isberg c1b8e5a341 Unstable 0.17.4.0 2022-03-30 00:08:09 +09:00
Markus Isberg 6d410cc1b7 Unstable 0.17.1.0 2022-03-17 01:25:04 +09:00
Markus Isberg 3974067915 Unstable 0.17.0.0 2022-02-26 02:43:01 +09:00
Markus Isberg 2190fe08ef Unstable 0.16.3.0 2022-02-10 02:52:08 +09:00
Markus Isberg 7d6421a548 Unstable 0.16.0.0 2022-01-14 01:28:24 +09:00
Juan Pablo Arce 617d9ede88 Unstable v0.15.17.0 (Hex is out of town edition) 2021-12-03 13:31:10 -03:00
Markus Isberg 80f39cd2a3 Unstable 0.15.15.0 (and the one before it I forgor) 2021-11-18 21:34:30 +09:00
Joonas Rikkonen 234fb6bc06 Release v0.15.12.0 2021-10-27 18:50:57 +03:00
Markus Isberg 27dd9e6022 Unstable 0.1400.8.0 2021-08-13 17:52:45 +09:00
Markus Isberg 47707c824a Unstable 0.1400.7.0 (Coronavirus edition) 2021-07-23 21:01:17 +03:00
Markus Isberg 23a7c37eee Unstable 0.14.5.0 2021-06-14 17:53:42 +03:00
Markus Isberg 0b3fb5e440 Unstable 0.1400.2.0 (a mimir edition) 2021-05-28 19:04:09 +03:00
Markus Isberg 5bc850cddb Unstable 0.1400.1.0 2021-05-20 16:12:54 +03:00
Markus Isberg 92f0264af2 Unstable 0.1400.0.0 2021-05-11 15:47:47 +03:00
Markus Isberg bf743f1e99 Unstable 0.1300.2.11 2021-04-27 17:12:39 +03:00
Markus Isberg f48dfb5862 Unstable 0.1300.0.9 2021-04-13 16:58:13 +03:00