changeset 18870:d7f18b5b6bd3 draft

(svn r23719) -Fix [FS#4930]: extraction of music packs failed
author rubidium <rubidium@openttd.org>
date Mon, 02 Jan 2012 21:57:29 +0000
parents ab77acd6c3c8
children a4694afa59cc
files src/network/network_content.cpp
diffstat 1 files changed, 39 insertions(+), 39 deletions(-) [+]
line wrap: on
line diff
--- a/src/network/network_content.cpp
+++ b/src/network/network_content.cpp
@@ -544,49 +544,49 @@
 	if (GunzipFile(this->curInfo)) {
 		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) {
 			/* Music can't be in a tar. So extract the tar! */
 			ExtractTar(GetFullFilename(this->curInfo, false), BASESET_DIR);
 			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);