Browse Source

Fix face window for gp01fb faces

habeebweeb 3 years ago
parent
commit
ab4e93f48d

+ 39 - 35
MultipleMaids/CM3D2/MultipleMaids/Plugin/MultipleMaids.Gui.cs

@@ -6316,10 +6316,11 @@ namespace CM3D2.MultipleMaids.Plugin
                     }
 
                     string[] strArray = faceComboList[faceIndex[selectMaidIndex]].text.Split(':')[2].Split(',');
-                    fieldValue2[(int)morph.hash["eyeclose"]] = float.Parse(strArray[0]);
-                    fieldValue2[(int)morph.hash["eyeclose2"]] = float.Parse(strArray[1]);
+
+                    fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose")]] = float.Parse(strArray[0]);
+                    fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose2")]] = float.Parse(strArray[1]);
                     fieldValue2[(int)morph.hash["eyeclose3"]] = float.Parse(strArray[2]);
-                    fieldValue2[(int)morph.hash["eyeclose6"]] = float.Parse(strArray[3]);
+                    fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose6")]] = float.Parse(strArray[3]);
                     fieldValue1[(int)morph.hash["hitomih"]] = float.Parse(strArray[4]);
                     fieldValue1[(int)morph.hash["hitomis"]] = float.Parse(strArray[5]);
                     fieldValue1[(int)morph.hash["mayuha"]] = float.Parse(strArray[6]);
@@ -6333,7 +6334,7 @@ namespace CM3D2.MultipleMaids.Plugin
                     fieldValue1[(int)morph.hash["tangout"]] = float.Parse(strArray[14]);
                     fieldValue1[(int)morph.hash["tangup"]] = float.Parse(strArray[15]);
                     fieldValue1[(int)morph.hash["eyebig"]] = float.Parse(strArray[16]);
-                    fieldValue2[(int)morph.hash["eyeclose5"]] = float.Parse(strArray[17]);
+                    fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose5")]] = float.Parse(strArray[17]);
                     fieldValue1[(int)morph.hash["mayuw"]] = float.Parse(strArray[18]);
                     fieldValue1[(int)morph.hash["mouthhe"]] = float.Parse(strArray[19]);
                     fieldValue1[(int)morph.hash["mouthc"]] = float.Parse(strArray[20]);
@@ -6482,10 +6483,11 @@ namespace CM3D2.MultipleMaids.Plugin
                     }
 
                     string[] strArray = faceComboList[faceIndex[selectMaidIndex]].text.Split(':')[2].Split(',');
-                    fieldValue2[(int)morph.hash["eyeclose"]] = float.Parse(strArray[0]);
-                    fieldValue2[(int)morph.hash["eyeclose2"]] = float.Parse(strArray[1]);
+
+                    fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose")]] = float.Parse(strArray[0]);
+                    fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose2")]] = float.Parse(strArray[1]);
                     fieldValue2[(int)morph.hash["eyeclose3"]] = float.Parse(strArray[2]);
-                    fieldValue2[(int)morph.hash["eyeclose6"]] = float.Parse(strArray[3]);
+                    fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose6")]] = float.Parse(strArray[3]);
                     fieldValue1[(int)morph.hash["hitomih"]] = float.Parse(strArray[4]);
                     fieldValue1[(int)morph.hash["hitomis"]] = float.Parse(strArray[5]);
                     fieldValue1[(int)morph.hash["mayuha"]] = float.Parse(strArray[6]);
@@ -6499,7 +6501,7 @@ namespace CM3D2.MultipleMaids.Plugin
                     fieldValue1[(int)morph.hash["tangout"]] = float.Parse(strArray[14]);
                     fieldValue1[(int)morph.hash["tangup"]] = float.Parse(strArray[15]);
                     fieldValue1[(int)morph.hash["eyebig"]] = float.Parse(strArray[16]);
-                    fieldValue2[(int)morph.hash["eyeclose5"]] = float.Parse(strArray[17]);
+                    fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose5")]] = float.Parse(strArray[17]);
                     fieldValue1[(int)morph.hash["mayuw"]] = float.Parse(strArray[18]);
                     fieldValue1[(int)morph.hash["mouthhe"]] = float.Parse(strArray[19]);
                     fieldValue1[(int)morph.hash["mouthc"]] = float.Parse(strArray[20]);
