-
Notifications
You must be signed in to change notification settings - Fork 17
YYToolkit v5 #77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
Archie-osu
wants to merge
15
commits into
stable
Choose a base branch
from
experimental
base: stable
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
YYToolkit v5 #77
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Add a donation clause I'm a poor student, I'm sorry :( * Added Version RC Files Added version files to YYToolkit. * Add stacktraces, fix enumeration being broken - Added stacktrace dumping for when a game crashes - Extended logs to maximum of 4096 characters - Fixed YkExtractFunctionEntry crashing when attempting to get an invalid function - Fixed GetInstanceMember failing on variables named the same as built-ins * Fix docs on CallGameScript * DMA for RValues - Add GetMember, GetRefMember, GetMemberCount for RValue, to prevent pointers being restricted to ToMap() * Update version file --------- Co-authored-by: AnnaNomoly <annanomoly@outlook.com>
- Bring in Aurie v2 headers - Remove Print\* functions from module interface - Remove console management functions - Replace Cm\* functions with their DbgPrint\* counterparts where applicable
- Merged YYTK v5 draft - ExamplePlugin has temporarily changed to Time of Mistria - Updated Aurie headers - Split module interface into multiple cpp files - Added private interface to gain control over GM struct operations - Fixed #76 - Fixed #65 maybe? - Reworked interface (DbgPrintEx from Aurie, renamed to ZeusMain) - Removed dead code (TargettedInstruction) - Cleaned up RValue => CInstance relationship - Broke all x86 builds rn
Brought in x86 handlers from v4. Functionality has not been changed. Fixed warnings when compiling on x86 due to size mismatches.
Added some nice-to-have functions for RValues to incentivize not accessing members directly. - Removed internal debugger wait - Added IsUndefined to RValue - Added IsStruct to RValue - Added IsNumberConvertible to RValue - Added IsString to RValue - Added IsArray to RValue - Added ContainsValue to CInstance
- Added the ``RV_GetObjectSpecificKind`` and ``YkSetRuntimeFlags`` methods to the private interface - Added a way to find g_fSuppressErrors for debugging - Removed confusing log message in GetInstanceMember - Disabled callback invocation until interface is ready - Updated ExamplePlugin to current headers - Enabled optimization
- RValue indexers no longer "make up" variables when passed with a non-existent name. This aligns it with the documentation, which has been wrong all this time seemingly.
- Optimized YYError calls from ~1 second to ~300 microseconds - The symbol table is built on YYTK init - Switched from using std::map to a vector for faster building without extra allocations - Added engine stacktracing for YYError - Fixed warning on casting from int64_t to size_t - Updated Aurie headers
- Fixed like 5 warnings - Prevent unnecessary copying of iterator
- Added RV_ContainsNestedValue to the private interface to prevent error printing when ContainsValue is used to check for a variable's existence
- What the actual fuck
- Fixes function array lookup and YYObjectBase::Add lookup on 2024.14 x64 - Fix error when attempting to check for a non-existent variable
- Updated Aurie headers to v2.0.2 - Enabled function caching - Added MmEnableHook / MmDisableHook, MmGetRegistersForHook - Removed nonexistent functions - Added a three-stage init format - Enables intercepting globalscripts - Added detailed message for when a PI function is called before it's init to aid in debugging - Marked a few functions in PI as safe to call before init¨ - Fixed Code_Execute pattern on 2024.14+ VM - Fixed bug that prevented RValue array accesses under VM - Fixed 2024.2+ room accesses #67
- Added callback as per @PippleCultist request
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The Ultimate Update.
Requires Aurie v2.
Print*functions (moved to Aurie)YYTK::TargettedInstructionZydisDecoderinstead ofZydisDisassembleInstructionvariable_struct_get_hashinsideGetVariableSlotif possiblePpGetCurrentArchitectureinstead of pointer size comparisonMOVduplicatesUNWIND_INFOand make stack tracing available via interface