1- <img src =" http ://mattfiler.co.uk/cathodelib.jpg " width =" 100% " >
1+ <img src =" https ://github.com/user-attachments/assets/212954ff-1cb3-4ab0-942b-2e21ea86755f " width =" 100% " / >
22
33# CathodeLib - Alien: Isolation C# Library
44
@@ -24,14 +24,14 @@ Note: in debug mode the parsers will all fail hard, however in release mode all
2424 - This is a A16B16G16R16F image with a specified resolution, baking alpha light data for the level
2525- ` CATHODE.AnimationStrings ` handles ` ANIM_STRING_DB.BIN ` and ` ANIM_STRING_DB_DEBUG.BIN ` files within `ANIMATION.PAK
2626 - This is a database of hashed animation-related strings, and their associated hashes
27- - ` CATHODE.GlobalAnimClipDB ` handles ` ANIM_CLIP_DB.BIN ` files within ` ANIMATION.PAK `
28- - This is a database of animation clips (WIP)
2927- ` CATHODE.AnimClipDB ` handles ` ANIM_CLIP_DB.BIN ` files within ` ANIMATION.PAK `
3028 - This is a database of animation clips available by character type (WIP)
3129- ` CATHODE.AnimClipDBSec ` handles ` ANIM_CLIP_DB_SEC_*.BIN ` files within ` ANIMATION.PAK `
3230 - This is a database of animation clips available by character type (WIP)
3331- ` CATHODE.AnimTreeDb ` handles ` ANIM_TREE_DB.BIN ` files within ` ANIMATION.PAK `
3432 - This is a database of animation trees available by character type (WIP)
33+ - ` CATHODE.BehaviorTreeDB ` handles level ` WORLD/BEHAVIOR_TREE.DB ` files
34+ - This is a database of top-level behaviour trees used by characters
3535- ` CATHODE.BML ` handles any ` .BML ` files
3636 - Get/set content as an ` XmlDocument ` via ` BML.Content `
3737- ` CATHODE.CharacterAccessorySets ` handles level ` WORLD/CHARACTERACCESSORYSETS.BIN ` files
@@ -47,6 +47,8 @@ Note: in debug mode the parsers will all fail hard, however in release mode all
4747 - `ProxyEntity` = a proxy of a `FunctionEntity` within another `Composite`, useful for acting on events in another composite
4848 - `OverrideEntity` = an override of a parameter value on an entity within an instanced `Composite` in this `Composite`
4949 - A `Utils` member provides various utilities for working with Commands data via data tables appended to the saved file
50+ - ` CATHODE.Cover ` handles level ` WORLD/STATE_*/COVER ` files
51+ - This contains the cover grid for a level used by NPCs
5052- ` CATHODE.CustomCharacterAssetData ` handles the ` CHR_INFO/CUSTOMCHARACTERASSETDATA.BIN ` file
5153 - This defines the tints and decals that character asset types use
5254- ` CATHODE.CustomCharacterConstrainedComponents ` handles the ` CHR_INFO/CUSTOMCHARACTERCONSTRAINEDCOMPONENTS.BIN ` file
@@ -55,12 +57,16 @@ Note: in debug mode the parsers will all fail hard, however in release mode all
5557 - This defines base character presets, including skeletons and accessories
5658- ` CATHODE.EnvironmentAnimations ` handles level ` WORLD/ENVIRONMENT_ANIMATION.DAT ` files
5759 - This defines environmental animation data (WIP)
58- - ` CATHODE.EnvironmentMaps ` handles level ` WORLD/ENVIRONMENTMAP.BIN ` files
59- - This maps instanced entities with environment map textures
60+ - ` CATHODE.GalaxyDefinition ` handles level ` WORLD/GALAXY/GALAXY.DEFINITION_BIN ` files
61+ - This is a definition file used to define the generation of `GalaxyItems`
62+ - ` CATHODE.GalaxyItems ` handles level ` WORLD/GALAXY/GALAXY.ITEMS_BIN ` files
63+ - This is a collection of items to form the stars in the galaxy, defined by `GalaxyDefinition`
64+ - ` CATHODE.GlobalAnimClipDB ` handles ` ANIM_CLIP_DB.BIN ` files within ` ANIMATION.PAK `
65+ - This is a database of animation clips (WIP)
6066- ` CATHODE.Lights ` handles level ` WORLD/LIGHTS.BIN ` files
6167 - This defines various lighting data for instanced entities (although, modifying it appears to have no visual impact)
6268- ` CATHODE.MaterialMappings ` handles level ` WORLD/MATERIAL_MAPPINGS.PAK ` files
63- - This defines material remappings, used for modifying materials on instanced entities (WIP)
69+ - This defines material remappings, used for modifying materials on instanced entities
6470- ` CATHODE.Materials ` handles level ` RENDERABLE/LEVEL_MODELS.MTL ` & ` LEVEL_MODELS.CST ` files
6571 - This defines material data, including texture pointers and constant buffers (WIP)
6672- ` CATHODE.EXPERIMENTAL.MissionSave ` handles ` *.AIS ` files
@@ -71,7 +77,7 @@ Note: in debug mode the parsers will all fail hard, however in release mode all
7177 - This defines morph data for faces (WIP)
7278- ` CATHODE.Movers ` handles level ` WORLD/MODELS.MVR ` files
7379 - This defines instance specific info for entities, including constant buffers and renderables (WIP)
74- - ` CATHODE.EXPERIMENTAL. NavigationMesh ` handles level ` WORLD/STATE_*/NAV_MESH ` files
80+ - ` CATHODE.NavigationMesh ` handles level ` WORLD/STATE_*/NAV_MESH ` files
7581 - This contains the navmesh for the level state, with associated properties (WIP)
7682- ` CATHODE.PAK2 ` handles ` UI.PAK ` and ` ANIMATIONS.PAK ` files
7783 - This allows parsing of the PAK2 archive format, containing embedded files
@@ -87,6 +93,8 @@ Note: in debug mode the parsers will all fail hard, however in release mode all
8793 - This defines all renderable elements in a level - a model index with associated material index and count
8894- ` CATHODE.Resources ` handles level ` WORLD/RESOURCES.BIN ` files
8995 - This defines all available resources within the level
96+ - ` CATHODE.SelectionOverlayParams ` handles the ` SELECTIONOVERLAYPARAMS.BIN ` file
97+ - This defines various properties for the overlay effect applied to highlighted models
9098- ` CATHODE.Shaders ` handles level ` RENDERABLE/LEVEL_SHADERS_DX11.PAK ` & ` LEVEL_SHADERS_DX11_BIN.PAK ` & ` LEVEL_SHADERS_DX11_IDX_REMAP.PAK ` files
9199 - This defines all shaders within the level and additional metadata (WIP)
92100- ` CATHODE.SkeleDB ` handles the ` ANIM_SYS/SKELE/DB.BIN ` file within ` ANIMATION.PAK `
@@ -99,18 +107,16 @@ Note: in debug mode the parsers will all fail hard, however in release mode all
99107 - This defines all reverb types that are used within the level
100108- ` CATHODE.SoundEventData ` handles level ` WORLD/SOUNDEVENTDATA.DAT ` files
101109 - This defines all sound events available to be utilised within the game
102- - ` CATHODE.SoundFlashModels ` handles level ` WORLD/SOUNDFLASHMODELS.DAT ` files
103- - This maps flash texture resource IDs with the model IDs that use them within the level
104- - ` CATHODE.SoundLoadZones ` handles level ` WORLD/SOUNDLOADZONES.DAT ` files
105- - This specifies all soundbanks that are used within the level
106110- ` CATHODE.SoundNodeNetwork ` handles level ` WORLD/SOUNDNODENETWORK.DAT ` files
107111 - This defines the layout of the sound node network within the level, used for sound propagation
108112- ` CATHODE.TextDB ` handles ` *.TXT ` files within ` TEXT ` directories
109113 - This defines a database of subtitles, which are saved per language
110114- ` CATHODE.Textures ` handles level ` WORLD/LEVEL_TEXTURES.ALL.PAK ` & ` LEVEL_TEXTURE_HEADERS.ALL.BIN ` files
111115 - This contains all textures used within the level with additional metadata
112- - ` CATHODE.EXPERIMENTAL.Traversals ` handles level ` WORLD/STATE_*/TRAVERSAL ` files
113- - This contains traversal metadata for the level (WIP)
116+
117+ 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.
118+
119+ Various utilities are also available via the ` Utilities ` class, for example, loading a level easily via ` Utilities.LoadLevel ` .
114120
115121Check out a full overview of the Commands structure [ on the Wiki] ( https://github.com/OpenCAGE/CathodeLib/wiki/Cathode-scripting-overview ) , and follow [ this handy guide] ( https://github.com/OpenCAGE/CathodeLib/wiki/Creating-your-first-Cathode-script ) to create your first script!
116122
0 commit comments