private void ExtractBodyEmptryNoPrompt(string type, Dictionary <int, AquaModelLibrary.CharacterMakingIndex.BODYObject> dict, int id) { if (id != -1) { if (dict.ContainsKey(id)) { Directory.CreateDirectory(settingsPath + "CMXEntryDumps\\"); string path = settingsPath + $"CMXEntryDumps\\{ type}_{id}_cmxConfig.txt"; try { File.WriteAllText(path, BODYStructHandler.ConvertToString(dict[id], type).ToString()); MessageBox.Show($"Wrote successfully to {path}."); } catch { MessageBox.Show($"Unable to write {path}. Ensure you have all permissions to said directory."); } } else { MessageBox.Show("Please Input a valid id to extract."); } } else { MessageBox.Show("Please Input a valid id to extract."); } }
public void ProcessEntry(ref string cmxType, ref int cmxId, List <string> cmxEntry) { byte[] entryRaw; switch (cmxType.ToLower()) { case "base ": case "basewear ": var baseEntry = cmx.baseWearDict[cmxId]; BODYStructHandler.PatchBody(cmx.baseWearDict[cmxId], cmxEntry); entryRaw = BODYStructHandler.GetBODYAsBytes(baseEntry); Array.Copy(entryRaw, 0, cmxRaw, baseEntry.originalOffset, entryRaw.Length); break; case "outer ": case "outerwear ": var ouEntry = cmx.outerDict[cmxId]; BODYStructHandler.PatchBody(cmx.outerDict[cmxId], cmxEntry); entryRaw = BODYStructHandler.GetBODYAsBytes(ouEntry); Array.Copy(entryRaw, 0, cmxRaw, ouEntry.originalOffset, entryRaw.Length); break; case "carm ": case "castarm ": var carmEntry = cmx.carmDict[cmxId]; BODYStructHandler.PatchBody(cmx.carmDict[cmxId], cmxEntry); entryRaw = BODYStructHandler.GetBODYAsBytes(carmEntry); Array.Copy(entryRaw, 0, cmxRaw, carmEntry.originalOffset, entryRaw.Length); break; case "cleg ": case "castleg ": var clegEntry = cmx.clegDict[cmxId]; BODYStructHandler.PatchBody(cmx.clegDict[cmxId], cmxEntry); entryRaw = BODYStructHandler.GetBODYAsBytes(clegEntry); Array.Copy(entryRaw, 0, cmxRaw, clegEntry.originalOffset, entryRaw.Length); break; case "body ": case "costume ": var bodyEntry = cmx.costumeDict[cmxId]; BODYStructHandler.PatchBody(cmx.costumeDict[cmxId], cmxEntry); entryRaw = BODYStructHandler.GetBODYAsBytes(bodyEntry); Array.Copy(entryRaw, 0, cmxRaw, bodyEntry.originalOffset, entryRaw.Length); break; default: break; } cmxType = null; cmxId = -1; }