Skip to content

Commit 2cc9205

Browse files
authored
Update README.md
1 parent 316978c commit 2cc9205

1 file changed

Lines changed: 41 additions & 35 deletions

File tree

README.md

Lines changed: 41 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,44 @@
1-
# CathodeLib
1+
<img src="https://i.imgur.com/TZNGZVA.jpg" width="100%">
22

3-
An open source library providing functionality to parse and write various formats from the Cathode engine, used for modding Alien: Isolation.
3+
# CathodeLib - Alien: Isolation C# Library
44

5-
- For scripting:
6-
- `CATHODE.Commands` handles `COMMANDS.PAK` files (for scripting)
7-
- The file consists of `Composite` scripts which hold various `Entity` types for logic
8-
- `FunctionEntity` = functions which execute functionality, with parameters and links to child `Entity` objects
9-
- `VariableEntity` = variables which can be used externally as parameters on an instanced `Composite` via a `FunctionEntity`
10-
- `ProxyEntity` = a proxy of a `FunctionEntity` within another `Composite`, useful for acting on events in another composite
11-
- `OverrideEntity` = an override of a parameter value on an entity within an instanced `Composite` in this `Composite`
5+
### CathodeLib is an open source library providing functionality to parse and write various formats from the Cathode game engine, for modding Alien: Isolation. Used to power [OpenCAGE](https://github.com/MattFiler/OpenCAGE)!
6+
7+
Available as a [NuGet package](https://www.nuget.org/packages/CathodeLib/), or alternatively just include this repo as a submodule in your project!
8+
9+
---
10+
11+
## For scripting:
12+
- `CATHODE.Commands` handles `COMMANDS.PAK` files (for scripting)
13+
- The file consists of `Composite` scripts which hold various `Entity` types for logic
14+
- `FunctionEntity` = functions which execute functionality, with parameters and links to child `Entity` objects
15+
- `VariableEntity` = variables which can be used externally as parameters on an instanced `Composite` via a `FunctionEntity`
16+
- `ProxyEntity` = a proxy of a `FunctionEntity` within another `Composite`, useful for acting on events in another composite
17+
- `OverrideEntity` = an override of a parameter value on an entity within an instanced `Composite` in this `Composite`
1218

13-
- For assets:
14-
- `CATHODE.Assets.PAK2` handles `UI.PAK` and `ANIMATIONS.PAK` files
15-
- `CATHODE.Assets.Models` handles `LEVEL_MODELS.PAK` files, paired with a `MODELS_LEVEL.BIN`
16-
- `CATHODE.Assets.Textures` handles `LEVEL_TEXTURES.ALL.PAK` files, paired with a `LEVEL_TEXTURE_HEADERS.ALL.BIN`
17-
- `CATHODE.Assets.MaterialMapping` handles `MATERIAL_MAPPINGS.PAK` files
18-
- `CATHODE.Assets.Shaders` handles various `SHADERS` `PAK` files
19-
20-
- For level data and mappings:
21-
- `CATHODE.MoverDatabase` handles `MODELS.MVR` files
22-
- `CATHODE.RenderableElementsDatabase` handles `REDS.BIN` files
23-
- `CATHODE.ResourcesDatabase` handles `RESOURCES.BIN` files
24-
- `CATHODE.MaterialDatabase` handles `MODELS.MTL` files
25-
- `CATHODE.EnvironmentMapDatabase` handles `ENVIRONMENTMAP.BIN` files
26-
- `CATHODE.EnvironmentAnimationDatabase` handles `ENVIRONMENT_ANIMATION.DAT` files
27-
- `CATHODE.PhysicsMapDatabase` handles `PHYSICS.MAP` files
28-
- `CATHODE.CollisionMapDatabase` handles `COLLISION.MAP` files
29-
- `CATHODE.AnimationStringDatabase` handles `ANIM_STRING_DB.BIN` and `ANIM_STRING_DB_DEBUG.BIN` files
30-
- `CATHODE.NavigationMesh` handles `NAV_MESH` files
31-
32-
- For configurations:
33-
- `CATHODE.BML` handles any `.BML` files
34-
- Get/set content as an `XmlDocument` via `BML.Content`
35-
36-
- For saves:
37-
- `CATHODE.ProgressionSave` handles `PROGRESSION.AIS` files
38-
- `CATHODE.MissionSave` handles `PROGRESSION.AIS` files
19+
## For assets:
20+
- `CATHODE.Assets.PAK2` handles `UI.PAK` and `ANIMATIONS.PAK` files
21+
- `CATHODE.Assets.Models` handles `LEVEL_MODELS.PAK` files, paired with a `MODELS_LEVEL.BIN`
22+
- `CATHODE.Assets.Textures` handles `LEVEL_TEXTURES.ALL.PAK` files, paired with a `LEVEL_TEXTURE_HEADERS.ALL.BIN`
23+
- `CATHODE.Assets.MaterialMapping` handles `MATERIAL_MAPPINGS.PAK` files
24+
- `CATHODE.Assets.Shaders` handles various `SHADERS` `PAK` files
25+
26+
## For level data and mappings:
27+
- `CATHODE.MoverDatabase` handles `MODELS.MVR` files
28+
- `CATHODE.RenderableElementsDatabase` handles `REDS.BIN` files
29+
- `CATHODE.ResourcesDatabase` handles `RESOURCES.BIN` files
30+
- `CATHODE.MaterialDatabase` handles `MODELS.MTL` files
31+
- `CATHODE.EnvironmentMapDatabase` handles `ENVIRONMENTMAP.BIN` files
32+
- `CATHODE.EnvironmentAnimationDatabase` handles `ENVIRONMENT_ANIMATION.DAT` files
33+
- `CATHODE.PhysicsMapDatabase` handles `PHYSICS.MAP` files
34+
- `CATHODE.CollisionMapDatabase` handles `COLLISION.MAP` files
35+
- `CATHODE.AnimationStringDatabase` handles `ANIM_STRING_DB.BIN` and `ANIM_STRING_DB_DEBUG.BIN` files
36+
- `CATHODE.NavigationMesh` handles `NAV_MESH` files
37+
38+
## For configurations:
39+
- `CATHODE.BML` handles any `.BML` files
40+
- Get/set content as an `XmlDocument` via `BML.Content`
41+
42+
## For saves:
43+
- `CATHODE.ProgressionSave` handles `PROGRESSION.AIS` files
44+
- `CATHODE.MissionSave` handles `PROGRESSION.AIS` files

0 commit comments

Comments
 (0)