FS#6377 - a bug in path handling of tar files

Attached to Project: OpenTTD
Opened by telanus (telanus) - Tuesday, 13 October 2015, 03:34 GMT
Last edited by andythenorth (andythenorth) - Thursday, 31 August 2017, 08:28 GMT
Type Bug
Category Core
Status Confirmed
Assigned To No-one
Operating System Windows
Severity High
Priority Normal
Reported Version trunk
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


The path handling of tar files seems not to be working.

When two of the same Newgrf's are in the same dir IE ogfx-airports.tar and ogfx-airports-v5748-80.tar, OpenTTD only sees ogfx-airports.tar and any game that is started with ogfx-airports-v5748-80.tar will "update" to ogfx-airports.tar. Unpacking the files into their own Directory "solves" this problem but isn't ideal.

Thread where it was "first" discussed,
This task depends upon

Comment by frosch (frosch) - Tuesday, 13 October 2015, 17:40 GMT
When using tars OpenTTD only considers the path within the tars.

This was a requirement of the old 32bpp technique up to 1.2.0. It is now no longer needed, but noone removed it.
Comment by Peter Nelson (peter1138) - Tuesday, 14 March 2017, 00:30 GMT
What needs to be removed?
Comment by frosch (frosch) - Tuesday, 14 March 2017, 14:50 GMT
If there are two tar files:
and both contain a file
OpenTTD will identify the files via the key "pathwithin/foo.grf". I.e. OpenTTD won't be able to distinguish them and picks one at random.

To fix this, OpenTTD should include the tar name into the key.

Anyway, I have seen work-in-progress patches by Albert not that long ago. It's part of his scenario mission.