Skip to content

Commit

Permalink
Fix Casting issue (lack of) and improve load speed
Browse files Browse the repository at this point in the history
  • Loading branch information
kwsch committed Feb 7, 2015
1 parent 1942727 commit 490f152
Showing 1 changed file with 45 additions and 47 deletions.
92 changes: 45 additions & 47 deletions PKX/f3-MemoryAmie.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public MemoryAmie(Form1 frm1)
m_parent = frm1;
string[] arguments = Regex.Split(L_Arguments.Text, " ; ");

for (int i = 5; i < Math.Min(arguments.Length,vartypes.Length+5); i++)
for (int i = 5; i < Math.Min(arguments.Length, vartypes.Length + 5); i++)
{
if (arguments[i] == null) continue;
vartypes[i - 5] = arguments[i] + ":";
Expand All @@ -54,6 +54,7 @@ public MemoryAmie(Form1 frm1)
}
public string[] feeling;
public string[] quality;
bool init = false;

// Load/Save Actions
private void loadFields()
Expand All @@ -70,16 +71,16 @@ private void loadFields()

// Load the CT Memories
v1s(M_CT_Friendship, 0xA2); v1s(M_CT_Affection, 0xA3);
CB_CTQual.SelectedIndex = Math.Max(0,h[0xA4]-1);
CB_CTQual.SelectedIndex = Math.Max(0, h[0xA4] - 1);
v1cb(CB_CTMemory, 0xA5); v2cb(CB_CTVar, 0xA8); i1cb(CB_CTFeel, 0xA6);

// Load the OT Memories
v1s(M_OT_Friendship, 0xCA); v1s(M_OT_Affection, 0xCB);
CB_OTQual.SelectedIndex = Math.Max(0,h[0xCC]-1);
v1cb(CB_OTMemory, 0xCD); v2cb(CB_OTVar, 0xCE); i1cb(CB_OTFeel, 0xD0);
CB_OTQual.SelectedIndex = Math.Max(0, h[0xCC] - 1);
v1cb(CB_OTMemory, 0xCD); v2cb(CB_OTVar, 0xCE); i1cb(CB_OTFeel, 0xD0);

CB_Handler.Items.Clear();
CB_Handler.Items.AddRange(new object[] { m_parent.TB_OT.Text + " ("+ot+")"});
CB_Handler.Items.AddRange(new object[] { m_parent.TB_OT.Text + " (" + ot + ")" });

if (Util.TrimFromZero(m_parent.TB_OTt2.Text) != "")
CB_Handler.Items.AddRange(new object[] { m_parent.TB_OTt2.Text });
Expand Down Expand Up @@ -109,7 +110,7 @@ private void loadFields()
L_Fullness.Enabled = L_Enjoyment.Enabled = true;

GB_M_OT.Text = String.Format(withOT + " (" + ot + ")", m_parent.TB_OT.Text);
GB_M_CT.Text = String.Format(withOT,m_parent.TB_OTt2.Text);
GB_M_CT.Text = String.Format(withOT, m_parent.TB_OTt2.Text);
}

GB_M_CT.Enabled = true;
Expand Down Expand Up @@ -141,6 +142,11 @@ private void loadFields()
}
RTB_OT.Visible = CB_OTQual.Enabled = CB_OTMemory.Enabled = CB_OTFeel.Enabled = CB_OTVar.Enabled = M_OT_Affection.Enabled = enable;
}
init = true;

