/// <summary> /// Loads a U8 file. /// </summary> /// <param name="u8File"></param> /// <returns></returns> public static U8 Load(Stream u8File) { U8 u = new U8(); u.parseU8(u8File); return(u); }
/// <summary> /// Creates a U8 file. /// </summary> /// <param name="pathToDirectory"></param> /// <returns></returns> public static U8 FromDirectory(string pathToDirectory) { U8 u = new U8(); u.createFromDir(pathToDirectory); return(u); }
/// <summary> /// Gets all TPLs that are required by the brlyt. /// </summary> /// <param name="wad"></param> /// <param name="banner"></param> /// <returns></returns> public static string[] GetBrlytTpls(WAD wad, bool banner) { if (!wad.HasBanner) { return(new string[0]); } string bannerName = "banner"; if (!banner) { bannerName = "icon"; } for (int i = 0; i < wad.BannerApp.Nodes.Count; i++) { if (wad.BannerApp.StringTable[i].ToLower() == bannerName + ".bin") { U8 bannerFile = U8.Load(wad.BannerApp.Data[i]); string[] tpls = new string[0]; for (int y = 0; y < bannerFile.Nodes.Count; y++) { if (bannerFile.StringTable[y].ToLower() == bannerName + ".brlyt") { tpls = Shared.MergeStringArrays(tpls, getBrlytTpls(bannerFile.Data[y])); } } return(tpls); } } return(new string[0]); }
/// <summary> /// Gets all TPLs that are required by the brlyt. /// </summary> /// <param name="wad"></param> /// <param name="banner"></param> /// <returns></returns> public static string[] GetBrlytTpls(WAD wad, bool banner) { if (!wad.HasBanner) { return(new string[0]); } string str = nameof(banner); if (!banner) { str = "icon"; } for (int index1 = 0; index1 < wad.BannerApp.Nodes.Count; ++index1) { if (wad.BannerApp.StringTable[index1].ToLower() == str + ".bin") { U8 u8 = U8.Load(wad.BannerApp.Data[index1]); string[] a = new string[0]; for (int index2 = 0; index2 < u8.Nodes.Count; ++index2) { if (u8.StringTable[index2].ToLower() == str + ".brlyt") { a = Shared.MergeStringArrays(a, GetBrlytTpls(u8.Data[index2])); } } return(a); } } return(new string[0]); }
/// <summary> /// Loads a U8 file. /// </summary> /// <param name="u8File"></param> /// <returns></returns> public static U8 Load(byte[] u8File) { U8 u = new U8(); MemoryStream ms = new MemoryStream(u8File); try { u.parseU8(ms); } catch { ms.Dispose(); throw; } ms.Dispose(); return(u); }
/// <summary> /// Creates a U8 file. /// </summary> /// <param name="pathToDirectory"></param> /// <returns></returns> public static U8 FromDirectory(string pathToDirectory) { U8 u = new U8(); u.createFromDir(pathToDirectory); return u; }
/// <summary> /// Loads a U8 file. /// </summary> /// <param name="u8File"></param> /// <returns></returns> public static U8 Load(Stream u8File) { U8 u = new U8(); u.parseU8(u8File); return u; }
/// <summary> /// Loads a U8 file. /// </summary> /// <param name="u8File"></param> /// <returns></returns> public static U8 Load(byte[] u8File) { U8 u = new U8(); MemoryStream ms = new MemoryStream(u8File); try { u.parseU8(ms); } catch { ms.Dispose(); throw; } ms.Dispose(); return u; }
private void doUnpack(object files) { setControls(false, false); string input = ((string[])files)[0]; string output = ((string[])files)[1]; try { U8 u = new U8(); u.Progress += new EventHandler<System.ComponentModel.ProgressChangedEventArgs>(unpack_Progress); u.LoadFile(input); u.Extract(output); MessageBox.Show("Successfully unpacked U8 file to:\n" + output, "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { setControls(true, false); } }
private void doPack(object files) { setControls(false, true); string input = ((string[])files)[0]; string output = ((string[])files)[1]; try { U8 u = new U8(); u.Progress += new EventHandler<System.ComponentModel.ProgressChangedEventArgs>(pack_Progress); u.CreateFromDirectory(input); u.Lz77Compress = lz77; if (imd5) u.AddHeaderImd5(); u.Save(output); MessageBox.Show("Successfully packed U8 file to:\n" + output, "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { setControls(true, true); } }
private void btnBrowseReplace_Click(object sender, EventArgs e) { if (btnBrowseReplace.Text.ToLower() == "clear") { if (cmbReplace.SelectedIndex == 2) //sound { replacedSound = string.Empty; setControlText(tbReplace, string.Empty); newSoundBin = new byte[0]; } else if (cmbReplace.SelectedIndex == 1) //icon { replacedIcon = string.Empty; setControlText(tbReplace, string.Empty); newIconBin = new U8(); iconTransparents.Clear(); addTpls(); addBrlans(); addBrlyts(); } else //banner { replacedBanner = string.Empty; setControlText(tbReplace, string.Empty); newBannerBin = new U8(); bannerTransparents.Clear(); addTpls(); addBrlans(); addBrlyts(); } } else replacePart(); }
private void clearAll() { tbAllLanguages.Text = string.Empty; tbDol.Text = string.Empty; tbDutch.Text = string.Empty; tbEnglish.Text = string.Empty; tbFrench.Text = string.Empty; tbGerman.Text = string.Empty; tbItalian.Text = string.Empty; tbKorean.Text = string.Empty; tbJapanese.Text = string.Empty; tbReplace.Text = string.Empty; tbSound.Text = string.Empty; tbSourceWad.Text = string.Empty; tbSpanish.Text = string.Empty; tbTitleID.Text = string.Empty; tbStartupIos.Text = string.Empty; lbCreatedValue.Text = string.Empty; lbxBannerTpls.Items.Clear(); lbxBrlanBanner.Items.Clear(); lbxBrlanIcon.Items.Clear(); lbxBrlytBanner.Items.Clear(); lbxBrlytIcon.Items.Clear(); lbxIconTpls.Items.Clear(); replacedBanner = string.Empty; replacedIcon = string.Empty; replacedSound = string.Empty; sourceWad = new WAD(); bannerBin = new U8(); newBannerBin = new U8(); iconBin = new U8(); newIconBin = new U8(); newSoundBin = new byte[0]; newDol = new byte[0]; sourceWad.Warning += new EventHandler<MessageEventArgs>(sourceWad_Warning); cbLz77.Checked = true; cbIconMakeTransparent.Checked = false; cbBannerMakeTransparent.Checked = false; bannerTransparents.Clear(); iconTransparents.Clear(); simpleForwarder.Clear(); complexForwarder.Clear(); }