@@ -7003,29 +7005,31 @@ namespace CM3D2.MultipleMaids.Plugin
                     TMorph morph = maidArray[selectMaidIndex].body0.Face.morph;
                     float[] fieldValue1 = GetFieldValue<TMorph, float[]>(morph, "BlendValues");
                     float[] fieldValue2 = GetFieldValue<TMorph, float[]>(morph, "BlendValuesBackup");
-                    string str1 = inName4 + ":" + fieldValue2[(int)morph.hash["eyeclose"]] + ","
-                                  + fieldValue2[(int)morph.hash["eyeclose2"]] + ","
-                                  + fieldValue2[(int)morph.hash["eyeclose3"]] + ","
-                                  + fieldValue2[(int)morph.hash["eyeclose6"]] + ","
-                                  + fieldValue1[(int)morph.hash["hitomih"]] + ","
-                                  + fieldValue1[(int)morph.hash["hitomis"]] + ","
-                                  + fieldValue1[(int)morph.hash["mayuha"]] + ","
-                                  + fieldValue1[(int)morph.hash["mayuup"]] + ","
-                                  + fieldValue1[(int)morph.hash["mayuv"]] + ","
-                                  + fieldValue1[(int)morph.hash["mayuvhalf"]] + ","
-                                  + fieldValue1[(int)morph.hash["moutha"]] + ","
-                                  + fieldValue1[(int)morph.hash["mouths"]] + ","
-                                  + fieldValue1[(int)morph.hash["mouthdw"]] + ","
-                                  + fieldValue1[(int)morph.hash["mouthup"]] + ","
-                                  + fieldValue1[(int)morph.hash["tangout"]] + ","
-                                  + fieldValue1[(int)morph.hash["tangup"]] + ","
-                                  + fieldValue1[(int)morph.hash["eyebig"]] + ","
-                                  + fieldValue2[(int)morph.hash["eyeclose5"]] + ","
-                                  + fieldValue1[(int)morph.hash["mayuw"]] + ","
-                                  + fieldValue1[(int)morph.hash["mouthhe"]] + ","
-                                  + fieldValue1[(int)morph.hash["mouthc"]] + ","
-                                  + fieldValue1[(int)morph.hash["mouthi"]] + ","
-                                  + fieldValue1[(int)morph.hash["mouthuphalf"]] + ",";
+
+                    string str1 = inName4 + ":"
+                        + fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose")]] + ","
+                        + fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose2")]] + ","
+                        + fieldValue2[(int)morph.hash["eyeclose3"]] + ","
+                        + fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose6")]] + ","
+                        + fieldValue1[(int)morph.hash["hitomih"]] + ","
+                        + fieldValue1[(int)morph.hash["hitomis"]] + ","
+                        + fieldValue1[(int)morph.hash["mayuha"]] + ","
+                        + fieldValue1[(int)morph.hash["mayuup"]] + ","
+                        + fieldValue1[(int)morph.hash["mayuv"]] + ","
+                        + fieldValue1[(int)morph.hash["mayuvhalf"]] + ","
+                        + fieldValue1[(int)morph.hash["moutha"]] + ","
+                        + fieldValue1[(int)morph.hash["mouths"]] + ","
+                        + fieldValue1[(int)morph.hash["mouthdw"]] + ","
+                        + fieldValue1[(int)morph.hash["mouthup"]] + ","
+                        + fieldValue1[(int)morph.hash["tangout"]] + ","
+                        + fieldValue1[(int)morph.hash["tangup"]] + ","
+                        + fieldValue1[(int)morph.hash["eyebig"]] + ","
+                        + fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose5")]] + ","
+                        + fieldValue1[(int)morph.hash["mayuw"]] + ","
+                        + fieldValue1[(int)morph.hash["mouthhe"]] + ","
+                        + fieldValue1[(int)morph.hash["mouthc"]] + ","
+                        + fieldValue1[(int)morph.hash["mouthi"]] + ","
+                        + fieldValue1[(int)morph.hash["mouthuphalf"]] + ",";
                     string str2;
                     try
                     {
@@ -7212,10 +7216,10 @@ namespace CM3D2.MultipleMaids.Plugin
                     }
 
                     string[] strArray = faceComboList[faceIndex[selectMaidIndex]].text.Split(':')[2].Split(',');
