private void ExtendedSave_PoseBeingSaved(string poseName, PauseCtrl.FileInfo fileInfo, OCIChar ociChar, ExtendedSave.GameNames gameName) { var data = new PluginData(); //Facial expression #if PH data.data.Add(EyesPatternData, ociChar.charStatus.eyesPtn); data.data.Add(MouthPatternData, ociChar.charStatus.mouthPtn); data.data.Add(EyeOpenData, ociChar.charStatus.eyesOpenMax); data.data.Add(MouthOpenData, ociChar.oiCharInfo.mouthOpen); #else data.data.Add(EyebrowPatternData, ociChar.charFileStatus.eyebrowPtn); data.data.Add(EyesPatternData, ociChar.charFileStatus.eyesPtn); data.data.Add(MouthPatternData, ociChar.charFileStatus.mouthPtn); data.data.Add(EyeOpenData, ociChar.charFileStatus.eyesOpenMax); data.data.Add(MouthOpenData, ociChar.oiCharInfo.mouthOpen); #endif //Only save skirt FK if enabled if (ociChar.oiCharInfo.activeFK[SkirtFKIndex]) { Dictionary <int, Vector3> skirtFK = new Dictionary <int, Vector3>(); foreach (KeyValuePair <int, OIBoneInfo> item2 in ociChar.oiCharInfo.bones.Where(b => (OIBoneInfo.BoneGroup.Skirt & b.Value.group) != 0)) { skirtFK.Add(item2.Key, item2.Value.changeAmount.rot); } data.data.Add(SkirtFKData, MessagePackSerializer.Serialize(skirtFK)); } //Joint correction data.data.Add(JointCorrectionData, MessagePackSerializer.Serialize(ociChar.oiCharInfo.expression)); ExtendedSave.SetPoseExtendedDataById(PoseToolsData, data); }