denikson 5 years ago
parent
commit
5aab11d90d

+ 5 - 5
Assembly-CSharp.sln

@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 15
 VisualStudioVersion = 15.0.26228.4
 MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp\Assembly-CSharp.csproj", "{7F31A4C4-ED55-47E7-9932-5EF84C7E61DE}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp\Assembly-CSharp.csproj", "{D78A7C96-EC04-4B3B-B805-AD2029A12DB0}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,10 +11,10 @@ Global
 		Release|Any CPU = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{7F31A4C4-ED55-47E7-9932-5EF84C7E61DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{7F31A4C4-ED55-47E7-9932-5EF84C7E61DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{7F31A4C4-ED55-47E7-9932-5EF84C7E61DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{7F31A4C4-ED55-47E7-9932-5EF84C7E61DE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D78A7C96-EC04-4B3B-B805-AD2029A12DB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D78A7C96-EC04-4B3B-B805-AD2029A12DB0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D78A7C96-EC04-4B3B-B805-AD2029A12DB0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D78A7C96-EC04-4B3B-B805-AD2029A12DB0}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 1 - 1
Assembly-CSharp/Assembly-CSharp.csproj

@@ -4,7 +4,7 @@
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{7F31A4C4-ED55-47E7-9932-5EF84C7E61DE}</ProjectGuid>
+    <ProjectGuid>{D78A7C96-EC04-4B3B-B805-AD2029A12DB0}</ProjectGuid>
     <OutputType>Library</OutputType>
     <RootNamespace>Assembly-CSharp</RootNamespace>
     <AssemblyName>Assembly-CSharp</AssemblyName>

+ 1 - 1
Assembly-CSharp/BaseKagManager.cs

@@ -5074,7 +5074,7 @@ public class BaseKagManager : IDisposable
 	public void Serialize(BinaryWriter binary)
 	{
 		binary.Write("CM3D2_KAG");
-		binary.Write(1180);
+		binary.Write(1190);
 		byte[] array = this.kag_.Serialize();
 		int value = array.Length;
 		binary.Write(value);

+ 1 - 1
Assembly-CSharp/BasePhotoCustomObject.cs

@@ -173,7 +173,7 @@ public abstract class BasePhotoCustomObject : MonoBehaviour, IComparable<BasePho
 			using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
 			{
 				binaryWriter.Write("COM3D2_PHOTO_CUSTOM_OBJECT");
-				binaryWriter.Write(1180);
+				binaryWriter.Write(1190);
 				binaryWriter.Write(this.type.ToString());
 				binaryWriter.Write(this.scale_);
 				binaryWriter.Write(this.enabledTextureColor_);

+ 1 - 1
Assembly-CSharp/BasePhotoWindowManager.cs

@@ -153,7 +153,7 @@ public abstract class BasePhotoWindowManager : MonoBehaviour
 			using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
 			{
 				binaryWriter.Write(this.save_header_uidata);
-				binaryWriter.Write(1180);
+				binaryWriter.Write(1190);
 				binaryWriter.Write(this.save_data_.Count);
 				foreach (KeyValuePair<string, Dictionary<string, Dictionary<string, string>>> keyValuePair3 in this.save_data_)
 				{

+ 4 - 4
Assembly-CSharp/CMSystem.cs

@@ -808,7 +808,7 @@ public class CMSystem
 	{
 		XElement xelement = new XElement("Config", new object[]
 		{
-			new XAttribute("Version", 1180),
+			new XAttribute("Version", 1190),
 			new XElement("System", new XElement("SysButtonShowAlways", this.SysButtonShowAlways)),
 			new XElement("Screen", new object[]
 			{
@@ -1125,7 +1125,7 @@ public class CMSystem
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_SYSTEM2");
-		binaryWriter.Write(1180);
+		binaryWriter.Write(1190);
 		binaryWriter.Write(this.m_dicEditColorPresetData.Count);
 		foreach (KeyValuePair<int, Dictionary<string, int>> keyValuePair in this.m_dicEditColorPresetData)
 		{
@@ -1697,7 +1697,7 @@ public class CMSystem
 
 		public void OnBeforeSerialize()
 		{
-			this.m_nVersion = 1180;
+			this.m_nVersion = 1190;
 		}
 
 		public void OnAfterDeserialize()
@@ -1705,7 +1705,7 @@ public class CMSystem
 		}
 
 		[SerializeField]
-		private int m_nVersion = 1180;
+		private int m_nVersion = 1190;
 
 		[SerializeField]
 		private string m_strDShowFilter = "Microsoft DTV-DVD Video Decoder";

+ 3 - 3
Assembly-CSharp/CharacterMgr.cs

@@ -949,7 +949,7 @@ public class CharacterMgr : MonoBehaviour
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		string result = string.Empty;
 		binaryWriter.Write("CM3D2_PRESET_S");
-		binaryWriter.Write(1180);
+		binaryWriter.Write(1190);
 		binaryWriter.Write((char)presset_type);
 		maid.SerializePropLowCapacity(binaryWriter);
 		maid.SerializeMultiColor(binaryWriter);
@@ -966,7 +966,7 @@ public class CharacterMgr : MonoBehaviour
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_PRESET");
-		binaryWriter.Write(1180);
+		binaryWriter.Write(1190);
 		binaryWriter.Write((int)f_type);
 		if (texture2D != null)
 		{
@@ -1246,7 +1246,7 @@ public class CharacterMgr : MonoBehaviour
 	public bool Serialize(BinaryWriter bwWrite)
 	{
 		bwWrite.Write("CM3D2_CHR_MGR");
-		bwWrite.Write(1180);
+		bwWrite.Write(1190);
 		this.m_PlayerStatus.Serialize(bwWrite);
 		bwWrite.Write(this.m_listStockMan.Count);
 		for (int i = 0; i < this.m_listStockMan.Count; i++)

+ 2 - 2
Assembly-CSharp/ControllerShortcutSettingData.cs

@@ -33,7 +33,7 @@ public static class ControllerShortcutSettingData
 	{
 		public void OnBeforeSerialize()
 		{
-			this.m_nVersion = 1180;
+			this.m_nVersion = 1190;
 		}
 
 		public void OnAfterDeserialize()
@@ -261,7 +261,7 @@ public static class ControllerShortcutSettingData
 		private const string CONF_NAME = "OvrControllerShortcutConfig.json";
 
 		[SerializeField]
-		private int m_nVersion = 1180;
+		private int m_nVersion = 1190;
 
 		[SerializeField]
 		private bool IsDirectShortcutMode = true;

+ 1 - 1
Assembly-CSharp/DeskManager.cs

@@ -143,7 +143,7 @@ internal class DeskManager
 	public static void SerializeSingleSaveData(BinaryWriter binary)
 	{
 		binary.Write("CM3D2_DeskCustomize");
-		binary.Write(1180);
+		binary.Write(1190);
 		binary.Write(DeskManager.item_inst_data_.Count);
 		for (int i = 0; i < DeskManager.item_inst_data_.Count; i++)
 		{

+ 3 - 3
Assembly-CSharp/DynamicBone.cs

@@ -30,7 +30,7 @@ public class DynamicBone : MonoBehaviour
 			return false;
 		};
 		f_bw.Write("CM3D21_PHY");
-		f_bw.Write(1180);
+		f_bw.Write(1190);
 		if (this.m_Root == null)
 		{
 			NDebug.MessageBox("エラー", "×物理ルートボーンが設定されていません。");
@@ -94,7 +94,7 @@ public class DynamicBone : MonoBehaviour
 	public bool SerializeWriteCollider(BinaryWriter f_bw, string f_strFileName)
 	{
 		f_bw.Write("CM3D21_COL");
-		f_bw.Write(1180);
+		f_bw.Write(1190);
 		if (this.m_Colliders == null || this.m_Colliders.Count == 0)
 		{
 			NDebug.MessageBox("エラー", "×物理Collidersは空です。");
@@ -110,7 +110,7 @@ public class DynamicBone : MonoBehaviour
 			else
 			{
 				f_bw.Write(this.m_Colliders[i].TypeName);
-				this.m_Colliders[i].Serialize(f_bw, 1180);
+				this.m_Colliders[i].Serialize(f_bw, 1190);
 			}
 		}
 		this.m_ColliderFileName = f_strFileName;

+ 1 - 1
Assembly-CSharp/DynamicSkirtBone.cs

@@ -18,7 +18,7 @@ public class DynamicSkirtBone : MonoBehaviour
 	public bool SerializeWrite(BinaryWriter f_bw)
 	{
 		f_bw.Write("CM3D21_PSK");
-		f_bw.Write(1180);
+		f_bw.Write(1190);
 		f_bw.Write(this.m_fPanierRadius);
 		this.SerializeWriteAnimationCurve(f_bw, this.m_PanierRadiusDistrib);
 		int num = (this.m_PanierRadiusDistribGroup == null) ? 0 : this.m_PanierRadiusDistribGroup.Length;

+ 1 - 1
Assembly-CSharp/EditMod.cs

@@ -265,7 +265,7 @@ public class EditMod : MonoBehaviour
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_MOD");
-		binaryWriter.Write(1180);
+		binaryWriter.Write(1190);
 		binaryWriter.Write(value);
 		binaryWriter.Write(text2.ToLower());
 		binaryWriter.Write(value2);

+ 1 - 1
Assembly-CSharp/FacilityManager.cs

@@ -657,7 +657,7 @@ public class FacilityManager : MonoBehaviour
 		Stopwatch stopwatch = new Stopwatch();
 		stopwatch.Start();
 		brWrite.Write("CM3D21_FACILITY_MGR");
-		brWrite.Write(1180);
+		brWrite.Write(1190);
 		brWrite.Write("5");
 		int num = 0;
 		for (int i = 0; i < this.m_FacilityArray.Count; i++)

+ 2 - 2
Assembly-CSharp/GameMain.cs

@@ -668,7 +668,7 @@ public class GameMain : MonoSingleton<GameMain>
 		serializeHeader.nMaidNum = this.m_CharacterMgr.GetStockMaidCount();
 		serializeHeader.strComment = f_strComment;
 		binaryWriter.Write("COM3D2_SAVE");
-		binaryWriter.Write(1180);
+		binaryWriter.Write(1190);
 		this.SerializeWriteHeader(binaryWriter, serializeHeader);
 		binaryWriter.Write("bookmark_kk_01");
 		GameMain.BinaryBookmark binaryBookmark = new GameMain.BinaryBookmark(binaryWriter);
@@ -782,7 +782,7 @@ public class GameMain : MonoSingleton<GameMain>
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("COM3D2_SAVE");
-		binaryWriter.Write(1180);
+		binaryWriter.Write(1190);
 		this.SerializeWriteHeader(binaryWriter, saveDataHeader);
 		binaryWriter.Write(array, (int)saveDataHeader.lHeaderSize, (int)((long)array.Length - saveDataHeader.lHeaderSize));
 		File.WriteAllBytes(path, memoryStream.ToArray());

+ 8 - 2
Assembly-CSharp/GameUty.cs

@@ -458,6 +458,12 @@ public class GameUty
 			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("■■■■■■■■■■■■■■■■■■■■");
@@ -912,14 +918,14 @@ public class GameUty
 
 	public static string GetBuildVersionText()
 	{
-		int num = 1180;
+		int num = 1190;
 		return (num >= 1000) ? ((float)num / 1000f).ToString("F2") : ((float)num / 100f).ToString("F2");
 	}
 
 	public static string GetGameVersionText()
 	{
 		string text = "COM3D2x64.exe";
-		int num = 1180;
+		int num = 1190;
 		string path = Path.GetFullPath(".\\") + "update.lst";
 		string[] array = new string[0];
 		if (File.Exists(path))

+ 2 - 2
Assembly-CSharp/HandSignShortcut.cs

@@ -494,7 +494,7 @@ public class HandSignShortcut : MonoBehaviour
 	{
 		public void OnBeforeSerialize()
 		{
-			this.m_nVersion = 1180;
+			this.m_nVersion = 1190;
 		}
 
 		public void OnAfterDeserialize()
@@ -803,7 +803,7 @@ public class HandSignShortcut : MonoBehaviour
 		private const string CONF_NAME = "MaidFingerDataList.json";
 
 		[SerializeField]
-		private int m_nVersion = 1180;
+		private int m_nVersion = 1190;
 
 		[SerializeField]
 		private List<HandSignShortcut.MaidFingerData> MaidFingerDataList = new List<HandSignShortcut.MaidFingerData>();

+ 1 - 1
Assembly-CSharp/Kasizuki/KasizukiManager.cs

@@ -804,7 +804,7 @@ namespace Kasizuki
 		public void Serialize(BinaryWriter bw)
 		{
 			bw.Write("COM3D2_KASIZUKI");
-			bw.Write(1180);
+			bw.Write(1190);
 			this.SerializeOriginHeader(bw);
 			foreach (KeyValuePair<int, KasizukiManager.SaveData> keyValuePair in this.m_SaveDataArray)
 			{

+ 3 - 3
Assembly-CSharp/Maid.cs

@@ -1214,7 +1214,7 @@ public class Maid : MonoBehaviour
 	public bool SerializeProp(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MPROP_LIST");
-		f_bwWrite.Write(1180);
+		f_bwWrite.Write(1190);
 		f_bwWrite.Write(this.m_dicMaidProp.Count);
 		foreach (KeyValuePair<string, MaidProp> keyValuePair in this.m_dicMaidProp)
 		{
@@ -1246,7 +1246,7 @@ public class Maid : MonoBehaviour
 	public bool SerializeMisc(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MAID_MISC");
-		f_bwWrite.Write(1180);
+		f_bwWrite.Write(1190);
 		f_bwWrite.Write(this.m_nActiveSlotNo);
 		if (this.m_texIcon != null)
 		{
@@ -1271,7 +1271,7 @@ public class Maid : MonoBehaviour
 	public bool SerializeBody(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MAID_BODY");
-		f_bwWrite.Write(1180);
+		f_bwWrite.Write(1190);
 		return true;
 	}
 

+ 1 - 1
Assembly-CSharp/MaidParts.cs

@@ -35,7 +35,7 @@ public class MaidParts : MonoBehaviour
 	public unsafe bool Serialize(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MULTI_COL");
-		f_bwWrite.Write(1180);
+		f_bwWrite.Write(1190);
 		f_bwWrite.Write(this.m_aryPartsColor.Length);
 		for (int i = 0; i < this.m_aryPartsColor.Length; i++)
 		{

+ 1 - 1
Assembly-CSharp/MaidProp.cs

@@ -8,7 +8,7 @@ public class MaidProp
 	public bool Serialize(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MPROP");
-		f_bwWrite.Write(1180);
+		f_bwWrite.Write(1190);
 		f_bwWrite.Write(this.idx);
 		f_bwWrite.Write(this.name);
 		f_bwWrite.Write(this.type);

+ 1 - 1
Assembly-CSharp/MaidStatus/Status.cs

@@ -1215,7 +1215,7 @@ namespace MaidStatus
 		public void Serialize(BinaryWriter binary)
 		{
 			binary.Write("CM3D2_MAID_STATUS");
-			binary.Write(1180);
+			binary.Write(1190);
 			binary.Write(this.guid);
 			binary.Write(this.creationTime);
 			binary.Write((short)this.heroineType);

+ 1 - 1
Assembly-CSharp/Menu.cs

@@ -753,7 +753,7 @@ public class Menu : MonoBehaviour
 			Directory.CreateDirectory(text);
 		}
 		StreamWriter streamWriter = new StreamWriter(text + "\\" + text2 + ".txt", false, Encoding.UTF8);
-		streamWriter.WriteLine("出力バージョン\t" + 1180);
+		streamWriter.WriteLine("出力バージョン\t" + 1190);
 		streamWriter.WriteLine("基本アイテム\t" + filename.Replace(" ", ":"));
 		try
 		{

+ 1 - 1
Assembly-CSharp/Misc.cs

@@ -2,7 +2,7 @@
 
 public class Misc
 {
-	public const int GAME_VERSION = 1180;
+	public const int GAME_VERSION = 1190;
 
 	public const string GAME_DATA_PATH = "GameData";
 

+ 1 - 1
Assembly-CSharp/ModCompile.cs

@@ -604,7 +604,7 @@ public class ModCompile : MonoBehaviour
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_MESH");
-		binaryWriter.Write(1180);
+		binaryWriter.Write(1190);
 		string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(f_strMqoFile);
 		binaryWriter.Write(fileNameWithoutExtension);
 		binaryWriter.Write(exObjIn2.strName);

+ 2 - 2
Assembly-CSharp/OvrIK.cs

@@ -1438,7 +1438,7 @@ public class OvrIK : MonoBehaviour
 	{
 		public void OnBeforeSerialize()
 		{
-			this.m_nVersion = 1180;
+			this.m_nVersion = 1190;
 		}
 
 		public void OnAfterDeserialize()
@@ -1498,7 +1498,7 @@ public class OvrIK : MonoBehaviour
 		private const string CONF_NAME = "OvrIK.json";
 
 		[SerializeField]
-		private int m_nVersion = 1180;
+		private int m_nVersion = 1190;
 
 		[SerializeField]
 		private float solver_locomotion_weight = 1f;

+ 1 - 1
Assembly-CSharp/PhotoModeSaveAndLoad.cs

@@ -450,7 +450,7 @@ public class PhotoModeSaveAndLoad : MonoBehaviour
 	private XElement CreateCommonData(string title, string comment)
 	{
 		string value = DateTime.ParseExact(DateTime.Now.ToString("yyyyMMddHHmmss"), "yyyyMMddHHmmss", null).ToString("yyyy.MM.dd HH:mm");
-		XElement xelement = new XElement("GameVersion", 1180);
+		XElement xelement = new XElement("GameVersion", 1190);
 		XElement xelement2 = new XElement("SaveTime", value);
 		XElement xelement3 = new XElement("Title", title);
 		XElement xelement4 = new XElement("Comment", comment);

+ 1 - 1
Assembly-CSharp/PlayerStatus/Status.cs

@@ -827,7 +827,7 @@ namespace PlayerStatus
 		public void Serialize(BinaryWriter binary)
 		{
 			binary.Write("CM3D2_PLAYER_STATUS");
-			binary.Write(1180);
+			binary.Write(1190);
 			binary.Write(this.playerName_);
 			binary.Write(this.days_);
 			binary.Write(this.totalPurchasePrice_);

+ 13 - 1
Assembly-CSharp/SceneEditWindow/PoseIconData.cs

@@ -106,7 +106,19 @@ namespace SceneEditWindow
 									{
 										idHash.Add(item2.id);
 										item2.fileSystem = GameUty.FileSystemOld;
-										PoseIconData.itemList.Add(item2);
+										bool flag = false;
+										foreach (PoseIconData.ItemData itemData in PoseIconData.itemList)
+										{
+											if (itemData.iconTexName.ToLower() == item2.iconTexName.ToLower())
+											{
+												flag = true;
+												break;
+											}
+										}
+										if (!flag)
+										{
+											PoseIconData.itemList.Add(item2);
+										}
 									}
 								}
 							}

+ 1 - 1
Assembly-CSharp/ScriptManager.cs

@@ -2962,7 +2962,7 @@ public class ScriptManager : IDisposable
 	public void Serialize(BinaryWriter binary)
 	{
 		binary.Write("CM3D2_SCRIPT");
-		binary.Write(1180);
+		binary.Write(1190);
 		this.adv_kag_.Serialize(binary);
 	}
 

+ 33 - 38
Assembly-CSharp/WindowPartsFaceMorph.cs

@@ -29,24 +29,41 @@ public class WindowPartsFaceMorph : MonoBehaviour
 		}
 		this.SetPhotoFaceData(PhotoFaceData.Get(long.Parse(storeData["id"])));
 		this.CreateBackupData(maid);
+		List<BlendData> blendDatas = maid.body0.Face.morph.BlendDatas;
+		Dictionary<string, int> dictionary = new Dictionary<string, int>();
+		for (int i = 0; i < blendDatas.Count; i++)
+		{
+			if (blendDatas[i] != null)
+			{
+				if (!dictionary.ContainsKey(blendDatas[i].name))
+				{
+					dictionary.Add(blendDatas[i].name, i);
+				}
+			}
+		}
+		if (!this.blendIdDictionary.ContainsKey(maid.status.guid))
+		{
+			this.blendIdDictionary.Add(maid.status.guid, new Dictionary<string, int>());
+		}
+		this.blendIdDictionary[maid.status.guid] = dictionary;
 		if (!isDeserializeLoad)
 		{
-			for (int i = 0; i < this.propValInput.Length; i++)
+			for (int j = 0; j < this.propValInput.Length; j++)
 			{
-				for (int j = 0; j < this.propValInput[i].SliderAndInput.Length; j++)
+				for (int k = 0; k < this.propValInput[j].SliderAndInput.Length; k++)
 				{
-					WindowPartsInputSliderSet.SliderAndInputSet sliderAndInputSet = this.propValInput[i].SliderAndInput[j];
+					WindowPartsInputSliderSet.SliderAndInputSet sliderAndInputSet = this.propValInput[j].SliderAndInput[k];
 					storeData.Add("morph_val_" + sliderAndInputSet.Name, this.GetValue(maid, sliderAndInputSet.Name).ToString("G9"));
 				}
 			}
 		}
 		else
 		{
-			for (int k = 0; k < this.propValInput.Length; k++)
+			for (int l = 0; l < this.propValInput.Length; l++)
 			{
-				for (int l = 0; l < this.propValInput[k].SliderAndInput.Length; l++)
+				for (int m = 0; m < this.propValInput[l].SliderAndInput.Length; m++)
 				{
-					WindowPartsInputSliderSet.SliderAndInputSet sliderAndInputSet2 = this.propValInput[k].SliderAndInput[l];
+					WindowPartsInputSliderSet.SliderAndInputSet sliderAndInputSet2 = this.propValInput[l].SliderAndInput[m];
 					this.SetValue(maid, sliderAndInputSet2.Name, float.Parse(storeData["morph_val_" + sliderAndInputSet2.Name]));
 				}
 			}
@@ -134,14 +151,18 @@ public class WindowPartsFaceMorph : MonoBehaviour
 		{
 			return;
 		}
+		Dictionary<string, int> dictionary = this.blendIdDictionary[maid.status.guid];
 		for (int i = 0; i < this.propValInput.Length; i++)
 		{
 			for (int j = 0; j < this.propValInput[i].SliderAndInput.Length; j++)
 			{
 				string name = this.propValInput[i].SliderAndInput[j].Name;
 				PhotoSliderAndInput sliderAndInput = this.propValInput[i].GetSliderAndInput(name);
-				sliderAndInput.ResetNum = this.backupBlendSets[maid.status.guid][this.selectData.setting_name][this.blendIdDictionary[name]];
+				sliderAndInput.ResetNum = this.backupBlendSets[maid.status.guid][this.selectData.setting_name][dictionary[name]];
+				List<Action<float>> onChangeValue = sliderAndInput.onChangeValue;
+				sliderAndInput.onChangeValue = new List<Action<float>>();
 				sliderAndInput.value = this.GetValue(maid, name);
+				sliderAndInput.onChangeValue = onChangeValue;
 				this.faceWindow.GetMaidStoreData(maid)["morph_val_" + name] = sliderAndInput.value.ToString("G9");
 			}
 		}
@@ -158,21 +179,8 @@ public class WindowPartsFaceMorph : MonoBehaviour
 		{
 			return;
 		}
-		if (this.blendIdDictionary.Count <= 0)
-		{
-			List<BlendData> blendDatas = maid.body0.Face.morph.BlendDatas;
-			for (int i = 0; i < blendDatas.Count; i++)
-			{
-				if (blendDatas[i] != null)
-				{
-					if (!this.blendIdDictionary.ContainsKey(blendDatas[i].name))
-					{
-						this.blendIdDictionary.Add(blendDatas[i].name, i);
-					}
-				}
-			}
-		}
-		this.selectData.BlendArray(maid)[this.blendIdDictionary[name]] = val;
+		Dictionary<string, int> dictionary = this.blendIdDictionary[maid.status.guid];
+		this.selectData.BlendArray(maid)[dictionary[name]] = val;
 	}
 
 	private float GetValue(Maid maid, string name)
@@ -181,21 +189,8 @@ public class WindowPartsFaceMorph : MonoBehaviour
 		{
 			return 0f;
 		}
-		if (this.blendIdDictionary.Count <= 0)
-		{
-			List<BlendData> blendDatas = maid.body0.Face.morph.BlendDatas;
-			for (int i = 0; i < blendDatas.Count; i++)
-			{
-				if (blendDatas[i] != null)
-				{
-					if (!this.blendIdDictionary.ContainsKey(blendDatas[i].name))
-					{
-						this.blendIdDictionary.Add(blendDatas[i].name, i);
-					}
-				}
-			}
-		}
-		return this.selectData.BlendArray(maid)[this.blendIdDictionary[name]];
+		Dictionary<string, int> dictionary = this.blendIdDictionary[maid.status.guid];
+		return this.selectData.BlendArray(maid)[dictionary[name]];
 	}
 
 	public bool visible
@@ -218,7 +213,7 @@ public class WindowPartsFaceMorph : MonoBehaviour
 
 	private FaceWindow faceWindow;
 
-	private Dictionary<string, int> blendIdDictionary = new Dictionary<string, int>();
+	private Dictionary<string, Dictionary<string, int>> blendIdDictionary = new Dictionary<string, Dictionary<string, int>>();
 
 	private Dictionary<string, Dictionary<string, float[]>> backupBlendSets = new Dictionary<string, Dictionary<string, float[]>>();
 

+ 1 - 1
Assembly-CSharp/WindowPartsFingerPreset.cs

@@ -182,7 +182,7 @@ public class WindowPartsFingerPreset : MonoBehaviour
 	{
 		WindowPartsFingerBlend.Type blendType = tareget_blend.BlendType;
 		FingerBlend.BaseFinger baseFingerClass = tareget_blend.GetBaseFingerClass(tareget_blend.mgr.select_maid, blendType);
-		XElement xelement = new XElement("GameVersion", 1180);
+		XElement xelement = new XElement("GameVersion", 1190);
 		XElement xelement2 = new XElement("RightData", blendType == WindowPartsFingerBlend.Type.RightArm || blendType == WindowPartsFingerBlend.Type.RightLeg);
 		XElement xelement3 = new XElement("BinaryData", Convert.ToBase64String(baseFingerClass.GetBinary()));
 		XNode[] contents = new XNode[]

+ 29 - 0
Assembly-CSharp/YotogiStage.cs

@@ -101,6 +101,35 @@ public static class YotogiStage
 			NDebug.Assert(condition, text + "\nopen failed.");
 			array2[i] = new KeyValuePair<AFileBase, CsvParser>(afileBase, csvParser);
 		}
+		HashSet<int> hashSet = new HashSet<int>(YotogiStage.commonIdManager.enabledIdList);
+		using (AFileBase afileBase2 = GameUty.FileSystem.FileOpen("yotogi_stage_compatibility_list.nei"))
+		{
+			if (afileBase2 != null && afileBase2.IsValid())
+			{
+				using (CsvParser csvParser2 = new CsvParser())
+				{
+					if (csvParser2.Open(afileBase2))
+					{
+						for (int j = 1; j < csvParser2.max_cell_y; j++)
+						{
+							if (csvParser2.IsCellToExistData(0, j))
+							{
+								int cellAsInteger = csvParser2.GetCellAsInteger(0, j);
+								string cellAsString = csvParser2.GetCellAsString(2, j);
+								bool flag = !string.IsNullOrEmpty(cellAsString) && PluginData.IsEnabled(cellAsString);
+								if (flag && !hashSet.Contains(cellAsInteger))
+								{
+									hashSet.Add(cellAsInteger);
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		Dictionary<int, KeyValuePair<string, string>> idMap = new Dictionary<int, KeyValuePair<string, string>>(YotogiStage.commonIdManager.idMap);
+		Dictionary<string, int> nameMap = new Dictionary<string, int>(YotogiStage.commonIdManager.nameMap);
+		YotogiStage.commonIdManager = new CsvCommonIdManager(idMap, nameMap, hashSet, CsvCommonIdManager.Type.IdAndUniqueName);
 		foreach (KeyValuePair<int, KeyValuePair<string, string>> keyValuePair in YotogiStage.commonIdManager.idMap)
 		{
 			YotogiStage.basicDatas.Add(keyValuePair.Key, new YotogiStage.Data(keyValuePair.Key, array2[0].Value));

+ 4 - 3
Assembly-CSharp/YotogiStageUnit.cs

@@ -69,13 +69,14 @@ public class YotogiStageUnit : MonoBehaviour
 		{
 			text = "cm3d2_stageselectpreview_nowprinting.tex";
 		}
-		if (!GameUty.FileSystem.IsExistentFile(text))
+		AFileSystemBase afileSystemBase = (!GameUty.FileSystemOld.IsExistentFile(text)) ? GameUty.FileSystem : GameUty.FileSystemOld;
+		if (!afileSystemBase.IsExistentFile(text))
 		{
 			text = "cm3d2_stageselectpreview_dammy.tex";
 		}
-		if (GameUty.FileSystem.IsExistentFile(text))
+		if (afileSystemBase.IsExistentFile(text))
 		{
-			Texture2D texture2D = ImportCM.CreateTexture(text);
+			Texture2D texture2D = ImportCM.CreateTexture(afileSystemBase, text);
 			Sprite sprite = Sprite.Create(texture2D, new Rect(0f, 0f, (float)texture2D.width, (float)texture2D.height), default(Vector2));
 			sprite.name = stage_data.drawName;
 			if (this.thumbnail_sprite_.sprite2D != null && this.thumbnail_sprite_.sprite2D.texture != null)