mirror of
https://github.com/AdAstra-LD/DS-Pokemon-Rom-Editor.git
synced 2026-08-26 12:56:15 -05:00
Added ability to edit trainer pokemon ability and gender for HGSS
This commit is contained in:
@@ -156,6 +156,7 @@
|
||||
</Compile>
|
||||
<Compile Include="ROMFiles\RomFile.cs" />
|
||||
<Compile Include="ROMFiles\ScriptAction.cs" />
|
||||
<Compile Include="ROMFiles\SpeciesFile.cs" />
|
||||
<Compile Include="ROMFiles\TrainerFile.cs" />
|
||||
<Compile Include="ROMToolboxDialog.cs">
|
||||
<SubType>Form</SubType>
|
||||
|
||||
258
DS_Map/Main Window.Designer.cs
generated
258
DS_Map/Main Window.Designer.cs
generated
@@ -632,6 +632,8 @@
|
||||
this.addTrainerButton = new System.Windows.Forms.Button();
|
||||
this.groupBox28 = new System.Windows.Forms.GroupBox();
|
||||
this.party6GroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.partyAbility6ComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.partyGender6ComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.partyPokemonItemPictureBox6 = new System.Windows.Forms.PictureBox();
|
||||
this.label60 = new System.Windows.Forms.Label();
|
||||
this.label61 = new System.Windows.Forms.Label();
|
||||
@@ -648,6 +650,8 @@
|
||||
this.partyPokemon6PictureBox = new System.Windows.Forms.PictureBox();
|
||||
this.partyPokemon6ComboBox = new DSPRE.InputComboBox();
|
||||
this.party5GroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.partyAbility5ComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.partyGender5ComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.partyPokemonItemPictureBox5 = new System.Windows.Forms.PictureBox();
|
||||
this.label57 = new System.Windows.Forms.Label();
|
||||
this.label58 = new System.Windows.Forms.Label();
|
||||
@@ -664,6 +668,8 @@
|
||||
this.partyPokemon5PictureBox = new System.Windows.Forms.PictureBox();
|
||||
this.partyPokemon5ComboBox = new DSPRE.InputComboBox();
|
||||
this.party4GroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.partyAbility4ComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.partyGender4ComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.partyPokemonItemPictureBox4 = new System.Windows.Forms.PictureBox();
|
||||
this.label54 = new System.Windows.Forms.Label();
|
||||
this.label55 = new System.Windows.Forms.Label();
|
||||
@@ -680,6 +686,8 @@
|
||||
this.partyPokemon4PictureBox = new System.Windows.Forms.PictureBox();
|
||||
this.partyPokemon4ComboBox = new DSPRE.InputComboBox();
|
||||
this.party3GroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.partyAbility3ComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.partyGender3ComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.partyPokemonItemPictureBox3 = new System.Windows.Forms.PictureBox();
|
||||
this.label51 = new System.Windows.Forms.Label();
|
||||
this.label52 = new System.Windows.Forms.Label();
|
||||
@@ -696,6 +704,8 @@
|
||||
this.partyPokemon3PictureBox = new System.Windows.Forms.PictureBox();
|
||||
this.partyPokemon3ComboBox = new DSPRE.InputComboBox();
|
||||
this.party2GroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.partyAbility2ComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.partyGender2ComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.partyPokemonItemPictureBox2 = new System.Windows.Forms.PictureBox();
|
||||
this.label48 = new System.Windows.Forms.Label();
|
||||
this.label49 = new System.Windows.Forms.Label();
|
||||
@@ -712,6 +722,7 @@
|
||||
this.partyPokemon2PictureBox = new System.Windows.Forms.PictureBox();
|
||||
this.partyPokemon2ComboBox = new DSPRE.InputComboBox();
|
||||
this.party1GroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.partyAbility1ComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.partyPokemonItemPictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.label47 = new System.Windows.Forms.Label();
|
||||
this.label46 = new System.Windows.Forms.Label();
|
||||
@@ -884,6 +895,7 @@
|
||||
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
|
||||
this.directoryEntry1 = new System.DirectoryServices.DirectoryEntry();
|
||||
this.directoryEntry2 = new System.DirectoryServices.DirectoryEntry();
|
||||
this.partyGender1ComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.mainTabControl.SuspendLayout();
|
||||
this.headerEditorTabPage.SuspendLayout();
|
||||
this.worldmapCoordsGroupBox.SuspendLayout();
|
||||
@@ -1151,7 +1163,7 @@
|
||||
this.mainTabControl.Location = new System.Drawing.Point(11, 72);
|
||||
this.mainTabControl.Name = "mainTabControl";
|
||||
this.mainTabControl.SelectedIndex = 0;
|
||||
this.mainTabControl.Size = new System.Drawing.Size(1193, 646);
|
||||
this.mainTabControl.Size = new System.Drawing.Size(1193, 730);
|
||||
this.mainTabControl.TabIndex = 5;
|
||||
this.mainTabControl.Visible = false;
|
||||
this.mainTabControl.SelectedIndexChanged += new System.EventHandler(this.mainTabControl_SelectedIndexChanged);
|
||||
@@ -1186,7 +1198,7 @@
|
||||
this.headerEditorTabPage.Location = new System.Drawing.Point(4, 23);
|
||||
this.headerEditorTabPage.Name = "headerEditorTabPage";
|
||||
this.headerEditorTabPage.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.headerEditorTabPage.Size = new System.Drawing.Size(1185, 619);
|
||||
this.headerEditorTabPage.Size = new System.Drawing.Size(1185, 703);
|
||||
this.headerEditorTabPage.TabIndex = 0;
|
||||
this.headerEditorTabPage.Text = "Header Editor";
|
||||
//
|
||||
@@ -2574,7 +2586,7 @@
|
||||
this.matrixEditorTabPage.Location = new System.Drawing.Point(4, 23);
|
||||
this.matrixEditorTabPage.Name = "matrixEditorTabPage";
|
||||
this.matrixEditorTabPage.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.matrixEditorTabPage.Size = new System.Drawing.Size(1185, 619);
|
||||
this.matrixEditorTabPage.Size = new System.Drawing.Size(1185, 703);
|
||||
this.matrixEditorTabPage.TabIndex = 1;
|
||||
this.matrixEditorTabPage.Text = "Matrix Editor";
|
||||
//
|
||||
@@ -2595,7 +2607,7 @@
|
||||
this.setSpawnPointButton.Image = global::DSPRE.Properties.Resources.spawnCoordsMatrixeditorIcon;
|
||||
this.setSpawnPointButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.setSpawnPointButton.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||
this.setSpawnPointButton.Location = new System.Drawing.Point(11, 521);
|
||||
this.setSpawnPointButton.Location = new System.Drawing.Point(11, 605);
|
||||
this.setSpawnPointButton.Name = "setSpawnPointButton";
|
||||
this.setSpawnPointButton.Size = new System.Drawing.Size(117, 43);
|
||||
this.setSpawnPointButton.TabIndex = 32;
|
||||
@@ -2767,7 +2779,7 @@
|
||||
this.matrixTabControl.Multiline = true;
|
||||
this.matrixTabControl.Name = "matrixTabControl";
|
||||
this.matrixTabControl.SelectedIndex = 0;
|
||||
this.matrixTabControl.Size = new System.Drawing.Size(1040, 602);
|
||||
this.matrixTabControl.Size = new System.Drawing.Size(1040, 686);
|
||||
this.matrixTabControl.TabIndex = 18;
|
||||
//
|
||||
// headersTabPage
|
||||
@@ -2776,7 +2788,7 @@
|
||||
this.headersTabPage.Location = new System.Drawing.Point(4, 22);
|
||||
this.headersTabPage.Name = "headersTabPage";
|
||||
this.headersTabPage.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.headersTabPage.Size = new System.Drawing.Size(1032, 576);
|
||||
this.headersTabPage.Size = new System.Drawing.Size(1032, 660);
|
||||
this.headersTabPage.TabIndex = 1;
|
||||
this.headersTabPage.Text = "Map Headers";
|
||||
this.headersTabPage.UseVisualStyleBackColor = true;
|
||||
@@ -2839,7 +2851,7 @@
|
||||
this.heightsTabPage.Controls.Add(this.heightsGridView);
|
||||
this.heightsTabPage.Location = new System.Drawing.Point(4, 22);
|
||||
this.heightsTabPage.Name = "heightsTabPage";
|
||||
this.heightsTabPage.Size = new System.Drawing.Size(1032, 576);
|
||||
this.heightsTabPage.Size = new System.Drawing.Size(1032, 660);
|
||||
this.heightsTabPage.TabIndex = 2;
|
||||
this.heightsTabPage.Text = "Map Heights";
|
||||
this.heightsTabPage.UseVisualStyleBackColor = true;
|
||||
@@ -2902,7 +2914,7 @@
|
||||
this.mapFilesTabPage.Controls.Add(this.mapFilesGridView);
|
||||
this.mapFilesTabPage.Location = new System.Drawing.Point(4, 22);
|
||||
this.mapFilesTabPage.Name = "mapFilesTabPage";
|
||||
this.mapFilesTabPage.Size = new System.Drawing.Size(1032, 576);
|
||||
this.mapFilesTabPage.Size = new System.Drawing.Size(1032, 660);
|
||||
this.mapFilesTabPage.TabIndex = 3;
|
||||
this.mapFilesTabPage.Text = "Map Files";
|
||||
this.mapFilesTabPage.UseVisualStyleBackColor = true;
|
||||
@@ -3042,7 +3054,7 @@
|
||||
this.saveMatrixButton.Image = global::DSPRE.Properties.Resources.save_rom;
|
||||
this.saveMatrixButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.saveMatrixButton.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||
this.saveMatrixButton.Location = new System.Drawing.Point(11, 566);
|
||||
this.saveMatrixButton.Location = new System.Drawing.Point(11, 650);
|
||||
this.saveMatrixButton.Name = "saveMatrixButton";
|
||||
this.saveMatrixButton.Size = new System.Drawing.Size(117, 43);
|
||||
this.saveMatrixButton.TabIndex = 22;
|
||||
@@ -3071,7 +3083,7 @@
|
||||
this.mapEditorTabPage.Location = new System.Drawing.Point(4, 23);
|
||||
this.mapEditorTabPage.Name = "mapEditorTabPage";
|
||||
this.mapEditorTabPage.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.mapEditorTabPage.Size = new System.Drawing.Size(1185, 619);
|
||||
this.mapEditorTabPage.Size = new System.Drawing.Size(1185, 703);
|
||||
this.mapEditorTabPage.TabIndex = 2;
|
||||
this.mapEditorTabPage.Text = "Map Editor";
|
||||
this.mapEditorTabPage.Enter += new System.EventHandler(this.mapEditorTabPage_Enter);
|
||||
@@ -4365,7 +4377,7 @@
|
||||
this.radio3D.AutoSize = true;
|
||||
this.radio3D.Checked = true;
|
||||
this.radio3D.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||
this.radio3D.Location = new System.Drawing.Point(1140, 542);
|
||||
this.radio3D.Location = new System.Drawing.Point(1140, 626);
|
||||
this.radio3D.Name = "radio3D";
|
||||
this.radio3D.Size = new System.Drawing.Size(31, 23);
|
||||
this.radio3D.TabIndex = 26;
|
||||
@@ -4380,7 +4392,7 @@
|
||||
this.radio2D.Appearance = System.Windows.Forms.Appearance.Button;
|
||||
this.radio2D.AutoSize = true;
|
||||
this.radio2D.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||
this.radio2D.Location = new System.Drawing.Point(1140, 566);
|
||||
this.radio2D.Location = new System.Drawing.Point(1140, 650);
|
||||
this.radio2D.Name = "radio2D";
|
||||
this.radio2D.Size = new System.Drawing.Size(31, 23);
|
||||
this.radio2D.TabIndex = 25;
|
||||
@@ -4395,7 +4407,7 @@
|
||||
this.wireframeCheckBox.Appearance = System.Windows.Forms.Appearance.Button;
|
||||
this.wireframeCheckBox.AutoSize = true;
|
||||
this.wireframeCheckBox.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||
this.wireframeCheckBox.Location = new System.Drawing.Point(1140, 590);
|
||||
this.wireframeCheckBox.Location = new System.Drawing.Point(1140, 674);
|
||||
this.wireframeCheckBox.Name = "wireframeCheckBox";
|
||||
this.wireframeCheckBox.Size = new System.Drawing.Size(31, 23);
|
||||
this.wireframeCheckBox.TabIndex = 27;
|
||||
@@ -4410,7 +4422,7 @@
|
||||
this.nsbtxEditorTabPage.Location = new System.Drawing.Point(4, 23);
|
||||
this.nsbtxEditorTabPage.Name = "nsbtxEditorTabPage";
|
||||
this.nsbtxEditorTabPage.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.nsbtxEditorTabPage.Size = new System.Drawing.Size(1185, 619);
|
||||
this.nsbtxEditorTabPage.Size = new System.Drawing.Size(1185, 703);
|
||||
this.nsbtxEditorTabPage.TabIndex = 6;
|
||||
this.nsbtxEditorTabPage.Text = "NSBTX Editor";
|
||||
this.nsbtxEditorTabPage.UseVisualStyleBackColor = true;
|
||||
@@ -4951,7 +4963,7 @@
|
||||
this.eventEditorTabPage.Location = new System.Drawing.Point(4, 23);
|
||||
this.eventEditorTabPage.Name = "eventEditorTabPage";
|
||||
this.eventEditorTabPage.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.eventEditorTabPage.Size = new System.Drawing.Size(1185, 619);
|
||||
this.eventEditorTabPage.Size = new System.Drawing.Size(1185, 703);
|
||||
this.eventEditorTabPage.TabIndex = 3;
|
||||
this.eventEditorTabPage.Text = "Event Editor";
|
||||
this.eventEditorTabPage.Enter += new System.EventHandler(this.eventEditorTabPage_Enter);
|
||||
@@ -6996,7 +7008,7 @@
|
||||
this.scriptEditorTabPage.Location = new System.Drawing.Point(4, 23);
|
||||
this.scriptEditorTabPage.Name = "scriptEditorTabPage";
|
||||
this.scriptEditorTabPage.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.scriptEditorTabPage.Size = new System.Drawing.Size(1185, 619);
|
||||
this.scriptEditorTabPage.Size = new System.Drawing.Size(1185, 703);
|
||||
this.scriptEditorTabPage.TabIndex = 4;
|
||||
this.scriptEditorTabPage.Text = "Script Editor";
|
||||
this.scriptEditorTabPage.UseVisualStyleBackColor = true;
|
||||
@@ -7735,7 +7747,7 @@
|
||||
this.textEditorTabPage.Location = new System.Drawing.Point(4, 23);
|
||||
this.textEditorTabPage.Name = "textEditorTabPage";
|
||||
this.textEditorTabPage.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.textEditorTabPage.Size = new System.Drawing.Size(1185, 619);
|
||||
this.textEditorTabPage.Size = new System.Drawing.Size(1185, 703);
|
||||
this.textEditorTabPage.TabIndex = 5;
|
||||
this.textEditorTabPage.Text = "Text Editor";
|
||||
this.textEditorTabPage.UseVisualStyleBackColor = true;
|
||||
@@ -8159,7 +8171,7 @@
|
||||
this.cameraEditorTabPage.ImageIndex = 7;
|
||||
this.cameraEditorTabPage.Location = new System.Drawing.Point(4, 23);
|
||||
this.cameraEditorTabPage.Name = "cameraEditorTabPage";
|
||||
this.cameraEditorTabPage.Size = new System.Drawing.Size(1185, 619);
|
||||
this.cameraEditorTabPage.Size = new System.Drawing.Size(1185, 703);
|
||||
this.cameraEditorTabPage.TabIndex = 7;
|
||||
this.cameraEditorTabPage.Text = "Camera Editor";
|
||||
this.cameraEditorTabPage.UseVisualStyleBackColor = true;
|
||||
@@ -8353,7 +8365,7 @@
|
||||
this.trainerEditorTabPage.ImageIndex = 8;
|
||||
this.trainerEditorTabPage.Location = new System.Drawing.Point(4, 23);
|
||||
this.trainerEditorTabPage.Name = "trainerEditorTabPage";
|
||||
this.trainerEditorTabPage.Size = new System.Drawing.Size(1185, 619);
|
||||
this.trainerEditorTabPage.Size = new System.Drawing.Size(1185, 703);
|
||||
this.trainerEditorTabPage.TabIndex = 8;
|
||||
this.trainerEditorTabPage.Text = "Trainer Editor";
|
||||
this.trainerEditorTabPage.UseVisualStyleBackColor = true;
|
||||
@@ -8520,13 +8532,15 @@
|
||||
this.groupBox28.Controls.Add(this.party1GroupBox);
|
||||
this.groupBox28.Location = new System.Drawing.Point(439, 75);
|
||||
this.groupBox28.Name = "groupBox28";
|
||||
this.groupBox28.Size = new System.Drawing.Size(731, 534);
|
||||
this.groupBox28.Size = new System.Drawing.Size(731, 625);
|
||||
this.groupBox28.TabIndex = 32;
|
||||
this.groupBox28.TabStop = false;
|
||||
this.groupBox28.Text = "Party";
|
||||
//
|
||||
// party6GroupBox
|
||||
//
|
||||
this.party6GroupBox.Controls.Add(this.partyAbility6ComboBox);
|
||||
this.party6GroupBox.Controls.Add(this.partyGender6ComboBox);
|
||||
this.party6GroupBox.Controls.Add(this.partyPokemonItemPictureBox6);
|
||||
this.party6GroupBox.Controls.Add(this.label60);
|
||||
this.party6GroupBox.Controls.Add(this.label61);
|
||||
@@ -8539,13 +8553,35 @@
|
||||
this.party6GroupBox.Controls.Add(this.partyPokemon6PictureBox);
|
||||
this.party6GroupBox.Controls.Add(this.partyPokemon6ComboBox);
|
||||
this.party6GroupBox.Enabled = false;
|
||||
this.party6GroupBox.Location = new System.Drawing.Point(371, 355);
|
||||
this.party6GroupBox.Location = new System.Drawing.Point(371, 418);
|
||||
this.party6GroupBox.Name = "party6GroupBox";
|
||||
this.party6GroupBox.Size = new System.Drawing.Size(343, 162);
|
||||
this.party6GroupBox.Size = new System.Drawing.Size(343, 189);
|
||||
this.party6GroupBox.TabIndex = 13;
|
||||
this.party6GroupBox.TabStop = false;
|
||||
this.party6GroupBox.Text = "Pokemon 6";
|
||||
//
|
||||
// partyAbility6ComboBox
|
||||
//
|
||||
this.partyAbility6ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.partyAbility6ComboBox.FormattingEnabled = true;
|
||||
this.partyAbility6ComboBox.Location = new System.Drawing.Point(15, 157);
|
||||
this.partyAbility6ComboBox.Name = "partyAbility6ComboBox";
|
||||
this.partyAbility6ComboBox.Size = new System.Drawing.Size(121, 21);
|
||||
this.partyAbility6ComboBox.TabIndex = 19;
|
||||
//
|
||||
// partyGender6ComboBox
|
||||
//
|
||||
this.partyGender6ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.partyGender6ComboBox.FormattingEnabled = true;
|
||||
this.partyGender6ComboBox.Items.AddRange(new object[] {
|
||||
"Default Gender",
|
||||
"Force Male",
|
||||
"Force Female"});
|
||||
this.partyGender6ComboBox.Location = new System.Drawing.Point(154, 157);
|
||||
this.partyGender6ComboBox.Name = "partyGender6ComboBox";
|
||||
this.partyGender6ComboBox.Size = new System.Drawing.Size(121, 21);
|
||||
this.partyGender6ComboBox.TabIndex = 15;
|
||||
//
|
||||
// partyPokemonItemPictureBox6
|
||||
//
|
||||
this.partyPokemonItemPictureBox6.Image = global::DSPRE.Properties.Resources.IconItem;
|
||||
@@ -8648,7 +8684,7 @@
|
||||
//
|
||||
this.partyIV6UpDown.Location = new System.Drawing.Point(48, 98);
|
||||
this.partyIV6UpDown.Maximum = new decimal(new int[] {
|
||||
65535,
|
||||
255,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
@@ -8719,6 +8755,8 @@
|
||||
//
|
||||
// party5GroupBox
|
||||
//
|
||||
this.party5GroupBox.Controls.Add(this.partyAbility5ComboBox);
|
||||
this.party5GroupBox.Controls.Add(this.partyGender5ComboBox);
|
||||
this.party5GroupBox.Controls.Add(this.partyPokemonItemPictureBox5);
|
||||
this.party5GroupBox.Controls.Add(this.label57);
|
||||
this.party5GroupBox.Controls.Add(this.label58);
|
||||
@@ -8731,13 +8769,35 @@
|
||||
this.party5GroupBox.Controls.Add(this.partyPokemon5PictureBox);
|
||||
this.party5GroupBox.Controls.Add(this.partyPokemon5ComboBox);
|
||||
this.party5GroupBox.Enabled = false;
|
||||
this.party5GroupBox.Location = new System.Drawing.Point(16, 355);
|
||||
this.party5GroupBox.Location = new System.Drawing.Point(16, 418);
|
||||
this.party5GroupBox.Name = "party5GroupBox";
|
||||
this.party5GroupBox.Size = new System.Drawing.Size(343, 162);
|
||||
this.party5GroupBox.Size = new System.Drawing.Size(343, 189);
|
||||
this.party5GroupBox.TabIndex = 12;
|
||||
this.party5GroupBox.TabStop = false;
|
||||
this.party5GroupBox.Text = "Pokemon 5";
|
||||
//
|
||||
// partyAbility5ComboBox
|
||||
//
|
||||
this.partyAbility5ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.partyAbility5ComboBox.FormattingEnabled = true;
|
||||
this.partyAbility5ComboBox.Location = new System.Drawing.Point(15, 157);
|
||||
this.partyAbility5ComboBox.Name = "partyAbility5ComboBox";
|
||||
this.partyAbility5ComboBox.Size = new System.Drawing.Size(121, 21);
|
||||
this.partyAbility5ComboBox.TabIndex = 18;
|
||||
//
|
||||
// partyGender5ComboBox
|
||||
//
|
||||
this.partyGender5ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.partyGender5ComboBox.FormattingEnabled = true;
|
||||
this.partyGender5ComboBox.Items.AddRange(new object[] {
|
||||
"Default Gender",
|
||||
"Force Male",
|
||||
"Force Female"});
|
||||
this.partyGender5ComboBox.Location = new System.Drawing.Point(156, 157);
|
||||
this.partyGender5ComboBox.Name = "partyGender5ComboBox";
|
||||
this.partyGender5ComboBox.Size = new System.Drawing.Size(121, 21);
|
||||
this.partyGender5ComboBox.TabIndex = 14;
|
||||
//
|
||||
// partyPokemonItemPictureBox5
|
||||
//
|
||||
this.partyPokemonItemPictureBox5.Image = global::DSPRE.Properties.Resources.IconItem;
|
||||
@@ -8840,7 +8900,7 @@
|
||||
//
|
||||
this.partyIV5UpDown.Location = new System.Drawing.Point(48, 98);
|
||||
this.partyIV5UpDown.Maximum = new decimal(new int[] {
|
||||
65535,
|
||||
255,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
@@ -8911,6 +8971,8 @@
|
||||
//
|
||||
// party4GroupBox
|
||||
//
|
||||
this.party4GroupBox.Controls.Add(this.partyAbility4ComboBox);
|
||||
this.party4GroupBox.Controls.Add(this.partyGender4ComboBox);
|
||||
this.party4GroupBox.Controls.Add(this.partyPokemonItemPictureBox4);
|
||||
this.party4GroupBox.Controls.Add(this.label54);
|
||||
this.party4GroupBox.Controls.Add(this.label55);
|
||||
@@ -8923,13 +8985,35 @@
|
||||
this.party4GroupBox.Controls.Add(this.partyPokemon4PictureBox);
|
||||
this.party4GroupBox.Controls.Add(this.partyPokemon4ComboBox);
|
||||
this.party4GroupBox.Enabled = false;
|
||||
this.party4GroupBox.Location = new System.Drawing.Point(371, 189);
|
||||
this.party4GroupBox.Location = new System.Drawing.Point(371, 225);
|
||||
this.party4GroupBox.Name = "party4GroupBox";
|
||||
this.party4GroupBox.Size = new System.Drawing.Size(343, 162);
|
||||
this.party4GroupBox.Size = new System.Drawing.Size(343, 185);
|
||||
this.party4GroupBox.TabIndex = 11;
|
||||
this.party4GroupBox.TabStop = false;
|
||||
this.party4GroupBox.Text = "Pokemon 4";
|
||||
//
|
||||
// partyAbility4ComboBox
|
||||
//
|
||||
this.partyAbility4ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.partyAbility4ComboBox.FormattingEnabled = true;
|
||||
this.partyAbility4ComboBox.Location = new System.Drawing.Point(15, 157);
|
||||
this.partyAbility4ComboBox.Name = "partyAbility4ComboBox";
|
||||
this.partyAbility4ComboBox.Size = new System.Drawing.Size(121, 21);
|
||||
this.partyAbility4ComboBox.TabIndex = 17;
|
||||
//
|
||||
// partyGender4ComboBox
|
||||
//
|
||||
this.partyGender4ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.partyGender4ComboBox.FormattingEnabled = true;
|
||||
this.partyGender4ComboBox.Items.AddRange(new object[] {
|
||||
"Default Gender",
|
||||
"Force Male",
|
||||
"Force Female"});
|
||||
this.partyGender4ComboBox.Location = new System.Drawing.Point(154, 157);
|
||||
this.partyGender4ComboBox.Name = "partyGender4ComboBox";
|
||||
this.partyGender4ComboBox.Size = new System.Drawing.Size(121, 21);
|
||||
this.partyGender4ComboBox.TabIndex = 16;
|
||||
//
|
||||
// partyPokemonItemPictureBox4
|
||||
//
|
||||
this.partyPokemonItemPictureBox4.Image = global::DSPRE.Properties.Resources.IconItem;
|
||||
@@ -9032,7 +9116,7 @@
|
||||
//
|
||||
this.partyIV4UpDown.Location = new System.Drawing.Point(48, 98);
|
||||
this.partyIV4UpDown.Maximum = new decimal(new int[] {
|
||||
65535,
|
||||
255,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
@@ -9103,6 +9187,8 @@
|
||||
//
|
||||
// party3GroupBox
|
||||
//
|
||||
this.party3GroupBox.Controls.Add(this.partyAbility3ComboBox);
|
||||
this.party3GroupBox.Controls.Add(this.partyGender3ComboBox);
|
||||
this.party3GroupBox.Controls.Add(this.partyPokemonItemPictureBox3);
|
||||
this.party3GroupBox.Controls.Add(this.label51);
|
||||
this.party3GroupBox.Controls.Add(this.label52);
|
||||
@@ -9115,13 +9201,35 @@
|
||||
this.party3GroupBox.Controls.Add(this.partyPokemon3PictureBox);
|
||||
this.party3GroupBox.Controls.Add(this.partyPokemon3ComboBox);
|
||||
this.party3GroupBox.Enabled = false;
|
||||
this.party3GroupBox.Location = new System.Drawing.Point(16, 189);
|
||||
this.party3GroupBox.Location = new System.Drawing.Point(16, 225);
|
||||
this.party3GroupBox.Name = "party3GroupBox";
|
||||
this.party3GroupBox.Size = new System.Drawing.Size(343, 162);
|
||||
this.party3GroupBox.Size = new System.Drawing.Size(343, 187);
|
||||
this.party3GroupBox.TabIndex = 10;
|
||||
this.party3GroupBox.TabStop = false;
|
||||
this.party3GroupBox.Text = "Pokemon 3";
|
||||
//
|
||||
// partyAbility3ComboBox
|
||||
//
|
||||
this.partyAbility3ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.partyAbility3ComboBox.FormattingEnabled = true;
|
||||
this.partyAbility3ComboBox.Location = new System.Drawing.Point(15, 157);
|
||||
this.partyAbility3ComboBox.Name = "partyAbility3ComboBox";
|
||||
this.partyAbility3ComboBox.Size = new System.Drawing.Size(121, 21);
|
||||
this.partyAbility3ComboBox.TabIndex = 14;
|
||||
//
|
||||
// partyGender3ComboBox
|
||||
//
|
||||
this.partyGender3ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.partyGender3ComboBox.FormattingEnabled = true;
|
||||
this.partyGender3ComboBox.Items.AddRange(new object[] {
|
||||
"Default Gender",
|
||||
"Force Male",
|
||||
"Force Female"});
|
||||
this.partyGender3ComboBox.Location = new System.Drawing.Point(156, 157);
|
||||
this.partyGender3ComboBox.Name = "partyGender3ComboBox";
|
||||
this.partyGender3ComboBox.Size = new System.Drawing.Size(121, 21);
|
||||
this.partyGender3ComboBox.TabIndex = 13;
|
||||
//
|
||||
// partyPokemonItemPictureBox3
|
||||
//
|
||||
this.partyPokemonItemPictureBox3.Image = global::DSPRE.Properties.Resources.IconItem;
|
||||
@@ -9224,7 +9332,7 @@
|
||||
//
|
||||
this.partyIV3UpDown.Location = new System.Drawing.Point(48, 98);
|
||||
this.partyIV3UpDown.Maximum = new decimal(new int[] {
|
||||
65535,
|
||||
255,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
@@ -9295,6 +9403,8 @@
|
||||
//
|
||||
// party2GroupBox
|
||||
//
|
||||
this.party2GroupBox.Controls.Add(this.partyAbility2ComboBox);
|
||||
this.party2GroupBox.Controls.Add(this.partyGender2ComboBox);
|
||||
this.party2GroupBox.Controls.Add(this.partyPokemonItemPictureBox2);
|
||||
this.party2GroupBox.Controls.Add(this.label48);
|
||||
this.party2GroupBox.Controls.Add(this.label49);
|
||||
@@ -9309,11 +9419,33 @@
|
||||
this.party2GroupBox.Enabled = false;
|
||||
this.party2GroupBox.Location = new System.Drawing.Point(371, 23);
|
||||
this.party2GroupBox.Name = "party2GroupBox";
|
||||
this.party2GroupBox.Size = new System.Drawing.Size(343, 162);
|
||||
this.party2GroupBox.Size = new System.Drawing.Size(343, 196);
|
||||
this.party2GroupBox.TabIndex = 10;
|
||||
this.party2GroupBox.TabStop = false;
|
||||
this.party2GroupBox.Text = "Pokemon 2";
|
||||
//
|
||||
// partyAbility2ComboBox
|
||||
//
|
||||
this.partyAbility2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.partyAbility2ComboBox.FormattingEnabled = true;
|
||||
this.partyAbility2ComboBox.Location = new System.Drawing.Point(15, 162);
|
||||
this.partyAbility2ComboBox.Name = "partyAbility2ComboBox";
|
||||
this.partyAbility2ComboBox.Size = new System.Drawing.Size(121, 21);
|
||||
this.partyAbility2ComboBox.TabIndex = 18;
|
||||
//
|
||||
// partyGender2ComboBox
|
||||
//
|
||||
this.partyGender2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.partyGender2ComboBox.FormattingEnabled = true;
|
||||
this.partyGender2ComboBox.Items.AddRange(new object[] {
|
||||
"Default Gender",
|
||||
"Force Male",
|
||||
"Force Female"});
|
||||
this.partyGender2ComboBox.Location = new System.Drawing.Point(154, 162);
|
||||
this.partyGender2ComboBox.Name = "partyGender2ComboBox";
|
||||
this.partyGender2ComboBox.Size = new System.Drawing.Size(121, 21);
|
||||
this.partyGender2ComboBox.TabIndex = 17;
|
||||
//
|
||||
// partyPokemonItemPictureBox2
|
||||
//
|
||||
this.partyPokemonItemPictureBox2.Image = global::DSPRE.Properties.Resources.IconItem;
|
||||
@@ -9416,7 +9548,7 @@
|
||||
//
|
||||
this.partyIV2UpDown.Location = new System.Drawing.Point(48, 98);
|
||||
this.partyIV2UpDown.Maximum = new decimal(new int[] {
|
||||
65535,
|
||||
255,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
@@ -9487,6 +9619,8 @@
|
||||
//
|
||||
// party1GroupBox
|
||||
//
|
||||
this.party1GroupBox.Controls.Add(this.partyAbility1ComboBox);
|
||||
this.party1GroupBox.Controls.Add(this.partyGender1ComboBox);
|
||||
this.party1GroupBox.Controls.Add(this.partyPokemonItemPictureBox1);
|
||||
this.party1GroupBox.Controls.Add(this.label47);
|
||||
this.party1GroupBox.Controls.Add(this.label46);
|
||||
@@ -9501,11 +9635,20 @@
|
||||
this.party1GroupBox.Enabled = false;
|
||||
this.party1GroupBox.Location = new System.Drawing.Point(16, 23);
|
||||
this.party1GroupBox.Name = "party1GroupBox";
|
||||
this.party1GroupBox.Size = new System.Drawing.Size(343, 162);
|
||||
this.party1GroupBox.Size = new System.Drawing.Size(343, 196);
|
||||
this.party1GroupBox.TabIndex = 0;
|
||||
this.party1GroupBox.TabStop = false;
|
||||
this.party1GroupBox.Text = "Pokemon 1";
|
||||
//
|
||||
// partyAbility1ComboBox
|
||||
//
|
||||
this.partyAbility1ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.partyAbility1ComboBox.FormattingEnabled = true;
|
||||
this.partyAbility1ComboBox.Location = new System.Drawing.Point(15, 162);
|
||||
this.partyAbility1ComboBox.Name = "partyAbility1ComboBox";
|
||||
this.partyAbility1ComboBox.Size = new System.Drawing.Size(121, 21);
|
||||
this.partyAbility1ComboBox.TabIndex = 13;
|
||||
//
|
||||
// partyPokemonItemPictureBox1
|
||||
//
|
||||
this.partyPokemonItemPictureBox1.Image = global::DSPRE.Properties.Resources.IconItem;
|
||||
@@ -9608,7 +9751,7 @@
|
||||
//
|
||||
this.partyIV1UpDown.Location = new System.Drawing.Point(48, 98);
|
||||
this.partyIV1UpDown.Maximum = new decimal(new int[] {
|
||||
65535,
|
||||
255,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
@@ -10136,7 +10279,7 @@
|
||||
this.tableEditorTabPage.Location = new System.Drawing.Point(4, 23);
|
||||
this.tableEditorTabPage.Name = "tableEditorTabPage";
|
||||
this.tableEditorTabPage.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tableEditorTabPage.Size = new System.Drawing.Size(1185, 619);
|
||||
this.tableEditorTabPage.Size = new System.Drawing.Size(1185, 703);
|
||||
this.tableEditorTabPage.TabIndex = 9;
|
||||
this.tableEditorTabPage.Text = "Table Editor";
|
||||
this.tableEditorTabPage.UseVisualStyleBackColor = true;
|
||||
@@ -10650,8 +10793,8 @@
|
||||
this.menuStrip1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
|
||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.fileToolStripMenuItem,
|
||||
this.menuViewToolStripMenuItem,
|
||||
this.aboutToolStripMenuItem,
|
||||
this.menuViewToolStripMenuItem,
|
||||
this.aboutToolStripMenuItem1});
|
||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
@@ -10905,14 +11048,14 @@
|
||||
// essentialToolStripMenuItem
|
||||
//
|
||||
this.essentialToolStripMenuItem.Name = "essentialToolStripMenuItem";
|
||||
this.essentialToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.essentialToolStripMenuItem.Size = new System.Drawing.Size(127, 22);
|
||||
this.essentialToolStripMenuItem.Text = "Essential";
|
||||
this.essentialToolStripMenuItem.MouseDown += new System.Windows.Forms.MouseEventHandler(this.simpleToolStripMenuItem_MouseDown);
|
||||
//
|
||||
// simpleToolStripMenuItem
|
||||
//
|
||||
this.simpleToolStripMenuItem.Name = "simpleToolStripMenuItem";
|
||||
this.simpleToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.simpleToolStripMenuItem.Size = new System.Drawing.Size(127, 22);
|
||||
this.simpleToolStripMenuItem.Text = "Simple";
|
||||
this.simpleToolStripMenuItem.MouseDown += new System.Windows.Forms.MouseEventHandler(this.simpleToolStripMenuItem_MouseDown);
|
||||
//
|
||||
@@ -10921,14 +11064,14 @@
|
||||
this.advancedStripMenuItem.Checked = true;
|
||||
this.advancedStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.advancedStripMenuItem.Name = "advancedStripMenuItem";
|
||||
this.advancedStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.advancedStripMenuItem.Size = new System.Drawing.Size(127, 22);
|
||||
this.advancedStripMenuItem.Text = "Advanced";
|
||||
this.advancedStripMenuItem.MouseDown += new System.Windows.Forms.MouseEventHandler(this.simpleToolStripMenuItem_MouseDown);
|
||||
//
|
||||
// fullViewToolStripMenuItem
|
||||
//
|
||||
this.fullViewToolStripMenuItem.Name = "fullViewToolStripMenuItem";
|
||||
this.fullViewToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.fullViewToolStripMenuItem.Size = new System.Drawing.Size(127, 22);
|
||||
this.fullViewToolStripMenuItem.Text = "Complete";
|
||||
this.fullViewToolStripMenuItem.MouseDown += new System.Windows.Forms.MouseEventHandler(this.simpleToolStripMenuItem_MouseDown);
|
||||
//
|
||||
@@ -10945,7 +11088,7 @@
|
||||
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.statusLabel,
|
||||
this.toolStripProgressBar});
|
||||
this.statusStrip1.Location = new System.Drawing.Point(0, 721);
|
||||
this.statusStrip1.Location = new System.Drawing.Point(0, 805);
|
||||
this.statusStrip1.Name = "statusStrip1";
|
||||
this.statusStrip1.Size = new System.Drawing.Size(1214, 22);
|
||||
this.statusStrip1.TabIndex = 13;
|
||||
@@ -11308,12 +11451,25 @@
|
||||
//
|
||||
this.openFileDialog1.FileName = "openFileDialog1";
|
||||
//
|
||||
// partyGender1ComboBox
|
||||
//
|
||||
this.partyGender1ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.partyGender1ComboBox.FormattingEnabled = true;
|
||||
this.partyGender1ComboBox.Items.AddRange(new object[] {
|
||||
"Default Gender",
|
||||
"Force Male",
|
||||
"Force Female"});
|
||||
this.partyGender1ComboBox.Location = new System.Drawing.Point(156, 162);
|
||||
this.partyGender1ComboBox.Name = "partyGender1ComboBox";
|
||||
this.partyGender1ComboBox.Size = new System.Drawing.Size(121, 21);
|
||||
this.partyGender1ComboBox.TabIndex = 12;
|
||||
//
|
||||
// MainProgram
|
||||
//
|
||||
this.AllowDrop = true;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1214, 743);
|
||||
this.ClientSize = new System.Drawing.Size(1214, 827);
|
||||
this.Controls.Add(this.versionLabel);
|
||||
this.Controls.Add(this.languageLabel);
|
||||
this.Controls.Add(this.gameIcon);
|
||||
@@ -11327,7 +11483,7 @@
|
||||
this.MainMenuStrip = this.menuStrip1;
|
||||
this.MaximizeBox = false;
|
||||
this.Name = "MainProgram";
|
||||
this.Text = "DS Pokémon Rom Editor Reloaded 1.9.3 (Nømura, AdAstra/LD3005)";
|
||||
this.Text = "DS Pokémon Rom Editor Reloaded 1.9.2 (Nømura, AdAstra/LD3005)";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainProgram_FormClosing);
|
||||
this.mainTabControl.ResumeLayout(false);
|
||||
this.headerEditorTabPage.ResumeLayout(false);
|
||||
@@ -12492,6 +12648,18 @@
|
||||
private System.Windows.Forms.Button glbExportButton;
|
||||
private System.Windows.Forms.Button sortOWsByIDAscButton;
|
||||
private System.Windows.Forms.Button sortOWsByIDDescButton;
|
||||
private System.Windows.Forms.ComboBox partyGender6ComboBox;
|
||||
private System.Windows.Forms.ComboBox partyGender5ComboBox;
|
||||
private System.Windows.Forms.ComboBox partyGender4ComboBox;
|
||||
private System.Windows.Forms.ComboBox partyGender3ComboBox;
|
||||
private System.Windows.Forms.ComboBox partyGender2ComboBox;
|
||||
private System.Windows.Forms.ComboBox partyAbility1ComboBox;
|
||||
private System.Windows.Forms.ComboBox partyAbility6ComboBox;
|
||||
private System.Windows.Forms.ComboBox partyAbility5ComboBox;
|
||||
private System.Windows.Forms.ComboBox partyAbility4ComboBox;
|
||||
private System.Windows.Forms.ComboBox partyAbility3ComboBox;
|
||||
private System.Windows.Forms.ComboBox partyAbility2ComboBox;
|
||||
private System.Windows.Forms.ComboBox partyGender1ComboBox;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1192,8 +1192,6 @@ namespace DSPRE {
|
||||
flagVal += (byte)Math.Pow(2, 5);
|
||||
if (flag6CheckBox.Checked)
|
||||
flagVal += (byte)Math.Pow(2, 6);
|
||||
//if (flag7CheckBox.Checked)
|
||||
// flagVal += (byte)Math.Pow(2, 7);
|
||||
}
|
||||
currentHeader.flags = flagVal;
|
||||
}
|
||||
@@ -1297,7 +1295,6 @@ namespace DSPRE {
|
||||
flag4CheckBox.Checked = ba[4];
|
||||
flag5CheckBox.Checked = ba[5];
|
||||
flag6CheckBox.Checked = ba[6];
|
||||
//flag6CheckBox.Checked = ba[7];
|
||||
}
|
||||
}
|
||||
private void eventsTabControl_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
@@ -1792,9 +1789,6 @@ namespace DSPRE {
|
||||
case gFamEnum.HGSS:
|
||||
HeaderHGSS ch = (HeaderHGSS)currentHeader;
|
||||
ch.locationType = (byte)areaSettingsComboBox.SelectedIndex;
|
||||
//areaImageLabel.Text = "Area icon";
|
||||
//areaIconComboBox.Enabled = true;
|
||||
//areaIconPictureBox.Visible = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -2551,13 +2545,7 @@ namespace DSPRE {
|
||||
if (gameFamily.Equals(gFamEnum.DP)) {
|
||||
foreach (ushort r in result) {
|
||||
HeaderDP hdp;
|
||||
|
||||
////Dynamic headers patch unsupported in DP
|
||||
//if (ROMToolboxDialog.flag_DynamicHeadersPatchApplied || ROMToolboxDialog.CheckFilesDynamicHeadersPatchApplied()) {
|
||||
// hdp = (HeaderDP)MapHeader.LoadFromFile(RomInfo.gameDirs[DirNames.dynamicHeaders].unpackedDir + "\\" + r.ToString("D4"), r, 0);
|
||||
//} else {
|
||||
hdp = (HeaderDP)MapHeader.LoadFromARM9(r);
|
||||
//}
|
||||
hdp = (HeaderDP)MapHeader.LoadFromARM9(r);
|
||||
|
||||
if (hdp.locationName != 0) {
|
||||
headerID = hdp.ID;
|
||||
@@ -2947,6 +2935,16 @@ namespace DSPRE {
|
||||
#region Variables & Constants
|
||||
public const int mapEditorSquareSize = 19;
|
||||
|
||||
/* Trainer Editor */
|
||||
|
||||
private const int POKEMON_NUM_POSSIBLE_ABILITIES = 2;
|
||||
private const int TRAINER_PARTY_POKEMON_GENDER_DEFAULT_INDEX = 0;
|
||||
public const int TRAINER_PARTY_POKEMON_GENDER_MALE_INDEX = 1;
|
||||
public const int TRAINER_PARTY_POKEMON_GENDER_FEMALE_INDEX = 2;
|
||||
|
||||
public const int TRAINER_PARTY_POKEMON_ABILITY_SLOT1_INDEX = 0;
|
||||
public const int TRAINER_PARTY_POKEMON_ABILITY_SLOT2_INDEX = 1;
|
||||
|
||||
/* Map Rotation vars */
|
||||
public bool lRot;
|
||||
public bool rRot;
|
||||
@@ -4698,6 +4696,8 @@ namespace DSPRE {
|
||||
public Rectangle eventMatrixRectangle;
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region Subroutines
|
||||
private void itemsSelectorHelpBtn_Click(object sender, EventArgs e) {
|
||||
MessageBox.Show("This selector allows you to pick a preset Ground Item script from the game data.\n" +
|
||||
@@ -6903,14 +6903,12 @@ namespace DSPRE {
|
||||
}
|
||||
|
||||
private void InitBookmarkMargin(Scintilla textArea) {
|
||||
//TextArea.SetFoldMarginColor(true, IntToColor(BACK_COLOR));
|
||||
|
||||
var margin = textArea.Margins[BOOKMARK_MARGIN];
|
||||
margin.Width = 20;
|
||||
margin.Sensitive = true;
|
||||
margin.Type = MarginType.Symbol;
|
||||
margin.Mask = (1 << BOOKMARK_MARKER);
|
||||
//margin.Cursor = MarginCursor.Arrow;
|
||||
|
||||
var marker = textArea.Markers[BOOKMARK_MARKER];
|
||||
marker.Symbol = MarkerSymbol.Circle;
|
||||
@@ -6983,20 +6981,12 @@ namespace DSPRE {
|
||||
|
||||
#region Main Menu Commands
|
||||
|
||||
//private void selectLineToolStripMenuItem_Click(object sender, EventArgs e) {
|
||||
// Line line = TextArea.Lines[TextArea.CurrentLine];
|
||||
// TextArea.SetSelection(line.Position + line.Length, line.Position);
|
||||
//}
|
||||
private void scriptEditorWordWrapCheckbox_CheckedChanged(object sender, EventArgs e) {
|
||||
ScriptTextArea.WrapMode = scriptEditorWordWrapCheckbox.Checked ? ScintillaNET.WrapMode.Word : ScintillaNET.WrapMode.None;
|
||||
FunctionTextArea.WrapMode = scriptEditorWordWrapCheckbox.Checked ? ScintillaNET.WrapMode.Word : ScintillaNET.WrapMode.None;
|
||||
ActionTextArea.WrapMode = scriptEditorWordWrapCheckbox.Checked ? ScintillaNET.WrapMode.Word : ScintillaNET.WrapMode.None;
|
||||
}
|
||||
//private void indentGuidesCheckbox_CheckedChanged(object sender, EventArgs e) {
|
||||
// ScriptTextArea.IndentationGuides = scriptEditorIndentGuidesCheckbox.Checked ? IndentView.LookBoth : IndentView.None;
|
||||
// FunctionTextArea.IndentationGuides = scriptEditorIndentGuidesCheckbox.Checked ? IndentView.LookBoth : IndentView.None;
|
||||
// ActionTextArea.IndentationGuides = scriptEditorIndentGuidesCheckbox.Checked ? IndentView.LookBoth : IndentView.None;
|
||||
//}
|
||||
|
||||
|
||||
private void viewWhiteSpacesButton_Click(object sender, EventArgs e) {
|
||||
ScriptTextArea.ViewWhitespace = scriptEditorWhitespacesCheckbox.Checked ? WhitespaceMode.VisibleAlways : WhitespaceMode.Invisible;
|
||||
@@ -8170,7 +8160,6 @@ namespace DSPRE {
|
||||
if (matchingPalette == null) {
|
||||
statusLabelError("Couldn't find a palette to match " + '"' + findThis + '"', severe: false);
|
||||
} else {
|
||||
//palettesListBox.SelectedIndex = 0;
|
||||
palettesListBox.SelectedItem = matchingPalette;
|
||||
statusLabelMessage("Ready");
|
||||
}
|
||||
@@ -8453,7 +8442,6 @@ namespace DSPRE {
|
||||
SaveCameraTable(DSUtils.GetOverlayPath(RomInfo.cameraTblOverlayNumber), overlayCameraTblOffset);
|
||||
}
|
||||
private void cameraEditorDataGridView_CellValidated(object sender, DataGridViewCellEventArgs e) {
|
||||
//cameraEditorDataGridView.Columns[0].ValueType = typeof(int);
|
||||
currentCameraTable[e.RowIndex][e.ColumnIndex] = cameraEditorDataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
|
||||
cameraEditorDataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = currentCameraTable[e.RowIndex][e.ColumnIndex];
|
||||
}
|
||||
@@ -8538,12 +8526,18 @@ namespace DSPRE {
|
||||
private List<ComboBox> partyItemsComboboxList = new List<ComboBox>();
|
||||
private List<GroupBox> partyMovesGroupboxList = new List<GroupBox>();
|
||||
private List<NumericUpDown> partyLevelUpdownList = new List<NumericUpDown>();
|
||||
private List<ComboBox> partyGenderComboBoxList = new List<ComboBox>();
|
||||
private List<ComboBox> partyAbilityComboBoxList = new List<ComboBox>();
|
||||
private List<NumericUpDown> partyIVUpdownList = new List<NumericUpDown>();
|
||||
private List<NumericUpDown> partyBallUpdownList = new List<NumericUpDown>();
|
||||
private List<GroupBox> partyGroupboxList = new List<GroupBox>();
|
||||
private List<PictureBox> partyPokemonPictureBoxList = new List<PictureBox>();
|
||||
private List<PictureBox> partyPokemonItemIconList = new List<PictureBox>();
|
||||
|
||||
string[] abilityNames;
|
||||
|
||||
private Tuple<int, int>[] pokemonSpeciesAbilities;
|
||||
|
||||
TrainerFile currentTrainerFile;
|
||||
PaletteBase trainerPal;
|
||||
ImageBase trainerTile;
|
||||
@@ -8591,9 +8585,13 @@ namespace DSPRE {
|
||||
DirNames.trainerParty,
|
||||
DirNames.trainerGraphics,
|
||||
DirNames.textArchives,
|
||||
DirNames.monIcons
|
||||
DirNames.monIcons,
|
||||
DirNames.speciesData
|
||||
});
|
||||
|
||||
int numPokemonSpecies = Directory.GetFiles(RomInfo.gameDirs[DirNames.speciesData].unpackedDir, "*").Count();
|
||||
pokemonSpeciesAbilities = new Tuple<int, int>[numPokemonSpecies];
|
||||
|
||||
RomInfo.SetMonIconsPalTableAddress();
|
||||
|
||||
partyPokemonComboboxList.Clear();
|
||||
@@ -8620,6 +8618,22 @@ namespace DSPRE {
|
||||
partyLevelUpdownList.Add(partyLevel5UpDown);
|
||||
partyLevelUpdownList.Add(partyLevel6UpDown);
|
||||
|
||||
partyGenderComboBoxList.Clear();
|
||||
partyGenderComboBoxList.Add(partyGender1ComboBox);
|
||||
partyGenderComboBoxList.Add(partyGender2ComboBox);
|
||||
partyGenderComboBoxList.Add(partyGender3ComboBox);
|
||||
partyGenderComboBoxList.Add(partyGender4ComboBox);
|
||||
partyGenderComboBoxList.Add(partyGender5ComboBox);
|
||||
partyGenderComboBoxList.Add(partyGender6ComboBox);
|
||||
|
||||
partyAbilityComboBoxList.Clear();
|
||||
partyAbilityComboBoxList.Add(partyAbility1ComboBox);
|
||||
partyAbilityComboBoxList.Add(partyAbility2ComboBox);
|
||||
partyAbilityComboBoxList.Add(partyAbility3ComboBox);
|
||||
partyAbilityComboBoxList.Add(partyAbility4ComboBox);
|
||||
partyAbilityComboBoxList.Add(partyAbility5ComboBox);
|
||||
partyAbilityComboBoxList.Add(partyAbility6ComboBox);
|
||||
|
||||
partyIVUpdownList.Clear();
|
||||
partyIVUpdownList.Add(partyIV1UpDown);
|
||||
partyIVUpdownList.Add(partyIV2UpDown);
|
||||
@@ -8683,11 +8697,15 @@ namespace DSPRE {
|
||||
trainerClassListBox.Items.Add("[" + i.ToString("D3") + "]" + " " + classNames[i]);
|
||||
}
|
||||
|
||||
|
||||
string[] itemNames = RomInfo.GetItemNames();
|
||||
string[] pokeNames = RomInfo.GetPokemonNames();
|
||||
string[] moveNames = RomInfo.GetAttackNames();
|
||||
abilityNames = RomInfo.GetAbilityNames();
|
||||
|
||||
foreach(Control c in trainerItemsGroupBox.Controls) {
|
||||
pokemonSpeciesAbilities = getPokemonAbilities(numPokemonSpecies);
|
||||
|
||||
foreach (Control c in trainerItemsGroupBox.Controls) {
|
||||
if (c is ComboBox) {
|
||||
(c as ComboBox).DataSource = new BindingSource(itemNames, string.Empty);
|
||||
}
|
||||
@@ -8774,6 +8792,30 @@ namespace DSPRE {
|
||||
partyIVUpdownList[i].Value = currentTrainerFile.party[i].difficulty;
|
||||
partyBallUpdownList[i].Value = currentTrainerFile.party[i].ballSeals;
|
||||
|
||||
setTrainerPartyPokemonAbilities(i);
|
||||
|
||||
if (gameFamily == gFamEnum.HGSS)
|
||||
{
|
||||
if (currentTrainerFile.party[i].genderAndAbilityFlags.HasFlag(PartyPokemon.GenderAndAbilityFlags.FORCE_MALE))
|
||||
partyGenderComboBoxList[i].SelectedIndex = TRAINER_PARTY_POKEMON_GENDER_MALE_INDEX;
|
||||
else if (currentTrainerFile.party[i].genderAndAbilityFlags.HasFlag(PartyPokemon.GenderAndAbilityFlags.FORCE_FEMALE))
|
||||
partyGenderComboBoxList[i].SelectedIndex = TRAINER_PARTY_POKEMON_GENDER_FEMALE_INDEX;
|
||||
else
|
||||
partyGenderComboBoxList[i].SelectedIndex = TRAINER_PARTY_POKEMON_GENDER_DEFAULT_INDEX;
|
||||
|
||||
if (currentTrainerFile.party[i].genderAndAbilityFlags.HasFlag(PartyPokemon.GenderAndAbilityFlags.ABILITY_SLOT2))
|
||||
partyAbilityComboBoxList[i].SelectedIndex = TRAINER_PARTY_POKEMON_ABILITY_SLOT2_INDEX;
|
||||
else
|
||||
partyAbilityComboBoxList[i].SelectedIndex = TRAINER_PARTY_POKEMON_ABILITY_SLOT1_INDEX;
|
||||
}
|
||||
else
|
||||
{
|
||||
partyGenderComboBoxList[i].SelectedIndex = TRAINER_PARTY_POKEMON_GENDER_DEFAULT_INDEX;
|
||||
partyGenderComboBoxList[i].Enabled = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (currentTrainerFile.party[i].moves == null) {
|
||||
for (int j = 0; j < Party.MOVES_PER_POKE; j++) {
|
||||
(partyMovesGroupboxList[i].Controls[j] as ComboBox).SelectedIndex = 0;
|
||||
@@ -8857,30 +8899,42 @@ namespace DSPRE {
|
||||
} catch (FormatException) {
|
||||
return Properties.Resources.IconPokeball;
|
||||
}
|
||||
// default:
|
||||
//partyPokemonPictureBoxList[partyPos].Image = cb.SelectedIndex > 0 ? (Image)Properties.PokePics.ResourceManager.GetObject(FixPokenameString(PokeDatabase.System.pokeNames[(ushort)cb.SelectedIndex])) : global::DSPRE.Properties.Resources.IconPokeball;
|
||||
}
|
||||
private void partyPokemon1ComboBox_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
ShowPartyPokemonPic(0);
|
||||
|
||||
//event handler is called before currentTrainerFile is set, need to null check to avoid null object reference
|
||||
if (currentTrainerFile != null)
|
||||
setTrainerPartyPokemonAbilities(0);
|
||||
}
|
||||
private void partyPokemon2ComboBox_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
ShowPartyPokemonPic(1);
|
||||
if (currentTrainerFile != null)
|
||||
setTrainerPartyPokemonAbilities(1);
|
||||
}
|
||||
|
||||
private void partyPokemon3ComboBox_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
ShowPartyPokemonPic(2);
|
||||
if (currentTrainerFile != null)
|
||||
setTrainerPartyPokemonAbilities(2);
|
||||
}
|
||||
|
||||
private void partyPokemon4ComboBox_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
ShowPartyPokemonPic(3);
|
||||
if (currentTrainerFile != null)
|
||||
setTrainerPartyPokemonAbilities(3);
|
||||
}
|
||||
|
||||
private void partyPokemon5ComboBox_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
ShowPartyPokemonPic(4);
|
||||
if (currentTrainerFile != null)
|
||||
setTrainerPartyPokemonAbilities(4);
|
||||
}
|
||||
|
||||
private void partyPokemon6ComboBox_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
ShowPartyPokemonPic(5);
|
||||
if (currentTrainerFile != null)
|
||||
setTrainerPartyPokemonAbilities(5);
|
||||
}
|
||||
|
||||
private void showTrainerEditorItemPic(byte partyPos) {
|
||||
@@ -8928,11 +8982,6 @@ namespace DSPRE {
|
||||
for (int i = Math.Min(currentTrainerFile.trp.partyCount, (int)partyCountUpDown.Value); i < TrainerFile.POKE_IN_PARTY; i++) {
|
||||
currentTrainerFile.party[i] = new PartyPokemon(currentTrainerFile.trp.chooseItems, currentTrainerFile.trp.chooseMoves);
|
||||
}
|
||||
|
||||
//if (!disableHandlers) {
|
||||
// RefreshTrainerPartyGUI();
|
||||
// RefreshTrainerPropertiesGUI();
|
||||
//}
|
||||
}
|
||||
|
||||
private void trainerMovesCheckBox_CheckedChanged(object sender, EventArgs e) {
|
||||
@@ -9002,7 +9051,32 @@ namespace DSPRE {
|
||||
currentTrainerFile.party[i].heldItem = (ushort)partyItemsComboboxList[i].SelectedIndex;
|
||||
}
|
||||
|
||||
currentTrainerFile.party[i].difficulty = (ushort)partyIVUpdownList[i].Value;
|
||||
currentTrainerFile.party[i].difficulty = (byte)partyIVUpdownList[i].Value;
|
||||
|
||||
/* this is a bit weird but if gender is set to anything other than default without setting the ability_slot1 flag it will be slot 2
|
||||
* so setting the force_female flag but not ability_slot1 flag means the pokemon will be female with ability set to slot 2 (or slot 1 if there is no second ability)
|
||||
* in order to set gender to not default with ability 1 you must have the ability_slot1 flag set
|
||||
* gender is never set using this bitfield in the base games but it does work
|
||||
*/
|
||||
|
||||
switch (partyGenderComboBoxList[i].SelectedIndex)
|
||||
{
|
||||
case TRAINER_PARTY_POKEMON_GENDER_DEFAULT_INDEX:
|
||||
currentTrainerFile.party[i].genderAndAbilityFlags = PartyPokemon.GenderAndAbilityFlags.NO_FLAGS;
|
||||
break;
|
||||
case TRAINER_PARTY_POKEMON_GENDER_MALE_INDEX:
|
||||
currentTrainerFile.party[i].genderAndAbilityFlags = PartyPokemon.GenderAndAbilityFlags.FORCE_MALE;
|
||||
break;
|
||||
case TRAINER_PARTY_POKEMON_GENDER_FEMALE_INDEX:
|
||||
currentTrainerFile.party[i].genderAndAbilityFlags = PartyPokemon.GenderAndAbilityFlags.FORCE_FEMALE;
|
||||
break;
|
||||
}
|
||||
|
||||
if (partyAbilityComboBoxList[i].SelectedIndex == TRAINER_PARTY_POKEMON_ABILITY_SLOT2_INDEX)
|
||||
currentTrainerFile.party[i].genderAndAbilityFlags |= PartyPokemon.GenderAndAbilityFlags.ABILITY_SLOT2;
|
||||
else
|
||||
currentTrainerFile.party[i].genderAndAbilityFlags |= PartyPokemon.GenderAndAbilityFlags.ABILITY_SLOT1;
|
||||
|
||||
currentTrainerFile.party[i].ballSeals = (ushort)partyBallUpdownList[i].Value;
|
||||
}
|
||||
|
||||
@@ -9244,7 +9318,6 @@ namespace DSPRE {
|
||||
}
|
||||
disableHandlers = false;
|
||||
|
||||
//trainerClassListBox_SelectedIndexChanged(null, null);
|
||||
if ( gameFamily.Equals(gFamEnum.HGSS) && tableEditorIsReady ) {
|
||||
pbEffectsTrainerCombobox.Items[selectedTrClass] = trainerClassListBox.Items[selectedTrClass];
|
||||
for (int i = 0; i < vsTrainerEffectsList.Count; i++) {
|
||||
@@ -9259,6 +9332,49 @@ namespace DSPRE {
|
||||
private void trClassFramePreviewUpDown_ValueChanged(object sender, EventArgs e) {
|
||||
UpdateTrainerClassPic(trainerClassPicBox, (int)((NumericUpDown)sender).Value);
|
||||
}
|
||||
|
||||
private Tuple<int, int>[] getPokemonAbilities(int numPokemonSpecies)
|
||||
{
|
||||
SpeciesFile species;
|
||||
var pokemonSpeciesAbilities = new Tuple<int, int>[numPokemonSpecies];
|
||||
|
||||
|
||||
for (int i = 0; i < numPokemonSpecies; i++)
|
||||
{
|
||||
species = new SpeciesFile(new FileStream(RomInfo.gameDirs[DirNames.speciesData].unpackedDir + "\\" + i.ToString("D4"), FileMode.Open));
|
||||
pokemonSpeciesAbilities[i] = new Tuple<int, int>(species.Ability1, species.Ability2);
|
||||
}
|
||||
|
||||
return pokemonSpeciesAbilities;
|
||||
}
|
||||
|
||||
private (string ability1, string ability2) getPokemonAbilityNames(int pokemonID)
|
||||
{
|
||||
return (abilityNames[pokemonSpeciesAbilities[pokemonID].Item1],
|
||||
abilityNames[pokemonSpeciesAbilities[pokemonID].Item2]);
|
||||
}
|
||||
|
||||
private void setTrainerPartyPokemonAbilities(int partyPokemonPosition)
|
||||
{
|
||||
|
||||
(string ability1, string ability2) currentPartyPokemonAbilities = getPokemonAbilityNames(partyPokemonComboboxList[partyPokemonPosition].SelectedIndex);
|
||||
partyAbilityComboBoxList[partyPokemonPosition].Items.Clear();
|
||||
partyAbilityComboBoxList[partyPokemonPosition].Items.Add(currentPartyPokemonAbilities.ability1);
|
||||
|
||||
//if the name " -" is returned for ability 2 then there is no ability 2
|
||||
if (!currentPartyPokemonAbilities.ability2.Equals(" -") && gameFamily == gFamEnum.HGSS)
|
||||
{
|
||||
partyAbilityComboBoxList[partyPokemonPosition].Items.Add(currentPartyPokemonAbilities.ability2);
|
||||
partyAbilityComboBoxList[partyPokemonPosition].Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
partyAbilityComboBoxList[partyPokemonPosition].Enabled = false;
|
||||
}
|
||||
|
||||
partyAbilityComboBoxList[partyPokemonPosition].SelectedIndex = TRAINER_PARTY_POKEMON_ABILITY_SLOT1_INDEX;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Table Editor
|
||||
|
||||
@@ -956,7 +956,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACM
|
||||
EgAAAk1TRnQBSQFMAgEBCgEAAegBGgHoARoBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
EgAAAk1TRnQBSQFMAgEBCgEAAUgBGwFIARsBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System;
|
||||
using ScintillaNET;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using static DSPRE.ROMFiles.PartyPokemon;
|
||||
|
||||
namespace DSPRE.ROMFiles {
|
||||
public class PartyPokemon : RomFile {
|
||||
@@ -15,37 +17,39 @@ namespace DSPRE.ROMFiles {
|
||||
public ushort? pokeID = null;
|
||||
public ushort formID = 0;
|
||||
public ushort level = 0;
|
||||
public ushort difficulty = 0;
|
||||
public byte difficulty = 0;
|
||||
public GenderAndAbilityFlags genderAndAbilityFlags;
|
||||
public ushort ballSeals = 0;
|
||||
|
||||
public ushort? heldItem = null;
|
||||
public ushort[] moves = null;
|
||||
|
||||
public enum GenderAndAbilityFlags
|
||||
{
|
||||
NO_FLAGS = 0,
|
||||
FORCE_MALE = 0x1,
|
||||
FORCE_FEMALE = 0x2,
|
||||
ABILITY_SLOT1 = 0x10,
|
||||
ABILITY_SLOT2 = 0x20
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Constructor
|
||||
public PartyPokemon(bool hasItems = false, bool hasMoves = false) {
|
||||
UpdateItemsAndMoves(hasItems, hasMoves);
|
||||
public PartyPokemon(bool chooseItems = false, bool chooseMoves = false) {
|
||||
UpdateItemsAndMoves(chooseItems, chooseMoves);
|
||||
}
|
||||
|
||||
public PartyPokemon(ushort difficulty, ushort Level, ushort pokeNum, ushort ballSealConfig, ushort? heldItem = null, ushort[] moves = null) {
|
||||
public PartyPokemon(byte difficulty, GenderAndAbilityFlags genderAndAbilityFlags, ushort Level, ushort pokeNum, ushort ballSealConfig, ushort? heldItem = null, ushort[] moves = null) {
|
||||
pokeID = pokeNum;
|
||||
level = Level;
|
||||
this.difficulty = difficulty;
|
||||
this.genderAndAbilityFlags = genderAndAbilityFlags;
|
||||
ballSeals = ballSealConfig;
|
||||
this.heldItem = heldItem;
|
||||
this.moves = moves;
|
||||
}
|
||||
public PartyPokemon(ushort difficulty, ushort Level, ushort pokeNum, ushort? heldItem = null, ushort[] moves = null)
|
||||
{
|
||||
// Simply adding a new constructor for Diamond and Pearl since they dont have ball seal config
|
||||
pokeID = pokeNum;
|
||||
level = Level;
|
||||
this.difficulty = difficulty;
|
||||
this.heldItem = heldItem;
|
||||
this.moves = moves;
|
||||
}
|
||||
public PartyPokemon(ushort difficulty, ushort Level, ushort pokeNum, ushort formNum, ushort ballSealConfig, ushort? heldItem = null, ushort[] moves = null) :
|
||||
this(difficulty, Level, pokeNum, ballSealConfig, heldItem, moves) {
|
||||
public PartyPokemon(byte difficulty, GenderAndAbilityFlags genderAndAbilityFlags, ushort Level, ushort pokeNum, ushort formNum, ushort ballSealConfig, ushort? heldItem = null, ushort[] moves = null) :
|
||||
this(difficulty, genderAndAbilityFlags, Level, pokeNum, ballSealConfig, heldItem, moves) {
|
||||
|
||||
formID = formNum;
|
||||
}
|
||||
@@ -53,6 +57,7 @@ namespace DSPRE.ROMFiles {
|
||||
MemoryStream newData = new MemoryStream();
|
||||
using (BinaryWriter writer = new BinaryWriter(newData)) {
|
||||
writer.Write(difficulty);
|
||||
writer.Write((byte)genderAndAbilityFlags);
|
||||
writer.Write(level);
|
||||
writer.Write(pokeID ?? 0);
|
||||
|
||||
@@ -65,16 +70,15 @@ namespace DSPRE.ROMFiles {
|
||||
writer.Write(move);
|
||||
}
|
||||
}
|
||||
if(RomInfo.gameFamily == RomInfo.gFamEnum.HGSS || RomInfo.gameFamily == RomInfo.gFamEnum.Plat)
|
||||
writer.Write(ballSeals); // Diamond and Pearl apparently dont save ball capsule data in enemy trainer pokedata!!!
|
||||
writer.Write(ballSeals);
|
||||
}
|
||||
return newData.ToArray();
|
||||
}
|
||||
public void UpdateItemsAndMoves(bool hasItems = false, bool hasMoves = false) {
|
||||
if (hasItems) {
|
||||
public void UpdateItemsAndMoves(bool chooseItems = false, bool chooseMoves = false) {
|
||||
if (chooseItems) {
|
||||
this.heldItem = 0;
|
||||
}
|
||||
if (hasMoves) {
|
||||
if (chooseMoves) {
|
||||
this.moves = new ushort[4];
|
||||
}
|
||||
}
|
||||
@@ -118,8 +122,8 @@ namespace DSPRE.ROMFiles {
|
||||
trainerID = ID;
|
||||
using (BinaryReader reader = new BinaryReader(trainerPropertiesStream)) {
|
||||
byte flags = reader.ReadByte();
|
||||
chooseMoves = ((flags >> 0) & 1) != 0;
|
||||
chooseItems = ((flags >> 1) & 1) != 0;
|
||||
chooseMoves = (flags & 1) != 0;
|
||||
chooseItems = (flags & 2) != 0;
|
||||
|
||||
trainerClass = reader.ReadByte();
|
||||
trDataUnknown = reader.ReadByte();
|
||||
@@ -201,19 +205,20 @@ namespace DSPRE.ROMFiles {
|
||||
trp.partyCount = (byte)((flags & 28) >> 2);
|
||||
}
|
||||
|
||||
int divisor = 8;
|
||||
int dividend = 8;
|
||||
|
||||
if (trp.chooseMoves) {
|
||||
divisor += Party.MOVES_PER_POKE * sizeof(ushort);
|
||||
dividend += Party.MOVES_PER_POKE * sizeof(ushort);
|
||||
}
|
||||
if (trp.chooseItems) {
|
||||
divisor += sizeof(ushort);
|
||||
dividend += sizeof(ushort);
|
||||
}
|
||||
|
||||
int endval = Math.Min((int)(partyData.Length - 1 / divisor), trp.partyCount);
|
||||
int endval = Math.Min((int)(partyData.Length - 1 / dividend), trp.partyCount);
|
||||
this.content = new PartyPokemon[maxPoke];
|
||||
for (int i = 0; i < endval; i++) {
|
||||
ushort unknown1 = reader.ReadUInt16();
|
||||
byte difficulty = reader.ReadByte();
|
||||
GenderAndAbilityFlags genderAndAbilityFlags = (GenderAndAbilityFlags)reader.ReadByte();
|
||||
ushort level = reader.ReadUInt16();
|
||||
|
||||
ushort monFull = reader.ReadUInt16();
|
||||
@@ -234,11 +239,7 @@ namespace DSPRE.ROMFiles {
|
||||
}
|
||||
}
|
||||
|
||||
if (RomInfo.gameFamily == RomInfo.gFamEnum.HGSS || RomInfo.gameFamily == RomInfo.gFamEnum.Plat) {
|
||||
content[i] = new PartyPokemon(unknown1, level, pokemon, form_no, reader.ReadUInt16(), heldItem, moves);
|
||||
} else {
|
||||
content[i] = new PartyPokemon(unknown1, level, pokemon, form_no, heldItem, moves); // Diamond and Pearl apparently dont save ball capsule data in enemy trainer pokedata!!!
|
||||
}
|
||||
content[i] = new PartyPokemon(difficulty, genderAndAbilityFlags, level, pokemon, form_no, reader.ReadUInt16(), heldItem, moves);
|
||||
}
|
||||
for (int i = endval; i < maxPoke; i++) {
|
||||
content[i] = new PartyPokemon();
|
||||
@@ -262,7 +263,12 @@ namespace DSPRE.ROMFiles {
|
||||
return "Empty";
|
||||
} else {
|
||||
string buffer = "";
|
||||
byte nonEmptyCtr = CountNonEmptyMons();
|
||||
byte nonEmptyCtr = 0;
|
||||
foreach(PartyPokemon p in this.content) {
|
||||
if (!p.CheckEmpty()) {
|
||||
nonEmptyCtr++;
|
||||
}
|
||||
}
|
||||
buffer += nonEmptyCtr + " Poke ";
|
||||
if (this.trp.chooseMoves) {
|
||||
buffer += ", moves ";
|
||||
@@ -273,18 +279,6 @@ namespace DSPRE.ROMFiles {
|
||||
return buffer;
|
||||
}
|
||||
}
|
||||
|
||||
public byte CountNonEmptyMons() {
|
||||
byte nonEmptyCtr = 0;
|
||||
foreach (PartyPokemon p in this.content) {
|
||||
if (!p.CheckEmpty()) {
|
||||
nonEmptyCtr++;
|
||||
}
|
||||
}
|
||||
|
||||
return nonEmptyCtr;
|
||||
}
|
||||
|
||||
public override byte[] ToByteArray() {
|
||||
MemoryStream newData = new MemoryStream();
|
||||
using (BinaryWriter writer = new BinaryWriter(newData)) {
|
||||
@@ -308,7 +302,6 @@ namespace DSPRE.ROMFiles {
|
||||
public class TrainerFile : RomFile {
|
||||
public const int POKE_IN_PARTY = 6;
|
||||
public static readonly string NAME_NOT_FOUND = "NAME READ ERROR";
|
||||
public static int maxNameLen = 7;
|
||||
|
||||
#region Fields
|
||||
public string name;
|
||||
@@ -335,6 +328,7 @@ namespace DSPRE.ROMFiles {
|
||||
MemoryStream newData = new MemoryStream();
|
||||
using (BinaryWriter writer = new BinaryWriter(newData)) {
|
||||
writer.Write(name);
|
||||
|
||||
byte[] trDat = trp.ToByteArray();
|
||||
writer.Write((byte)trDat.Length);
|
||||
writer.Write(trDat);
|
||||
@@ -348,8 +342,7 @@ namespace DSPRE.ROMFiles {
|
||||
|
||||
public void SaveToFileExplorePath(string suggestedFileName, bool showSuccessMessage = true) {
|
||||
SaveToFileExplorePath("Gen IV Trainer File", "trf", suggestedFileName, showSuccessMessage);
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
@@ -56,6 +56,7 @@ namespace DSPRE {
|
||||
public static uint monIconPalTableAddress { get; private set; }
|
||||
|
||||
public static int nullEncounterID { get; private set; }
|
||||
public static int abilityNamesTextNumber { get; private set; }
|
||||
public static int attackNamesTextNumber { get; private set; }
|
||||
public static int[] pokemonNamesTextNumbers { get; private set; }
|
||||
public static int itemNamesTextNumber { get; private set; }
|
||||
@@ -109,6 +110,8 @@ namespace DSPRE {
|
||||
German
|
||||
}
|
||||
public enum DirNames : byte {
|
||||
speciesData,
|
||||
|
||||
synthOverlay,
|
||||
dynamicHeaders,
|
||||
|
||||
@@ -169,6 +172,7 @@ namespace DSPRE {
|
||||
SetHeaderTableOffset();
|
||||
SetNullEncounterID();
|
||||
|
||||
SetAbilityNamesTextNumber();
|
||||
SetAttackNamesTextNumber();
|
||||
SetPokemonNamesTextNumber();
|
||||
SetItemNamesTextNumber();
|
||||
@@ -759,6 +763,25 @@ namespace DSPRE {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetAbilityNamesTextNumber()
|
||||
{
|
||||
switch (gameFamily)
|
||||
{
|
||||
case gFamEnum.DP:
|
||||
abilityNamesTextNumber = 552;
|
||||
break;
|
||||
case gFamEnum.Plat:
|
||||
abilityNamesTextNumber = 610;
|
||||
break;
|
||||
case gFamEnum.HGSS:
|
||||
abilityNamesTextNumber = 720;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetAttackNamesTextNumber() {
|
||||
switch (gameFamily) {
|
||||
case gFamEnum.DP:
|
||||
@@ -862,6 +885,7 @@ namespace DSPRE {
|
||||
return itemNames.messages.GetRange(startIndex, count == null ? itemNames.messages.Count-1 : (int)count).ToArray();
|
||||
}
|
||||
public static string[] GetPokemonNames() => new TextArchive(pokemonNamesTextNumbers[0]).messages.ToArray();
|
||||
public static string[] GetAbilityNames() => new TextArchive(abilityNamesTextNumber).messages.ToArray();
|
||||
public static string[] GetAttackNames() => new TextArchive(attackNamesTextNumber).messages.ToArray();
|
||||
public int GetAreaDataCount() => Directory.GetFiles(gameDirs[DirNames.areaData].unpackedDir).Length;
|
||||
public int GetMapTexturesCount() => Directory.GetFiles(gameDirs[DirNames.mapTextures].unpackedDir).Length;
|
||||
@@ -948,6 +972,7 @@ namespace DSPRE {
|
||||
suffix = "_release";
|
||||
|
||||
packedDirsDict = new Dictionary<DirNames, string>() {
|
||||
[DirNames.speciesData] = @"data\poketool\personal\personal.narc",
|
||||
[DirNames.synthOverlay] = @"data\data\weather_sys.narc",
|
||||
[DirNames.textArchives] = @"data\msgdata\msg.narc",
|
||||
|
||||
@@ -976,6 +1001,7 @@ namespace DSPRE {
|
||||
break;
|
||||
case gFamEnum.Plat:
|
||||
packedDirsDict = new Dictionary<DirNames, string>() {
|
||||
[DirNames.speciesData] = @"data\poketool\personal\pl_personal.narc",
|
||||
[DirNames.synthOverlay] = @"data\data\weather_sys.narc",
|
||||
[DirNames.dynamicHeaders] = @"data\debug\cb_edit\d_test.narc",
|
||||
|
||||
@@ -1006,6 +1032,7 @@ namespace DSPRE {
|
||||
break;
|
||||
case gFamEnum.HGSS:
|
||||
packedDirsDict = new Dictionary<DirNames, string>() {
|
||||
[DirNames.speciesData] = @"data\a\0\0\2",
|
||||
[DirNames.synthOverlay] = @"data\a\0\2\8",
|
||||
[DirNames.dynamicHeaders] = @"data\a\0\5\0",
|
||||
|
||||
|
||||
Reference in New Issue
Block a user