Feature: append missing [00 FF]
This commit is contained in:
parent
334ae97781
commit
01fcc837df
|
@ -56,8 +56,9 @@
|
||||||
this.ebSelector = new System.Windows.Forms.RadioButton();
|
this.ebSelector = new System.Windows.Forms.RadioButton();
|
||||||
this.m12Selector = new System.Windows.Forms.RadioButton();
|
this.m12Selector = new System.Windows.Forms.RadioButton();
|
||||||
this.statusBar = new System.Windows.Forms.StatusStrip();
|
this.statusBar = new System.Windows.Forms.StatusStrip();
|
||||||
this.statusLabel = new System.Windows.Forms.ToolStripStatusLabel();
|
this.writeLabel = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
this.writeTimer = new System.Windows.Forms.Timer(this.components);
|
this.writeTimer = new System.Windows.Forms.Timer(this.components);
|
||||||
|
this.messageLabel = new System.Windows.Forms.ToolStripStatusLabel();
|
||||||
this.previewer = new ScriptToolGui.StringPreviewer();
|
this.previewer = new ScriptToolGui.StringPreviewer();
|
||||||
this.mainMenu.SuspendLayout();
|
this.mainMenu.SuspendLayout();
|
||||||
this.topPanel.SuspendLayout();
|
this.topPanel.SuspendLayout();
|
||||||
|
@ -266,6 +267,7 @@
|
||||||
this.m12StringEnglish.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
this.m12StringEnglish.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||||
this.m12StringEnglish.Size = new System.Drawing.Size(786, 128);
|
this.m12StringEnglish.Size = new System.Drawing.Size(786, 128);
|
||||||
this.m12StringEnglish.TabIndex = 11;
|
this.m12StringEnglish.TabIndex = 11;
|
||||||
|
this.m12StringEnglish.MouseClick += new System.Windows.Forms.MouseEventHandler(this.m12StringEnglish_MouseClick);
|
||||||
//
|
//
|
||||||
// lineOpsPanel
|
// lineOpsPanel
|
||||||
//
|
//
|
||||||
|
@ -406,17 +408,18 @@
|
||||||
// statusBar
|
// statusBar
|
||||||
//
|
//
|
||||||
this.statusBar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.statusBar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.statusLabel});
|
this.writeLabel,
|
||||||
|
this.messageLabel});
|
||||||
this.statusBar.Location = new System.Drawing.Point(0, 720);
|
this.statusBar.Location = new System.Drawing.Point(0, 720);
|
||||||
this.statusBar.Name = "statusBar";
|
this.statusBar.Name = "statusBar";
|
||||||
this.statusBar.Size = new System.Drawing.Size(1026, 22);
|
this.statusBar.Size = new System.Drawing.Size(1026, 22);
|
||||||
this.statusBar.TabIndex = 7;
|
this.statusBar.TabIndex = 7;
|
||||||
this.statusBar.Text = "statusStrip1";
|
this.statusBar.Text = "statusStrip1";
|
||||||
//
|
//
|
||||||
// statusLabel
|
// writeLabel
|
||||||
//
|
//
|
||||||
this.statusLabel.Name = "statusLabel";
|
this.writeLabel.Name = "writeLabel";
|
||||||
this.statusLabel.Size = new System.Drawing.Size(0, 17);
|
this.writeLabel.Size = new System.Drawing.Size(0, 17);
|
||||||
//
|
//
|
||||||
// writeTimer
|
// writeTimer
|
||||||
//
|
//
|
||||||
|
@ -424,6 +427,13 @@
|
||||||
this.writeTimer.Interval = 10000;
|
this.writeTimer.Interval = 10000;
|
||||||
this.writeTimer.Tick += new System.EventHandler(this.writeTimer_Tick);
|
this.writeTimer.Tick += new System.EventHandler(this.writeTimer_Tick);
|
||||||
//
|
//
|
||||||
|
// messageLabel
|
||||||
|
//
|
||||||
|
this.messageLabel.BackColor = System.Drawing.SystemColors.Highlight;
|
||||||
|
this.messageLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.messageLabel.Name = "messageLabel";
|
||||||
|
this.messageLabel.Size = new System.Drawing.Size(0, 17);
|
||||||
|
//
|
||||||
// previewer
|
// previewer
|
||||||
//
|
//
|
||||||
this.previewer.AutoScroll = true;
|
this.previewer.AutoScroll = true;
|
||||||
|
@ -503,7 +513,7 @@
|
||||||
private System.Windows.Forms.RadioButton ebSelector;
|
private System.Windows.Forms.RadioButton ebSelector;
|
||||||
private System.Windows.Forms.RadioButton m12Selector;
|
private System.Windows.Forms.RadioButton m12Selector;
|
||||||
private System.Windows.Forms.StatusStrip statusBar;
|
private System.Windows.Forms.StatusStrip statusBar;
|
||||||
private System.Windows.Forms.ToolStripStatusLabel statusLabel;
|
private System.Windows.Forms.ToolStripStatusLabel writeLabel;
|
||||||
private System.Windows.Forms.Timer writeTimer;
|
private System.Windows.Forms.Timer writeTimer;
|
||||||
private System.Windows.Forms.Panel textBoxPanel;
|
private System.Windows.Forms.Panel textBoxPanel;
|
||||||
private System.Windows.Forms.TextBox ebString;
|
private System.Windows.Forms.TextBox ebString;
|
||||||
|
@ -516,6 +526,7 @@
|
||||||
private System.Windows.Forms.ComboBox collectionSelector;
|
private System.Windows.Forms.ComboBox collectionSelector;
|
||||||
private System.Windows.Forms.Button previewButton;
|
private System.Windows.Forms.Button previewButton;
|
||||||
private StringPreviewer previewer;
|
private StringPreviewer previewer;
|
||||||
|
private System.Windows.Forms.ToolStripStatusLabel messageLabel;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -405,8 +405,10 @@ namespace ScriptToolGui
|
||||||
navigationStack.Push(previousNavigationState);
|
navigationStack.Push(previousNavigationState);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SaveCurrentState()
|
private async void SaveCurrentState()
|
||||||
{
|
{
|
||||||
|
bool insertedNewLine = false;
|
||||||
|
|
||||||
lock (changeLock)
|
lock (changeLock)
|
||||||
{
|
{
|
||||||
foreach (var game in validGames)
|
foreach (var game in validGames)
|
||||||
|
@ -415,13 +417,39 @@ namespace ScriptToolGui
|
||||||
{
|
{
|
||||||
string oldString = stringsLookup[game][currentIndex[game]];
|
string oldString = stringsLookup[game][currentIndex[game]];
|
||||||
string newString = textboxLookup[game].Text;
|
string newString = textboxLookup[game].Text;
|
||||||
stringsLookup[game][currentIndex[game]] = newString;
|
|
||||||
|
|
||||||
if (game == Game.M12English && oldString != newString)
|
if (game == Game.M12English)
|
||||||
changesMade = true;
|
{
|
||||||
|
if (oldString != newString)
|
||||||
|
{
|
||||||
|
changesMade = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Special case -- for M12 English, if the line is modified,
|
||||||
|
// check for an end code and insert if it's missing
|
||||||
|
if (!newString.ToUpper().EndsWith("[00 FF]")
|
||||||
|
&& !IsJustALabel(newString))
|
||||||
|
{
|
||||||
|
newString += "[00 FF]";
|
||||||
|
insertedNewLine = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stringsLookup[game][currentIndex[game]] = newString;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (insertedNewLine)
|
||||||
|
{
|
||||||
|
await SetMessageLabel("Missing [00 FF] appended");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsJustALabel(string str)
|
||||||
|
{
|
||||||
|
return (str.Length > 2) && (str[0] == '^') &&
|
||||||
|
(str[str.Length - 1] == '^') && !str.Skip(1).Take(str.Length - 2).Contains('^');
|
||||||
}
|
}
|
||||||
|
|
||||||
private void WriteChanges()
|
private void WriteChanges()
|
||||||
|
@ -454,7 +482,7 @@ namespace ScriptToolGui
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
statusLabel.Text = text;
|
writeLabel.Text = text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -578,6 +606,24 @@ namespace ScriptToolGui
|
||||||
{
|
{
|
||||||
previewer.DisplayedString = m12StringEnglish.Text;
|
previewer.DisplayedString = m12StringEnglish.Text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void m12StringEnglish_MouseClick(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
if (ModifierKeys == Keys.Control)
|
||||||
|
{
|
||||||
|
// Insert a line break
|
||||||
|
int currentSelectionStart = m12StringEnglish.SelectionStart;
|
||||||
|
m12StringEnglish.Text = m12StringEnglish.Text.Insert(m12StringEnglish.SelectionStart, "[01 FF]");
|
||||||
|
m12StringEnglish.SelectionStart = currentSelectionStart + 7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task SetMessageLabel(string message)
|
||||||
|
{
|
||||||
|
messageLabel.Text = message;
|
||||||
|
await Task.Delay(3000);
|
||||||
|
messageLabel.Text = "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enum Game
|
enum Game
|
||||||
|
|
Loading…
Reference in New Issue