Skip to content

Releases: sc2ad/beatsaber-hook

Fix include path, add visibility macro

01 Oct 02:15
Compare
Choose a tag to compare
v3.0.6

Updated qpm.json

Xref visibility fix

01 Oct 02:05
Compare
Choose a tag to compare
v3.0.5

Updated qpm.json

Make typedefs-array.hpp standalone

30 Sep 22:09
Compare
Choose a tag to compare
v3.0.4

Updated qpm.json

Update ArrayWrapper --> ArrayW, make array typedefs standalone

30 Sep 20:18
Compare
Choose a tag to compare

Add new features

29 Sep 23:27
Compare
Choose a tag to compare

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

27 Sep 16:54
Compare
Choose a tag to compare
v3.0.1

Updated qpm.json

API Changes + Instance invokes

27 Sep 07:16
Compare
Choose a tag to compare
  • 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

20 Sep 18:23
Compare
Choose a tag to compare
v2.3.2

Updated qpm.json

Fixes for functional extraction of classes

16 Sep 23:58
Compare
Choose a tag to compare

Still need to actually fix type inheritance

Add gc-allocator, ArrayWrapper, ListWrapper changes

01 Sep 04:52
Compare
Choose a tag to compare

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