this should be fully functional now

This commit is contained in:
Yako
2025-07-24 18:47:23 +02:00
parent 52e6324071
commit cb4814bcdf
9 changed files with 1230 additions and 5 deletions

View File

@@ -531,6 +531,9 @@
<EmbeddedResource Include="Editors\TextEditor.resx">
<DependentUpon>TextEditor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Editors\TradeEditor.resx">
<DependentUpon>TradeEditor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Editors\TrainerEditor.resx">
<DependentUpon>TrainerEditor.cs</DependentUpon>
</EmbeddedResource>

View File

@@ -331,6 +331,7 @@
this.textSearchResultsListBox.Size = new System.Drawing.Size(267, 244);
this.textSearchResultsListBox.TabIndex = 38;
this.textSearchResultsListBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textSearchResultsListBox_KeyDown);
this.textSearchResultsListBox.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.textSearchResultsListBox_GoToEntryResult);
//
// replaceTextLabel
//

View File

@@ -29,11 +29,752 @@
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.mainPanel = new System.Windows.Forms.Panel();
this.saveTextDataButton = new System.Windows.Forms.Button();
this.saveTradeButton = new System.Windows.Forms.Button();
this.textDataGroupBox = new System.Windows.Forms.GroupBox();
this.nicknameTextBox = new System.Windows.Forms.TextBox();
this.otNameTextBox = new System.Windows.Forms.TextBox();
this.nicknameLabel = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.tradeDataGroupBox = new System.Windows.Forms.GroupBox();
this.requestedComboBox = new System.Windows.Forms.ComboBox();
this.requestedLabel = new System.Windows.Forms.Label();
this.otGenderComboBox = new System.Windows.Forms.ComboBox();
this.otGenderLabel = new System.Windows.Forms.Label();
this.otIDNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.otIDLabel = new System.Windows.Forms.Label();
this.monDataGroupBox = new System.Windows.Forms.GroupBox();
this.monDataPanel = new System.Windows.Forms.Panel();
this.abilityComboBox = new System.Windows.Forms.ComboBox();
this.abilityLabel = new System.Windows.Forms.Label();
this.unknownNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.unknownLabel = new System.Windows.Forms.Label();
this.pidNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.pidLabel = new System.Windows.Forms.Label();
this.langComboBox = new System.Windows.Forms.ComboBox();
this.langLabel = new System.Windows.Forms.Label();
this.heldItemComboBox = new System.Windows.Forms.ComboBox();
this.heldItemLabel = new System.Windows.Forms.Label();
this.contestGroupBox = new System.Windows.Forms.GroupBox();
this.toughNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.smartNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.cuteNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.beautyNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.coolNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.sheenNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.toughLabel = new System.Windows.Forms.Label();
this.smartLabel = new System.Windows.Forms.Label();
this.cuteLabel = new System.Windows.Forms.Label();
this.beautyLabel = new System.Windows.Forms.Label();
this.coolLabel = new System.Windows.Forms.Label();
this.sheenLabel = new System.Windows.Forms.Label();
this.IVGroupBox = new System.Windows.Forms.GroupBox();
this.speIVNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.spdIVNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.spaIVNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.defIVNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.atkIVNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.hpIVNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.speIVLabel = new System.Windows.Forms.Label();
this.spdIVLabel = new System.Windows.Forms.Label();
this.spaIVLabel = new System.Windows.Forms.Label();
this.defIVLabel = new System.Windows.Forms.Label();
this.atkIVLabel = new System.Windows.Forms.Label();
this.hpIVLabel = new System.Windows.Forms.Label();
this.speciesComboBox = new System.Windows.Forms.ComboBox();
this.speciesLabel = new System.Windows.Forms.Label();
this.tradeIDNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.tradeIDLabel = new System.Windows.Forms.Label();
this.toolTip = new System.Windows.Forms.ToolTip(this.components);
this.mainPanel.SuspendLayout();
this.textDataGroupBox.SuspendLayout();
this.tradeDataGroupBox.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.otIDNumericUpDown)).BeginInit();
this.monDataGroupBox.SuspendLayout();
this.monDataPanel.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.unknownNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pidNumericUpDown)).BeginInit();
this.contestGroupBox.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.toughNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.smartNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cuteNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.beautyNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.coolNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.sheenNumericUpDown)).BeginInit();
this.IVGroupBox.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.speIVNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.spdIVNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.spaIVNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.defIVNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.atkIVNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.hpIVNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tradeIDNumericUpDown)).BeginInit();
this.SuspendLayout();
//
// mainPanel
//
this.mainPanel.Controls.Add(this.saveTextDataButton);
this.mainPanel.Controls.Add(this.saveTradeButton);
this.mainPanel.Controls.Add(this.textDataGroupBox);
this.mainPanel.Controls.Add(this.tradeDataGroupBox);
this.mainPanel.Location = new System.Drawing.Point(12, 12);
this.mainPanel.Name = "mainPanel";
this.mainPanel.Size = new System.Drawing.Size(624, 444);
this.mainPanel.TabIndex = 0;
//
// saveTextDataButton
//
this.saveTextDataButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.saveTextDataButton.Image = global::DSPRE.Properties.Resources.saveButton;
this.saveTextDataButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.saveTextDataButton.Location = new System.Drawing.Point(479, 156);
this.saveTextDataButton.Name = "saveTextDataButton";
this.saveTextDataButton.Size = new System.Drawing.Size(126, 44);
this.saveTextDataButton.TabIndex = 5;
this.saveTextDataButton.Text = "Save Text Data";
this.saveTextDataButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.saveTextDataButton.UseVisualStyleBackColor = true;
this.saveTextDataButton.Click += new System.EventHandler(this.saveTextDataButton_Click);
//
// saveTradeButton
//
this.saveTradeButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.saveTradeButton.Image = global::DSPRE.Properties.Resources.saveButton;
this.saveTradeButton.ImageAlign = System.Drawing.ContentAlignment.TopCenter;
this.saveTradeButton.Location = new System.Drawing.Point(470, 383);
this.saveTradeButton.Name = "saveTradeButton";
this.saveTradeButton.Size = new System.Drawing.Size(147, 47);
this.saveTradeButton.TabIndex = 4;
this.saveTradeButton.Text = "Save Trade Data";
this.saveTradeButton.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
this.saveTradeButton.UseVisualStyleBackColor = true;
this.saveTradeButton.Click += new System.EventHandler(this.saveTradeButton_Click);
//
// textDataGroupBox
//
this.textDataGroupBox.Controls.Add(this.nicknameTextBox);
this.textDataGroupBox.Controls.Add(this.otNameTextBox);
this.textDataGroupBox.Controls.Add(this.nicknameLabel);
this.textDataGroupBox.Controls.Add(this.label1);
this.textDataGroupBox.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textDataGroupBox.Location = new System.Drawing.Point(470, 3);
this.textDataGroupBox.Name = "textDataGroupBox";
this.textDataGroupBox.Size = new System.Drawing.Size(147, 147);
this.textDataGroupBox.TabIndex = 3;
this.textDataGroupBox.TabStop = false;
this.textDataGroupBox.Text = "Text Data";
//
// nicknameTextBox
//
this.nicknameTextBox.Location = new System.Drawing.Point(9, 100);
this.nicknameTextBox.Name = "nicknameTextBox";
this.nicknameTextBox.Size = new System.Drawing.Size(126, 22);
this.nicknameTextBox.TabIndex = 17;
//
// otNameTextBox
//
this.otNameTextBox.Location = new System.Drawing.Point(9, 46);
this.otNameTextBox.Name = "otNameTextBox";
this.otNameTextBox.Size = new System.Drawing.Size(126, 22);
this.otNameTextBox.TabIndex = 16;
//
// nicknameLabel
//
this.nicknameLabel.AutoSize = true;
this.nicknameLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.nicknameLabel.Location = new System.Drawing.Point(6, 79);
this.nicknameLabel.Name = "nicknameLabel";
this.nicknameLabel.Size = new System.Drawing.Size(129, 16);
this.nicknameLabel.TabIndex = 15;
this.nicknameLabel.Text = "Pokémon Nickname";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(6, 25);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(66, 16);
this.label1.TabIndex = 13;
this.label1.Text = "OT Name";
//
// tradeDataGroupBox
//
this.tradeDataGroupBox.Controls.Add(this.requestedComboBox);
this.tradeDataGroupBox.Controls.Add(this.requestedLabel);
this.tradeDataGroupBox.Controls.Add(this.otGenderComboBox);
this.tradeDataGroupBox.Controls.Add(this.otGenderLabel);
this.tradeDataGroupBox.Controls.Add(this.otIDNumericUpDown);
this.tradeDataGroupBox.Controls.Add(this.otIDLabel);
this.tradeDataGroupBox.Controls.Add(this.monDataGroupBox);
this.tradeDataGroupBox.Controls.Add(this.tradeIDNumericUpDown);
this.tradeDataGroupBox.Controls.Add(this.tradeIDLabel);
this.tradeDataGroupBox.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tradeDataGroupBox.Location = new System.Drawing.Point(3, 3);
this.tradeDataGroupBox.Name = "tradeDataGroupBox";
this.tradeDataGroupBox.Size = new System.Drawing.Size(461, 437);
this.tradeDataGroupBox.TabIndex = 2;
this.tradeDataGroupBox.TabStop = false;
this.tradeDataGroupBox.Text = "Trade Data";
//
// requestedComboBox
//
this.requestedComboBox.FormattingEnabled = true;
this.requestedComboBox.Location = new System.Drawing.Point(165, 44);
this.requestedComboBox.Name = "requestedComboBox";
this.requestedComboBox.Size = new System.Drawing.Size(150, 24);
this.requestedComboBox.TabIndex = 12;
//
// requestedLabel
//
this.requestedLabel.AutoSize = true;
this.requestedLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.requestedLabel.Location = new System.Drawing.Point(162, 25);
this.requestedLabel.Name = "requestedLabel";
this.requestedLabel.Size = new System.Drawing.Size(135, 16);
this.requestedLabel.TabIndex = 11;
this.requestedLabel.Text = "Requested Pokémon";
//
// otGenderComboBox
//
this.otGenderComboBox.FormattingEnabled = true;
this.otGenderComboBox.Location = new System.Drawing.Point(165, 98);
this.otGenderComboBox.Name = "otGenderComboBox";
this.otGenderComboBox.Size = new System.Drawing.Size(150, 24);
this.otGenderComboBox.TabIndex = 10;
//
// otGenderLabel
//
this.otGenderLabel.AutoSize = true;
this.otGenderLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.otGenderLabel.Location = new System.Drawing.Point(162, 79);
this.otGenderLabel.Name = "otGenderLabel";
this.otGenderLabel.Size = new System.Drawing.Size(74, 16);
this.otGenderLabel.TabIndex = 9;
this.otGenderLabel.Text = "OT Gender";
//
// otIDNumericUpDown
//
this.otIDNumericUpDown.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.otIDNumericUpDown.Location = new System.Drawing.Point(21, 98);
this.otIDNumericUpDown.Name = "otIDNumericUpDown";
this.otIDNumericUpDown.Size = new System.Drawing.Size(120, 22);
this.otIDNumericUpDown.TabIndex = 6;
//
// otIDLabel
//
this.otIDLabel.AutoSize = true;
this.otIDLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.otIDLabel.Location = new System.Drawing.Point(18, 79);
this.otIDLabel.Name = "otIDLabel";
this.otIDLabel.Size = new System.Drawing.Size(42, 16);
this.otIDLabel.TabIndex = 7;
this.otIDLabel.Text = "OT ID";
//
// monDataGroupBox
//
this.monDataGroupBox.Controls.Add(this.monDataPanel);
this.monDataGroupBox.Location = new System.Drawing.Point(9, 139);
this.monDataGroupBox.Name = "monDataGroupBox";
this.monDataGroupBox.Size = new System.Drawing.Size(441, 288);
this.monDataGroupBox.TabIndex = 5;
this.monDataGroupBox.TabStop = false;
this.monDataGroupBox.Text = "Pokémon Data";
//
// monDataPanel
//
this.monDataPanel.Controls.Add(this.abilityComboBox);
this.monDataPanel.Controls.Add(this.abilityLabel);
this.monDataPanel.Controls.Add(this.unknownNumericUpDown);
this.monDataPanel.Controls.Add(this.unknownLabel);
this.monDataPanel.Controls.Add(this.pidNumericUpDown);
this.monDataPanel.Controls.Add(this.pidLabel);
this.monDataPanel.Controls.Add(this.langComboBox);
this.monDataPanel.Controls.Add(this.langLabel);
this.monDataPanel.Controls.Add(this.heldItemComboBox);
this.monDataPanel.Controls.Add(this.heldItemLabel);
this.monDataPanel.Controls.Add(this.contestGroupBox);
this.monDataPanel.Controls.Add(this.IVGroupBox);
this.monDataPanel.Controls.Add(this.speciesComboBox);
this.monDataPanel.Controls.Add(this.speciesLabel);
this.monDataPanel.Location = new System.Drawing.Point(6, 21);
this.monDataPanel.Name = "monDataPanel";
this.monDataPanel.Size = new System.Drawing.Size(418, 257);
this.monDataPanel.TabIndex = 4;
//
// abilityComboBox
//
this.abilityComboBox.FormattingEnabled = true;
this.abilityComboBox.Location = new System.Drawing.Point(6, 218);
this.abilityComboBox.Name = "abilityComboBox";
this.abilityComboBox.Size = new System.Drawing.Size(147, 24);
this.abilityComboBox.TabIndex = 26;
//
// abilityLabel
//
this.abilityLabel.AutoSize = true;
this.abilityLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.abilityLabel.Location = new System.Drawing.Point(3, 198);
this.abilityLabel.Name = "abilityLabel";
this.abilityLabel.Size = new System.Drawing.Size(43, 16);
this.abilityLabel.TabIndex = 27;
this.abilityLabel.Text = "Ability";
//
// unknownNumericUpDown
//
this.unknownNumericUpDown.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.unknownNumericUpDown.Location = new System.Drawing.Point(294, 220);
this.unknownNumericUpDown.Name = "unknownNumericUpDown";
this.unknownNumericUpDown.Size = new System.Drawing.Size(111, 22);
this.unknownNumericUpDown.TabIndex = 24;
//
// unknownLabel
//
this.unknownLabel.AutoSize = true;
this.unknownLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.unknownLabel.Location = new System.Drawing.Point(291, 201);
this.unknownLabel.Name = "unknownLabel";
this.unknownLabel.Size = new System.Drawing.Size(100, 16);
this.unknownLabel.TabIndex = 25;
this.unknownLabel.Text = "Unknown Value";
//
// pidNumericUpDown
//
this.pidNumericUpDown.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.pidNumericUpDown.Location = new System.Drawing.Point(169, 220);
this.pidNumericUpDown.Name = "pidNumericUpDown";
this.pidNumericUpDown.Size = new System.Drawing.Size(111, 22);
this.pidNumericUpDown.TabIndex = 11;
//
// pidLabel
//
this.pidLabel.AutoSize = true;
this.pidLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.pidLabel.Location = new System.Drawing.Point(166, 201);
this.pidLabel.Name = "pidLabel";
this.pidLabel.Size = new System.Drawing.Size(29, 16);
this.pidLabel.TabIndex = 23;
this.pidLabel.Text = "PID";
//
// langComboBox
//
this.langComboBox.FormattingEnabled = true;
this.langComboBox.Location = new System.Drawing.Point(6, 166);
this.langComboBox.Name = "langComboBox";
this.langComboBox.Size = new System.Drawing.Size(147, 24);
this.langComboBox.TabIndex = 20;
//
// langLabel
//
this.langLabel.AutoSize = true;
this.langLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.langLabel.Location = new System.Drawing.Point(3, 146);
this.langLabel.Name = "langLabel";
this.langLabel.Size = new System.Drawing.Size(106, 16);
this.langLabel.TabIndex = 21;
this.langLabel.Text = "Origin Language";
//
// heldItemComboBox
//
this.heldItemComboBox.FormattingEnabled = true;
this.heldItemComboBox.Location = new System.Drawing.Point(6, 98);
this.heldItemComboBox.Name = "heldItemComboBox";
this.heldItemComboBox.Size = new System.Drawing.Size(147, 24);
this.heldItemComboBox.TabIndex = 18;
//
// heldItemLabel
//
this.heldItemLabel.AutoSize = true;
this.heldItemLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.heldItemLabel.Location = new System.Drawing.Point(3, 78);
this.heldItemLabel.Name = "heldItemLabel";
this.heldItemLabel.Size = new System.Drawing.Size(64, 16);
this.heldItemLabel.TabIndex = 19;
this.heldItemLabel.Text = "Held Item";
//
// contestGroupBox
//
this.contestGroupBox.Controls.Add(this.toughNumericUpDown);
this.contestGroupBox.Controls.Add(this.smartNumericUpDown);
this.contestGroupBox.Controls.Add(this.cuteNumericUpDown);
this.contestGroupBox.Controls.Add(this.beautyNumericUpDown);
this.contestGroupBox.Controls.Add(this.coolNumericUpDown);
this.contestGroupBox.Controls.Add(this.sheenNumericUpDown);
this.contestGroupBox.Controls.Add(this.toughLabel);
this.contestGroupBox.Controls.Add(this.smartLabel);
this.contestGroupBox.Controls.Add(this.cuteLabel);
this.contestGroupBox.Controls.Add(this.beautyLabel);
this.contestGroupBox.Controls.Add(this.coolLabel);
this.contestGroupBox.Controls.Add(this.sheenLabel);
this.contestGroupBox.Location = new System.Drawing.Point(285, 10);
this.contestGroupBox.Name = "contestGroupBox";
this.contestGroupBox.Size = new System.Drawing.Size(120, 180);
this.contestGroupBox.TabIndex = 17;
this.contestGroupBox.TabStop = false;
this.contestGroupBox.Text = "Contest Stats";
//
// toughNumericUpDown
//
this.toughNumericUpDown.Location = new System.Drawing.Point(64, 148);
this.toughNumericUpDown.Name = "toughNumericUpDown";
this.toughNumericUpDown.Size = new System.Drawing.Size(51, 22);
this.toughNumericUpDown.TabIndex = 16;
//
// smartNumericUpDown
//
this.smartNumericUpDown.Location = new System.Drawing.Point(64, 123);
this.smartNumericUpDown.Name = "smartNumericUpDown";
this.smartNumericUpDown.Size = new System.Drawing.Size(51, 22);
this.smartNumericUpDown.TabIndex = 15;
//
// cuteNumericUpDown
//
this.cuteNumericUpDown.Location = new System.Drawing.Point(64, 97);
this.cuteNumericUpDown.Name = "cuteNumericUpDown";
this.cuteNumericUpDown.Size = new System.Drawing.Size(51, 22);
this.cuteNumericUpDown.TabIndex = 14;
//
// beautyNumericUpDown
//
this.beautyNumericUpDown.Location = new System.Drawing.Point(64, 72);
this.beautyNumericUpDown.Name = "beautyNumericUpDown";
this.beautyNumericUpDown.Size = new System.Drawing.Size(51, 22);
this.beautyNumericUpDown.TabIndex = 13;
//
// coolNumericUpDown
//
this.coolNumericUpDown.Location = new System.Drawing.Point(64, 47);
this.coolNumericUpDown.Name = "coolNumericUpDown";
this.coolNumericUpDown.Size = new System.Drawing.Size(51, 22);
this.coolNumericUpDown.TabIndex = 12;
//
// sheenNumericUpDown
//
this.sheenNumericUpDown.Location = new System.Drawing.Point(64, 22);
this.sheenNumericUpDown.Name = "sheenNumericUpDown";
this.sheenNumericUpDown.Size = new System.Drawing.Size(51, 22);
this.sheenNumericUpDown.TabIndex = 11;
//
// toughLabel
//
this.toughLabel.AutoSize = true;
this.toughLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.toughLabel.Location = new System.Drawing.Point(6, 150);
this.toughLabel.Name = "toughLabel";
this.toughLabel.Size = new System.Drawing.Size(46, 16);
this.toughLabel.TabIndex = 10;
this.toughLabel.Text = "Tough";
//
// smartLabel
//
this.smartLabel.AutoSize = true;
this.smartLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.smartLabel.Location = new System.Drawing.Point(6, 125);
this.smartLabel.Name = "smartLabel";
this.smartLabel.Size = new System.Drawing.Size(42, 16);
this.smartLabel.TabIndex = 9;
this.smartLabel.Text = "Smart";
//
// cuteLabel
//
this.cuteLabel.AutoSize = true;
this.cuteLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cuteLabel.Location = new System.Drawing.Point(6, 100);
this.cuteLabel.Name = "cuteLabel";
this.cuteLabel.Size = new System.Drawing.Size(34, 16);
this.cuteLabel.TabIndex = 8;
this.cuteLabel.Text = "Cute";
//
// beautyLabel
//
this.beautyLabel.AutoSize = true;
this.beautyLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.beautyLabel.Location = new System.Drawing.Point(6, 75);
this.beautyLabel.Name = "beautyLabel";
this.beautyLabel.Size = new System.Drawing.Size(49, 16);
this.beautyLabel.TabIndex = 7;
this.beautyLabel.Text = "Beauty";
//
// coolLabel
//
this.coolLabel.AutoSize = true;
this.coolLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.coolLabel.Location = new System.Drawing.Point(6, 50);
this.coolLabel.Name = "coolLabel";
this.coolLabel.Size = new System.Drawing.Size(35, 16);
this.coolLabel.TabIndex = 6;
this.coolLabel.Text = "Cool";
//
// sheenLabel
//
this.sheenLabel.AutoSize = true;
this.sheenLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.sheenLabel.Location = new System.Drawing.Point(6, 25);
this.sheenLabel.Name = "sheenLabel";
this.sheenLabel.Size = new System.Drawing.Size(46, 16);
this.sheenLabel.TabIndex = 5;
this.sheenLabel.Text = "Sheen";
//
// IVGroupBox
//
this.IVGroupBox.Controls.Add(this.speIVNumericUpDown);
this.IVGroupBox.Controls.Add(this.spdIVNumericUpDown);
this.IVGroupBox.Controls.Add(this.spaIVNumericUpDown);
this.IVGroupBox.Controls.Add(this.defIVNumericUpDown);
this.IVGroupBox.Controls.Add(this.atkIVNumericUpDown);
this.IVGroupBox.Controls.Add(this.hpIVNumericUpDown);
this.IVGroupBox.Controls.Add(this.speIVLabel);
this.IVGroupBox.Controls.Add(this.spdIVLabel);
this.IVGroupBox.Controls.Add(this.spaIVLabel);
this.IVGroupBox.Controls.Add(this.defIVLabel);
this.IVGroupBox.Controls.Add(this.atkIVLabel);
this.IVGroupBox.Controls.Add(this.hpIVLabel);
this.IVGroupBox.Location = new System.Drawing.Point(160, 10);
this.IVGroupBox.Name = "IVGroupBox";
this.IVGroupBox.Size = new System.Drawing.Size(120, 180);
this.IVGroupBox.TabIndex = 4;
this.IVGroupBox.TabStop = false;
this.IVGroupBox.Text = "IVs";
//
// speIVNumericUpDown
//
this.speIVNumericUpDown.Location = new System.Drawing.Point(50, 148);
this.speIVNumericUpDown.Name = "speIVNumericUpDown";
this.speIVNumericUpDown.Size = new System.Drawing.Size(51, 22);
this.speIVNumericUpDown.TabIndex = 16;
//
// spdIVNumericUpDown
//
this.spdIVNumericUpDown.Location = new System.Drawing.Point(50, 123);
this.spdIVNumericUpDown.Name = "spdIVNumericUpDown";
this.spdIVNumericUpDown.Size = new System.Drawing.Size(51, 22);
this.spdIVNumericUpDown.TabIndex = 15;
//
// spaIVNumericUpDown
//
this.spaIVNumericUpDown.Location = new System.Drawing.Point(50, 97);
this.spaIVNumericUpDown.Name = "spaIVNumericUpDown";
this.spaIVNumericUpDown.Size = new System.Drawing.Size(51, 22);
this.spaIVNumericUpDown.TabIndex = 14;
//
// defIVNumericUpDown
//
this.defIVNumericUpDown.Location = new System.Drawing.Point(50, 72);
this.defIVNumericUpDown.Name = "defIVNumericUpDown";
this.defIVNumericUpDown.Size = new System.Drawing.Size(51, 22);
this.defIVNumericUpDown.TabIndex = 13;
//
// atkIVNumericUpDown
//
this.atkIVNumericUpDown.Location = new System.Drawing.Point(50, 47);
this.atkIVNumericUpDown.Name = "atkIVNumericUpDown";
this.atkIVNumericUpDown.Size = new System.Drawing.Size(51, 22);
this.atkIVNumericUpDown.TabIndex = 12;
//
// hpIVNumericUpDown
//
this.hpIVNumericUpDown.Location = new System.Drawing.Point(50, 22);
this.hpIVNumericUpDown.Name = "hpIVNumericUpDown";
this.hpIVNumericUpDown.Size = new System.Drawing.Size(51, 22);
this.hpIVNumericUpDown.TabIndex = 11;
//
// speIVLabel
//
this.speIVLabel.AutoSize = true;
this.speIVLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.speIVLabel.Location = new System.Drawing.Point(6, 150);
this.speIVLabel.Name = "speIVLabel";
this.speIVLabel.Size = new System.Drawing.Size(32, 16);
this.speIVLabel.TabIndex = 10;
this.speIVLabel.Text = "Spe";
//
// spdIVLabel
//
this.spdIVLabel.AutoSize = true;
this.spdIVLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.spdIVLabel.Location = new System.Drawing.Point(6, 125);
this.spdIVLabel.Name = "spdIVLabel";
this.spdIVLabel.Size = new System.Drawing.Size(34, 16);
this.spdIVLabel.TabIndex = 9;
this.spdIVLabel.Text = "SpD";
//
// spaIVLabel
//
this.spaIVLabel.AutoSize = true;
this.spaIVLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.spaIVLabel.Location = new System.Drawing.Point(6, 100);
this.spaIVLabel.Name = "spaIVLabel";
this.spaIVLabel.Size = new System.Drawing.Size(33, 16);
this.spaIVLabel.TabIndex = 8;
this.spaIVLabel.Text = "SpA";
//
// defIVLabel
//
this.defIVLabel.AutoSize = true;
this.defIVLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.defIVLabel.Location = new System.Drawing.Point(6, 75);
this.defIVLabel.Name = "defIVLabel";
this.defIVLabel.Size = new System.Drawing.Size(28, 16);
this.defIVLabel.TabIndex = 7;
this.defIVLabel.Text = "Def";
//
// atkIVLabel
//
this.atkIVLabel.AutoSize = true;
this.atkIVLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.atkIVLabel.Location = new System.Drawing.Point(6, 50);
this.atkIVLabel.Name = "atkIVLabel";
this.atkIVLabel.Size = new System.Drawing.Size(26, 16);
this.atkIVLabel.TabIndex = 6;
this.atkIVLabel.Text = "Atk";
//
// hpIVLabel
//
this.hpIVLabel.AutoSize = true;
this.hpIVLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.hpIVLabel.Location = new System.Drawing.Point(6, 25);
this.hpIVLabel.Name = "hpIVLabel";
this.hpIVLabel.Size = new System.Drawing.Size(26, 16);
this.hpIVLabel.TabIndex = 5;
this.hpIVLabel.Text = "HP";
//
// speciesComboBox
//
this.speciesComboBox.FormattingEnabled = true;
this.speciesComboBox.Location = new System.Drawing.Point(6, 30);
this.speciesComboBox.Name = "speciesComboBox";
this.speciesComboBox.Size = new System.Drawing.Size(147, 24);
this.speciesComboBox.TabIndex = 2;
//
// speciesLabel
//
this.speciesLabel.AutoSize = true;
this.speciesLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.speciesLabel.Location = new System.Drawing.Point(3, 10);
this.speciesLabel.Name = "speciesLabel";
this.speciesLabel.Size = new System.Drawing.Size(57, 16);
this.speciesLabel.TabIndex = 3;
this.speciesLabel.Text = "Species";
//
// tradeIDNumericUpDown
//
this.tradeIDNumericUpDown.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tradeIDNumericUpDown.Location = new System.Drawing.Point(21, 46);
this.tradeIDNumericUpDown.Name = "tradeIDNumericUpDown";
this.tradeIDNumericUpDown.Size = new System.Drawing.Size(120, 22);
this.tradeIDNumericUpDown.TabIndex = 0;
this.tradeIDNumericUpDown.ValueChanged += new System.EventHandler(this.tradeIDNumericUpDown_ValueChanged);
//
// tradeIDLabel
//
this.tradeIDLabel.AutoSize = true;
this.tradeIDLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tradeIDLabel.Location = new System.Drawing.Point(18, 27);
this.tradeIDLabel.Name = "tradeIDLabel";
this.tradeIDLabel.Size = new System.Drawing.Size(60, 16);
this.tradeIDLabel.TabIndex = 1;
this.tradeIDLabel.Text = "Trade ID";
//
// TradeEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.ClientSize = new System.Drawing.Size(641, 460);
this.Controls.Add(this.mainPanel);
this.Name = "TradeEditor";
this.Text = "TradeEditor";
this.mainPanel.ResumeLayout(false);
this.textDataGroupBox.ResumeLayout(false);
this.textDataGroupBox.PerformLayout();
this.tradeDataGroupBox.ResumeLayout(false);
this.tradeDataGroupBox.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.otIDNumericUpDown)).EndInit();
this.monDataGroupBox.ResumeLayout(false);
this.monDataPanel.ResumeLayout(false);
this.monDataPanel.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.unknownNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pidNumericUpDown)).EndInit();
this.contestGroupBox.ResumeLayout(false);
this.contestGroupBox.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.toughNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.smartNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cuteNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.beautyNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.coolNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.sheenNumericUpDown)).EndInit();
this.IVGroupBox.ResumeLayout(false);
this.IVGroupBox.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.speIVNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.spdIVNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.spaIVNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.defIVNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.atkIVNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.hpIVNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tradeIDNumericUpDown)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel mainPanel;
private System.Windows.Forms.NumericUpDown tradeIDNumericUpDown;
private System.Windows.Forms.Label tradeIDLabel;
private System.Windows.Forms.GroupBox tradeDataGroupBox;
private System.Windows.Forms.GroupBox textDataGroupBox;
private System.Windows.Forms.Label speciesLabel;
private System.Windows.Forms.ComboBox speciesComboBox;
private System.Windows.Forms.Panel monDataPanel;
private System.Windows.Forms.GroupBox IVGroupBox;
private System.Windows.Forms.Label speIVLabel;
private System.Windows.Forms.Label spdIVLabel;
private System.Windows.Forms.Label spaIVLabel;
private System.Windows.Forms.Label defIVLabel;
private System.Windows.Forms.Label atkIVLabel;
private System.Windows.Forms.Label hpIVLabel;
private System.Windows.Forms.NumericUpDown speIVNumericUpDown;
private System.Windows.Forms.NumericUpDown spdIVNumericUpDown;
private System.Windows.Forms.NumericUpDown spaIVNumericUpDown;
private System.Windows.Forms.NumericUpDown defIVNumericUpDown;
private System.Windows.Forms.NumericUpDown atkIVNumericUpDown;
private System.Windows.Forms.NumericUpDown hpIVNumericUpDown;
private System.Windows.Forms.GroupBox contestGroupBox;
private System.Windows.Forms.NumericUpDown toughNumericUpDown;
private System.Windows.Forms.NumericUpDown smartNumericUpDown;
private System.Windows.Forms.NumericUpDown cuteNumericUpDown;
private System.Windows.Forms.NumericUpDown beautyNumericUpDown;
private System.Windows.Forms.NumericUpDown coolNumericUpDown;
private System.Windows.Forms.NumericUpDown sheenNumericUpDown;
private System.Windows.Forms.Label toughLabel;
private System.Windows.Forms.Label smartLabel;
private System.Windows.Forms.Label cuteLabel;
private System.Windows.Forms.Label beautyLabel;
private System.Windows.Forms.Label coolLabel;
private System.Windows.Forms.Label sheenLabel;
private System.Windows.Forms.ComboBox heldItemComboBox;
private System.Windows.Forms.Label heldItemLabel;
private System.Windows.Forms.GroupBox monDataGroupBox;
private System.Windows.Forms.ComboBox langComboBox;
private System.Windows.Forms.Label langLabel;
private System.Windows.Forms.NumericUpDown otIDNumericUpDown;
private System.Windows.Forms.Label otIDLabel;
private System.Windows.Forms.Label otGenderLabel;
private System.Windows.Forms.ComboBox otGenderComboBox;
private System.Windows.Forms.NumericUpDown pidNumericUpDown;
private System.Windows.Forms.Label pidLabel;
private System.Windows.Forms.NumericUpDown unknownNumericUpDown;
private System.Windows.Forms.Label unknownLabel;
private System.Windows.Forms.ComboBox abilityComboBox;
private System.Windows.Forms.Label abilityLabel;
private System.Windows.Forms.ComboBox requestedComboBox;
private System.Windows.Forms.Label requestedLabel;
private System.Windows.Forms.ToolTip toolTip;
private System.Windows.Forms.Button saveTradeButton;
private System.Windows.Forms.TextBox nicknameTextBox;
private System.Windows.Forms.TextBox otNameTextBox;
private System.Windows.Forms.Label nicknameLabel;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button saveTextDataButton;
}
}

