![]() |
VOOZH | about |
dotnet add package CathodeLib --version 0.12.2
NuGet\Install-Package CathodeLib -Version 0.12.2
<PackageReference Include="CathodeLib" Version="0.12.2" />
<PackageVersion Include="CathodeLib" Version="0.12.2" />Directory.Packages.props
<PackageReference Include="CathodeLib" />Project file
paket add CathodeLib --version 0.12.2
#r "nuget: CathodeLib, 0.12.2"
#:package CathodeLib@0.12.2
#addin nuget:?package=CathodeLib&version=0.12.2Install as a Cake Addin
#tool nuget:?package=CathodeLib&version=0.12.2Install as a Cake Tool
<img src="https://github.com/user-attachments/assets/212954ff-1cb3-4ab0-942b-2e21ea86755f" width="100%" />
Available as a NuGet package, or alternatively just include this repo as a submodule in your project!
All parsers inherit from a base CathodeFile class which provides:
Implementation flag, defining if the parser supports CREATE, LOAD, and/or SAVE functionality for the file. Parsers which support all three have the ability to generate files from scratch.Loaded bool, which is true if the parser has populated its values from a pre-existing file that it has loaded. If false, the parser is creating a new file on save.Filepath string, which is the filepath that the parser is using to either load or save the file.Save function, which will save the file out if the parser has the SAVE flag. This function can optionally be given a new filepath to save the file to. Returns false if saving fails.OnLoadBegin, OnLoadSuccess, OnSaveBegin, OnSaveSuccess which fire at load/save start and successful completion respectively, with the appropriate filepath as an arg.Most parsers provide access to the file's content via an Entries parameter, however this can vary per implementation.
Note: in debug mode the parsers will all fail hard, however in release mode all load/save calls are wrapped in try/catch statements.
CATHODE.AlphaLightLevel handles level WORLD/ALPHALIGHT_LEVEL.BIN files
CATHODE.AnimationStrings handles ANIM_STRING_DB.BIN and ANIM_STRING_DB_DEBUG.BIN files within `ANIMATION.PAK
CATHODE.AnimClipDB handles ANIM_CLIP_DB.BIN files within ANIMATION.PAK
CATHODE.AnimClipDBSec handles ANIM_CLIP_DB_SEC_*.BIN files within ANIMATION.PAK
CATHODE.AnimTreeDb handles ANIM_TREE_DB.BIN files within ANIMATION.PAK
CATHODE.BehaviorTreeDB handles level WORLD/BEHAVIOR_TREE.DB files
CATHODE.BML handles any .BML files
XmlDocument via BML.ContentCATHODE.CharacterAccessorySets handles level WORLD/CHARACTERACCESSORYSETS.BIN files
CATHODE.CollisionMaps handles level WORLD/COLLISION.MAP files
CATHODE.Collisions handles level WORLD/COLLISION.BIN files
CATHODE.Commands handles level WORLD/COMMANDS.PAK and/or WORLD/COMMANDS.BIN files
Composite scripts which hold various Entity types for logic
FunctionEntity = functions which execute functionality, with parameters and links to child Entity objectsVariableEntity = variables which can be used externally as parameters on an instanced Composite via a FunctionEntityProxyEntity = a proxy of a FunctionEntity within another Composite, useful for acting on events in another compositeOverrideEntity = an override of a parameter value on an entity within an instanced Composite in this CompositeUtils member provides various utilities for working with Commands data via data tables appended to the saved fileCATHODE.Cover handles level WORLD/STATE_*/COVER files
CATHODE.CustomCharacterAssetData handles the CHR_INFO/CUSTOMCHARACTERASSETDATA.BIN file
CATHODE.CustomCharacterConstrainedComponents handles the CHR_INFO/CUSTOMCHARACTERCONSTRAINEDCOMPONENTS.BIN file
CATHODE.CustomCharacterInfo handles the CHR_INFO/CUSTOMCHARACTERINFO.BIN file
CATHODE.EnvironmentAnimations handles level WORLD/ENVIRONMENT_ANIMATION.DAT files
CATHODE.GalaxyDefinition handles level WORLD/GALAXY/GALAXY.DEFINITION_BIN files
GalaxyItemsCATHODE.GalaxyItems handles level WORLD/GALAXY/GALAXY.ITEMS_BIN files
GalaxyDefinitionCATHODE.GlobalAnimClipDB handles ANIM_CLIP_DB.BIN files within ANIMATION.PAK
CATHODE.Lights handles level WORLD/LIGHTS.BIN files
CATHODE.MaterialMappings handles level WORLD/MATERIAL_MAPPINGS.PAK files
CATHODE.Materials handles level RENDERABLE/LEVEL_MODELS.MTL & LEVEL_MODELS.CST files
CATHODE.EXPERIMENTAL.MissionSave handles *.AIS files
CATHODE.Models handles level RENDERABLE/LEVEL_MODELS.PAK & MODELS_LEVEL.BIN files
CATHODE.MorphTargets handles level WORLD/MORPH_TARGET_DB.BIN files
CATHODE.Movers handles level WORLD/MODELS.MVR files
CATHODE.NavigationMesh handles level WORLD/STATE_*/NAV_MESH files
CATHODE.PAK2 handles UI.PAK and ANIMATIONS.PAK files
CATHODE.PathBarrierResources handles level WORLD/PATH_BARRIER_RESOURCES files
CATHODE.PhysicsMaps handles level WORLD/PHYSICS.MAP files
CATHODE.EXPERIMENTAL.ProgressionSave handles PROGRESSION.AIS files
CATHODE.RadiosityInstanceMap handles level RENDERABLE/RADIOSITY_INSTANCE_MAP.TXT files
CATHODE.RenderableElements handles level WORLD/REDS.BIN files
CATHODE.Resources handles level WORLD/RESOURCES.BIN files
CATHODE.SelectionOverlayParams handles the SELECTIONOVERLAYPARAMS.BIN file
CATHODE.Shaders handles level RENDERABLE/LEVEL_SHADERS_DX11.PAK & LEVEL_SHADERS_DX11_BIN.PAK & LEVEL_SHADERS_DX11_IDX_REMAP.PAK files
CATHODE.SkeleDB handles the ANIM_SYS/SKELE/DB.BIN file within ANIMATION.PAK
CATHODE.SoundBankData handles level WORLD/SOUNDBANKDATA.DAT files
CATHODE.SoundDialogueLookups handles level WORLD/SOUNDDIALOGUELOOKUPS.DAT files
CATHODE.SoundEnvironmentData handles level WORLD/SOUNDENVIRONMENTDATA.DAT files
CATHODE.SoundEventData handles level WORLD/SOUNDEVENTDATA.DAT files
CATHODE.SoundNodeNetwork handles level WORLD/SOUNDNODENETWORK.DAT files
CATHODE.TextDB handles *.TXT files within TEXT directories
CATHODE.Textures handles level WORLD/LEVEL_TEXTURES.ALL.PAK & LEVEL_TEXTURE_HEADERS.ALL.BIN files
Centralised classes are available for dealing with the data, such as Level which can handle loading all the files associated with a given level in a manageable way.
Various utilities are also available via the Utilities class, for example, loading a level easily via Utilities.LoadLevel.
Check out a full overview of the Commands structure on the Wiki, and follow this handy guide to create your first script!
<p align="center">CathodeLib is in no way related to (or endorsed by) Creative Assembly or SEGA.</p>
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 was computed. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 netcoreapp2.0 was computed. netcoreapp2.1 netcoreapp2.1 was computed. netcoreapp2.2 netcoreapp2.2 was computed. netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 netstandard2.0 is compatible. netstandard2.1 netstandard2.1 was computed. |
| .NET Framework | net461 net461 was computed. net462 net462 was computed. net463 net463 was computed. net47 net47 was computed. net471 net471 was computed. net472 net472 was computed. net48 net48 was computed. net481 net481 was computed. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen40 tizen40 was computed. tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.12.2 | 42 | 6/18/2026 |
| 0.12.1 | 42 | 6/18/2026 |
| 0.12.0 | 139 | 5/11/2026 |
| 0.11.2 | 158 | 2/25/2026 |
| 0.11.1 | 145 | 2/14/2026 |
| 0.11.0 | 148 | 1/25/2026 |
| 0.10.0 | 410 | 8/12/2025 |
| 0.9.1 | 396 | 7/15/2025 |
| 0.9.0 | 263 | 7/13/2025 |
| 0.8.3 | 408 | 5/13/2025 |
| 0.8.2 | 320 | 4/24/2025 |
| 0.8.1 | 251 | 3/29/2025 |
| 0.8.0 | 272 | 3/29/2025 |
| 0.7.2 | 248 | 3/22/2025 |
| 0.7.1 | 292 | 10/24/2024 |
| 0.7.0 | 291 | 10/24/2024 |
| 0.6.0 | 450 | 2/7/2024 |
| 0.5.1 | 763 | 8/3/2023 |
| 0.5.0 | 801 | 4/24/2023 |
| 0.4.0 | 808 | 3/7/2023 |