diff --git a/DW3Randomizer/.vs/DW3Randomizer/v15/.suo b/DW3Randomizer/.vs/DW3Randomizer/v15/.suo index ab240ee..0a76720 100644 Binary files a/DW3Randomizer/.vs/DW3Randomizer/v15/.suo and b/DW3Randomizer/.vs/DW3Randomizer/v15/.suo differ diff --git a/DW3Randomizer/Form1.Designer.cs b/DW3Randomizer/Form1.Designer.cs index 36f64d9..bce01cc 100644 --- a/DW3Randomizer/Form1.Designer.cs +++ b/DW3Randomizer/Form1.Designer.cs @@ -53,6 +53,7 @@ private void InitializeComponent() this.optMonsterLight = new System.Windows.Forms.RadioButton(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); + this.chkFourJobFiesta = new System.Windows.Forms.CheckBox(); this.chkRandomizeGP = new System.Windows.Forms.CheckBox(); this.chkRandomizeXP = new System.Windows.Forms.CheckBox(); this.label10 = new System.Windows.Forms.Label(); @@ -91,8 +92,8 @@ private void InitializeComponent() this.txtDefault1 = new System.Windows.Forms.TextBox(); this.label7 = new System.Windows.Forms.Label(); this.txtFlags = new System.Windows.Forms.TextBox(); - this.chkFourJobFiesta = new System.Windows.Forms.CheckBox(); this.adjustments = new System.Windows.Forms.ToolTip(this.components); + this.chkRemoveParryFight = new System.Windows.Forms.CheckBox(); this.grpMonsterStat.SuspendLayout(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); @@ -324,6 +325,7 @@ private void InitializeComponent() // // tabPage1 // + this.tabPage1.Controls.Add(this.chkRemoveParryFight); this.tabPage1.Controls.Add(this.chkFourJobFiesta); this.tabPage1.Controls.Add(this.chkRandomizeGP); this.tabPage1.Controls.Add(this.chkRandomizeXP); @@ -344,6 +346,19 @@ private void InitializeComponent() this.tabPage1.Text = "Adjustments"; this.tabPage1.UseVisualStyleBackColor = true; // + // chkFourJobFiesta + // + this.chkFourJobFiesta.AutoSize = true; + this.chkFourJobFiesta.Location = new System.Drawing.Point(370, 52); + this.chkFourJobFiesta.Name = "chkFourJobFiesta"; + this.chkFourJobFiesta.Size = new System.Drawing.Size(157, 17); + this.chkFourJobFiesta.TabIndex = 19; + this.chkFourJobFiesta.Text = "Four Job Fiesta adjustments"; + this.adjustments.SetToolTip(this.chkFourJobFiesta, "Allows the hero to be removed from the party, the hero to change classes, and any" + + " hero to become a sage."); + this.chkFourJobFiesta.UseVisualStyleBackColor = true; + this.chkFourJobFiesta.CheckedChanged += new System.EventHandler(this.determineFlags); + // // chkRandomizeGP // this.chkRandomizeGP.AutoSize = true; @@ -383,7 +398,7 @@ private void InitializeComponent() // label8 // this.label8.AutoSize = true; - this.label8.Location = new System.Drawing.Point(4, 35); + this.label8.Location = new System.Drawing.Point(6, 35); this.label8.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(59, 13); @@ -797,18 +812,18 @@ private void InitializeComponent() this.txtFlags.TabIndex = 42; this.txtFlags.Leave += new System.EventHandler(this.determineChecks); // - // chkFourJobFiesta + // chkRemoveParryFight // - this.chkFourJobFiesta.AutoSize = true; - this.chkFourJobFiesta.Location = new System.Drawing.Point(370, 52); - this.chkFourJobFiesta.Name = "chkFourJobFiesta"; - this.chkFourJobFiesta.Size = new System.Drawing.Size(157, 17); - this.chkFourJobFiesta.TabIndex = 19; - this.chkFourJobFiesta.Text = "Four Job Fiesta adjustments"; - this.adjustments.SetToolTip(this.chkFourJobFiesta, "Allows the hero to be removed from the party, the hero to change classes, and any" + + this.chkRemoveParryFight.AutoSize = true; + this.chkRemoveParryFight.Location = new System.Drawing.Point(370, 75); + this.chkRemoveParryFight.Name = "chkRemoveParryFight"; + this.chkRemoveParryFight.Size = new System.Drawing.Size(143, 17); + this.chkRemoveParryFight.TabIndex = 20; + this.chkRemoveParryFight.Text = "Remove Parry/Fight Bug"; + this.adjustments.SetToolTip(this.chkRemoveParryFight, "Allows the hero to be removed from the party, the hero to change classes, and any" + " hero to become a sage."); - this.chkFourJobFiesta.UseVisualStyleBackColor = true; - this.chkFourJobFiesta.CheckedChanged += new System.EventHandler(this.determineFlags); + this.chkRemoveParryFight.UseVisualStyleBackColor = true; + this.chkRemoveParryFight.CheckedChanged += new System.EventHandler(this.determineFlags); // // Form1 // @@ -920,6 +935,7 @@ private void InitializeComponent() private System.Windows.Forms.CheckBox chkRandomizeMap; private System.Windows.Forms.CheckBox chkFourJobFiesta; private System.Windows.Forms.ToolTip adjustments; + private System.Windows.Forms.CheckBox chkRemoveParryFight; } } diff --git a/DW3Randomizer/Form1.cs b/DW3Randomizer/Form1.cs index e865280..d3b4247 100644 --- a/DW3Randomizer/Form1.cs +++ b/DW3Randomizer/Form1.cs @@ -222,12 +222,15 @@ private void btnRandomize_Click(object sender, EventArgs e) romData[0x3fc2 + lnI] = codData2[lnI]; // Fix the "parry/fight" bug(as determined via gamefaqs board), via Zombero's DW3 Hardtype IPS patch. - byte[] parryFightFix1 = { 0xbd, 0x9b, 0x6a, 0x29, 0xdf, 0x9d, 0x9b, 0x6a, 0x60 }; - byte[] parryFightFix2 = { 0x20, 0x70, 0xbb }; - for (int lnI = 0; lnI < parryFightFix1.Length; lnI++) - romData[0xbb80 + lnI] = parryFightFix1[lnI]; - for (int lnI = 0; lnI < parryFightFix2.Length; lnI++) - romData[0xa402 + lnI] = parryFightFix2[lnI]; + if (chkRemoveParryFight.Checked) + { + byte[] parryFightFix1 = { 0xbd, 0x9b, 0x6a, 0x29, 0xdf, 0x9d, 0x9b, 0x6a, 0x60 }; + byte[] parryFightFix2 = { 0x20, 0x70, 0xbb }; + for (int lnI = 0; lnI < parryFightFix1.Length; lnI++) + romData[0xbb80 + lnI] = parryFightFix1[lnI]; + for (int lnI = 0; lnI < parryFightFix2.Length; lnI++) + romData[0xa402 + lnI] = parryFightFix2[lnI]; + } // Rename the starting characters. for (int lnI = 0; lnI < 12; lnI++) @@ -1660,12 +1663,12 @@ private void shipPlacement(int byteToUse, int top, int left, int maxLake = 0) private void boostGP() { // Replace monster data - for (int lnI = 0; lnI < 125; lnI++) + for (int lnI = 0; lnI < 139; lnI++) { int byteValStart = 0x32e3 + (23 * lnI); int gp = romData[byteValStart + 4] + ((romData[byteValStart + 18] % 2) * 256); - switch (cboExpGains.SelectedIndex) + switch (cboGoldReq.SelectedIndex) { case 0: gp *= 2; @@ -1689,7 +1692,7 @@ private void boostGP() private void boostXP() { // Replace monster data - for (int lnI = 0; lnI < 125; lnI++) + for (int lnI = 0; lnI < 139; lnI++) { int byteValStart = 0x32e3 + (23 * lnI); @@ -3423,7 +3426,8 @@ private void determineChecks(object sender, EventArgs e) optMonsterSilly.Checked = (number % 4 == 1); optMonsterMedium.Checked = (number % 4 == 2); optMonsterHeavy.Checked = (number % 4 == 3); - chkFourJobFiesta.Checked = (number >= 4); + chkFourJobFiesta.Checked = (number % 8 >= 4); + chkRemoveParryFight.Checked = (number % 16 >= 8); number = convertChartoInt(Convert.ToChar(flags.Substring(1, 1))); cboExpGains.SelectedIndex = (number % 8); @@ -3459,7 +3463,7 @@ private void determineFlags(object sender, EventArgs e) if (loading) return; string flags = ""; - flags += convertIntToChar((optMonsterLight.Checked ? 0 : optMonsterSilly.Checked ? 1 : optMonsterMedium.Checked ? 2 : 3) + (chkFourJobFiesta.Checked ? 4 : 0)); + flags += convertIntToChar((optMonsterLight.Checked ? 0 : optMonsterSilly.Checked ? 1 : optMonsterMedium.Checked ? 2 : 3) + (chkFourJobFiesta.Checked ? 4 : 0) + (chkRemoveParryFight.Checked ? 8 : 0)); flags += convertIntToChar(cboExpGains.SelectedIndex + (8 * cboEncounterRate.SelectedIndex)); flags += convertIntToChar((cboGoldReq.SelectedIndex) + (chkRandomizeXP.Checked ? 4 : 0) + (chkRandomizeGP.Checked ? 8 : 0) + (chkFasterBattles.Checked ? 16 : 0) + (chkSpeedText.Checked ? 32 : 0)); flags += convertIntToChar((chkRandStores.Checked ? 1 : 0) + (chkRandEnemyPatterns.Checked ? 2 : 0) + (chkRandSpellLearning.Checked ? 4 : 0) + (chkRandStatGains.Checked ? 8 : 0) + (chkRandTreasures.Checked ? 16 : 0) + (chkRandMonsterZones.Checked ? 32 : 0)); diff --git a/DW3Randomizer/Form1.resx b/DW3Randomizer/Form1.resx index 0bc840a..c195c96 100644 --- a/DW3Randomizer/Form1.resx +++ b/DW3Randomizer/Form1.resx @@ -120,7 +120,4 @@ 17, 17 - - 17, 17 - \ No newline at end of file diff --git a/DW3Randomizer/bin/Debug/DW3Randomizer.exe b/DW3Randomizer/bin/Debug/DW3Randomizer.exe index cdf286e..2e79b14 100644 Binary files a/DW3Randomizer/bin/Debug/DW3Randomizer.exe and b/DW3Randomizer/bin/Debug/DW3Randomizer.exe differ diff --git a/DW3Randomizer/bin/Debug/DW3Randomizer.pdb b/DW3Randomizer/bin/Debug/DW3Randomizer.pdb index 92d49aa..5365c66 100644 Binary files a/DW3Randomizer/bin/Debug/DW3Randomizer.pdb and b/DW3Randomizer/bin/Debug/DW3Randomizer.pdb differ diff --git a/DW3Randomizer/bin/Debug/lastFile.txt b/DW3Randomizer/bin/Debug/lastFile.txt index e5f07c5..2b261a0 100644 --- a/DW3Randomizer/bin/Debug/lastFile.txt +++ b/DW3Randomizer/bin/Debug/lastFile.txt @@ -1,5 +1,5 @@ C:\bizhawk\dw3 test\Dragon Warrior III (U) (PRG0) [!].nes -0ay@z +Fmm@z Brindar Ragnar Adan diff --git a/DW3Randomizer/obj/Debug/DW3Randomizer.csproj.GenerateResource.Cache b/DW3Randomizer/obj/Debug/DW3Randomizer.csproj.GenerateResource.Cache index 2e36a22..2b90f2b 100644 Binary files a/DW3Randomizer/obj/Debug/DW3Randomizer.csproj.GenerateResource.Cache and b/DW3Randomizer/obj/Debug/DW3Randomizer.csproj.GenerateResource.Cache differ diff --git a/DW3Randomizer/obj/Debug/DW3Randomizer.exe b/DW3Randomizer/obj/Debug/DW3Randomizer.exe index cdf286e..2e79b14 100644 Binary files a/DW3Randomizer/obj/Debug/DW3Randomizer.exe and b/DW3Randomizer/obj/Debug/DW3Randomizer.exe differ diff --git a/DW3Randomizer/obj/Debug/DW3Randomizer.pdb b/DW3Randomizer/obj/Debug/DW3Randomizer.pdb index 92d49aa..5365c66 100644 Binary files a/DW3Randomizer/obj/Debug/DW3Randomizer.pdb and b/DW3Randomizer/obj/Debug/DW3Randomizer.pdb differ