|  | @@ -38,15 +38,7 @@ public class GameUty
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  |  		get
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  | -			return 0 < GameUty.PathListOld.Count;
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	public static bool supportMultiLanguage
 | 
	
		
			
				|  |  | -	{
 | 
	
		
			
				|  |  | -		get
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			return false;
 | 
	
		
			
				|  |  | +			return 0 < GameUty.PathListOld.Count && Product.type == Product.Type.AAA;
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -374,7 +366,9 @@ public class GameUty
 | 
	
		
			
				|  |  |  		};
 | 
	
		
			
				|  |  |  		string str = string.Empty;
 | 
	
		
			
				|  |  |  		str = "必用アーカイブがありません。GameData\\";
 | 
	
		
			
				|  |  | -		StopWatch stopWatch = new StopWatch();
 | 
	
		
			
				|  |  | +		GameUty.m_FileSystem.SetBaseDirectory(fullPath);
 | 
	
		
			
				|  |  | +		AddFolderOrArchive("product");
 | 
	
		
			
				|  |  | +		Product.Initialize(GameUty.m_FileSystem);
 | 
	
		
			
				|  |  |  		Debug.Log("IsEnabledCompatibilityMode:" + GameUty.IsEnabledCompatibilityMode.ToString());
 | 
	
		
			
				|  |  |  		string text = "カスタムオーダーメイド3D 2";
 | 
	
		
			
				|  |  |  		string str2 = "カスタムメイド3D 2";
 | 
	
	
		
			
				|  | @@ -391,313 +385,321 @@ public class GameUty
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  |  			Debug.Log(str2 + " GameVersion " + GameUty.GetLegacyGameVersionText());
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		if (GameUty.IsEnabledCompatibilityMode)
 | 
	
		
			
				|  |  | +		if (Product.type != Product.Type.AAA)
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  | -			Debug.Log("■■■■■■■■ Archive Log[2.0] (CM3D2 GameData) ■■■■■■■■");
 | 
	
		
			
				|  |  | -			GameUty.m_FileSystem.SetBaseDirectory(GameMain.Instance.CMSystem.CM3D2Path);
 | 
	
		
			
				|  |  | -			GameUty.PathList = GameUty.PathListOld;
 | 
	
		
			
				|  |  | -			AddFolderOrArchive("material");
 | 
	
		
			
				|  |  | -			foreach (string text2 in GameUty.PathListOld)
 | 
	
		
			
				|  |  | +			GameUty.E();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		else
 | 
	
		
			
				|  |  | +		{
 | 
	
		
			
				|  |  | +			StopWatch stopWatch = new StopWatch();
 | 
	
		
			
				|  |  | +			if (GameUty.IsEnabledCompatibilityMode)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  | -				string str3 = "material";
 | 
	
		
			
				|  |  | -				if (text2 == "denkigai2015wTowelR")
 | 
	
		
			
				|  |  | -				{
 | 
	
		
			
				|  |  | -					AddFolderOrArchive(str3 + "_denkigai2015wTowel");
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				string text3 = str3 + "_" + text2;
 | 
	
		
			
				|  |  | -				bool flag = AddFolderOrArchive(text3);
 | 
	
		
			
				|  |  | -				if (flag && !addedLegacyArchives.Contains(text3))
 | 
	
		
			
				|  |  | +				Debug.Log("■■■■■■■■ Archive Log[2.0] (CM3D2 GameData) ■■■■■■■■");
 | 
	
		
			
				|  |  | +				GameUty.m_FileSystem.SetBaseDirectory(GameMain.Instance.CMSystem.CM3D2Path);
 | 
	
		
			
				|  |  | +				GameUty.PathList = GameUty.PathListOld;
 | 
	
		
			
				|  |  | +				AddFolderOrArchive("material");
 | 
	
		
			
				|  |  | +				foreach (string text2 in GameUty.PathListOld)
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					addedLegacyArchives.Add(text3);
 | 
	
		
			
				|  |  | +					string str3 = "material";
 | 
	
		
			
				|  |  | +					if (text2 == "denkigai2015wTowelR")
 | 
	
		
			
				|  |  | +					{
 | 
	
		
			
				|  |  | +						AddFolderOrArchive(str3 + "_denkigai2015wTowel");
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +					string text3 = str3 + "_" + text2;
 | 
	
		
			
				|  |  | +					bool flag = AddFolderOrArchive(text3);
 | 
	
		
			
				|  |  | +					if (flag && !addedLegacyArchives.Contains(text3))
 | 
	
		
			
				|  |  | +					{
 | 
	
		
			
				|  |  | +						addedLegacyArchives.Add(text3);
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +					if (flag)
 | 
	
		
			
				|  |  | +					{
 | 
	
		
			
				|  |  | +						for (int i2 = 2; i2 <= check_ver_no; i2++)
 | 
	
		
			
				|  |  | +						{
 | 
	
		
			
				|  |  | +							AddFolderOrArchive(text3 + "_" + i2);
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  | -				if (flag)
 | 
	
		
			
				|  |  | +				AddFolderOrArchive("material2");
 | 
	
		
			
				|  |  | +				AddFolderOrArchive("menu");
 | 
	
		
			
				|  |  | +				action("menu");
 | 
	
		
			
				|  |  | +				AddFolderOrArchive("menu2");
 | 
	
		
			
				|  |  | +				AddFolderOrArchive("model");
 | 
	
		
			
				|  |  | +				action("model");
 | 
	
		
			
				|  |  | +				AddFolderOrArchive("model2");
 | 
	
		
			
				|  |  | +				AddFolderOrArchive("texture");
 | 
	
		
			
				|  |  | +				action("texture");
 | 
	
		
			
				|  |  | +				AddFolderOrArchive("texture2");
 | 
	
		
			
				|  |  | +				AddFolderOrArchive("texture3");
 | 
	
		
			
				|  |  | +				AddFolderOrArchive("prioritymaterial");
 | 
	
		
			
				|  |  | +				Debug.Log("■■■■■■■■■■■■■■■■■■■■");
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			Debug.Log("■■■■■■■■ Archive Log[2.1 Compatibility] (GameData_20) ■■■■■■■■");
 | 
	
		
			
				|  |  | +			gameDataPath = "GameData_20";
 | 
	
		
			
				|  |  | +			GameUty.m_FileSystem.SetBaseDirectory(fullPath);
 | 
	
		
			
				|  |  | +			if (GameUty.IsEnabledCompatibilityMode)
 | 
	
		
			
				|  |  | +			{
 | 
	
		
			
				|  |  | +				GameUty.m_FileSystem.AddPatchDecryptPreferredSearchDirectory(GameMain.Instance.CMSystem.CM3D2Path + "\\GameData");
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			GameUty.PathList = GameUty.ReadAutoPathFile("[2.1Compatibility]", fullPath + gameDataPath + "\\paths.dat");
 | 
	
		
			
				|  |  | +			if (GameUty.PathList != null && 0 < GameUty.PathList.Count)
 | 
	
		
			
				|  |  | +			{
 | 
	
		
			
				|  |  | +				foreach (string text4 in GameUty.PathList)
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					for (int i2 = 2; i2 <= check_ver_no; i2++)
 | 
	
		
			
				|  |  | +					string text5 = "material";
 | 
	
		
			
				|  |  | +					if (text4 == "denkigai2015wTowelR")
 | 
	
		
			
				|  |  | +					{
 | 
	
		
			
				|  |  | +						AddFolderOrArchive(text5 + "_denkigai2015wTowel");
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +					string text6 = text5 + "_" + text4;
 | 
	
		
			
				|  |  | +					bool flag2 = AddFolderOrArchive(text6);
 | 
	
		
			
				|  |  | +					if (!flag2 && addedLegacyArchives.Contains(text6))
 | 
	
		
			
				|  |  |  					{
 | 
	
		
			
				|  |  | -						AddFolderOrArchive(text3 + "_" + i2);
 | 
	
		
			
				|  |  | +						flag2 = true;
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +					if (flag2)
 | 
	
		
			
				|  |  | +					{
 | 
	
		
			
				|  |  | +						for (int j = 2; j <= check_ver_no; j++)
 | 
	
		
			
				|  |  | +						{
 | 
	
		
			
				|  |  | +							AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +							{
 | 
	
		
			
				|  |  | +								text5,
 | 
	
		
			
				|  |  | +								"_",
 | 
	
		
			
				|  |  | +								text4,
 | 
	
		
			
				|  |  | +								"_",
 | 
	
		
			
				|  |  | +								j
 | 
	
		
			
				|  |  | +							}));
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  | +				action2("menu");
 | 
	
		
			
				|  |  | +				action2("model");
 | 
	
		
			
				|  |  | +				action2("texture");
 | 
	
		
			
				|  |  | +				AddFolderOrArchive("prioritymaterial");
 | 
	
		
			
				|  |  | +				List<string> pathList = GameUty.PathList;
 | 
	
		
			
				|  |  | +				GameUty.PathList = new List<string>();
 | 
	
		
			
				|  |  | +				GameUty.PathList.Add("vp001");
 | 
	
		
			
				|  |  | +				action2("bg");
 | 
	
		
			
				|  |  | +				action2("motion");
 | 
	
		
			
				|  |  | +				GameUty.PathList = pathList;
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -			AddFolderOrArchive("material2");
 | 
	
		
			
				|  |  | -			AddFolderOrArchive("menu");
 | 
	
		
			
				|  |  | -			action("menu");
 | 
	
		
			
				|  |  | -			AddFolderOrArchive("menu2");
 | 
	
		
			
				|  |  | -			AddFolderOrArchive("model");
 | 
	
		
			
				|  |  | -			action("model");
 | 
	
		
			
				|  |  | -			AddFolderOrArchive("model2");
 | 
	
		
			
				|  |  | -			AddFolderOrArchive("texture");
 | 
	
		
			
				|  |  | -			action("texture");
 | 
	
		
			
				|  |  | -			AddFolderOrArchive("texture2");
 | 
	
		
			
				|  |  | -			AddFolderOrArchive("texture3");
 | 
	
		
			
				|  |  | -			AddFolderOrArchive("prioritymaterial");
 | 
	
		
			
				|  |  | +			GameUty.m_FileSystem.ClearPatchDecryptPreferredSearchDirectory();
 | 
	
		
			
				|  |  |  			Debug.Log("■■■■■■■■■■■■■■■■■■■■");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		Debug.Log("■■■■■■■■ Archive Log[2.1 Compatibility] (GameData_20) ■■■■■■■■");
 | 
	
		
			
				|  |  | -		gameDataPath = "GameData_20";
 | 
	
		
			
				|  |  | -		GameUty.m_FileSystem.SetBaseDirectory(fullPath);
 | 
	
		
			
				|  |  | -		if (GameUty.IsEnabledCompatibilityMode)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			GameUty.m_FileSystem.AddPatchDecryptPreferredSearchDirectory(GameMain.Instance.CMSystem.CM3D2Path + "\\GameData");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		GameUty.PathList = GameUty.ReadAutoPathFile("[2.1Compatibility]", fullPath + gameDataPath + "\\paths.dat");
 | 
	
		
			
				|  |  | -		if (GameUty.PathList != null && 0 < GameUty.PathList.Count)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			foreach (string text4 in GameUty.PathList)
 | 
	
		
			
				|  |  | +			Debug.Log("■■■■■■■■ Archive Log[2.1] (GameData) ■■■■■■■■");
 | 
	
		
			
				|  |  | +			gameDataPath = "GameData";
 | 
	
		
			
				|  |  | +			GameUty.PathList = GameUty.ReadAutoPathFile("[2.1]", fullPath + gameDataPath + "\\paths.dat");
 | 
	
		
			
				|  |  | +			if (GameUty.PathList == null)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  | -				string text5 = "material";
 | 
	
		
			
				|  |  | -				if (text4 == "denkigai2015wTowelR")
 | 
	
		
			
				|  |  | -				{
 | 
	
		
			
				|  |  | -					AddFolderOrArchive(text5 + "_denkigai2015wTowel");
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				string text6 = text5 + "_" + text4;
 | 
	
		
			
				|  |  | -				bool flag2 = AddFolderOrArchive(text6);
 | 
	
		
			
				|  |  | -				if (!flag2 && addedLegacyArchives.Contains(text6))
 | 
	
		
			
				|  |  | -				{
 | 
	
		
			
				|  |  | -					flag2 = true;
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				if (flag2)
 | 
	
		
			
				|  |  | +				GameUty.PathList = new List<string>();
 | 
	
		
			
				|  |  | +				NDebug.Assert("paths.datを読み込めませんでした", false);
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			AddFolderOrArchive("csv");
 | 
	
		
			
				|  |  | +			foreach (string text7 in GameUty.PathList)
 | 
	
		
			
				|  |  | +			{
 | 
	
		
			
				|  |  | +				string text8 = "csv";
 | 
	
		
			
				|  |  | +				if (AddFolderOrArchive(text8 + "_" + text7))
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					for (int j = 2; j <= check_ver_no; j++)
 | 
	
		
			
				|  |  | +					for (int k = 2; k <= check_ver_no; k++)
 | 
	
		
			
				|  |  |  					{
 | 
	
		
			
				|  |  |  						AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  |  						{
 | 
	
		
			
				|  |  | -							text5,
 | 
	
		
			
				|  |  | +							text8,
 | 
	
		
			
				|  |  |  							"_",
 | 
	
		
			
				|  |  | -							text4,
 | 
	
		
			
				|  |  | +							text7,
 | 
	
		
			
				|  |  |  							"_",
 | 
	
		
			
				|  |  | -							j
 | 
	
		
			
				|  |  | +							k
 | 
	
		
			
				|  |  |  						}));
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -			action2("menu");
 | 
	
		
			
				|  |  | -			action2("model");
 | 
	
		
			
				|  |  | -			action2("texture");
 | 
	
		
			
				|  |  |  			AddFolderOrArchive("prioritymaterial");
 | 
	
		
			
				|  |  | -			List<string> pathList = GameUty.PathList;
 | 
	
		
			
				|  |  | -			GameUty.PathList = new List<string>();
 | 
	
		
			
				|  |  | -			GameUty.PathList.Add("vp001");
 | 
	
		
			
				|  |  | -			action2("bg");
 | 
	
		
			
				|  |  | -			action2("motion");
 | 
	
		
			
				|  |  | -			GameUty.PathList = pathList;
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		GameUty.m_FileSystem.ClearPatchDecryptPreferredSearchDirectory();
 | 
	
		
			
				|  |  | -		Debug.Log("■■■■■■■■■■■■■■■■■■■■");
 | 
	
		
			
				|  |  | -		Debug.Log("■■■■■■■■ Archive Log[2.1] (GameData) ■■■■■■■■");
 | 
	
		
			
				|  |  | -		gameDataPath = "GameData";
 | 
	
		
			
				|  |  | -		GameUty.PathList = GameUty.ReadAutoPathFile("[2.1]", fullPath + gameDataPath + "\\paths.dat");
 | 
	
		
			
				|  |  | -		if (GameUty.PathList == null)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			GameUty.PathList = new List<string>();
 | 
	
		
			
				|  |  | -			NDebug.Assert("paths.datを読み込めませんでした", false);
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		AddFolderOrArchive("csv");
 | 
	
		
			
				|  |  | -		foreach (string text7 in GameUty.PathList)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			string text8 = "csv";
 | 
	
		
			
				|  |  | -			if (AddFolderOrArchive(text8 + "_" + text7))
 | 
	
		
			
				|  |  | +			NDebug.Assert(AddFolderOrArchive("motion"), str + "motion");
 | 
	
		
			
				|  |  | +			foreach (string text9 in GameUty.PathList)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  | -				for (int k = 2; k <= check_ver_no; k++)
 | 
	
		
			
				|  |  | +				string text10 = "motion";
 | 
	
		
			
				|  |  | +				if (AddFolderOrArchive(text10 + "_" + text9))
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +					for (int l = 2; l <= check_ver_no; l++)
 | 
	
		
			
				|  |  |  					{
 | 
	
		
			
				|  |  | -						text8,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						text7,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						k
 | 
	
		
			
				|  |  | -					}));
 | 
	
		
			
				|  |  | +						AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +						{
 | 
	
		
			
				|  |  | +							text10,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							text9,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							l
 | 
	
		
			
				|  |  | +						}));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		AddFolderOrArchive("prioritymaterial");
 | 
	
		
			
				|  |  | -		NDebug.Assert(AddFolderOrArchive("motion"), str + "motion");
 | 
	
		
			
				|  |  | -		foreach (string text9 in GameUty.PathList)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			string text10 = "motion";
 | 
	
		
			
				|  |  | -			if (AddFolderOrArchive(text10 + "_" + text9))
 | 
	
		
			
				|  |  | +			AddFolderOrArchive("motion2");
 | 
	
		
			
				|  |  | +			NDebug.Assert(AddFolderOrArchive("script"), str + "script");
 | 
	
		
			
				|  |  | +			foreach (string text11 in GameUty.PathList)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  | -				for (int l = 2; l <= check_ver_no; l++)
 | 
	
		
			
				|  |  | +				string text12 = "script";
 | 
	
		
			
				|  |  | +				if (AddFolderOrArchive(text12 + "_" + text11))
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +					for (int m = 2; m <= check_ver_no; m++)
 | 
	
		
			
				|  |  |  					{
 | 
	
		
			
				|  |  | -						text10,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						text9,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						l
 | 
	
		
			
				|  |  | -					}));
 | 
	
		
			
				|  |  | +						AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +						{
 | 
	
		
			
				|  |  | +							text12,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							text11,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							m
 | 
	
		
			
				|  |  | +						}));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		AddFolderOrArchive("motion2");
 | 
	
		
			
				|  |  | -		NDebug.Assert(AddFolderOrArchive("script"), str + "script");
 | 
	
		
			
				|  |  | -		foreach (string text11 in GameUty.PathList)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			string text12 = "script";
 | 
	
		
			
				|  |  | -			if (AddFolderOrArchive(text12 + "_" + text11))
 | 
	
		
			
				|  |  | +			AddFolderOrArchive("script_share");
 | 
	
		
			
				|  |  | +			foreach (string text13 in GameUty.PathList)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  | -				for (int m = 2; m <= check_ver_no; m++)
 | 
	
		
			
				|  |  | +				string text14 = "script_share";
 | 
	
		
			
				|  |  | +				if (AddFolderOrArchive(text14 + "_" + text13))
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +					for (int n = 2; n <= check_ver_no; n++)
 | 
	
		
			
				|  |  |  					{
 | 
	
		
			
				|  |  | -						text12,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						text11,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						m
 | 
	
		
			
				|  |  | -					}));
 | 
	
		
			
				|  |  | +						AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +						{
 | 
	
		
			
				|  |  | +							text14,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							text13,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							n
 | 
	
		
			
				|  |  | +						}));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		AddFolderOrArchive("script_share");
 | 
	
		
			
				|  |  | -		foreach (string text13 in GameUty.PathList)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			string text14 = "script_share";
 | 
	
		
			
				|  |  | -			if (AddFolderOrArchive(text14 + "_" + text13))
 | 
	
		
			
				|  |  | +			AddFolderOrArchive("script_share2");
 | 
	
		
			
				|  |  | +			NDebug.Assert(AddFolderOrArchive("sound"), str + "sound");
 | 
	
		
			
				|  |  | +			foreach (string text15 in GameUty.PathList)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  | -				for (int n = 2; n <= check_ver_no; n++)
 | 
	
		
			
				|  |  | +				string text16 = "sound";
 | 
	
		
			
				|  |  | +				if (AddFolderOrArchive(text16 + "_" + text15))
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +					for (int num = 2; num <= check_ver_no; num++)
 | 
	
		
			
				|  |  |  					{
 | 
	
		
			
				|  |  | -						text14,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						text13,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						n
 | 
	
		
			
				|  |  | -					}));
 | 
	
		
			
				|  |  | +						AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +						{
 | 
	
		
			
				|  |  | +							text16,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							text15,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							num
 | 
	
		
			
				|  |  | +						}));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		AddFolderOrArchive("script_share2");
 | 
	
		
			
				|  |  | -		NDebug.Assert(AddFolderOrArchive("sound"), str + "sound");
 | 
	
		
			
				|  |  | -		foreach (string text15 in GameUty.PathList)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			string text16 = "sound";
 | 
	
		
			
				|  |  | -			if (AddFolderOrArchive(text16 + "_" + text15))
 | 
	
		
			
				|  |  | +			AddFolderOrArchive("sound2");
 | 
	
		
			
				|  |  | +			NDebug.Assert(AddFolderOrArchive("system"), str + "system");
 | 
	
		
			
				|  |  | +			foreach (string text17 in GameUty.PathList)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  | -				for (int num = 2; num <= check_ver_no; num++)
 | 
	
		
			
				|  |  | +				string text18 = "system";
 | 
	
		
			
				|  |  | +				if (AddFolderOrArchive(text18 + "_" + text17))
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +					for (int num2 = 2; num2 <= check_ver_no; num2++)
 | 
	
		
			
				|  |  |  					{
 | 
	
		
			
				|  |  | -						text16,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						text15,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						num
 | 
	
		
			
				|  |  | -					}));
 | 
	
		
			
				|  |  | +						AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +						{
 | 
	
		
			
				|  |  | +							text18,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							text17,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							num2
 | 
	
		
			
				|  |  | +						}));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		AddFolderOrArchive("sound2");
 | 
	
		
			
				|  |  | -		NDebug.Assert(AddFolderOrArchive("system"), str + "system");
 | 
	
		
			
				|  |  | -		foreach (string text17 in GameUty.PathList)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			string text18 = "system";
 | 
	
		
			
				|  |  | -			if (AddFolderOrArchive(text18 + "_" + text17))
 | 
	
		
			
				|  |  | +			AddFolderOrArchive("system2");
 | 
	
		
			
				|  |  | +			AddFolderOrArchive("language");
 | 
	
		
			
				|  |  | +			foreach (string text19 in GameUty.PathList)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  | -				for (int num2 = 2; num2 <= check_ver_no; num2++)
 | 
	
		
			
				|  |  | +				string text20 = "language";
 | 
	
		
			
				|  |  | +				if (AddFolderOrArchive(text20 + "_" + text19))
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +					for (int num3 = 2; num3 <= check_ver_no; num3++)
 | 
	
		
			
				|  |  |  					{
 | 
	
		
			
				|  |  | -						text18,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						text17,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						num2
 | 
	
		
			
				|  |  | -					}));
 | 
	
		
			
				|  |  | +						AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +						{
 | 
	
		
			
				|  |  | +							text20,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							text19,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							num3
 | 
	
		
			
				|  |  | +						}));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		AddFolderOrArchive("system2");
 | 
	
		
			
				|  |  | -		AddFolderOrArchive("language");
 | 
	
		
			
				|  |  | -		foreach (string text19 in GameUty.PathList)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			string text20 = "language";
 | 
	
		
			
				|  |  | -			if (AddFolderOrArchive(text20 + "_" + text19))
 | 
	
		
			
				|  |  | +			foreach (string text21 in GameUty.PathList)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  | -				for (int num3 = 2; num3 <= check_ver_no; num3++)
 | 
	
		
			
				|  |  | +				string text22 = "bg";
 | 
	
		
			
				|  |  | +				if (AddFolderOrArchive(text22 + "_" + text21))
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +					for (int num4 = 2; num4 <= check_ver_no; num4++)
 | 
	
		
			
				|  |  |  					{
 | 
	
		
			
				|  |  | -						text20,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						text19,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						num3
 | 
	
		
			
				|  |  | -					}));
 | 
	
		
			
				|  |  | +						AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +						{
 | 
	
		
			
				|  |  | +							text22,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							text21,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							num4
 | 
	
		
			
				|  |  | +						}));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		foreach (string text21 in GameUty.PathList)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			string text22 = "bg";
 | 
	
		
			
				|  |  | -			if (AddFolderOrArchive(text22 + "_" + text21))
 | 
	
		
			
				|  |  | +			AddFolderOrArchive("voice");
 | 
	
		
			
				|  |  | +			for (int num5 = 0; num5 < 25; num5++)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  | -				for (int num4 = 2; num4 <= check_ver_no; num4++)
 | 
	
		
			
				|  |  | -				{
 | 
	
		
			
				|  |  | -					AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | -					{
 | 
	
		
			
				|  |  | -						text22,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						text21,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						num4
 | 
	
		
			
				|  |  | -					}));
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | +				string arg = "voice";
 | 
	
		
			
				|  |  | +				string arg2 = arg + "_" + (char)(97 + num5);
 | 
	
		
			
				|  |  | +				AddFolderOrArchive(arg2);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		AddFolderOrArchive("voice");
 | 
	
		
			
				|  |  | -		for (int num5 = 0; num5 < 25; num5++)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			string arg = "voice";
 | 
	
		
			
				|  |  | -			string arg2 = arg + "_" + (char)(97 + num5);
 | 
	
		
			
				|  |  | -			AddFolderOrArchive(arg2);
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		foreach (string text23 in GameUty.PathList)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			string text24 = "voice";
 | 
	
		
			
				|  |  | -			if (AddFolderOrArchive(text24 + "_" + text23))
 | 
	
		
			
				|  |  | +			foreach (string text23 in GameUty.PathList)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  | -				for (int num6 = 2; num6 <= check_ver_no; num6++)
 | 
	
		
			
				|  |  | +				string text24 = "voice";
 | 
	
		
			
				|  |  | +				if (AddFolderOrArchive(text24 + "_" + text23))
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +					for (int num6 = 2; num6 <= check_ver_no; num6++)
 | 
	
		
			
				|  |  |  					{
 | 
	
		
			
				|  |  | -						text24,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						text23,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						num6
 | 
	
		
			
				|  |  | -					}));
 | 
	
		
			
				|  |  | +						AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +						{
 | 
	
		
			
				|  |  | +							text24,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							text23,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							num6
 | 
	
		
			
				|  |  | +						}));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		for (int num7 = 2; num7 <= check_ver_no; num7++)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			string arg3 = "voice";
 | 
	
		
			
				|  |  | -			AddFolderOrArchive(arg3 + num7);
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		string text25 = "parts";
 | 
	
		
			
				|  |  | -		NDebug.Assert(AddFolderOrArchive(text25), str + text25);
 | 
	
		
			
				|  |  | -		foreach (string text26 in GameUty.PathList)
 | 
	
		
			
				|  |  | -		{
 | 
	
		
			
				|  |  | -			if (AddFolderOrArchive(text25 + "_" + text26))
 | 
	
		
			
				|  |  | +			for (int num7 = 2; num7 <= check_ver_no; num7++)
 | 
	
		
			
				|  |  | +			{
 | 
	
		
			
				|  |  | +				string arg3 = "voice";
 | 
	
		
			
				|  |  | +				AddFolderOrArchive(arg3 + num7);
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			string text25 = "parts";
 | 
	
		
			
				|  |  | +			NDebug.Assert(AddFolderOrArchive(text25), str + text25);
 | 
	
		
			
				|  |  | +			foreach (string text26 in GameUty.PathList)
 | 
	
		
			
				|  |  |  			{
 | 
	
		
			
				|  |  | -				for (int num8 = 2; num8 <= check_ver_no; num8++)
 | 
	
		
			
				|  |  | +				if (AddFolderOrArchive(text25 + "_" + text26))
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +					for (int num8 = 2; num8 <= check_ver_no; num8++)
 | 
	
		
			
				|  |  |  					{
 | 
	
		
			
				|  |  | -						text25,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						text26,
 | 
	
		
			
				|  |  | -						"_",
 | 
	
		
			
				|  |  | -						num8
 | 
	
		
			
				|  |  | -					}));
 | 
	
		
			
				|  |  | +						AddFolderOrArchive(string.Concat(new object[]
 | 
	
		
			
				|  |  | +						{
 | 
	
		
			
				|  |  | +							text25,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							text26,
 | 
	
		
			
				|  |  | +							"_",
 | 
	
		
			
				|  |  | +							num8
 | 
	
		
			
				|  |  | +						}));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | +			AddFolderOrArchive("parts2");
 | 
	
		
			
				|  |  | +			Debug.Log("■■■■■■■■■■■■■■■■■■■■" + stopWatch.Stop().ToString() + " ms");
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		AddFolderOrArchive("parts2");
 | 
	
		
			
				|  |  | -		Debug.Log("■■■■■■■■■■■■■■■■■■■■" + stopWatch.Stop().ToString() + " ms");
 | 
	
		
			
				|  |  |  		GameUty.m_FileSystem.AddAutoPathForAllFolder();
 | 
	
		
			
				|  |  |  		GameUty.BgFiles = new Dictionary<string, AFileSystemBase>();
 | 
	
		
			
				|  |  |  		string[] list = GameUty.m_FileSystem.GetList("bg", AFileSystemBase.ListType.AllFile);
 | 
	
	
		
			
				|  | @@ -712,7 +714,7 @@ public class GameUty
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		if (GameUty.supportMultiLanguage)
 | 
	
		
			
				|  |  | +		if (Product.SPP)
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  |  			list = GameUty.m_FileSystem.GetList("languagesource", AFileSystemBase.ListType.AllFile);
 | 
	
		
			
				|  |  |  			if (list != null && 0 < list.Length)
 | 
	
	
		
			
				|  | @@ -722,19 +724,16 @@ public class GameUty
 | 
	
		
			
				|  |  |  					string fileName2 = Path.GetFileName(path2);
 | 
	
		
			
				|  |  |  					if (!(Path.GetExtension(fileName2) != ".asset_language"))
 | 
	
		
			
				|  |  |  					{
 | 
	
		
			
				|  |  | -						if (GameUty.supportMultiLanguage || (!(fileName2 == "parts.asset_language") && !(fileName2 == "yotogi.asset_language")))
 | 
	
		
			
				|  |  | +						using (AFileBase afileBase = GameUty.m_FileSystem.FileOpen(fileName2))
 | 
	
		
			
				|  |  |  						{
 | 
	
		
			
				|  |  | -							using (AFileBase afileBase = GameUty.m_FileSystem.FileOpen(fileName2))
 | 
	
		
			
				|  |  | +							AssetBundle assetBundle = AssetBundle.LoadFromMemory(afileBase.ReadAll());
 | 
	
		
			
				|  |  | +							LanguageSource languageSource = UnityEngine.Object.Instantiate<LanguageSource>(assetBundle.LoadAllAssets<GameObject>()[0].GetComponent<LanguageSource>());
 | 
	
		
			
				|  |  | +							if (GameMain.Instance.transform.Find("Language") == null)
 | 
	
		
			
				|  |  |  							{
 | 
	
		
			
				|  |  | -								AssetBundle assetBundle = AssetBundle.LoadFromMemory(afileBase.ReadAll());
 | 
	
		
			
				|  |  | -								LanguageSource languageSource = UnityEngine.Object.Instantiate<LanguageSource>(assetBundle.LoadAllAssets<GameObject>()[0].GetComponent<LanguageSource>());
 | 
	
		
			
				|  |  | -								if (GameMain.Instance.transform.Find("Language") == null)
 | 
	
		
			
				|  |  | -								{
 | 
	
		
			
				|  |  | -									new GameObject("Language").transform.SetParent(GameMain.Instance.transform);
 | 
	
		
			
				|  |  | -								}
 | 
	
		
			
				|  |  | -								languageSource.transform.SetParent(GameMain.Instance.transform.Find("Language"));
 | 
	
		
			
				|  |  | -								assetBundle.Unload(true);
 | 
	
		
			
				|  |  | +								new GameObject("Language").transform.SetParent(GameMain.Instance.transform);
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  | +							languageSource.transform.SetParent(GameMain.Instance.transform.Find("Language"));
 | 
	
		
			
				|  |  | +							assetBundle.Unload(true);
 | 
	
		
			
				|  |  |  						}
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  |  				}
 | 
	
	
		
			
				|  | @@ -803,6 +802,10 @@ public class GameUty
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	public static void E()
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	public static void UpdateFileSystemPathOld()
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  |  		if (!GameUty.IsEnabledCompatibilityMode)
 | 
	
	
		
			
				|  | @@ -985,14 +988,14 @@ public class GameUty
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	public static string GetBuildVersionText()
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  | -		int num = 1260;
 | 
	
		
			
				|  |  | +		int num = 1270;
 | 
	
		
			
				|  |  |  		return (num >= 1000) ? ((float)num / 1000f).ToString("F2") : ((float)num / 100f).ToString("F2");
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	public static string GetGameVersionText()
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  |  		string text = "COM3D2x64.exe";
 | 
	
		
			
				|  |  | -		int num = 1260;
 | 
	
		
			
				|  |  | +		int num = 1270;
 | 
	
		
			
				|  |  |  		string path = Path.GetFullPath(".\\") + "update.lst";
 | 
	
		
			
				|  |  |  		string[] array = new string[0];
 | 
	
		
			
				|  |  |  		if (File.Exists(path))
 |