Improved docs: Enums are now automatically generated

This commit is contained in:
EvilFactory
2023-02-16 13:51:35 -03:00
parent 757998a1e4
commit 8d745e3e6b
11 changed files with 45 additions and 588 deletions

View File

@@ -1,39 +0,0 @@
--[[--
CauseOfDeathType enum.
]]
-- @enum CauseOfDeathType
---
-- CauseOfDeathType.Unknown = 0
-- @realm shared
-- @number CauseOfDeathType.Unknown
---
-- CauseOfDeathType.Pressure = 1
-- @realm shared
-- @number CauseOfDeathType.Pressure
---
-- CauseOfDeathType.Suffocation = 2
-- @realm shared
-- @number CauseOfDeathType.Suffocation
---
-- CauseOfDeathType.Drowning = 3
-- @realm shared
-- @number CauseOfDeathType.Drowning
---
-- CauseOfDeathType.Drowning = 3
-- @realm shared
-- @number CauseOfDeathType.Drowning
---
-- CauseOfDeathType.Affliction = 4
-- @realm shared
-- @number CauseOfDeathType.Affliction
---
-- CauseOfDeathType.Disconnected = 5
-- @realm shared
-- @number CauseOfDeathType.Disconnected

View File

@@ -1,64 +0,0 @@
--[[--
ChatMessageType enum.
]]
-- @enum ChatMessageType
---
-- ChatMessageType.Default = 0
-- @realm shared
-- @number ChatMessageType.Default
---
-- ChatMessageType.Error = 1
-- @realm shared
-- @number ChatMessageType.Error
---
-- ChatMessageType.Dead = 2
-- @realm shared
-- @number ChatMessageType.Dead
---
-- ChatMessageType.Server = 3
-- @realm shared
-- @number ChatMessageType.Server
---
-- ChatMessageType.Radio = 4
-- @realm shared
-- @number ChatMessageType.Radio
---
-- ChatMessageType.Private = 5
-- @realm shared
-- @number ChatMessageType.Private
---
-- ChatMessageType.Console = 6
-- @realm shared
-- @number ChatMessageType.Console
---
-- ChatMessageType.MessageBox = 7
-- @realm shared
-- @number ChatMessageType.MessageBox
---
-- ChatMessageType.Order = 8
-- @realm shared
-- @number ChatMessageType.Order
---
-- ChatMessageType.ServerLog = 9
-- @realm shared
-- @number ChatMessageType.ServerLog
---
-- ChatMessageType.ServerMessageBox = 10
-- @realm shared
-- @number ChatMessageType.ServerMessageBox
---
-- ChatMessageType.ServerMessageBoxInGame = 11
-- @realm shared
-- @number ChatMessageType.ServerMessageBoxInGame

View File

@@ -1,105 +0,0 @@
--[[--
ClientPermissions enum.
]]
-- @enum ClientPermissions
---
-- ClientPermissions.None = 0x0
-- @realm shared
-- @number ClientPermissions.None
---
-- ClientPermissions.None = 0x0
-- @realm shared
-- @number ClientPermissions.None
---
-- ClientPermissions.ManageRound = 0x1
-- @realm shared
-- @number ClientPermissions.ManageRound
---
-- ClientPermissions.Kick = 0x2
-- @realm shared
-- @number ClientPermissions.Kick
---
-- ClientPermissions.Ban = 0x4
-- @realm shared
-- @number ClientPermissions.Ban
---
-- ClientPermissions.Unban = 0x8
-- @realm shared
-- @number ClientPermissions.Unban
---
-- ClientPermissions.SelectSub = 0x10
-- @realm shared
-- @number ClientPermissions.SelectSub
---
-- ClientPermissions.SelectMode = 0x20
-- @realm shared
-- @number ClientPermissions.SelectMode
---
-- ClientPermissions.ManageCampaign = 0x40
-- @realm shared
-- @number ClientPermissions.ManageCampaign
---
-- ClientPermissions.ConsoleCommands = 0x80
-- @realm shared
-- @number ClientPermissions.ConsoleCommands
---
-- ClientPermissions.ServerLog = 0x100
-- @realm shared
-- @number ClientPermissions.ServerLog
---
-- ClientPermissions.ManageSettings = 0x200
-- @realm shared
-- @number ClientPermissions.ManageSettings
---
-- ClientPermissions.ManagePermissions = 0x400
-- @realm shared
-- @number ClientPermissions.ManagePermissions
---
-- ClientPermissions.KarmaImmunity = 0x800
-- @realm shared
-- @number ClientPermissions.KarmaImmunity
---
-- ClientPermissions.ManageMoney = 0x1000
-- @realm shared
-- @number ClientPermissions.ManageMoney
---
-- ClientPermissions.SellInventoryItems = 0x2000
-- @realm shared
-- @number ClientPermissions.SellInventoryItems
---
-- ClientPermissions.SellSubItems = 0x4000
-- @realm shared
-- @number ClientPermissions.SellSubItems
---
-- ClientPermissions.ManageMap = 0x8000
-- @realm shared
-- @number ClientPermissions.ManageMap
---
-- ClientPermissions.ManageHires = 0x10000
-- @realm shared
-- @number ClientPermissions.ManageHires
---
-- ClientPermissions.All = 0x1FFF
-- @realm shared
-- @number ClientPermissions.All

