MapleWheels
cae3741953
Made most of the networking interfaces public.
2026-02-07 20:11:46 -05:00
MapleWheels
fd037153ee
- Fixed recursion deadlock due to the EventService.Reset() being called during event publishing.
2026-02-07 20:11:45 -05:00
Evil Factory
67d3d5f587
Reimplementation of DoString with lua/cl_lua commands and fix Lua scripts not being loaded properly
2026-02-07 20:11:07 -05:00
Evil Factory
3d51abc56b
Semi-working Lua scripts
2026-02-07 20:11:06 -05:00
Maplewheels
0a9c673753
- Removed unused settings
...
- Added Settings.xml
2026-02-07 20:11:06 -05:00
MapleWheels
6e66a3114a
- Made Package loading conditional on resources being available.
...
- Made States registration use named parameters.
- Changed IPluginManagementService interface to better suit expected return results.
2026-02-07 20:10:55 -05:00
MapleWheels
7e0e671539
- ConfigService.cs alpha testing.
2026-02-07 20:10:54 -05:00
Maplewheels
6a21255a38
- IT BUILDS!!2:BARO BOOGALOO
2026-02-07 20:10:54 -05:00
MapleWheels
6362a9c34f
- Work on LuaCs system state machine.
2026-02-07 20:10:54 -05:00
MapleWheels
055a508901
- Deleted unused service IPackageListRetrievalService.cs
...
- Added caching function to LuaScriptLoader.cs
- Added sample async code to LuaScriptManagementService.cs
- Removed most of the State functions in LuaCsSetup.cs (requires rewrite).
- Fixed CsEnabled check.
- Moved IsRunningWorkshop check to client-only project.
2026-02-07 20:10:54 -05:00
MapleWheels
0bfceacaf3
- Completed most of PackageManagementService.cs
...
- Some areas of code need to be rewritten for the simplified loading and execution process.
2026-02-07 20:10:54 -05:00
MapleWheels
7d39c092c6
[Save/Sync] Big If tru Rewrite in progress.
...
- Removed IProcessors
- Removed old ModConfigService format.
- Converting to ContentPath from absolute paths where possible.
- Added: Microsoft.Toolkit.Diagnostics package.
2026-02-07 20:10:53 -05:00
Evil Factory
71c2e54afd
Remove CheckUpdate
2026-02-07 20:10:53 -05:00
MapleWheels
c6713f37bb
IT BUILDS!!!
...
- Removed LocalizationServices and other sus things.
- Rewrote AssemblyLoader
[In Progress] SafeStorageService
[In Progress] LuaScriptLoader
2026-02-07 20:10:52 -05:00
MapleWheels
52d920d969
[Milestone] PackageManagementService completed.
...
- ContentPackageInfoLookup Service completed.
- Implemented ModConfigService.cs
- Implemented some of the resource processors.
2026-02-07 20:10:45 -05:00
MapleWheels
7436ea3e8c
- Finished most of LuaCsSetup top-level functionality.
...
- Removed some unneeded interface definitions.
- Clean-slated some Services that need to be re-written.
2026-02-07 20:10:39 -05:00
MapleWheels
d2b9ca4c1b
[Refactor-Minor]
...
- Refactored interface definition.
- Plugin Loading System Refactor (incomplete).
2026-02-07 20:10:39 -05:00
MapleWheels
6880e5e9ee
[Milestone] AssemblyLoader completed.
...
Details:
- Assembly Mgmt Service for loading now a separate interface, not intended for normal use.
- Assembly Loader work; implemented custom dictionary key and table.
- Assembly loading work.
- EventService completed.
- Moved assembly extensions to ModUtils.cs
- Work to event service.
NetworkService work
- Added ImpromptuInterfaces package.
- Networking Service work to support NetVars
- Event Service
- Added assemblies references package for script compilation. Updated Roslyn version for compatibility.
- Package Loading work.
Swap Harmony to HarmonyX
- More refactor conversion to FluentResults.
- Updated StylesService to return Results.
- Refactor of PackageService partially complete.
- Made IService.Reset() required to return a Result.
- Moved plugin/assembly related code to their own folder (same namespace).
- Updated interfaces to reflect the use of Result<T>.
- Partial refactor, incomplete.
- Added 'FluentResults' so we can stop using cursed Exception-based flow control in loading code.
- Added 'OneOf' nuget package: https://github.com/mcintyre321/OneOf
for the implementation of the Optional<T> pattern and complex discrete return types instead of cursed enums (see current AssemblyManager.cs).
- Reapplied old branch changes.
2026-02-07 20:10:26 -05:00
MapleWheels
01cc1d331b
-- Squash:
...
- In progress implementation of services model.
2026-02-07 20:10:04 -05:00
Eero
9474f7654c
CBT2.0.1 Fix event reset and temp cell clearing logic
...
Changed ResetReceivedEvents from partial to regular method in EntitySpawner to ensure proper event queue clearing. Updated Level.cs to clear tempCellsLocal instead of tempCells, addressing potential issues with thread-local storage.
2025-12-29 18:37:13 +08: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
59bf2749dd
Improve thread safety in sound and physics systems
...
Refactored SoundChannel and SoundManager to use explicit locking for OpenAL operations and channel assignment, preventing race conditions during parallel sound playback. Added thread-local stacks in DynamicTree to ensure thread safety during parallel physics queries and raycasts. These changes address concurrency issues when sounds or physics queries are triggered from multiple threads.
2025-12-28 16:18:49 +08:00
Eero
ad0bcddaa4
CL_Fix Use TryAdd when adding afflictions to dictionary
...
Replaces afflictions.Add with afflictions.TryAdd to prevent exceptions if the affliction already exists in the dictionary.
2025-12-28 15:11: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
Evil Factory
0d223636f6
Merge branch 'master' of https://github.com/regalis11/Barotrauma
2025-10-22 10:55:51 -03:00
Regalis11
7e25111487
Release 1.10.7.2 - Autumn Update 2025 Hotfix 4
2025-10-22 14:54:03 +03:00
Evil Factory
9799a2a97b
Merge remote-tracking branch 'upstream/master'
2025-10-10 08:41:26 -03:00
Markus Isberg
b732009056
Hotfix 1.10.7.1
2025-10-10 10:43:19 +00:00
Evil Factory
e902ba673d
Merge remote-tracking branch 'upstream/master'
2025-10-02 08:12:37 -03:00
Regalis11
6c1b18a56d
Release 1.10.7.0 - Autumn Update 2025 Hotfix 2
2025-10-02 12:31:41 +03:00
Evil Factory
da13162c60
Merge branch 'master' of https://github.com/Regalis11/Barotrauma
2025-09-25 09:00:20 -03:00
Regalis11
b2d91cde7c
Release 1.10.6.0 - Autumn Update 2025 Hotfix 1
2025-09-25 11:11:35 +03:00
Evil Factory
cfab935b75
Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop
2025-09-17 08:30:35 -03:00
Regalis11
caa0326cf8
Release 1.10.5.0 - Autumn Update 2025
2025-09-17 13:44:21 +03: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
64faf5c967
Merge branch 'master' of https://github.com/Regalis11/Barotrauma
2025-04-29 07:27:36 -03:00
Regalis11
ec9e29af07
Release 1.8.8.1 - Calm Before the Storm Hotfix 1
2025-04-29 12:46:51 +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
546450712d
Fixed compiler errors
2025-04-10 10:55: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
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
EvilFactory
6da26ffa93
Merge remote-tracking branch 'upstream/master' into develop
2024-12-11 10:44:53 -03:00