add BW2 FunfestMission controls

The entree level can display 9999 in game,
but fixed to 999 when it change.

MAX PassPowers require 9999 costs.
This commit is contained in:
pokecal 2017-06-03 00:52:25 +09:00
parent c54cd30a3c
commit 497f0c62b2
2 changed files with 877 additions and 39 deletions

View file

@ -33,6 +33,9 @@
this.B_Save = new System.Windows.Forms.Button();
this.TC_Misc = new System.Windows.Forms.TabControl();
this.TAB_Main = new System.Windows.Forms.TabPage();
this.GB_KeySystem = new System.Windows.Forms.GroupBox();
this.B_AllKeys = new System.Windows.Forms.Button();
this.CLB_KeySystem = new System.Windows.Forms.CheckedListBox();
this.CHK_LibertyPass = new System.Windows.Forms.CheckBox();
this.GB_Roamer = new System.Windows.Forms.GroupBox();
this.L_Roamer642 = new System.Windows.Forms.Label();
@ -42,20 +45,65 @@
this.GB_FlyDest = new System.Windows.Forms.GroupBox();
this.CLB_FlyDest = new System.Windows.Forms.CheckedListBox();
this.B_AllFlyDest = new System.Windows.Forms.Button();
this.GB_KeySystem = new System.Windows.Forms.GroupBox();
this.CLB_KeySystem = new System.Windows.Forms.CheckedListBox();
this.B_AllKeys = new System.Windows.Forms.Button();
this.TAB_Entralink = new System.Windows.Forms.TabPage();
this.L_FMParticipants = new System.Windows.Forms.Label();
this.L_FMCompleted = new System.Windows.Forms.Label();
this.L_FMParticipated = new System.Windows.Forms.Label();
this.L_FMHosted = new System.Windows.Forms.Label();
this.L_FMTopScore = new System.Windows.Forms.Label();
this.GB_EntreeLevel = new System.Windows.Forms.GroupBox();
this.NUD_EntreeWhiteEXP = new System.Windows.Forms.NumericUpDown();
this.NUD_EntreeBlackEXP = new System.Windows.Forms.NumericUpDown();
this.NUD_EntreeBlackLV = new System.Windows.Forms.NumericUpDown();
this.NUD_EntreeWhiteLV = new System.Windows.Forms.NumericUpDown();
this.L_EntreeBlack = new System.Windows.Forms.Label();
this.L_EntreeWhite = new System.Windows.Forms.Label();
this.NUD_FMMostParticipants = new System.Windows.Forms.NumericUpDown();
this.NUD_FMTopScores = new System.Windows.Forms.NumericUpDown();
this.NUD_FMCompleted = new System.Windows.Forms.NumericUpDown();
this.NUD_FMParticipated = new System.Windows.Forms.NumericUpDown();
this.NUD_FMHosted = new System.Windows.Forms.NumericUpDown();
this.GB_FunfestMissions = new System.Windows.Forms.GroupBox();
this.CHK_FMNew = new System.Windows.Forms.CheckBox();
this.L_FMLocked = new System.Windows.Forms.Label();
this.L_FMBestScore = new System.Windows.Forms.Label();
this.L_FMBestTotal = new System.Windows.Forms.Label();
this.NUD_FMBestScore = new System.Windows.Forms.NumericUpDown();
this.NUD_FMBestTotal = new System.Windows.Forms.NumericUpDown();
this.CB_FMLevel = new System.Windows.Forms.ComboBox();
this.L_FMUnlocked = new System.Windows.Forms.Label();
this.B_FunfestMissions = new System.Windows.Forms.Button();
this.LB_FunfestMissions = new System.Windows.Forms.ListBox();
this.GB_PassPowers = new System.Windows.Forms.GroupBox();
this.CB_PassPower3 = new System.Windows.Forms.ComboBox();
this.CB_PassPower2 = new System.Windows.Forms.ComboBox();
this.CB_PassPower1 = new System.Windows.Forms.ComboBox();
this.TC_Misc.SuspendLayout();
this.TAB_Main.SuspendLayout();
this.GB_KeySystem.SuspendLayout();
this.GB_Roamer.SuspendLayout();
this.GB_FlyDest.SuspendLayout();
this.GB_KeySystem.SuspendLayout();
this.TAB_Entralink.SuspendLayout();
this.GB_EntreeLevel.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.NUD_EntreeWhiteEXP)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_EntreeBlackEXP)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_EntreeBlackLV)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_EntreeWhiteLV)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_FMMostParticipants)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_FMTopScores)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_FMCompleted)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_FMParticipated)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_FMHosted)).BeginInit();
this.GB_FunfestMissions.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.NUD_FMBestScore)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_FMBestTotal)).BeginInit();
this.GB_PassPowers.SuspendLayout();
this.SuspendLayout();
//
// B_Cancel
//
this.B_Cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.B_Cancel.Location = new System.Drawing.Point(52, 316);
this.B_Cancel.Location = new System.Drawing.Point(197, 311);
this.B_Cancel.Name = "B_Cancel";
this.B_Cancel.Size = new System.Drawing.Size(75, 23);
this.B_Cancel.TabIndex = 0;
@ -66,7 +114,7 @@
// B_Save
//
this.B_Save.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.B_Save.Location = new System.Drawing.Point(133, 316);
this.B_Save.Location = new System.Drawing.Point(278, 311);
this.B_Save.Name = "B_Save";
this.B_Save.Size = new System.Drawing.Size(75, 23);
this.B_Save.TabIndex = 1;
@ -80,10 +128,11 @@
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.TC_Misc.Controls.Add(this.TAB_Main);
this.TC_Misc.Controls.Add(this.TAB_Entralink);
this.TC_Misc.Location = new System.Drawing.Point(12, 12);
this.TC_Misc.Name = "TC_Misc";
this.TC_Misc.SelectedIndex = 0;
this.TC_Misc.Size = new System.Drawing.Size(196, 298);
this.TC_Misc.Size = new System.Drawing.Size(341, 293);
this.TC_Misc.TabIndex = 2;
//
// TAB_Main
@ -95,11 +144,41 @@
this.TAB_Main.Location = new System.Drawing.Point(4, 22);
this.TAB_Main.Name = "TAB_Main";
this.TAB_Main.Padding = new System.Windows.Forms.Padding(3);
this.TAB_Main.Size = new System.Drawing.Size(188, 272);
this.TAB_Main.Size = new System.Drawing.Size(333, 267);
this.TAB_Main.TabIndex = 0;
this.TAB_Main.Text = "Main";
this.TAB_Main.UseVisualStyleBackColor = true;
//
// GB_KeySystem
//
this.GB_KeySystem.Controls.Add(this.B_AllKeys);
this.GB_KeySystem.Controls.Add(this.CLB_KeySystem);
this.GB_KeySystem.Location = new System.Drawing.Point(152, 6);
this.GB_KeySystem.Name = "GB_KeySystem";
this.GB_KeySystem.Size = new System.Drawing.Size(140, 127);
this.GB_KeySystem.TabIndex = 3;
this.GB_KeySystem.TabStop = false;
this.GB_KeySystem.Text = "Unlocked Keys";
//
// B_AllKeys
//
this.B_AllKeys.Location = new System.Drawing.Point(6, 18);
this.B_AllKeys.Name = "B_AllKeys";
this.B_AllKeys.Size = new System.Drawing.Size(75, 23);
this.B_AllKeys.TabIndex = 1;
this.B_AllKeys.Text = "Check All";
this.B_AllKeys.UseVisualStyleBackColor = true;
this.B_AllKeys.Click += new System.EventHandler(this.B_AllKeys_Click);
//
// CLB_KeySystem
//
this.CLB_KeySystem.CheckOnClick = true;
this.CLB_KeySystem.FormattingEnabled = true;
this.CLB_KeySystem.Location = new System.Drawing.Point(6, 47);
this.CLB_KeySystem.Name = "CLB_KeySystem";
this.CLB_KeySystem.Size = new System.Drawing.Size(128, 74);
this.CLB_KeySystem.TabIndex = 0;
//
// CHK_LibertyPass
//
this.CHK_LibertyPass.AutoSize = true;
@ -187,41 +266,450 @@
this.B_AllFlyDest.UseVisualStyleBackColor = true;
this.B_AllFlyDest.Click += new System.EventHandler(this.B_AllFlyDest_Click);
//
// GB_KeySystem
// TAB_Entralink
//
this.GB_KeySystem.Controls.Add(this.B_AllKeys);
this.GB_KeySystem.Controls.Add(this.CLB_KeySystem);
this.GB_KeySystem.Location = new System.Drawing.Point(6, 139);
this.GB_KeySystem.Name = "GB_KeySystem";
this.GB_KeySystem.Size = new System.Drawing.Size(140, 127);
this.GB_KeySystem.TabIndex = 3;
this.GB_KeySystem.TabStop = false;
this.GB_KeySystem.Text = "Unlocked Keys";
this.TAB_Entralink.Controls.Add(this.L_FMParticipants);
this.TAB_Entralink.Controls.Add(this.L_FMCompleted);
this.TAB_Entralink.Controls.Add(this.L_FMParticipated);
this.TAB_Entralink.Controls.Add(this.L_FMHosted);
this.TAB_Entralink.Controls.Add(this.L_FMTopScore);
this.TAB_Entralink.Controls.Add(this.GB_EntreeLevel);
this.TAB_Entralink.Controls.Add(this.NUD_FMMostParticipants);
this.TAB_Entralink.Controls.Add(this.NUD_FMTopScores);
this.TAB_Entralink.Controls.Add(this.NUD_FMCompleted);
this.TAB_Entralink.Controls.Add(this.NUD_FMParticipated);
this.TAB_Entralink.Controls.Add(this.NUD_FMHosted);
this.TAB_Entralink.Controls.Add(this.GB_FunfestMissions);
this.TAB_Entralink.Controls.Add(this.GB_PassPowers);
this.TAB_Entralink.Location = new System.Drawing.Point(4, 22);
this.TAB_Entralink.Name = "TAB_Entralink";
this.TAB_Entralink.Size = new System.Drawing.Size(333, 267);
this.TAB_Entralink.TabIndex = 1;
this.TAB_Entralink.Text = "Entralink";
this.TAB_Entralink.UseVisualStyleBackColor = true;
//
// CLB_KeySystem
// L_FMParticipants
//
this.CLB_KeySystem.CheckOnClick = true;
this.CLB_KeySystem.FormattingEnabled = true;
this.CLB_KeySystem.Location = new System.Drawing.Point(6, 47);
this.CLB_KeySystem.Name = "CLB_KeySystem";
this.CLB_KeySystem.Size = new System.Drawing.Size(128, 74);
this.CLB_KeySystem.TabIndex = 0;
this.L_FMParticipants.Location = new System.Drawing.Point(161, 239);
this.L_FMParticipants.Name = "L_FMParticipants";
this.L_FMParticipants.Size = new System.Drawing.Size(114, 23);
this.L_FMParticipants.TabIndex = 16;
this.L_FMParticipants.Text = "Most Participants";
this.L_FMParticipants.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// B_AllKeys
// L_FMCompleted
//
this.B_AllKeys.Location = new System.Drawing.Point(6, 18);
this.B_AllKeys.Name = "B_AllKeys";
this.B_AllKeys.Size = new System.Drawing.Size(75, 23);
this.B_AllKeys.TabIndex = 1;
this.B_AllKeys.Text = "Check All";
this.B_AllKeys.UseVisualStyleBackColor = true;
this.B_AllKeys.Click += new System.EventHandler(this.B_AllKeys_Click);
this.L_FMCompleted.Location = new System.Drawing.Point(4, 239);
this.L_FMCompleted.Name = "L_FMCompleted";
this.L_FMCompleted.Size = new System.Drawing.Size(84, 23);
this.L_FMCompleted.TabIndex = 15;
this.L_FMCompleted.Text = "Completed";
this.L_FMCompleted.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// L_FMParticipated
//
this.L_FMParticipated.Location = new System.Drawing.Point(4, 214);
this.L_FMParticipated.Name = "L_FMParticipated";
this.L_FMParticipated.Size = new System.Drawing.Size(84, 23);
this.L_FMParticipated.TabIndex = 14;
this.L_FMParticipated.Text = "Participated";
this.L_FMParticipated.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// L_FMHosted
//
this.L_FMHosted.Location = new System.Drawing.Point(4, 189);
this.L_FMHosted.Name = "L_FMHosted";
this.L_FMHosted.Size = new System.Drawing.Size(84, 23);
this.L_FMHosted.TabIndex = 13;
this.L_FMHosted.Text = "Hosted";
this.L_FMHosted.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// L_FMTopScore
//
this.L_FMTopScore.Location = new System.Drawing.Point(158, 214);
this.L_FMTopScore.Name = "L_FMTopScore";
this.L_FMTopScore.Size = new System.Drawing.Size(111, 23);
this.L_FMTopScore.TabIndex = 12;
this.L_FMTopScore.Text = "Top Score";
this.L_FMTopScore.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// GB_EntreeLevel
//
this.GB_EntreeLevel.Controls.Add(this.NUD_EntreeWhiteEXP);
this.GB_EntreeLevel.Controls.Add(this.NUD_EntreeBlackEXP);
this.GB_EntreeLevel.Controls.Add(this.NUD_EntreeBlackLV);
this.GB_EntreeLevel.Controls.Add(this.NUD_EntreeWhiteLV);
this.GB_EntreeLevel.Controls.Add(this.L_EntreeBlack);
this.GB_EntreeLevel.Controls.Add(this.L_EntreeWhite);
this.GB_EntreeLevel.Location = new System.Drawing.Point(6, 6);
this.GB_EntreeLevel.Name = "GB_EntreeLevel";
this.GB_EntreeLevel.Size = new System.Drawing.Size(137, 68);
this.GB_EntreeLevel.TabIndex = 11;
this.GB_EntreeLevel.TabStop = false;
this.GB_EntreeLevel.Text = "Entree Level";
//
// NUD_EntreeWhiteEXP
//
this.NUD_EntreeWhiteEXP.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.NUD_EntreeWhiteEXP.Location = new System.Drawing.Point(94, 43);
this.NUD_EntreeWhiteEXP.Maximum = new decimal(new int[] {
49,
0,
0,
0});
this.NUD_EntreeWhiteEXP.Name = "NUD_EntreeWhiteEXP";
this.NUD_EntreeWhiteEXP.Size = new System.Drawing.Size(37, 19);
this.NUD_EntreeWhiteEXP.TabIndex = 6;
this.NUD_EntreeWhiteEXP.Value = new decimal(new int[] {
49,
0,
0,
0});
this.NUD_EntreeWhiteEXP.ValueChanged += new System.EventHandler(this.NUD_EntreeWhiteEXP_ValueChanged);
//
// NUD_EntreeBlackEXP
//
this.NUD_EntreeBlackEXP.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.NUD_EntreeBlackEXP.Location = new System.Drawing.Point(94, 18);
this.NUD_EntreeBlackEXP.Maximum = new decimal(new int[] {
49,
0,
0,
0});
this.NUD_EntreeBlackEXP.Name = "NUD_EntreeBlackEXP";
this.NUD_EntreeBlackEXP.Size = new System.Drawing.Size(37, 19);
this.NUD_EntreeBlackEXP.TabIndex = 5;
this.NUD_EntreeBlackEXP.Value = new decimal(new int[] {
49,
0,
0,
0});
this.NUD_EntreeBlackEXP.ValueChanged += new System.EventHandler(this.NUD_EntreeBlackEXP_ValueChanged);
//
// NUD_EntreeBlackLV
//
this.NUD_EntreeBlackLV.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.NUD_EntreeBlackLV.Location = new System.Drawing.Point(45, 18);
this.NUD_EntreeBlackLV.Maximum = new decimal(new int[] {
999,
0,
0,
0});
this.NUD_EntreeBlackLV.Name = "NUD_EntreeBlackLV";
this.NUD_EntreeBlackLV.Size = new System.Drawing.Size(43, 19);
this.NUD_EntreeBlackLV.TabIndex = 1;
this.NUD_EntreeBlackLV.Value = new decimal(new int[] {
999,
0,
0,
0});
this.NUD_EntreeBlackLV.ValueChanged += new System.EventHandler(this.NUD_EntreeBlackLV_ValueChanged);
//
// NUD_EntreeWhiteLV
//
this.NUD_EntreeWhiteLV.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.NUD_EntreeWhiteLV.Location = new System.Drawing.Point(45, 43);
this.NUD_EntreeWhiteLV.Maximum = new decimal(new int[] {
999,
0,
0,
0});
this.NUD_EntreeWhiteLV.Name = "NUD_EntreeWhiteLV";
this.NUD_EntreeWhiteLV.Size = new System.Drawing.Size(43, 19);
this.NUD_EntreeWhiteLV.TabIndex = 0;
this.NUD_EntreeWhiteLV.Value = new decimal(new int[] {
999,
0,
0,
0});
this.NUD_EntreeWhiteLV.ValueChanged += new System.EventHandler(this.NUD_EntreeWhiteLV_ValueChanged);
//
// L_EntreeBlack
//
this.L_EntreeBlack.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.L_EntreeBlack.Location = new System.Drawing.Point(6, 15);
this.L_EntreeBlack.Name = "L_EntreeBlack";
this.L_EntreeBlack.Size = new System.Drawing.Size(33, 23);
this.L_EntreeBlack.TabIndex = 3;
this.L_EntreeBlack.Text = "B";
this.L_EntreeBlack.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// L_EntreeWhite
//
this.L_EntreeWhite.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.L_EntreeWhite.Location = new System.Drawing.Point(5, 40);
this.L_EntreeWhite.Name = "L_EntreeWhite";
this.L_EntreeWhite.Size = new System.Drawing.Size(34, 23);
this.L_EntreeWhite.TabIndex = 4;
this.L_EntreeWhite.Text = "W";
this.L_EntreeWhite.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// NUD_FMMostParticipants
//
this.NUD_FMMostParticipants.Location = new System.Drawing.Point(281, 242);
this.NUD_FMMostParticipants.Maximum = new decimal(new int[] {
255,
0,
0,
0});
this.NUD_FMMostParticipants.Name = "NUD_FMMostParticipants";
this.NUD_FMMostParticipants.Size = new System.Drawing.Size(43, 19);
this.NUD_FMMostParticipants.TabIndex = 10;
this.NUD_FMMostParticipants.Value = new decimal(new int[] {
255,
0,
0,
0});
//
// NUD_FMTopScores
//
this.NUD_FMTopScores.Location = new System.Drawing.Point(275, 217);
this.NUD_FMTopScores.Maximum = new decimal(new int[] {
9999,
0,
0,
0});
this.NUD_FMTopScores.Name = "NUD_FMTopScores";
this.NUD_FMTopScores.Size = new System.Drawing.Size(49, 19);
this.NUD_FMTopScores.TabIndex = 9;
this.NUD_FMTopScores.Value = new decimal(new int[] {
9999,
0,
0,
0});
//
// NUD_FMCompleted
//
this.NUD_FMCompleted.Location = new System.Drawing.Point(94, 242);
this.NUD_FMCompleted.Maximum = new decimal(new int[] {
9999,
0,
0,
0});
this.NUD_FMCompleted.Name = "NUD_FMCompleted";
this.NUD_FMCompleted.Size = new System.Drawing.Size(49, 19);
this.NUD_FMCompleted.TabIndex = 8;
this.NUD_FMCompleted.Value = new decimal(new int[] {
9999,
0,
0,
0});
//
// NUD_FMParticipated
//
this.NUD_FMParticipated.Location = new System.Drawing.Point(94, 217);
this.NUD_FMParticipated.Maximum = new decimal(new int[] {
9999,
0,
0,
0});
this.NUD_FMParticipated.Name = "NUD_FMParticipated";
this.NUD_FMParticipated.Size = new System.Drawing.Size(49, 19);
this.NUD_FMParticipated.TabIndex = 7;
this.NUD_FMParticipated.Value = new decimal(new int[] {
9999,
0,
0,
0});
//
// NUD_FMHosted
//
this.NUD_FMHosted.Location = new System.Drawing.Point(94, 192);
this.NUD_FMHosted.Maximum = new decimal(new int[] {
9999,
0,
0,
0});
this.NUD_FMHosted.Name = "NUD_FMHosted";
this.NUD_FMHosted.Size = new System.Drawing.Size(49, 19);
this.NUD_FMHosted.TabIndex = 6;
this.NUD_FMHosted.Value = new decimal(new int[] {
9999,
0,
0,
0});
//
// GB_FunfestMissions
//
this.GB_FunfestMissions.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.GB_FunfestMissions.Controls.Add(this.CHK_FMNew);
this.GB_FunfestMissions.Controls.Add(this.L_FMLocked);
this.GB_FunfestMissions.Controls.Add(this.L_FMBestScore);
this.GB_FunfestMissions.Controls.Add(this.L_FMBestTotal);
this.GB_FunfestMissions.Controls.Add(this.NUD_FMBestScore);
this.GB_FunfestMissions.Controls.Add(this.NUD_FMBestTotal);
this.GB_FunfestMissions.Controls.Add(this.CB_FMLevel);
this.GB_FunfestMissions.Controls.Add(this.L_FMUnlocked);
this.GB_FunfestMissions.Controls.Add(this.B_FunfestMissions);
this.GB_FunfestMissions.Controls.Add(this.LB_FunfestMissions);
this.GB_FunfestMissions.Location = new System.Drawing.Point(149, 6);
this.GB_FunfestMissions.Name = "GB_FunfestMissions";
this.GB_FunfestMissions.Size = new System.Drawing.Size(178, 205);
this.GB_FunfestMissions.TabIndex = 5;
this.GB_FunfestMissions.TabStop = false;
this.GB_FunfestMissions.Text = "Funfest Missions";
//
// CHK_FMNew
//
this.CHK_FMNew.Location = new System.Drawing.Point(6, 177);
this.CHK_FMNew.Name = "CHK_FMNew";
this.CHK_FMNew.Size = new System.Drawing.Size(66, 24);
this.CHK_FMNew.TabIndex = 9;
this.CHK_FMNew.Text = "NEW";
this.CHK_FMNew.UseVisualStyleBackColor = true;
this.CHK_FMNew.CheckedChanged += new System.EventHandler(this.CHK_FMNew_CheckedChanged);
//
// L_FMLocked
//
this.L_FMLocked.Location = new System.Drawing.Point(6, 127);
this.L_FMLocked.Name = "L_FMLocked";
this.L_FMLocked.Size = new System.Drawing.Size(70, 23);
this.L_FMLocked.TabIndex = 8;
this.L_FMLocked.Text = "Locked";
this.L_FMLocked.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// L_FMBestScore
//
this.L_FMBestScore.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.L_FMBestScore.Location = new System.Drawing.Point(65, 177);
this.L_FMBestScore.Name = "L_FMBestScore";
this.L_FMBestScore.Size = new System.Drawing.Size(52, 23);
this.L_FMBestScore.TabIndex = 7;
this.L_FMBestScore.Text = "Score";
this.L_FMBestScore.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// L_FMBestTotal
//
this.L_FMBestTotal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.L_FMBestTotal.Location = new System.Drawing.Point(4, 152);
this.L_FMBestTotal.Name = "L_FMBestTotal";
this.L_FMBestTotal.Size = new System.Drawing.Size(113, 23);
this.L_FMBestTotal.TabIndex = 6;
this.L_FMBestTotal.Text = "Best Records Total";
this.L_FMBestTotal.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// NUD_FMBestScore
//
this.NUD_FMBestScore.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.NUD_FMBestScore.Location = new System.Drawing.Point(123, 180);
this.NUD_FMBestScore.Maximum = new decimal(new int[] {
9999,
0,
0,
0});
this.NUD_FMBestScore.Name = "NUD_FMBestScore";
this.NUD_FMBestScore.Size = new System.Drawing.Size(49, 19);
this.NUD_FMBestScore.TabIndex = 5;
this.NUD_FMBestScore.ValueChanged += new System.EventHandler(this.NUD_FMBestScore_ValueChanged);
//
// NUD_FMBestTotal
//
this.NUD_FMBestTotal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.NUD_FMBestTotal.Location = new System.Drawing.Point(123, 155);
this.NUD_FMBestTotal.Maximum = new decimal(new int[] {
9999,
0,
0,
0});
this.NUD_FMBestTotal.Name = "NUD_FMBestTotal";
this.NUD_FMBestTotal.Size = new System.Drawing.Size(49, 19);
this.NUD_FMBestTotal.TabIndex = 4;
this.NUD_FMBestTotal.ValueChanged += new System.EventHandler(this.NUD_FMBestTotal_ValueChanged);
//
// CB_FMLevel
//
this.CB_FMLevel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.CB_FMLevel.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.CB_FMLevel.FormattingEnabled = true;
this.CB_FMLevel.Location = new System.Drawing.Point(82, 129);
this.CB_FMLevel.Name = "CB_FMLevel";
this.CB_FMLevel.Size = new System.Drawing.Size(90, 20);
this.CB_FMLevel.TabIndex = 3;
this.CB_FMLevel.SelectedIndexChanged += new System.EventHandler(this.CB_FMLevel_SelectedIndexChanged);
//
// L_FMUnlocked
//
this.L_FMUnlocked.Location = new System.Drawing.Point(6, 127);
this.L_FMUnlocked.Name = "L_FMUnlocked";
this.L_FMUnlocked.Size = new System.Drawing.Size(70, 23);
this.L_FMUnlocked.TabIndex = 2;
this.L_FMUnlocked.Text = "Unlocked";
this.L_FMUnlocked.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// B_FunfestMissions
//
this.B_FunfestMissions.Location = new System.Drawing.Point(6, 18);
this.B_FunfestMissions.Name = "B_FunfestMissions";
this.B_FunfestMissions.Size = new System.Drawing.Size(144, 23);
this.B_FunfestMissions.TabIndex = 0;
this.B_FunfestMissions.Text = "Unlock All (w/o No.0)";
this.B_FunfestMissions.UseVisualStyleBackColor = true;
this.B_FunfestMissions.Click += new System.EventHandler(this.B_FunfestMissions_Click);
//
// LB_FunfestMissions
//
this.LB_FunfestMissions.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.LB_FunfestMissions.FormattingEnabled = true;
this.LB_FunfestMissions.ItemHeight = 12;
this.LB_FunfestMissions.Location = new System.Drawing.Point(6, 47);
this.LB_FunfestMissions.Name = "LB_FunfestMissions";
this.LB_FunfestMissions.Size = new System.Drawing.Size(166, 76);
this.LB_FunfestMissions.TabIndex = 1;
this.LB_FunfestMissions.SelectedIndexChanged += new System.EventHandler(this.LB_FunfestMissions_SelectedIndexChanged);
//
// GB_PassPowers
//
this.GB_PassPowers.Controls.Add(this.CB_PassPower3);
this.GB_PassPowers.Controls.Add(this.CB_PassPower2);
this.GB_PassPowers.Controls.Add(this.CB_PassPower1);
this.GB_PassPowers.Location = new System.Drawing.Point(6, 80);
this.GB_PassPowers.Name = "GB_PassPowers";
this.GB_PassPowers.Size = new System.Drawing.Size(137, 96);
this.GB_PassPowers.TabIndex = 2;
this.GB_PassPowers.TabStop = false;
this.GB_PassPowers.Text = "Pass Powers";
//
// CB_PassPower3
//
this.CB_PassPower3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.CB_PassPower3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.CB_PassPower3.FormattingEnabled = true;
this.CB_PassPower3.Location = new System.Drawing.Point(6, 70);
this.CB_PassPower3.Name = "CB_PassPower3";
this.CB_PassPower3.Size = new System.Drawing.Size(125, 20);
this.CB_PassPower3.TabIndex = 2;
//
// CB_PassPower2
//
this.CB_PassPower2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.CB_PassPower2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.CB_PassPower2.FormattingEnabled = true;
this.CB_PassPower2.Location = new System.Drawing.Point(6, 44);
this.CB_PassPower2.Name = "CB_PassPower2";
this.CB_PassPower2.Size = new System.Drawing.Size(125, 20);
this.CB_PassPower2.TabIndex = 1;
//
// CB_PassPower1
//
this.CB_PassPower1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.CB_PassPower1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.CB_PassPower1.FormattingEnabled = true;
this.CB_PassPower1.Location = new System.Drawing.Point(6, 18);
this.CB_PassPower1.Name = "CB_PassPower1";
this.CB_PassPower1.Size = new System.Drawing.Size(125, 20);
this.CB_PassPower1.TabIndex = 0;
//
// SAV_Misc5
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(220, 351);
this.ClientSize = new System.Drawing.Size(365, 346);
this.Controls.Add(this.TC_Misc);
this.Controls.Add(this.B_Save);
this.Controls.Add(this.B_Cancel);
@ -232,9 +720,24 @@
this.TC_Misc.ResumeLayout(false);
this.TAB_Main.ResumeLayout(false);
this.TAB_Main.PerformLayout();
this.GB_KeySystem.ResumeLayout(false);
this.GB_Roamer.ResumeLayout(false);
this.GB_FlyDest.ResumeLayout(false);
this.GB_KeySystem.ResumeLayout(false);
this.TAB_Entralink.ResumeLayout(false);
this.GB_EntreeLevel.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.NUD_EntreeWhiteEXP)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_EntreeBlackEXP)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_EntreeBlackLV)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_EntreeWhiteLV)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_FMMostParticipants)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_FMTopScores)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_FMCompleted)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_FMParticipated)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_FMHosted)).EndInit();
this.GB_FunfestMissions.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.NUD_FMBestScore)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_FMBestTotal)).EndInit();
this.GB_PassPowers.ResumeLayout(false);
this.ResumeLayout(false);
}
@ -257,5 +760,38 @@
private System.Windows.Forms.GroupBox GB_KeySystem;
private System.Windows.Forms.Button B_AllKeys;
private System.Windows.Forms.CheckedListBox CLB_KeySystem;
private System.Windows.Forms.TabPage TAB_Entralink;
private System.Windows.Forms.NumericUpDown NUD_EntreeWhiteLV;
private System.Windows.Forms.NumericUpDown NUD_EntreeBlackLV;
private System.Windows.Forms.Label L_FMParticipants;
private System.Windows.Forms.Label L_FMCompleted;
private System.Windows.Forms.Label L_FMParticipated;
private System.Windows.Forms.Label L_FMHosted;
private System.Windows.Forms.Label L_FMTopScore;
private System.Windows.Forms.GroupBox GB_EntreeLevel;
private System.Windows.Forms.Label L_EntreeBlack;
private System.Windows.Forms.Label L_EntreeWhite;
private System.Windows.Forms.NumericUpDown NUD_FMMostParticipants;
private System.Windows.Forms.NumericUpDown NUD_FMTopScores;
private System.Windows.Forms.NumericUpDown NUD_FMCompleted;
private System.Windows.Forms.NumericUpDown NUD_FMParticipated;
private System.Windows.Forms.NumericUpDown NUD_FMHosted;
private System.Windows.Forms.GroupBox GB_FunfestMissions;
private System.Windows.Forms.Label L_FMBestScore;
private System.Windows.Forms.Label L_FMBestTotal;
private System.Windows.Forms.NumericUpDown NUD_FMBestScore;
private System.Windows.Forms.NumericUpDown NUD_FMBestTotal;
private System.Windows.Forms.ComboBox CB_FMLevel;
private System.Windows.Forms.Label L_FMUnlocked;
private System.Windows.Forms.Button B_FunfestMissions;
private System.Windows.Forms.ListBox LB_FunfestMissions;
private System.Windows.Forms.GroupBox GB_PassPowers;
private System.Windows.Forms.ComboBox CB_PassPower3;
private System.Windows.Forms.ComboBox CB_PassPower2;
private System.Windows.Forms.ComboBox CB_PassPower1;
private System.Windows.Forms.Label L_FMLocked;
private System.Windows.Forms.CheckBox CHK_FMNew;
private System.Windows.Forms.NumericUpDown NUD_EntreeWhiteEXP;
private System.Windows.Forms.NumericUpDown NUD_EntreeBlackEXP;
}
}

