Fix: keep NewGRF order for object class sorting #8818
Merged
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.
Motivation / Problem
A filter for objects was added in #8603, but the change also made the object class list to be sorted alphabetical. This adds some value but breaks others as stated in #8817.
Description
This change modifies the logic to sort the list of object classes to keep the order of the NewGRF list. See:
Note that since the code was based on using ObjectClass pointer rather than ObjectClassID, I am also reverting to use ObjectClassID back as before of #8603 as it's needed to sort.
I will apply the same sorting logic to #8706.
Limitations
None.
Checklist for review
Some things are not automated, and forgotten often. This list is a reminder for the reviewers.