/// <summary> /// 打开Wii字库编辑窗口 /// </summary> private void OpenWiiFontView() { // 将文件中的数据,一次性读取到byData中 byte[] byData = File.ReadAllBytes(this.baseFile); // 开始分析字库文件 List <ImageHeader> imageInfo = new List <ImageHeader>(); Image[] images; if (baseFile.ToLower().EndsWith("brfnt")) { WiiFontEditer wiiFontEditer = new WiiFontEditer(); wiiFontEditer.Owner = this; images = wiiFontEditer.GetWiiFontInfo(byData, imageInfo); } else { NgcFontEditer ngcFontEditer = new NgcFontEditer(); images = ngcFontEditer.GetNgcFontInfo(byData, imageInfo, null); } ImageViewer frmImageViewer = new ImageViewer(images, imageInfo, byData); frmImageViewer.Show(); }
/// <summary> /// 打开字库做成的窗口 /// </summary> private void ShowCreateFontView() { // 开始分析字库文件 WiiFontEditer wiiFontEditer = new WiiFontEditer(); wiiFontEditer.Show(); this.Do(wiiFontEditer.ViewFontInfo, File.ReadAllBytes(this.baseFile)); }
/// <summary> /// 显示节点信息 /// </summary> private void ShowTreeNodeInfo(TreeNode treeNode) { if (treeNode.Tag != null) { // 解析双击的文件 RarcNode fileInfo = (RarcNode)treeNode.Tag; if (string.IsNullOrEmpty(fileInfo.FileType) || fileInfo == null || fileInfo.FileData == null || fileInfo.FileData.Length == 0) { return; } try { switch (fileInfo.FileType.ToLower()) { case "bti": this.imgViewer.Image = Util.BtiDecode(fileInfo.FileData); this.ShowPanelRight(this.imgViewer); break; case "bmg": //this.txtFileInfo.Text = Util.DecodeByteArray(fileInfo.FileData, Encoding.GetEncoding(932).GetDecoder()); this.txtFileInfo.Text = Util.BmgDecode(fileInfo.FileData); this.ShowPanelRight(this.txtFileInfo); break; case "bfn": NgcFontEditer ngcFontView = new NgcFontEditer(fileInfo.FileData); ngcFontView.Show(); break; case "brfnt": WiiFontEditer wiiFontView = new WiiFontEditer(); wiiFontView.Show(); this.Do(wiiFontView.ViewFontInfo, fileInfo.FileData); break; case "tpl": List <ImageHeader> tplImageInfo = new List <ImageHeader>(); Image[] tplImages = new TplFileManager().TplDecode(fileInfo.FileData, tplImageInfo); this.viewDataStartPos = fileInfo.DataStartPos; this.nodeFileName = fileInfo.FileName; this.ucImageViewer.strFileOpen = fileInfo.FileName; this.ucImageViewer.OutSaveFunc += this.SaveTpl; this.ucImageViewer.OutSetText += this.SetTplInfo; this.ucImageViewer.ViewImage(tplImages, tplImageInfo, fileInfo.FileData); this.ShowPanelRight(this.ucImageViewer); break; default: //MessageBox.Show("不支持的格式 : " + fileInfo.FileType); break; } } catch (Exception me) { MessageBox.Show(me.Message + "\n" + me.StackTrace); } } }