-                    fieldValue2[(int)morph.hash["eyeclose"]] = float.Parse(strArray[0]);
-                    fieldValue2[(int)morph.hash["eyeclose2"]] = float.Parse(strArray[1]);
+                    fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose")]] = float.Parse(strArray[0]);
+                    fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose2")]] = float.Parse(strArray[1]);
                     fieldValue2[(int)morph.hash["eyeclose3"]] = float.Parse(strArray[2]);
-                    fieldValue2[(int)morph.hash["eyeclose6"]] = float.Parse(strArray[3]);
+                    fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose6")]] = float.Parse(strArray[3]);
                     fieldValue1[(int)morph.hash["hitomih"]] = float.Parse(strArray[4]);
                     fieldValue1[(int)morph.hash["hitomis"]] = float.Parse(strArray[5]);
                     fieldValue1[(int)morph.hash["mayuha"]] = float.Parse(strArray[6]);
@@ -7229,7 +7233,7 @@ namespace CM3D2.MultipleMaids.Plugin
                     fieldValue1[(int)morph.hash["tangout"]] = float.Parse(strArray[14]);
                     fieldValue1[(int)morph.hash["tangup"]] = float.Parse(strArray[15]);
                     fieldValue1[(int)morph.hash["eyebig"]] = float.Parse(strArray[16]);
-                    fieldValue2[(int)morph.hash["eyeclose5"]] = float.Parse(strArray[17]);
+                    fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose5")]] = float.Parse(strArray[17]);
                     fieldValue1[(int)morph.hash["mayuw"]] = float.Parse(strArray[18]);
                     fieldValue1[(int)morph.hash["mouthhe"]] = float.Parse(strArray[19]);
                     fieldValue1[(int)morph.hash["mouthc"]] = float.Parse(strArray[20]);

+ 51 - 50
MultipleMaids/CM3D2/MultipleMaids/Plugin/MultipleMaids.Update.cs

@@ -2272,29 +2272,30 @@ namespace CM3D2.MultipleMaids.Plugin
                     TMorph morph = maid.body0.Face.morph;
                     float[] fieldValue1 = GetFieldValue<TMorph, float[]>(morph, "BlendValues");
                     float[] fieldValue2 = GetFieldValue<TMorph, float[]>(morph, "BlendValuesBackup");
