diff options
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network/network_content.cpp | 6 | ||||
-rw-r--r-- | src/network/network_content_gui.cpp | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/network/network_content.cpp b/src/network/network_content.cpp index d5ed2a374..76576f2c2 100644 --- a/src/network/network_content.cpp +++ b/src/network/network_content.cpp @@ -481,6 +481,12 @@ void ClientNetworkContentSocketHandler::AfterDownload() TarListAddFile(GetFullFilename(this->curInfo, false)); + if (this->curInfo->type == CONTENT_TYPE_BASE_MUSIC) { + /* Music can't be in a tar. So extract the tar! */ + ExtractTar(GetFullFilename(this->curInfo, false)); + unlink(GetFullFilename(this->curInfo, false)); + } + this->OnDownloadComplete(this->curInfo->id); } else { ShowErrorMessage(STR_CONTENT_ERROR_COULD_NOT_EXTRACT, INVALID_STRING_ID, WL_ERROR); diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp index a25a5ad4a..8f377a0ba 100644 --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -106,6 +106,11 @@ public: SetWindowDirty(WC_GAME_OPTIONS, 0); break; + case CONTENT_TYPE_BASE_MUSIC: + BaseMusic::FindSets(); + SetWindowDirty(WC_GAME_OPTIONS, 0); + break; + case CONTENT_TYPE_NEWGRF: ScanNewGRFFiles(); /* Yes... these are the NewGRF windows */ |