View File

@@ -1,109 +0,0 @@
--[[--
DisconnectReason enum.
]]
-- @enum DisconnectReason
---
-- DisconnectReason.Unknown = 0
-- @realm shared
-- @number DisconnectReason.Unknown
---
-- DisconnectReason.Banned = 1
-- @realm shared
-- @number DisconnectReason.Banned
---
-- DisconnectReason.Kicked = 2
-- @realm shared
-- @number DisconnectReason.Kicked
---
-- DisconnectReason.ServerShutdown = 3
-- @realm shared
-- @number DisconnectReason.ServerShutdown
---
-- DisconnectReason.ServerCrashed = 4
-- @realm shared
-- @number DisconnectReason.ServerCrashed
---
-- DisconnectReason.ServerFull = 5
-- @realm shared
-- @number DisconnectReason.ServerFull
---
-- DisconnectReason.AuthenticationRequired = 6
-- @realm shared
-- @number DisconnectReason.AuthenticationRequired
---
-- DisconnectReason.SteamAuthenticationRequired = 7
-- @realm shared
-- @number DisconnectReason.SteamAuthenticationRequired
---
-- DisconnectReason.SteamAuthenticationFailed = 8
-- @realm shared
-- @number DisconnectReason.SteamAuthenticationFailed
---
-- DisconnectReason.SessionTaken = 9
-- @realm shared
-- @number DisconnectReason.SessionTaken
---
-- DisconnectReason.TooManyFailedLogins = 10
-- @realm shared
-- @number DisconnectReason.TooManyFailedLogins
---
-- DisconnectReason.NoName = 11
-- @realm shared
-- @number DisconnectReason.NoName
---
-- DisconnectReason.InvalidName = 12
-- @realm shared
-- @number DisconnectReason.InvalidName
---
-- DisconnectReason.NameTaken = 13
-- @realm shared
-- @number DisconnectReason.NameTaken
---
-- DisconnectReason.InvalidVersion = 14
-- @realm shared
-- @number DisconnectReason.InvalidVersion
---
-- DisconnectReason.MissingContentPackage = 15
-- @realm shared
-- @number DisconnectReason.MissingContentPackage
---
-- DisconnectReason.IncompatibleContentPackage = 16
-- @realm shared
-- @number DisconnectReason.IncompatibleContentPackage
---
-- DisconnectReason.NotOnWhitelist = 17
-- @realm shared
-- @number DisconnectReason.NotOnWhitelist
---
-- DisconnectReason.ExcessiveDesyncOldEvent = 18
-- @realm shared
-- @number DisconnectReason.ExcessiveDesyncOldEvent
---
-- DisconnectReason.ExcessiveDesyncRemovedEvent = 19
-- @realm shared
-- @number DisconnectReason.ExcessiveDesyncRemovedEvent
---
-- DisconnectReason.SyncTimeout = 20
-- @realm shared
-- @number DisconnectReason.SyncTimeout

View File

