mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-02-10 08:17:05 +00:00
(svn r23719) -Fix [FS#4930]: extraction of music packs failed
This commit is contained in:
parent
37b136576d
commit
8371ecc922
@ -544,49 +544,49 @@ void ClientNetworkContentSocketHandler::AfterDownload()
|
|||||||
if (GunzipFile(this->curInfo)) {
|
if (GunzipFile(this->curInfo)) {
|
||||||
unlink(GetFullFilename(this->curInfo, true));
|
unlink(GetFullFilename(this->curInfo, true));
|
||||||
|
|
||||||
|
Subdirectory sd = NO_DIRECTORY;
|
||||||
|
switch (this->curInfo->type) {
|
||||||
|
case CONTENT_TYPE_AI:
|
||||||
|
sd = AI_DIR;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CONTENT_TYPE_AI_LIBRARY:
|
||||||
|
sd = AI_LIBRARY_DIR;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CONTENT_TYPE_GAME:
|
||||||
|
sd = GAME_DIR;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CONTENT_TYPE_GAME_LIBRARY:
|
||||||
|
sd = GAME_LIBRARY_DIR;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CONTENT_TYPE_BASE_GRAPHICS:
|
||||||
|
case CONTENT_TYPE_BASE_SOUNDS:
|
||||||
|
case CONTENT_TYPE_BASE_MUSIC:
|
||||||
|
sd = BASESET_DIR;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CONTENT_TYPE_NEWGRF:
|
||||||
|
sd = NEWGRF_DIR;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CONTENT_TYPE_SCENARIO:
|
||||||
|
case CONTENT_TYPE_HEIGHTMAP:
|
||||||
|
sd = SCENARIO_DIR;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default: NOT_REACHED();
|
||||||
|
}
|
||||||
|
|
||||||
|
TarScanner ts;
|
||||||
|
ts.AddFile(sd, GetFullFilename(this->curInfo, false));
|
||||||
|
|
||||||
if (this->curInfo->type == CONTENT_TYPE_BASE_MUSIC) {
|
if (this->curInfo->type == CONTENT_TYPE_BASE_MUSIC) {
|
||||||
/* Music can't be in a tar. So extract the tar! */
|
/* Music can't be in a tar. So extract the tar! */
|
||||||
ExtractTar(GetFullFilename(this->curInfo, false), BASESET_DIR);
|
ExtractTar(GetFullFilename(this->curInfo, false), BASESET_DIR);
|
||||||
unlink(GetFullFilename(this->curInfo, false));
|
unlink(GetFullFilename(this->curInfo, false));
|
||||||
} else {
|
|
||||||
Subdirectory sd = NO_DIRECTORY;
|
|
||||||
switch (this->curInfo->type) {
|
|
||||||
case CONTENT_TYPE_AI:
|
|
||||||
sd = AI_DIR;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CONTENT_TYPE_AI_LIBRARY:
|
|
||||||
sd = AI_LIBRARY_DIR;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CONTENT_TYPE_GAME:
|
|
||||||
sd = GAME_DIR;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CONTENT_TYPE_GAME_LIBRARY:
|
|
||||||
sd = GAME_LIBRARY_DIR;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CONTENT_TYPE_BASE_GRAPHICS:
|
|
||||||
case CONTENT_TYPE_BASE_SOUNDS:
|
|
||||||
case CONTENT_TYPE_BASE_MUSIC:
|
|
||||||
sd = BASESET_DIR;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CONTENT_TYPE_NEWGRF:
|
|
||||||
sd = NEWGRF_DIR;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CONTENT_TYPE_SCENARIO:
|
|
||||||
case CONTENT_TYPE_HEIGHTMAP:
|
|
||||||
sd = SCENARIO_DIR;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default: NOT_REACHED();
|
|
||||||
}
|
|
||||||
|
|
||||||
TarScanner ts;
|
|
||||||
ts.AddFile(sd, GetFullFilename(this->curInfo, false));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this->OnDownloadComplete(this->curInfo->id);
|
this->OnDownloadComplete(this->curInfo->id);
|
||||||
|
Loading…
Reference in New Issue
Block a user