diff --git a/Console/TeslaConsole.BattleTech/BTDefaults.cs b/Console/TeslaConsole.BattleTech/BTDefaults.cs index 939f7a0..6163cbe 100644 --- a/Console/TeslaConsole.BattleTech/BTDefaults.cs +++ b/Console/TeslaConsole.BattleTech/BTDefaults.cs @@ -283,6 +283,14 @@ internal static class BTDefaults public static BattleDefaults NoReturn => sNoReturn; + /// + /// When set, the BattleTech game pages target each pod's DOSBox-X guest + /// (last octet +100) instead of the pod itself. A machine-level setting for + /// the emulator preservation pods, so it is stored once per defaults file + /// rather than per mode. + /// + public static bool DosBoxAddressShift { get; set; } + static BTDefaults() { sDefaultsFilePath = Path.Combine(Program.GetCommonAppDataDirectory(), "BTDefaults.btd"); @@ -315,6 +323,14 @@ internal static class BTDefaults case "NoReturnDefaults": sNoReturn.Parse(childNode); break; + case "DosBoxAddressShift": + { + if (bool.TryParse(childNode.InnerText, out var result)) + { + DosBoxAddressShift = result; + } + break; + } } } } @@ -337,6 +353,7 @@ internal static class BTDefaults xmlDocument.AppendChild(xmlDocument.CreateElement("BTDefaults")); sFreeForAll.Save(xmlDocument.DocumentElement); sNoReturn.Save(xmlDocument.DocumentElement); + xmlDocument.DocumentElement.AppendChild(xmlDocument.CreateElement("DosBoxAddressShift")).InnerText = DosBoxAddressShift.ToString(); string directoryName = Path.GetDirectoryName(filePath); if (!Directory.Exists(directoryName)) { diff --git a/Console/TeslaConsole.BattleTech/BTDefaultsDialog.cs b/Console/TeslaConsole.BattleTech/BTDefaultsDialog.cs index 67d9dec..fc101eb 100644 --- a/Console/TeslaConsole.BattleTech/BTDefaultsDialog.cs +++ b/Console/TeslaConsole.BattleTech/BTDefaultsDialog.cs @@ -89,6 +89,10 @@ public class BTDefaultsDialog : Form private NumericUpDown mNoReturnLaunchDelay; + private Label mDosBoxLabel; + + private CheckBox mDosBoxShift; + private TableLayoutPanel mButtonsTable; private Button mCancel; @@ -124,6 +128,7 @@ public class BTDefaultsDialog : Form BTScenario scenario = BTConfig.FreeForAll; BuildColumn(scenario, BTDefaults.FreeForAll, mFfaMap, mFfaWeather, mFfaTimeOfDay, mFfaAdvancedDamage, mFfaMissionLength, mFfaVehicle, mFfaCamo, mFfaPatch, mFfaBadge, mFfaExperience, mFfaLaunchDelay); BuildColumn(scenario, BTDefaults.NoReturn, mNoReturnMap, mNoReturnWeather, mNoReturnTimeOfDay, mNoReturnAdvancedDamage, mNoReturnMissionLength, mNoReturnVehicle, mNoReturnCamo, mNoReturnPatch, mNoReturnBadge, mNoReturnExperience, mNoReturnLaunchDelay); + mDosBoxShift.Checked = BTDefaults.DosBoxAddressShift; } private static void BuildColumn(BTScenario scenario, BTDefaults.BattleDefaults defaults, ComboBox map, ComboBox weather, ComboBox timeOfDay, ComboBox advancedDamage, MaskedTextBox missionLength, ComboBox vehicle, ComboBox camo, ComboBox patch, ComboBox badge, ComboBox experience, NumericUpDown launchDelay) @@ -208,6 +213,7 @@ public class BTDefaultsDialog : Form { SaveColumn(BTDefaults.FreeForAll, mFfaMap, mFfaWeather, mFfaTimeOfDay, mFfaAdvancedDamage, mFfaMissionLength, mFfaVehicle, mFfaCamo, mFfaPatch, mFfaBadge, mFfaExperience, mFfaLaunchDelay); SaveColumn(BTDefaults.NoReturn, mNoReturnMap, mNoReturnWeather, mNoReturnTimeOfDay, mNoReturnAdvancedDamage, mNoReturnMissionLength, mNoReturnVehicle, mNoReturnCamo, mNoReturnPatch, mNoReturnBadge, mNoReturnExperience, mNoReturnLaunchDelay); + BTDefaults.DosBoxAddressShift = mDosBoxShift.Checked; BTDefaults.Save(); Hide(); } @@ -274,6 +280,8 @@ public class BTDefaultsDialog : Form this.mNoReturnExperience = new System.Windows.Forms.ComboBox(); this.mFfaLaunchDelay = new System.Windows.Forms.NumericUpDown(); this.mNoReturnLaunchDelay = new System.Windows.Forms.NumericUpDown(); + this.mDosBoxLabel = new System.Windows.Forms.Label(); + this.mDosBoxShift = new System.Windows.Forms.CheckBox(); this.mButtonsTable = new System.Windows.Forms.TableLayoutPanel(); this.mCancel = new System.Windows.Forms.Button(); this.mOK = new System.Windows.Forms.Button(); @@ -321,17 +329,19 @@ public class BTDefaultsDialog : Form this.mMainTable.Controls.Add(this.mLaunchDelayLabel, 0, 11); this.mMainTable.Controls.Add(this.mFfaLaunchDelay, 1, 11); this.mMainTable.Controls.Add(this.mNoReturnLaunchDelay, 2, 11); - this.mMainTable.Controls.Add(this.mButtonsTable, 0, 12); + this.mMainTable.Controls.Add(this.mDosBoxLabel, 0, 12); + this.mMainTable.Controls.Add(this.mDosBoxShift, 1, 12); + this.mMainTable.Controls.Add(this.mButtonsTable, 0, 13); this.mMainTable.Dock = System.Windows.Forms.DockStyle.Fill; this.mMainTable.Location = new System.Drawing.Point(3, 3); this.mMainTable.Name = "mMainTable"; - this.mMainTable.RowCount = 13; - for (int i = 0; i < 12; i++) + this.mMainTable.RowCount = 14; + for (int i = 0; i < 13; i++) { this.mMainTable.RowStyles.Add(new System.Windows.Forms.RowStyle()); } this.mMainTable.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100f)); - this.mMainTable.Size = new System.Drawing.Size(478, 384); + this.mMainTable.Size = new System.Drawing.Size(478, 414); this.mMainTable.TabIndex = 0; this.mFfaHeaderLabel.Anchor = System.Windows.Forms.AnchorStyles.None; this.mFfaHeaderLabel.AutoSize = true; @@ -352,6 +362,7 @@ public class BTDefaultsDialog : Form ConfigureRowLabel(this.mBadgeLabel, "mBadgeLabel", "Badge:"); ConfigureRowLabel(this.mExperienceLabel, "mExperienceLabel", "Experience:"); ConfigureRowLabel(this.mLaunchDelayLabel, "mLaunchDelayLabel", "Autotranslocate Delay:"); + ConfigureRowLabel(this.mDosBoxLabel, "mDosBoxLabel", "DOSBox Build:"); ConfigureOptionCombo(this.mFfaMap, "mFfaMap"); ConfigureOptionCombo(this.mNoReturnMap, "mNoReturnMap"); ConfigureOptionCombo(this.mFfaWeather, "mFfaWeather"); @@ -378,6 +389,12 @@ public class BTDefaultsDialog : Form this.mFfaLaunchDelay.Name = "mFfaLaunchDelay"; this.mNoReturnLaunchDelay.Dock = System.Windows.Forms.DockStyle.Fill; this.mNoReturnLaunchDelay.Name = "mNoReturnLaunchDelay"; + this.mMainTable.SetColumnSpan(this.mDosBoxShift, 2); + this.mDosBoxShift.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.mDosBoxShift.AutoSize = true; + this.mDosBoxShift.Name = "mDosBoxShift"; + this.mDosBoxShift.Text = "Shift all pod IPs +100 (DOSBox-X preservation build)"; + this.mDosBoxShift.UseVisualStyleBackColor = true; this.mButtonsTable.ColumnCount = 2; this.mMainTable.SetColumnSpan(this.mButtonsTable, 3); this.mButtonsTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100f)); @@ -408,7 +425,7 @@ public class BTDefaultsDialog : Form base.AcceptButton = this.mOK; base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 13f); base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - base.ClientSize = new System.Drawing.Size(484, 390); + base.ClientSize = new System.Drawing.Size(484, 420); base.Controls.Add(this.mMainTable); base.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; base.MaximizeBox = false; diff --git a/Console/TeslaConsole.BattleTech/BTGame.cs b/Console/TeslaConsole.BattleTech/BTGame.cs index 0dbe53e..331e7ed 100644 --- a/Console/TeslaConsole.BattleTech/BTGame.cs +++ b/Console/TeslaConsole.BattleTech/BTGame.cs @@ -182,7 +182,7 @@ internal class BTGame : DockContent private Timer tmrAutoTranslocate; - private CheckBox mDosBoxShift; + private readonly bool mDosBoxAddressShift = BTDefaults.DosBoxAddressShift; private string GameStatusText { @@ -398,15 +398,7 @@ internal class BTGame : DockContent private string MissionAddress(Pod pod) { - return (mDosBoxShift.Checked ? DosBox.ShiftAddress(pod.IPAddress) : pod.IPAddress).ToString(); - } - - private void mDosBoxShift_CheckedChanged(object sender, EventArgs e) - { - foreach (DataGridViewRow item in (IEnumerable)mPilotsDataGrid.Rows) - { - ((Pod)item.Tag).MungaGame.DosBoxAddressShift = mDosBoxShift.Checked; - } + return (mDosBoxAddressShift ? DosBox.ShiftAddress(pod.IPAddress) : pod.IPAddress).ToString(); } private void NetworkScan(object sender, EventArgs e) @@ -862,7 +854,6 @@ internal class BTGame : DockContent private void SwitchControlsMode(bool editMode) { - mDosBoxShift.Enabled = editMode; mMap.Enabled = editMode; mWeather.Enabled = editMode; mTimeOfDay.Enabled = editMode; @@ -1093,7 +1084,7 @@ internal class BTGame : DockContent { if (flag.Value) { - ((Pod)dataGridViewRow.Tag).MungaGame.DosBoxAddressShift = mDosBoxShift.Checked; + ((Pod)dataGridViewRow.Tag).MungaGame.DosBoxAddressShift = mDosBoxAddressShift; ((Pod)dataGridViewRow.Tag).MungaGame.MakeRequested(this); } else @@ -1316,7 +1307,6 @@ internal class BTGame : DockContent this.mRandomWeather = new System.Windows.Forms.Button(); this.mRandomTimeOfDay = new System.Windows.Forms.Button(); this.mMissionLengthTextBox = new System.Windows.Forms.TextBox(); - this.mDosBoxShift = new System.Windows.Forms.CheckBox(); this.mPilotsGroupBox = new System.Windows.Forms.GroupBox(); this.mPilotsDataGrid = new System.Windows.Forms.DataGridView(); this.mEnabledColumn = new System.Windows.Forms.DataGridViewCheckBoxColumn(); @@ -1351,7 +1341,7 @@ internal class BTGame : DockContent this.mMissionPropertiesGroupBox.Text = "Mission Properties"; this.mMissionPropertiesTable.AutoSize = true; this.mMissionPropertiesTable.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.mMissionPropertiesTable.ColumnCount = 9; + this.mMissionPropertiesTable.ColumnCount = 8; this.mMissionPropertiesTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.mMissionPropertiesTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.mMissionPropertiesTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); @@ -1360,8 +1350,7 @@ internal class BTGame : DockContent this.mMissionPropertiesTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 0f)); this.mMissionPropertiesTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.mMissionPropertiesTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.mMissionPropertiesTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.mMissionPropertiesTable.Controls.Add(this.mIssuesLabel, 8, 0); + this.mMissionPropertiesTable.Controls.Add(this.mIssuesLabel, 7, 0); this.mMissionPropertiesTable.Controls.Add(this.mMissionLengthTextLabel, 3, 1); this.mMissionPropertiesTable.Controls.Add(this.mMap, 1, 0); this.mMissionPropertiesTable.Controls.Add(this.mMissionLengthDisplayLabel, 5, 1); @@ -1379,7 +1368,6 @@ internal class BTGame : DockContent this.mMissionPropertiesTable.Controls.Add(this.mRandomWeather, 2, 1); this.mMissionPropertiesTable.Controls.Add(this.mRandomTimeOfDay, 2, 2); this.mMissionPropertiesTable.Controls.Add(this.mMissionLengthTextBox, 4, 1); - this.mMissionPropertiesTable.Controls.Add(this.mDosBoxShift, 7, 2); this.mMissionPropertiesTable.Dock = System.Windows.Forms.DockStyle.Fill; this.mMissionPropertiesTable.GrowStyle = System.Windows.Forms.TableLayoutPanelGrowStyle.AddColumns; this.mMissionPropertiesTable.Location = new System.Drawing.Point(5, 18); @@ -1542,15 +1530,6 @@ internal class BTGame : DockContent this.mMissionLengthTextBox.Size = new System.Drawing.Size(100, 20); this.mMissionLengthTextBox.TabIndex = 12; this.mMissionLengthTextBox.TextChanged += new System.EventHandler(mMissionLengthTextBox_TextChanged); - this.mDosBoxShift.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.mDosBoxShift.AutoSize = true; - this.mDosBoxShift.Location = new System.Drawing.Point(642, 64); - this.mDosBoxShift.Name = "mDosBoxShift"; - this.mDosBoxShift.Size = new System.Drawing.Size(122, 17); - this.mDosBoxShift.TabIndex = 13; - this.mDosBoxShift.Text = "DOSBox IPs (+100)"; - this.mDosBoxShift.UseVisualStyleBackColor = true; - this.mDosBoxShift.CheckedChanged += new System.EventHandler(mDosBoxShift_CheckedChanged); this.mPilotsGroupBox.Controls.Add(this.mPilotsDataGrid); this.mPilotsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill; this.mPilotsGroupBox.Location = new System.Drawing.Point(8, 113); diff --git a/Console/TeslaConsole.RedPlanet/RPDefaults.cs b/Console/TeslaConsole.RedPlanet/RPDefaults.cs index 8ad21af..f2d709f 100644 --- a/Console/TeslaConsole.RedPlanet/RPDefaults.cs +++ b/Console/TeslaConsole.RedPlanet/RPDefaults.cs @@ -352,6 +352,14 @@ internal static class RPDefaults public static FootballDefaults Football => sFootball; + /// + /// When set, the Red Planet game pages target each pod's DOSBox-X guest + /// (last octet +100) instead of the pod itself. A machine-level setting for + /// the emulator preservation pods, so it is stored once per defaults file + /// rather than per scenario. + /// + public static bool DosBoxAddressShift { get; set; } + static RPDefaults() { sDefaultsFilePath = Path.Combine(Program.GetCommonAppDataDirectory(), "RPDefaults.rpd"); @@ -384,6 +392,14 @@ internal static class RPDefaults case "FootballDefaults": sFootball.Parse(childNode); break; + case "DosBoxAddressShift": + { + if (bool.TryParse(childNode.InnerText, out var result)) + { + DosBoxAddressShift = result; + } + break; + } } } } @@ -406,6 +422,7 @@ internal static class RPDefaults xmlDocument.AppendChild(xmlDocument.CreateElement("RPDefaults")); sDeathRace.Save(xmlDocument.DocumentElement); sFootball.Save(xmlDocument.DocumentElement); + xmlDocument.DocumentElement.AppendChild(xmlDocument.CreateElement("DosBoxAddressShift")).InnerText = DosBoxAddressShift.ToString(); string directoryName = Path.GetDirectoryName(filePath); if (!Directory.Exists(directoryName)) { diff --git a/Console/TeslaConsole.RedPlanet/RPDefaultsDialog.cs b/Console/TeslaConsole.RedPlanet/RPDefaultsDialog.cs index c2cf8f8..66b2895 100644 --- a/Console/TeslaConsole.RedPlanet/RPDefaultsDialog.cs +++ b/Console/TeslaConsole.RedPlanet/RPDefaultsDialog.cs @@ -77,6 +77,10 @@ public class RPDefaultsDialog : Form private NumericUpDown mFootballLaunchDelay; + private Label mDosBoxLabel; + + private CheckBox mDosBoxShift; + private static RPDefaultsDialog mSingletonDialog; protected override void Dispose(bool disposing) @@ -123,6 +127,8 @@ public class RPDefaultsDialog : Form this.label11 = new System.Windows.Forms.Label(); this.mDeathraceLaunchDelay = new System.Windows.Forms.NumericUpDown(); this.mFootballLaunchDelay = new System.Windows.Forms.NumericUpDown(); + this.mDosBoxLabel = new System.Windows.Forms.Label(); + this.mDosBoxShift = new System.Windows.Forms.CheckBox(); this.mMainTable.SuspendLayout(); this.mButtonsTable.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)this.mDeathraceLaunchDelay).BeginInit(); @@ -141,7 +147,7 @@ public class RPDefaultsDialog : Form this.mMainTable.Controls.Add(this.label9, 0, 8); this.mMainTable.Controls.Add(this.label1, 1, 0); this.mMainTable.Controls.Add(this.label10, 2, 0); - this.mMainTable.Controls.Add(this.mButtonsTable, 0, 10); + this.mMainTable.Controls.Add(this.mButtonsTable, 0, 11); this.mMainTable.Controls.Add(this.label5, 0, 6); this.mMainTable.Controls.Add(this.mDeathRaceVehicle, 1, 6); this.mMainTable.Controls.Add(this.mFootballVehicle, 2, 6); @@ -162,10 +168,13 @@ public class RPDefaultsDialog : Form this.mMainTable.Controls.Add(this.mFootballWeather, 2, 2); this.mMainTable.Controls.Add(this.label11, 0, 9); this.mMainTable.Controls.Add(this.mDeathraceLaunchDelay, 1, 9); + this.mMainTable.Controls.Add(this.mDosBoxLabel, 0, 10); + this.mMainTable.Controls.Add(this.mDosBoxShift, 1, 10); this.mMainTable.Dock = System.Windows.Forms.DockStyle.Fill; this.mMainTable.Location = new System.Drawing.Point(3, 3); this.mMainTable.Name = "mMainTable"; - this.mMainTable.RowCount = 11; + this.mMainTable.RowCount = 12; + this.mMainTable.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.mMainTable.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.mMainTable.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.mMainTable.RowStyles.Add(new System.Windows.Forms.RowStyle()); @@ -177,7 +186,7 @@ public class RPDefaultsDialog : Form this.mMainTable.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.mMainTable.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.mMainTable.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100f)); - this.mMainTable.Size = new System.Drawing.Size(478, 298); + this.mMainTable.Size = new System.Drawing.Size(478, 328); this.mMainTable.TabIndex = 0; this.mFootballPosition.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; this.mFootballPosition.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; @@ -406,10 +415,26 @@ public class RPDefaultsDialog : Form this.mFootballLaunchDelay.Name = "mFootballLaunchDelay"; this.mFootballLaunchDelay.Size = new System.Drawing.Size(173, 20); this.mFootballLaunchDelay.TabIndex = 32; + this.mDosBoxLabel.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.mDosBoxLabel.AutoSize = true; + this.mDosBoxLabel.Location = new System.Drawing.Point(35, 258); + this.mDosBoxLabel.Name = "mDosBoxLabel"; + this.mDosBoxLabel.Size = new System.Drawing.Size(82, 13); + this.mDosBoxLabel.TabIndex = 29; + this.mDosBoxLabel.Text = "DOSBox Build:"; + this.mMainTable.SetColumnSpan(this.mDosBoxShift, 2); + this.mDosBoxShift.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.mDosBoxShift.AutoSize = true; + this.mDosBoxShift.Location = new System.Drawing.Point(123, 256); + this.mDosBoxShift.Name = "mDosBoxShift"; + this.mDosBoxShift.Size = new System.Drawing.Size(268, 17); + this.mDosBoxShift.TabIndex = 33; + this.mDosBoxShift.Text = "Shift all pod IPs +100 (DOSBox-X preservation build)"; + this.mDosBoxShift.UseVisualStyleBackColor = true; base.AcceptButton = this.mOK; base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 13f); base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - base.ClientSize = new System.Drawing.Size(484, 304); + base.ClientSize = new System.Drawing.Size(484, 334); base.Controls.Add(this.mMainTable); base.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; base.MaximizeBox = false; @@ -457,6 +482,7 @@ public class RPDefaultsDialog : Form BuildGenericOption(mFootballPosition, RPConfig.Football.Positions, RPDefaults.Football.PositionKey); BuildDelayControl(mDeathraceLaunchDelay, RPDefaults.DeathRace.LaunchDelay); BuildDelayControl(mFootballLaunchDelay, RPDefaults.Football.LaunchDelay); + mDosBoxShift.Checked = RPDefaults.DosBoxAddressShift; } private static void BuildScoreCompressionOptions(ComboBox comboBox, bool defaultValue) @@ -577,6 +603,7 @@ public class RPDefaultsDialog : Form RPDefaults.Football.PositionKey = ExtractSelectedKey(mFootballPosition); RPDefaults.DeathRace.LaunchDelay = (int)mDeathraceLaunchDelay.Value; RPDefaults.Football.LaunchDelay = (int)mFootballLaunchDelay.Value; + RPDefaults.DosBoxAddressShift = mDosBoxShift.Checked; RPDefaults.Save(); Hide(); } diff --git a/Console/TeslaConsole.RedPlanet/RPGame.cs b/Console/TeslaConsole.RedPlanet/RPGame.cs index b24c30d..51e6e6a 100644 --- a/Console/TeslaConsole.RedPlanet/RPGame.cs +++ b/Console/TeslaConsole.RedPlanet/RPGame.cs @@ -176,7 +176,7 @@ public class RPGame : DockContent private Timer tmrAutoTranslocate; - private CheckBox mDosBoxShift; + private readonly bool mDosBoxAddressShift = RPDefaults.DosBoxAddressShift; private string GameStatusText { @@ -425,15 +425,7 @@ public class RPGame : DockContent private string MissionAddress(Pod pod) { - return (mDosBoxShift.Checked ? DosBox.ShiftAddress(pod.IPAddress) : pod.IPAddress).ToString(); - } - - private void mDosBoxShift_CheckedChanged(object sender, EventArgs e) - { - foreach (DataGridViewRow item in (IEnumerable)mPilotsDataGrid.Rows) - { - ((Pod)item.Tag).MungaGame.DosBoxAddressShift = mDosBoxShift.Checked; - } + return (mDosBoxAddressShift ? DosBox.ShiftAddress(pod.IPAddress) : pod.IPAddress).ToString(); } private void NetworkScan(object sender, EventArgs e) @@ -922,7 +914,6 @@ public class RPGame : DockContent private void SwitchControlsMode(bool editMode) { - mDosBoxShift.Enabled = editMode; ComboBox comboBox = mMap; ComboBox comboBox2 = mWeather; ComboBox comboBox3 = mTimeOfDay; @@ -1203,7 +1194,7 @@ public class RPGame : DockContent { if (flag.Value) { - ((Pod)dataGridViewRow.Tag).MungaGame.DosBoxAddressShift = mDosBoxShift.Checked; + ((Pod)dataGridViewRow.Tag).MungaGame.DosBoxAddressShift = mDosBoxAddressShift; ((Pod)dataGridViewRow.Tag).MungaGame.MakeRequested(this); } else @@ -1431,7 +1422,6 @@ public class RPGame : DockContent this.mRandomWeather = new System.Windows.Forms.Button(); this.mRandomTimeOfDay = new System.Windows.Forms.Button(); this.mMissionLengthTextBox = new System.Windows.Forms.TextBox(); - this.mDosBoxShift = new System.Windows.Forms.CheckBox(); this.mPilotsGroupBox = new System.Windows.Forms.GroupBox(); this.mPilotsDataGrid = new System.Windows.Forms.DataGridView(); this.mEnabledColumn = new System.Windows.Forms.DataGridViewCheckBoxColumn(); @@ -1464,7 +1454,7 @@ public class RPGame : DockContent this.mMissionPropertiesGroupBox.Text = "Mission Properties"; this.mMissionPropertiesTable.AutoSize = true; this.mMissionPropertiesTable.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.mMissionPropertiesTable.ColumnCount = 9; + this.mMissionPropertiesTable.ColumnCount = 8; this.mMissionPropertiesTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.mMissionPropertiesTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.mMissionPropertiesTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); @@ -1473,8 +1463,7 @@ public class RPGame : DockContent this.mMissionPropertiesTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 0f)); this.mMissionPropertiesTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.mMissionPropertiesTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.mMissionPropertiesTable.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.mMissionPropertiesTable.Controls.Add(this.mIssuesLabel, 8, 0); + this.mMissionPropertiesTable.Controls.Add(this.mIssuesLabel, 7, 0); this.mMissionPropertiesTable.Controls.Add(this.mMissionLengthTextLabel, 3, 1); this.mMissionPropertiesTable.Controls.Add(this.mMap, 1, 0); this.mMissionPropertiesTable.Controls.Add(this.mMissionLengthDisplayLabel, 5, 1); @@ -1492,7 +1481,6 @@ public class RPGame : DockContent this.mMissionPropertiesTable.Controls.Add(this.mRandomWeather, 2, 1); this.mMissionPropertiesTable.Controls.Add(this.mRandomTimeOfDay, 2, 2); this.mMissionPropertiesTable.Controls.Add(this.mMissionLengthTextBox, 4, 1); - this.mMissionPropertiesTable.Controls.Add(this.mDosBoxShift, 7, 2); this.mMissionPropertiesTable.Dock = System.Windows.Forms.DockStyle.Fill; this.mMissionPropertiesTable.GrowStyle = System.Windows.Forms.TableLayoutPanelGrowStyle.AddColumns; this.mMissionPropertiesTable.Location = new System.Drawing.Point(5, 18); @@ -1653,15 +1641,6 @@ public class RPGame : DockContent this.mMissionLengthTextBox.Size = new System.Drawing.Size(100, 20); this.mMissionLengthTextBox.TabIndex = 12; this.mMissionLengthTextBox.TextChanged += new System.EventHandler(mMissionLengthTextBox_TextChanged); - this.mDosBoxShift.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.mDosBoxShift.AutoSize = true; - this.mDosBoxShift.Location = new System.Drawing.Point(642, 64); - this.mDosBoxShift.Name = "mDosBoxShift"; - this.mDosBoxShift.Size = new System.Drawing.Size(122, 17); - this.mDosBoxShift.TabIndex = 13; - this.mDosBoxShift.Text = "DOSBox IPs (+100)"; - this.mDosBoxShift.UseVisualStyleBackColor = true; - this.mDosBoxShift.CheckedChanged += new System.EventHandler(mDosBoxShift_CheckedChanged); this.mPilotsGroupBox.Controls.Add(this.mPilotsDataGrid); this.mPilotsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill; this.mPilotsGroupBox.Location = new System.Drawing.Point(8, 113);