-
-
Notifications
You must be signed in to change notification settings - Fork 145
Ping categories, persistent markers, selection UI, and per-player/faction visibility filters #927
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
Open
LumiLunaLuma
wants to merge
1
commit into
rwmt:dev
Choose a base branch
from
LumiLunaLuma:ping-marker-expansion
base: dev
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.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
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.
Any more details about this feature?
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.
Sure no problem. I primarily used this on my side to get quicker debug info on desyncs I was hitting during dev. Essentially it gives you a quick snap point to when the desync got detected which is usually a few ticks after the actual divergence, but there's a Snapshot Lag Ticks field in the desync_info that tells you relatively how far behind it ended up. So you can load up the replay and look at what the world state was around the bad tick, instead of from the last cached snapshot.
Regarding what info it actually gives you, you can extract the replay.rwmts from the desync zip and use dev tools to inspect what was happening at that moment. For the marker work that was mostly visually checking which markers each client actually had on the map at a bad tick, combined with the stack traces in local_traces.txt that gave me a quick way to spot something like "client 1 has marker X but client 2 doesn't" without having to manually step to get there.
Implementation wise it's basically wrapping SaveLoad.SaveGameData + CreateGameDataSnapshot to grab the current state locally, without sending anything to the server or triggering a join point for other players. Runs on the main thread since I believe Scribe and Find.Maps aren't thread-safe.
Probably should've taken this out of the PR though, it was actually just a quick thing I added to get more debug info on my side and isn't really related to the category-pings PR. The other thing is, the way it's done currently means the embedded replay in the desync zip starts at the desync tick instead of the earlier cached snapshot, so you lose the ability to forward-sim from that earlier point and see the points leading up to the bad ticks, which is most probably more useful than the snapshot of information I was using. I was actually thinking of doing this as a separate PR where we maybe expand the desync zip to include both the snap-to-the-point snapshot for quick debugging of the divergence itself and then the full replay version for seeing what led up to it. Would you like me to remove this from the current PR and possibly create a new PR for it or just scrap it fully?
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.
It's a nice idea, but let's break this out into a separate PR, it's out of scope here and could use some refinement.
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.
Noted, will be pushing a commit soon with updates for all of your comments 😁