/Vassal/Vassal/SettingsForm.Designer.cs |
@@ -32,15 +32,23 @@ |
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SettingsForm)); |
this.tabControl1 = new System.Windows.Forms.TabControl(); |
this.tabPage1 = new System.Windows.Forms.TabPage(); |
this.groupBox6 = new System.Windows.Forms.GroupBox(); |
this.pictureBox5 = new System.Windows.Forms.PictureBox(); |
this.RegionRestartDelay = new System.Windows.Forms.TextBox(); |
this.groupBox5 = new System.Windows.Forms.GroupBox(); |
this.pictureBox4 = new System.Windows.Forms.PictureBox(); |
this.DataTimeout = new System.Windows.Forms.TextBox(); |
this.groupBox4 = new System.Windows.Forms.GroupBox(); |
this.pictureBox3 = new System.Windows.Forms.PictureBox(); |
this.TeleportTimeout = new System.Windows.Forms.TextBox(); |
this.groupBox3 = new System.Windows.Forms.GroupBox(); |
this.pictureBox2 = new System.Windows.Forms.PictureBox(); |
this.HTTPServerURL = new System.Windows.Forms.TextBox(); |
this.groupBox2 = new System.Windows.Forms.GroupBox(); |
this.pictureBox1 = new System.Windows.Forms.PictureBox(); |
this.Password = new System.Windows.Forms.TextBox(); |
this.groupBox1 = new System.Windows.Forms.GroupBox(); |
this.pictureBox6 = new System.Windows.Forms.PictureBox(); |
this.Group = new System.Windows.Forms.TextBox(); |
this.tabPage2 = new System.Windows.Forms.TabPage(); |
this.groupBox16 = new System.Windows.Forms.GroupBox(); |
@@ -91,22 +99,21 @@ |
this.statusStrip1 = new System.Windows.Forms.StatusStrip(); |
this.StatusProgress = new System.Windows.Forms.ToolStripProgressBar(); |
this.StatusText = new System.Windows.Forms.ToolStripStatusLabel(); |
this.pictureBox6 = new System.Windows.Forms.PictureBox(); |
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); |
this.pictureBox1 = new System.Windows.Forms.PictureBox(); |
this.pictureBox2 = new System.Windows.Forms.PictureBox(); |
this.pictureBox3 = new System.Windows.Forms.PictureBox(); |
this.pictureBox4 = new System.Windows.Forms.PictureBox(); |
this.groupBox6 = new System.Windows.Forms.GroupBox(); |
this.RegionRestartDelay = new System.Windows.Forms.TextBox(); |
this.pictureBox5 = new System.Windows.Forms.PictureBox(); |
this.tabControl1.SuspendLayout(); |
this.tabPage1.SuspendLayout(); |
this.groupBox6.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).BeginInit(); |
this.groupBox5.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit(); |
this.groupBox4.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit(); |
this.groupBox3.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); |
this.groupBox2.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); |
this.groupBox1.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).BeginInit(); |
this.tabPage2.SuspendLayout(); |
this.groupBox16.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox18)).BeginInit(); |
@@ -128,13 +135,6 @@ |
this.groupBox35.SuspendLayout(); |
this.groupBox34.SuspendLayout(); |
this.statusStrip1.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).BeginInit(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit(); |
this.groupBox6.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).BeginInit(); |
this.SuspendLayout(); |
// |
// tabControl1 |
@@ -164,6 +164,38 @@ |
this.tabPage1.Text = "General"; |
this.tabPage1.UseVisualStyleBackColor = true; |
// |
// groupBox6 |
// |
this.groupBox6.Controls.Add(this.pictureBox5); |
this.groupBox6.Controls.Add(this.RegionRestartDelay); |
this.groupBox6.Font = new System.Drawing.Font("Palatino Linotype", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
this.groupBox6.Location = new System.Drawing.Point(6, 126); |
this.groupBox6.Name = "groupBox6"; |
this.groupBox6.Size = new System.Drawing.Size(200, 50); |
this.groupBox6.TabIndex = 5; |
this.groupBox6.TabStop = false; |
this.groupBox6.Text = "Region Restart Delay"; |
// |
// pictureBox5 |
// |
this.pictureBox5.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox5.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox5.Image"))); |
this.pictureBox5.Location = new System.Drawing.Point(174, 19); |
this.pictureBox5.Name = "pictureBox5"; |
this.pictureBox5.Size = new System.Drawing.Size(20, 20); |
this.pictureBox5.TabIndex = 13; |
this.pictureBox5.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox5, "Used for region restarts, this setting\r\nspecifies with what delay to schedule a\r\n" + |
"region restart when requested by Vassal."); |
// |
// RegionRestartDelay |
// |
this.RegionRestartDelay.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
this.RegionRestartDelay.Location = new System.Drawing.Point(7, 19); |
this.RegionRestartDelay.Name = "RegionRestartDelay"; |
this.RegionRestartDelay.Size = new System.Drawing.Size(161, 20); |
this.RegionRestartDelay.TabIndex = 0; |
// |
// groupBox5 |
// |
this.groupBox5.Controls.Add(this.pictureBox4); |
@@ -176,6 +208,18 @@ |
this.groupBox5.TabStop = false; |
this.groupBox5.Text = "Data Timeout"; |
// |
// pictureBox4 |
// |
this.pictureBox4.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox4.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox4.Image"))); |
this.pictureBox4.Location = new System.Drawing.Point(159, 19); |
this.pictureBox4.Name = "pictureBox4"; |
this.pictureBox4.Size = new System.Drawing.Size(20, 20); |
this.pictureBox4.TabIndex = 15; |
this.pictureBox4.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox4, "This represents the time in milliseconds\r\nbefore Corrade considers that it was no" + |
"t\r\nable to pull data for the current region."); |
// |
// DataTimeout |
// |
this.DataTimeout.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
@@ -196,6 +240,18 @@ |
this.groupBox4.TabStop = false; |
this.groupBox4.Text = "Teleport Timeout"; |
// |
// pictureBox3 |
// |
this.pictureBox3.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox3.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox3.Image"))); |
this.pictureBox3.Location = new System.Drawing.Point(156, 20); |
this.pictureBox3.Name = "pictureBox3"; |
this.pictureBox3.Size = new System.Drawing.Size(20, 20); |
this.pictureBox3.TabIndex = 14; |
this.pictureBox3.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox3, "This represents the time in milliseconds\r\nbefore Corrade considers that it cannot" + |
"\r\nconnect to a region."); |
// |
// TeleportTimeout |
// |
this.TeleportTimeout.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
@@ -216,6 +272,18 @@ |
this.groupBox3.TabStop = false; |
this.groupBox3.Text = "Corrade HTTP URL"; |
// |
// pictureBox2 |
// |
this.pictureBox2.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image"))); |
this.pictureBox2.Location = new System.Drawing.Point(300, 20); |
this.pictureBox2.Name = "pictureBox2"; |
this.pictureBox2.Size = new System.Drawing.Size(20, 20); |
this.pictureBox2.TabIndex = 13; |
this.pictureBox2.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox2, "Enter the full address and port (prefix)\r\nthat Vassal will use to talk to Corrade" + |
"."); |
// |
// HTTPServerURL |
// |
this.HTTPServerURL.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
@@ -236,6 +304,17 @@ |
this.groupBox2.TabStop = false; |
this.groupBox2.Text = "Group Password"; |
// |
// pictureBox1 |
// |
this.pictureBox1.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); |
this.pictureBox1.Location = new System.Drawing.Point(231, 20); |
this.pictureBox1.Name = "pictureBox1"; |
this.pictureBox1.Size = new System.Drawing.Size(20, 20); |
this.pictureBox1.TabIndex = 12; |
this.pictureBox1.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox1, "Enter the group password that Vassal\r\nwill use to authenticate to Corrade."); |
// |
// Password |
// |
this.Password.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
@@ -256,6 +335,17 @@ |
this.groupBox1.TabStop = false; |
this.groupBox1.Text = "Group"; |
// |
// pictureBox6 |
// |
this.pictureBox6.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox6.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox6.Image"))); |
this.pictureBox6.Location = new System.Drawing.Point(300, 20); |
this.pictureBox6.Name = "pictureBox6"; |
this.pictureBox6.Size = new System.Drawing.Size(20, 20); |
this.pictureBox6.TabIndex = 11; |
this.pictureBox6.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox6, "Enter the group that will authenticate\r\nwith Corrade."); |
// |
// Group |
// |
this.Group.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
@@ -817,17 +907,6 @@ |
this.StatusText.Size = new System.Drawing.Size(10, 17); |
this.StatusText.Text = " "; |
// |
// pictureBox6 |
// |
this.pictureBox6.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox6.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox6.Image"))); |
this.pictureBox6.Location = new System.Drawing.Point(300, 20); |
this.pictureBox6.Name = "pictureBox6"; |
this.pictureBox6.Size = new System.Drawing.Size(20, 20); |
this.pictureBox6.TabIndex = 11; |
this.pictureBox6.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox6, "Enter the group that will authenticate\r\nwith Corrade."); |
// |
// toolTip1 |
// |
this.toolTip1.AutoPopDelay = 32767; |
@@ -834,84 +913,6 @@ |
this.toolTip1.InitialDelay = 500; |
this.toolTip1.ReshowDelay = 100; |
// |
// pictureBox1 |
// |
this.pictureBox1.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); |
this.pictureBox1.Location = new System.Drawing.Point(231, 20); |
this.pictureBox1.Name = "pictureBox1"; |
this.pictureBox1.Size = new System.Drawing.Size(20, 20); |
this.pictureBox1.TabIndex = 12; |
this.pictureBox1.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox1, "Enter the group password that Vassal\r\nwill use to authenticate to Corrade."); |
// |
// pictureBox2 |
// |
this.pictureBox2.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image"))); |
this.pictureBox2.Location = new System.Drawing.Point(300, 20); |
this.pictureBox2.Name = "pictureBox2"; |
this.pictureBox2.Size = new System.Drawing.Size(20, 20); |
this.pictureBox2.TabIndex = 13; |
this.pictureBox2.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox2, "Enter the full address and port (prefix)\r\nthat Vassal will use to talk to Corrade" + |
"."); |
// |
// pictureBox3 |
// |
this.pictureBox3.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox3.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox3.Image"))); |
this.pictureBox3.Location = new System.Drawing.Point(156, 20); |
this.pictureBox3.Name = "pictureBox3"; |
this.pictureBox3.Size = new System.Drawing.Size(20, 20); |
this.pictureBox3.TabIndex = 14; |
this.pictureBox3.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox3, "This represents the time in milliseconds\r\nbefore Corrade considers that it cannot" + |
"\r\nconnect to a region."); |
// |
// pictureBox4 |
// |
this.pictureBox4.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox4.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox4.Image"))); |
this.pictureBox4.Location = new System.Drawing.Point(159, 19); |
this.pictureBox4.Name = "pictureBox4"; |
this.pictureBox4.Size = new System.Drawing.Size(20, 20); |
this.pictureBox4.TabIndex = 15; |
this.pictureBox4.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox4, "This represents the time in milliseconds\r\nbefore Corrade considers that it was no" + |
"t\r\nable to pull data for the current region."); |
// |
// groupBox6 |
// |
this.groupBox6.Controls.Add(this.pictureBox5); |
this.groupBox6.Controls.Add(this.RegionRestartDelay); |
this.groupBox6.Font = new System.Drawing.Font("Palatino Linotype", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
this.groupBox6.Location = new System.Drawing.Point(6, 126); |
this.groupBox6.Name = "groupBox6"; |
this.groupBox6.Size = new System.Drawing.Size(200, 50); |
this.groupBox6.TabIndex = 5; |
this.groupBox6.TabStop = false; |
this.groupBox6.Text = "Region Restart Delay"; |
// |
// RegionRestartDelay |
// |
this.RegionRestartDelay.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
this.RegionRestartDelay.Location = new System.Drawing.Point(7, 19); |
this.RegionRestartDelay.Name = "RegionRestartDelay"; |
this.RegionRestartDelay.Size = new System.Drawing.Size(161, 20); |
this.RegionRestartDelay.TabIndex = 0; |
// |
// pictureBox5 |
// |
this.pictureBox5.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox5.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox5.Image"))); |
this.pictureBox5.Location = new System.Drawing.Point(174, 19); |
this.pictureBox5.Name = "pictureBox5"; |
this.pictureBox5.Size = new System.Drawing.Size(20, 20); |
this.pictureBox5.TabIndex = 13; |
this.pictureBox5.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox5, "Enter the group password that Vassal\r\nwill use to authenticate to Corrade."); |
// |
// SettingsForm |
// |
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); |
@@ -931,16 +932,24 @@ |
this.Shown += new System.EventHandler(this.SettingsFormShown); |
this.tabControl1.ResumeLayout(false); |
this.tabPage1.ResumeLayout(false); |
this.groupBox6.ResumeLayout(false); |
this.groupBox6.PerformLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).EndInit(); |
this.groupBox5.ResumeLayout(false); |
this.groupBox5.PerformLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit(); |
this.groupBox4.ResumeLayout(false); |
this.groupBox4.PerformLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit(); |
this.groupBox3.ResumeLayout(false); |
this.groupBox3.PerformLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); |
this.groupBox2.ResumeLayout(false); |
this.groupBox2.PerformLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); |
this.groupBox1.ResumeLayout(false); |
this.groupBox1.PerformLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).EndInit(); |
this.tabPage2.ResumeLayout(false); |
this.groupBox16.ResumeLayout(false); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox18)).EndInit(); |
@@ -964,14 +973,6 @@ |
this.groupBox34.ResumeLayout(false); |
this.statusStrip1.ResumeLayout(false); |
this.statusStrip1.PerformLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).EndInit(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit(); |
this.groupBox6.ResumeLayout(false); |
this.groupBox6.PerformLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).EndInit(); |
this.ResumeLayout(false); |
this.PerformLayout(); |
|
/Vassal/Vassal/VassalForm.Designer.cs |
@@ -56,6 +56,29 @@ |
this.LastLag = new System.Windows.Forms.Label(); |
this.groupBox2 = new System.Windows.Forms.GroupBox(); |
this.Agents = new System.Windows.Forms.Label(); |
this.RegionsStateTab = new System.Windows.Forms.TabPage(); |
this.RegionsStateGridView = new System.Windows.Forms.DataGridView(); |
this.RegionsStateRegionName = new System.Windows.Forms.DataGridViewTextBoxColumn(); |
this.RegionsStateLastState = new System.Windows.Forms.DataGridViewTextBoxColumn(); |
this.RegionsStateLastCheck = new System.Windows.Forms.DataGridViewTextBoxColumn(); |
this.ResidentListTab = new System.Windows.Forms.TabPage(); |
this.ResidentListBanGroup = new System.Windows.Forms.GroupBox(); |
this.ResidentBanAllEstatesBox = new System.Windows.Forms.CheckBox(); |
this.ResidentBanButton = new System.Windows.Forms.Button(); |
this.label4 = new System.Windows.Forms.Label(); |
this.ResidentListFilter = new System.Windows.Forms.TextBox(); |
this.ResidentListGridView = new System.Windows.Forms.DataGridView(); |
this.ResidentListName = new System.Windows.Forms.DataGridViewTextBoxColumn(); |
this.ResidentListUUID = new System.Windows.Forms.DataGridViewTextBoxColumn(); |
this.ResidentListPosition = new System.Windows.Forms.DataGridViewTextBoxColumn(); |
this.BatchRestartTab = new System.Windows.Forms.TabPage(); |
this.label3 = new System.Windows.Forms.Label(); |
this.RegionRestartDelayBox = new System.Windows.Forms.TextBox(); |
this.pictureBox3 = new System.Windows.Forms.PictureBox(); |
this.BatchRestartButton = new System.Windows.Forms.Button(); |
this.BatchRestartGridView = new System.Windows.Forms.DataGridView(); |
this.BatchRestartRegionName = new System.Windows.Forms.DataGridViewTextBoxColumn(); |
this.BatchRestartPosition = new System.Windows.Forms.DataGridViewTextBoxColumn(); |
this.TopScriptsTab = new System.Windows.Forms.TabPage(); |
this.label1 = new System.Windows.Forms.Label(); |
this.TopScriptsFilter = new System.Windows.Forms.TextBox(); |
@@ -78,14 +101,6 @@ |
this.TopCollidersUUID = new System.Windows.Forms.DataGridViewTextBoxColumn(); |
this.TopCollidersOwner = new System.Windows.Forms.DataGridViewTextBoxColumn(); |
this.TopCollidersPosition = new System.Windows.Forms.DataGridViewTextBoxColumn(); |
this.BatchRestartTab = new System.Windows.Forms.TabPage(); |
this.label3 = new System.Windows.Forms.Label(); |
this.RegionRestartDelayBox = new System.Windows.Forms.TextBox(); |
this.pictureBox3 = new System.Windows.Forms.PictureBox(); |
this.BatchRestartButton = new System.Windows.Forms.Button(); |
this.BatchRestartGridView = new System.Windows.Forms.DataGridView(); |
this.BatchRestartRegionName = new System.Windows.Forms.DataGridViewTextBoxColumn(); |
this.BatchRestartPosition = new System.Windows.Forms.DataGridViewTextBoxColumn(); |
this.statusStrip1 = new System.Windows.Forms.StatusStrip(); |
this.StatusProgress = new System.Windows.Forms.ToolStripProgressBar(); |
this.StatusText = new System.Windows.Forms.ToolStripStatusLabel(); |
@@ -101,6 +116,18 @@ |
this.pictureBox2 = new System.Windows.Forms.PictureBox(); |
this.Version = new System.Windows.Forms.Label(); |
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); |
this.RegionToolsTab = new System.Windows.Forms.TabPage(); |
this.groupBox11 = new System.Windows.Forms.GroupBox(); |
this.button4 = new System.Windows.Forms.Button(); |
this.RipTerrainButton = new System.Windows.Forms.Button(); |
this.button7 = new System.Windows.Forms.Button(); |
this.pictureBox4 = new System.Windows.Forms.PictureBox(); |
this.pictureBox5 = new System.Windows.Forms.PictureBox(); |
this.pictureBox7 = new System.Windows.Forms.PictureBox(); |
this.LoadTerrainFileDialog = new System.Windows.Forms.OpenFileDialog(); |
this.SaveTerrainFileDialog = new System.Windows.Forms.SaveFileDialog(); |
this.EstateTerrainDownloadUploadGroup = new System.Windows.Forms.GroupBox(); |
this.groupBox13 = new System.Windows.Forms.GroupBox(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); |
this.Tabs.SuspendLayout(); |
this.OverviewTab.SuspendLayout(); |
@@ -114,18 +141,30 @@ |
this.groupBox4.SuspendLayout(); |
this.groupBox3.SuspendLayout(); |
this.groupBox2.SuspendLayout(); |
this.RegionsStateTab.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.RegionsStateGridView)).BeginInit(); |
this.ResidentListTab.SuspendLayout(); |
this.ResidentListBanGroup.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.ResidentListGridView)).BeginInit(); |
this.BatchRestartTab.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit(); |
((System.ComponentModel.ISupportInitialize)(this.BatchRestartGridView)).BeginInit(); |
this.TopScriptsTab.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.TopScriptsGridView)).BeginInit(); |
this.TopCollidersTab.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.TopCollidersGridView)).BeginInit(); |
this.BatchRestartTab.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit(); |
((System.ComponentModel.ISupportInitialize)(this.BatchRestartGridView)).BeginInit(); |
this.statusStrip1.SuspendLayout(); |
this.RegionTeleportGroup.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).BeginInit(); |
this.groupBox1.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); |
this.RegionToolsTab.SuspendLayout(); |
this.groupBox11.SuspendLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).BeginInit(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox7)).BeginInit(); |
this.EstateTerrainDownloadUploadGroup.SuspendLayout(); |
this.groupBox13.SuspendLayout(); |
this.SuspendLayout(); |
// |
// pictureBox1 |
@@ -141,9 +180,13 @@ |
// Tabs |
// |
this.Tabs.Controls.Add(this.OverviewTab); |
this.Tabs.Controls.Add(this.RegionsStateTab); |
this.Tabs.Controls.Add(this.ResidentListTab); |
this.Tabs.Controls.Add(this.BatchRestartTab); |
this.Tabs.Controls.Add(this.TopScriptsTab); |
this.Tabs.Controls.Add(this.TopCollidersTab); |
this.Tabs.Controls.Add(this.BatchRestartTab); |
this.Tabs.Controls.Add(this.RegionToolsTab); |
this.Tabs.Enabled = false; |
this.Tabs.Font = new System.Drawing.Font("Palatino Linotype", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
this.Tabs.Location = new System.Drawing.Point(13, 186); |
this.Tabs.Name = "Tabs"; |
@@ -359,6 +402,243 @@ |
this.Agents.TabIndex = 0; |
this.Agents.Text = " "; |
// |
// RegionsStateTab |
// |
this.RegionsStateTab.Controls.Add(this.RegionsStateGridView); |
this.RegionsStateTab.Location = new System.Drawing.Point(4, 25); |
this.RegionsStateTab.Name = "RegionsStateTab"; |
this.RegionsStateTab.Size = new System.Drawing.Size(671, 401); |
this.RegionsStateTab.TabIndex = 5; |
this.RegionsStateTab.Text = "Regions State"; |
this.RegionsStateTab.UseVisualStyleBackColor = true; |
// |
// RegionsStateGridView |
// |
this.RegionsStateGridView.AllowUserToAddRows = false; |
this.RegionsStateGridView.AllowUserToDeleteRows = false; |
this.RegionsStateGridView.AllowUserToOrderColumns = true; |
this.RegionsStateGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; |
this.RegionsStateGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { |
this.RegionsStateRegionName, |
this.RegionsStateLastState, |
this.RegionsStateLastCheck}); |
this.RegionsStateGridView.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
this.RegionsStateGridView.Location = new System.Drawing.Point(4, 4); |
this.RegionsStateGridView.Name = "RegionsStateGridView"; |
this.RegionsStateGridView.ReadOnly = true; |
this.RegionsStateGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; |
this.RegionsStateGridView.Size = new System.Drawing.Size(663, 394); |
this.RegionsStateGridView.TabIndex = 1; |
// |
// RegionsStateRegionName |
// |
this.RegionsStateRegionName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; |
this.RegionsStateRegionName.HeaderText = "Region Name"; |
this.RegionsStateRegionName.Name = "RegionsStateRegionName"; |
this.RegionsStateRegionName.ReadOnly = true; |
this.RegionsStateRegionName.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic; |
// |
// RegionsStateLastState |
// |
this.RegionsStateLastState.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; |
this.RegionsStateLastState.HeaderText = "Last State"; |
this.RegionsStateLastState.Name = "RegionsStateLastState"; |
this.RegionsStateLastState.ReadOnly = true; |
this.RegionsStateLastState.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic; |
// |
// RegionsStateLastCheck |
// |
this.RegionsStateLastCheck.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; |
this.RegionsStateLastCheck.HeaderText = "Last Check"; |
this.RegionsStateLastCheck.Name = "RegionsStateLastCheck"; |
this.RegionsStateLastCheck.ReadOnly = true; |
// |
// ResidentListTab |
// |
this.ResidentListTab.Controls.Add(this.ResidentListBanGroup); |
this.ResidentListTab.Controls.Add(this.label4); |
this.ResidentListTab.Controls.Add(this.ResidentListFilter); |
this.ResidentListTab.Controls.Add(this.ResidentListGridView); |
this.ResidentListTab.Location = new System.Drawing.Point(4, 25); |
this.ResidentListTab.Name = "ResidentListTab"; |
this.ResidentListTab.Size = new System.Drawing.Size(671, 401); |
this.ResidentListTab.TabIndex = 4; |
this.ResidentListTab.Text = "Resident List"; |
this.ResidentListTab.UseVisualStyleBackColor = true; |
// |
// ResidentListBanGroup |
// |
this.ResidentListBanGroup.Controls.Add(this.ResidentBanAllEstatesBox); |
this.ResidentListBanGroup.Controls.Add(this.ResidentBanButton); |
this.ResidentListBanGroup.Enabled = false; |
this.ResidentListBanGroup.Location = new System.Drawing.Point(467, 345); |
this.ResidentListBanGroup.Name = "ResidentListBanGroup"; |
this.ResidentListBanGroup.Size = new System.Drawing.Size(200, 51); |
this.ResidentListBanGroup.TabIndex = 10; |
this.ResidentListBanGroup.TabStop = false; |
this.ResidentListBanGroup.Text = "Ban Residents"; |
// |
// ResidentBanAllEstatesBox |
// |
this.ResidentBanAllEstatesBox.AutoSize = true; |
this.ResidentBanAllEstatesBox.Location = new System.Drawing.Point(91, 23); |
this.ResidentBanAllEstatesBox.Name = "ResidentBanAllEstatesBox"; |
this.ResidentBanAllEstatesBox.Size = new System.Drawing.Size(79, 20); |
this.ResidentBanAllEstatesBox.TabIndex = 3; |
this.ResidentBanAllEstatesBox.Text = "All Estates"; |
this.ResidentBanAllEstatesBox.UseVisualStyleBackColor = true; |
// |
// ResidentBanButton |
// |
this.ResidentBanButton.Location = new System.Drawing.Point(10, 21); |
this.ResidentBanButton.Name = "ResidentBanButton"; |
this.ResidentBanButton.Size = new System.Drawing.Size(75, 23); |
this.ResidentBanButton.TabIndex = 2; |
this.ResidentBanButton.Text = "Ban"; |
this.ResidentBanButton.UseVisualStyleBackColor = true; |
this.ResidentBanButton.Click += new System.EventHandler(this.RequestBanAgents); |
// |
// label4 |
// |
this.label4.AutoSize = true; |
this.label4.Location = new System.Drawing.Point(6, 348); |
this.label4.Name = "label4"; |
this.label4.Size = new System.Drawing.Size(36, 16); |
this.label4.TabIndex = 9; |
this.label4.Text = "Filter:"; |
// |
// ResidentListFilter |
// |
this.ResidentListFilter.Location = new System.Drawing.Point(44, 345); |
this.ResidentListFilter.Name = "ResidentListFilter"; |
this.ResidentListFilter.Size = new System.Drawing.Size(196, 22); |
this.ResidentListFilter.TabIndex = 8; |
this.ResidentListFilter.TextChanged += new System.EventHandler(this.RequestFilterResidentList); |
// |
// ResidentListGridView |
// |
this.ResidentListGridView.AllowUserToAddRows = false; |
this.ResidentListGridView.AllowUserToDeleteRows = false; |
this.ResidentListGridView.AllowUserToOrderColumns = true; |
this.ResidentListGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; |
this.ResidentListGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { |
this.ResidentListName, |
this.ResidentListUUID, |
this.ResidentListPosition}); |
this.ResidentListGridView.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
this.ResidentListGridView.Location = new System.Drawing.Point(4, 4); |
this.ResidentListGridView.Name = "ResidentListGridView"; |
this.ResidentListGridView.ReadOnly = true; |
this.ResidentListGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; |
this.ResidentListGridView.Size = new System.Drawing.Size(663, 335); |
this.ResidentListGridView.TabIndex = 0; |
// |
// ResidentListName |
// |
this.ResidentListName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; |
this.ResidentListName.HeaderText = "Name"; |
this.ResidentListName.Name = "ResidentListName"; |
this.ResidentListName.ReadOnly = true; |
// |
// ResidentListUUID |
// |
this.ResidentListUUID.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; |
this.ResidentListUUID.HeaderText = "UUID"; |
this.ResidentListUUID.Name = "ResidentListUUID"; |
this.ResidentListUUID.ReadOnly = true; |
// |
// ResidentListPosition |
// |
this.ResidentListPosition.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; |
this.ResidentListPosition.HeaderText = "Position"; |
this.ResidentListPosition.Name = "ResidentListPosition"; |
this.ResidentListPosition.ReadOnly = true; |
// |
// BatchRestartTab |
// |
this.BatchRestartTab.Controls.Add(this.label3); |
this.BatchRestartTab.Controls.Add(this.RegionRestartDelayBox); |
this.BatchRestartTab.Controls.Add(this.pictureBox3); |
this.BatchRestartTab.Controls.Add(this.BatchRestartButton); |
this.BatchRestartTab.Controls.Add(this.BatchRestartGridView); |
this.BatchRestartTab.Location = new System.Drawing.Point(4, 25); |
this.BatchRestartTab.Name = "BatchRestartTab"; |
this.BatchRestartTab.Size = new System.Drawing.Size(671, 401); |
this.BatchRestartTab.TabIndex = 3; |
this.BatchRestartTab.Text = "Batch Restart"; |
this.BatchRestartTab.UseVisualStyleBackColor = true; |
// |
// label3 |
// |
this.label3.AutoSize = true; |
this.label3.Font = new System.Drawing.Font("Palatino Linotype", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
this.label3.Location = new System.Drawing.Point(183, 378); |
this.label3.Name = "label3"; |
this.label3.Size = new System.Drawing.Size(77, 16); |
this.label3.TabIndex = 13; |
this.label3.Text = "Restart Delay:"; |
// |
// RegionRestartDelayBox |
// |
this.RegionRestartDelayBox.Location = new System.Drawing.Point(266, 375); |
this.RegionRestartDelayBox.Name = "RegionRestartDelayBox"; |
this.RegionRestartDelayBox.Size = new System.Drawing.Size(72, 22); |
this.RegionRestartDelayBox.TabIndex = 12; |
// |
// pictureBox3 |
// |
this.pictureBox3.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox3.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox3.Image"))); |
this.pictureBox3.Location = new System.Drawing.Point(457, 375); |
this.pictureBox3.Name = "pictureBox3"; |
this.pictureBox3.Size = new System.Drawing.Size(20, 20); |
this.pictureBox3.TabIndex = 11; |
this.pictureBox3.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox3, resources.GetString("pictureBox3.ToolTip")); |
// |
// BatchRestartButton |
// |
this.BatchRestartButton.Location = new System.Drawing.Point(344, 374); |
this.BatchRestartButton.Name = "BatchRestartButton"; |
this.BatchRestartButton.Size = new System.Drawing.Size(107, 23); |
this.BatchRestartButton.TabIndex = 1; |
this.BatchRestartButton.Text = "Batch Restart"; |
this.BatchRestartButton.UseVisualStyleBackColor = true; |
this.BatchRestartButton.Click += new System.EventHandler(this.RequestBatchRestart); |
// |
// BatchRestartGridView |
// |
this.BatchRestartGridView.AllowUserToAddRows = false; |
this.BatchRestartGridView.AllowUserToDeleteRows = false; |
this.BatchRestartGridView.AllowUserToOrderColumns = true; |
this.BatchRestartGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; |
this.BatchRestartGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { |
this.BatchRestartRegionName, |
this.BatchRestartPosition}); |
this.BatchRestartGridView.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
this.BatchRestartGridView.Location = new System.Drawing.Point(4, 4); |
this.BatchRestartGridView.Name = "BatchRestartGridView"; |
this.BatchRestartGridView.ReadOnly = true; |
this.BatchRestartGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; |
this.BatchRestartGridView.Size = new System.Drawing.Size(663, 364); |
this.BatchRestartGridView.TabIndex = 0; |
// |
// BatchRestartRegionName |
// |
this.BatchRestartRegionName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; |
this.BatchRestartRegionName.HeaderText = "Region Name"; |
this.BatchRestartRegionName.Name = "BatchRestartRegionName"; |
this.BatchRestartRegionName.ReadOnly = true; |
this.BatchRestartRegionName.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic; |
// |
// BatchRestartPosition |
// |
this.BatchRestartPosition.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; |
this.BatchRestartPosition.HeaderText = "Position"; |
this.BatchRestartPosition.Name = "BatchRestartPosition"; |
this.BatchRestartPosition.ReadOnly = true; |
this.BatchRestartPosition.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic; |
// |
// TopScriptsTab |
// |
this.TopScriptsTab.Controls.Add(this.label1); |
@@ -376,7 +656,7 @@ |
// label1 |
// |
this.label1.AutoSize = true; |
this.label1.Location = new System.Drawing.Point(5, 380); |
this.label1.Location = new System.Drawing.Point(4, 377); |
this.label1.Name = "label1"; |
this.label1.Size = new System.Drawing.Size(36, 16); |
this.label1.TabIndex = 7; |
@@ -384,7 +664,7 @@ |
// |
// TopScriptsFilter |
// |
this.TopScriptsFilter.Location = new System.Drawing.Point(43, 377); |
this.TopScriptsFilter.Location = new System.Drawing.Point(42, 374); |
this.TopScriptsFilter.Name = "TopScriptsFilter"; |
this.TopScriptsFilter.Size = new System.Drawing.Size(196, 22); |
this.TopScriptsFilter.TabIndex = 6; |
@@ -482,7 +762,7 @@ |
// label2 |
// |
this.label2.AutoSize = true; |
this.label2.Location = new System.Drawing.Point(5, 380); |
this.label2.Location = new System.Drawing.Point(4, 377); |
this.label2.Name = "label2"; |
this.label2.Size = new System.Drawing.Size(36, 16); |
this.label2.TabIndex = 9; |
@@ -490,7 +770,7 @@ |
// |
// TopCollidersFilter |
// |
this.TopCollidersFilter.Location = new System.Drawing.Point(43, 377); |
this.TopCollidersFilter.Location = new System.Drawing.Point(42, 374); |
this.TopCollidersFilter.Name = "TopCollidersFilter"; |
this.TopCollidersFilter.Size = new System.Drawing.Size(196, 22); |
this.TopCollidersFilter.TabIndex = 8; |
@@ -565,91 +845,6 @@ |
this.TopCollidersPosition.HeaderText = "Position"; |
this.TopCollidersPosition.Name = "TopCollidersPosition"; |
// |
// BatchRestartTab |
// |
this.BatchRestartTab.Controls.Add(this.label3); |
this.BatchRestartTab.Controls.Add(this.RegionRestartDelayBox); |
this.BatchRestartTab.Controls.Add(this.pictureBox3); |
this.BatchRestartTab.Controls.Add(this.BatchRestartButton); |
this.BatchRestartTab.Controls.Add(this.BatchRestartGridView); |
this.BatchRestartTab.Location = new System.Drawing.Point(4, 25); |
this.BatchRestartTab.Name = "BatchRestartTab"; |
this.BatchRestartTab.Size = new System.Drawing.Size(671, 401); |
this.BatchRestartTab.TabIndex = 3; |
this.BatchRestartTab.Text = "Batch Restart"; |
this.BatchRestartTab.UseVisualStyleBackColor = true; |
// |
// label3 |
// |
this.label3.AutoSize = true; |
this.label3.Font = new System.Drawing.Font("Palatino Linotype", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
this.label3.Location = new System.Drawing.Point(183, 378); |
this.label3.Name = "label3"; |
this.label3.Size = new System.Drawing.Size(77, 16); |
this.label3.TabIndex = 13; |
this.label3.Text = "Restart Delay:"; |
// |
// RegionRestartDelayBox |
// |
this.RegionRestartDelayBox.Location = new System.Drawing.Point(266, 375); |
this.RegionRestartDelayBox.Name = "RegionRestartDelayBox"; |
this.RegionRestartDelayBox.Size = new System.Drawing.Size(72, 22); |
this.RegionRestartDelayBox.TabIndex = 12; |
// |
// pictureBox3 |
// |
this.pictureBox3.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox3.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox3.Image"))); |
this.pictureBox3.Location = new System.Drawing.Point(457, 375); |
this.pictureBox3.Name = "pictureBox3"; |
this.pictureBox3.Size = new System.Drawing.Size(20, 20); |
this.pictureBox3.TabIndex = 11; |
this.pictureBox3.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox3, resources.GetString("pictureBox3.ToolTip")); |
// |
// BatchRestartButton |
// |
this.BatchRestartButton.Location = new System.Drawing.Point(344, 374); |
this.BatchRestartButton.Name = "BatchRestartButton"; |
this.BatchRestartButton.Size = new System.Drawing.Size(107, 23); |
this.BatchRestartButton.TabIndex = 1; |
this.BatchRestartButton.Text = "Batch Restart"; |
this.BatchRestartButton.UseVisualStyleBackColor = true; |
this.BatchRestartButton.Click += new System.EventHandler(this.RequestBatchRestart); |
// |
// BatchRestartGridView |
// |
this.BatchRestartGridView.AllowUserToAddRows = false; |
this.BatchRestartGridView.AllowUserToDeleteRows = false; |
this.BatchRestartGridView.AllowUserToOrderColumns = true; |
this.BatchRestartGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; |
this.BatchRestartGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { |
this.BatchRestartRegionName, |
this.BatchRestartPosition}); |
this.BatchRestartGridView.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); |
this.BatchRestartGridView.Location = new System.Drawing.Point(4, 4); |
this.BatchRestartGridView.Name = "BatchRestartGridView"; |
this.BatchRestartGridView.ReadOnly = true; |
this.BatchRestartGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; |
this.BatchRestartGridView.Size = new System.Drawing.Size(663, 364); |
this.BatchRestartGridView.TabIndex = 0; |
// |
// BatchRestartRegionName |
// |
this.BatchRestartRegionName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; |
this.BatchRestartRegionName.HeaderText = "Region Name"; |
this.BatchRestartRegionName.Name = "BatchRestartRegionName"; |
this.BatchRestartRegionName.ReadOnly = true; |
this.BatchRestartRegionName.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic; |
// |
// BatchRestartPosition |
// |
this.BatchRestartPosition.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; |
this.BatchRestartPosition.HeaderText = "Position"; |
this.BatchRestartPosition.Name = "BatchRestartPosition"; |
this.BatchRestartPosition.ReadOnly = true; |
this.BatchRestartPosition.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic; |
// |
// statusStrip1 |
// |
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { |
@@ -794,6 +989,120 @@ |
this.toolTip1.InitialDelay = 500; |
this.toolTip1.ReshowDelay = 100; |
// |
// RegionToolsTab |
// |
this.RegionToolsTab.Controls.Add(this.groupBox11); |
this.RegionToolsTab.Location = new System.Drawing.Point(4, 25); |
this.RegionToolsTab.Name = "RegionToolsTab"; |
this.RegionToolsTab.Size = new System.Drawing.Size(671, 401); |
this.RegionToolsTab.TabIndex = 6; |
this.RegionToolsTab.Text = "Region Tools"; |
this.RegionToolsTab.UseVisualStyleBackColor = true; |
// |
// groupBox11 |
// |
this.groupBox11.Controls.Add(this.groupBox13); |
this.groupBox11.Controls.Add(this.EstateTerrainDownloadUploadGroup); |
this.groupBox11.Location = new System.Drawing.Point(3, 3); |
this.groupBox11.Name = "groupBox11"; |
this.groupBox11.Size = new System.Drawing.Size(213, 172); |
this.groupBox11.TabIndex = 0; |
this.groupBox11.TabStop = false; |
this.groupBox11.Text = "Terrain"; |
// |
// button4 |
// |
this.button4.Location = new System.Drawing.Point(47, 20); |
this.button4.Name = "button4"; |
this.button4.Size = new System.Drawing.Size(121, 23); |
this.button4.TabIndex = 0; |
this.button4.Text = "Download Terrain..."; |
this.button4.UseVisualStyleBackColor = true; |
// |
// RipTerrainButton |
// |
this.RipTerrainButton.Location = new System.Drawing.Point(73, 21); |
this.RipTerrainButton.Name = "RipTerrainButton"; |
this.RipTerrainButton.Size = new System.Drawing.Size(94, 23); |
this.RipTerrainButton.TabIndex = 1; |
this.RipTerrainButton.Text = "Rip Terrain..."; |
this.RipTerrainButton.UseVisualStyleBackColor = true; |
this.RipTerrainButton.Click += new System.EventHandler(this.RequestRipTerrain); |
// |
// button7 |
// |
this.button7.Location = new System.Drawing.Point(66, 49); |
this.button7.Name = "button7"; |
this.button7.Size = new System.Drawing.Size(102, 23); |
this.button7.TabIndex = 2; |
this.button7.Text = "Upload Terrain..."; |
this.button7.UseVisualStyleBackColor = true; |
// |
// pictureBox4 |
// |
this.pictureBox4.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox4.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox4.Image"))); |
this.pictureBox4.Location = new System.Drawing.Point(174, 21); |
this.pictureBox4.Name = "pictureBox4"; |
this.pictureBox4.Size = new System.Drawing.Size(20, 20); |
this.pictureBox4.TabIndex = 12; |
this.pictureBox4.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox4, "This option downloads the current region\r\nterrain given estate rights."); |
// |
// pictureBox5 |
// |
this.pictureBox5.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox5.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox5.Image"))); |
this.pictureBox5.Location = new System.Drawing.Point(173, 22); |
this.pictureBox5.Name = "pictureBox5"; |
this.pictureBox5.Size = new System.Drawing.Size(20, 20); |
this.pictureBox5.TabIndex = 12; |
this.pictureBox5.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox5, resources.GetString("pictureBox5.ToolTip")); |
// |
// pictureBox7 |
// |
this.pictureBox7.Cursor = System.Windows.Forms.Cursors.Help; |
this.pictureBox7.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox7.Image"))); |
this.pictureBox7.Location = new System.Drawing.Point(174, 50); |
this.pictureBox7.Name = "pictureBox7"; |
this.pictureBox7.Size = new System.Drawing.Size(20, 20); |
this.pictureBox7.TabIndex = 12; |
this.pictureBox7.TabStop = false; |
this.toolTip1.SetToolTip(this.pictureBox7, "This option uploads a terrain height-map\r\nto the current region and applies it."); |
// |
// LoadTerrainFileDialog |
// |
this.LoadTerrainFileDialog.FileName = "openFileDialog1"; |
// |
// SaveTerrainFileDialog |
// |
this.SaveTerrainFileDialog.Filter = "PNG (*.png)|*.png|All files (*.*)|*.*"; |
// |
// EstateTerrainDownloadUploadGroup |
// |
this.EstateTerrainDownloadUploadGroup.Controls.Add(this.button4); |
this.EstateTerrainDownloadUploadGroup.Controls.Add(this.pictureBox7); |
this.EstateTerrainDownloadUploadGroup.Controls.Add(this.pictureBox4); |
this.EstateTerrainDownloadUploadGroup.Controls.Add(this.button7); |
this.EstateTerrainDownloadUploadGroup.Location = new System.Drawing.Point(6, 21); |
this.EstateTerrainDownloadUploadGroup.Name = "EstateTerrainDownloadUploadGroup"; |
this.EstateTerrainDownloadUploadGroup.Size = new System.Drawing.Size(200, 83); |
this.EstateTerrainDownloadUploadGroup.TabIndex = 13; |
this.EstateTerrainDownloadUploadGroup.TabStop = false; |
this.EstateTerrainDownloadUploadGroup.Text = "Estate"; |
// |
// groupBox13 |
// |
this.groupBox13.Controls.Add(this.RipTerrainButton); |
this.groupBox13.Controls.Add(this.pictureBox5); |
this.groupBox13.Location = new System.Drawing.Point(7, 111); |
this.groupBox13.Name = "groupBox13"; |
this.groupBox13.Size = new System.Drawing.Size(200, 56); |
this.groupBox13.TabIndex = 14; |
this.groupBox13.TabStop = false; |
this.groupBox13.Text = "Override"; |
// |
// Vassal |
// |
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); |
@@ -835,6 +1144,17 @@ |
this.groupBox3.PerformLayout(); |
this.groupBox2.ResumeLayout(false); |
this.groupBox2.PerformLayout(); |
this.RegionsStateTab.ResumeLayout(false); |
((System.ComponentModel.ISupportInitialize)(this.RegionsStateGridView)).EndInit(); |
this.ResidentListTab.ResumeLayout(false); |
this.ResidentListTab.PerformLayout(); |
this.ResidentListBanGroup.ResumeLayout(false); |
this.ResidentListBanGroup.PerformLayout(); |
((System.ComponentModel.ISupportInitialize)(this.ResidentListGridView)).EndInit(); |
this.BatchRestartTab.ResumeLayout(false); |
this.BatchRestartTab.PerformLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit(); |
((System.ComponentModel.ISupportInitialize)(this.BatchRestartGridView)).EndInit(); |
this.TopScriptsTab.ResumeLayout(false); |
this.TopScriptsTab.PerformLayout(); |
((System.ComponentModel.ISupportInitialize)(this.TopScriptsGridView)).EndInit(); |
@@ -841,10 +1161,6 @@ |
this.TopCollidersTab.ResumeLayout(false); |
this.TopCollidersTab.PerformLayout(); |
((System.ComponentModel.ISupportInitialize)(this.TopCollidersGridView)).EndInit(); |
this.BatchRestartTab.ResumeLayout(false); |
this.BatchRestartTab.PerformLayout(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit(); |
((System.ComponentModel.ISupportInitialize)(this.BatchRestartGridView)).EndInit(); |
this.statusStrip1.ResumeLayout(false); |
this.statusStrip1.PerformLayout(); |
this.RegionTeleportGroup.ResumeLayout(false); |
@@ -851,6 +1167,13 @@ |
((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).EndInit(); |
this.groupBox1.ResumeLayout(false); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); |
this.RegionToolsTab.ResumeLayout(false); |
this.groupBox11.ResumeLayout(false); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).EndInit(); |
((System.ComponentModel.ISupportInitialize)(this.pictureBox7)).EndInit(); |
this.EstateTerrainDownloadUploadGroup.ResumeLayout(false); |
this.groupBox13.ResumeLayout(false); |
this.ResumeLayout(false); |
this.PerformLayout(); |
|
@@ -859,7 +1182,7 @@ |
#endregion |
|
private PictureBox pictureBox1; |
private TabControl Tabs; |
public TabControl Tabs; |
private TabPage OverviewTab; |
private StatusStrip statusStrip1; |
private ToolStripProgressBar StatusProgress; |
@@ -869,7 +1192,7 @@ |
public ComboBox LoadedRegions; |
private Label CurrentRegionName; |
private Label CurrentRegionAt; |
private PictureBox RegionAvatarsMap; |
public PictureBox RegionAvatarsMap; |
private Button button1; |
private GroupBox groupBox2; |
private Label Agents; |
@@ -924,6 +1247,33 @@ |
private PictureBox pictureBox3; |
private Label label3; |
public TextBox RegionRestartDelayBox; |
private TabPage ResidentListTab; |
private DataGridView ResidentListGridView; |
private DataGridViewTextBoxColumn ResidentListName; |
private DataGridViewTextBoxColumn ResidentListUUID; |
private DataGridViewTextBoxColumn ResidentListPosition; |
private Button ResidentBanButton; |
private Label label4; |
private TextBox ResidentListFilter; |
private GroupBox ResidentListBanGroup; |
private CheckBox ResidentBanAllEstatesBox; |
private TabPage RegionsStateTab; |
public DataGridView RegionsStateGridView; |
private DataGridViewTextBoxColumn RegionsStateRegionName; |
private DataGridViewTextBoxColumn RegionsStateLastState; |
private DataGridViewTextBoxColumn RegionsStateLastCheck; |
private TabPage RegionToolsTab; |
private GroupBox groupBox11; |
private PictureBox pictureBox7; |
private PictureBox pictureBox5; |
private PictureBox pictureBox4; |
private Button button7; |
private Button RipTerrainButton; |
private Button button4; |
private OpenFileDialog LoadTerrainFileDialog; |
private SaveFileDialog SaveTerrainFileDialog; |
private GroupBox groupBox13; |
private GroupBox EstateTerrainDownloadUploadGroup; |
} |
} |
|
/Vassal/Vassal/VassalForm.cs |
@@ -10,9 +10,11 @@ |
using System.ComponentModel; |
using System.Data; |
using System.Drawing; |
using System.Drawing.Imaging; |
using System.IO; |
using System.Linq; |
using System.Net; |
using System.Net.Sockets; |
using System.Reflection; |
using System.Text; |
using System.Text.RegularExpressions; |
@@ -29,15 +31,211 @@ |
public partial class Vassal : Form |
{ |
public static System.Timers.Timer overviewTabTimer = new Timer(TimeSpan.FromSeconds(1).TotalMilliseconds); |
public static System.Timers.Timer residentListTimer = new Timer(TimeSpan.FromSeconds(1).TotalMilliseconds); |
public static System.Timers.Timer topScriptsTabTimer = new Timer(TimeSpan.FromSeconds(1).TotalMilliseconds); |
public static System.Timers.Timer topCollidersTabTimer = new Timer(TimeSpan.FromSeconds(1).TotalMilliseconds); |
public static System.Timers.Timer regionsStateTabTimer = new Timer(TimeSpan.FromSeconds(1).TotalMilliseconds); |
public static volatile int regionsStateCheckIndex = 0; |
public static VassalConfiguration vassalConfiguration = new VassalConfiguration(); |
public static Vassal vassalForm; |
public static readonly object ClientInstanceTeleportLock = new object(); |
public static readonly object RegionsStateCheckLock = new object(); |
|
/// <summary> |
/// Linden constants. |
/// </summary> |
public struct LINDEN_CONSTANTS |
{ |
public struct ALERTS |
{ |
public const string NO_ROOM_TO_SIT_HERE = @"No room to sit here, try another spot."; |
|
public const string UNABLE_TO_SET_HOME = |
@"You can only set your 'Home Location' on your land or at a mainland Infohub."; |
|
public const string HOME_SET = @"Home position set."; |
} |
|
public struct ASSETS |
{ |
public struct NOTECARD |
{ |
public const string NEWLINE = "\n"; |
public const uint MAXIMUM_BODY_LENTH = 65536; |
} |
} |
|
public struct AVATARS |
{ |
public const uint SET_DISPLAY_NAME_SUCCESS = 200; |
public const string LASTNAME_PLACEHOLDER = @"Resident"; |
public const uint MAXIMUM_DISPLAY_NAME_CHARACTERS = 31; |
public const uint MINIMUM_DISPLAY_NAME_CHARACTERS = 1; |
public const uint MAXIMUM_NUMBER_OF_ATTACHMENTS = 38; |
|
public struct PROFILE |
{ |
public const uint SECOND_LIFE_TEXT_SIZE = 510; |
public const uint FIRST_LIFE_TEXT_SIZE = 253; |
} |
|
public struct PICKS |
{ |
public const uint MAXIMUM_PICKS = 10; |
public const uint MAXIMUM_PICK_DESCRIPTION_SIZE = 1022; |
} |
|
public struct CLASSIFIEDS |
{ |
public const uint MAXIMUM_CLASSIFIEDS = 100; |
} |
} |
|
public struct PRIMITIVES |
{ |
public const uint MAXIMUM_NAME_SIZE = 63; |
public const uint MAXIMUM_DESCRIPTION_SIZE = 127; |
public const double MAXIMUM_REZ_HEIGHT = 4096.0; |
public const double MINIMUM_SIZE_X = 0.01; |
public const double MINIMUM_SIZE_Y = 0.01; |
public const double MINIMUM_SIZE_Z = 0.01; |
public const double MAXIMUM_SIZE_X = 64.0; |
public const double MAXIMUM_SIZE_Y = 64.0; |
public const double MAXIMUM_SIZE_Z = 64.0; |
} |
|
public struct OBJECTS |
{ |
public const uint MAXIMUM_PRIMITIVE_COUNT = 256; |
} |
|
public struct DIRECTORY |
{ |
public struct EVENT |
{ |
public const uint SEARCH_RESULTS_COUNT = 200; |
} |
|
public struct GROUP |
{ |
public const uint SEARCH_RESULTS_COUNT = 100; |
} |
|
public struct LAND |
{ |
public const uint SEARCH_RESULTS_COUNT = 100; |
} |
|
public struct PEOPLE |
{ |
public const uint SEARCH_RESULTS_COUNT = 100; |
} |
} |
|
public struct ESTATE |
{ |
public const uint REGION_RESTART_DELAY = 120; |
public const uint MAXIMUM_BAN_LIST_LENGTH = 500; |
public const uint MAXIMUM_GROUP_LIST_LENGTH = 63; |
public const uint MAXIMUM_USER_LIST_LENGTH = 500; |
public const uint MAXIMUM_MANAGER_LIST_LENGTH = 10; |
|
public struct MESSAGES |
{ |
public const string REGION_RESTART_MESSAGE = @"restart"; |
} |
} |
|
public struct PARCELS |
{ |
public const double MAXIMUM_AUTO_RETURN_TIME = 999999; |
public const uint MINIMUM_AUTO_RETURN_TIME = 0; |
public const uint MAXIMUM_NAME_LENGTH = 63; |
public const uint MAXIMUM_DESCRIPTION_LENGTH = 255; |
} |
|
public struct GRID |
{ |
public const string SECOND_LIFE = @"Second Life"; |
public const string TIME_ZONE = @"Pacific Standard Time"; |
} |
|
public struct CHAT |
{ |
public const uint MAXIMUM_MESSAGE_LENGTH = 1024; |
} |
|
public struct GROUPS |
{ |
public const uint MAXIMUM_NUMBER_OF_ROLES = 10; |
public const string EVERYONE_ROLE_NAME = @"Everyone"; |
public const uint MAXIMUM_GROUP_NAME_LENGTH = 35; |
public const uint MAXIMUM_GROUP_TITLE_LENGTH = 20; |
} |
|
public struct NOTICES |
{ |
public const uint MAXIMUM_NOTICE_MESSAGE_LENGTH = 512; |
} |
|
public struct LSL |
{ |
public const string CSV_DELIMITER = @", "; |
public const float SENSOR_RANGE = 96; |
public const string DATE_TIME_STAMP = @"yyy-MM-ddTHH:mm:ss.ffffffZ"; |
} |
|
public struct REGION |
{ |
public const float TELEPORT_MINIMUM_DISTANCE = 1; |
public const float DEFAULT_AGENT_LIMIT = 40; |
public const float DEFAULT_OBJECT_BONUS = 1; |
public const bool DEFAULT_FIXED_SUN = false; |
public const float DEFAULT_TERRAIN_LOWER_LIMIT = -4; |
public const float DEFAULT_TERRAIN_RAISE_LIMIT = 4; |
public const bool DEFAULT_USE_ESTATE_SUN = true; |
public const float DEFAULT_WATER_HEIGHT = 20; |
public const float SUNRISE = 6; |
} |
|
public struct VIEWER |
{ |
public const float MAXIMUM_DRAW_DISTANCE = 4096; |
} |
|
public struct TELEPORTS |
{ |
public struct THROTTLE |
{ |
public const uint MAX_TELEPORTS = 10; |
public const uint GRACE_SECONDS = 15; |
} |
} |
} |
|
/////////////////////////////////////////////////////////////////////////// |
// Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 // |
/////////////////////////////////////////////////////////////////////////// |
private static double wasMapValueToRange(double value, double xMin, double xMax, double yMin, double yMax) |
{ |
return yMin + ( |
( |
yMax - yMin |
) |
* |
( |
value - xMin |
) |
/ |
( |
xMax - xMin |
) |
); |
} |
|
/////////////////////////////////////////////////////////////////////////// |
// Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 // |
/////////////////////////////////////////////////////////////////////////// |
/// <summary>RFC1738 URL Escapes a string</summary> |
/// <param name="data">a string to escape</param> |
/// <returns>an RFC1738 escaped string</returns> |
@@ -980,7 +1178,7 @@ |
{ |
case true: |
selectedRegionName = listViewItem.Text; |
selectedRegionPosition = (Vector3)listViewItem.Tag; |
selectedRegionPosition = (Vector3) listViewItem.Tag; |
startTeleport = true; |
break; |
default: |
@@ -990,10 +1188,10 @@ |
})); |
|
if (!startTeleport) return; |
|
|
|
// Announce teleport. |
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.RegionTeleportGroup.Enabled = false; |
vassalForm.StatusProgress.Value = 0; |
@@ -1078,7 +1276,7 @@ |
finally |
{ |
Monitor.Exit(ClientInstanceTeleportLock); |
vassalForm.Invoke((MethodInvoker) (() => |
vassalForm.BeginInvoke((MethodInvoker) (() => |
{ |
vassalForm.StatusProgress.Value = 100; |
vassalForm.RegionTeleportGroup.Enabled = true; |
@@ -1097,6 +1295,8 @@ |
})); |
break; |
} |
// Clear the resident list table. |
ResidentListGridView.Rows.Clear(); |
// Clear the top scripts table. |
TopScriptsGridView.Rows.Clear(); |
// Clear the top colliders table. |
@@ -1122,8 +1322,8 @@ |
Objects.Enabled = false; |
})); |
} |
}).Start(); |
|
}) |
{IsBackground = true}.Start(); |
} |
|
private void SettingsRequested(object sender, EventArgs e) |
@@ -1140,6 +1340,7 @@ |
// Disable estate manager tabs since we will enable these dynamically. |
TopScriptsTab.Enabled = false; |
TopCollidersTab.Enabled = false; |
ResidentListBanGroup.Enabled = false; |
|
// Get the configuration file settings if it exists. |
if (File.Exists(VASSAL_CONSTANTS.VASSAL_CONFIGURATION_FILE)) |
@@ -1150,6 +1351,40 @@ |
RegionRestartDelayBox.Text = vassalConfiguration.RegionRestartDelay.ToString(Utils.EnUsCulture); |
} |
|
// Spawn a thread to check Corrade's connection status. |
new Thread(() => |
{ |
TcpClient tcpClient = new TcpClient(); |
try |
{ |
System.Uri uri = new System.Uri(vassalConfiguration.HTTPServerURL); |
tcpClient.Connect(uri.Host, uri.Port); |
// port open |
vassalForm.BeginInvoke((MethodInvoker) (() => { Tabs.Enabled = true; })); |
// set the loading spinner |
Assembly thisAssembly = System.Reflection.Assembly.GetExecutingAssembly(); |
System.IO.Stream file = |
thisAssembly.GetManifestResourceStream("Vassal.img.loading.gif"); |
switch (file != null) |
{ |
case true: |
vassalForm.BeginInvoke((MethodInvoker) (() => |
{ |
RegionAvatarsMap.SizeMode = PictureBoxSizeMode.CenterImage; |
RegionAvatarsMap.Image = Image.FromStream(file); |
RegionAvatarsMap.Refresh(); |
})); |
break; |
} |
} |
catch (Exception) |
{ |
// port closed |
vassalForm.BeginInvoke((MethodInvoker) (() => { Tabs.Enabled = false; })); |
} |
}) |
{IsBackground = true}.Start(); |
|
// Get all the regions if they exist. |
if (File.Exists(VASSAL_CONSTANTS.VASSAL_REGIONS)) |
{ |
@@ -1174,24 +1409,13 @@ |
{ |
BatchRestartGridView.Rows.Add(data.Key, data.Value.ToString()); |
} |
// Populate the regions state grid view. |
foreach (KeyValuePair<string, Vector3> data in ConfiguredRegions) |
{ |
RegionsStateGridView.Rows.Add(data.Key, "Check pening..."); |
} |
} |
|
// Set the map image to the loading spinner. |
Assembly thisAssembly = System.Reflection.Assembly.GetExecutingAssembly(); |
System.IO.Stream file = |
thisAssembly.GetManifestResourceStream("Vassal.img.loading.gif"); |
switch (file != null) |
{ |
case true: |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
RegionAvatarsMap.SizeMode = PictureBoxSizeMode.CenterImage; |
RegionAvatarsMap.Image = Image.FromStream(file); |
RegionAvatarsMap.Refresh(); |
})); |
break; |
} |
|
// Start the overview timer. |
overviewTabTimer.Elapsed += (o, p) => |
{ |
@@ -1200,12 +1424,7 @@ |
|
try |
{ |
// Do not do anything in case the tab is not selected. |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
if (!Tabs.SelectedTab.Equals(OverviewTab)) |
throw new Exception(); |
})); |
// Always run the overview regardless which tab is active. |
|
// Get the statistics. |
string result = wasPOST(vassalConfiguration.HTTPServerURL, |
@@ -1240,7 +1459,7 @@ |
if (data.Count.Equals(0)) |
throw new Exception(); |
|
vassalForm.Invoke((MethodInvoker) (() => |
vassalForm.BeginInvoke((MethodInvoker) (() => |
{ |
// Drop access to features if we are not estate managers. |
bool isEstateManager; |
@@ -1251,10 +1470,12 @@ |
case true: // we are an estate manager |
TopScriptsTab.Enabled = true; |
TopCollidersTab.Enabled = true; |
ResidentListBanGroup.Enabled = true; |
break; |
default: |
TopScriptsTab.Enabled = false; |
TopCollidersTab.Enabled = false; |
ResidentListBanGroup.Enabled = false; |
break; |
} |
|
@@ -1355,7 +1576,7 @@ |
} |
mapGraphics.DrawImage(mapImage, new Point(0, 0)); |
|
vassalForm.Invoke((MethodInvoker) (() => |
vassalForm.BeginInvoke((MethodInvoker) (() => |
{ |
RegionAvatarsMap.SizeMode = PictureBoxSizeMode.StretchImage; |
RegionAvatarsMap.Image = mapImage; |
@@ -1374,21 +1595,113 @@ |
}; |
overviewTabTimer.Start(); |
|
// Start the top scores timer. |
topScriptsTabTimer.Elapsed += (o, p) => |
regionsStateTabTimer.Elapsed += (o, p) => |
{ |
if (!Monitor.TryEnter(ClientInstanceTeleportLock)) |
// Do not do anything in case the tab is not selected. |
bool run = false; |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
run = Tabs.SelectedTab.Equals(RegionsStateTab); |
})); |
if (!run) return; |
|
if (!Monitor.TryEnter(RegionsStateCheckLock)) |
return; |
|
try |
{ |
// Do not do anything in case the tab is not selected. |
string regionName = string.Empty; |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
if (!Tabs.SelectedTab.Equals(TopScriptsTab)) |
throw new Exception(); |
regionName = |
RegionsStateGridView.Rows[regionsStateCheckIndex].Cells["RegionsStateRegionName"].Value |
.ToString(); |
})); |
|
if (string.IsNullOrEmpty(regionName)) |
throw new Exception(); |
|
// Get the region status. |
string result = wasPOST(vassalConfiguration.HTTPServerURL, |
wasKeyValueEscape(new Dictionary<string, string> |
{ |
{"command", "getgridregiondata"}, |
{"group", vassalConfiguration.Group}, |
{"password", vassalConfiguration.Password}, |
{"region", regionName}, |
{"data", "Access"} |
}), vassalConfiguration.DataTimeout); |
|
bool success; |
if (string.IsNullOrEmpty(result) || |
!bool.TryParse(wasInput(wasKeyValueGet("success", result)), out success)) |
throw new Exception(); |
|
List<string> data = wasCSVToEnumerable(wasInput(wasKeyValueGet("data", result))).ToList(); |
if (!data.Count.Equals(2)) |
throw new Exception(); |
|
string status = data.Last(); |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
switch (status) |
{ |
case "Unknown": |
case "Down": |
case "NonExistent": |
RegionsStateGridView.Rows[regionsStateCheckIndex].DefaultCellStyle.BackColor = |
Color.LightPink; |
RegionsStateGridView.Rows[regionsStateCheckIndex].Cells["RegionsStateLastState"].Value = |
status; |
break; |
default: |
RegionsStateGridView.Rows[regionsStateCheckIndex].DefaultCellStyle.BackColor = |
Color.LightGreen; |
RegionsStateGridView.Rows[regionsStateCheckIndex].Cells["RegionsStateLastState"].Value = |
"Up"; |
break; |
} |
RegionsStateGridView.Rows[regionsStateCheckIndex].Cells["RegionsStateLastCheck"].Value = DateTime |
.Now.ToUniversalTime() |
.ToString(Vassal.LINDEN_CONSTANTS.LSL.DATE_TIME_STAMP); |
|
})); |
} |
catch (Exception) |
{ |
|
} |
finally |
{ |
Monitor.Exit(RegionsStateCheckLock); |
++regionsStateCheckIndex; |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
if (regionsStateCheckIndex >= RegionsStateGridView.Rows.Count) |
{ |
regionsStateCheckIndex = 0; |
} |
})); |
} |
}; |
regionsStateTabTimer.Start(); |
|
// Start the top scores timer. |
topScriptsTabTimer.Elapsed += (o, p) => |
{ |
// Do not do anything in case the tab is not selected. |
bool run = false; |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
run = Tabs.SelectedTab.Equals(TopScriptsTab); |
})); |
if (!run) return; |
|
if (!Monitor.TryEnter(ClientInstanceTeleportLock)) |
return; |
|
try |
{ |
// Get the statistics. |
string result = wasPOST(vassalConfiguration.HTTPServerURL, |
wasKeyValueEscape(new Dictionary<string, string> |
@@ -1463,18 +1776,19 @@ |
// Start the top colliders timer. |
topCollidersTabTimer.Elapsed += (o, p) => |
{ |
// Do not do anything in case the tab is not selected. |
bool run = false; |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
run = Tabs.SelectedTab.Equals(TopCollidersTab); |
})); |
if (!run) return; |
|
if (!Monitor.TryEnter(ClientInstanceTeleportLock)) |
return; |
|
try |
{ |
// Do not do anything in case the tab is not selected. |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
if (!Tabs.SelectedTab.Equals(TopCollidersTab)) |
throw new Exception(); |
})); |
|
// Get the statistics. |
string result = wasPOST(vassalConfiguration.HTTPServerURL, |
wasKeyValueEscape(new Dictionary<string, string> |
@@ -1528,7 +1842,8 @@ |
row.Cells["TopCollidersPosition"].Value = dataComponents[4]; |
break; |
case false: // the row dosn't exist, so add it. |
TopCollidersGridView.Rows.Add(dataComponents[0], dataComponents[1], dataComponents[2], |
TopCollidersGridView.Rows.Add(dataComponents[0], dataComponents[1], |
dataComponents[2], |
dataComponents[3], dataComponents[4]); |
break; |
} |
@@ -1546,6 +1861,92 @@ |
} |
}; |
topCollidersTabTimer.Start(); |
|
// Start the resident list timer. |
residentListTimer.Elapsed += (o, p) => |
{ |
// Do not do anything in case the tab is not selected. |
bool run = false; |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
run = Tabs.SelectedTab.Equals(ResidentListTab); |
})); |
if (!run) return; |
|
if (!Monitor.TryEnter(ClientInstanceTeleportLock)) |
return; |
|
try |
{ |
// Get the avatar positions. |
string result = wasPOST(vassalConfiguration.HTTPServerURL, |
wasKeyValueEscape(new Dictionary<string, string> |
{ |
{"command", "getavatarpositions"}, |
{"group", vassalConfiguration.Group}, |
{"password", vassalConfiguration.Password}, |
{"entity", "region"} |
}), vassalConfiguration.DataTimeout); |
|
bool success; |
if (string.IsNullOrEmpty(result) || |
!bool.TryParse(wasInput(wasKeyValueGet("success", result)), out success)) |
throw new Exception(); |
|
HashSet<List<string>> data = |
new HashSet<List<string>>(wasCSVToEnumerable(wasInput(wasKeyValueGet("data", result))) |
.Select((x, i) => new {Index = i, Value = x}) |
.GroupBy(x => x.Index/3) |
.Select(x => x.Select(v => v.Value).ToList())); |
if (data.Count.Equals(0)) |
throw new Exception(); |
|
vassalForm.Invoke((MethodInvoker) (() => |
{ |
// Remove rows that are not in the data update. |
foreach ( |
int index in |
ResidentListGridView.Rows.AsParallel().Cast<DataGridViewRow>() |
.Where( |
residentListRow => |
!data.Any(q => q[1].Equals(residentListRow.Cells["ResidentListUUID"].Value))) |
.Select(q => q.Index)) |
{ |
ResidentListGridView.Rows.RemoveAt(index); |
} |
// Now update or add new data. |
foreach (List<string> dataComponents in data.Where(q => q.Count.Equals(3))) |
{ |
DataGridViewRow row = |
ResidentListGridView.Rows.AsParallel() |
.Cast<DataGridViewRow>() |
.FirstOrDefault(q => q.Cells["ResidentListUUID"].Value.Equals(dataComponents[1])); |
switch (row != null) |
{ |
case true: // the row exists, so update it. |
row.Cells["ResidentListName"].Value = dataComponents[0]; |
row.Cells["ResidentListUUID"].Value = dataComponents[1]; |
row.Cells["ResidentListPosition"].Value = dataComponents[2]; |
break; |
case false: // the row dosn't exist, so add it. |
ResidentListGridView.Rows.Add(dataComponents[0], dataComponents[1], |
dataComponents[2]); |
break; |
} |
} |
|
})); |
} |
catch (Exception) |
{ |
|
} |
finally |
{ |
Monitor.Exit(ClientInstanceTeleportLock); |
} |
}; |
residentListTimer.Start(); |
} |
|
private void RequestedEditRegions(object sender, EventArgs e) |
@@ -1602,7 +2003,7 @@ |
} |
})); |
}) |
{IsBackground = true, Priority = ThreadPriority.Normal}.Start(); |
{IsBackground = true}.Start(); |
break; |
} |
})); |
@@ -1649,7 +2050,7 @@ |
} |
})); |
}) |
{IsBackground = true, Priority = ThreadPriority.Normal}.Start(); |
{IsBackground = true}.Start(); |
break; |
} |
})); |
@@ -1685,7 +2086,7 @@ |
|
private void RequestFilterTopColliders(object sender, EventArgs e) |
{ |
vassalForm.BeginInvoke((MethodInvoker)(() => |
vassalForm.BeginInvoke((MethodInvoker) (() => |
{ |
Regex topCollidersRowRegex; |
switch (!string.IsNullOrEmpty(TopScriptsFilter.Text)) |
@@ -1697,7 +2098,8 @@ |
topCollidersRowRegex = new Regex(@".+?", RegexOptions.Compiled); |
break; |
} |
foreach (DataGridViewRow topCollidersRow in TopCollidersGridView.Rows.AsParallel().Cast<DataGridViewRow>()) |
foreach ( |
DataGridViewRow topCollidersRow in TopCollidersGridView.Rows.AsParallel().Cast<DataGridViewRow>()) |
{ |
topCollidersRow.Visible = |
topCollidersRowRegex.IsMatch(topCollidersRow.Cells["TopCollidersScore"].Value.ToString()) || |
@@ -1742,7 +2144,7 @@ |
// If no rows were selected, enable teleports, the return button and return. |
if (returnUUIDs.Count.Equals(0)) |
{ |
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.ReturnTopScriptsButton.Enabled = true; |
RegionTeleportGroup.Enabled = true; |
@@ -1776,7 +2178,7 @@ |
{ |
currentRegionName = CurrentRegionName.Text; |
})); |
|
|
// Teleport to the object. |
string result = wasPOST(vassalConfiguration.HTTPServerURL, |
wasKeyValueEscape(new Dictionary<string, string> |
@@ -1791,7 +2193,7 @@ |
|
if (string.IsNullOrEmpty(result)) |
{ |
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"Error communicating with Corrade."; |
})); |
@@ -1806,7 +2208,7 @@ |
{"group", vassalConfiguration.Group}, |
{"password", vassalConfiguration.Password}, |
{"item", objectData.Key.ToString()}, |
{"range", "32" }, // maximal prim size = 64 - middle bounding box at half |
{"range", "32"}, // maximal prim size = 64 - middle bounding box at half |
{"type", "ReturnToOwner"} |
}), vassalConfiguration.DataTimeout); |
|
@@ -1836,11 +2238,11 @@ |
{ |
vassalForm.StatusText.Text = @"Returned object: " + objectData.Key.ToString(); |
// Remove the row from the grid view. |
DataGridViewRow row = |
TopScriptsGridView.Rows.AsParallel() |
.Cast<DataGridViewRow>() |
.FirstOrDefault( |
o => o.Cells["TopScriptsUUID"].Value.Equals(objectData.Key.ToString())); |
DataGridViewRow row = |
TopScriptsGridView.Rows.AsParallel() |
.Cast<DataGridViewRow>() |
.FirstOrDefault( |
o => o.Cells["TopScriptsUUID"].Value.Equals(objectData.Key.ToString())); |
if (row == null) return; |
int i = row.Index; |
TopScriptsGridView.Rows.RemoveAt(i); |
@@ -1870,7 +2272,7 @@ |
} |
catch (Exception ex) |
{ |
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"Unexpected error: " + ex.Message; |
})); |
@@ -1879,7 +2281,7 @@ |
{ |
Monitor.Exit(ClientInstanceTeleportLock); |
// Allow teleports and enable button. |
vassalForm.BeginInvoke((MethodInvoker)(() => |
vassalForm.BeginInvoke((MethodInvoker) (() => |
{ |
vassalForm.ReturnTopScriptsButton.Enabled = true; |
RegionTeleportGroup.Enabled = true; |
@@ -1892,7 +2294,7 @@ |
private void RequestReturnTopCollidersObjects(object sender, EventArgs e) |
{ |
// Block teleports and disable button. |
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.ReturnTopCollidersButton.Enabled = false; |
RegionTeleportGroup.Enabled = false; |
@@ -1899,8 +2301,8 @@ |
})); |
|
// Enqueue all the UUIDs to return. |
Queue<KeyValuePair<UUID, Vector3>> returnUUIDs = new Queue<KeyValuePair<UUID, Vector3>>(); |
vassalForm.Invoke((MethodInvoker)(() => |
Queue<KeyValuePair<UUID, Vector3>> returnObjectUUIDQueue = new Queue<KeyValuePair<UUID, Vector3>>(); |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
foreach ( |
DataGridViewRow topCollidersRow in |
@@ -1911,16 +2313,17 @@ |
Vector3 objectPosition; |
UUID returnUUID; |
if (!UUID.TryParse(topCollidersRow.Cells["TopCollidersUUID"].Value.ToString(), out returnUUID) || |
!Vector3.TryParse(topCollidersRow.Cells["TopCollidersPosition"].Value.ToString(), out objectPosition)) |
!Vector3.TryParse(topCollidersRow.Cells["TopCollidersPosition"].Value.ToString(), |
out objectPosition)) |
continue; |
returnUUIDs.Enqueue(new KeyValuePair<UUID, Vector3>(returnUUID, objectPosition)); |
returnObjectUUIDQueue.Enqueue(new KeyValuePair<UUID, Vector3>(returnUUID, objectPosition)); |
} |
})); |
|
// If no rows were selected, enable teleports, the return button and return. |
if (returnUUIDs.Count.Equals(0)) |
if (returnObjectUUIDQueue.Count.Equals(0)) |
{ |
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.ReturnTopCollidersButton.Enabled = true; |
RegionTeleportGroup.Enabled = true; |
@@ -1934,23 +2337,23 @@ |
|
try |
{ |
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusProgress.Value = 0; |
})); |
int totalObjects = returnUUIDs.Count; |
int totalObjects = returnObjectUUIDQueue.Count; |
do |
{ |
// Dequeue the first object. |
KeyValuePair<UUID, Vector3> objectData = returnUUIDs.Dequeue(); |
KeyValuePair<UUID, Vector3> objectData = returnObjectUUIDQueue.Dequeue(); |
|
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"Returning UUID: " + objectData.Key.ToString(); |
})); |
|
string currentRegionName = string.Empty; |
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
currentRegionName = CurrentRegionName.Text; |
})); |
@@ -1969,7 +2372,7 @@ |
|
if (string.IsNullOrEmpty(result)) |
{ |
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"Error communicating with Corrade."; |
})); |
@@ -1984,13 +2387,13 @@ |
{"group", vassalConfiguration.Group}, |
{"password", vassalConfiguration.Password}, |
{"item", objectData.Key.ToString()}, |
{"range", "32" }, // maximal prim size = 64 - middle bounding box at half |
{"range", "32"}, // maximal prim size = 64 - middle bounding box at half |
{"type", "ReturnToOwner"} |
}), vassalConfiguration.DataTimeout); |
|
if (string.IsNullOrEmpty(result)) |
{ |
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"Error communicating with Corrade."; |
})); |
@@ -2000,7 +2403,7 @@ |
bool success; |
if (!bool.TryParse(wasInput(wasKeyValueGet("success", result)), out success)) |
{ |
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"No success status could be retrieved. "; |
})); |
@@ -2010,15 +2413,15 @@ |
switch (success) |
{ |
case true: |
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"Returned object: " + objectData.Key.ToString(); |
// Remove the row from the grid view. |
DataGridViewRow row = |
TopCollidersGridView.Rows.AsParallel() |
.Cast<DataGridViewRow>() |
.FirstOrDefault( |
o => o.Cells["TopCollidersUUID"].Value.Equals(objectData.Key.ToString())); |
TopCollidersGridView.Rows.AsParallel() |
.Cast<DataGridViewRow>() |
.FirstOrDefault( |
o => o.Cells["TopCollidersUUID"].Value.Equals(objectData.Key.ToString())); |
if (row == null) return; |
int i = row.Index; |
TopCollidersGridView.Rows.RemoveAt(i); |
@@ -2025,7 +2428,7 @@ |
})); |
break; |
case false: |
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"Could not return object " + objectData.Key.ToString() + |
@": " + |
@@ -2034,14 +2437,14 @@ |
break; |
} |
|
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusProgress.Value = |
Math.Min((int)(Math.Abs(returnUUIDs.Count - totalObjects) / |
(double)totalObjects), 100); |
Math.Min((int) (Math.Abs(returnObjectUUIDQueue.Count - totalObjects)/ |
(double) totalObjects), 100); |
})); |
} while (!returnUUIDs.Count.Equals(0)); |
vassalForm.Invoke((MethodInvoker)(() => |
} while (!returnObjectUUIDQueue.Count.Equals(0)); |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusProgress.Value = 100; |
})); |
@@ -2048,7 +2451,7 @@ |
} |
catch (Exception ex) |
{ |
vassalForm.Invoke((MethodInvoker)(() => |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"Unexpected error: " + ex.Message; |
})); |
@@ -2057,7 +2460,7 @@ |
{ |
Monitor.Exit(ClientInstanceTeleportLock); |
// Allow teleports and enable button. |
vassalForm.BeginInvoke((MethodInvoker)(() => |
vassalForm.BeginInvoke((MethodInvoker) (() => |
{ |
vassalForm.ReturnTopScriptsButton.Enabled = true; |
RegionTeleportGroup.Enabled = true; |
@@ -2064,12 +2467,539 @@ |
})); |
} |
}) |
{ IsBackground = true }.Start(); |
{IsBackground = true}.Start(); |
} |
|
private void RequestBatchRestart(object sender, EventArgs e) |
{ |
// Block teleports and disable button. |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.BatchRestartButton.Enabled = false; |
RegionTeleportGroup.Enabled = false; |
})); |
|
// Enqueue all the regions to restart. |
Queue<KeyValuePair<string, Vector3>> restartRegionQueue = new Queue<KeyValuePair<string, Vector3>>(); |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
foreach ( |
DataGridViewRow topCollidersRow in |
BatchRestartGridView.Rows.AsParallel() |
.Cast<DataGridViewRow>() |
.Where(o => o.Selected || o.Cells.Cast<DataGridViewCell>().Any(p => p.Selected))) |
{ |
Vector3 objectPosition; |
string regionName = topCollidersRow.Cells["BatchRestartRegionName"].Value.ToString(); |
if (string.IsNullOrEmpty(regionName) || |
!Vector3.TryParse(topCollidersRow.Cells["BatchRestartPosition"].Value.ToString(), |
out objectPosition)) |
continue; |
restartRegionQueue.Enqueue(new KeyValuePair<string, Vector3>(regionName, objectPosition)); |
} |
})); |
|
// If no rows were selected, enable teleports, the return button and return. |
if (restartRegionQueue.Count.Equals(0)) |
{ |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.BatchRestartButton.Enabled = true; |
RegionTeleportGroup.Enabled = true; |
})); |
return; |
} |
|
new Thread(() => |
{ |
Monitor.Enter(ClientInstanceTeleportLock); |
|
try |
{ |
do |
{ |
// Dequeue the first object. |
KeyValuePair<string, Vector3> restartRegionData = restartRegionQueue.Dequeue(); |
DataGridViewRow currentDataGridViewRow = null; |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
currentDataGridViewRow = vassalForm.BatchRestartGridView.Rows.AsParallel() |
.Cast<DataGridViewRow>() |
.FirstOrDefault( |
o => |
o.Cells["BatchRestartRegionName"].Value.ToString() |
.Equals(restartRegionData.Key, StringComparison.OrdinalIgnoreCase) && |
o.Cells["BatchRestartPosition"].Value.ToString() |
.Equals(restartRegionData.Value.ToString(), |
StringComparison.OrdinalIgnoreCase)); |
})); |
|
if (currentDataGridViewRow == null) continue; |
|
try |
{ |
bool success = false; |
string result; |
|
// Retry to teleport to each region a few times. |
int teleportRetries = 3; |
do |
{ |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"Attempting to teleport to " + restartRegionData.Key + |
@" " + @"(" + |
teleportRetries.ToString(Utils.EnUsCulture) + |
@")"; |
})); |
|
// Teleport to the region. |
result = wasPOST(vassalConfiguration.HTTPServerURL, |
wasKeyValueEscape(new Dictionary<string, string> |
{ |
{"command", "teleport"}, |
{"group", vassalConfiguration.Group}, |
{"password", vassalConfiguration.Password}, |
{"position", restartRegionData.Value.ToString()}, |
{"region", restartRegionData.Key}, |
{"fly", "True"} |
}), vassalConfiguration.DataTimeout); |
|
if (string.IsNullOrEmpty(result)) |
{ |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"Error communicating with Corrade."; |
})); |
continue; |
} |
if (!bool.TryParse(wasInput(wasKeyValueGet("success", result)), out success)) |
{ |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"No success status could be retrieved. "; |
})); |
continue; |
} |
switch (success) |
{ |
case true: |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"Teleport succeeded."; |
})); |
Thread.Sleep(TimeSpan.FromSeconds(1).Milliseconds); |
break; |
default: |
// In case the destination is to close (Corrade status code 37559), |
// then we are on the same region so no need to retry. |
uint status; //37559 |
switch ( |
uint.TryParse(wasInput(wasKeyValueGet("status", result)), out status) && |
status.Equals(37559)) |
{ |
case true: // We are on the region already! |
success = true; |
break; |
default: |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"Teleport failed."; |
})); |
Thread.Sleep(10000); |
break; |
} |
break; |
} |
} while (!success && !(--teleportRetries).Equals(0)); |
|
if (!success) |
throw new Exception("Failed to teleport to region."); |
|
result = wasPOST(vassalConfiguration.HTTPServerURL, |
wasKeyValueEscape(new Dictionary<string, string> |
{ |
{"command", "getregiondata"}, |
{"group", vassalConfiguration.Group}, |
{"password", vassalConfiguration.Password}, |
{"data", "IsEstateManager"} |
}), vassalConfiguration.DataTimeout); |
|
if (string.IsNullOrEmpty(result)) |
throw new Exception("Error communicating with Corrade."); |
|
if (!bool.TryParse(wasInput(wasKeyValueGet("success", result)), out success)) |
throw new Exception("No success status could be retrieved."); |
|
if (!success) |
throw new Exception("Could not retrieve estate rights."); |
|
List<string> data = wasCSVToEnumerable(wasInput(wasKeyValueGet("data", result))).ToList(); |
if (!data.Count.Equals(2)) |
throw new Exception("Could not retrieve estate rights."); |
|
bool isEstateManager; |
switch ( |
bool.TryParse(data[data.IndexOf("IsEstateManager") + 1], out isEstateManager) && |
isEstateManager) |
{ |
case true: // we are an estate manager |
result = wasPOST(vassalConfiguration.HTTPServerURL, |
wasKeyValueEscape(new Dictionary<string, string> |
{ |
{"command", "restartregion"}, |
{"group", vassalConfiguration.Group}, |
{"password", vassalConfiguration.Password}, |
{"action", "restart"}, |
{ |
"delay", vassalConfiguration.RegionRestartDelay.ToString(Utils.EnUsCulture) |
} |
}), vassalConfiguration.DataTimeout); |
|
if (string.IsNullOrEmpty(result)) |
throw new Exception("Error communicating with Corrade."); |
|
if (!bool.TryParse(wasInput(wasKeyValueGet("success", result)), out success)) |
throw new Exception("No success status could be retrieved."); |
|
if (!success) |
throw new Exception("Could not schedule a region restart."); |
|
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"Region scheduled for restart."; |
currentDataGridViewRow.Selected = false; |
currentDataGridViewRow.DefaultCellStyle.BackColor = Color.LightGreen; |
foreach ( |
DataGridViewCell cell in |
currentDataGridViewRow.Cells.AsParallel().Cast<DataGridViewCell>()) |
{ |
cell.ToolTipText = @"Region scheduled for restart."; |
} |
})); |
break; |
default: |
throw new Exception("No estate manager rights for region restart."); |
} |
} |
catch (Exception ex) |
{ |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = ex.Message; |
currentDataGridViewRow.Selected = false; |
currentDataGridViewRow.DefaultCellStyle.BackColor = Color.LightPink; |
foreach ( |
DataGridViewCell cell in |
currentDataGridViewRow.Cells.AsParallel().Cast<DataGridViewCell>()) |
{ |
cell.ToolTipText = ex.Message; |
} |
})); |
} |
} while (!restartRegionQueue.Count.Equals(0)); |
} |
catch (Exception) |
{ |
|
} |
finally |
{ |
Monitor.Exit(ClientInstanceTeleportLock); |
// Allow teleports and enable button. |
vassalForm.BeginInvoke((MethodInvoker) (() => |
{ |
vassalForm.BatchRestartButton.Enabled = true; |
RegionTeleportGroup.Enabled = true; |
})); |
} |
}) |
{IsBackground = true}.Start(); |
|
} |
|
private void RequestFilterResidentList(object sender, EventArgs e) |
{ |
vassalForm.BeginInvoke((MethodInvoker) (() => |
{ |
Regex residentListRowRegex; |
switch (!string.IsNullOrEmpty(ResidentListFilter.Text)) |
{ |
case true: |
residentListRowRegex = new Regex(ResidentListFilter.Text, RegexOptions.Compiled); |
break; |
default: |
residentListRowRegex = new Regex(@".+?", RegexOptions.Compiled); |
break; |
} |
foreach ( |
DataGridViewRow residentListRow in ResidentListGridView.Rows.AsParallel().Cast<DataGridViewRow>()) |
{ |
residentListRow.Visible = |
residentListRowRegex.IsMatch(residentListRow.Cells["ResidentListName"].Value.ToString()) || |
residentListRowRegex.IsMatch( |
residentListRow.Cells["ResidentListUUID"].Value.ToString()) || |
residentListRowRegex.IsMatch(residentListRow.Cells["ResidentListPosition"].Value.ToString()); |
} |
})); |
} |
|
private void RequestBanAgents(object sender, EventArgs e) |
{ |
// Block teleports and disable button. |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
ResidentListBanGroup.Enabled = false; |
RegionTeleportGroup.Enabled = false; |
})); |
|
// Enqueue all the regions to restart. |
Queue<UUID> agentsQueue = new Queue<UUID>(); |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
foreach ( |
DataGridViewRow residentListRow in |
ResidentListGridView.Rows.AsParallel() |
.Cast<DataGridViewRow>() |
.Where(o => o.Selected || o.Cells.Cast<DataGridViewCell>().Any(p => p.Selected))) |
{ |
UUID agentUUID; |
if (!UUID.TryParse(residentListRow.Cells["ResidentListUUID"].Value.ToString(), out agentUUID)) |
continue; |
agentsQueue.Enqueue(agentUUID); |
} |
})); |
|
// If no rows were selected, enable teleports, the return button and return. |
if (agentsQueue.Count.Equals(0)) |
{ |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
ResidentListBanGroup.Enabled = true; |
RegionTeleportGroup.Enabled = true; |
})); |
return; |
} |
|
new Thread(() => |
{ |
Monitor.Enter(ClientInstanceTeleportLock); |
try |
{ |
do |
{ |
// Dequeue the first object. |
UUID agentUUID = agentsQueue.Dequeue(); |
DataGridViewRow currentDataGridViewRow = null; |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
currentDataGridViewRow = vassalForm.ResidentListGridView.Rows.AsParallel() |
.Cast<DataGridViewRow>() |
.FirstOrDefault( |
o => |
o.Cells["ResidentListUUID"].Value.ToString() |
.Equals(agentUUID.ToString(), StringComparison.OrdinalIgnoreCase)); |
})); |
|
if (currentDataGridViewRow == null) continue; |
|
try |
{ |
bool alsoBan = false; |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
alsoBan = vassalForm.ResidentBanAllEstatesBox.Checked; |
})); |
|
// Teleport to the region. |
string result = wasPOST(vassalConfiguration.HTTPServerURL, |
wasKeyValueEscape(new Dictionary<string, string> |
{ |
{"command", "setestatelist"}, |
{"group", vassalConfiguration.Group}, |
{"password", vassalConfiguration.Password}, |
{"type", "ban"}, |
{"action", "add"}, |
{"agent", agentUUID.ToString()}, |
{"all", alsoBan.ToString()} |
}), vassalConfiguration.DataTimeout); |
|
if (string.IsNullOrEmpty(result)) |
throw new Exception("Error communicating with Corrade."); |
|
bool success; |
if (!bool.TryParse(wasInput(wasKeyValueGet("success", result)), out success)) |
throw new Exception("No success status could be retrieved."); |
|
switch (success) |
{ |
case true: |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = @"Resident banned."; |
currentDataGridViewRow.Selected = false; |
currentDataGridViewRow.DefaultCellStyle.BackColor = Color.LightGreen; |
foreach ( |
DataGridViewCell cell in |
currentDataGridViewRow.Cells.AsParallel().Cast<DataGridViewCell>()) |
{ |
cell.ToolTipText = @"Resident banned."; |
} |
})); |
break; |
default: |
throw new Exception("Unable to ban resident."); |
} |
} |
catch (Exception ex) |
{ |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
vassalForm.StatusText.Text = ex.Message; |
currentDataGridViewRow.Selected = false; |
currentDataGridViewRow.DefaultCellStyle.BackColor = Color.LightPink; |
foreach ( |
DataGridViewCell cell in |
currentDataGridViewRow.Cells.AsParallel().Cast<DataGridViewCell>()) |
{ |
cell.ToolTipText = ex.Message; |
} |
})); |
} |
|
} while (agentsQueue.Count.Equals(0)); |
} |
catch (Exception) |
{ |
|
} |
finally |
{ |
Monitor.Exit(ClientInstanceTeleportLock); |
// Allow teleports and enable button. |
vassalForm.BeginInvoke((MethodInvoker) (() => |
{ |
ResidentListBanGroup.Enabled = true; |
RegionTeleportGroup.Enabled = true; |
})); |
} |
}) |
{IsBackground = true}.Start(); |
} |
|
private void RequestRipTerrain(object sender, EventArgs e) |
{ |
// Block teleports and disable button. |
vassalForm.Invoke((MethodInvoker) (() => |
{ |
RegionTeleportGroup.Enabled = false; |
RipTerrainButton.Enabled = false; |
})); |
|
new Thread(() => |
{ |
Monitor.Enter(ClientInstanceTeleportLock); |
|
try |
{ |
// Get the statistics. |
string result = wasPOST(vassalConfiguration.HTTPServerURL, |
wasKeyValueEscape(new Dictionary<string, string> |
{ |
{"command", "getterrainheight"}, |
{"group", vassalConfiguration.Group}, |
{"password", vassalConfiguration.Password}, |
{"entity", "region"} |
}), vassalConfiguration.DataTimeout); |
|
if (string.IsNullOrEmpty(result)) |
throw new Exception("Error communicating with Corrade."); |
|
bool success; |
if (!bool.TryParse(wasInput(wasKeyValueGet("success", result)), out success)) |
throw new Exception("No success status could be retrieved."); |
|
if (!success) |
throw new Exception("Could not get terrain heights."); |
|
List<double> heights = new List<double>(); |
foreach (string map in wasCSVToEnumerable(wasInput(wasKeyValueGet("data", result)))) |
{ |
double height; |
if (!double.TryParse(map, out height)) |
continue; |
heights.Add(height); |
} |
if (heights.Count.Equals(0)) |
throw new Exception("Could not get terrain heights."); |
|
double maxHeight = heights.Max(); |
using (Bitmap bitmap = new Bitmap(256, 256)) |
{ |
foreach (int x in Enumerable.Range(1, 255)) |
{ |
foreach (int y in Enumerable.Range(1, 255)) |
{ |
bitmap.SetPixel(x, 256 - y, |
Color.FromArgb((int) wasMapValueToRange(heights[256*x + y], 0, maxHeight, 0, 255), 0, 0)); |
} |
} |
Bitmap closureBitmap = (Bitmap)bitmap.Clone(); |
vassalForm.BeginInvoke((MethodInvoker) (() => |
{ |
switch (vassalForm.SaveTerrainFileDialog.ShowDialog()) |
{ |
case DialogResult.OK: |
string file = vassalForm.SaveTerrainFileDialog.FileName; |
new Thread(() => |
{ |
vassalForm.BeginInvoke((MethodInvoker) (() => |
{ |
try |
{ |
vassalForm.StatusText.Text = @"saving terrain..."; |
vassalForm.StatusProgress.Value = 0; |
|
closureBitmap.Save(file, ImageFormat.Png); |
|
vassalForm.StatusText.Text = @"terrain saved"; |
vassalForm.StatusProgress.Value = 100; |
} |
catch (Exception ex) |
{ |
vassalForm.StatusText.Text = ex.Message; |
} |
finally |
{ |
closureBitmap.Dispose(); |
} |
})); |
}) |
{IsBackground = true, Priority = ThreadPriority.Normal}.Start(); |
break; |
} |
})); |
} |
|
} |
catch (Exception ex) |
{ |
vassalForm.BeginInvoke((MethodInvoker)(() => |
{ |
StatusText.Text = ex.Message; |
})); |
} |
finally |
{ |
Monitor.Exit(ClientInstanceTeleportLock); |
vassalForm.BeginInvoke((MethodInvoker)(() => |
{ |
RegionTeleportGroup.Enabled = true; |
RipTerrainButton.Enabled = true; |
})); |
} |
|
}) {IsBackground = true}.Start(); |
} |
} |
} |
/Vassal/Vassal/VassalForm.resx |
@@ -5833,36 +5833,42 @@ |
SUVORK5CYII= |
</value> |
</data> |
<metadata name="TopScriptsScore.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<metadata name="RegionsStateRegionName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopScriptsTaskName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<metadata name="RegionsStateLastState.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopScriptsUUID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<metadata name="RegionsStateLastCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopScriptsOwner.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<metadata name="RegionsStateRegionName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopScriptsPosition.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<metadata name="RegionsStateLastState.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersScore.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<metadata name="RegionsStateLastCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersTaskName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<metadata name="ResidentListName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersUUID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<metadata name="ResidentListUUID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersOwner.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<metadata name="ResidentListPosition.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersPosition.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<metadata name="ResidentListName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="ResidentListUUID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="ResidentListPosition.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>277, 17</value> |
</metadata> |
@@ -5933,6 +5939,72 @@ |
<metadata name="BatchRestartPosition.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="BatchRestartRegionName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="BatchRestartPosition.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopScriptsScore.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopScriptsTaskName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopScriptsUUID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopScriptsOwner.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopScriptsPosition.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopScriptsScore.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopScriptsTaskName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopScriptsUUID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopScriptsOwner.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopScriptsPosition.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersScore.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersTaskName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersUUID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersOwner.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersPosition.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersScore.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersTaskName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersUUID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersOwner.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="TopCollidersPosition.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<value>True</value> |
</metadata> |
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>17, 17</value> |
</metadata> |
@@ -6057,6 +6129,182 @@ |
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>277, 17</value> |
</metadata> |
<data name="pictureBox4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
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 |
</value> |
</data> |
<data name="pictureBox5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
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 |
</value> |
</data> |
<data name="pictureBox5.ToolTip" xml:space="preserve"> |
<value>Sometimes region leasers do not allow |
people that rent to either upload or |
download their own terrain. This option |
will rip the terrain by making Corrade |
scan the height of the terrain and |
generate a downloadable height-map.</value> |
</data> |
<data name="pictureBox7.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
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 |
</value> |
</data> |
<metadata name="LoadTerrainFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>374, 17</value> |
</metadata> |
<metadata name="SaveTerrainFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>544, 17</value> |
</metadata> |
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
AAABAAYAAAAAAAEAIADVHwEAZgAAAICAAAABACAAKAgBADsgAQBAQAAAAQAgAChCAABjKAIAMDAAAAEA |