From 80f326f612b2599f79455fcf0fbdcf0c5ddd9250 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sat, 1 Apr 2017 00:05:16 -0700 Subject: [PATCH] Update & enable OWSE7 OWSE (OverWorld & Script Editor) doesn't save any edits; it's just for research purposes. --- pk3DS/Main.cs | 2 +- pk3DS/Structures/Gen7/ZoneData7.cs | 2 +- .../Gen6/Experimental/OWSE.Designer.cs | 134 +++++++------- .../Gen7/Experimental/OWSE7.Designer.cs | 171 +++++++++++++++++- pk3DS/Subforms/Gen7/Experimental/OWSE7.cs | 83 ++++++++- pk3DS/Subforms/Gen7/Experimental/OWSE7.resx | 120 ++++++++++++ pk3DS/pk3DS.csproj | 3 + 7 files changed, 443 insertions(+), 72 deletions(-) create mode 100644 pk3DS/Subforms/Gen7/Experimental/OWSE7.resx diff --git a/pk3DS/Main.cs b/pk3DS/Main.cs index 73a7a70..d89d8ef 100644 --- a/pk3DS/Main.cs +++ b/pk3DS/Main.cs @@ -249,7 +249,7 @@ private void toggleSubEditors() B_MoveTutor.Visible = Config.ORAS; // Default false unless loaded break; case 7: - romfs = new Control[] {B_GameText, B_StoryText, B_Personal, B_Evolution, B_LevelUp, B_Wild, B_MegaEvo, B_EggMove, B_Trainer, B_Item, B_Move, B_Maison}; + romfs = new Control[] {B_GameText, B_StoryText, B_Personal, B_Evolution, B_LevelUp, B_Wild, B_MegaEvo, B_EggMove, B_Trainer, B_Item, B_Move, B_Maison, B_OWSE}; exefs = new Control[] {B_TMHM, B_TypeChart}; cro = new Control[] {B_Mart}; diff --git a/pk3DS/Structures/Gen7/ZoneData7.cs b/pk3DS/Structures/Gen7/ZoneData7.cs index 59452ac..0a6c427 100644 --- a/pk3DS/Structures/Gen7/ZoneData7.cs +++ b/pk3DS/Structures/Gen7/ZoneData7.cs @@ -23,7 +23,7 @@ public ZoneData7(byte[] data, int index) } // ZoneData Attributes - private int ParentMap { get { return BitConverter.ToInt32(Data, 0x1C); } set { BitConverter.GetBytes(value).CopyTo(Data, 0x1C);} } + public int ParentMap { get { return BitConverter.ToInt32(Data, 0x1C); } set { BitConverter.GetBytes(value).CopyTo(Data, 0x1C);} } // Info Tracking public void setName(string[] locationList, int index) diff --git a/pk3DS/Subforms/Gen6/Experimental/OWSE.Designer.cs b/pk3DS/Subforms/Gen6/Experimental/OWSE.Designer.cs index 0cbcbab..73d030a 100644 --- a/pk3DS/Subforms/Gen6/Experimental/OWSE.Designer.cs +++ b/pk3DS/Subforms/Gen6/Experimental/OWSE.Designer.cs @@ -35,6 +35,7 @@ private void InitializeComponent() this.tb_ZoneData = new System.Windows.Forms.TabPage(); this.L_MapInfoTabData = new System.Windows.Forms.Label(); this.tb_OWSC = new System.Windows.Forms.TabPage(); + this.B_ResetOverworlds = new System.Windows.Forms.Button(); this.CHK_EditRAW = new System.Windows.Forms.CheckBox(); this.NUD_UnkCount = new System.Windows.Forms.NumericUpDown(); this.L_Unk = new System.Windows.Forms.Label(); @@ -48,6 +49,7 @@ private void InitializeComponent() this.tc_OWSC = new System.Windows.Forms.TabControl(); this.tb_Furniture = new System.Windows.Forms.TabPage(); this.GB_F = new System.Windows.Forms.GroupBox(); + this.B_ResetFurniture = new System.Windows.Forms.Button(); this.NUD_FWY = new System.Windows.Forms.NumericUpDown(); this.L_FWY = new System.Windows.Forms.Label(); this.NUD_FWX = new System.Windows.Forms.NumericUpDown(); @@ -61,6 +63,7 @@ private void InitializeComponent() this.L_FE = new System.Windows.Forms.Label(); this.tb_NPC = new System.Windows.Forms.TabPage(); this.GB_N = new System.Windows.Forms.GroupBox(); + this.B_ResetNPC = new System.Windows.Forms.Button(); this.NUD_NMove2 = new System.Windows.Forms.NumericUpDown(); this.L_Move2 = new System.Windows.Forms.Label(); this.NUD_NMove1 = new System.Windows.Forms.NumericUpDown(); @@ -91,6 +94,7 @@ private void InitializeComponent() this.L_NE = new System.Windows.Forms.Label(); this.tb_Warp = new System.Windows.Forms.TabPage(); this.GB_W = new System.Windows.Forms.GroupBox(); + this.B_ResetWarp = new System.Windows.Forms.Button(); this.L_WpY = new System.Windows.Forms.Label(); this.L_WpX = new System.Windows.Forms.Label(); this.NUD_WY = new System.Windows.Forms.NumericUpDown(); @@ -107,6 +111,7 @@ private void InitializeComponent() this.L_WE = new System.Windows.Forms.Label(); this.tb_Trigger1 = new System.Windows.Forms.TabPage(); this.GB_T1 = new System.Windows.Forms.GroupBox(); + this.B_ResetTrigger1 = new System.Windows.Forms.Button(); this.NUD_T1Y = new System.Windows.Forms.NumericUpDown(); this.L_T1Y = new System.Windows.Forms.Label(); this.NUD_T1X = new System.Windows.Forms.NumericUpDown(); @@ -116,6 +121,7 @@ private void InitializeComponent() this.L_TE = new System.Windows.Forms.Label(); this.tb_Trigger2 = new System.Windows.Forms.TabPage(); this.GB_T2 = new System.Windows.Forms.GroupBox(); + this.B_ResetTrigger2 = new System.Windows.Forms.Button(); this.NUD_T2Y = new System.Windows.Forms.NumericUpDown(); this.L_T2Y = new System.Windows.Forms.Label(); this.NUD_T2X = new System.Windows.Forms.NumericUpDown(); @@ -167,12 +173,6 @@ private void InitializeComponent() this.B_Map = new System.Windows.Forms.Button(); this.L_ZDPreview = new System.Windows.Forms.Label(); this.B_HLCMD = new System.Windows.Forms.Button(); - this.B_ResetNPC = new System.Windows.Forms.Button(); - this.B_ResetWarp = new System.Windows.Forms.Button(); - this.B_ResetTrigger1 = new System.Windows.Forms.Button(); - this.B_ResetTrigger2 = new System.Windows.Forms.Button(); - this.B_ResetFurniture = new System.Windows.Forms.Button(); - this.B_ResetOverworlds = new System.Windows.Forms.Button(); this.tb_Zone.SuspendLayout(); this.tb_ZoneData.SuspendLayout(); this.tb_OWSC.SuspendLayout(); @@ -320,8 +320,20 @@ private void InitializeComponent() this.tb_OWSC.Text = "OW & SC"; this.tb_OWSC.UseVisualStyleBackColor = true; // + // B_ResetOverworlds + // + this.B_ResetOverworlds.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.B_ResetOverworlds.Location = new System.Drawing.Point(413, 157); + this.B_ResetOverworlds.Name = "B_ResetOverworlds"; + this.B_ResetOverworlds.Size = new System.Drawing.Size(62, 42); + this.B_ResetOverworlds.TabIndex = 467; + this.B_ResetOverworlds.Text = "Reset\r\nAll"; + this.B_ResetOverworlds.UseVisualStyleBackColor = true; + this.B_ResetOverworlds.Click += new System.EventHandler(this.B_ResetOverworlds_Click); + // // CHK_EditRAW // + this.CHK_EditRAW.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.CHK_EditRAW.AutoSize = true; this.CHK_EditRAW.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; this.CHK_EditRAW.Location = new System.Drawing.Point(380, 134); @@ -487,6 +499,16 @@ private void InitializeComponent() this.GB_F.TabStop = false; this.GB_F.Text = "Info:"; // + // B_ResetFurniture + // + this.B_ResetFurniture.Location = new System.Drawing.Point(257, 275); + this.B_ResetFurniture.Name = "B_ResetFurniture"; + this.B_ResetFurniture.Size = new System.Drawing.Size(62, 42); + this.B_ResetFurniture.TabIndex = 470; + this.B_ResetFurniture.Text = "Reset\r\nFurniture"; + this.B_ResetFurniture.UseVisualStyleBackColor = true; + this.B_ResetFurniture.Click += new System.EventHandler(this.B_ResetFurniture_Click); + // // NUD_FWY // this.NUD_FWY.Location = new System.Drawing.Point(125, 216); @@ -654,6 +676,16 @@ private void InitializeComponent() this.GB_N.TabStop = false; this.GB_N.Text = "Info:"; // + // B_ResetNPC + // + this.B_ResetNPC.Location = new System.Drawing.Point(257, 275); + this.B_ResetNPC.Name = "B_ResetNPC"; + this.B_ResetNPC.Size = new System.Drawing.Size(62, 42); + this.B_ResetNPC.TabIndex = 458; + this.B_ResetNPC.Text = "Reset\r\nNPC"; + this.B_ResetNPC.UseVisualStyleBackColor = true; + this.B_ResetNPC.Click += new System.EventHandler(this.B_ResetNPC_Click); + // // NUD_NMove2 // this.NUD_NMove2.Location = new System.Drawing.Point(234, 146); @@ -979,6 +1011,16 @@ private void InitializeComponent() this.GB_W.TabStop = false; this.GB_W.Text = "Info:"; // + // B_ResetWarp + // + this.B_ResetWarp.Location = new System.Drawing.Point(256, 275); + this.B_ResetWarp.Name = "B_ResetWarp"; + this.B_ResetWarp.Size = new System.Drawing.Size(62, 42); + this.B_ResetWarp.TabIndex = 466; + this.B_ResetWarp.Text = "Reset\r\nWarp"; + this.B_ResetWarp.UseVisualStyleBackColor = true; + this.B_ResetWarp.Click += new System.EventHandler(this.B_ResetWarp_Click); + // // L_WpY // this.L_WpY.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); @@ -1166,6 +1208,16 @@ private void InitializeComponent() this.GB_T1.TabStop = false; this.GB_T1.Text = "Info:"; // + // B_ResetTrigger1 + // + this.B_ResetTrigger1.Location = new System.Drawing.Point(257, 275); + this.B_ResetTrigger1.Name = "B_ResetTrigger1"; + this.B_ResetTrigger1.Size = new System.Drawing.Size(62, 42); + this.B_ResetTrigger1.TabIndex = 467; + this.B_ResetTrigger1.Text = "Reset\r\nTrigger1"; + this.B_ResetTrigger1.UseVisualStyleBackColor = true; + this.B_ResetTrigger1.Click += new System.EventHandler(this.B_ResetTrigger1_Click); + // // NUD_T1Y // this.NUD_T1Y.Location = new System.Drawing.Point(143, 164); @@ -1270,6 +1322,16 @@ private void InitializeComponent() this.GB_T2.TabStop = false; this.GB_T2.Text = "Info:"; // + // B_ResetTrigger2 + // + this.B_ResetTrigger2.Location = new System.Drawing.Point(257, 275); + this.B_ResetTrigger2.Name = "B_ResetTrigger2"; + this.B_ResetTrigger2.Size = new System.Drawing.Size(62, 42); + this.B_ResetTrigger2.TabIndex = 467; + this.B_ResetTrigger2.Text = "Reset\r\nTrigger2"; + this.B_ResetTrigger2.UseVisualStyleBackColor = true; + this.B_ResetTrigger2.Click += new System.EventHandler(this.B_ResetTrigger2_Click); + // // NUD_T2Y // this.NUD_T2Y.Location = new System.Drawing.Point(143, 164); @@ -1814,66 +1876,6 @@ private void InitializeComponent() this.B_HLCMD.UseVisualStyleBackColor = true; this.B_HLCMD.Click += new System.EventHandler(this.B_HLCMD_Click); // - // B_ResetNPC - // - this.B_ResetNPC.Location = new System.Drawing.Point(257, 275); - this.B_ResetNPC.Name = "B_ResetNPC"; - this.B_ResetNPC.Size = new System.Drawing.Size(62, 42); - this.B_ResetNPC.TabIndex = 458; - this.B_ResetNPC.Text = "Reset\r\nNPC"; - this.B_ResetNPC.UseVisualStyleBackColor = true; - this.B_ResetNPC.Click += new System.EventHandler(this.B_ResetNPC_Click); - // - // B_ResetWarp - // - this.B_ResetWarp.Location = new System.Drawing.Point(256, 275); - this.B_ResetWarp.Name = "B_ResetWarp"; - this.B_ResetWarp.Size = new System.Drawing.Size(62, 42); - this.B_ResetWarp.TabIndex = 466; - this.B_ResetWarp.Text = "Reset\r\nWarp"; - this.B_ResetWarp.UseVisualStyleBackColor = true; - this.B_ResetWarp.Click += new System.EventHandler(this.B_ResetWarp_Click); - // - // B_ResetTrigger1 - // - this.B_ResetTrigger1.Location = new System.Drawing.Point(257, 275); - this.B_ResetTrigger1.Name = "B_ResetTrigger1"; - this.B_ResetTrigger1.Size = new System.Drawing.Size(62, 42); - this.B_ResetTrigger1.TabIndex = 467; - this.B_ResetTrigger1.Text = "Reset\r\nTrigger1"; - this.B_ResetTrigger1.UseVisualStyleBackColor = true; - this.B_ResetTrigger1.Click += new System.EventHandler(this.B_ResetTrigger1_Click); - // - // B_ResetTrigger2 - // - this.B_ResetTrigger2.Location = new System.Drawing.Point(257, 275); - this.B_ResetTrigger2.Name = "B_ResetTrigger2"; - this.B_ResetTrigger2.Size = new System.Drawing.Size(62, 42); - this.B_ResetTrigger2.TabIndex = 467; - this.B_ResetTrigger2.Text = "Reset\r\nTrigger2"; - this.B_ResetTrigger2.UseVisualStyleBackColor = true; - this.B_ResetTrigger2.Click += new System.EventHandler(this.B_ResetTrigger2_Click); - // - // B_ResetFurniture - // - this.B_ResetFurniture.Location = new System.Drawing.Point(257, 275); - this.B_ResetFurniture.Name = "B_ResetFurniture"; - this.B_ResetFurniture.Size = new System.Drawing.Size(62, 42); - this.B_ResetFurniture.TabIndex = 470; - this.B_ResetFurniture.Text = "Reset\r\nFurniture"; - this.B_ResetFurniture.UseVisualStyleBackColor = true; - this.B_ResetFurniture.Click += new System.EventHandler(this.B_ResetFurniture_Click); - // - // B_ResetOverworlds - // - this.B_ResetOverworlds.Location = new System.Drawing.Point(413, 157); - this.B_ResetOverworlds.Name = "B_ResetOverworlds"; - this.B_ResetOverworlds.Size = new System.Drawing.Size(62, 42); - this.B_ResetOverworlds.TabIndex = 467; - this.B_ResetOverworlds.Text = "Reset\r\nAll"; - this.B_ResetOverworlds.UseVisualStyleBackColor = true; - this.B_ResetOverworlds.Click += new System.EventHandler(this.B_ResetOverworlds_Click); - // // OWSE // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); diff --git a/pk3DS/Subforms/Gen7/Experimental/OWSE7.Designer.cs b/pk3DS/Subforms/Gen7/Experimental/OWSE7.Designer.cs index cf21c54..72ef02d 100644 --- a/pk3DS/Subforms/Gen7/Experimental/OWSE7.Designer.cs +++ b/pk3DS/Subforms/Gen7/Experimental/OWSE7.Designer.cs @@ -28,11 +28,180 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); + this.L_Location = new System.Windows.Forms.Label(); + this.CB_LocationID = new System.Windows.Forms.ComboBox(); + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tab_7_ZS = new System.Windows.Forms.TabPage(); + this.L_7_Count = new System.Windows.Forms.Label(); + this.RTB_7_Script = new System.Windows.Forms.RichTextBox(); + this.RTB_7_Raw = new System.Windows.Forms.RichTextBox(); + this.tab_8_ZI = new System.Windows.Forms.TabPage(); + this.L_8_Count = new System.Windows.Forms.Label(); + this.RTB_8_Script = new System.Windows.Forms.RichTextBox(); + this.RTB_8_Raw = new System.Windows.Forms.RichTextBox(); + this.tabControl1.SuspendLayout(); + this.tab_7_ZS.SuspendLayout(); + this.tab_8_ZI.SuspendLayout(); + this.SuspendLayout(); + // + // L_Location + // + this.L_Location.AutoSize = true; + this.L_Location.Location = new System.Drawing.Point(12, 9); + this.L_Location.Name = "L_Location"; + this.L_Location.Size = new System.Drawing.Size(28, 13); + this.L_Location.TabIndex = 433; + this.L_Location.Text = "Loc:"; + // + // CB_LocationID + // + this.CB_LocationID.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_LocationID.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_LocationID.FormattingEnabled = true; + this.CB_LocationID.Location = new System.Drawing.Point(46, 6); + this.CB_LocationID.Name = "CB_LocationID"; + this.CB_LocationID.Size = new System.Drawing.Size(164, 21); + this.CB_LocationID.TabIndex = 432; + this.CB_LocationID.SelectedIndexChanged += new System.EventHandler(this.CB_LocationID_SelectedIndexChanged); + // + // tabControl1 + // + this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tabControl1.Controls.Add(this.tab_7_ZS); + this.tabControl1.Controls.Add(this.tab_8_ZI); + this.tabControl1.Location = new System.Drawing.Point(15, 33); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(460, 466); + this.tabControl1.TabIndex = 434; + // + // tab_7_ZS + // + this.tab_7_ZS.Controls.Add(this.L_7_Count); + this.tab_7_ZS.Controls.Add(this.RTB_7_Script); + this.tab_7_ZS.Controls.Add(this.RTB_7_Raw); + this.tab_7_ZS.Location = new System.Drawing.Point(4, 22); + this.tab_7_ZS.Name = "tab_7_ZS"; + this.tab_7_ZS.Padding = new System.Windows.Forms.Padding(3); + this.tab_7_ZS.Size = new System.Drawing.Size(409, 423); + this.tab_7_ZS.TabIndex = 0; + this.tab_7_ZS.Text = "7.ZS"; + this.tab_7_ZS.UseVisualStyleBackColor = true; + // + // L_7_Count + // + this.L_7_Count.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.L_7_Count.AutoSize = true; + this.L_7_Count.Location = new System.Drawing.Point(137, 190); + this.L_7_Count.Name = "L_7_Count"; + this.L_7_Count.Size = new System.Drawing.Size(41, 13); + this.L_7_Count.TabIndex = 435; + this.L_7_Count.Text = "Count7"; + // + // RTB_7_Script + // + this.RTB_7_Script.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.RTB_7_Script.Font = new System.Drawing.Font("Courier New", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.RTB_7_Script.Location = new System.Drawing.Point(6, 190); + this.RTB_7_Script.Name = "RTB_7_Script"; + this.RTB_7_Script.ReadOnly = true; + this.RTB_7_Script.Size = new System.Drawing.Size(125, 225); + this.RTB_7_Script.TabIndex = 431; + this.RTB_7_Script.Text = "Script CMDs"; + // + // RTB_7_Raw + // + this.RTB_7_Raw.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.RTB_7_Raw.Font = new System.Drawing.Font("Courier New", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.RTB_7_Raw.Location = new System.Drawing.Point(6, 6); + this.RTB_7_Raw.Name = "RTB_7_Raw"; + this.RTB_7_Raw.ReadOnly = true; + this.RTB_7_Raw.Size = new System.Drawing.Size(397, 178); + this.RTB_7_Raw.TabIndex = 430; + this.RTB_7_Raw.Text = "Raw Data"; + // + // tab_8_ZI + // + this.tab_8_ZI.Controls.Add(this.L_8_Count); + this.tab_8_ZI.Controls.Add(this.RTB_8_Script); + this.tab_8_ZI.Controls.Add(this.RTB_8_Raw); + this.tab_8_ZI.Location = new System.Drawing.Point(4, 22); + this.tab_8_ZI.Name = "tab_8_ZI"; + this.tab_8_ZI.Padding = new System.Windows.Forms.Padding(3); + this.tab_8_ZI.Size = new System.Drawing.Size(452, 440); + this.tab_8_ZI.TabIndex = 1; + this.tab_8_ZI.Text = "8.ZI"; + this.tab_8_ZI.UseVisualStyleBackColor = true; + // + // L_8_Count + // + this.L_8_Count.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.L_8_Count.AutoSize = true; + this.L_8_Count.Location = new System.Drawing.Point(137, 207); + this.L_8_Count.Name = "L_8_Count"; + this.L_8_Count.Size = new System.Drawing.Size(41, 13); + this.L_8_Count.TabIndex = 434; + this.L_8_Count.Text = "Count8"; + // + // RTB_8_Script + // + this.RTB_8_Script.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.RTB_8_Script.Font = new System.Drawing.Font("Courier New", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.RTB_8_Script.Location = new System.Drawing.Point(6, 207); + this.RTB_8_Script.Name = "RTB_8_Script"; + this.RTB_8_Script.ReadOnly = true; + this.RTB_8_Script.Size = new System.Drawing.Size(125, 225); + this.RTB_8_Script.TabIndex = 433; + this.RTB_8_Script.Text = "Script CMDs"; + // + // RTB_8_Raw + // + this.RTB_8_Raw.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.RTB_8_Raw.Font = new System.Drawing.Font("Courier New", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.RTB_8_Raw.Location = new System.Drawing.Point(6, 6); + this.RTB_8_Raw.Name = "RTB_8_Raw"; + this.RTB_8_Raw.ReadOnly = true; + this.RTB_8_Raw.Size = new System.Drawing.Size(440, 195); + this.RTB_8_Raw.TabIndex = 432; + this.RTB_8_Raw.Text = "Raw Data"; + // + // OWSE7 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(484, 511); + this.Controls.Add(this.tabControl1); + this.Controls.Add(this.L_Location); + this.Controls.Add(this.CB_LocationID); + this.Name = "OWSE7"; this.Text = "OWSE7"; + this.tabControl1.ResumeLayout(false); + this.tab_7_ZS.ResumeLayout(false); + this.tab_7_ZS.PerformLayout(); + this.tab_8_ZI.ResumeLayout(false); + this.tab_8_ZI.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + } #endregion + private System.Windows.Forms.Label L_Location; + private System.Windows.Forms.ComboBox CB_LocationID; + private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.TabPage tab_7_ZS; + private System.Windows.Forms.TabPage tab_8_ZI; + private System.Windows.Forms.RichTextBox RTB_7_Script; + private System.Windows.Forms.RichTextBox RTB_7_Raw; + private System.Windows.Forms.RichTextBox RTB_8_Script; + private System.Windows.Forms.RichTextBox RTB_8_Raw; + private System.Windows.Forms.Label L_8_Count; + private System.Windows.Forms.Label L_7_Count; } } \ No newline at end of file diff --git a/pk3DS/Subforms/Gen7/Experimental/OWSE7.cs b/pk3DS/Subforms/Gen7/Experimental/OWSE7.cs index 29cdbee..da0849c 100644 --- a/pk3DS/Subforms/Gen7/Experimental/OWSE7.cs +++ b/pk3DS/Subforms/Gen7/Experimental/OWSE7.cs @@ -1,4 +1,7 @@ -using System.Windows.Forms; +using System; +using System.Linq; +using System.Windows.Forms; +using CTR; namespace pk3DS { @@ -13,10 +16,84 @@ public OWSE7(lzGARCFile ed, lzGARCFile zd, lzGARCFile wd) ZoneData = zd; WorldData = wd; - locationList = Main.getText(TextName.metlist_000000); locationList = SMWE.getGoodLocationList(locationList); + + InitializeComponent(); + + var zdFiles = ZoneData.Files; + zoneData = zdFiles[0]; + worldData = zdFiles[1]; + loadData(); + } + + private readonly byte[] zoneData; + private byte[] worldData; + private readonly string[] locationList; + + private void loadData() + { + // get zonedata array + ZoneData7[] zd = new ZoneData7[zoneData.Length / ZoneData7.SIZE]; + for (int i = 0; i < zd.Length; i++) + { + byte[] buff = new byte[ZoneData7.SIZE]; + Buffer.BlockCopy(zoneData, i*ZoneData7.SIZE, buff, 0, ZoneData7.SIZE); + zd[i] = new ZoneData7(buff); + } + + string[] locations = zd.Select((z, i) => $"{i:000} - {locationList[z.ParentMap]}").ToArray(); + CB_LocationID.Items.AddRange(locations); + CB_LocationID.SelectedIndex = 0; + } + + private void CB_LocationID_SelectedIndexChanged(object sender, EventArgs e) + { + setEntry(); + entry = CB_LocationID.SelectedIndex; + getEntry(); + } + + private int entry = -1; + private void setEntry() + { + if (entry < 0) + return; + + // research only, no set + } + + private void getEntry() + { + Console.WriteLine($"Loading {CB_LocationID.Text}"); + int index = entry*11; + // 00 - ED (???) + // 01 - BG (???) + // 02 - TR (???) + // 03 - AC (???) + // 04 - AS (???) + // 05 - ??? + // 06 - AE (Area Environment) + // 07 - ZS (Zone Script) + // 08 - ZI (Zone Info) + // 09 - EA (Encounter Area) + // 10 - BG (???) + + byte[][] _7 = mini.unpackMini(EncounterData[index + 7], "ZS"); + byte[][] _8 = mini.unpackMini(EncounterData[index + 8], "ZI"); + + Console.WriteLine($"7: {_7.Length}"); + Console.WriteLine($"8: {_8.Length}"); + L_7_Count.Text = "Files: " + _7.Length; + L_8_Count.Text = "Files: " + _8.Length; + + RTB_7_Raw.Lines = Scripts.getHexLines(_7[0], 16); + RTB_8_Raw.Lines = Scripts.getHexLines(_8[0], 16); + + var s_7 = new Script(_7[0]); + var s_8 = new Script(_8[0]); + RTB_7_Script.Lines = Scripts.getHexLines(s_7.DecompressedInstructions); + RTB_8_Script.Lines = Scripts.getHexLines(s_8.DecompressedInstructions); } - private string[] locationList; } } diff --git a/pk3DS/Subforms/Gen7/Experimental/OWSE7.resx b/pk3DS/Subforms/Gen7/Experimental/OWSE7.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/pk3DS/Subforms/Gen7/Experimental/OWSE7.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/pk3DS/pk3DS.csproj b/pk3DS/pk3DS.csproj index 83fc6b7..11dc242 100644 --- a/pk3DS/pk3DS.csproj +++ b/pk3DS/pk3DS.csproj @@ -423,6 +423,9 @@ EvolutionEditor7.cs + + OWSE7.cs + ItemEditor7.cs