-                    string str118 = str117 + fieldValue2[(int)morph.hash["eyeclose"]] + ","
-                                    + fieldValue2[(int)morph.hash["eyeclose2"]] + ","
-                                    + fieldValue2[(int)morph.hash["eyeclose3"]] + ","
-                                    + fieldValue2[(int)morph.hash["eyeclose6"]] + ","
-                                    + fieldValue1[(int)morph.hash["hitomih"]] + ","
-                                    + fieldValue1[(int)morph.hash["hitomis"]] + ","
-                                    + fieldValue1[(int)morph.hash["mayuha"]] + ","
-                                    + fieldValue1[(int)morph.hash["mayuup"]] + ","
-                                    + fieldValue1[(int)morph.hash["mayuv"]] + ","
-                                    + fieldValue1[(int)morph.hash["mayuvhalf"]] + ","
-                                    + fieldValue1[(int)morph.hash["moutha"]] + ","
-                                    + fieldValue1[(int)morph.hash["mouths"]] + ","
-                                    + fieldValue1[(int)morph.hash["mouthdw"]] + ","
-                                    + fieldValue1[(int)morph.hash["mouthup"]] + ","
-                                    + fieldValue1[(int)morph.hash["tangout"]] + ","
-                                    + fieldValue1[(int)morph.hash["tangup"]] + ","
-                                    + fieldValue1[(int)morph.hash["eyebig"]] + ","
-                                    + fieldValue2[(int)morph.hash["eyeclose5"]] + ","
-                                    + fieldValue1[(int)morph.hash["mayuw"]] + ","
-                                    + fieldValue1[(int)morph.hash["mouthhe"]] + ","
-                                    + fieldValue1[(int)morph.hash["mouthc"]] + ","
-                                    + fieldValue1[(int)morph.hash["mouthi"]] + ","
-                                    + fieldValue1[(int)morph.hash["mouthuphalf"]] + ",";
+                    string str118 = str117
+                        + fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose")]] + ","
+                        + fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose2")]] + ","
+                        + fieldValue2[(int)morph.hash["eyeclose3"]] + ","
+                        + fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose6")]] + ","
+                        + fieldValue1[(int)morph.hash["hitomih"]] + ","
+                        + fieldValue1[(int)morph.hash["hitomis"]] + ","
+                        + fieldValue1[(int)morph.hash["mayuha"]] + ","
+                        + fieldValue1[(int)morph.hash["mayuup"]] + ","
+                        + fieldValue1[(int)morph.hash["mayuv"]] + ","
+                        + fieldValue1[(int)morph.hash["mayuvhalf"]] + ","
+                        + fieldValue1[(int)morph.hash["moutha"]] + ","
+                        + fieldValue1[(int)morph.hash["mouths"]] + ","
+                        + fieldValue1[(int)morph.hash["mouthdw"]] + ","
+                        + fieldValue1[(int)morph.hash["mouthup"]] + ","
+                        + fieldValue1[(int)morph.hash["tangout"]] + ","
+                        + fieldValue1[(int)morph.hash["tangup"]] + ","
+                        + fieldValue1[(int)morph.hash["eyebig"]] + ","
+                        + fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose5")]] + ","
+                        + fieldValue1[(int)morph.hash["mayuw"]] + ","
+                        + fieldValue1[(int)morph.hash["mouthhe"]] + ","
+                        + fieldValue1[(int)morph.hash["mouthc"]] + ","
+                        + fieldValue1[(int)morph.hash["mouthi"]] + ","
+                        + fieldValue1[(int)morph.hash["mouthuphalf"]] + ",";
                     string str119;
                     try
                     {
@@ -4075,10 +4076,10 @@ namespace CM3D2.MultipleMaids.Plugin
                                                     maid.boMabataki = false;
                                                 }
 
-                                                fieldValue2[(int)morph.hash["eyeclose"]] = float.Parse(strArray9[0]);
-                                                fieldValue2[(int)morph.hash["eyeclose2"]] = float.Parse(strArray9[1]);
+                                                fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose")]] = float.Parse(strArray9[0]);
+                                                fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose2")]] = float.Parse(strArray9[1]);
                                                 fieldValue2[(int)morph.hash["eyeclose3"]] = float.Parse(strArray9[2]);
-                                                fieldValue2[(int)morph.hash["eyeclose6"]] = float.Parse(strArray9[3]);
+                                                fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose6")]] = float.Parse(strArray9[3]);
                                                 fieldValue1[(int)morph.hash["hitomih"]] = float.Parse(strArray9[4]);
                                                 fieldValue1[(int)morph.hash["hitomis"]] = float.Parse(strArray9[5]);
                                                 fieldValue1[(int)morph.hash["mayuha"]] = float.Parse(strArray9[6]);
@@ -4092,7 +4093,7 @@ namespace CM3D2.MultipleMaids.Plugin
                                                 fieldValue1[(int)morph.hash["tangout"]] = float.Parse(strArray9[14]);
                                                 fieldValue1[(int)morph.hash["tangup"]] = float.Parse(strArray9[15]);
                                                 fieldValue1[(int)morph.hash["eyebig"]] = float.Parse(strArray9[16]);
-                                                fieldValue2[(int)morph.hash["eyeclose5"]] = float.Parse(strArray9[17]);
+                                                fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose5")]] = float.Parse(strArray9[17]);
                                                 fieldValue1[(int)morph.hash["mayuw"]] = float.Parse(strArray9[18]);
                                                 fieldValue1[(int)morph.hash["mouthhe"]] = float.Parse(strArray9[19]);
                                                 fieldValue1[(int)morph.hash["mouthc"]] = float.Parse(strArray9[20]);
@@ -6348,13 +6349,15 @@ namespace CM3D2.MultipleMaids.Plugin
                             isGlove = maid.body0.GetMask(TBody.SlotID.glove);
                             isMegane = maid.body0.GetMask(TBody.SlotID.megane);
                             isAccSenaka = maid.body0.GetMask(TBody.SlotID.accSenaka);
