Browse Source

Merge remote-tracking branch 'upstream/master'

habeebweeb 4 years ago
parent
commit
1f792332d6

+ 42 - 0
MultipleMaids/.vscode/tasks.json

@@ -0,0 +1,42 @@
+{
+    "version": "2.0.0",
+    "tasks": [
+        {
+            "label": "build",
+            "command": "dotnet",
+            "type": "process",
+            "args": [
+                "build",
+                "${workspaceFolder}/MultipleMaids.csproj",
+                "/property:GenerateFullPaths=true",
+                "/consoleloggerparameters:NoSummary"
+            ],
+            "problemMatcher": "$msCompile"
+        },
+        {
+            "label": "publish",
+            "command": "dotnet",
+            "type": "process",
+            "args": [
+                "publish",
+                "${workspaceFolder}/MultipleMaids.csproj",
+                "/property:GenerateFullPaths=true",
+                "/consoleloggerparameters:NoSummary"
+            ],
+            "problemMatcher": "$msCompile"
+        },
+        {
+            "label": "watch",
+            "command": "dotnet",
+            "type": "process",
+            "args": [
+                "watch",
+                "run",
+                "${workspaceFolder}/MultipleMaids.csproj",
+                "/property:GenerateFullPaths=true",
+                "/consoleloggerparameters:NoSummary"
+            ],
+            "problemMatcher": "$msCompile"
+        }
+    ]
+}

+ 4 - 4
MultipleMaids/CM3D2/MultipleMaids/Plugin/MultipleMaids.Init.cs

@@ -85,8 +85,8 @@ namespace CM3D2.MultipleMaids.Plugin
                 }
             }
 
-            goSlot = new List<TBodySkin>[200];
-            bodyHit = new List<TBodyHit>[200];
+            goSlot = new List<TBodySkin>[maxMaidCnt * 2];
+            bodyHit = new List<TBodyHit>[maxMaidCnt * 2];
             allowUpdate = true;
             okFlg = false;
             isDance = false;
@@ -551,8 +551,8 @@ namespace CM3D2.MultipleMaids.Plugin
                 maidArray[index1] = null;
             }
 