View File

@@ -1,4 +1,5 @@
using System;
using DSPRE.ROMFiles;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
@@ -12,9 +13,307 @@ namespace DSPRE.Editors
{
public partial class TradeEditor : Form
{
private TradeData curTradeData;
private TextArchive tradeArchive;
#region Enums
public enum OriginLang
{
NONE = 0,
JAPANESE = 1,
ENGLISH = 2,
FRENCH = 3,
ITALIAN = 4,
GERMAN = 5,
UNUSED = 6,
SPANISH = 7,
KOREAN = 8
}
#endregion
public TradeEditor()
{
Helpers.DisableHandlers();
InitializeComponent();
InitLimits();
InitDataRanges();
SetToolTips();
if (TradeData.GetTradeCount() == 0)
{
MessageBox.Show("No trades could be found! The narc may have failed to unpack.", "Loading Trades Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
AppLogger.Error("TradeEditor: Loading trades failed.");
return;
}
if (RomInfo.gameFamily != RomInfo.GameFamilies.HGSS)
{
unknownNumericUpDown.Enabled = false;
}
tradeArchive = new TextArchive(GetTextBankIndex());
LoadFromFile(0);
}
public void LoadFromFile(int tradeID)
{
Helpers.DisableHandlers();
curTradeData = new TradeData(tradeID);
tradeIDNumericUpDown.Value = tradeID;
speciesComboBox.SelectedIndex = curTradeData.species;
hpIVNumericUpDown.Value = curTradeData.hpIV;
atkIVNumericUpDown.Value = curTradeData.atkIV;
defIVNumericUpDown.Value = curTradeData.defIV;
speIVNumericUpDown.Value = curTradeData.speedIV;
spaIVNumericUpDown.Value = curTradeData.spAtkIV;
spdIVNumericUpDown.Value = curTradeData.spDefIV;
abilityComboBox.SelectedIndex = curTradeData.ability;
otIDNumericUpDown.Value = curTradeData.otID;
coolNumericUpDown.Value = curTradeData.cool;
beautyNumericUpDown.Value = curTradeData.beauty;
cuteNumericUpDown.Value = curTradeData.cute;
smartNumericUpDown.Value = curTradeData.smart;
toughNumericUpDown.Value = curTradeData.tough;
pidNumericUpDown.Value = curTradeData.pid;
heldItemComboBox.SelectedIndex = curTradeData.heldItem;
otGenderComboBox.SelectedIndex = curTradeData.otGender;
sheenNumericUpDown.Value = curTradeData.sheen;
langComboBox.SelectedIndex = curTradeData.language;
requestedComboBox.SelectedIndex = curTradeData.requestedSpecies;
unknownNumericUpDown.Value = curTradeData.unknown;
otNameTextBox.Text = GetOTName(tradeID);
nicknameTextBox.Text = GetMonNickname(tradeID);
Helpers.EnableHandlers();
}
private void SaveToFile()
{
curTradeData.species = speciesComboBox.SelectedIndex;
curTradeData.hpIV = (int)hpIVNumericUpDown.Value;
curTradeData.atkIV = (int)atkIVNumericUpDown.Value;
curTradeData.defIV = (int)defIVNumericUpDown.Value;
curTradeData.speedIV = (int)speIVNumericUpDown.Value;
curTradeData.spAtkIV = (int)spaIVNumericUpDown.Value;
curTradeData.spDefIV = (int)spdIVNumericUpDown.Value;
curTradeData.ability = abilityComboBox.SelectedIndex;
curTradeData.otID = (int)otIDNumericUpDown.Value;
curTradeData.cool = (int)coolNumericUpDown.Value;
curTradeData.beauty = (int)beautyNumericUpDown.Value;
curTradeData.cute = (int)cuteNumericUpDown.Value;
curTradeData.smart = (int)smartNumericUpDown.Value;
curTradeData.tough = (int)toughNumericUpDown.Value;
curTradeData.pid = (int)pidNumericUpDown.Value;
curTradeData.heldItem = heldItemComboBox.SelectedIndex;
curTradeData.otGender = otGenderComboBox.SelectedIndex;
curTradeData.sheen = (int)sheenNumericUpDown.Value;
curTradeData.language = langComboBox.SelectedIndex;
curTradeData.requestedSpecies = requestedComboBox.SelectedIndex;
if (RomInfo.gameFamily == RomInfo.GameFamilies.HGSS)
{
curTradeData.unknown = (int)unknownNumericUpDown.Value;
}
else
{
curTradeData.unknown = 0;
}
curTradeData.SaveToFileDefaultDir((int)tradeIDNumericUpDown.Value, true);
}
private void InitLimits()
{
// IVs: 0-31
hpIVNumericUpDown.Minimum = 0;
hpIVNumericUpDown.Maximum = 31;
atkIVNumericUpDown.Minimum = 0;
atkIVNumericUpDown.Maximum = 31;
defIVNumericUpDown.Minimum = 0;
defIVNumericUpDown.Maximum = 31;
speIVNumericUpDown.Minimum = 0;
speIVNumericUpDown.Maximum = 31;
spaIVNumericUpDown.Minimum = 0;
spaIVNumericUpDown.Maximum = 31;
spdIVNumericUpDown.Minimum = 0;
spdIVNumericUpDown.Maximum = 31;
// Contest stats: 0-255
coolNumericUpDown.Minimum = 0;
coolNumericUpDown.Maximum = 255;
beautyNumericUpDown.Minimum = 0;
beautyNumericUpDown.Maximum = 255;
cuteNumericUpDown.Minimum = 0;
cuteNumericUpDown.Maximum = 255;
smartNumericUpDown.Minimum = 0;
smartNumericUpDown.Maximum = 255;
toughNumericUpDown.Minimum = 0;
toughNumericUpDown.Maximum = 255;
// PID: (32-bit unsigned)
pidNumericUpDown.Minimum = 0;
pidNumericUpDown.Maximum = int.MaxValue;
// Sheen: 0-255
sheenNumericUpDown.Minimum = 0;
sheenNumericUpDown.Maximum = 255;
// Unknown: (32-bit unsigned)
unknownNumericUpDown.Minimum = 0;
unknownNumericUpDown.Maximum = int.MaxValue;
// Trade ID: (dynamic based on loaded data)
tradeIDNumericUpDown.Minimum = 0;
tradeIDNumericUpDown.Maximum = TradeData.GetTradeCount()-1;
// OT ID: (32-bit unsigned)
otIDNumericUpDown.Minimum = 0;
otIDNumericUpDown.Maximum = int.MaxValue;
// Text fields
otNameTextBox.MaxLength = 7;
nicknameTextBox.MaxLength = 10;
}
private void InitDataRanges()
{
// Species Names
speciesComboBox.DataSource = RomInfo.GetPokemonNames();
requestedComboBox.DataSource = RomInfo.GetPokemonNames();
// Abilities
abilityComboBox.DataSource = RomInfo.GetAbilityNames();
// Held Items
heldItemComboBox.DataSource = RomInfo.GetItemNames();
// OT Gender
otGenderComboBox.DataSource = new string[] {"Male", "Female"};
// Languages
langComboBox.DataSource = Enum.GetNames(typeof(OriginLang));
}
private void SetToolTips()
{
toolTip.SetToolTip(tradeIDNumericUpDown, "The Trade ID to edit.");
toolTip.SetToolTip(speciesComboBox, "The species of the Pokémon being traded.");
toolTip.SetToolTip(IVGroupBox, "Individual Values (IVs)");
toolTip.SetToolTip(abilityComboBox, "The ability of the Pokémon.\nThis value is unused!");
toolTip.SetToolTip(otIDNumericUpDown, "The Original Trainer ID of the Pokémon.");
toolTip.SetToolTip(contestGroupBox, "Contest stats for the Pokémon.");
toolTip.SetToolTip(pidNumericUpDown, "The PID of the Pokémon.");
toolTip.SetToolTip(heldItemComboBox, "The held item of the Pokémon.");
toolTip.SetToolTip(otGenderComboBox, "The gender of the Original Trainer (OT).\nThe OT name is determined by the text bank.");
toolTip.SetToolTip(langComboBox, "The language of origin of the traded Pokémon.");
toolTip.SetToolTip(requestedComboBox, "The species of the requested Pokémon.\nWhether the Pokémon selected by the player matches this species or not is checked via scripting.");
toolTip.SetToolTip(unknownNumericUpDown, "An unknown value, present in HGSS only.\nAppears to be unused.");
}
private void tradeIDNumericUpDown_ValueChanged(object sender, EventArgs e)
{
if (Helpers.HandlersDisabled)
{
return;
}
int tradeID = (int)tradeIDNumericUpDown.Value;
if (tradeID < 0 || tradeID >= TradeData.GetTradeCount())
{
MessageBox.Show("Invalid Trade ID selected.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
LoadFromFile(tradeID);
}
private void saveTradeButton_Click(object sender, EventArgs e)
{
SaveToFile();
}
private int GetTextBankIndex()
{
switch (RomInfo.gameFamily)
{
case RomInfo.GameFamilies.DP:
switch (RomInfo.gameLanguage)
{
case RomInfo.GameLanguages.Japanese:
return 325; // not confirmed to be correct
default:
return 326;
}
case RomInfo.GameFamilies.Plat:
switch (RomInfo.gameLanguage)
{
case RomInfo.GameLanguages.Japanese:
return 369;
default:
return 370;
}
case RomInfo.GameFamilies.HGSS:
switch (RomInfo.gameLanguage)
{
case RomInfo.GameLanguages.Japanese:
return 198;
default:
return 200;
}
default:
AppLogger.Error("TradeEditor: Invalid game family for text bank index retrieval.");
MessageBox.Show("Invalid game family for text bank index retrieval.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return 0;
}
}
private string GetMonNickname(int tradeID)
{
string msg = tradeArchive.messages[tradeID];
if (msg.Length > nicknameTextBox.MaxLength)
{
msg = msg.Substring(0, nicknameTextBox.MaxLength);
}
return msg;
}
private string GetOTName(int tradeID)
{
int index = tradeID + TradeData.GetTradeCount();
string msg = tradeArchive.messages[index];
if (msg.Length > otNameTextBox.MaxLength)
{
msg = msg.Substring(0, otNameTextBox.MaxLength);
}
return msg;
}
private void saveTextDataButton_Click(object sender, EventArgs e)
{
Helpers.DisableHandlers();
int tradeID = (int)tradeIDNumericUpDown.Value;
if (tradeID < 0 || tradeID + TradeData.GetTradeCount() > tradeArchive.messages.Count)
{
MessageBox.Show("Can't save to text bank. Index is out of range.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
AppLogger.Error("TradeEditor: Can't save to text bank. Index is out of range.");
Helpers.EnableHandlers();
return;
}
// Nickname
tradeArchive.messages[tradeID] = nicknameTextBox.Text;
// OT Name
tradeArchive.messages[tradeID + TradeData.GetTradeCount()] = otNameTextBox.Text;
tradeArchive.SaveToFileDefaultDir(GetTextBankIndex(), false);
Helpers.EnableHandlers();
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -536,6 +536,7 @@
this.flyWarpEditorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.itemEditorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.overworldEditorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tradeEditorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.aboutToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.statusLabel = new System.Windows.Forms.ToolStripStatusLabel();
@@ -6735,7 +6736,8 @@
this.moveDataEditorToolStripMenuItem,
this.flyWarpEditorToolStripMenuItem,
this.itemEditorToolStripMenuItem,
this.overworldEditorToolStripMenuItem});
this.overworldEditorToolStripMenuItem,
this.tradeEditorToolStripMenuItem});
this.otherEditorsToolStripMenuItem.Enabled = false;
this.otherEditorsToolStripMenuItem.Name = "otherEditorsToolStripMenuItem";
this.otherEditorsToolStripMenuItem.Size = new System.Drawing.Size(88, 20);
@@ -6789,6 +6791,13 @@
this.overworldEditorToolStripMenuItem.Size = new System.Drawing.Size(174, 22);
this.overworldEditorToolStripMenuItem.Text = "Overworld Editor";
this.overworldEditorToolStripMenuItem.Click += new System.EventHandler(this.overworldEditorToolStripMenuItem_Click);
//
// tradeEditorToolStripMenuItem
//
this.tradeEditorToolStripMenuItem.Name = "tradeEditorToolStripMenuItem";
this.tradeEditorToolStripMenuItem.Size = new System.Drawing.Size(174, 22);
this.tradeEditorToolStripMenuItem.Text = "Trade Editor";
this.tradeEditorToolStripMenuItem.Click += new System.EventHandler(this.tradeEditorToolStripMenuItem_Click);
//
// aboutToolStripMenuItem1
//
@@ -7946,6 +7955,7 @@
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.ToolStripMenuItem flyWarpEditorToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem itemEditorToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem tradeEditorToolStripMenuItem;
private System.Windows.Forms.Button popoutTextEditorButton;
private System.Windows.Forms.Label textEditorPoppedOutLabel;
private System.Windows.Forms.Button popoutLevelScriptEditorButton;

View File

@@ -7270,6 +7270,14 @@ namespace DSPRE {
flyEditor.Show();
}
private void tradeEditorToolStripMenuItem_Click(object sender, EventArgs e)
{
DSUtils.TryUnpackNarcs(new List<DirNames> { DirNames.tradeData });
TradeEditor tradeEditor = new TradeEditor();
tradeEditor.Show();
}
private void itemEditorToolStripMenuItem_Click(object sender, EventArgs e)
{
Helpers.statusLabelMessage("Setting up Item Data Editor...");

View File

@@ -48,7 +48,7 @@ namespace DSPRE.ROMFiles
speedIV = br.ReadInt32();
spAtkIV = br.ReadInt32();
spDefIV = br.ReadInt32();
ability = br.ReadInt32(); // unused
ability = br.ReadInt32(); // appears unused
otID = br.ReadInt32();
cool = br.ReadInt32();
beauty = br.ReadInt32();
@@ -61,7 +61,12 @@ namespace DSPRE.ROMFiles
sheen = br.ReadInt32();
language = br.ReadInt32();
requestedSpecies = br.ReadInt32();
unknown = br.ReadInt32(); // unused?
if (RomInfo.gameFamily == GameFamilies.HGSS)
{
unknown = br.ReadInt32(); // unused?
}
}
}
@@ -111,5 +116,10 @@ namespace DSPRE.ROMFiles
SaveToFileExplorePath("Gen IV Trade data", "bin", suggestedFileName, showSuccessMessage);
}
public static int GetTradeCount()
{
return Directory.GetFiles(RomInfo.gameDirs[DirNames.tradeData].unpackedDir, "*.*").Length;
}
}
}