// Manually load the Memory Parse
RTB_CT.Text = getMemoryString(CB_CTMemory, CB_CTVar, CB_CTQual, CB_CTFeel, m_parent.TB_OTt2.Text);
RTB_OT.Text = getMemoryString(CB_OTMemory, CB_OTVar, CB_OTQual, CB_OTFeel, m_parent.TB_OT.Text);
}
private void saveFields()
{
Expand Down Expand Up @@ -173,10 +179,10 @@ private void saveFields()
m_parent.buff[0xA4] = 0;
m_parent.buff[0xA6] = 0;
}
else
else
{
cb1i(CB_CTFeel, 0xA6);
m_parent.buff[0xA4] = (byte)(CB_CTQual.SelectedIndex+1);
m_parent.buff[0xA4] = (byte)(CB_CTQual.SelectedIndex + 1);
}
#endregion
#region // OT MEMORIES
Expand All @@ -198,7 +204,7 @@ private void saveFields()
else
{
cb1i(CB_OTFeel, 0xD0);
m_parent.buff[0xCC] = (byte)(CB_OTQual.SelectedIndex+1);
m_parent.buff[0xCC] = (byte)(CB_OTQual.SelectedIndex + 1);
}
#endregion
}
Expand All @@ -223,7 +229,7 @@ private void i1cb(ComboBox cb, int o)
}
private void v2cb(ComboBox cb, int o)
{
cb.SelectedValue = (int)(h[o] + h[o+1]*0x100);
cb.SelectedValue = (int)(h[o] + h[o + 1] * 0x100);
}
private void cb1v(ComboBox cb, int o)
{
Expand All @@ -236,7 +242,7 @@ private void cb1i(ComboBox cb, int o)
private void cb2v(ComboBox cb, int o)
{
h[o] = (byte)(Convert.ToUInt32(cb.SelectedValue) & 0xFF);
h[o+1] = (byte)(Convert.ToUInt32(cb.SelectedValue) >> 8);
h[o + 1] = (byte)(Convert.ToUInt32(cb.SelectedValue) >> 8);
}

// Event Actions
Expand Down Expand Up @@ -304,38 +310,7 @@ private void getLangStrings()
private void getMemoryArguments(string ARG, ComboBox sender)
{
var argvals = Util.getCBList(new string[] { "" }, null);
#region General Locations
int[] allowed = { };

var genloc = Util.getCBList(Form1.genloc, null);
#endregion
#region Items
int[] items_allowed = new int[697]
{
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,
50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,
100,101,102,103,104,105,106,107,108,109,110,111,112,116,117,118,119,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,
150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,
200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,
250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,
300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,
350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,
400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,
450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,
500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,
550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,
600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,
650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,
700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717
};
var item_list = Util.getCBList(Form1.itemlist, items_allowed);
#endregion
var species_list = new BindingSource(m_parent.CB_Species.DataSource, null);

// Met Locations for Pokecenters healing
var locationXY = Util.getCBList(Form1.metXY_00000, Legal.Met_XY_0);
var move_list = new BindingSource(m_parent.CB_Move1.DataSource, null);

string vs = "";
bool enabled = true;
if (ARG == "NONE")
Expand All @@ -355,6 +330,27 @@ private void getMemoryArguments(string ARG, ComboBox sender)
}
else if (ARG == "ITEM")
{
#region Items
int[] items_allowed = new int[697]
{
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,
50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,
100,101,102,103,104,105,106,107,108,109,110,111,112,116,117,118,119,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,
150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,
200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,
250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,
300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,
350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,
400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,
450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,
500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,
550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,
600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,
650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,
700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717
};
var item_list = Util.getCBList(Form1.itemlist, items_allowed);
#endregion
argvals = item_list;
vs = vartypes[2];
}
Expand All @@ -365,23 +361,24 @@ private void getMemoryArguments(string ARG, ComboBox sender)
}
else if (ARG == "LOCATION")
{
argvals = Util.getCBList(Form1.metXY_00000, allowed);
int[] allowed = { };
argvals = Util.getCBList(Form1.metXY_00000, Legal.Met_XY_0);
vs = vartypes[4];
}

if (sender == CB_CTMemory)
{
CB_CTVar.DataSource = argvals;
CB_CTVar.DisplayMember = "Text";
CB_CTVar.ValueMember = "Value";
CB_CTVar.DataSource = argvals;
LCTV.Text = vs;
LCTV.Visible = CB_CTVar.Visible = CB_CTVar.Enabled = enabled;
}
else
{
CB_OTVar.DataSource = argvals;
CB_OTVar.DisplayMember = "Text";
CB_OTVar.ValueMember = "Value";
CB_OTVar.DataSource = argvals;
LOTV.Text = vs;
LOTV.Visible = CB_OTVar.Visible = CB_OTVar.Enabled = enabled;
}
Expand All @@ -390,7 +387,7 @@ private string getMemoryString(ComboBox m, ComboBox arg, ComboBox q, ComboBox f,
{
string result = "";
string nn = m_parent.TB_Nickname.Text;
string a = arg.Text;
string a = ((Util.cbItem)(arg.SelectedItem)).Text;
int mem = Util.getIndex(m);

bool enabled = false;
Expand Down Expand Up @@ -491,6 +488,7 @@ private void changeMemory(object sender, EventArgs e)
};
}

if (!init) return;
RTB_OT.Text = getMemoryString(CB_OTMemory, CB_OTVar, CB_OTQual, CB_OTFeel, m_parent.TB_OT.Text);
RTB_CT.Text = getMemoryString(CB_CTMemory, CB_CTVar, CB_CTQual, CB_CTFeel, m_parent.TB_OTt2.Text);
}
Expand Down Expand Up @@ -543,4 +541,4 @@ private void clickResetLocation(object sender, EventArgs e)
mta[index].SelectedValue = 0;
}
}
}
}

0 comments on commit 490f152

Please sign in to comment.