Releases: sc2ad/beatsaber-hook
Fix include path, add visibility macro
v3.0.6 Updated qpm.json
Xref visibility fix
v3.0.5 Updated qpm.json
Make typedefs-array.hpp standalone
v3.0.4 Updated qpm.json
Update ArrayWrapper --> ArrayW, make array typedefs standalone
v3.0.3 Updated qpm.json
Add new features
Use ndk-r23/clang 12
Capstone for disassembly
Remove HookTracker::InstructionGetOrig
Remove createcsstr
Use wrappers around method pointers for il2cpp-functions.hpp
for avoiding pc 0
Support virtual invokes, different il2cpp versions for RunMethodThrow
for boxing value types
Remove logging for MakeGeneric
Perform proper conversion checks for finding methods
ArrayWrapper
conversions to Ptr
and Il2CppArray*
MakeDelegate
now has overloads without an Il2CppClass*
parameter
TODO: Use source_location for logging proper
TODO: Ensure no regression with capstone
TODO: Ensure value type invokes behave as intended
TODO: More reference wrappers for better semantics but without pointer invalidity (consider hiding things within types that expose references only)
TODO: Codegen to use virtual invokes
Fix for assertions
v3.0.1 Updated qpm.json
API Changes + Instance invokes
- Changed
il2cpp_functions
API to be more 0 pc safe - Swapped to capstone (TODO: Does this regress?)
- Changed up instance value type invokes to avoid needlessly boxing
- Now uses NDK R23
- Allows
RunMethodThrow
for specified method pointer (meant for virtual invokes) MakeGeneric
log lines are gone
TODOS:
- TODO: Use source_location for logging proper
- TODO: Ensure no regression with capstone
- TODO: Ensure value type invokes behave as intended
- TODO: More reference wrappers for better semantics but without pointer invalidity (consider hiding things within types that expose references only)
- TODO: Codegen to use virtual invokes
- TODO: Codegen to use
ArrayWrapper<T>
Update for better MakeDelegate support
v2.3.2 Updated qpm.json
Fixes for functional extraction of classes
Still need to actually fix type inheritance
Add gc-allocator, ArrayWrapper, ListWrapper changes
This release adds gc-allocator and properly exposes (near) complete ArrayWrapper<T, Ptr>
type for non-pointer semantics. Also provides a simple ListWrapper<T, Ptr>
for further improvement in the future.
gc-allocator
is located in gc-alloc.hpp
, other types will be included when you include typedefs.h