@@ -1,59 +0,0 @@
--[[--
InvSlotType enum.
]]
-- @enum InvSlotType
---
-- InvSlotType.None = 0
-- @realm shared
-- @number InvSlotType.None
---
-- InvSlotType.Any = 1
-- @realm shared
-- @number InvSlotType.Any
---
-- InvSlotType.RightHand = 2
-- @realm shared
-- @number InvSlotType.RightHand
---
-- InvSlotType.LeftHand = 4
-- @realm shared
-- @number InvSlotType.LeftHand
---
-- InvSlotType.Head = 8
-- @realm shared
-- @number InvSlotType.Head
---
-- InvSlotType.InnerClothes = 16
-- @realm shared
-- @number InvSlotType.InnerClothes
---
-- InvSlotType.OuterClothes = 32
-- @realm shared
-- @number InvSlotType.OuterClothes
---
-- InvSlotType.Headset = 64
-- @realm shared
-- @number InvSlotType.Headset
---
-- InvSlotType.Card = 128
-- @realm shared
-- @number InvSlotType.Card
---
-- InvSlotType.Bag = 256
-- @realm shared
-- @number InvSlotType.Bag
---
-- InvSlotType.HealthInterface = 512
-- @realm shared
-- @number InvSlotType.HealthInterface

View File

@@ -1,100 +0,0 @@
--[[--
LimbType enum.
]]
-- @enum LimbType
---
-- LimbType.None = 0
-- @realm shared
-- @number LimbType.None
---
-- LimbType.LeftHand = 1
-- @realm shared
-- @number LimbType.LeftHand
---
-- LimbType.RightHand = 2
-- @realm shared
-- @number LimbType.RightHand
---
-- LimbType.LeftArm = 3
-- @realm shared
-- @number LimbType.LeftArm
---
-- LimbType.RightArm = 4
-- @realm shared
-- @number LimbType.RightArm
---
-- LimbType.LeftForearm = 5
-- @realm shared
-- @number LimbType.LeftForearm
---
-- LimbType.RightForearm = 6
-- @realm shared
-- @number LimbType.RightForearm
---
-- LimbType.LeftLeg = 7
-- @realm shared
-- @number LimbType.LeftLeg
---
-- LimbType.RightLeg = 8
-- @realm shared
-- @number LimbType.RightLeg
---
-- LimbType.LeftFoot = 9
-- @realm shared
-- @number LimbType.LeftFoot
---
-- LimbType.RightFoot = 10
-- @realm shared
-- @number LimbType.RightFoot
---
-- LimbType.Head = 11
-- @realm shared
-- @number LimbType.Head
---
-- LimbType.Torso = 12
-- @realm shared
-- @number LimbType.Torso
---
-- LimbType.Tail = 13
-- @realm shared
-- @number LimbType.Tail
---
-- LimbType.Legs = 14
-- @realm shared
-- @number LimbType.Legs
---
-- LimbType.RightThigh = 15
-- @realm shared
-- @number LimbType.RightThigh
---
-- LimbType.LeftThigh = 16
-- @realm shared
-- @number LimbType.LeftThigh
---
-- LimbType.Waist = 17
-- @realm shared
-- @number LimbType.Waist
---
-- LimbType.Jaw = 18
-- @realm shared
-- @number LimbType.Jaw

View File

@@ -1,19 +0,0 @@
--[[--
RandSync enum.
]]
-- @enum RandSync
---
-- RandSync.Unsynced = -1
-- @realm shared
-- @number RandSync.Unsynced
---
-- RandSync.Server = 0
-- @realm shared
-- @number RandSync.Server
---
-- RandSync.ClientOnly = 1
-- @realm shared
-- @number RandSync.ClientOnly

View File

@@ -1,64 +0,0 @@
--[[--
ServerLogMessageType enum.
]]
-- @enum ServerLogMessageType
---
-- ServerLogMessageType.Chat = 0
-- @realm shared
-- @number ServerLogMessageType.Chat
---
-- ServerLogMessageType.ItemInteraction = 1
-- @realm shared
-- @number ServerLogMessageType.ItemInteraction
---
-- ServerLogMessageType.Inventory = 2
-- @realm shared
-- @number ServerLogMessageType.Inventory
---
-- ServerLogMessageType.Attack = 3
-- @realm shared
-- @number ServerLogMessageType.Attack
---
-- ServerLogMessageType.Spawning = 4
-- @realm shared
-- @number ServerLogMessageType.Spawning
---
-- ServerLogMessageType.Wiring = 5
-- @realm shared
-- @number ServerLogMessageType.Wiring
---
-- ServerLogMessageType.ServerMessage = 6
-- @realm shared
-- @number ServerLogMessageType.ServerMessage
---
-- ServerLogMessageType.ConsoleUsage = 7
-- @realm shared
-- @number ServerLogMessageType.ConsoleUsage
---
-- ServerLogMessageType.Money = 8
-- @realm shared
-- @number ServerLogMessageType.Money
---
-- ServerLogMessageType.Karma = 9
-- @realm shared
-- @number ServerLogMessageType.Karma
---
-- ServerLogMessageType.Talent = 10
-- @realm shared
-- @number ServerLogMessageType.Talent
---
-- ServerLogMessageType.Error = 11
-- @realm shared
-- @number ServerLogMessageType.Error

