Releases: sc2ad/beatsaber-hook
Fixups to wrapper types
ArrayW
and ByRef
got some fixups, ArrayW
can now be null constructed again (and is done so on default), likewise with ByRef
.
HOWEVER, it should be noted that codegen should ultimately have an Array<T>*
for parameters, and return an ArrayW<T>
from calls. This would allow a null parameter to be passed in WITHOUT breaking the concept behind ArrayW
's usage. Note, however, that if a returned array is null, it may still break, so it seems that there will be a non-trivial solution in either case.
For now, however, this will do.
Add RMR
Add RunMethodRethrow, better ByRef usage
v3.4.3 Updated qpm.json
Fix for casting for conversion wrapper types
v3.4.2 Updated qpm.json
Better usage of has_conversion
v3.4.1 Updated qpm.json
Revert RMT invokes, add exception raising helpers
v3.4.0 Updated qpm.json
Make RMT runtime_invoke wrappable
This change is because of how exceptions are handled differently in our version of NDK as compared to the NDK version they use when compiling. As for a full list of differences, there is at least size inconsistencies in the _Unwind_Exception and cxa_exception types (as compared with ghidra and looking at asm io)
Sadly, this means that the performance benefits of RMT are out the window-- though we can still keep using RMT as a wrapper that will one day be better again. It is unfortunately quite a large method now, though, and should almost certainly be split up more before another minor release.
Add more useful ArrayW conversions
v3.3.4 Updated qpm.json
Fix for redundant definitions
v3.3.3 Updated qpm.json
Update to fix method invokes with codegen
v3.3.2 Updated qpm.json