Conversation
|
Download the artifacts for this pull request here: GUI:
CLI: |
VladiStep
force-pushed
the
findReferencesBytecode14
branch
from
August 23, 2026 21:31
606ddc6 to
b1e8385
Compare
Member
Author
|
Okay, it seems the |
…tic, add related methods (TODO)
Member
Author
|
I also need to rewrite |
1) Change `GameVersion` to `readonly record struct` for additional performance. 2) Add bytecode version support for that; simplify bytecode/GameMaker version comparison, use a proper constuctor for a bytecode version-only.
VladiStep
force-pushed
the
findReferencesBytecode14
branch
from
August 25, 2026 22:30
44ed597 to
d4e7254
Compare
1) Use `BeforeVersion` for `UndertaleBackground` instead of using `null` names. 2) Add an explanation for new `GameVersion(gameInfo)`. 3) Make the version comparison more readable by changing the operands order. 4) Finish reimplementing `HashSetTypesOverride`. 5) Simplify asset type filtering for YYC. 6) Remove now redundant `PredicateForVersion.DisableForLTS2022` property and check. 7) Add another `GetReferencesOfObject()` overload that designed for a singular usage (not in batch). 8) Minor code changes (make early `continue`).
Member
Author
|
It looks finished, but I need to test it properly - at least make sure, that the performance is the same |
… games with same GM version, but different YYC types
Member
Author
|
Well, at least it has the same performance, I didn't notice visible speed and/or memory allocation changes for "Find unreferenced assets" for Deltarune Chapter 5 - it's ~1 m. 20 s. for my PC. |
VladiStep
force-pushed
the
findReferencesBytecode14
branch
from
August 29, 2026 00:20
06dc011 to
1fd6bec
Compare
VladiStep
force-pushed
the
findReferencesBytecode14
branch
from
August 29, 2026 00:20
1fd6bec to
d7aa0dc
Compare
…dictionary by group names and each its asset list by asset ID (address UnderminersTeam#2478)
Member
Author
|
Okay, I think it's ready for review. |
VladiStep
marked this pull request as ready for review
August 29, 2026 01:18
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
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.
Description
So this type showed for such versions in the referenceable asset list, and this caused the null reference exception.
This PR fixes that.
GameVersionconstructor that acceptsUndertaleGeneralInfo(and it also has the LTS 2022 logic).returns/breaks for tracks (void ProcessTrack() ...), so it stops as soon as it finds a one reference inside a track.GameVersiontype toreadonly record structfor better performance.GameVersionby adding a proper support for that (instead of doing(bytecodeVersion, uint.MaxValue, uint.MaxValue)).PredicateDelegatefor a better readability ofPredicateForVersion.UndertaleBackgroundusesBeforeVersion(as it should) instead of usingnullnames.PredicateForVersion.DisableForLTS2022property and check.continuein a loop).GetReferenceableTypes()can return stale results for games with same GM version, but different YYC types (first loaded game data has code, second - doesn't).data.Code(fixes The "Find unreferenced assets" feature is broken for YYC games #2477).Caveats
None, I guess.
Notes
Closes (partially) #2319 (the error part)