Fixed Trainer names and added patch for it in Eng and Spa

This commit is contained in:
Miguel Terol Espino 2023-09-27 18:01:12 +02:00 committed by AdAstra-LD
parent a6578a3c4e
commit ec10a15a3c
4 changed files with 200 additions and 16 deletions

View File

@ -9037,10 +9037,25 @@ namespace DSPRE {
}
private void trainerSaveCurrentButton_Click(object sender, EventArgs e) {
if (trainerNameTextBox.Text.Length > TrainerFile.maxNameLen) {
MessageBox.Show($"The length of this Trainer name exceeds {TrainerFile.maxNameLen} characters.", "Trainer data could not be saved!", MessageBoxButtons.OK, MessageBoxIcon.Error);
if (!ROMToolboxDialog.flag_TrainerNamesExpanded && trainerNameTextBox.Text.Length > TrainerFile.maxNameLen) {
DialogResult d;
MessageBox.Show($"The length of this Trainer name exceeds {TrainerFile.maxNameLen} characters.",
"Trainer data could not be saved!", MessageBoxButtons.OK, MessageBoxIcon.Error);
d = MessageBox.Show("Within the RomToolBox (found near the wild editor) you can expand this limit if you are working on an ENglish or Spanish rom (for now).",
"Do you wish to go there now?", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (d == DialogResult.Yes)
{
romToolBoxToolStripMenuItem_Click(null, null);
}
return;
}
if(trainerNameTextBox.Text.Length > ROMToolboxDialog.expandedTrainerNameLength)
{
MessageBox.Show($"The length of this Trainer name exceeds {ROMToolboxDialog.expandedTrainerNameLength} characters.",
"Trainer data could not be saved!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
currentTrainerFile.trp.partyCount = (byte)partyCountUpDown.Value;
currentTrainerFile.trp.chooseMoves = trainerMovesCheckBox.Checked;

View File

@ -68,6 +68,10 @@
this.disableTextureAnimationsTextLBL = new System.Windows.Forms.Label();
this.disableTextureAnimationsLBL = new System.Windows.Forms.Label();
this.disableTextureAnimationsButton = new System.Windows.Forms.Button();
this.expandTrainerNamesCB = new System.Windows.Forms.PictureBox();
this.expandTrainerNamesTextLBL = new System.Windows.Forms.Label();
this.expandTrainerNamesLBL = new System.Windows.Forms.Label();
this.expandTrainerNamesButton = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.arm9patchCB)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.overlay1CB)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.BDHCamCB)).BeginInit();
@ -77,6 +81,7 @@
((System.ComponentModel.ISupportInitialize)(this.repointScrcmdCB)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dynamicHeadersPatchCB)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.disableTextureAnimationsCB)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.expandTrainerNamesCB)).BeginInit();
this.SuspendLayout();
//
// applyItemStandardizeButton
@ -443,11 +448,11 @@
this.applyDynamicHeadersButton.UseVisualStyleBackColor = true;
this.applyDynamicHeadersButton.Click += new System.EventHandler(this.dynamicHeadersButton_Click);
//
// disableDynamicTexturesCB
// disableTextureAnimationsCB
//
this.disableTextureAnimationsCB.Image = ((System.Drawing.Image)(resources.GetObject("disableDynamicTexturesCB.Image")));
this.disableTextureAnimationsCB.Image = ((System.Drawing.Image)(resources.GetObject("disableTextureAnimationsCB.Image")));
this.disableTextureAnimationsCB.Location = new System.Drawing.Point(803, 238);
this.disableTextureAnimationsCB.Name = "disableDynamicTexturesCB";
this.disableTextureAnimationsCB.Name = "disableTextureAnimationsCB";
this.disableTextureAnimationsCB.Size = new System.Drawing.Size(20, 20);
this.disableTextureAnimationsCB.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.disableTextureAnimationsCB.TabIndex = 39;
@ -484,12 +489,56 @@
this.disableTextureAnimationsButton.UseVisualStyleBackColor = true;
this.disableTextureAnimationsButton.Click += new System.EventHandler(this.disableDynamicTexturesButton_Click);
//
// expandTrainerNamesCB
//
this.expandTrainerNamesCB.Image = ((System.Drawing.Image)(resources.GetObject("expandTrainerNamesCB.Image")));
this.expandTrainerNamesCB.Location = new System.Drawing.Point(803, 317);
this.expandTrainerNamesCB.Name = "expandTrainerNamesCB";
this.expandTrainerNamesCB.Size = new System.Drawing.Size(20, 20);
this.expandTrainerNamesCB.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.expandTrainerNamesCB.TabIndex = 43;
this.expandTrainerNamesCB.TabStop = false;
this.expandTrainerNamesCB.Visible = false;
//
// expandTrainerNamesTextLBL
//
this.expandTrainerNamesTextLBL.Location = new System.Drawing.Point(481, 320);
this.expandTrainerNamesTextLBL.Name = "expandTrainerNamesTextLBL";
this.expandTrainerNamesTextLBL.Size = new System.Drawing.Size(288, 58);
this.expandTrainerNamesTextLBL.TabIndex = 42;
this.expandTrainerNamesTextLBL.Text = "Expands trainer names to be up to 12 characters long.";
this.expandTrainerNamesTextLBL.UseMnemonic = false;
//
// expandTrainerNamesLBL
//
this.expandTrainerNamesLBL.AutoSize = true;
this.expandTrainerNamesLBL.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.expandTrainerNamesLBL.Location = new System.Drawing.Point(481, 305);
this.expandTrainerNamesLBL.Name = "expandTrainerNamesLBL";
this.expandTrainerNamesLBL.Size = new System.Drawing.Size(135, 13);
this.expandTrainerNamesLBL.TabIndex = 41;
this.expandTrainerNamesLBL.Text = "Expand Trainer Names";
//
// expandTrainerNamesButton
//
this.expandTrainerNamesButton.Location = new System.Drawing.Point(829, 301);
this.expandTrainerNamesButton.Name = "expandTrainerNamesButton";
this.expandTrainerNamesButton.Size = new System.Drawing.Size(100, 50);
this.expandTrainerNamesButton.TabIndex = 40;
this.expandTrainerNamesButton.Text = "Apply Patch";
this.expandTrainerNamesButton.UseVisualStyleBackColor = true;
this.expandTrainerNamesButton.Click += new System.EventHandler(this.expandTrainerNamesButton_Click);
//
// ROMToolboxDialog
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.ClientSize = new System.Drawing.Size(950, 513);
this.Controls.Add(this.expandTrainerNamesCB);
this.Controls.Add(this.expandTrainerNamesTextLBL);
this.Controls.Add(this.expandTrainerNamesLBL);
this.Controls.Add(this.expandTrainerNamesButton);
this.Controls.Add(this.disableTextureAnimationsCB);
this.Controls.Add(this.disableTextureAnimationsTextLBL);
this.Controls.Add(this.disableTextureAnimationsLBL);
@ -544,6 +593,7 @@
((System.ComponentModel.ISupportInitialize)(this.repointScrcmdCB)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dynamicHeadersPatchCB)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.disableTextureAnimationsCB)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.expandTrainerNamesCB)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@ -591,5 +641,9 @@
private System.Windows.Forms.Label disableTextureAnimationsTextLBL;
private System.Windows.Forms.Label disableTextureAnimationsLBL;
private System.Windows.Forms.Button disableTextureAnimationsButton;
private System.Windows.Forms.PictureBox expandTrainerNamesCB;
private System.Windows.Forms.Label expandTrainerNamesTextLBL;
private System.Windows.Forms.Label expandTrainerNamesLBL;
private System.Windows.Forms.Button expandTrainerNamesButton;
}
}

