Skip to content

Releases: OpenCAGE/CathodeLib

CathodeLib 0.10.0

12 Aug 08:43

Choose a tag to compare

Available via NuGet: https://www.nuget.org/packages/CathodeLib/

  • Added ability to load all CathodeFile derivatives from MemoryStream (improves reading nested files, e.g. PAK2 contents)
  • Adjusted string reader encoding (fixes AnimationStrings parsing/writing)
  • Moved Entity lists within Composites to dictionaries to improve lookup performance (legacy accessors are available still in a list-style for backwards compatibility)
  • Reworked hierarchy resolving: new methods ResolveAlias, ResolveProxy, and ResolveAliasOrProxy are available within CommandsUtils - GetResolvedAsString can return it as a string similar to the previous ResolveHierarchy method's functionality
  • Modified composite purging logic for performance and reliability
  • ShortGuidUtils now only saves the custom name table to Commands if the Commands object has itself been saved
  • Fixed some metadata for Models and Textures
  • Implemented support for SoundNodeNetwork files

CathodeLib 0.9.1

15 Jul 18:35

Choose a tag to compare

Available via NuGet: https://www.nuget.org/packages/CathodeLib/

  • Fixed a casing issue with GLOBAL/PAUSEMENU Composite assignment when loading COMMANDS.BIN
  • Improved MATERIAL_MAPPING.PAK parser

CathodeLib 0.9.0

13 Jul 18:28

Choose a tag to compare

Available via NuGet: https://www.nuget.org/packages/CathodeLib/

  • Added support for loading/saving COMMANDS.BIN files with the Commands parser
  • Moved all Commands utilities to a local Utils member on the Commands object (aside from ShortGuidUtils, which remains accessible via a static class, and no longer requires using LinkCommands) - all utility metadata will now automatically load/save to Commands files
  • Added support for ALPHALIGHT_LEVEL.BIN, COLLISION.BIN, CUSTOMCHARACTERASSETDATA.BIN, RADIOSITY_INSTANCE_MAP.TXT files
  • Improved support for CHARACTERACCESSORYSETS.BIN, COLLISION.MAP, CUSTOMCHARACTERCONSTRAINEDCOMPONENTS.BIN, CUSTOMCHARACTERINFO.BIN, LIGHTS.BIN, MODELS_LEVEL.BIN/PAK, MODELS.MVR, REDS.BIN, SOUNDDIALOGUELOOKUPS.DAT, SOUNDEVENTDATA.DAT, SOUNDFLASHMODELS.DAT, SOUNDLOADZONES.DAT, LEVEL_TEXTURES.BIN/PAK files
  • Reworked embedded metadata to reduce library size - this is now loaded into CustomTable.Vanilla
  • Moved Combine method to ShortGuid from ShortGuidUtils
  • Added helpful Is/As members on ShortGuid to get the ShortGuid as various enum types (also, reworked enums to have values of their associated ShortGuids)
  • Fixed creation of entity parameters of unsupported types (defaults to cFloat)
  • Fixed GetResource function on FunctionEntity (no longer only returns COLLISION_MAPPING)
  • Improved support for CAGEAnimation and TriggerSequence special entity types
  • Removed dependency on Newtonsoft Json

CathodeLib 0.8.3

13 May 21:35

Choose a tag to compare

Available via NuGet: https://www.nuget.org/packages/CathodeLib/

  • Fixed random generation of ShortGuid for script-based mods

CathodeLib 0.8.2

24 Apr 19:18

Choose a tag to compare

Available via NuGet: https://www.nuget.org/packages/CathodeLib/

  • Renamed Strings parser to TextDB
  • Creating Parameter with unsupported type now falls back to cFloat
  • Populated more cEnumString types
  • Lots of edge case fixes for the new ParameterUtils utility
  • Fixed an offset issue with the PAK2 parser to fix ANIMATION.PAK loading
  • Fixed some Unity datatypes

CathodeLib 0.8.1

29 Mar 16:22

Choose a tag to compare

Available via NuGet: https://www.nuget.org/packages/CathodeLib/

Fixes writing of the new cEnumString type in Commands.

CathodeLib 0.8.0

29 Mar 11:21

Choose a tag to compare

Available via NuGet: https://www.nuget.org/packages/CathodeLib/

  • Added new functionality to CompositeUtils which allows for tracking VariableEntity pin type metadata
  • Removed default parameter population logic from EntityUtils, replacing it with a new ParameterUtils class which provides improved metadata for entities and parameters, and functionality to create the default data if appropriate
  • Correctly formatted Composite paths can be enabled by setting UsePrettyPaths before loading a Commands
  • Removed ability to auto populate parameters when creating an Entity - this can now be done after creation using ParameterUtils
  • Added a new ENUM_STRING datatype which can be used to track strings which act as ENUM values (see Lists)
  • Most enum values can now be looked up to their ShortGuid value to save additional checks
  • Various other minor improvements for efficiency

CathodeLib 0.7.2

22 Mar 09:47

Choose a tag to compare

Available via NuGet: https://www.nuget.org/packages/CathodeLib/

  • Added a utility to generate hashed Wwise strings (SoundHashedString)
  • Deprecated the CloneObject utility
  • Fixed an issue with shared cSpline parameter data in Commands

CathodeLib 0.7.1

24 Oct 16:39

Choose a tag to compare

Available via NuGet: https://www.nuget.org/packages/CathodeLib/

Hotfix to fix alias checksum generation in v0.7.0

CathodeLib 0.7.0

24 Oct 13:49

Choose a tag to compare

Full Changelog: v0.6.0...v0.7.0

Available via NuGet: https://www.nuget.org/packages/CathodeLib/

Highlights:

  • Renamed CommandsEntityReference objects to EntityHandle
  • Improved performance of Composite instance ID generation
  • Added ability to generate Zone IDs
  • Various new utilities and helper functions
  • Work in progress improving instanced resource data
  • Various new WIP parsers