void loadDjinn(TabControl a) //, TabPage d) { TabPage d = a.SelectedTab; Table_Manager tm = new Table_Manager(); tm.setTable(ram, 0x61AFC, 0x8); tm.setPanel(a.SelectedTab); //tabPage6); int pnlx = d.Width / 2 - 150 + 100 + 25; int pnly = d.Height / 2 - 125; //d.Text = "Forge"; List <int> items = new List <int>(); // = {5, 6, 7 }; items.Add(5); String[] text = { "" }; // "Processed", "Rusted" }; //tm.doCombo(pnlx + 200, pnly + 20, Bits.textToBytes(text) tm.doTableListbox(Bits.textToBytes(text), Bits.numList(83)); tm.doNud(pnlx + 200, pnly + 80, 0, 16); tm.doNud(pnlx + 200, pnly + 100, 2, 8); tm.doNud(pnlx + 200, pnly + 120, 3, 8); tm.doNud(pnlx + 200, pnly + 140, 4, 8); tm.doNud(pnlx + 200, pnly + 160, 5, 8); tm.doNud(pnlx + 200, pnly + 180, 6, 8); tm.doNud(pnlx + 200, pnly + 200, 7, 8); //tm.loadEntry(); }
//Random Encounters private void initRandEnctrs() { Table_Manager tm = new Table_Manager(); tm.setTable(test.rom, 0xEDACC, 0x1C); tm.setPanel(tabControl1.SelectedTab); //tabPage8); tabPage8.Text = "Encounters"; List <int> items = new List <int>(); //ListBox lstb = tm.doTableListbox(); for (int ind3 = 0; ind3 < 0x6E; ind3++) { int ind2 = Bits.getInt16(test.rom, 0xEDACC + 4 + ind3 * 0x1C); int ind = Bits.getInt16(test.rom, 0x12CE7C + ind2 * 0x18); //StringBuilder str = new StringBuilder(0x200); //str.Append((ind3).ToString().PadLeft(3, ' ') + "|"); //items.Add((ind3).ToString().PadLeft(3, ' ') + "|" + getTextStrShort(1068 + ind)); items.Add(1068 + ind); } tm.doTableListbox(txt, items); //items); int pnlx = tabPage8.Width / 2 - 150 + 100 + 25; int pnly = tabPage8.Height / 2 - 125; tm.doLabel(pnlx, pnly, "Frequency"); tm.doNud(pnlx, pnly + 20, 0, 16); tm.doLabel(pnlx + 200, pnly, "Target Level"); tm.doNud(pnlx + 200, pnly + 20, 2, 16); tm.doLabel(pnlx, pnly + 60, "Group"); tm.doLabel(pnlx + 200, pnly + 60, "Rate"); String[] enGroups = new String[660]; for (int ind2 = 0; ind2 < 660; ind2++) { enGroups[ind2] = ind2.ToString().PadLeft(3, ' ') + "|" + Bits.getTextShort(txt, 1068 + Bits.getInt16(test.rom, 0x12CE7C + ind2 * 0x18)); } tm.doCombo(pnlx, pnly + 80, Bits.textToBytes(enGroups), Bits.numList(660), 4, 16); tm.doCombo(pnlx, pnly + 100, Bits.textToBytes(enGroups), Bits.numList(660), 6, 16); tm.doCombo(pnlx, pnly + 120, Bits.textToBytes(enGroups), Bits.numList(660), 8, 16); tm.doCombo(pnlx, pnly + 140, Bits.textToBytes(enGroups), Bits.numList(660), 10, 16); tm.doCombo(pnlx, pnly + 160, Bits.textToBytes(enGroups), Bits.numList(660), 12, 16); tm.doCombo(pnlx, pnly + 180, Bits.textToBytes(enGroups), Bits.numList(660), 14, 16); tm.doCombo(pnlx, pnly + 200, Bits.textToBytes(enGroups), Bits.numList(660), 16, 16); tm.doCombo(pnlx, pnly + 220, Bits.textToBytes(enGroups), Bits.numList(660), 18, 16); tm.doNud(pnlx + 200, pnly + 80, 20, 8); tm.doNud(pnlx + 200, pnly + 100, 21, 8); tm.doNud(pnlx + 200, pnly + 120, 22, 8); tm.doNud(pnlx + 200, pnly + 140, 23, 8); tm.doNud(pnlx + 200, pnly + 160, 24, 8); tm.doNud(pnlx + 200, pnly + 180, 25, 8); tm.doNud(pnlx + 200, pnly + 200, 26, 8); tm.doNud(pnlx + 200, pnly + 220, 27, 8); //lstb.SelectedIndex = 0; }
private void texteditor() { TabPage tp = tabControl1.SelectedTab; int w = tp.Width; int h = tp.Height; Table_Manager tm = new Table_Manager(); tm.setPanel(tp); tp.Text = "Text Editor"; tm.doTableListbox(txt, Bits.numList(12461)); tm.sl.tb.Bounds = new Rectangle(0, 120, w, 20); tm.sl.lv.Bounds = new Rectangle(0, 140, w, h - 140); DataTextbox dtb = tm.doNamebox(0, 0, txt, 0); dtb.tbx.Bounds = new Rectangle(0, 0, w - 100, 120); dtb.tbx.Multiline = true; dtb.bn.Bounds = new Rectangle(w - 100, 0, 100, 120); }
public override void load(TabControl tabControl1) { Table_Manager tm = new Table_Manager(); tm.setTable(test.rom, 0xC15F4, 0x54); tm.setPanel(tabControl1.SelectedTab); // tabPage5); int w = tabControl1.SelectedTab.Width; int h = tabControl1.SelectedTab.Height; //class Type Labels //List<int> ctlbl = new List<int>(); //Shouldn't need more than 256 types if not doing code hacks to increase the number of classes. (e.g. Class index is saved in 8-bit.) //var ctlbl = Enumerable.Repeat(0, 256).ToList(); //If using a List. var ct = new int[0x100]; for (int i = 2915 - 2915; i < 3159 - 2915; i++) { int n = Bits.getInt32(test.rom, 0xC15F4 + i * 0x54); if (n >= 0x100) { continue; } if (ct[n] == 0) //{ } { ct[n] = 2915 + i; } } var ctstr = new string[0x100]; //new List<String>();// for (int i = 0; i < 0x100; i++) //{ } { if (ct[i] != 0) { ctstr[i] = (i.ToString().PadLeft(3, ' ') + "|" + Bits.getTextShort(txt, ct[i])); } else { ct[i] = -1; ctstr[i] = i.ToString().PadLeft(3, ' ') + "|"; } } //2915 //List<String> items = new List<String>(); //for (int i = 2915; i < 3159; i++) //{ // items.Add((i - 2915).ToString().PadLeft(3, ' ') + "|" + getTextStrShort(i)); //} List <int> items = new List <int>(); for (int i = 0; i < 3159 - 2915; i++) { items.Add(2915 + i); } tm.doTableListbox(txt, items); // items); int pnlx = w / 2 - 200 + 100 + 25; int pnly = 20 + 100; // tabPage8.Height / 2 - 125; pnly += 20; tm.doNamebox(pnlx, pnly - 30, txt, 2915); String[] psyNames = new String[734]; for (int ind2 = 0; ind2 < 734; ind2++) { psyNames[ind2] = ind2.ToString().PadLeft(3, ' ') + "|" + Bits.getTextShort(txt, 1447 + ind2); } Label fi = tm.doLabel(pnlx, pnly, "Class Type"); //tm.doNud(pnlx + 100, pnly, 0, 32); tm.doCombo(pnlx + 100, pnly, txt, ct.ToList(), 0, 32); pnly -= 30; //fi = tm.doLabel(pnlx, pnly + 60, "Elemental Level Requirements"); //fi.Width = 500; string[] eNames = { "Venus", "Mercury", "Mars", "Jupiter" }; for (int i = 0; i < 4; i++) { tm.doLabel(pnlx + i * 100, pnly + 60, eNames[i] + " Lv."); tm.doNud(pnlx + i * 100, pnly + 80, 4 + i, 8); } string[] percents = new string[0x100]; for (int i = 0; i < 0x100; i++) { percents[i] = (i * 10) + "%"; } pnlx -= 50; tm.doLabel(pnlx, pnly + 200 - 80, "HP:"); Control combo = tm.doCombo(pnlx + 80, pnly + 200 - 80, Bits.textToBytes(percents), Bits.numList(0x100), 0x8, 8); combo.Width = 70; tm.doLabel(pnlx, pnly + 200 - 60, "PP:"); combo = tm.doCombo(pnlx + 80, pnly + 200 - 60, Bits.textToBytes(percents), Bits.numList(0x100), 0x9, 8); combo.Width = 70; tm.doLabel(pnlx + 150 + 10, pnly + 200 - 80, "Attack:"); combo = tm.doCombo(pnlx + 150 + 80 + 10, pnly + 200 - 80, Bits.textToBytes(percents), Bits.numList(0x100), 0xA, 8); combo.Width = 70; tm.doLabel(pnlx + 150 + 10, pnly + 200 - 60, "Defense:"); combo = tm.doCombo(pnlx + 150 + 80 + 10, pnly + 200 - 60, Bits.textToBytes(percents), Bits.numList(0x100), 0xB, 8); combo.Width = 70; tm.doLabel(pnlx + 300 + 20, pnly + 200 - 80, "Agility:"); combo = tm.doCombo(pnlx + 300 + 80 + 20, pnly + 200 - 80, Bits.textToBytes(percents), Bits.numList(0x100), 0xC, 8); combo.Width = 70; tm.doLabel(pnlx + 300 + 20, pnly + 200 - 60, "Luck:"); combo = tm.doCombo(pnlx + 300 + 80 + 20, pnly + 200 - 60, Bits.textToBytes(percents), Bits.numList(0x100), 0xD, 8); combo.Width = 70; pnlx += 50; tm.doLabel(pnlx - 50, pnly + 200 - 20, "Level"); tm.doLabel(pnlx + 60 - 50, pnly + 200 - 20, "Ability"); for (int i = 0; i < 8; i++) { Control lv = tm.doNud(pnlx - 50, pnly + 200 + i * 20, 0x10 + 2 + i * 4, 8); lv.Width = 60; tm.doCombo(pnlx + 60 - 50, pnly + 200 + i * 20, Bits.textToBytes(psyNames), Bits.numList(734), 0x10 + 0 + i * 4, 16); } tm.doLabel(pnlx + 200, pnly + 200 - 20, "Level"); tm.doLabel(pnlx + 60 + 200, pnly + 200 - 20, "Ability"); for (int i = 0; i < 8; i++) { Control lv = tm.doNud(pnlx + 200, pnly + 200 + i * 20, 0x10 + 2 + (8 + i) * 4, 8); lv.Width = 60; tm.doCombo(pnlx + 60 + 200, pnly + 200 + i * 20, Bits.textToBytes(psyNames), Bits.numList(734), 0x10 + 0 + (8 + i) * 4, 16); } Label lbl = tm.doLabel(pnlx, pnly + 370, "Effect Weaknesses (+25% chance for non-flat effects.)"); lbl.Width = 400; for (int i = 0; i < 3; i++) { tm.doNud(pnlx + i * 100, pnly + 390, 0x50 + i, 8); } pnly = 0; //pnly -= 110; //pnlx += 5; //Class Type Chart Table_Manager tm2 = new Table_Manager(); tm2.setTable(test.rom, 0xC6604, 0x40); tm2.setPanel(tabControl1.SelectedTab); //tabPage5); for (int i = 0; i < 4; i++) { tm2.doLabel(pnlx + (i * 115), pnly, eNames[i]); } for (int j = 0; j < 4; j++) { tm2.doLabel(pnlx - 70, pnly + j * 20 + 20, eNames[j]); } pnly += 20; //for (int j = 0; j < 4; j++) // for (int i = 0; i < 4; i++) // tm2.doNud(pnlx + (i * 100), pnly + j * 20, (j * 4 + i) * 4, 32); for (int j = 0; j < 4; j++) { for (int i = 0; i < 4; i++) { Control ctrl = tm2.doCombo(pnlx + (i * 115), pnly + j * 20, txt, ct.ToList(), (j * 4 + i) * 4, 32); ctrl.Width = 115; } } tm2.loadEntry(null, null); }
private void initEleTable() { Table_Manager tm = new Table_Manager(); tm.setTable(test.rom, 0xC6684, 0x18); tm.setPanel(tabControl1.SelectedTab); //tabPage7); tabPage7.Text = "Elemental Data"; //ListBox lstb = tm.doTableListbox(); List <int> items = new List <int>(); //Determine what should go in table's Listbox int[] elni = new int[48]; for (int ind3 = 0; ind3 < 379; ind3++) { if (elni[test.rom[0xB9E7C + ind3 * 0x4C + 0x2A]] == 0) { elni[test.rom[0xB9E7C + ind3 * 0x4C + 0x2A]] = ind3 + 1; } } //Populate the Listbox for (int ind3 = 0; ind3 < 48; ind3++) { if (elni[ind3] == 0) { //items.Add((ind3).ToString().PadLeft(3, ' ') + "|"); items.Add(-1); continue; } //items.Add((ind3).ToString().PadLeft(3, ' ') + "|" + getTextStrShort(1068 + elni[ind3]-1)); items.Add(1068 + elni[ind3] - 1); } tm.doTableListbox(txt, items); int pnlx = tabPage8.Width / 2 - 150 + 25; // + 100; int pnly = tabPage8.Height / 2 - 125; Label ae = tm.doLabel(pnlx, pnly, "Attack Element"); //ae.Width = 200; String[] elements = { "Venus", "Mercury", "Mars", "Jupiter", "Neutral" }; tm.doCombo(pnlx, pnly + 20, Bits.textToBytes(elements), Bits.numList(5), 0, 32); tm.doLabel(pnlx + 100, pnly + 60, "Venus"); tm.doLabel(pnlx + 200, pnly + 60, "Mercury"); tm.doLabel(pnlx + 300, pnly + 60, "Mars"); tm.doLabel(pnlx + 400, pnly + 60, "Jupiter"); tm.doLabel(pnlx, pnly + 80, "Level"); tm.doLabel(pnlx, pnly + 100, "Power"); tm.doLabel(pnlx, pnly + 120, "Resist"); tm.doNud(pnlx + 100, pnly + 80, 4, 8); tm.doNud(pnlx + 200, pnly + 80, 5, 8); tm.doNud(pnlx + 300, pnly + 80, 6, 8); tm.doNud(pnlx + 400, pnly + 80, 7, 8); tm.doNud(pnlx + 100, pnly + 100, 8, 16); tm.doNud(pnlx + 100, pnly + 120, 10, 16); tm.doNud(pnlx + 200, pnly + 100, 12, 16); tm.doNud(pnlx + 200, pnly + 120, 14, 16); tm.doNud(pnlx + 300, pnly + 100, 16, 16); tm.doNud(pnlx + 300, pnly + 120, 18, 16); tm.doNud(pnlx + 400, pnly + 100, 20, 16); tm.doNud(pnlx + 400, pnly + 120, 22, 16); //lstb.SelectedIndex = 0; }
public void initForgeTable() { Table_Manager tm = new Table_Manager(); tm.setTable(test.rom, 0x10CC34, 0x24); tm.setPanel(tabControl1.SelectedTab); //tabPage6); tabPage6.Text = "Forge"; //ListBox lstb = tm.doTableListbox(); ////607 int ind3 = 0; List <int> items = new List <int>(); while (true) //for (int ind3 = 0; ind3 < 0x14; ind3++) { //int ind2 = Bits.getInt16(test.rom, 0xEDACC + 4 + ind3 * 0x1C); int ind = Bits.getInt16(test.rom, 0x10CC34 + ind3 * 0x24); if (ind == 0xFFFF) { break; } //StringBuilder str = new StringBuilder(0x200); //str.Append((ind3).ToString().PadLeft(3, ' ') + "|"); //items.Add((ind3).ToString().PadLeft(3, ' ') + "|" + getTextStrShort(607 + ind)); items.Add(607 + ind); ind3++; } tm.doTableListbox(txt, items); // items); String[] itemNames = new String[461]; for (int ind2 = 0; ind2 < 461; ind2++) { itemNames[ind2] = ind2.ToString().PadLeft(3, ' ') + "|" + Bits.getTextShort(txt, 607 + ind2); } int pnlx = tabPage8.Width / 2 - 150 + 100 + 25; int pnly = tabPage8.Height / 2 - 125; Label fi = tm.doLabel(pnlx, pnly, "Forgeable Item"); //fi.Width = 200; tm.doCombo(pnlx, pnly + 20, Bits.textToBytes(itemNames), Bits.numList(461), 0, 16); tm.doLabel(pnlx + 200, pnly, "Just text?"); String[] text = { "Processed", "Rusted" }; tm.doCombo(pnlx + 200, pnly + 20, Bits.textToBytes(text), Bits.numList(2), 2, 16); //fi.Width = 200; //tm.doNud(pnlx+ 200, pnly + 20, 2, 16); tm.doLabel(pnlx, pnly + 60, "Item"); tm.doLabel(pnlx + 200, pnly + 60, "Rate"); tm.doCombo(pnlx, pnly + 80, Bits.textToBytes(itemNames), Bits.numList(461), 4, 16); tm.doCombo(pnlx, pnly + 100, Bits.textToBytes(itemNames), Bits.numList(461), 6, 16); tm.doCombo(pnlx, pnly + 120, Bits.textToBytes(itemNames), Bits.numList(461), 8, 16); tm.doCombo(pnlx, pnly + 140, Bits.textToBytes(itemNames), Bits.numList(461), 10, 16); tm.doCombo(pnlx, pnly + 160, Bits.textToBytes(itemNames), Bits.numList(461), 12, 16); tm.doCombo(pnlx, pnly + 180, Bits.textToBytes(itemNames), Bits.numList(461), 14, 16); tm.doCombo(pnlx, pnly + 200, Bits.textToBytes(itemNames), Bits.numList(461), 16, 16); tm.doCombo(pnlx, pnly + 220, Bits.textToBytes(itemNames), Bits.numList(461), 18, 16); tm.doNud(pnlx + 200, pnly + 80, 20, 16); tm.doNud(pnlx + 200, pnly + 100, 22, 16); tm.doNud(pnlx + 200, pnly + 120, 24, 16); tm.doNud(pnlx + 200, pnly + 140, 26, 16); tm.doNud(pnlx + 200, pnly + 160, 28, 16); tm.doNud(pnlx + 200, pnly + 180, 30, 16); tm.doNud(pnlx + 200, pnly + 200, 32, 16); tm.doNud(pnlx + 200, pnly + 220, 34, 16); //lstb.SelectedIndex = 0; }
void loadEnemies(TabControl a) { TabPage d = a.SelectedTab; Table_Manager tm = new Table_Manager(); tm.setTable(ram, 0x17726C, 0x58); tm.setPanel(a.SelectedTab); //tabPage6); int pnlx = 250; //d.Width / 2 - 150 + 50; int pnly = 20; // d.Height / 2 - 125; //d.Text = "Forge"; List <int> items = new List <int>(); // = {5, 6, 7 }; items.Add(5); String[] text = { "" }; // "Processed", "Rusted" }; //tm.doCombo(pnlx + 200, pnly + 20, Bits.textToBytes(text) //tm.doTableListbox2(Bits.textToBytes(text), Bits.numList(83)); tm.doTableListbox2(ram, Bits.numList(366, 221)); String[] lbl = { "ID", "Level", "Type", "HP", "PP", "Attack", "Defense", "Agility", "Luck", "Turns", "HP Regen", "PP Regen" }; for (int i = 0; i < 12; i++) { tm.doLabel(pnlx, pnly + 0 + i * 20, lbl[i]); } tm.doNud(pnlx + 100, pnly + 0, 0, 32); tm.doNud(pnlx + 100, pnly + 20, 4, 8); //Level tm.doNud(pnlx + 100, pnly + 40, 5, 8); tm.doNud(pnlx + 100, pnly + 60, 6, 16); //HP tm.doNud(pnlx + 100, pnly + 80, 8, 16); //PP tm.doNud(pnlx + 100, pnly + 100, 10, 16); //Atk tm.doNud(pnlx + 100, pnly + 120, 12, 16); //Def tm.doNud(pnlx + 100, pnly + 140, 14, 16); //Agl tm.doNud(pnlx + 100, pnly + 160, 16, 8); //Lck tm.doNud(pnlx + 100, pnly + 180, 17, 8); //Turns tm.doNud(pnlx + 100, pnly + 200, 18, 8); tm.doNud(pnlx + 100, pnly + 220, 19, 8); //Items tm.doLabel(pnlx + 220, pnly, "Item"); tm.doNud(pnlx + 220, pnly + 20, 20, 16); tm.doNud(pnlx + 220, pnly + 40, 22, 16); tm.doNud(pnlx + 220, pnly + 60, 24, 16); tm.doNud(pnlx + 220, pnly + 80, 26, 16); tm.doLabel(pnlx + 340, pnly, "Quantity"); tm.doNud(pnlx + 340, pnly + 20, 28, 8); tm.doNud(pnlx + 340, pnly + 40, 29, 8); tm.doNud(pnlx + 340, pnly + 60, 30, 8); tm.doNud(pnlx + 340, pnly + 80, 31, 8); //Element //pnlx = ? pnly = 280; Label ae = tm.doLabel(pnlx, pnly, "Attack Element"); //ae.Width = 200; String[] elements = { "Venus", "Mercury", "Mars", "Jupiter", "Neutral" }; tm.doCombo(pnlx, pnly + 20, Bits.textToBytes(elements), Bits.numList(5), 0x20, 8); tm.doLabel(pnlx + 100, pnly + 60, "Venus"); tm.doLabel(pnlx + 200, pnly + 60, "Mercury"); tm.doLabel(pnlx + 300, pnly + 60, "Mars"); tm.doLabel(pnlx + 400, pnly + 60, "Jupiter"); tm.doLabel(pnlx, pnly + 80, "Level"); tm.doLabel(pnlx, pnly + 100, "Power"); tm.doLabel(pnlx, pnly + 120, "Resist"); tm.doNud(pnlx + 100, pnly + 80, 0x21, 8); tm.doNud(pnlx + 200, pnly + 80, 0x22, 8); tm.doNud(pnlx + 300, pnly + 80, 0x23, 8); tm.doNud(pnlx + 400, pnly + 80, 0x24, 8); //0x25 = Unused? tm.doNud(pnlx + 100, pnly + 100, 0x26, 16); tm.doNud(pnlx + 100, pnly + 120, 0x28, 16); tm.doNud(pnlx + 200, pnly + 100, 0x2A, 16); tm.doNud(pnlx + 200, pnly + 120, 0x2C, 16); tm.doNud(pnlx + 300, pnly + 100, 0x2E, 16); tm.doNud(pnlx + 300, pnly + 120, 0x30, 16); tm.doNud(pnlx + 400, pnly + 100, 0x32, 16); tm.doNud(pnlx + 400, pnly + 120, 0x34, 16); }