Fix #10763, Fix #11168: Display variant groups that consist only of unavailable sub-groups #11342
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
Fixes #10763 and fixes #11168.
Essentially, the code added the immediate parent of a variant vehicle to the list, but not higher levels.
Description
Loop through and add all the parents of every variant vehicle up to the top level, so that even when a group consists only of unavailable sub-groups, the top-level group is still displayed when its second-level children are available.
The example provided by @George-VB in #11168 now produces the following list when game is started in 1.1.1970 with default settings.
And the example in #10763:
Limitations
Not well tested as I cannot write NewGRF nor do I know the actual intended output. Perhaps @George-VB could help with testing.
Checklist for review
Some things are not automated, and forgotten often. This list is a reminder for the reviewers.