+
                             TMorph morph = maidArray[selectMaidIndex].body0.Face.morph;
                             float[] fieldValue1 = GetFieldValue<TMorph, float[]>(morph, "BlendValues");
                             float[] fieldValue2 = GetFieldValue<TMorph, float[]>(morph, "BlendValuesBackup");
-                            eyeclose = fieldValue2[(int)morph.hash["eyeclose"]];
-                            eyeclose2 = fieldValue2[(int)morph.hash["eyeclose2"]];
+
+                            eyeclose = fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose")]];
+                            eyeclose2 = fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose2")]];
                             eyeclose3 = fieldValue2[(int)morph.hash["eyeclose3"]];
-                            eyeclose6 = fieldValue2[(int)morph.hash["eyeclose6"]];
+                            eyeclose6 = fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose6")]];
                             hitomih = fieldValue1[(int)morph.hash["hitomih"]];
                             hitomis = fieldValue1[(int)morph.hash["hitomis"]];
                             mayuha = fieldValue1[(int)morph.hash["mayuha"]];
@@ -6368,7 +6371,7 @@ namespace CM3D2.MultipleMaids.Plugin
                             tangout = fieldValue1[(int)morph.hash["tangout"]];
                             tangup = fieldValue1[(int)morph.hash["tangup"]];
                             eyebig = fieldValue1[(int)morph.hash["eyebig"]];
-                            eyeclose5 = fieldValue2[(int)morph.hash["eyeclose5"]];
+                            eyeclose5 = fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose5")]];
                             mayuw = fieldValue1[(int)morph.hash["mayuw"]];
                             mouthhe = fieldValue1[(int)morph.hash["mouthhe"]];
                             mouthc = fieldValue1[(int)morph.hash["mouthc"]];
@@ -6705,10 +6708,10 @@ namespace CM3D2.MultipleMaids.Plugin
                             morph.EyeMabataki = 0.0f;
                             isFaceInit = false;
                             maidArray[selectMaidIndex].body0.Face.morph.FixBlendValues_Face();
-                            eyeclose = fieldValue2[(int)morph.hash["eyeclose"]];
-                            eyeclose2 = fieldValue2[(int)morph.hash["eyeclose2"]];
+                            eyeclose = fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose")]];
+                            eyeclose2 = fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose2")]];
                             eyeclose3 = fieldValue2[(int)morph.hash["eyeclose3"]];
-                            eyeclose6 = fieldValue2[(int)morph.hash["eyeclose6"]];
+                            eyeclose6 = fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose6")]];
                             hitomih = fieldValue1[(int)morph.hash["hitomih"]];
                             hitomis = fieldValue1[(int)morph.hash["hitomis"]];
                             mayuha = fieldValue1[(int)morph.hash["mayuha"]];
@@ -6722,7 +6725,7 @@ namespace CM3D2.MultipleMaids.Plugin
                             tangout = fieldValue1[(int)morph.hash["tangout"]];
                             tangup = fieldValue1[(int)morph.hash["tangup"]];
                             eyebig = fieldValue1[(int)morph.hash["eyebig"]];
-                            eyeclose5 = fieldValue2[(int)morph.hash["eyeclose5"]];
+                            eyeclose5 = fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose5")]];
                             mayuw = fieldValue1[(int)morph.hash["mayuw"]];
                             mouthhe = fieldValue1[(int)morph.hash["mouthhe"]];
                             mouthc = fieldValue1[(int)morph.hash["mouthc"]];
@@ -6932,10 +6935,11 @@ namespace CM3D2.MultipleMaids.Plugin
                             TMorph morph = maidArray[selectMaidIndex].body0.Face.morph;
                             float[] fieldValue1 = GetFieldValue<TMorph, float[]>(morph, "BlendValues");
                             float[] fieldValue2 = GetFieldValue<TMorph, float[]>(morph, "BlendValuesBackup");
-                            fieldValue2[(int)morph.hash["eyeclose"]] = eyeclose;
-                            fieldValue2[(int)morph.hash["eyeclose2"]] = eyeclose2;
+
+                            fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose")]] = eyeclose;
+                            fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose2")]] = eyeclose2;
                             fieldValue2[(int)morph.hash["eyeclose3"]] = eyeclose3;