-            goSlot = new List<TBodySkin>[200];
-            bodyHit = new List<TBodyHit>[200];
+            goSlot = new List<TBodySkin>[maxMaidCnt * 2];
+            bodyHit = new List<TBodyHit>[maxMaidCnt * 2];
             allowUpdate = true;
             if (okFlg)
             {

+ 177 - 177
MultipleMaids/CM3D2/MultipleMaids/Plugin/MultipleMaids.cs

@@ -17,7 +17,7 @@ namespace CM3D2.MultipleMaids.Plugin
     public partial class MultipleMaids : PluginBase
     {
         private bool allowUpdate;
-        private readonly Vector3[] armL = new Vector3[100];
+        private readonly Vector3[] armL = new Vector3[maxMaidCnt];
         private bool atFlg;
         private AudioSource audioSourceBgm;
         private Transform bg;
@@ -649,18 +649,18 @@ namespace CM3D2.MultipleMaids.Plugin
         private float blur2;
         private float blur3;
         private float blur4;
-        private List<TBodyHit>[] bodyHit = new List<TBodyHit>[200];
+        private List<TBodyHit>[] bodyHit = new List<TBodyHit>[maxMaidCnt * 2];
         private float bokashi;
-        private readonly int[] cafeCount = new int[100];
-        private readonly bool[] cafeFlg = new bool[100];
+        private readonly int[] cafeCount = new int[maxMaidCnt];
+        private readonly bool[] cafeFlg = new bool[maxMaidCnt];
         private Vector3 cameraIti = new Vector3(0.0f, 0.9f, 0.0f);
         private Vector3 cameraIti2;
         private Vector2 cameraItiAngle;
         private float cameraItiDistance = 3f;
         private GameObject cameraObj;
         private Transform Clavicle;
-        private readonly Transform[] ClavicleL1 = new Transform[100];
-        private readonly Transform[] ClavicleR1 = new Transform[100];
+        private readonly Transform[] ClavicleL1 = new Transform[maxMaidCnt];
+        private readonly Transform[] ClavicleR1 = new Transform[maxMaidCnt];
         private readonly ComboBox2 comboBoxControl = new ComboBox2();
         private GUIContent[] comboBoxList;
 
@@ -1633,8 +1633,8 @@ namespace CM3D2.MultipleMaids.Plugin
         private readonly float[] danceCheck = new float[10];
         private int danceCheckIndex;
         private int danceCount;
-        private readonly float[] danceFace = new float[100];
-        private readonly string[] danceName = new string[100];
+        private readonly float[] danceFace = new float[maxMaidCnt];
+        private readonly string[] danceName = new string[maxMaidCnt];
         private int danceNo1 = 1;
         private int danceNo2 = 2;
         private int danceNo3 = 3;
@@ -2415,12 +2415,12 @@ namespace CM3D2.MultipleMaids.Plugin
                 "182.1078936,ダンス目つむり,頬0涙0", "182.9027717,ダンス目あけ,頬0涙0"
         };
 
-        private readonly Vector3[] dancePos = new Vector3[100];
-        private readonly Quaternion[] danceRot = new Quaternion[100];
+        private readonly Vector3[] dancePos = new Vector3[maxMaidCnt];
+        private readonly Quaternion[] danceRot = new Quaternion[maxMaidCnt];
         private int danceWait;
         private readonly string[] date = new string[10];
-        private readonly int[] delCount = new int[100];
-        private readonly int[] delCount2 = new int[100];
+        private readonly int[] delCount = new int[maxMaidCnt];
+        private readonly int[] delCount2 = new int[maxMaidCnt];
         private DepthOfFieldScatter depth_field_ = GameMain.Instance.MainCamera.GetComponent<DepthOfFieldScatter>();
         private float depth1;
         private float depth2;
@@ -2512,8 +2512,8 @@ namespace CM3D2.MultipleMaids.Plugin
         private float eyeclose3;
         private float eyeclose5;
         private float eyeclose6;
-        private readonly Vector3[] eyeL = new Vector3[200];
-        private readonly Vector3[] eyeR = new Vector3[200];
+        private readonly Vector3[] eyeL = new Vector3[maxMaidCnt * 2];
+        private readonly Vector3[] eyeR = new Vector3[maxMaidCnt * 2];
         private int F6cnt;
 
         private readonly string[] faceArray = new string[40]
@@ -2526,20 +2526,20 @@ namespace CM3D2.MultipleMaids.Plugin
         private readonly string[] faceBlendArray = new string[11]
                 {"頬0涙0", "頬1涙0", "頬2涙0", "頬3涙0", "頬1涙1", "頬2涙1", "頬3涙1", "頬1涙2", "頬2涙2", "頬3涙2", "頬3涙3"};
 
-        private readonly int[] faceBlendIndex = new int[100];
+        private readonly int[] faceBlendIndex = new int[maxMaidCnt];
         private readonly ComboBox2 faceCombo = new ComboBox2();
         private GUIContent[] faceComboList;
         private bool faceFlg;
         private bool faceFlg2;
-        private readonly int[] faceIndex = new int[100];
+        private readonly int[] faceIndex = new int[maxMaidCnt];
         private bool faceInitFlg;
-        private readonly string[] FaceName = new string[100];
-        private readonly string[] FaceName2 = new string[100];
-        private readonly string[] FaceName3 = new string[100];
-        private readonly float[] FaceTime = new float[100];
+        private readonly string[] FaceName = new string[maxMaidCnt];
+        private readonly string[] FaceName2 = new string[maxMaidCnt];
+        private readonly string[] FaceName3 = new string[maxMaidCnt];
+        private readonly float[] FaceTime = new float[maxMaidCnt];
         private bool fFlg;
-        private readonly Transform[,] Finger = new Transform[100, 40];
-        private readonly Transform[,] Finger2 = new Transform[100, 18];
+        private readonly Transform[,] Finger = new Transform[maxMaidCnt, 40];
+        private readonly Transform[,] Finger2 = new Transform[maxMaidCnt, 18];
 
         private readonly string[,] fingerLArray = new string[18, 20]
         {
@@ -2794,50 +2794,50 @@ namespace CM3D2.MultipleMaids.Plugin
         private float fog7;
         private int fontSize = 25;
         private Transform ForearmL;
-        private readonly Transform[] ForearmL1 = new Transform[100];
-        private readonly Transform[] ForearmL2 = new Transform[100];
-        private readonly Transform[] ForearmR1 = new Transform[100];
-        private readonly Transform[] ForearmR2 = new Transform[100];
-        private readonly GameObject[] gArmL = new GameObject[100];
-        private readonly GameObject[] gArmR = new GameObject[100];
+        private readonly Transform[] ForearmL1 = new Transform[maxMaidCnt];
+        private readonly Transform[] ForearmL2 = new Transform[maxMaidCnt];
+        private readonly Transform[] ForearmR1 = new Transform[maxMaidCnt];
+        private readonly Transform[] ForearmR2 = new Transform[maxMaidCnt];
+        private readonly GameObject[] gArmL = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gArmR = new GameObject[maxMaidCnt];
         private GameObject gBg = new GameObject();
-        private readonly GameObject[] gClavicleL = new GameObject[100];
-        private readonly GameObject[] gClavicleR = new GameObject[100];
+        private readonly GameObject[] gClavicleL = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gClavicleR = new GameObject[maxMaidCnt];
         private readonly GameObject[] gDogu = new GameObject[999];
-        private readonly GameObject[,] gFinger = new GameObject[100, 30];
-        private readonly GameObject[,] gFinger2 = new GameObject[100, 12];
-        private readonly GameObject[] gFootL = new GameObject[100];
-        private readonly GameObject[] gFootR = new GameObject[100];
-        private readonly GameObject[] gHandL = new GameObject[100];
-        private readonly GameObject[] gHandR = new GameObject[100];
-        private readonly GameObject[] gHead = new GameObject[100];
-        private readonly GameObject[] gHead2 = new GameObject[100];
-        private readonly GameObject[] gHizaL = new GameObject[100];
-        private readonly GameObject[] gHizaR = new GameObject[100];
-        private readonly GameObject[] gIKHandL = new GameObject[100];
-        private readonly GameObject[] gIKHandR = new GameObject[100];
-        private readonly GameObject[] gIKMuneL = new GameObject[100];
-        private readonly GameObject[] gIKMuneR = new GameObject[100];
-        private readonly GizmoRender[] gizmoFootL = new GizmoRender[100];
-        private readonly GizmoRender[] gizmoFootR = new GizmoRender[100];
-        private readonly GizmoRender[] gizmoHandL = new GizmoRender[100];
-        private readonly GizmoRender[] gizmoHandR = new GizmoRender[100];
-        private readonly GizmoRender[] gizmoNeck = new GizmoRender[100];
-        private readonly GizmoRender[] gizmoPelvis = new GizmoRender[100];
-        private readonly GameObject[] gJotai = new GameObject[100];
-        private readonly GameObject[] gKahuku = new GameObject[100];
+        private readonly GameObject[,] gFinger = new GameObject[maxMaidCnt, 30];
+        private readonly GameObject[,] gFinger2 = new GameObject[maxMaidCnt, 12];
+        private readonly GameObject[] gFootL = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gFootR = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gHandL = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gHandR = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gHead = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gHead2 = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gHizaL = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gHizaR = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gIKHandL = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gIKHandR = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gIKMuneL = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gIKMuneR = new GameObject[maxMaidCnt];
+        private readonly GizmoRender[] gizmoFootL = new GizmoRender[maxMaidCnt];
+        private readonly GizmoRender[] gizmoFootR = new GizmoRender[maxMaidCnt];
+        private readonly GizmoRender[] gizmoHandL = new GizmoRender[maxMaidCnt];
+        private readonly GizmoRender[] gizmoHandR = new GizmoRender[maxMaidCnt];
+        private readonly GizmoRender[] gizmoNeck = new GizmoRender[maxMaidCnt];
+        private readonly GizmoRender[] gizmoPelvis = new GizmoRender[maxMaidCnt];
+        private readonly GameObject[] gJotai = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gKahuku = new GameObject[maxMaidCnt];
         private readonly GameObject[] gLight = new GameObject[999];
-        private readonly GameObject[] gMaid = new GameObject[100];
-        private readonly GameObject[] gMaid2 = new GameObject[100];
-        private readonly GameObject[] gMaidC = new GameObject[100];
-        private readonly GameObject[] gNeck = new GameObject[100];
-        private List<TBodySkin>[] goSlot = new List<TBodySkin>[200];
-        private readonly GameObject[] gPelvis = new GameObject[100];
+        private readonly GameObject[] gMaid = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gMaid2 = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gMaidC = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gNeck = new GameObject[maxMaidCnt];
+        private List<TBodySkin>[] goSlot = new List<TBodySkin>[maxMaidCnt * 2];
+        private readonly GameObject[] gPelvis = new GameObject[maxMaidCnt];
         private ArrayList groupList;
-        private readonly GameObject[] gSpine = new GameObject[100];
-        private readonly GameObject[] gSpine0a = new GameObject[100];
-        private readonly GameObject[] gSpine1 = new GameObject[100];
-        private readonly GameObject[] gSpine1a = new GameObject[100];
+        private readonly GameObject[] gSpine = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gSpine0a = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gSpine1 = new GameObject[maxMaidCnt];
+        private readonly GameObject[] gSpine1a = new GameObject[maxMaidCnt];
         private readonly GameObject[] gt = new GameObject[70];
 
         private readonly int[] h0Array = new int[5371]
@@ -4021,41 +4021,41 @@ namespace CM3D2.MultipleMaids.Plugin
         };
 
         private Transform HandL;
-        private readonly Transform[] HandL1 = new Transform[100];
-        private readonly Transform[] HandL2 = new Transform[100];
-        private readonly Transform[] HandR1 = new Transform[100];
-        private readonly Transform[] HandR2 = new Transform[100];
-        private readonly bool[] hanten = new bool[100];
-        private readonly bool[] hantenn = new bool[100];
-        private readonly int[] haraCount = new int[100];
-        private readonly Vector3[] haraPosition = new Vector3[100];
+        private readonly Transform[] HandL1 = new Transform[maxMaidCnt];
+        private readonly Transform[] HandL2 = new Transform[maxMaidCnt];
+        private readonly Transform[] HandR1 = new Transform[maxMaidCnt];
+        private readonly Transform[] HandR2 = new Transform[maxMaidCnt];
+        private readonly bool[] hanten = new bool[maxMaidCnt];
+        private readonly bool[] hantenn = new bool[maxMaidCnt];
+        private readonly int[] haraCount = new int[maxMaidCnt];
+        private readonly Vector3[] haraPosition = new Vector3[maxMaidCnt];
         private Transform Head;
-        private readonly Transform[] Head1 = new Transform[100];
-        private readonly Transform[] Head2 = new Transform[100];
-        private readonly Transform[] Head3 = new Transform[100];
+        private readonly Transform[] Head1 = new Transform[maxMaidCnt];
+        private readonly Transform[] Head2 = new Transform[maxMaidCnt];
+        private readonly Transform[] Head3 = new Transform[maxMaidCnt];
 
         private readonly int[] headEyeArray = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
 
-        private readonly int[] headEyeIndex = new int[100];
+        private readonly int[] headEyeIndex = new int[maxMaidCnt];
         private bool hFlg;
         private float hitomih;
         private float hitomis;
-        private readonly bool[] idoFlg = new bool[100];
+        private readonly bool[] idoFlg = new bool[maxMaidCnt];
         private bool idoFlg2;
         private Transform IK_hand;
         private int ikBui;
-        private readonly Transform[] IKHandL = new Transform[100];
-        private readonly Transform[] IKHandR = new Transform[100];
+        private readonly Transform[] IKHandL = new Transform[maxMaidCnt];
+        private readonly Transform[] IKHandR = new Transform[maxMaidCnt];
         private readonly IK ikLeftArm = new IK();
         private int ikMaid;
-        private readonly int[] ikMode = new int[100];
+        private readonly int[] ikMode = new int[maxMaidCnt];
         private int ikMode2;
-        private readonly int[] ikModeOld = new int[100];
+        private readonly int[] ikModeOld = new int[maxMaidCnt];
         private int ikModeOld2;
-        private readonly Transform[] IKMuneL = new Transform[100];
-        private readonly Transform[] IKMuneLSub = new Transform[100];
-        private readonly Transform[] IKMuneR = new Transform[100];
-        private readonly Transform[] IKMuneRSub = new Transform[100];
+        private readonly Transform[] IKMuneL = new Transform[maxMaidCnt];
+        private readonly Transform[] IKMuneLSub = new Transform[maxMaidCnt];
+        private readonly Transform[] IKMuneR = new Transform[maxMaidCnt];
+        private readonly Transform[] IKMuneRSub = new Transform[maxMaidCnt];
         private string inName = "";
         private string inName2 = "";
         private string inName3 = "";
@@ -4070,12 +4070,12 @@ namespace CM3D2.MultipleMaids.Plugin
         private bool isBlur;
         private bool isBlur2;
         private bool isBlurS;
-        private readonly bool[] isBone = new bool[100];
-        private readonly bool[] isBoneN = new bool[100];
+        private readonly bool[] isBone = new bool[maxMaidCnt];
+        private readonly bool[] isBoneN = new bool[maxMaidCnt];
         private bool isBra;
         private bool isBusyInit;
         private bool isCF1;
-        private readonly bool[] isChange = new bool[100];
+        private readonly bool[] isChange = new bool[maxMaidCnt];
         private bool isCM3D2;
         private bool isCombo;
         private bool isCombo2;
@@ -4138,7 +4138,7 @@ namespace CM3D2.MultipleMaids.Plugin
         private bool isDepth;
         private bool isDepthA;
         private bool isDepthS;
-        private readonly bool[] isEdit = new bool[100];
+        private readonly bool[] isEdit = new bool[maxMaidCnt];
         private int isEditNo;
         private bool isF2;
         private bool isF3;
@@ -4147,7 +4147,7 @@ namespace CM3D2.MultipleMaids.Plugin
         private bool isF7;
         private bool isF7S;
         private bool isF7SInit;
-        private readonly bool[] isFace = new bool[100];
+        private readonly bool[] isFace = new bool[maxMaidCnt];
         private bool isFaceEdit;
         private bool isFaceInit;
         private bool isFadeOut;
@@ -4179,7 +4179,7 @@ namespace CM3D2.MultipleMaids.Plugin
         private bool isIdx2;
         private bool isIdx3;
         private bool isIdx4;
-        private readonly bool[] isIK = new bool[100];
+        private readonly bool[] isIK = new bool[maxMaidCnt];
         private bool isIKAll;
         private bool isInit;
         private bool isKA;
@@ -4188,12 +4188,12 @@ namespace CM3D2.MultipleMaids.Plugin
         private bool isKHG1;
         private bool isKHG2;
         private bool isKT1;
-        private readonly bool[] isLoadFace = new bool[100];
-        private readonly bool[] isLoadPose = new bool[100];
-        private readonly bool[] isLock = new bool[100];
-        private readonly bool[] isLook = new bool[100];
-        private readonly bool[] isLookn = new bool[100];
-        private readonly bool[] isMabataki = new bool[100];
+        private readonly bool[] isLoadFace = new bool[maxMaidCnt];
+        private readonly bool[] isLoadPose = new bool[maxMaidCnt];
+        private readonly bool[] isLock = new bool[maxMaidCnt];
+        private readonly bool[] isLook = new bool[maxMaidCnt];
+        private readonly bool[] isLookn = new bool[maxMaidCnt];
+        private readonly bool[] isMabataki = new bool[maxMaidCnt];
         private bool isMaid;
         private bool isMegane;
         private bool isMekure1;
@@ -4206,10 +4206,10 @@ namespace CM3D2.MultipleMaids.Plugin
         private bool isNosefook;
         private bool isPanel = true;
         private bool isPanz;
-        private readonly bool[] isPose = new bool[100];
+        private readonly bool[] isPose = new bool[maxMaidCnt];
         private bool isPoseEdit;
         private bool isPoseInit;
-        private readonly bool[] isPoseIti = new bool[100];
+        private readonly bool[] isPoseIti = new bool[maxMaidCnt];
         private bool isPP;
         private bool isPP2;
         private bool isPP3;
@@ -4250,7 +4250,7 @@ namespace CM3D2.MultipleMaids.Plugin
         private bool isSS5;
         private bool isSS6;
         private bool isStkg;
-        private readonly bool[] isStop = new bool[100];
+        private readonly bool[] isStop = new bool[maxMaidCnt];
         private bool isTear1;
         private bool isTear2;
         private bool isTear3;
@@ -4336,11 +4336,11 @@ namespace CM3D2.MultipleMaids.Plugin
         private GUIContent[] itemCombo2List;
         private GUIContent[] itemComboList;
         private readonly List<ItemData> itemDataList = new List<ItemData>();
-        private readonly int[] itemIndex = new int[100];
-        private readonly int[] itemIndex2 = new int[100];
+        private readonly int[] itemIndex = new int[maxMaidCnt];
+        private readonly int[] itemIndex2 = new int[maxMaidCnt];
         private int itemIndexB;
-        private readonly Vector3[] JumpChkPosArray = new Vector3[100];
-        private readonly Transform[] JumpChkTArray = new Transform[100];
+        private readonly Vector3[] JumpChkPosArray = new Vector3[maxMaidCnt];
+        private readonly Transform[] JumpChkTArray = new Transform[maxMaidCnt];
         private GameObject kami;
         private float kamiyure;
         private float kamiyure2;
@@ -4361,7 +4361,7 @@ namespace CM3D2.MultipleMaids.Plugin
 
         private bool keyFlg;
         private bool keyFlg2;
-        private readonly bool[] kotei = new bool[100];
+        private readonly bool[] kotei = new bool[maxMaidCnt];
         private List<float> lightAkarusa = new List<float>();
         private List<float> lightColorB = new List<float>();
         private List<float> lightColorG = new List<float>();
@@ -4382,25 +4382,25 @@ namespace CM3D2.MultipleMaids.Plugin
         private readonly GUIStyle listStyle2 = new GUIStyle();
         private readonly GUIStyle listStyle3 = new GUIStyle();
         private readonly GUIStyle listStyle4 = new GUIStyle();
-        private readonly int[] loadCount = new int[100];
-        private readonly string[] loadPose = new string[100];
+        private readonly int[] loadCount = new int[maxMaidCnt];
+        private readonly string[] loadPose = new string[maxMaidCnt];
         private int loadScene;
-        private readonly float[] lookX = new float[100];
-        private readonly float[] lookXn = new float[100];
-        private readonly float[] lookY = new float[100];
-        private readonly float[] lookYn = new float[100];
-        private readonly byte[][] m_baKuchipakuPattern = new byte[100][];
+        private readonly float[] lookX = new float[maxMaidCnt];
+        private readonly float[] lookXn = new float[maxMaidCnt];
+        private readonly float[] lookY = new float[maxMaidCnt];
+        private readonly float[] lookYn = new float[maxMaidCnt];
+        private readonly byte[][] m_baKuchipakuPattern = new byte[maxMaidCnt][];
         private Material m_material;
         private Material m_material2;
         private Material m_material3;
         private UltimateOrbitCamera m_UOCamera;
-        private readonly Maid[] maidArray = new Maid[100];
+        private readonly Maid[] maidArray = new Maid[maxMaidCnt];
         private int maidCnt;
         private CameraMain mainCamera;
         private Transform mainCameraTransform;
-        private readonly MouseDrag[] mArmL = new MouseDrag[100];
-        private readonly MouseDrag[] mArmR = new MouseDrag[100];
-        private readonly int maxMaidCnt = 100;
+        private readonly MouseDrag[] mArmL = new MouseDrag[maxMaidCnt];
+        private readonly MouseDrag[] mArmR = new MouseDrag[maxMaidCnt];
+        private static readonly int maxMaidCnt = 999;
         private int maxPage = 20;
         private float mayuha;
         private float mayuup;
@@ -4408,37 +4408,37 @@ namespace CM3D2.MultipleMaids.Plugin
         private float mayuw;
         private float mayuvhalf;
         private MouseDrag6 mBg = new MouseDrag6();
-        private readonly MouseDrag[] mClavicleL = new MouseDrag[100];
-        private readonly MouseDrag[] mClavicleR = new MouseDrag[100];
+        private readonly MouseDrag[] mClavicleL = new MouseDrag[maxMaidCnt];
+        private readonly MouseDrag[] mClavicleR = new MouseDrag[maxMaidCnt];
         private readonly MouseDrag6[] mDogu = new MouseDrag6[999];
-        private readonly bool[] mekure1 = new bool[100];
-        private readonly bool[] mekure1n = new bool[100];
-        private readonly bool[] mekure2 = new bool[100];
-        private readonly bool[] mekure2n = new bool[100];
+        private readonly bool[] mekure1 = new bool[maxMaidCnt];
+        private readonly bool[] mekure1n = new bool[maxMaidCnt];
+        private readonly bool[] mekure2 = new bool[maxMaidCnt];
+        private readonly bool[] mekure2n = new bool[maxMaidCnt];
         private int mekureCount;
-        private readonly MouseDrag[,] mFinger = new MouseDrag[100, 30];
-        private readonly MouseDrag[,] mFinger2 = new MouseDrag[100, 12];
+        private readonly MouseDrag[,] mFinger = new MouseDrag[maxMaidCnt, 30];
+        private readonly MouseDrag[,] mFinger2 = new MouseDrag[maxMaidCnt, 12];
         private bool mFlg;
         private int mFontSize = 25;
-        private readonly MouseDrag[] mFootL = new MouseDrag[100];
-        private readonly MouseDrag[] mFootR = new MouseDrag[100];
-        private readonly MouseDrag[] mHandL = new MouseDrag[100];
-        private readonly MouseDrag[] mHandR = new MouseDrag[100];
-        private readonly MouseDrag3[] mHead = new MouseDrag3[100];
-        private readonly MouseDrag5[] mHead2 = new MouseDrag5[100];
-        private readonly MouseDrag[] mHizaL = new MouseDrag[100];
-        private readonly MouseDrag[] mHizaR = new MouseDrag[100];
-        private readonly MouseDrag4[] mIKHandL = new MouseDrag4[100];
-        private readonly MouseDrag4[] mIKHandR = new MouseDrag4[100];
-        private readonly MouseDrag[] mIKMuneL = new MouseDrag[100];
-        private readonly MouseDrag[] mIKMuneR = new MouseDrag[100];
-        private readonly MouseDrag3[] mJotai = new MouseDrag3[100];
-        private readonly MouseDrag3[] mKahuku = new MouseDrag3[100];
+        private readonly MouseDrag[] mFootL = new MouseDrag[maxMaidCnt];
+        private readonly MouseDrag[] mFootR = new MouseDrag[maxMaidCnt];
+        private readonly MouseDrag[] mHandL = new MouseDrag[maxMaidCnt];
+        private readonly MouseDrag[] mHandR = new MouseDrag[maxMaidCnt];
+        private readonly MouseDrag3[] mHead = new MouseDrag3[maxMaidCnt];
+        private readonly MouseDrag5[] mHead2 = new MouseDrag5[maxMaidCnt];
+        private readonly MouseDrag[] mHizaL = new MouseDrag[maxMaidCnt];
+        private readonly MouseDrag[] mHizaR = new MouseDrag[maxMaidCnt];
+        private readonly MouseDrag4[] mIKHandL = new MouseDrag4[maxMaidCnt];
+        private readonly MouseDrag4[] mIKHandR = new MouseDrag4[maxMaidCnt];
+        private readonly MouseDrag[] mIKMuneL = new MouseDrag[maxMaidCnt];
+        private readonly MouseDrag[] mIKMuneR = new MouseDrag[maxMaidCnt];
+        private readonly MouseDrag3[] mJotai = new MouseDrag3[maxMaidCnt];
+        private readonly MouseDrag3[] mKahuku = new MouseDrag3[maxMaidCnt];
         private readonly MouseDrag6[] mLight = new MouseDrag6[999];
-        private readonly MouseDrag2[] mMaid = new MouseDrag2[100];
-        private readonly MouseDrag5[] mMaid2 = new MouseDrag5[100];
-        private readonly MouseDrag2[] mMaidC = new MouseDrag2[100];
-        private readonly MouseDrag3[] mNeck = new MouseDrag3[100];
+        private readonly MouseDrag2[] mMaid = new MouseDrag2[maxMaidCnt];
+        private readonly MouseDrag5[] mMaid2 = new MouseDrag5[maxMaidCnt];
+        private readonly MouseDrag2[] mMaidC = new MouseDrag2[maxMaidCnt];
+        private readonly MouseDrag3[] mNeck = new MouseDrag3[maxMaidCnt];
         private float moutha;
         private float mouthc;
         private float mouthdw;
@@ -4448,18 +4448,18 @@ namespace CM3D2.MultipleMaids.Plugin
         private float mouthup;
         private float mouthuphalf;
         private readonly bool moveBg = false;
-        private readonly MouseDrag3[] mPelvis = new MouseDrag3[100];
-        private readonly MouseDrag3[] mSpine = new MouseDrag3[100];
-        private readonly MouseDrag3[] mSpine0a = new MouseDrag3[100];
-        private readonly MouseDrag3[] mSpine1 = new MouseDrag3[100];
-        private readonly MouseDrag3[] mSpine1a = new MouseDrag3[100];
-        private readonly bool[] muneIKL = new bool[100];
-        private readonly bool[] muneIKR = new bool[100];
+        private readonly MouseDrag3[] mPelvis = new MouseDrag3[maxMaidCnt];
+        private readonly MouseDrag3[] mSpine = new MouseDrag3[maxMaidCnt];
+        private readonly MouseDrag3[] mSpine0a = new MouseDrag3[maxMaidCnt];
+        private readonly MouseDrag3[] mSpine1 = new MouseDrag3[maxMaidCnt];
+        private readonly MouseDrag3[] mSpine1a = new MouseDrag3[maxMaidCnt];
+        private readonly bool[] muneIKL = new bool[maxMaidCnt];
+        private readonly bool[] muneIKR = new bool[maxMaidCnt];
         private string nameA = "";
         private bool nameFlg;
         private string nameK = "";
         private string nameS = "";
-        private readonly Transform[] Neck = new Transform[100];
+        private readonly Transform[] Neck = new Transform[maxMaidCnt];
         private readonly string[] ninzu = new string[10];
         private bool okFlg;
         private int page;
@@ -4485,9 +4485,9 @@ namespace CM3D2.MultipleMaids.Plugin
         private int parIndex;
         private readonly List<int> parList = new List<int>();
         private Transform Pelvis;
-        private readonly Transform[] Pelvis2 = new Transform[100];
-        private readonly int[] pHandL = new int[100];
-        private readonly int[] pHandR = new int[100];
+        private readonly Transform[] Pelvis2 = new Transform[maxMaidCnt];
+        private readonly int[] pHandL = new int[maxMaidCnt];
+        private readonly int[] pHandR = new int[maxMaidCnt];
         private string[] poseArray;
 
         private readonly string[] poseArray2 = new string[210]
@@ -4713,7 +4713,7 @@ namespace CM3D2.MultipleMaids.Plugin
 
         private readonly ComboBox2 poseCombo = new ComboBox2();
         private GUIContent[] poseComboList;
-        private readonly int[] poseCount = new int[100];
+        private readonly int[] poseCount = new int[maxMaidCnt];
         private bool poseFlg;
         private string[] poseGroupArray;
 
@@ -4741,10 +4741,10 @@ namespace CM3D2.MultipleMaids.Plugin
         private readonly ComboBox2 poseGroupCombo = new ComboBox2();
         private GUIContent[] poseGroupComboList;
         private int poseGroupIndex;
-        private readonly int[] poseIndex = new int[100];
+        private readonly int[] poseIndex = new int[maxMaidCnt];
         private string poseIniStr = "";
         private bool poseInitFlg;
-        private readonly Vector3[] poseIti = new Vector3[100];
+        private readonly Vector3[] poseIti = new Vector3[maxMaidCnt];
 
         private readonly int[] pureArray = new int[2299]
         {
@@ -4879,8 +4879,8 @@ namespace CM3D2.MultipleMaids.Plugin
         private int selectMaidIndex;
         private SepiaToneEffect sepia_tone_ = GameMain.Instance.MainCamera.GetComponent<SepiaToneEffect>();
         private bool sFlg;
-        private readonly bool[] shodaiFlg = new bool[200];
-        private readonly DynamicSkirtBone[][] SkirtListArray = new DynamicSkirtBone[200][];
+        private readonly bool[] shodaiFlg = new bool[maxMaidCnt * 2];
+        private readonly DynamicSkirtBone[][] SkirtListArray = new DynamicSkirtBone[maxMaidCnt * 2][];
         private float skirtyure2;
         private float skirtyure3;
         private float skirtyure4;
@@ -4901,12 +4901,12 @@ namespace CM3D2.MultipleMaids.Plugin
         private float speed = 1f;
         private Transform Spine;
         private Transform Spine0a;
-        private readonly Transform[] Spine0a2 = new Transform[100];
+        private readonly Transform[] Spine0a2 = new Transform[maxMaidCnt];
         private Transform Spine1;
-        private readonly Transform[] Spine12 = new Transform[100];
+        private readonly Transform[] Spine12 = new Transform[maxMaidCnt];
         private Transform Spine1a;
-        private readonly Transform[] Spine1a2 = new Transform[100];
-        private readonly Transform[] Spine2 = new Transform[100];
+        private readonly Transform[] Spine1a2 = new Transform[maxMaidCnt];
+        private readonly Transform[] Spine2 = new Transform[maxMaidCnt];
         private int sPoseCount;
         private List<string> strList2 = new List<string>();
         private List<string> strListD = new List<string>();
@@ -5032,24 +5032,24 @@ namespace CM3D2.MultipleMaids.Plugin
         private readonly List<UICamera> ui_cam_hide_list_ = new List<UICamera>();
         private bool unLockFlg;
         private Transform UpperArmL;
-        private readonly Transform[] UpperArmL1 = new Transform[100];
-        private readonly Transform[] UpperArmL2 = new Transform[100];
-        private readonly Transform[] UpperArmR1 = new Transform[100];
-        private readonly Transform[] UpperArmR2 = new Transform[100];
+        private readonly Transform[] UpperArmL1 = new Transform[maxMaidCnt];
+        private readonly Transform[] UpperArmL2 = new Transform[maxMaidCnt];
+        private readonly Transform[] UpperArmR1 = new Transform[maxMaidCnt];
+        private readonly Transform[] UpperArmR2 = new Transform[maxMaidCnt];
         private Texture2D waku;
         private Texture2D waku2;
         private int wearIndex;
         private bool wFlg;
-        private readonly Vector3[] vIKMuneL = new Vector3[100];
-        private readonly Vector3[] vIKMuneLSub = new Vector3[100];
-        private readonly Vector3[] vIKMuneR = new Vector3[100];
-        private readonly Vector3[] vIKMuneRSub = new Vector3[100];
-        private readonly bool[] voice1 = new bool[100];
-        private readonly bool[] voice1n = new bool[100];
-        private readonly bool[] voice2 = new bool[100];
-        private readonly bool[] voice2n = new bool[100];
+        private readonly Vector3[] vIKMuneL = new Vector3[maxMaidCnt];
+        private readonly Vector3[] vIKMuneLSub = new Vector3[maxMaidCnt];
+        private readonly Vector3[] vIKMuneR = new Vector3[maxMaidCnt];
+        private readonly Vector3[] vIKMuneRSub = new Vector3[maxMaidCnt];
+        private readonly bool[] voice1 = new bool[maxMaidCnt];
+        private readonly bool[] voice1n = new bool[maxMaidCnt];
+        private readonly bool[] voice2 = new bool[maxMaidCnt];
+        private readonly bool[] voice2n = new bool[maxMaidCnt];
         private readonly Vector3[] wv = new Vector3[70];
-        private readonly bool[] xFlg = new bool[100];
+        private readonly bool[] xFlg = new bool[maxMaidCnt];
 
         private readonly int[] yanArray = new int[2359]
         {
@@ -5180,9 +5180,9 @@ namespace CM3D2.MultipleMaids.Plugin
 
         private bool yFlg;
         private bool yotogiFlg;
-        private readonly bool[] zFlg = new bool[100];
-        private readonly bool[] zurasi = new bool[100];
-        private readonly bool[] zurasin = new bool[100];
+        private readonly bool[] zFlg = new bool[maxMaidCnt];
+        private readonly bool[] zurasi = new bool[maxMaidCnt];
+        private readonly bool[] zurasin = new bool[maxMaidCnt];
 
         public void Awake()
         {
@@ -5425,7 +5425,7 @@ namespace CM3D2.MultipleMaids.Plugin
             string str2 = string.Empty;
             string empty1 = string.Empty;
             string empty2 = string.Empty;
-            string[] strArray = new string[100];
+            string[] strArray = new string[maxMaidCnt];
             int num2 = 0;
             try
             {

+ 16 - 4
MultipleMaids/MultipleMaids.csproj

@@ -1,12 +1,16 @@
+<<<<<<< HEAD
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <Import Project="packages\ILRepack.2.0.17\build\ILRepack.props" Condition="Exists('packages\ILRepack.2.0.17\build\ILRepack.props')" />
+=======
+<Project Sdk="Microsoft.NET.Sdk">
+>>>>>>> upstream/master
   <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{B5308AA1-CCC7-4EE2-B85D-A5BB3D0C8872}</ProjectGuid>
-    <OutputType>Library</OutputType>
+    <TargetFramework>net35</TargetFramework>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <FrameworkPathOverride Condition="'$(TargetFramework)' == 'net35'">$(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETFramework\v3.5\Profile\Client</FrameworkPathOverride>
     <AssemblyName>COM3D2.MultipleMaids.Plugin</AssemblyName>
+<<<<<<< HEAD
     <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <FileUpgradeFlags>
@@ -50,6 +54,8 @@
     <DefineConstants>TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+=======
+>>>>>>> upstream/master
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="Assembly-CSharp">
@@ -64,11 +70,14 @@
     <Reference Include="ExIni">
       <HintPath>lib\ExIni.dll</HintPath>
     </Reference>
+<<<<<<< HEAD
     <Reference Include="SevenZip, Version=18.1.0.0, Culture=neutral, processorArchitecture=MSIL">
       <HintPath>packages\LZMA-SDK.18.1.0\lib\net20\SevenZip.dll</HintPath>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core" />
+=======
+>>>>>>> upstream/master
     <Reference Include="UnityEngine">
       <HintPath>lib\UnityEngine.dll</HintPath>
     </Reference>
@@ -76,6 +85,7 @@
       <HintPath>lib\UnityInjector.dll</HintPath>
     </Reference>
   </ItemGroup>
+<<<<<<< HEAD
   <ItemGroup>
     <Compile Include="CM3D2\MultipleMaids\Plugin\MultipleMaids.Config.cs" />
     <Compile Include="CM3D2\MultipleMaids\Plugin\MultipleMaids.Gui.cs" />
@@ -118,4 +128,6 @@
     <Error Condition="!Exists('packages\ILRepack.Lib.MSBuild.Task.2.0.17\build\ILRepack.Lib.MSBuild.Task.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\ILRepack.Lib.MSBuild.Task.2.0.17\build\ILRepack.Lib.MSBuild.Task.targets'))" />
   </Target>
   <Import Project="packages\ILRepack.Lib.MSBuild.Task.2.0.17\build\ILRepack.Lib.MSBuild.Task.targets" Condition="Exists('packages\ILRepack.Lib.MSBuild.Task.2.0.17\build\ILRepack.Lib.MSBuild.Task.targets')" />
+=======
+>>>>>>> upstream/master
 </Project>

+ 6 - 0
MultipleMaids/MultipleMaids.sln.DotSettings

@@ -6,8 +6,12 @@
 	<s:String x:Key="/Default/CodeStyle/CodeCleanup/RecentlyUsedProfile/@EntryValue">Built-in: Full Cleanup</s:String>
 	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_DATA_MEMBER/@EntryValue">False</s:Boolean>
 	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_METHOD/@EntryValue">False</s:Boolean>
+	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_REF_IN_DATA_MEMBER/@EntryValue">False</s:Boolean>
+	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_REF_IN_METHOD/@EntryValue">False</s:Boolean>
 	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_DATA_MEMBER/@EntryValue">True</s:Boolean>
 	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_METHOD/@EntryValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_REF_IN_DATA_MEMBER/@EntryValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_REF_IN_METHOD/@EntryValue">True</s:Boolean>
 	<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/BRACES_FOR_USING/@EntryValue">NotRequired</s:String>
 	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_FIRST_ARG_BY_PAREN/@EntryValue">True</s:Boolean>
 	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_ARGUMENT/@EntryValue">True</s:Boolean>
@@ -253,10 +257,12 @@
 	<s:String x:Key="/Default/CodeStyle/Naming/XamlNaming/UserRules/=XAML_005FFIELD/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
 	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EFeature_002EServices_002ECpp_002ECodeStyle_002ESettingsUpgrade_002EFunctionReturnStyleSettingsUpgrader/@EntryIndexedValue">True</s:Boolean>
 	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EFeature_002EServices_002ECpp_002ECodeStyle_002ESettingsUpgrade_002ENamespaceIndentationSettingsUpgrader/@EntryIndexedValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EFeature_002EServices_002ECpp_002ECodeStyle_002ESettingsUpgrade_002ESpaceAroundPtrSettingsUpgrader/@EntryIndexedValue">True</s:Boolean>
 	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpAttributeForSingleLineMethodUpgrade/@EntryIndexedValue">True</s:Boolean>
 	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue">True</s:Boolean>
 	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
 	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpRenamePlacementToArrangementMigration/@EntryIndexedValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpUseContinuousIndentInsideBracesMigration/@EntryIndexedValue">True</s:Boolean>
 	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue">True</s:Boolean>
 	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAlwaysTreatStructAsNotReorderableMigration/@EntryIndexedValue">True</s:Boolean>
 	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002ECSharpPlaceAttributeOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>