View File

@@ -1,29 +0,0 @@
--[[--
SpawnType enum.
]]
-- @enum SpawnType
---
-- SpawnType.Path = 0
-- @realm shared
-- @number SpawnType.Path
---
-- SpawnType.Human = 1
-- @realm shared
-- @number SpawnType.Human
---
-- SpawnType.Enemy = 2
-- @realm shared
-- @number SpawnType.Enemy
---
-- SpawnType.Cargo = 4
-- @realm shared
-- @number SpawnType.Cargo
---
-- SpawnType.Corpse = 8
-- @realm shared
-- @number SpawnType.Corpse

View File

@@ -528,6 +528,34 @@ local {type.Name} = {{}}".ReplaceLineEndings("\n");
File.WriteAllText(outFile, sb.ToString());
}
public static void GenerateEnum(Type enumType, string outFile, string realm = "shared")
{
StringBuilder sb = new StringBuilder();
sb.AppendLine($@"--[[--
{enumType.Name} enum.
]]
-- @enum {enumType.Name}");
sb.AppendLine();
FieldInfo[] fields = enumType.GetFields();
for (int i = 0; i < fields.Length; i++)
{
if (fields[i].Name.Equals("value__")) { continue; }
sb.AppendLine("---");
sb.AppendLine($"-- {enumType.Name}.{fields[i].Name} = {fields[i].GetRawConstantValue()}");
sb.AppendLine($"-- @realm {realm}");
sb.AppendLine($"-- @number {enumType.Name}.{fields[i].Name}");
sb.AppendLine();
}
new FileInfo(outFile).Directory.Create();
File.WriteAllText(outFile, sb.ToString());
}
public static void GenerateDocs(Type clientType, Type serverType, string baseFile, string outFile, string? categoryName = null)
{
categoryName ??= clientType.Name;

View File

@@ -24,6 +24,11 @@ namespace LuaDocsGenerator
{
DocsGenerator.GenerateDocs(clientType, serverType, $"{baseLuaDir}/{file}", $"{generatedDir}/{file}", categoryName);
}
private static void GenerateEnum<T>(string file, string realm = "shared")
{
DocsGenerator.GenerateEnum(typeof(T), $"{generatedDir}/{file}", realm);
}
static void Main(string[] args)
{
@@ -82,6 +87,18 @@ namespace LuaDocsGenerator
GenerateDocs<BarotraumaClient::Barotrauma.StructurePrefab, BarotraumaServer::Barotrauma.StructurePrefab>("StructurePrefab.lua");
GenerateDocs<BarotraumaClient::Barotrauma.PhysicsBody, BarotraumaServer::Barotrauma.PhysicsBody>("PhysicsBody.lua");
GenerateDocs<BarotraumaClient::Barotrauma.Limb, BarotraumaServer::Barotrauma.Limb>("Limb.lua");
GenerateEnum<BarotraumaClient.Barotrauma.CauseOfDeathType>("CauseOfDeathType.lua");
GenerateEnum<BarotraumaClient.Barotrauma.CharacterTeamType>("CharacterTeamType.lua");
GenerateEnum<BarotraumaClient.Barotrauma.Networking.ClientPermissions>("ClientPermissions.lua");
GenerateEnum<BarotraumaClient.Barotrauma.Networking.ChatMessageType>("ChatMessageType.lua");
GenerateEnum<BarotraumaClient.Barotrauma.InvSlotType>("InvSlotType.lua");
GenerateEnum<BarotraumaClient.Barotrauma.LimbType>("LimbType.lua");
GenerateEnum<BarotraumaClient.Barotrauma.Rand.RandSync>("RandSync.lua");
GenerateEnum<BarotraumaClient.Barotrauma.Networking.ServerLog.MessageType>("ServerLogMessageType.lua");
GenerateEnum<BarotraumaClient.Barotrauma.SpawnType>("SpawnType.lua");
GenerateEnum<BarotraumaClient.Barotrauma.Networking.DisconnectReason>("DisconnectReason.lua");
}
}
}