Improved Item Editing [Event editor]

Standardize Items patch is no longer necessary to edit existing Ground items. [it is still necessary to set up items that aren't obtainable by default tho]
This commit is contained in:
AdAstra-LD
2021-08-09 19:31:15 +02:00
parent 7422dad225
commit a3a2a6c3ed
5 changed files with 149 additions and 88 deletions

View File

@@ -394,6 +394,7 @@
this.owYMapUpDown = new System.Windows.Forms.NumericUpDown();
this.label10 = new System.Windows.Forms.Label();
this.owSpecialGroupBox = new System.Windows.Forms.GroupBox();
this.itemsSelectorHelpBtn = new System.Windows.Forms.Button();
this.owPartnerTrainerCheckBox = new System.Windows.Forms.CheckBox();
this.owItemComboBox = new System.Windows.Forms.ComboBox();
this.owItemLabel = new System.Windows.Forms.Label();
@@ -5193,7 +5194,6 @@
// isItemRadioButton
//
this.isItemRadioButton.AutoSize = true;
this.isItemRadioButton.Enabled = false;
this.isItemRadioButton.Location = new System.Drawing.Point(115, 19);
this.isItemRadioButton.Name = "isItemRadioButton";
this.isItemRadioButton.Size = new System.Drawing.Size(45, 17);
@@ -5483,6 +5483,7 @@
//
// owSpecialGroupBox
//
this.owSpecialGroupBox.Controls.Add(this.itemsSelectorHelpBtn);
this.owSpecialGroupBox.Controls.Add(this.owPartnerTrainerCheckBox);
this.owSpecialGroupBox.Controls.Add(this.owItemComboBox);
this.owSpecialGroupBox.Controls.Add(this.owItemLabel);
@@ -5498,6 +5499,16 @@
this.owSpecialGroupBox.TabStop = false;
this.owSpecialGroupBox.Text = "Special Settings";
//
// itemsSelectorHelpBtn
//
this.itemsSelectorHelpBtn.Image = ((System.Drawing.Image)(resources.GetObject("itemsSelectorHelpBtn.Image")));
this.itemsSelectorHelpBtn.Location = new System.Drawing.Point(194, 67);
this.itemsSelectorHelpBtn.Name = "itemsSelectorHelpBtn";
this.itemsSelectorHelpBtn.Size = new System.Drawing.Size(28, 29);
this.itemsSelectorHelpBtn.TabIndex = 45;
this.itemsSelectorHelpBtn.UseVisualStyleBackColor = true;
this.itemsSelectorHelpBtn.Click += new System.EventHandler(this.itemsSelectorHelpBtn_Click);
//
// owPartnerTrainerCheckBox
//
this.owPartnerTrainerCheckBox.AutoSize = true;
@@ -5512,11 +5523,10 @@
// owItemComboBox
//
this.owItemComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.owItemComboBox.Enabled = false;
this.owItemComboBox.FormattingEnabled = true;
this.owItemComboBox.Location = new System.Drawing.Point(57, 72);
this.owItemComboBox.Location = new System.Drawing.Point(49, 72);
this.owItemComboBox.Name = "owItemComboBox";
this.owItemComboBox.Size = new System.Drawing.Size(165, 21);
this.owItemComboBox.Size = new System.Drawing.Size(142, 21);
this.owItemComboBox.TabIndex = 6;
this.owItemComboBox.SelectedIndexChanged += new System.EventHandler(this.owItemComboBox_SelectedIndexChanged);
//
@@ -5535,9 +5545,9 @@
this.owTrainerComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.owTrainerComboBox.Enabled = false;
this.owTrainerComboBox.FormattingEnabled = true;
this.owTrainerComboBox.Location = new System.Drawing.Point(57, 19);
this.owTrainerComboBox.Location = new System.Drawing.Point(49, 19);
this.owTrainerComboBox.Name = "owTrainerComboBox";
this.owTrainerComboBox.Size = new System.Drawing.Size(165, 21);
this.owTrainerComboBox.Size = new System.Drawing.Size(173, 21);
this.owTrainerComboBox.TabIndex = 4;
this.owTrainerComboBox.SelectedIndexChanged += new System.EventHandler(this.owTrainerComboBox_SelectedIndexChanged);
//
@@ -6586,11 +6596,11 @@
//
// scriptTabPage
//
this.scriptTabPage.Controls.Add(this.scriptEditorWhitespacesCheckbox);
this.scriptTabPage.Controls.Add(this.scriptEditorWordWrapCheckbox);
this.scriptTabPage.Controls.Add(this.compressScriptTextButton);
this.scriptTabPage.Controls.Add(this.expandScriptTextButton);
this.scriptTabPage.Controls.Add(this.findScriptTextButton);
this.scriptTabPage.Controls.Add(this.scriptEditorWhitespacesCheckbox);
this.scriptTabPage.Controls.Add(this.scriptEditorWordWrapCheckbox);
this.scriptTabPage.Controls.Add(this.groupBox24);
this.scriptTabPage.Controls.Add(this.clearCurrentLevelScriptButton);
this.scriptTabPage.Controls.Add(this.groupBox8);
@@ -6650,7 +6660,7 @@
//
this.scriptEditorWhitespacesCheckbox.Appearance = System.Windows.Forms.Appearance.Button;
this.scriptEditorWhitespacesCheckbox.AutoSize = true;
this.scriptEditorWhitespacesCheckbox.Location = new System.Drawing.Point(746, 11);
this.scriptEditorWhitespacesCheckbox.Location = new System.Drawing.Point(978, 10);
this.scriptEditorWhitespacesCheckbox.Name = "scriptEditorWhitespacesCheckbox";
this.scriptEditorWhitespacesCheckbox.Size = new System.Drawing.Size(79, 23);
this.scriptEditorWhitespacesCheckbox.TabIndex = 46;
@@ -6665,7 +6675,7 @@
this.scriptEditorWordWrapCheckbox.AutoSize = true;
this.scriptEditorWordWrapCheckbox.Checked = true;
this.scriptEditorWordWrapCheckbox.CheckState = System.Windows.Forms.CheckState.Checked;
this.scriptEditorWordWrapCheckbox.Location = new System.Drawing.Point(672, 11);
this.scriptEditorWordWrapCheckbox.Location = new System.Drawing.Point(904, 10);
this.scriptEditorWordWrapCheckbox.Name = "scriptEditorWordWrapCheckbox";
this.scriptEditorWordWrapCheckbox.Size = new System.Drawing.Size(72, 23);
this.scriptEditorWordWrapCheckbox.TabIndex = 43;
@@ -6969,6 +6979,7 @@
//
this.scriptsTabPage.Controls.Add(this.PanelSearchScripts);
this.scriptsTabPage.Controls.Add(this.scintillaScriptsPanel);
this.scriptsTabPage.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.scriptsTabPage.Location = new System.Drawing.Point(4, 22);
this.scriptsTabPage.Name = "scriptsTabPage";
this.scriptsTabPage.Padding = new System.Windows.Forms.Padding(3);
@@ -7064,6 +7075,7 @@
//
this.functionTabPage.Controls.Add(this.PanelSearchFunctions);
this.functionTabPage.Controls.Add(this.scintillaFunctionsPanel);
this.functionTabPage.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.functionTabPage.Location = new System.Drawing.Point(4, 22);
this.functionTabPage.Name = "functionTabPage";
this.functionTabPage.Padding = new System.Windows.Forms.Padding(3);
@@ -7159,6 +7171,7 @@
//
this.movementTabPage.Controls.Add(this.PanelSearchActions);
this.movementTabPage.Controls.Add(this.scintillaActionsPanel);
this.movementTabPage.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.movementTabPage.Location = new System.Drawing.Point(4, 22);
this.movementTabPage.Name = "movementTabPage";
this.movementTabPage.Padding = new System.Windows.Forms.Padding(3);
@@ -9384,7 +9397,7 @@
// HOWpbEffectsTableButton
//
this.HOWpbEffectsTableButton.Image = ((System.Drawing.Image)(resources.GetObject("HOWpbEffectsTableButton.Image")));
this.HOWpbEffectsTableButton.Location = new System.Drawing.Point(146, 396);
this.HOWpbEffectsTableButton.Location = new System.Drawing.Point(146, 399);
this.HOWpbEffectsTableButton.Name = "HOWpbEffectsTableButton";
this.HOWpbEffectsTableButton.Size = new System.Drawing.Size(28, 29);
this.HOWpbEffectsTableButton.TabIndex = 44;
@@ -9404,7 +9417,7 @@
//
this.saveEffectCombosTableBTN.Image = ((System.Drawing.Image)(resources.GetObject("saveEffectCombosTableBTN.Image")));
this.saveEffectCombosTableBTN.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.saveEffectCombosTableBTN.Location = new System.Drawing.Point(175, 392);
this.saveEffectCombosTableBTN.Location = new System.Drawing.Point(175, 395);
this.saveEffectCombosTableBTN.Name = "saveEffectCombosTableBTN";
this.saveEffectCombosTableBTN.Size = new System.Drawing.Size(78, 37);
this.saveEffectCombosTableBTN.TabIndex = 43;
@@ -9434,7 +9447,7 @@
this.groupBox30.Controls.Add(this.label70);
this.groupBox30.Controls.Add(this.pbEffectsTrainerCombobox);
this.groupBox30.Controls.Add(this.pbEffectsVsTrainerListbox);
this.groupBox30.Location = new System.Drawing.Point(257, 14);
this.groupBox30.Location = new System.Drawing.Point(259, 14);
this.groupBox30.Name = "groupBox30";
this.groupBox30.Size = new System.Drawing.Size(481, 250);
this.groupBox30.TabIndex = 34;
@@ -9546,7 +9559,7 @@
this.groupBox29.Controls.Add(this.label71);
this.groupBox29.Controls.Add(this.pbEffectsPokemonCombobox);
this.groupBox29.Controls.Add(this.pbEffectsVsPokemonListbox);
this.groupBox29.Location = new System.Drawing.Point(257, 265);
this.groupBox29.Location = new System.Drawing.Point(259, 265);
this.groupBox29.Name = "groupBox29";
this.groupBox29.Size = new System.Drawing.Size(481, 174);
this.groupBox29.TabIndex = 33;
@@ -9704,7 +9717,7 @@
// HOWconditionalMusicTableButton
//
this.HOWconditionalMusicTableButton.Image = ((System.Drawing.Image)(resources.GetObject("HOWconditionalMusicTableButton.Image")));
this.HOWconditionalMusicTableButton.Location = new System.Drawing.Point(353, 93);
this.HOWconditionalMusicTableButton.Location = new System.Drawing.Point(263, 146);
this.HOWconditionalMusicTableButton.Name = "HOWconditionalMusicTableButton";
this.HOWconditionalMusicTableButton.Size = new System.Drawing.Size(28, 29);
this.HOWconditionalMusicTableButton.TabIndex = 9;
@@ -9727,7 +9740,7 @@
// label65
//
this.label65.AutoSize = true;
this.label65.Location = new System.Drawing.Point(264, 83);
this.label65.Location = new System.Drawing.Point(297, 83);
this.label65.Name = "label65";
this.label65.Size = new System.Drawing.Size(49, 13);
this.label65.TabIndex = 7;
@@ -9735,7 +9748,7 @@
//
// musicIDconditionalMusicUpDown
//
this.musicIDconditionalMusicUpDown.Location = new System.Drawing.Point(267, 99);
this.musicIDconditionalMusicUpDown.Location = new System.Drawing.Point(300, 99);
this.musicIDconditionalMusicUpDown.Maximum = new decimal(new int[] {
32767,
0,
@@ -9759,7 +9772,7 @@
// label64
//
this.label64.AutoSize = true;
this.label64.Location = new System.Drawing.Point(175, 83);
this.label64.Location = new System.Drawing.Point(188, 83);
this.label64.Name = "label64";
this.label64.Size = new System.Drawing.Size(27, 13);
this.label64.TabIndex = 5;
@@ -9767,7 +9780,7 @@
//
// flagConditionalMusicUpDown
//
this.flagConditionalMusicUpDown.Location = new System.Drawing.Point(178, 99);
this.flagConditionalMusicUpDown.Location = new System.Drawing.Point(191, 99);
this.flagConditionalMusicUpDown.Maximum = new decimal(new int[] {
32767,
0,
@@ -11339,6 +11352,7 @@
private System.Windows.Forms.Button findScriptTextButton;
private System.Windows.Forms.Button compressScriptTextButton;
private System.Windows.Forms.Button expandScriptTextButton;
private System.Windows.Forms.Button itemsSelectorHelpBtn;
}
}

View File

@@ -196,7 +196,6 @@ namespace DSPRE {
toolStripProgressBar.Value++;
}
public void SetupScriptEditor() {
/* Extract essential NARCs sub-archives*/
statusLabel.Text = "Setting up Script Editor...";
@@ -287,9 +286,8 @@ namespace DSPRE {
private void romToolBoxToolStripMenuItem_Click(object sender, EventArgs e) {
using (ROMToolboxDialog window = new ROMToolboxDialog()) {
window.ShowDialog();
if (ROMToolboxDialog.flag_standardizedItems) {
isItemRadioButton.Enabled = true;
OWTypeChanged(null, null);
if (ROMToolboxDialog.flag_standardizedItems && eventEditorIsReady) {
UpdateItemComboBox(RomInfo.GetItemNames());
}
if (ROMToolboxDialog.flag_DynamicHeadersPatchApplied) {
addHeaderBTN.Enabled = true;
@@ -297,6 +295,17 @@ namespace DSPRE {
}
}
}
private void UpdateItemComboBox(string[] itemNames) {
if (itemComboboxIsUpToDate) {
return;
}
itemsSelectorHelpBtn.Visible = false;
owItemComboBox.Size = new Size(new Point(owItemComboBox.Size.Width + 30, owItemComboBox.Size.Height));
owItemComboBox.Items.Clear();
owItemComboBox.Items.AddRange(itemNames);
OWTypeChanged(null, null);
itemComboboxIsUpToDate = true;
}
private void scriptCommandsDatabaseToolStripButton_Click(object sender, EventArgs e) {
OpenCommandsDatabase(RomInfo.ScriptCommandNamesDict, RomInfo.ScriptCommandParametersDict);
}
@@ -704,7 +713,7 @@ namespace DSPRE {
SetupMapEditor();
SetupNSBTXEditor();
SetupTextEditor();
SetupScriptEditorTabs();
SetupScriptEditorTextAreas();
SetupScriptEditor();
SetupTrainerEditor();
@@ -766,7 +775,7 @@ namespace DSPRE {
}
} else if (mainTabControl.SelectedTab == scriptTabPage) {
if (!scriptEditorIsReady) {
SetupScriptEditorTabs();
SetupScriptEditorTextAreas();
SetupScriptEditor();
scriptEditorIsReady = true;
}
@@ -4147,6 +4156,7 @@ namespace DSPRE {
#region Event Editor
#region Variables
private bool itemComboboxIsUpToDate = false;
public static NSBMDGlRenderer eventMapRenderer = new NSBMDGlRenderer();
public static NSBMDGlRenderer eventBuildingsRenderer = new NSBMDGlRenderer();
public static MapFile eventMapFile;
@@ -4163,6 +4173,12 @@ namespace DSPRE {
#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" +
"Unlike in previous DSPRE versions, you can now change the Ground Item to be obtained even if you decided not to apply the Standardize Items patch from the Rom ToolBox.\n\n" +
"However, some items are unavailable by default. The aforementioned patch can neutralize this limitation.\n\n" +
"(Please note that it will scramble every existing Ground Item!)", "About Ground Items", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void CenterEventViewOnEntities() {
disableHandlers = true;
try {
@@ -4611,7 +4627,8 @@ namespace DSPRE {
DirNames.trainerProperties,
DirNames.OWSprites,
DirNames.scripts, });
DirNames.scripts,
});
RomInfo.SetOWtable();
RomInfo.Set3DOverworldsDict();
@@ -4671,8 +4688,21 @@ namespace DSPRE {
owTrainerComboBox.Items.AddRange(trainerNames);
/* Add item list to ow item box */
owItemComboBox.Items.Clear();
owItemComboBox.Items.AddRange(RomInfo.GetItemNames(0, new TextArchive(RomInfo.itemNamesTextNumber).messages.Count - 1));
string[] itemNames = RomInfo.GetItemNames();
if (ROMToolboxDialog.CheckScriptsStandardizedItemNumbers()) {
UpdateItemComboBox(itemNames);
} else {
ScriptFile itemScript = new ScriptFile(RomInfo.itemScriptFileNumber);
owItemComboBox.Items.Clear();
foreach (CommandContainer cont in itemScript.allScripts) {
if (cont.commands.Count > 4) {
continue;
}
owItemComboBox.Items.Add(BitConverter.ToUInt16(cont.commands[1].cmdParams[1], 0) + "x " + itemNames[BitConverter.ToUInt16(cont.commands[0].cmdParams[1], 0)]);
}
}
/* Add ow movement list to box */
owMovementComboBox.Items.Clear();
@@ -4682,10 +4712,6 @@ namespace DSPRE {
spawnableDirComboBox.Items.AddRange(PokeDatabase.EventEditor.Spawnables.orientationsArray);
spawnableTypeComboBox.Items.AddRange(PokeDatabase.EventEditor.Spawnables.typesArray);
if (ROMToolboxDialog.CheckScriptsStandardizedItemNumbers()) {
isItemRadioButton.Enabled = true;
}
disableHandlers = false;
/* Draw matrix 0 in matrix navigator */
@@ -5089,8 +5115,9 @@ namespace DSPRE {
overworldsListBox.SelectedIndex = currentEvFile.overworlds.Count - 1;
}
private void OWTypeChanged(object sender, EventArgs e) {
if (overworldsListBox.SelectedIndex < 0)
if (overworldsListBox.SelectedIndex < 0) {
return;
}
if (normalRadioButton.Checked == true) {
owScriptNumericUpDown.Enabled = true;
@@ -5138,8 +5165,9 @@ namespace DSPRE {
return;
}
currentEvFile.overworlds[overworldsListBox.SelectedIndex].type = 0x1;
if (owTrainerComboBox.SelectedIndex >= 0)
if (owTrainerComboBox.SelectedIndex >= 0) {
owTrainerComboBox_SelectedIndexChanged(null, null);
}
}
}
private void owItemComboBox_SelectedIndexChanged(object sender, EventArgs e) {
@@ -5639,11 +5667,15 @@ namespace DSPRE {
currentScintillaEditor = ActionTextArea;
}
}
private void SetupScriptEditorTabs() {
private void SetupScriptEditorTextAreas() {
//PREPARE SCRIPT EDITOR KEYWORDS
cmdKeyWords = String.Join(" ", ScriptCommandNamesDict.Values);
cmdKeyWords += " " + String.Join(" ", PokeDatabase.ScriptEditor.movementsDictIDName.Values);
comparisonOperatorsKeyWords = String.Join(" ", PokeDatabase.ScriptEditor.comparisonOperatorsDict.Values);
string scriptCmds = String.Join(" ", ScriptCommandNamesDict.Values);
cmdKeyWords = scriptCmds + " " + scriptCmds.ToLower() + " " + scriptCmds.ToUpper();
string actionCmds = String.Join(" ", ScriptDatabase.movementsDictIDName.Values);
cmdKeyWords += " " + actionCmds + " " + actionCmds.ToLower() + " " + actionCmds.ToUpper();
comparisonOperatorsKeyWords = String.Join(" ", RomInfo.ScriptComparisonOperatorsDict.Values);
// CREATE CONTROLS
ScriptTextArea = new ScintillaNET.Scintilla();
@@ -6129,7 +6161,7 @@ namespace DSPRE {
}
private void openScriptButton_Click(object sender, EventArgs e) {
if (!scriptEditorIsReady) {
SetupScriptEditorTabs();
SetupScriptEditorTextAreas();
SetupScriptEditor();
scriptEditorIsReady = true;
}
@@ -6140,7 +6172,7 @@ namespace DSPRE {
}
private void openLevelScriptButton_Click(object sender, EventArgs e) {
if (!scriptEditorIsReady) {
SetupScriptEditorTabs();
SetupScriptEditorTextAreas();
SetupScriptEditor();
scriptEditorIsReady = true;
}
@@ -6297,7 +6329,7 @@ namespace DSPRE {
/* If current script is identical to another, print UseScript instead of commands */
if (currentScript.useScript < 0) {
for (int j = 0; j < currentScript.commands.Count; j++) {
if (!PokeDatabase.ScriptEditor.endCodes.Contains(currentScript.commands[j].id)) {
if (!ScriptDatabase.endCodes.Contains(currentScript.commands[j].id)) {
buffer += '\t';
}
buffer += currentScript.commands[j].name + Environment.NewLine;
@@ -6323,7 +6355,7 @@ namespace DSPRE {
/* If current function is identical to a script, print UseScript instead of commands */
if (currentFunction.useScript < 0) {
for (int j = 0; j < currentFunction.commands.Count; j++) {
if (!PokeDatabase.ScriptEditor.endCodes.Contains(currentFunction.commands[j].id)) {
if (!ScriptDatabase.endCodes.Contains(currentFunction.commands[j].id)) {
buffer += '\t';
}
buffer += currentFunction.commands[j].name + Environment.NewLine;

View File

@@ -1144,6 +1144,19 @@
V8k5bPmvmz2+/W8xtzXx6Aq5qNgajeLbnnPan7HV6ZcNOZex5UZhFmd27VVsddqTBk+c8ADxOo1/LOS0
L4MedHlNeHJorgaGuhsGWg9sLetUSVgbhLVaUNWhTAZZINC6npVcV8qkooKnUOkoZXIJNclU/fO0sz+Y
XDFYZS4mWQAAAABJRU5ErkJggg==
</value>
</data>
<data name="itemsSelectorHelpBtn.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAYxJREFUOE/NkztLA0EUhe/ERQwoSPwDqQQLC8FKrG0F/4CdKNoFLKwEKysLQdDa
0sJC8YFudiYIYhobGwstxAdisLEK7F7PLjf7TJYkIPjBYYe5Zw7zuEvt4BoVWat5dqgC7ca0w5pWPUdN
4KvEno+nC1Ns6AGhnCOPjTpwHasoy9rjOYVJmD9SizvLqCO+JkuWJ8HOBrCz29SiHxztDXoJZOgTc82E
x6hliUiC+5mGwY2MdOpVVQnj8K4wtjytZvFtxHx1fAtiiWCbFkKTf0cOjUspA0K2Q6+hd76gQSlFIHAJ
xWYgjaOe06iUMsCzFQtsIHBIShF8QhZCRgKd0TAfSiEFWqaMkOcwUFNNSr3BVSpj8V6wo1YYhM5YEUv3
uNryH+I7HhTIqDu2VX4vpnFtq4RdfaXC/Ma+wu7GxNY9aJONRJghg6A5jLv79dLg3i5jYTdop2yL9AIC
X2OB+zLdP3jdOkKfAtlUkel/BI56DN2LFmW6fxDyCLVeeV2m++cvAtegTdGMTHeA6BdzLXdUY5VUpwAA
AABJRU5ErkJggg==
</value>
</data>
<data name="duplicateOverworldsButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -1945,7 +1958,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACM
EgAAAk1TRnQBSQFMAgEBCgEAAQQBFwEEARcBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
EgAAAk1TRnQBSQFMAgEBCgEAASwBFwEsARcBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -2123,40 +2136,40 @@
<data name="unpackAllButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL4SURBVFhH7ZfLTxNRFMb7FxGje9gY3bhx4wJNrNSNNpS4
gjbVRojyEEWNAaoLTMS4kLaxiBhUUtBiogtLWx5tSLQFYitSjEIqpb3Xe27nwMz09k6pYELil/zSx5y5
3zfnzpyC6aCrTnndfyWHmmvDAw6ifERRRr741mSa9Tvzy35nTvm4N0qNXBmPPHSQpM9BgfCAHUPAKwQA
3oA51vA6j7UARVUr4rMW1AsiCa8dTTVYamtKagEIn37hamE1xvoe6rXBFYoWQhI+O2dp2Lltjt9BONE5
AASZY13iRnoteC6vq9tsBIT8/KRpi50KAchuzgXCnos725MZv1YnKhIBRrGx1kLc4yIrgevbHSiE+mhm
opOwDuQqDRP2VhgCFox4rYXYkIukX7dRRB8AWQ20k/RY6wY8MaL1AI05Sh8CFlh6btucf6o1NgqAZCY6
SOpDW17fEaE5CkIU23yVt1lkjBgFUJMJdJDFR47fUnPQToDiPouMkd0EWOUB7CyAZDaItmB5pGkz9hdb
wOpKbkphiEpuQn1HUoy1qVs0rzNeGW8niWHnT9k80YSQmeuBrsRfufL4RPxgAdRXnPC0sCuWDzJEE6Kq
QTTYuPVl1EVSH+9uVWqKRL128USEUSw6oRzf3nWTpGT8amB1M88a5U8BKBvqp4BsrgPZ6X66ErxJZt3n
+OKiGg47tjBoo1CnWMiVnXazxRVYENGiYA7HMYAwBFxxf/EYoljIpQmAsCCZyRsac0AdAOAhuLFZY4wo
FnJpjA3QBzBCsZBLZFSO/wE0AdgNN3+/gdYcrefv1caIYiGXyKgcGGC0x0IPH6vnRPvMnBOnztAjx1mY
fxHA391AZ5gpdOAQ6wAY32k+XdIJxcJYa596sqnJLiIyVaMOgB3gj6DOONh70ngCipSLui99DXSWDYIB
Xt628A6oTd93mUnswVn4w3VvlH7rLpQLoCbYYSbJxxf271+2X3O967g96gBT1ba5WuUWR23waxi/d35T
+eogymT6A4wmZf9mTlVvAAAAAElFTkSuQmCC
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALzSURBVFhH7ZfLbxJBHMf5ixqj9/Zi9NKzh2oiFiWVA4mn
FoJupEVNNFaNodAeTHwfBCK1oqUP7MGDBqRx8dnE8GogmtZoDfLYWec37LSzyzBLsTVp4i/5BJadne9n
f7s7gGWvV5/2uvuVezTcm5x0I22TloppNN9aLHLU0yhGPTVtc2eqNHNuITXlRrmIWwWSky4qAa8gAMxD
OB1DxoXsCgzqulIRu8JOSMmGXTRUh623p2UsAPLlp9IIHmNe39J+J5whbyJKNuIiFKY9m+H0M5DjHQOA
CHSJBBlrJXR2g22zGSD55bajjg8FAbSdY4Fk6NTW5Vlb8PXxBvEgZzHrVTIPJfQ1cWGzA0p6Qi3PjSHc
gVqnMslwhxIwYSpsV+QHEirPjeKgJkYBSinuReVZ7y94YnjzAbpwWkYJmKDwxFF9e18fbCZAwWNQ/pXU
MHaEG04LJJptPk/abAxlMRNgKcexzB33b2E41JZA8zrzginbESgRARcWEKwNvEtQnHFU5b+4BMWY1HJT
ciU6uQmNHSlh1l9eVRuG4NXnXpSd9vwQrSc6CVG4EehKJi416BPxHQuwZ5wNjeAzFi9kFJ1EVwvRraH6
56iE8q9v1DsNpchhF39FhKWYd0A7iosXUU6w/OrA49KPh8RPAVQlHVAB0boOVJYD6mriEnoXPEEm540h
4H0rd50qjNMixFVZDuLJNbAIb1IIh/1UgCuBtzOB5j6KFiEunQAFi6wtXdaFA6wAQCRIsFUXTNEixKUL
NsEoYIYWIS5eUDv+C+gE8A33YXJQ7Tk4QN6zwRQtQly8oHZQgdi4Td1/aIAgT1gJ/UeOqQcOY5l/IRC9
MqhmcCh0YB/uAARfHz7a0gktwrzW34xX8vM+xAtlYQVoB8gjaAhO+PvNV0Be1eTgmVx8rK0IFXh2zUY6
wIYu+azo49Rx+OG6M1VYDCrtBFgSo1aUu3d69/6y/Xzv36CXhxV40W2bu61aPuaEb8NPN09WtY/2Ylks
fwBjRGILumZ6KQAAAABJRU5ErkJggg==
</value>
</data>
<data name="updateMapNarcsButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAM0SURBVFhH7ZRfSBRBHMfvsaeeeywoaBMijXwVLkk4ErEH
i83ovJP+LV5eRnpntmVXmV2Y/VHPJIOSHmKVpDKkQizrrfTUTPElLcz+2EOCad1O+5ubWXf35ub0tCDo
Bx922Pnz/ezM3diSKaFcRELAjUltKtEh3X+uthRnR4PjCABpZw8sr0h6ea4eJpSQYI5AakDSn2mNRUuX
0cOBRQrAkyyz+OpvkyJjbf75cCAJgf6bfnXyoVxGluXXl946T7jZp0IwRQ8HkhCg64DIUPvxXyTKXKNK
xTQMMAZT9HBgCQJGwsqhCIm22aaenslgDaLo4YBBYK0nD60RHSjH5UDrfXsWJQCEWxcowRKA4EyNK+dc
GGjDu4UKmMJpWSXCzX71/X3PrFFg3f4dOOhIgQN13KlATUEJc7J4F6o8lov7BG++ScB6tMxwWiABE4Y7
T0VGFFmdfHwapRzdiReeeKXEoNwow7D6YE5KoBBFeuvRVFeVOn7L/4MbDjUvUKkLAMGAmBQQDnzVBKJf
L/G/3rRV2hF8eHB4dviurAqSHUnaF8nebCTaV2EcqSsw0JZL8lGFdx+mVHLhsUKhHeTnYo+AIcH7EcIC
G6SteNGqE3nImbUak5O+EgPt2svXUCDwBEmSEn1qY633iRGTBC/cCmxruWjHuB0CBtotShMOluVOLMGa
a8UkwbuIWFgF6JmzxrIYaPWxb0S4ilkTeIAA630MrT40eK+I/y+AmultQMA7bQJzIQOfey6qb0IFeHFW
P0brG73tQTCORPBrpi+EdDQR5qIa0E8FmBLwxQ3RPgqJ4JdJgKKJTHVfMIUDRgEAS+BgpymYQiL4ZQpO
gFUgESSCX6ygePwXMAloP7i3jS60MVPEbWMwhUTwixUUDyrQUeNGadtEzEC9E7M9Lx9tztJk/oZAe9CF
BrVQ2IFN2g5AcG3p7pidIBGJ69vrmpmP3dUqK9SIUYDuAP4LWoJ76nIT34CsmhsIeSe6zscVoQKPLrnx
DhhDX1Y71eHre3+SpZZek89CkXgCRnqqnOpYy8EMMm356/tQ3TQ9HqPAi2S3OdmaG+/wfHoeVEeuFs6S
V/9i2Wy/AfwkLK3qfTfGAAAAAElFTkSuQmCC
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMzSURBVFhH7ZRLTBNBGMd79OTZoyaauJIYwciVpBJJGgjR
A5oVY2kRkY0NFSO0iKuwCIkkiA+ghXhR1EshErUGRJB7sSbFV7jIQyUxeJAEQbvjfNOZZXc73UJBExO/
5Jed7jz+v53dji2TEupFJChuQnZvjQbt/nN1oLooEZxCAMi5Wrm5Irn1h7UwoYYGWwhkK5J2zQme3biM
Fg6sUwCudJn118RARXx6wL8aDmQgMNHjV+efynV0Wev6Gu30RII+FYIZWjiQgQBbB0Rigxd/0ShjTYUa
FmGAPpihhQMbENATCZ2K02ibbeFFcx5vEEMLB3QCOz0laIfoQMUuB9rtO7EuASDSv0YJngAE52NutrgI
0IZ7axUwhLMyS0SCfnX2cdWyXmDX6SMk6FyZA4UfNKDeNolwufoYarxwmPQJ3lKDgPnVcsNZgQT5WIau
xCcfyur88yaUdf4oWfjzRCiJ0J06Aq8P5mQp5Sge7ULzw03qzF3/D8twqFWBRk0AaFPEjIBw4AsWSDx9
hfXTG7YKv4K5J1XLsfuyKkh2JOEnkr1FSLRvIziytxCgLdeUogZvBaFWcpGxQrkdzYXlleRXwJGw+ghh
gT3SQbJo66US5CzYTijO3UqAdseN20hRRpAkhRJXPNZ8nugxSFiFm4FtrRftBLdDIEC7L9RLgmV5iEjw
5poxSFgdRDzMAuyd88byiPX7+CciHMW8CVaAAO9+Ev0+FH1Uaf0vgFqKdiPgI57AXUjHp7FW9U2gjCzO
6yfgvql7HgTjaIR1Lb0OIA0swl0UA/1MgCuBf092J/oYNMK6DAIMLLIwfs0QDugFACJBgp2GYAaNsC5D
cBrMAumgEdbFC0rFfwGDAP7g3gVdaG++SNr6YAaNsC5eUCqYQLjdjXIOiYRYl5NQWFKK9hdgmb8hMNjm
QpM4FHZgH94BCO6oPZ60EzQifX171b40M9Ks8kL16AXYDpC/oCl4rLMw/QnIq5VYwDs9rKQUYQLPrrvJ
DuhDx5ud6vuekz/pUhuv2dFAPJWAnrEmpzrddyaPTtv8+v62c5G9Hr3Ay0y3OdNamQl75kZb1A+3ypfp
rX+xbLbfycMqLiHfx2UAAAAASUVORK5CYII=
</value>
</data>
<data name="wildEditorButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -2345,7 +2358,7 @@
</value>
</data>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>26</value>
<value>34</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

View File

@@ -130,7 +130,9 @@ namespace DSPRE {
DisableOverlay1patch("Unsupported");
DisableMatrixExpansionPatch("Unsupported");
DisableScrcmdRepointPatch("Unsupported");
CheckBDHCamPatchApplied();
if (RomInfo.gameLanguage != gLangEnum.English && RomInfo.gameLanguage != gLangEnum.Spanish) {
CheckBDHCamPatchApplied();
}
CheckDynamicHeadersPatchApplied();
break;
case gFamEnum.HGSS:
@@ -139,9 +141,8 @@ namespace DSPRE {
overlay1CB.Visible = true;
}
CheckBDHCamPatchApplied();
if (RomInfo.gameLanguage == gLangEnum.English || RomInfo.gameLanguage == gLangEnum.Spanish) {
CheckBDHCamPatchApplied();
CheckMatrixExpansionApplied();
CheckScrcmdRepointPatchApplied();
} else {
@@ -307,8 +308,9 @@ namespace DSPRE {
public string backupSuffix = ".backup";
private bool CheckARM9ExpansionApplied() {
if (!ROMToolboxDialog.flag_arm9Expanded) {
if (!ROMToolboxDialog.CheckFilesArm9ExpansionApplied())
if (!ROMToolboxDialog.CheckFilesArm9ExpansionApplied()) {
return false;
}
}
ROMToolboxDialog.flag_arm9Expanded = true;
@@ -514,10 +516,11 @@ namespace DSPRE {
itemScript.allScripts.Clear();
for (ushort i = 0; i < itemCount; i++) {
List<ScriptCommand> cmdList = new List<ScriptCommand>();
cmdList.Add(new ScriptCommand("SetVar 0x8008 " + i));
cmdList.Add(new ScriptCommand("SetVar 0x8009 0x1"));
cmdList.Add(new ScriptCommand("Jump Function_#1"));
List<ScriptCommand> cmdList = new List<ScriptCommand> {
new ScriptCommand("SetVar 0x8008 " + i),
new ScriptCommand("SetVar 0x8009 0x1"),
new ScriptCommand("Jump Function_#1")
};
itemScript.allScripts.Add(new CommandContainer((ushort)(i + 1), ScriptFile.containerTypes.SCRIPT, commandList: cmdList));
}
@@ -742,9 +745,10 @@ namespace DSPRE {
the data will be packed into a NARC and replace a/0/5/0 in HGSS or
debug/cb_edit/d_test.narc in Platinum */
for (int i = 0; i < RomInfo.GetHeaderCount(); i++) {
int headerCount = RomInfo.GetHeaderCount();
for (int i = 0; i < headerCount; i++) {
byte[] headerData = MapHeader.LoadFromARM9((ushort)i).ToByteArray();
DSUtils.WriteToFile(headersDir + "\\" + i.ToString("D4"), headerData);
DSUtils.WriteToFile(headersDir.unpackedDir + "\\" + i.ToString("D4"), headerData);
}
DisableDynamicHeadersPatch("Already applied");

View File

@@ -165,11 +165,9 @@ This patch is necessary to accomplish most ASM edits.
</value>
</data>
<data name="standardizePatchTextLBL.Text" xml:space="preserve">
<value>Makes all PokéBall item scripts follow the order of items as indexed in the ROM.
Inevitably, every Item already on the ground will change.
This patch is necessary in order to
edit 'Items' in Event Editor.
</value>
<value>Rearranges the GiveItem scripts to follow the default index order.
Allows to configure any item as a Ground Item in the Event Editor.
Inevitably, every Item that is already on the ground will change.</value>
</data>
<data name="expandedMatrixCB.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>