-
Notifications
You must be signed in to change notification settings - Fork 362
feat: EventViewerMod #1164
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
Merged
Merged
feat: EventViewerMod #1164
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
scaffold Render class move enums to their own file use X-macros to reflect enums and generate helpers that'll be needed for ImGui rename pause and resume to stop and start in IMiddleware
implement dllmain make enums use an int underlying type for imgui compatibility cut out unneeded override from main mod IMiddleware::dequeue now uses uint16_t for performance control variables for imgui compatibility add helper getters to IMiddleware add UIState, CallFrequencyEntry, ThreadInfo, and TargetInfo structs for captured data, and flesh out CallStackEntry as needed
prototype white/blacklist filtering prototype dequeue mechanism prototype save view functionality make map that holds tick functions static with a call_once initializer refactor CallStackEntry/CallFrequencyEntry to use a common base class for simpler iteration, and simplify their fields do encoding in hooks
…y with gui/json at startup
…llows collapsing IMiddleware, HookMiddleware, and ConcurrentQueueMiddleware into a single singleton class and allows some optimizations.
Create AllNameStringViews/FunctionNameStringViews as a structure to hold useful string views, extend EntryBase derivatives accordingly Fix issue where dequeued functions wouldn't filter properly (both frequency and stack entries were setting disabled based on the full name) Use ComparisonIndex to compare strings in dequeue for the frequency counter
Abstract hook management to HookController private class in Middleware Use an atomic flag to guarantee enqueues don't happen until all hooks are in place
…er thread rather than per target basis, so now the full call stack for pe, pi, and plsf can be viewed at once Add option for disabling the indent colors
…m is paused to copy and w/blist parts of the entry
Add call sites for showing call stack entry modal
Fix unsigned/signed conversion issues Null check in string pool
…a highlight flag for highlighting a CallStackEntry, used in the modal.
Shorten prefix for callers to function initials
Set the thread to the game thread if the user doesn't explicitly choose another thread.
Make dequeue_max_count uint32_t
Add help markers to almost every option explaining how everything works. Take out unnecessary passes_filters call in Client::dequeue. Fix includes to not use relative paths Set UIState::show_tick to default to true to not be misleading about call stacks, and set the default value for UIState::dequeue_max_count to 100,000.
Add frame style to entry popup child.
…ase the mod loads very early.
…ghboring calls may not be related when filters are applied.
…ender, which drastically reduces the workload each ImGui frame.
# Conflicts: # deps/first/Unreal
UE4SS
requested changes
Jan 26, 2026
Collaborator
UE4SS
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some nitpicks.
UE4SS
approved these changes
Jan 26, 2026
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.
Debug/Exploration tool that allows you to view the live call stack and frequency counter for all function calls routed through ProcessEvent, ProcessInternal, and ProcessLocalScriptFunction.