View file

@ -14,6 +14,8 @@ namespace PKHeX.WinForms
SAV = (SAV5)(Origin = sav).Clone();
InitializeComponent();
readMain();
if (SAV.B2W2) readEntralink();
else TC_Misc.Controls.Remove(TAB_Entralink);
}
private void B_Cancel_Click(object sender, EventArgs e)
@ -24,6 +26,7 @@ namespace PKHeX.WinForms
private void B_Save_Click(object sender, EventArgs e)
{
saveMain();
if (SAV.B2W2) saveEntralink();
Origin.setData(SAV.Data, 0);
Close();
}
@ -31,13 +34,13 @@ namespace PKHeX.WinForms
private ComboBox[] cbr;
private int ofsFly;
private int[] FlyDestC;
protected int ofsRoamer = 0x21B00;
protected int ofsLibPass = 0x212BC;
protected uint keyLibPass = 0x0132B536;
private readonly int ofsRoamer = 0x21B00;
private readonly int ofsLibPass = 0x212BC;
private readonly uint keyLibPass = 0x0132B536;
private uint valLibPass;
private bool bLibPass;
protected int ofsKS = 0x25828;
protected uint[] keyKS = new uint[] {
private readonly int ofsKS = 0x25828;
private readonly uint[] keyKS = new uint[] {
// 0x34525, 0x11963, // Selected City
// 0x31239, 0x15657, 0x49589, // Selected Difficulty
// 0x94525, 0x81963, 0x38569, // Selected Mystery Door
@ -208,5 +211,304 @@ namespace PKHeX.WinForms
for (int i = 0; i < CLB_KeySystem.Items.Count; i++)
CLB_KeySystem.SetItemChecked(i, true);
}
private readonly int[][] FMUnlockConditions = new[] {
null, // 00
null, // 01
new[] { 2444, }, // 02
null, // 03
new[] { 2445, }, // 04
null, // 05
new[] { 2462, }, // 06
new[] { 2452, 2476, }, // 07
new[] { 2476, 2548, }, // 08
new[] { 2447, }, new[] { 2447, }, // 09
new[] { 2453, }, new[] { 2453, }, // 10
new[] { 2504, }, // 11
new[] { 2457, 2507, }, // 12
new[] { 2458, 2478, }, // 13
new[] { 2456, 2508, }, // 14
new[] { 2448, }, new[] { 2448, }, // 15
new[] { 2549, }, // 16
new[] { 2449, }, // 17
new[] { 2479, 2513, }, // 18
new[] { 2479, 2550, }, // 19
new[] { 2481, }, // 20
new[] { 2459, }, // 21
new[] { 2454, }, // 22
new[] { 2551, }, // 23
new[] { 2400, }, // 24
new[] { 2400, }, // 25
new[] { 2400, }, new[] { 2400, }, // 26
new[] { 2400, }, new[] { 2400, }, // 27
new[] { 2400, }, // 28
new[] { 2400, 2460, }, // 29
new[] { 2400, }, // 30
new[] { 2400, 2461, }, new[] { 2400, 2461, }, // 31
new[] { 2437, }, // 32
new[] { 2450, }, // 33
new[] { 2451, }, // 34
new[] { 2455, }, // 35
new[] { 105, }, // 36
new[] { 2400, }, // 37
new[] { 2557, }, // 38
};
private bool editing;
private readonly int ofsFM = 0x25900;
private readonly ToolTip TipExpB = new ToolTip(), TipExpW = new ToolTip();
private NumericUpDown[] nudaE, nudaF;
private ComboBox[] cba;
private ToolTip[] ta;
private void readEntralink()
{
editing = true;
nudaE = new[] { NUD_EntreeWhiteLV, NUD_EntreeWhiteEXP, NUD_EntreeBlackLV, NUD_EntreeBlackEXP };
ushort u;
for (int i = 0; i < 2; i++)
{
u = BitConverter.ToUInt16(SAV.Data, 0x2120C + (i << 1));
nudaE[i << 1].Value = u > 999 ? 999 : u;
nudaE[(i << 1) + 1].Value = SAV.Data[ofsFM + 0xF8 + i];
}
string[] PassPowerA = new[] {
"(none)",
"-1 Encounter", "-2 Encounter", "-3 Encounter", "+1 Encounter", "+2 Encounter", "+3 Encounter",
"+1 Hatching", "+2 Hatching", "+3 Hatching", "S Hatching",
"+1 Befriending", "+2 Befriending", "+3 Befriending", "S Befriending",
"+1 Bargain", "+2 Bargain", "+3 Bargain", "S Bargain",
"+1 HP(20)", "+2 HP(50)", "+3 HP(200)", "+1 PP(5)", "+2 PP(10)", "+3 PP(ALL)",
"-1 Exp.", "-2 Exp.", "-3 Exp.", "+1 Exp.", "+2 Exp.", "+3 Exp.", "S Exp.",
"+1 PrizeMoney", "+2 PrizeMoney", "+3 PrizeMoney", "S PrizeMoney",
"+1 Capture", "+2 Capture", "+3 Capture", "S Capture",
"+1 Search", "+2 Search", "+3 Search", "S Search",
"+1 HiddenGrotto", "+2 HiddenGrotto", "+3 HiddenGrotto", "S HiddenGrotto",
"+1 Charm", "+2 Charm", "+3 Charm", "S Charm",
"(HP Full Recovery)", "(MAX Hatching)", "(MAX Bargain)", "(MAX Befriending)", "(MAX Exp.)", "(MAX PrizeMoney)", "(MAX Capture)", "(MAX Search)", "(MAX HiddenGrotto)", "(MAX Charm)",
};
int[] PassPowerC = new[] {
48,
3, 4, 5, 0, 1, 2,
6, 7, 8, 33,
9, 10, 11, 35,
12, 13, 14, 34,
15, 16, 17, 18, 19, 20,
24, 25, 26, 21, 22, 23, 36,
27, 28, 29, 37,
30, 31, 32, 38,
49, 50, 51, 58,
52, 53, 54, 60,
55, 56, 57, 62,
39, 40, 41, 42, 43, 44, 45, 59, 61, 63,
};
ComboItem[] PassPowerB = PassPowerA.Zip(PassPowerC, (f, s) => new ComboItem { Text = f, Value = s, }).ToArray();
cba = new[] { CB_PassPower1, CB_PassPower2, CB_PassPower3 };
for(int i = 0; i < cba.Length; i++)
{
cba[i].Items.Clear();
cba[i].DisplayMember = "Text";
cba[i].ValueMember = "Value";
cba[i].DataSource = new BindingSource(PassPowerB, null);
cba[i].SelectedValue = (int)SAV.Data[0x213A0 + i];
}
nudaF = new[] { NUD_FMHosted, NUD_FMParticipated, NUD_FMCompleted, NUD_FMTopScores };
for (int i = 0; i < nudaF.Length; i++)
{
u = BitConverter.ToUInt16(SAV.Data, ofsFM + 0xF0 + (i << 1));
nudaF[i].Value = u > 9999 ? 9999 : u;
}
NUD_FMMostParticipants.Value = SAV.Data[ofsFM + 0xFA];
string[] FMTitles = new[] {
"00 The First Berry Search!",
"01 Collect Berries!",
"02 Find Lost Items!",
"03 Find Lost Boys!",
"04 Enjoy Shopping!",
"05 Find Audino!",
"06 Search for 3 Pokemon!",
"07 Train with Martial Artists!",
"08 Sparring with 10 Trainers!",
"09B Get Rich Quick!",
"09W Treasure Hunting!",
"10B Exciting Trading!",
"10W Exhilarating Trading!",
"11 Find Emolga!",
"12 Wings Falling on the Drawbridge!",
"13 Find Treasures!",
"14 Mushrooms Hide-and-Seek!",
"15B Find Mysterious Ores!",
"15W Find Shining Ores!",
"16 The 2 Lost Treasures",
"17 Big Harvest of Berries!",
"18 Ring the Bell...",
"19 The Bell that Rings 3 Times",
"20 Path to an Ace!",
"21 Shocking Shopping!",
"22 Memory Training!",
"23 Push the Limit of Your Memory...",
"24 Find Rustling Grass!",
"25 Find Shards!",
"26B Forgotten Lost Items",
"26W Not-Found Lost Items",
"27B What is the Best Price?",
"27W What is the Real Price?",
"28 Give me the Item!",
"29 Do a Great Trade-Up!",
"30 Search Hidden Grottes!",
"31B Noisy Hidden Grottes!",
"31W Quiet Hidden Grottes!",
"32 Fishing Competition!",
"33 Mulch Collector!",
"34 Where are Fluttering Hearts?",
"35 Rock-Paper-Scissors Competition!",
"36 Take a Walk with Eggs!",
"37 Find Steelix!",
"38 The Berry-Hunting Adventure!",
};
LB_FunfestMissions.Items.Clear();
LB_FunfestMissions.Items.AddRange(FMTitles);
CB_FMLevel.Items.Clear();
CB_FMLevel.Items.AddRange(new string[] { "Lv.1", "Lv.2 +", "Lv.3 ++", "Lv.3 +++", });
ta = new[] { TipExpW, TipExpB };
setNudMax();
setEntreeExpTooltip();
editing = false;
}
private void saveEntralink()
{
for (int i = 0; i < 2; i++)
{
BitConverter.GetBytes((ushort)nudaE[i << 1].Value).CopyTo(SAV.Data, 0x2120C + (i << 1));
SAV.Data[ofsFM + 0xF8 + i] = (byte)nudaE[(i << 1) + 1].Value;
}
for (int i = 0, j; i < cba.Length; i++)
{
if (cba[i].SelectedIndex < 0) continue;
j = (int)cba[i].SelectedValue;
SAV.Data[0x213A0 + i] = (byte)j;
}
for (int i = 0; i < nudaF.Length; i++)
BitConverter.GetBytes((ushort)nudaF[i].Value).CopyTo(SAV.Data, ofsFM + 0xF0 + (i << 1));
SAV.Data[ofsFM + 0xFA] = (byte)NUD_FMMostParticipants.Value;
}
private void setEntreeExpTooltip(bool? isBlack = null)
{
int lv;
int exp;
string tip0;
for (int i = 0; i < 2; i++)
{
if (isBlack == true) continue;
lv = (int)nudaE[i << 1].Value;
if (lv < 9)
exp = (lv * (lv + 1) * 5) / 2;
else
exp = (lv - 9) * 50 + 225;
exp += (int)nudaE[(i << 1) + 1].Value;
tip0 = (i == 0 ? "White" : "Black") + " LV " + lv.ToString() + Environment.NewLine + " Exp.Points: " + exp.ToString() + Environment.NewLine + " To Next Lv: " + ((lv == 999) ? "-" : (nudaE[(i << 1) + 1].Maximum - nudaE[(i << 1) + 1].Value + 1).ToString());
ta[i].RemoveAll();
ta[i].SetToolTip(nudaE[i << 1], tip0);
ta[i].SetToolTip(nudaE[(i << 1) + 1], tip0);
}
}
private void setNudMax(bool? isBlack = null)
{
int lv;
int expmax;
for (int i = 0; i < 2; i++)
{
if (isBlack == true) continue;
lv = (int)nudaE[i << 1].Value;
expmax = lv > 8 ? 49 : lv * 5 + 4;
if (nudaE[(i << 1) + 1].Value > expmax) nudaE[(i << 1) + 1].Value = expmax;
nudaE[(i << 1) + 1].Maximum = expmax;
}
}
private void setFMVal(int ofsB, int len, uint val)
{
int s = LB_FunfestMissions.SelectedIndex;
if (s < 0 || s >= FMUnlockConditions.Length) return;
BitConverter.GetBytes(BitConverter.ToUInt32(SAV.Data, ofsFM + (s << 2)) & ~(~(uint)0 >> (32 - len) << ofsB) | val << ofsB).CopyTo(SAV.Data, ofsFM + (s << 2));
}
private void LB_FunfestMissions_SelectedIndexChanged(object sender, EventArgs e)
{
int s = LB_FunfestMissions.SelectedIndex;
if (s < 0 || s >= FMUnlockConditions.Length) return;
editing = true;
bool FirstMissionCleared = (SAV.Data[0x2025E + (2438 >> 3)] & 1 << (2438 & 7)) != 0;
L_FMUnlocked.Visible = s == 0 ? !FirstMissionCleared : FirstMissionCleared && (FMUnlockConditions[s]?.All(v => (SAV.Data[0x2025E + (v >> 3)] & 1 << (v & 7)) != 0)) != false;
L_FMLocked.Visible = !L_FMUnlocked.Visible;
uint u = BitConverter.ToUInt32(SAV.Data, ofsFM + (s << 2));
CHK_FMNew.Checked = u >> 31 != 0;
CB_FMLevel.SelectedIndex = (int)(u << 2 >> 30);
int i = (int)(u << 4 >> 18);
NUD_FMBestScore.Value = i > 9999 ? 9999 : i;
i = (int)(u & 0x3FF);
NUD_FMBestTotal.Value = i > 9999 ? 9999 : i;
editing = false;
}
private void CHK_FMNew_CheckedChanged(object sender, EventArgs e)
{
if (editing) return;
setFMVal(31, 1, (uint)(CHK_FMNew.Checked ? 1 : 0));
}
private void CB_FMLevel_SelectedIndexChanged(object sender, EventArgs e)
{
if (editing) return;
setFMVal(28, 3, (uint)(CB_FMLevel.SelectedIndex & 3));
}
private void NUD_FMBestScore_ValueChanged(object sender, EventArgs e)
{
if (editing) return;
setFMVal(14, 14, (uint)NUD_FMBestScore.Value);
}
private void NUD_FMBestTotal_ValueChanged(object sender, EventArgs e)
{
if (editing) return;
setFMVal(0, 14, (uint)NUD_FMBestTotal.Value);
}
private void B_FunfestMissions_Click(object sender, EventArgs e)
{
SAV.Data[0x2025E + (2438 >> 3)] |= (byte)(1 << (2438 & 7));
foreach (int[] ia in FMUnlockConditions)
for (int i = 0; i < ia?.Length; i++)
SAV.Data[0x2025E + (ia[i] >> 3)] |= (byte)(1 << (ia[i] & 7));
L_FMUnlocked.Visible = true;
L_FMLocked.Visible = false;
}
private void NUD_EntreeBlackLV_ValueChanged(object sender, EventArgs e)
{
if (editing) return;
setNudMax(isBlack: true);
setEntreeExpTooltip(isBlack: true);
}
private void NUD_EntreeWhiteLV_ValueChanged(object sender, EventArgs e)
{
if (editing) return;
setNudMax(isBlack: false);
setEntreeExpTooltip(isBlack: false);
}
private void NUD_EntreeBlackEXP_ValueChanged(object sender, EventArgs e)
{
if (editing) return;
setEntreeExpTooltip(isBlack: true);
}
private void NUD_EntreeWhiteEXP_ValueChanged(object sender, EventArgs e)
{
if (editing) return;
setEntreeExpTooltip(isBlack: false);
}
}
}