-                            fieldValue2[(int)morph.hash["eyeclose6"]] = eyeclose6;
+                            fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose6")]] = eyeclose6;
                             fieldValue1[(int)morph.hash["hitomih"]] = hitomih;
                             fieldValue1[(int)morph.hash["hitomis"]] = hitomis;
                             fieldValue1[(int)morph.hash["mayuha"]] = mayuha;
@@ -6945,7 +6949,7 @@ namespace CM3D2.MultipleMaids.Plugin
                             fieldValue1[(int)morph.hash["tangout"]] = tangout;
                             fieldValue1[(int)morph.hash["tangup"]] = tangup;
                             fieldValue1[(int)morph.hash["eyebig"]] = eyebig;
-                            fieldValue2[(int)morph.hash["eyeclose5"]] = eyeclose5;
+                            fieldValue2[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose5")]] = eyeclose5;
                             fieldValue1[(int)morph.hash["mayuw"]] = mayuw;
                             try
                             {
@@ -6953,17 +6957,14 @@ namespace CM3D2.MultipleMaids.Plugin
                             }
                             catch { }
 
-                            if (!isDanceChu)
-                            {
-                                fieldValue1[(int)morph.hash["moutha"]] = moutha;
-                                fieldValue1[(int)morph.hash["mouths"]] = mouths;
-                                fieldValue1[(int)morph.hash["mouthdw"]] = mouthdw;
-                                fieldValue1[(int)morph.hash["mouthup"]] = mouthup;
-                                fieldValue1[(int)morph.hash["mouthhe"]] = mouthhe;
-                                fieldValue1[(int)morph.hash["mouthc"]] = mouthc;
-                                fieldValue1[(int)morph.hash["mouthi"]] = mouthi;
-                                fieldValue1[(int)morph.hash["mouthuphalf"]] = mouthuphalf;
-                            }
+                            fieldValue1[(int)morph.hash["moutha"]] = moutha;
+                            fieldValue1[(int)morph.hash["mouths"]] = mouths;
+                            fieldValue1[(int)morph.hash["mouthdw"]] = mouthdw;
+                            fieldValue1[(int)morph.hash["mouthup"]] = mouthup;
+                            fieldValue1[(int)morph.hash["mouthhe"]] = mouthhe;
+                            fieldValue1[(int)morph.hash["mouthc"]] = mouthc;
+                            fieldValue1[(int)morph.hash["mouthi"]] = mouthi;
+                            fieldValue1[(int)morph.hash["mouthuphalf"]] = mouthuphalf;
 
                             if (isNamida)
                             {

+ 16 - 1
MultipleMaids/CM3D2/MultipleMaids/Plugin/MultipleMaids.cs

@@ -5343,7 +5343,7 @@ namespace CM3D2.MultipleMaids.Plugin
                     GetFieldValue<TMorph, float[]>(morph, "BlendValues");
                     float[] fieldValue = GetFieldValue<TMorph, float[]>(morph, "BlendValuesBackup");
                     morph.EyeMabataki = 0.0f;
-                    fieldValue[(int)morph.hash["eyeclose"]] = 0.0f;
+                    fieldValue[(int)morph.hash[EyeCloseFaceKey(morph.bodyskin, "eyeclose")]] = 0.0f;
                 }
 
                 maid.body0.Face.morph.FixBlendValues_Face();
@@ -5756,6 +5756,21 @@ namespace CM3D2.MultipleMaids.Plugin
             SetBG2Props();
         }
 
+        private string EyeCloseFaceKey(TBodySkin face, string faceKey)
+        {
+            if (face.PartsVersion >= 120 && faceKey.IndexOf("eyeclose") == 0)
+            {
+                if (faceKey == "eyeclose3") return faceKey;
+                if (faceKey == "eyeclose")
+                {
+                    faceKey += '1';
+                }
+                TMorph.GP01FB_FACE_TYPE faceType = face.morph.GetFaceTypeGP01FB();
+                faceKey += TMorph.crcFaceTypesStr[(int)faceType];
+            }
+            return faceKey;
+        }
+
         private static void WriteToFile(string name, IEnumerable<string> list)
         {
             string modsPath = Path.Combine(Path.GetFullPath(".\\"), @"Mod");