private void btnLanguage_Click(object sender, EventArgs e) { language.CurrentID = (sender as Button).Tag as String; FileSystem.LocalizationCode = language.CurrentID; Burntime.Platform.IO.File file = FileSystem.GetFile(launcher); txt = new TextResourceFile(file); Text = txt.Data[0]; btnSingle.Text = txt.Data[5]; btnMulti.Text = txt.Data[6]; btnOptions.Text = txt.Data[7]; btnExit.Text = txt.Data[8]; bugReport.Text = txt.Data[9]; // set user folder to systems settings.txt FileSystem.SetUserFolder("Burntime"); ConfigFile config = new ConfigFile(); file = FileSystem.GetFile("system:settings.txt"); config.Open(file); config["game"].Set("language", language.CurrentID); file.Close(); file = FileSystem.CreateFile("user:settings.txt"); config.Save(file); file.Close(); }
void TestCreateNewRootKeys() { // Show root language editor window and get root values EditRootLanguageFileWindow window = EditRootLanguageFileWindow.ShowWindow(); Dictionary <string, LocalizedObject> dict = LanguageHandlerEditor.LoadParsedLanguageFile(string.Empty, true); // Add any missing TEXT.RSC records DaggerfallUnity dfUnity = DaggerfallUnity.Instance; if (dfUnity.IsReady) { TextResourceFile rscFile = new TextResourceFile(dfUnity.Arena2Path, "TEXT.RSC"); for (int i = 0; i < rscFile.RecordCount; i++) { TextResourceFile.TextRecord record = rscFile.GetTextRecordByIndex(i); string key = RSCNamespacePrefix + record.id.ToString(); if (!dict.ContainsKey(key)) { LocalizedObject obj = new LocalizedObject(); obj.ObjectType = LocalizedObjectType.STRING; obj.TextValue = record.text; LanguageDictionaryHelper.AddNewKeyPersistent(dict, key, obj); } } } //// Add new root keys and values //LocalizedObject obj = new LocalizedObject(); //obj.ObjectType = LocalizedObjectType.STRING; //obj.TextValue = "This is a new text key."; //LanguageDictionaryHelper.AddNewKeyPersistent(dict, "NewKey.Test", obj); // Set new root values window.SetRootValues(dict); }
public ClassicMultiplayer(TextResourceFile txt) { InitializeComponent(); btnClose.Text = txt.Data[8]; Text = txt.Data[25]; tabControl.TabPages[0].Text = txt.Data[26]; tabControl.TabPages[1].Text = txt.Data[27]; lblYourIP.Text = txt.Data[28]; IPHostEntry ip = Dns.GetHostEntry(Dns.GetHostName()); IPAddress address = null; foreach (IPAddress a in ip.AddressList) { if (a.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { address = a; break; } } lblIP.Text = address == null ? "" : address.ToString(); lblYourName.Text = txt.Data[29]; lblName.Text = Dns.GetHostName(); btnOpen.Text = txt.Data[30]; btnStart.Text = txt.Data[32]; btnOpen.Enabled = false; listPlayer.Enabled = false; btnStart.Enabled = false; }
public void AddDB(string filename) { File file = FileSystem.GetFile(filename + (filename.EndsWith(".txt", StringComparison.InvariantCultureIgnoreCase) ? "" : ".txt")); file.Encoding = encoding; TextResourceFile db = new TextResourceFile(file); txtDB.Add(filename, db); }
public ClassicSettings(BurntimePath path, TextResourceFile txt) { InitializeComponent(); this.path = path; this.txt = txt; // set user folder to systems settings.txt FileSystem.SetUserFolder("Burntime"); ConfigFile config = new ConfigFile(); Burntime.Platform.IO.File file = FileSystem.GetFile("system:settings.txt"); config.Open(file); lang = config["game"].GetString("language"); file.Close(); // set user folder to game specific location FileSystem.SetUserFolder("Burntime/Classic"); file = FileSystem.GetFile(settings); config.Open(file); file.Close(); Text = txt.Data[0]; grpSettings.Text = txt.Data[10]; lblPresentation.Text = txt.Data[11]; cmbPresentation.Items.Add(txt.Data[12]); cmbPresentation.Items.Add(txt.Data[13]); cmbPresentation.Items.Add(txt.Data[14]); lblBurntimePath.Text = txt.Data[15]; btnChoose.Text = txt.Data[16]; lblPorted.Text = txt.Data[17]; lblMail.Text = txt.Data[18]; btnOK.Text = txt.Data[3]; btnCancel.Text = txt.Data[4]; if (config["system"].GetBool("windowmode")) { Vector2 res = config["system"].GetVector2("resolution"); cmbPresentation.SelectedIndex = (res.x == 960 && res.y == 600) ? 2 : 1; } else { cmbPresentation.SelectedIndex = 0; } UpdatePathInfo(); txtPath.Text = path.Path; }
public ClassicLauncher(bool debugMode) { this.debugMode = debugMode; InitializeComponent(); FileSystem.UseLocalization = false; FileSystem.BasePath = debugMode ? "../" : ""; FileSystem.AddPackage("system", "system"); FileSystem.AddPackage("classic", gamepath); FileSystem.SetUserFolder("Burntime"); language = new Language("launcher/"); ConfigFile config = new ConfigFile(); Burntime.Platform.IO.File file = FileSystem.GetFile("system:settings.txt"); config.Open(file); language.CurrentID = config["game"].GetString("language"); file.Close(); FileSystem.UseLocalization = true; FileSystem.LocalizationCode = language.CurrentID; file = FileSystem.GetFile(launcher); txt = new TextResourceFile(new Burntime.Platform.IO.File(file)); Text = txt.Data[0]; btnSingle.Text = txt.Data[5]; btnMulti.Text = txt.Data[6]; btnOptions.Text = txt.Data[7]; btnExit.Text = txt.Data[8]; bugReport.Text = txt.Data[9]; path = new BurntimePath(FileSystem.BasePath + "system"); btnSingle.Enabled = path.IsValid; btnMulti.Enabled = path.IsValid & enableMulti; int buttonSize = 30; int buttonHeight = 19; int buttonMargin = 4; int buttonTop = 110; int buttonCount = language.Languages.Length; int buttonOffset = (ClientSize.Width - (buttonSize * buttonCount + buttonMargin * (buttonCount - 1))) / 2; Button button; for (int i = 0; i < buttonCount; i++) { button = new Button(); button.Left = buttonOffset + i * (buttonSize + buttonMargin); button.Top = buttonTop; button.Width = buttonSize; button.Height = buttonHeight; button.Tag = language.Languages[i].ID; button.Image = language.Languages[i].Icon; button.Click += new EventHandler(btnLanguage_Click); Controls.Add(button); } }