From 25081466be4251a22f2361311189cd6f89413b9e Mon Sep 17 00:00:00 2001
From: Evil Factory <36804725+evilfactory@users.noreply.github.com>
Date: Sun, 25 Jan 2026 17:50:23 -0300
Subject: [PATCH] Add the content package and move the Lua files to it
---
.../Lua/CompatibilityLib.lua | 0
.../LuaCsForBarotrauma}/Lua/DefaultHook.lua | 0
.../Lua/DefaultLib/LibClient.lua | 0
.../Lua/DefaultLib/LibServer.lua | 0
.../Lua/DefaultLib/LibShared.lua | 0
.../Lua/DefaultLib/Utils/Math.lua | 0
.../Lua/DefaultLib/Utils/SteamApi.lua | 0
.../Lua/DefaultLib/Utils/String.lua | 0
.../Lua/DefaultLib/Utils/Util.lua | 0
.../Lua/DefaultRegister/RegisterClient.lua | 0
.../Lua/DefaultRegister/RegisterServer.lua | 0
.../Lua/DefaultRegister/RegisterShared.lua | 0
.../LuaCsForBarotrauma}/Lua/LuaSetup.lua | 0
.../LuaCsForBarotrauma/Lua/LuaUserData.lua | 97 +++++++++++++++++++
.../LuaCsForBarotrauma}/Lua/ModLoader.lua | 0
.../LuaCsForBarotrauma}/Lua/PostSetup.lua | 0
.../LuaCsForBarotrauma/ModConfig.xml | 4 +
.../LocalMods/LuaCsForBarotrauma/filelist.xml | 3 +
.../BarotraumaShared/Lua/.vscode/launch.json | 11 ---
.../Lua/.vscode/settings.json | 40 --------
.../Lua/Content/ModConfig.xml | 0
.../Lua/Content/Schemas/IModConfig.xsd | 50 ----------
22 files changed, 104 insertions(+), 101 deletions(-)
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/CompatibilityLib.lua (100%)
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/DefaultHook.lua (100%)
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/DefaultLib/LibClient.lua (100%)
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/DefaultLib/LibServer.lua (100%)
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/DefaultLib/LibShared.lua (100%)
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/DefaultLib/Utils/Math.lua (100%)
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/DefaultLib/Utils/SteamApi.lua (100%)
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/DefaultLib/Utils/String.lua (100%)
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/DefaultLib/Utils/Util.lua (100%)
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/DefaultRegister/RegisterClient.lua (100%)
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/DefaultRegister/RegisterServer.lua (100%)
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/DefaultRegister/RegisterShared.lua (100%)
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/LuaSetup.lua (100%)
create mode 100644 Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/LuaUserData.lua
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/ModLoader.lua (100%)
rename Barotrauma/BarotraumaShared/{ => LocalMods/LuaCsForBarotrauma}/Lua/PostSetup.lua (100%)
create mode 100644 Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/ModConfig.xml
create mode 100644 Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/filelist.xml
delete mode 100644 Barotrauma/BarotraumaShared/Lua/.vscode/launch.json
delete mode 100644 Barotrauma/BarotraumaShared/Lua/.vscode/settings.json
delete mode 100644 Barotrauma/BarotraumaShared/Lua/Content/ModConfig.xml
delete mode 100644 Barotrauma/BarotraumaShared/Lua/Content/Schemas/IModConfig.xsd
diff --git a/Barotrauma/BarotraumaShared/Lua/CompatibilityLib.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/CompatibilityLib.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/CompatibilityLib.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/CompatibilityLib.lua
diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultHook.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultHook.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/DefaultHook.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultHook.lua
diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultLib/LibClient.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/LibClient.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/DefaultLib/LibClient.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/LibClient.lua
diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultLib/LibServer.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/LibServer.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/DefaultLib/LibServer.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/LibServer.lua
diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultLib/LibShared.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/LibShared.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/DefaultLib/LibShared.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/LibShared.lua
diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultLib/Utils/Math.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/Utils/Math.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/DefaultLib/Utils/Math.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/Utils/Math.lua
diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultLib/Utils/SteamApi.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/Utils/SteamApi.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/DefaultLib/Utils/SteamApi.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/Utils/SteamApi.lua
diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultLib/Utils/String.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/Utils/String.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/DefaultLib/Utils/String.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/Utils/String.lua
diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultLib/Utils/Util.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/Utils/Util.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/DefaultLib/Utils/Util.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/Utils/Util.lua
diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultRegister/RegisterClient.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultRegister/RegisterClient.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/DefaultRegister/RegisterClient.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultRegister/RegisterClient.lua
diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultRegister/RegisterServer.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultRegister/RegisterServer.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/DefaultRegister/RegisterServer.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultRegister/RegisterServer.lua
diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultRegister/RegisterShared.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultRegister/RegisterShared.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/DefaultRegister/RegisterShared.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/DefaultRegister/RegisterShared.lua
diff --git a/Barotrauma/BarotraumaShared/Lua/LuaSetup.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/LuaSetup.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/LuaSetup.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/LuaSetup.lua
diff --git a/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/LuaUserData.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/LuaUserData.lua
new file mode 100644
index 000000000..387fc7f2b
--- /dev/null
+++ b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/LuaUserData.lua
@@ -0,0 +1,97 @@
+local clrLuaUserData = LuaUserData
+local luaUserData = {}
+
+luaUserData.Descriptors = {}
+
+LuaSetup.LuaUserData = luaUserData
+
+luaUserData.IsRegistered = clrLuaUserData.IsRegistered
+luaUserData.UnregisterType = clrLuaUserData.UnregisterType
+luaUserData.RegisterGenericType = clrLuaUserData.RegisterGenericType
+luaUserData.RegisterExtensionType = clrLuaUserData.RegisterExtensionType
+luaUserData.UnregisterGenericType = clrLuaUserData.UnregisterGenericType
+luaUserData.IsTargetType = clrLuaUserData.IsTargetType
+luaUserData.TypeOf = clrLuaUserData.TypeOf
+luaUserData.GetType = clrLuaUserData.GetType
+luaUserData.CreateEnumTable = clrLuaUserData.CreateEnumTable
+luaUserData.MakeFieldAccessible = clrLuaUserData.MakeFieldAccessible
+luaUserData.MakeMethodAccessible = clrLuaUserData.MakeMethodAccessible
+luaUserData.MakePropertyAccessible = clrLuaUserData.MakePropertyAccessible
+luaUserData.AddMethod = clrLuaUserData.AddMethod
+luaUserData.AddField = clrLuaUserData.AddField
+luaUserData.RemoveMember = clrLuaUserData.RemoveMember
+luaUserData.CreateUserDataFromDescriptor = clrLuaUserData.CreateUserDataFromDescriptor
+luaUserData.CreateUserDataFromType = clrLuaUserData.CreateUserDataFromType
+luaUserData.HasMember = clrLuaUserData.HasMember
+
+luaUserData.RegisterType = function(typeName)
+ local success, result = pcall(clrLuaUserData.RegisterType, typeName)
+
+ if not success then
+ error(result, 2)
+ end
+
+ luaUserData.Descriptors[typeName] = result
+
+ return result
+end
+
+luaUserData.RegisterTypeBarotrauma = function(typeName)
+ typeName = "Barotrauma." .. typeName
+ local success, result = pcall(luaUserData.RegisterType, typeName)
+
+ if not success then
+ error(result, 2)
+ end
+
+ return result
+end
+
+luaUserData.AddCallMetaTable = function (userdata)
+ if userdata == nil then
+ error("Attempted to add a call metatable to a nil value.", 2)
+ end
+
+ if not LuaUserData.HasMember(userdata, ".ctor") then
+ error("Attempted to add a call metatable to a userdata that does not have a constructor.", 2)
+ end
+
+ debug.setmetatable(userdata, {
+ __call = function(obj, ...)
+ if userdata == nil then
+ error("userdata was nil.", 2)
+ end
+
+ local success, result = pcall(userdata.__new, ...)
+
+
+ if not success then
+ error(result, 2)
+ end
+
+ return result
+ end
+ })
+end
+
+luaUserData.CreateStatic = function(typeName)
+ if type(typeName) ~= "string" then
+ error("Expected a string for typeName, got " .. type(typeName) .. ".", 2)
+ end
+
+ local success, result = pcall(clrLuaUserData.CreateStatic, typeName)
+
+ if not success then
+ error(result, 2)
+ end
+
+ if result == nil then
+ return
+ end
+
+ if LuaUserData.HasMember(result, ".ctor") then
+ luaUserData.AddCallMetaTable(result)
+ end
+
+ return result
+end
\ No newline at end of file
diff --git a/Barotrauma/BarotraumaShared/Lua/ModLoader.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/ModLoader.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/ModLoader.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/ModLoader.lua
diff --git a/Barotrauma/BarotraumaShared/Lua/PostSetup.lua b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/PostSetup.lua
similarity index 100%
rename from Barotrauma/BarotraumaShared/Lua/PostSetup.lua
rename to Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/Lua/PostSetup.lua
diff --git a/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/ModConfig.xml b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/ModConfig.xml
new file mode 100644
index 000000000..e74277984
--- /dev/null
+++ b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/ModConfig.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/filelist.xml b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/filelist.xml
new file mode 100644
index 000000000..4a679f48e
--- /dev/null
+++ b/Barotrauma/BarotraumaShared/LocalMods/LuaCsForBarotrauma/filelist.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/Barotrauma/BarotraumaShared/Lua/.vscode/launch.json b/Barotrauma/BarotraumaShared/Lua/.vscode/launch.json
deleted file mode 100644
index bd4a5a056..000000000
--- a/Barotrauma/BarotraumaShared/Lua/.vscode/launch.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "version": "0.2.0",
- "configurations": [
- {
- "name": "MoonSharp Attach",
- "type": "moonsharp-debug",
- "debugServer": 41912,
- "request": "attach"
- }
- ]
-}
\ No newline at end of file
diff --git a/Barotrauma/BarotraumaShared/Lua/.vscode/settings.json b/Barotrauma/BarotraumaShared/Lua/.vscode/settings.json
deleted file mode 100644
index 237e6445e..000000000
--- a/Barotrauma/BarotraumaShared/Lua/.vscode/settings.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "Lua.diagnostics.globals": [
- "Game",
- "Player",
- "Random",
- "Hook",
- "Timer",
- "bit32",
- "TotalTime",
- "DoFile",
- "WayPoint",
- "SpawnType",
- "Level",
- "Submarine",
- "Vector2",
- "PositionType",
- "ServerLog_MessageType",
- "Character",
- "TraitorMessageType",
- "ChatMessageType",
- "CauseOfDeathType",
- "CreateVector2",
- "Item",
- "ChatMessage",
- "AfflictionPrefab",
- "Gap",
- "File",
- "Networking",
- "printNoLog",
- "Client",
- "SERVER",
- "setmodulepaths",
- "Type",
- "BindingFlags",
- "UserData",
- "LuaUserData",
- "CLIENT",
- "ContentPackageManager"
- ]
-}
\ No newline at end of file
diff --git a/Barotrauma/BarotraumaShared/Lua/Content/ModConfig.xml b/Barotrauma/BarotraumaShared/Lua/Content/ModConfig.xml
deleted file mode 100644
index e69de29bb..000000000
diff --git a/Barotrauma/BarotraumaShared/Lua/Content/Schemas/IModConfig.xsd b/Barotrauma/BarotraumaShared/Lua/Content/Schemas/IModConfig.xsd
deleted file mode 100644
index 1908c9960..000000000
--- a/Barotrauma/BarotraumaShared/Lua/Content/Schemas/IModConfig.xsd
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-