View File

@ -11,6 +11,7 @@ using DSPRE.Resources;
using static DSPRE.RomInfo;
using System.Threading.Tasks;
using static DSPRE.Resources.ROMToolboxDB.ToolboxDB;
using static NSMBe4.ROM;
namespace DSPRE {
public partial class ROMToolboxDialog : Form {
@ -25,9 +26,12 @@ namespace DSPRE {
public static bool flag_MainComboTableRepointed { get; set; } = false;
public static bool flag_TrainerClassBattleTableRepointed { get; set; } = false;
public static bool flag_PokemonBattleTableRepointed { get; set; } = false;
public static bool flag_TrainerNamesExpanded { get; set; } = false;
public static bool overlay1MustBeRestoredFromBackup { get; private set; } = true;
public static int expandedTrainerNameLength = 12;
#region Constructor
public ROMToolboxDialog() {
InitializeComponent();
@ -36,10 +40,12 @@ namespace DSPRE {
if (RomInfo.gameLanguage == gLangEnum.English || RomInfo.gameLanguage == gLangEnum.Spanish) {
CheckARM9ExpansionApplied();
CheckExpandedTrainerNamespatchApplied();
} else {
DisableARM9patch("Unsupported\nlanguage");
DisableBDHCamPatch("Unsupported\nlanguage");
DisableScrcmdRepointPatch("Unsupported\nlanguage");
DisableTrainerNameExpansionPatch("Unsuported\nlanguage");
}
switch (RomInfo.gameFamily) {
@ -132,6 +138,13 @@ namespace DSPRE {
disableTextureAnimationsTextLBL.Enabled = false;
disableTextureAnimationsButton.Text = reason;
}
private void DisableTrainerNameExpansionPatch(string reason)
{
expandTrainerNamesButton.Enabled = false;
expandTrainerNamesLBL.Enabled = false;
expandTrainerNamesTextLBL.Enabled = false;
expandTrainerNamesButton.Text = reason;
}
#endregion
#endregion
@ -303,6 +316,29 @@ namespace DSPRE {
public void CheckScrcmdRepointPatchApplied() {
//throw new NotImplementedException();
}
public void CheckExpandedTrainerNamespatchApplied()
{
uint position = 0x6AC32;
switch (RomInfo.gameFamily)
{
case gFamEnum.DP:
if (RomInfo.gameLanguage.Equals(gLangEnum.English)) position = 0x6AC32;
else if (RomInfo.gameLanguage.Equals(gLangEnum.Spanish)) position = 0x6AC8E;
break;
case gFamEnum.Plat:
if (RomInfo.gameLanguage.Equals(gLangEnum.English)) position = 0x791DE;
else if (RomInfo.gameLanguage.Equals(gLangEnum.Spanish)) position = 0x7927E;
break;
case gFamEnum.HGSS:
if (RomInfo.gameLanguage.Equals(gLangEnum.English) || RomInfo.gameVersion.Equals(gVerEnum.SoulSilver)) position = 0x7342E;
else if (RomInfo.gameLanguage.Equals(gLangEnum.Spanish)) position = 0x73426;
break;
}
byte initValue = DSUtils.ARM9.ReadByte(position);
if(initValue == (byte)ROMToolboxDialog.expandedTrainerNameLength) DisableTrainerNameExpansionPatch("AlreadyApplied");
}
#endregion
#region Button Actions
@ -782,7 +818,74 @@ namespace DSPRE {
} else {
MessageBox.Show("No changes have been made.", "Operation canceled", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
private void expandTrainerNamesButton_Click(object sender, EventArgs e)
{
// Pearl USA ARM9 at 0x6AC32 // TODO: Verify
// Pearl Spain ARM9 at 0x6AC8E // TODO: Verify
// Diamond USA ARM9 at 0x6AC32
// Diamond Spain ARM9 at 0x6AC8E
// Platinum USA ARM9 at 0x791DE
// Platinum Spain ARM9 at 0x7927E
// HeartGold USA ARM9 at 0x7342E
// HeartGold Spain ARM9 at 0x73426
// SoulSilver USA ARM9 at 0x7342E
// SoulSilver Spain ARM9 at 0x7342E // TODO: Verify
DialogResult d;
int position = 0x7342E;
bool gameFamGood = true;
d = MessageBox.Show($"Applying this patch will set the Trainer Name max length to { ROMToolboxDialog.expandedTrainerNameLength }.\n"+
"Please note that if you have modified the ARM9 these offsets may be wrong.\n"+
"If you have done so we encourage you to seek in your ARM9 for where to make the modification as your offset might change.\n\n" +
"Are you sure you want to proceed?",
"Confirm to proceed", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (d == DialogResult.Yes)
{
switch (RomInfo.gameFamily)
{
case gFamEnum.DP:
if (RomInfo.gameLanguage.Equals(gLangEnum.English)) position = 0x6AC32;
else if (RomInfo.gameLanguage.Equals(gLangEnum.Spanish)) position = 0x6AC8E;
else gameFamGood = false;
break;
case gFamEnum.Plat:
if (RomInfo.gameLanguage.Equals(gLangEnum.English)) position = 0x791DE;
else if (RomInfo.gameLanguage.Equals(gLangEnum.Spanish)) position = 0x7927E;
else gameFamGood = false;
break;
case gFamEnum.HGSS:
if (RomInfo.gameLanguage.Equals(gLangEnum.English) || RomInfo.gameVersion.Equals(gVerEnum.SoulSilver)) position = 0x7342E;
else if (RomInfo.gameLanguage.Equals(gLangEnum.Spanish)) position = 0x73426;
else gameFamGood = false;
break;
}
if (gameFamGood)
{
using (DSUtils.ARM9.Writer wr = new DSUtils.ARM9.Writer())
{
wr.BaseStream.Position = position;
wr.Write((byte)ROMToolboxDialog.expandedTrainerNameLength);
}
ROMToolboxDialog.flag_TrainerNamesExpanded = true;
DisableTrainerNameExpansionPatch("Already applied");
expandTrainerNamesCB.Visible = true;
MessageBox.Show("Trainer Names have been expanded.", "Operation successful.", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Sorry this game language does not have a recorded offset for this patch.\n\n"+
"Reach out in our discord if you want to help researching it!",
"Operation canceled", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
MessageBox.Show("No changes have been made.", "Operation canceled", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
#region Mikelan's custom commands
private void applyCustomCommands(object sender, EventArgs e) {
int expTableOffset = GetCommandTableOffset();
@ -923,5 +1026,7 @@ namespace DSPRE {
MessageBox.Show("This patch has already been applied.", "Can't reapply patch", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
#endregion
}
}

View File

@ -127,7 +127,7 @@ This patch is necessary to accomplish most ASM edits.
<data name="arm9patchCB.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
wAAADsABataJCQAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
bPLz+IQY464yh1s0Ne9LXK3rERAGkPt/hLDwPAt0WiTg7MtLYhgL3xaQZzUVsC1AD0Y7baK6AKzBaD8z
Ya0APVi4NR/xFCZ481LLhbWHF4ToxecZ2UAmD/Y4kQ+Ag3hrB7VdSjZ6dEJpvENrBrAEguIBIb4J0FIw
upmAncykgSX9hgfNYHyTqg2kaiXFN87xo5nSrQ+kXic1kuVygUkD6d58CYZ1nPWgzlMB3EvmcL1i+AEb
@ -137,7 +137,7 @@ This patch is necessary to accomplish most ASM edits.
<data name="BDHCamCB.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
wAAADsABataJCQAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
bPLz+IQY464yh1s0Ne9LXK3rERAGkPt/hLDwPAt0WiTg7MtLYhgL3xaQZzUVsC1AD0Y7baK6AKzBaD8z
Ya0APVi4NR/xFCZ481LLhbWHF4ToxecZ2UAmD/Y4kQ+Ag3hrB7VdSjZ6dEJpvENrBrAEguIBIb4J0FIw
upmAncykgSX9hgfNYHyTqg2kaiXFN87xo5nSrQ+kXic1kuVygUkD6d58CYZ1nPWgzlMB3EvmcL1i+AEb
@ -147,7 +147,7 @@ This patch is necessary to accomplish most ASM edits.
<data name="sentenceCaseCB.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
wAAADsABataJCQAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
bPLz+IQY464yh1s0Ne9LXK3rERAGkPt/hLDwPAt0WiTg7MtLYhgL3xaQZzUVsC1AD0Y7baK6AKzBaD8z
Ya0APVi4NR/xFCZ481LLhbWHF4ToxecZ2UAmD/Y4kQ+Ag3hrB7VdSjZ6dEJpvENrBrAEguIBIb4J0FIw
upmAncykgSX9hgfNYHyTqg2kaiXFN87xo5nSrQ+kXic1kuVygUkD6d58CYZ1nPWgzlMB3EvmcL1i+AEb
@ -157,7 +157,7 @@ This patch is necessary to accomplish most ASM edits.
<data name="itemNumbersCB.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
wAAADsABataJCQAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
bPLz+IQY464yh1s0Ne9LXK3rERAGkPt/hLDwPAt0WiTg7MtLYhgL3xaQZzUVsC1AD0Y7baK6AKzBaD8z
Ya0APVi4NR/xFCZ481LLhbWHF4ToxecZ2UAmD/Y4kQ+Ag3hrB7VdSjZ6dEJpvENrBrAEguIBIb4J0FIw
upmAncykgSX9hgfNYHyTqg2kaiXFN87xo5nSrQ+kXic1kuVygUkD6d58CYZ1nPWgzlMB3EvmcL1i+AEb
@ -167,7 +167,7 @@ This patch is necessary to accomplish most ASM edits.
<data name="expandedMatrixCB.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
wAAADsABataJCQAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
bPLz+IQY464yh1s0Ne9LXK3rERAGkPt/hLDwPAt0WiTg7MtLYhgL3xaQZzUVsC1AD0Y7baK6AKzBaD8z
Ya0APVi4NR/xFCZ481LLhbWHF4ToxecZ2UAmD/Y4kQ+Ag3hrB7VdSjZ6dEJpvENrBrAEguIBIb4J0FIw
upmAncykgSX9hgfNYHyTqg2kaiXFN87xo5nSrQ+kXic1kuVygUkD6d58CYZ1nPWgzlMB3EvmcL1i+AEb
@ -177,7 +177,7 @@ This patch is necessary to accomplish most ASM edits.
<data name="repointScrcmdCB.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
wAAADsABataJCQAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
bPLz+IQY464yh1s0Ne9LXK3rERAGkPt/hLDwPAt0WiTg7MtLYhgL3xaQZzUVsC1AD0Y7baK6AKzBaD8z
Ya0APVi4NR/xFCZ481LLhbWHF4ToxecZ2UAmD/Y4kQ+Ag3hrB7VdSjZ6dEJpvENrBrAEguIBIb4J0FIw
upmAncykgSX9hgfNYHyTqg2kaiXFN87xo5nSrQ+kXic1kuVygUkD6d58CYZ1nPWgzlMB3EvmcL1i+AEb
@ -187,17 +187,27 @@ This patch is necessary to accomplish most ASM edits.
<data name="dynamicHeadersPatchCB.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
wAAADsABataJCQAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
bPLz+IQY464yh1s0Ne9LXK3rERAGkPt/hLDwPAt0WiTg7MtLYhgL3xaQZzUVsC1AD0Y7baK6AKzBaD8z
Ya0APVi4NR/xFCZ481LLhbWHF4ToxecZ2UAmD/Y4kQ+Ag3hrB7VdSjZ6dEJpvENrBrAEguIBIb4J0FIw
upmAncykgSX9hgfNYHyTqg2kaiXFN87xo5nSrQ+kXic1kuVygUkD6d58CYZ1nPWgzlMB3EvmcL1i+AEb
Ho2MhU9VbQAAAABJRU5ErkJggg==
</value>
</data>
<data name="disableDynamicTexturesCB.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="disableTextureAnimationsCB.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
wAAADsABataJCQAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
bPLz+IQY464yh1s0Ne9LXK3rERAGkPt/hLDwPAt0WiTg7MtLYhgL3xaQZzUVsC1AD0Y7baK6AKzBaD8z
Ya0APVi4NR/xFCZ481LLhbWHF4ToxecZ2UAmD/Y4kQ+Ag3hrB7VdSjZ6dEJpvENrBrAEguIBIb4J0FIw
upmAncykgSX9hgfNYHyTqg2kaiXFN87xo5nSrQ+kXic1kuVygUkD6d58CYZ1nPWgzlMB3EvmcL1i+AEb
Ho2MhU9VbQAAAABJRU5ErkJggg==
</value>
</data>
<data name="expandTrainerNamesCB.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vwAADr8BOAVTJAAAAOFJREFUOE+tj8ERgkAMRddx0Js90ItFeJS7B3vxTDO04FiCdaxJ2ISwmywjcPiT
bPLz+IQY464yh1s0Ne9LXK3rERAGkPt/hLDwPAt0WiTg7MtLYhgL3xaQZzUVsC1AD0Y7baK6AKzBaD8z
Ya0APVi4NR/xFCZ481LLhbWHF4ToxecZ2UAmD/Y4kQ+Ag3hrB7VdSjZ6dEJpvENrBrAEguIBIb4J0FIw
upmAncykgSX9hgfNYHyTqg2kaiXFN87xo5nSrQ+kXic1kuVygUkD6d58CYZ1nPWgzlMB3EvmcL1i+AEb