Index: /AE/Installer/trunk/source/main_window.cpp
===================================================================
--- /AE/Installer/trunk/source/main_window.cpp	(revision 468)
+++ /AE/Installer/trunk/source/main_window.cpp	(revision 469)
@@ -196,4 +196,5 @@
 		logfile << "Exporting and moving...\n\n";
 		int total_steps =  8 + 2 * num_levels;
+	
 		for(int i = 0; i < 15; i++)
 		{
@@ -211,4 +212,11 @@
 				create_directory( "VanillaDats/level" + levels[i] + "_Final" ); 
 				create_directory( "VanillaDats/level" + levels[i] + "_Final/level" + levels[i] + "_Final" );
+				
+				//Moves the AKEV and other files into a safe directory so that level specific textures are not globalized...
+				if ( strcmp(levels[i].c_str(), "0") ){
+					create_directory( "../GameDataFolder/level" + levels[i] + "_Final/AKEV" ); 
+					system((strOniSplit + " -move:overwrite ../GameDataFolder/level" + levels[i] + "_Final/AKEV ../GameDataFolder/level" + levels[i] + "_Final/AKEV*.oni").c_str());
+
+				}
 
 				directory_iterator end_iter;
@@ -306,6 +314,14 @@
 
 				}
+				
 				logfile << "\tCleaning up TXMPs...\n";
 				system( (strOniSplit + " -move:delete " + Textures.string() + " ../GameDataFolder/level" + levels[i] + "_Final/TXMP*.oni").c_str());
+				
+
+				if ( strcmp(levels[i].c_str(), "0") ){
+					system((strOniSplit + " -move:overwrite ../GameDataFolder/level" + levels[i] + "_Final ../GameDataFolder/level" + levels[i] + "_Final/AKEV/AKEV*.oni").c_str());
+					remove(  "../GameDataFolder/level" + levels[i] + "_Final/AKEV" );
+				}
+
 				parts_done++;
 
@@ -345,4 +361,21 @@
 		setStatusArea("Step " + lexical_cast<std::string>(parts_done + 1) + "/" + lexical_cast<std::string>(total_steps) + ": moving level0_Characters" );	
 		copy((path)"../GameDataFolder/level0_Characters", (path)("VanillaDats/level0_Final"));
+		GDFPaths.push_back( Characters );
+		for(int i = 0; i < GDFPaths.size(); i++) 
+		{
+			directory_iterator end_iter;
+			for ( directory_iterator dir_itr( GDFPaths[i] ); dir_itr != end_iter; ++dir_itr )
+			{
+				try 
+				{
+
+
+					rename(dir_itr->path(), "../GameDataFolder/level0_Final/" + dir_itr->path().filename() );
+				}
+				catch(exception &ex) {
+
+				}
+			}
+		}
 		/*
 		printf(Step_x_x,"Step %d/%d: reimporting level0_Characters", parts_done,7 + 2 * num_levels); setStatusArea((string)Step_x_x);setProgressBar( (int)(1000 * (float)(parts_done) / (float)(7 + 2 * num_levels) )); 
@@ -367,4 +400,7 @@
 
 		if(exists("../../persist.dat")) if(!exists("../persist.dat")) 
+		
+			//TODO: Concactate level0 Dirs.
+
 			copy("../../persist.dat","..");
 		if(exists("../../key_config.txt"))if(!exists("../key_config.txt"))
