Provides way too many utilities for mod developers.
The main idea for this came from creating Qounters++ and its API, and felt like many of the statistics and events it provided could be useful without needing any ties to Qounters++ itself. From there, I thought of every bit of reused code across mods I had, and inter-mod communications I could facilitate, and now we're here.
For easier updates, and the likely never to be realized idea of using this for other games, all Beat Saber specific utilities are now in MetaCoreBS.
This is just the general idea for each header file with the general contents to expect for each. Documentation for specific functions and variables can be found in the files themselves. There is also more in MetaCoreBS.
Automatically includes any assets in the top-level assets directory of your project into the compiled object file. Use by adding this to your CMakeLists.txt:
include(extern/includes/metacore/shared/assets.cmake)Provides definitions and utilities for assets included using the cmake script.
Improves on BSML's delegate helpers to make even easier (less verbose) delegate creation, specifically around lambdas.
Provides experimental utilities and wrappers for Il2Cpp types.
Allows easier and less verbose use of java and JNI functions.
Provides some base types used in java.hpp, with more detailed documentation in their use.
Defines two potentially useful std::map wrappers for different types of data access and storage.
Provides magic macros that make operators usable on cordl types. (Credit to Qwasyx.)
Provides various functions to enhance working with Unity Components, Transforms, Quaternions, and other objects. Namespace is named Engine instead of Unity to avoid collisions.