public void CreateVIS0() { if (!(_targetModel is MDL0Node)) { return; } BRRESNode group = null; BRESEntryNode n = null; if ((n = TargetAnimation as BRESEntryNode) != null && (group = n.Parent.Parent as BRRESNode) != null) { _vis0 = group.CreateResource <VIS0Node>(SelectedCHR0.Name); foreach (string s in VIS0Indices.Keys) { VIS0EntryNode node = null; if ((node = (VIS0EntryNode)_vis0.FindChild(s, true)) == null && ((MDL0BoneNode)((ResourceNode)_targetModel).FindChildByType(s, true, ResourceType.MDL0Bone)).BoneIndex != 0 && s != "EyeYellowM") { node = _vis0.CreateEntry(); node.Name = s; node.MakeConstant(true); } } } }
public bool AddMenSelmapMark(string path, bool ask) { string tmp = null; if (path.EndsWith(".tex0", StringComparison.InvariantCultureIgnoreCase)) { tmp = TempFiles.Create(".png"); NodeFactory.FromFile(null, path).Export(tmp); } Bitmap bitmap = new Bitmap(tmp ?? path); if (BitmapUtilities.HasSolidCorners(bitmap)) { bitmap = BitmapUtilities.AlphaSwap(bitmap); } string name = Path.GetFileNameWithoutExtension(path); if (ask) { using (var nameDialog = new AskNameDialog(bitmap)) { nameDialog.Text = name; if (nameDialog.ShowDialog() != DialogResult.OK) { return(false); } else { name = nameDialog.NameText; } } } BRRESNode bres = sc_selmap.FindChild("MiscData[80]", false) as BRRESNode; TEX0Node tex0 = bres.CreateResource <TEX0Node>(name); ReplaceSelmapMark(bitmap, tex0, true); return(true); }