mirror of
https://github.com/AdAstra-LD/DS-Pokemon-Rom-Editor.git
synced 2026-08-28 05:44:27 -05:00
Fixed Event Editor map lookup when testing warps
This commit is contained in:
@@ -992,19 +992,6 @@ namespace DSPRE {
|
||||
return;
|
||||
}
|
||||
|
||||
// Creating a dictionary linking events to headers to fetch header data for Event Editor
|
||||
if (PatchToolboxDialog.flag_DynamicHeadersPatchApplied || PatchToolboxDialog.CheckFilesDynamicHeadersPatchApplied()) {
|
||||
for (ushort i = 0; i < internalNames.Count; i++) {
|
||||
MapHeader h = MapHeader.LoadFromFile(RomInfo.gameDirs[DirNames.dynamicHeaders].unpackedDir + "\\" + i.ToString("D4"), i, 0);
|
||||
eventToHeader[h.eventFileID] = i;
|
||||
}
|
||||
} else {
|
||||
for (ushort i = 0; i < internalNames.Count; i++) {
|
||||
MapHeader h = MapHeader.LoadFromARM9(i);
|
||||
eventToHeader[h.eventFileID] = i;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*Add list of options to each control */
|
||||
currentTextArchive = new TextArchive(RomInfo.locationNamesTextNumber);
|
||||
@@ -5470,6 +5457,19 @@ namespace DSPRE {
|
||||
eventMatrixUpDown.Maximum = romInfo.GetMatrixCount() - 1;
|
||||
eventAreaDataUpDown.Maximum = romInfo.GetAreaDataCount() - 1;
|
||||
|
||||
// Creating a dictionary linking events to headers to fetch header data for Event Editor
|
||||
if (PatchToolboxDialog.flag_DynamicHeadersPatchApplied || PatchToolboxDialog.CheckFilesDynamicHeadersPatchApplied()) {
|
||||
for (ushort i = 0; i < internalNames.Count; i++) {
|
||||
MapHeader h = MapHeader.LoadFromFile(RomInfo.gameDirs[DirNames.dynamicHeaders].unpackedDir + "\\" + i.ToString("D4"), i, 0);
|
||||
eventToHeader[h.eventFileID] = i;
|
||||
}
|
||||
} else {
|
||||
for (ushort i = 0; i < internalNames.Count; i++) {
|
||||
MapHeader h = MapHeader.LoadFromARM9(i);
|
||||
eventToHeader[h.eventFileID] = i;
|
||||
}
|
||||
}
|
||||
|
||||
Helpers.EnableHandlers();
|
||||
|
||||
selectEventComboBox.SelectedIndex = 0;
|
||||
@@ -5680,10 +5680,15 @@ namespace DSPRE {
|
||||
if (Helpers.HandlersDisabled) {
|
||||
return;
|
||||
}
|
||||
Helpers.DisableHandlers();
|
||||
|
||||
ChangeLoadedEventFile(selectEventComboBox.SelectedIndex, 0);
|
||||
}
|
||||
|
||||
private void ChangeLoadedEventFile(int evfile, ushort mapHeader) {
|
||||
Helpers.DisableHandlers();
|
||||
|
||||
/* Load events data into EventFile class instance */
|
||||
currentEvFile = new EventFile(selectEventComboBox.SelectedIndex);
|
||||
currentEvFile = new EventFile(evfile);
|
||||
|
||||
/* Update ListBoxes */
|
||||
FillSpawnablesBox();
|
||||
@@ -5691,7 +5696,7 @@ namespace DSPRE {
|
||||
FillTriggersBox();
|
||||
FillWarpsBox();
|
||||
|
||||
if (eventToHeader.TryGetValue((ushort)selectEventComboBox.SelectedIndex, out ushort mapHeader)) {
|
||||
if (mapHeader > 0 || eventToHeader.TryGetValue((ushort)selectEventComboBox.SelectedIndex, out mapHeader)) {
|
||||
MapHeader h;
|
||||
if (PatchToolboxDialog.flag_DynamicHeadersPatchApplied || PatchToolboxDialog.CheckFilesDynamicHeadersPatchApplied()) {
|
||||
h = MapHeader.LoadFromFile(RomInfo.gameDirs[DirNames.dynamicHeaders].unpackedDir + "\\" + mapHeader.ToString("D4"), mapHeader, 0);
|
||||
@@ -5716,6 +5721,7 @@ namespace DSPRE {
|
||||
|
||||
CenterEventViewOnEntities();
|
||||
}
|
||||
|
||||
private void showEventsCheckBoxes_CheckedChanged(object sender, EventArgs e) {
|
||||
if (Helpers.HandlersDisabled) {
|
||||
return;
|
||||
@@ -6583,20 +6589,26 @@ namespace DSPRE {
|
||||
if (new EventFile(destHeader.eventFileID).warps.Count < destAnchor + 1) {
|
||||
DialogResult d = MessageBox.Show("The selected warp's destination anchor doesn't exist.\n" +
|
||||
"Do you want to open the destination map anyway?", "Warp is not connected", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
||||
if (d == DialogResult.No)
|
||||
return;
|
||||
else {
|
||||
if (d == DialogResult.Yes) {
|
||||
eventMatrixUpDown.Value = destHeader.matrixID;
|
||||
eventAreaDataUpDown.Value = destHeader.areaDataID;
|
||||
|
||||
Helpers.DisableHandlers();
|
||||
selectEventComboBox.SelectedIndex = destHeader.eventFileID;
|
||||
ChangeLoadedEventFile(destHeader.eventFileID, destHeaderID);
|
||||
|
||||
CenterEventViewOnEntities();
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
eventMatrixUpDown.Value = destHeader.matrixID;
|
||||
eventAreaDataUpDown.Value = destHeader.areaDataID;
|
||||
|
||||
Helpers.DisableHandlers();
|
||||
selectEventComboBox.SelectedIndex = destHeader.eventFileID;
|
||||
ChangeLoadedEventFile(destHeader.eventFileID, destHeaderID);
|
||||
|
||||
|
||||
warpsListBox.SelectedIndex = destAnchor;
|
||||
centerEventViewOnSelectedEvent_Click(sender, e);
|
||||
|
||||
Reference in New Issue
Block a user