View File

@@ -1486,6 +1486,11 @@ namespace DSPRE
personal += @"\personal.narc";
packedDirsDict[DirNames.personalPokeData] = personal;
if (gameLanguage != GameLanguages.Japanese)
{
packedDirsDict[DirNames.tradeData] = $@"data\resource\{GetLangResFolderName()}\pokemon_trade\fld_trade.narc";
}
break;
case GameFamilies.Plat:
@@ -1533,6 +1538,12 @@ namespace DSPRE
[DirNames.tradeData] = @"data\fielddata\pokemon_trade\fld_trade.narc"
};
if (gameLanguage != GameLanguages.Japanese)
{
packedDirsDict[DirNames.tradeData] = $@"data\resource\{GetLangResFolderName()}\pokemon_trade\fld_trade.narc";
}
break;
case GameFamilies.HGSS:
@@ -1591,6 +1602,25 @@ namespace DSPRE
}
}
public static string GetLangResFolderName()
{
switch (gameLanguage)
{
case GameLanguages.English:
return "eng";
case GameLanguages.Italian:
return "ita";
case GameLanguages.French:
return "fra";
case GameLanguages.German:
return "ger";
case GameLanguages.Spanish:
return "spa";
default:
return "";
}
}
public void ResetMapCellsColorDictionary()
{
switch (gameFamily)