mirror of
https://github.com/kwsch/pkNX.git
synced 2026-08-20 17:34:11 -05:00
Handle resident gfpak as gfpak
This commit is contained in:
@@ -221,7 +221,7 @@ internal void SaveAll()
|
||||
new(GameFile.EncounterGift, ContainerType.SingleFile, "bin", "pokemon", "data", "poke_add.bin"),
|
||||
new(GameFile.Learnsets, ContainerType.SingleFile, "bin", "pml", "waza_oboe", "waza_oboe_total.wazaoboe"),
|
||||
|
||||
new(GameFile.Resident, ContainerType.SingleFile, "bin", "archive", "field", "resident_release.gfpak"),
|
||||
new(GameFile.Resident, ContainerType.GFPack, "bin", "archive", "field", "resident_release.gfpak"),
|
||||
|
||||
new(GameFile.EncounterRateTable, ContainerType.SingleFile, "bin", "pokemon", "data", "poke_encount.bin"),
|
||||
new(GameFile.PokeMisc, ContainerType.SingleFile, "bin", "pokemon", "data", "poke_misc.bin"),
|
||||
|
||||
@@ -373,8 +373,7 @@ public void DumpWilds()
|
||||
var miscdata = ROM.GetFile(GameFile.PokeMisc)[0];
|
||||
var misc = FlatBufferConverter.DeserializeFrom<PokeMiscTable8a>(miscdata);
|
||||
|
||||
var residentpak = ROM.GetFile(GameFile.Resident)[0];
|
||||
var resident = new GFPack(residentpak);
|
||||
var resident = (GFPack)ROM.GetFile(GameFile.Resident);
|
||||
var bin_settings = resident.GetDataFullPath("bin/field/resident/AreaSettings.bin");
|
||||
var settings = FlatBufferConverter.DeserializeFrom<AreaSettingsTable8a>(bin_settings);
|
||||
|
||||
@@ -465,8 +464,7 @@ public void DumpWilds()
|
||||
|
||||
public void DumpResident()
|
||||
{
|
||||
var residentpak = ROM.GetFile(GameFile.Resident)[0];
|
||||
var resident = new GFPack(residentpak);
|
||||
var resident = (GFPack)ROM.GetFile(GameFile.Resident);
|
||||
var bin_settings = resident.GetDataFullPath("bin/field/resident/AreaSettings.bin");
|
||||
var settings = FlatBufferConverter.DeserializeFrom<AreaSettingsTable8a>(bin_settings);
|
||||
var dir = GetPath("Resident");
|
||||
@@ -504,8 +502,7 @@ public void DumpResident()
|
||||
|
||||
public void DumpPlacement()
|
||||
{
|
||||
var residentpak = ROM.GetFile(GameFile.Resident)[0];
|
||||
var resident = new GFPack(residentpak);
|
||||
var resident = (GFPack)ROM.GetFile(GameFile.Resident);
|
||||
var bin_settings = resident.GetDataFullPath("bin/field/resident/AreaSettings.bin");
|
||||
var settings = FlatBufferConverter.DeserializeFrom<AreaSettingsTable8a>(bin_settings);
|
||||
|
||||
|
||||
@@ -123,15 +123,13 @@ public void EditApp_Config_List()
|
||||
|
||||
public void EditArea_Weather()
|
||||
{
|
||||
var res = ROM.GetFile(GameFile.Resident);
|
||||
var gfp = new GFPack(res[0]);
|
||||
var gfp = (GFPack)ROM.GetFile(GameFile.Resident);
|
||||
var data = gfp[2065];
|
||||
var obj = FlatBufferConverter.DeserializeFrom<AreaWeatherTable8a>(data);
|
||||
var result = PopFlat(obj.Table, "Area Weather Editor", z => z.Hash.ToString("X16"));
|
||||
if (!result)
|
||||
return;
|
||||
gfp[2065] = FlatBufferConverter.SerializeFrom(obj);
|
||||
res[0] = gfp.Write();
|
||||
}
|
||||
|
||||
public void EditStatic()
|
||||
@@ -240,8 +238,7 @@ public void EditMiscSpeciesInfo()
|
||||
|
||||
public void EditSpawns()
|
||||
{
|
||||
var residentpak = ROM.GetFile(GameFile.Resident)[0];
|
||||
var resident = new GFPack(residentpak);
|
||||
var resident = (GFPack)ROM.GetFile(GameFile.Resident);
|
||||
using var form = new MapViewer8a((GameManagerPLA)ROM, resident);
|
||||
form.ShowDialog();
|
||||
}
|
||||
|
||||
19
pkNX.WinForms/Subforms/AreaEditor8a.Designer.cs
generated
19
pkNX.WinForms/Subforms/AreaEditor8a.Designer.cs
generated
@@ -31,10 +31,10 @@ private void InitializeComponent()
|
||||
this.CB_Area = new System.Windows.Forms.ComboBox();
|
||||
this.TC_Editor = new System.Windows.Forms.TabControl();
|
||||
this.Tab_Encounters = new System.Windows.Forms.TabPage();
|
||||
this.Edit_Encounters = new pkNX.WinForms.Controls.EncounterTableEditor8a();
|
||||
this.Tab_Regular = new System.Windows.Forms.TabPage();
|
||||
this.Tab_Wormhole = new System.Windows.Forms.TabPage();
|
||||
this.Tab_Landmarks = new System.Windows.Forms.TabPage();
|
||||
this.Edit_Encounters = new pkNX.WinForms.Controls.EncounterTableEditor8a();
|
||||
this.Tab_Randomize = new System.Windows.Forms.TabPage();
|
||||
this.B_Save = new System.Windows.Forms.Button();
|
||||
this.TC_Editor.SuspendLayout();
|
||||
@@ -76,6 +76,14 @@ private void InitializeComponent()
|
||||
this.Tab_Encounters.Text = "Encounters";
|
||||
this.Tab_Encounters.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// Edit_Encounters
|
||||
//
|
||||
this.Edit_Encounters.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.Edit_Encounters.Location = new System.Drawing.Point(3, 3);
|
||||
this.Edit_Encounters.Name = "Edit_Encounters";
|
||||
this.Edit_Encounters.Size = new System.Drawing.Size(671, 449);
|
||||
this.Edit_Encounters.TabIndex = 0;
|
||||
//
|
||||
// Tab_Regular
|
||||
//
|
||||
this.Tab_Regular.Location = new System.Drawing.Point(4, 22);
|
||||
@@ -104,14 +112,6 @@ private void InitializeComponent()
|
||||
this.Tab_Landmarks.Text = "*Landmarks";
|
||||
this.Tab_Landmarks.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// Edit_Encounters
|
||||
//
|
||||
this.Edit_Encounters.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.Edit_Encounters.Location = new System.Drawing.Point(3, 3);
|
||||
this.Edit_Encounters.Name = "Edit_Encounters";
|
||||
this.Edit_Encounters.Size = new System.Drawing.Size(671, 449);
|
||||
this.Edit_Encounters.TabIndex = 0;
|
||||
//
|
||||
// Tab_Randomize
|
||||
//
|
||||
this.Tab_Randomize.Location = new System.Drawing.Point(4, 22);
|
||||
@@ -142,6 +142,7 @@ private void InitializeComponent()
|
||||
this.Controls.Add(this.CB_Area);
|
||||
this.Name = "AreaEditor8a";
|
||||
this.Text = "Area Editor";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.AreaEditor8a_FormClosing);
|
||||
this.TC_Editor.ResumeLayout(false);
|
||||
this.Tab_Encounters.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
@@ -24,8 +24,7 @@ public AreaEditor8a(GameManagerPLA rom)
|
||||
{
|
||||
ROM = rom;
|
||||
|
||||
var residentpak = ROM.GetFile(GameFile.Resident)[0];
|
||||
Resident = new GFPack(residentpak);
|
||||
Resident = (GFPack)ROM.GetFile(GameFile.Resident);
|
||||
var bin_settings = Resident.GetDataFullPath("bin/field/resident/AreaSettings.bin");
|
||||
Settings = FlatBufferConverter.DeserializeFrom<AreaSettingsTable8a>(bin_settings);
|
||||
|
||||
@@ -74,8 +73,17 @@ private void SaveArea()
|
||||
|
||||
private void B_Save_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveArea();
|
||||
ROM.GetFile(GameFile.Resident)[0] = Resident.Write();
|
||||
Save = true;
|
||||
Close();
|
||||
}
|
||||
|
||||
private bool Save;
|
||||
|
||||
private void AreaEditor8a_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (Save)
|
||||
SaveArea();
|
||||
else
|
||||
Resident.CancelEdits();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user