Skip to content

Add a built in replay-stat viewer#486

Open
Amy54Desu wants to merge 92 commits into
ipodtouch0218:nightlyfrom
Amy54Desu:replay-stats
Open

Add a built in replay-stat viewer#486
Amy54Desu wants to merge 92 commits into
ipodtouch0218:nightlyfrom
Amy54Desu:replay-stats

Conversation

@Amy54Desu

@Amy54Desu Amy54Desu commented May 13, 2026

Copy link
Copy Markdown
Contributor

As the name implies, this adds a built in replay stats viewer that allows you to see events of what happened during a match and click on buttons to skip to that part specifically.

Currently we need to fix critical issue when starting replay at specific point (where an out of bounds exception happens when moving replay spot), code is also something I am working hard on to make it easy to maintain and read.

@Amy54Desu

Copy link
Copy Markdown
Contributor Author

1 merge conflict :)

I made an amazing thing only to mess it all right UP! Wooho
@Amy54Desu

Copy link
Copy Markdown
Contributor Author

ONE MORE DAY, I PROMISE ONE MORE DAY. I DUNNO why am I putting in SO MUCH EFFORT AND TIME into REPLAY TOOLS of all things

@Amy54Desu

Copy link
Copy Markdown
Contributor Author

It is my 100% NOTOSSDEKASAIHASSEI gurantee that THIS. WILL. BE. goOD. THIS. WILL. BE. MAINTAINABLE. THIS. WILL. BE. USEFUL

@Amy54Desu

Copy link
Copy Markdown
Contributor Author

RING RING RING! All merge conflicts are NOW RESOLVED. Once again all merge conflicts are NOW RESOLVED. Replay Stats still working as intended giving expected results... HOWEVER, returning from ingame to a stat that adds extra buttons currently causes a null reference exception due to trying to reference buttons that have no yet loaded

@Windows10V1

Copy link
Copy Markdown
Contributor

Dumbass this PR is still set to work in progress Dumbass

@Amy54Desu

Copy link
Copy Markdown
Contributor Author

Dumbass this PR is still set to work in progress Dumbass

that's because I want to make sure that it is easy to maintain and that there are no exceptions that can happen before opening it UP for merges. I don't want to make code that no one can understand and is a pain in the ass to add to or UPdate.

also adds 1 to the position index in the description in big collectable spawns since those are zero indexed
@Amy54Desu Amy54Desu marked this pull request as ready for review May 17, 2026 02:31
Amy54Desu added 2 commits June 6, 2026 22:11
Added the ability for time points to set the camera to specific positions
@Amy54Desu

Copy link
Copy Markdown
Contributor Author

thx for more merge conflicts bestie!!!!!!

Amy54Desu added 7 commits June 8, 2026 18:40
Combos now are counted as long as the victim does not touch the ground. This is done due to the fact that events cannot run during the quantum frame
Removes unnessacary rebuilds and the very expensive Canvas.ForceUPdateCanvases()
This means that we no longer have inconsistent stats. Thanks ipod
They're unused at this point and overshadowed by better methods.
adds a powerUP filter opton for PowerUP info
@Amy54Desu

Copy link
Copy Markdown
Contributor Author

oof, these merge conflicts GOnna be a little harder to resolve...

As the title says, closes the stats menu when pressing next replay, adds powerUP information for powerUP spawns
@Amy54Desu

Copy link
Copy Markdown
Contributor Author

So I've resolved merge conflicts, again... It actually was surprisingly simple

Amy54Desu added 11 commits June 11, 2026 15:41
fix map misalignment on replay list (dunno how it happened)
Makes unique text for "kills" and "damagedealt" as well as making them a bit more interesting.
hide the target list if there are only two players in the match for KnockbackDealt, Kills and DamageDealt
Fixes replay cache to acutally work, the method is by skipping caching the first 5 seconds of the simulation when doing the stats simulation. Time Point SetTime method has been moved to the base function which uses the ShowLength and ShowEndTime properties
@Amy54Desu

Copy link
Copy Markdown
Contributor Author

I think I've resolved all issues for the replay stats viewer.

Stats are inaccurate/inconsistent
This was due to Quantum Event queueing being called aftrer and UPdateView callback, this was resolved by accessing the EventList queue and doing all the events that way.
Replay Rewind/Fast-forward doesn't work correctly
This was solved by caching frames after 5 * f.UPdateRate when analyzing the replay file. It is still faster than playing the replay in game as we can Runner.Service on every frame

Clicking on an entry starts the replay at that frame, with the camera also adjusted. So if you click on a "Combo Received" the camera will select that player after the replay is loaded. Clicking on a Big Collectable spawn will have the replay start in freecam with the camera at the star spawn position.

Additionally, time points don't start the replay at exactly when they start, in the case of a death the replay will start when the player took knockback or was combo'd so y'all who need some clips can eassily record.

There are no merge conflicts however I want to do a more complicated replay with more than two players before saying it's A-OK to merge.

fixes length display (bug introduced in moving the length display to be part of the TimePoint instead of override)
deaths now sUPport all player target
deaths now start the replay at the beginning of the combo if there is one
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants