FS#5470 - Do not show content dependencies, unless selected for download

Attached to Project: OpenTTD
Opened by Moriarty (Moriarty) - Sunday, 10 February 2013, 19:17 GMT
Last edited by andythenorth (andythenorth) - Thursday, 31 August 2017, 20:39 GMT
Type Feature Request
Category Core
Status Closed
Assigned To No-one
Operating System All
Severity Low
Priority Normal
Reported Version trunk
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


The issue is that whatever system is currently being used to determine versions for the online content is inadequate. I don't know if its overly complicated or cumbersome or whatever, but it seems many of the uploaders can't use it.

Justification for this claim:

In the content downloader I see:
- Version 5.1 and 6 of "MinchinWebs MetaLibrary" (AI Library)

- No less than 5 different versions of "GS Library - SuperLib for NoGo.

- Two versions of BaseMod

- Two versions of "Dutch Road Furniture"

When upgrading NewGRF's that I have installed I see:

- I have "OpenGFX+ Airprorts 0.4.0" installed. I click "select upgrades" and "OpenGFX+ Airprorts 0.3.0" is selected!

- I have "OpenGFX+ Trains" 0.3.0 installed, "upgrading" takes me to 0.2.5

- av8 Aviators 2.12 installed. "upgrading" to 2.0
This task depends upon

Closed by  andythenorth (andythenorth)
Thursday, 31 August 2017, 20:39 GMT
Reason for closing:  Implemented
Additional comments about closing:  This is mitigated in r27444 as per Zuu's comment. The rest is TMWFTLB. Flyspray clean up, so closing. Thanks.
Comment by frosch (frosch) - Sunday, 10 February 2013, 20:11 GMT
The problems with upgrading to older versions should only happen, if you have a newer version of the file which is not on BaNaNaS.

Items can appear multiple times in the content list, if certain items depend on certain versions of other items. This is usually the case with most AI and GS libraries.

No idea who would add "dutch road furniture" as dependency. Did you select a scenario for download?

Can you confirm on the other things I mentioned?
Comment by Ingo von Borstel (planetmaker) - Tuesday, 12 February 2013, 13:16 GMT
Alternatively you're using a somewhat antique version of OpenTTD where the newer versions of those NewGRFs claim to be incompatible with (and the older ones which you get are still considered compatible by the authors). But then... I don't recall changing version requirements for OpenGFX+ Trains nor OpenGFX+ Airports.

Can you possibly provide screenshots to show the issue?
Comment by Moriarty (Moriarty) - Tuesday, 12 February 2013, 14:26 GMT
I'm using the latest nightly (sorry, forgot to say).

I understand the dependencies issue which is why I didn't comment on multiple of them being selected for upgrade. I don't have any GS stuff I don't think.

Even after I've "upgraded" everything, I still have multiple versions of the same thing showing.
Comment by Moriarty (Moriarty) - Tuesday, 12 February 2013, 14:28 GMT
You can see in 3 how its showing I have 3 versions of aviators installed. Most other grf's only show as having 1 even if there are many.
Comment by Remko Bijker (Rubidium) - Saturday, 23 February 2013, 18:27 GMT
Aviators 1.81 is shown because it is depended on by Apache Helicopter.
Aviators 2.0 is shown because it is depended on by Netherlands - Rijnmond / Goeree.
Aviators 2.12 is shown because it is the last version.

You can see the dependency if you click on the Apache Helicopter in the content menu.
Comment by frosch (frosch) - Saturday, 23 February 2013, 18:43 GMT
I guess ideally dependencies would only be displayed in the list, if the items that cause the dependency are selected.
If nothing is selected, only the latest versions should be displayed.
Comment by Leif Linse (Zuu) - Wednesday, 27 February 2013, 21:54 GMT
Only showing items that would otherwise not be shown when the dependency parent is selected for download would also clean up the situation when you create eg. a scenario+GS combination. If you view "only" scenarios right now, you will also get an AI + libraries and some GSes + GS libraries. These show because Split Scenario depend on a GS which in turn depend on GS libraries. The Beginner Tutorial scenario is even worse as it depend on both an AI and a GS which both have several libraries. None of these dependencies are really useful to show in a list of available scenarios to download.

An alternative solution to my problem above (which I don't think is as good as the one to hide dependencies until they are selected) is to alter the sorting so that when you view a a list which contain only eg. NewGRFs, scenarios etc., that content type will show above all other content types independent of alphabetic order of the category names in the current translation.
Comment by Remko Bijker (Rubidium) - Thursday, 04 April 2013, 20:19 GMT
  • Field changed: Type (Bug → Feature Request)
  • Field changed: Summary (Online Content → Do not show content dependencies, unless selected for download)
Sounds to me like we should classify this as a feature request where we should not show content dependencies, unless it's parent is selected for download. Otherwise we'd get issues with stuff being downloaded that the user did not select.
Comment by Leif Linse (Zuu) - Saturday, 14 November 2015, 16:08 GMT
As of r27444, when viewing only eg. AIs, scenarios etc., only that type of content is shown until you select something for download that has dependencies. At that stage the now selected dependencies become visible.

From a bit of research, doing the same in the main list with old content versions appears to be a bit harder. OpenTTD do request the old content as being dependencies it has not yet received, but on the receiving end it is just a stream of content. You could maybe slow down fetching of content info and do it in two phases in order to know when you request dependency content that it is not normal content that has not yet been received. It is of course not impossible, but require some work to get done right.