Skip to content

Commit 188fff4

Browse files
authored
Update README.md
1 parent 6e687f4 commit 188fff4

1 file changed

Lines changed: 19 additions & 13 deletions

File tree

README.md

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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

115121
Check 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

Comments
 (0)