static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); // Access some class members to force the static constructors to run. object dummy = AllAbilities.PSPNames; dummy = PSPResources.Lists.AbilityAttributes; dummy = PSXResources.Lists.AbilityAttributes; dummy = SkillSet.GetDummySkillSets(PatcherLib.Datatypes.Context.US_PSX); dummy = AllMonsterSkills.PSXNames; dummy = AllJobs.GetNames(PatcherLib.Datatypes.Context.US_PSX); dummy = ActionMenuEntry.AllActionMenuEntries; dummy = ShopAvailability.GetAllAvailabilities(PatcherLib.Datatypes.Context.US_PSX); dummy = SpriteSet.GetSpriteSets(PatcherLib.Datatypes.Context.US_PSX); dummy = SpecialName.GetSpecialNames(PatcherLib.Datatypes.Context.US_PSX); dummy = Event.GetEventNames(PatcherLib.Datatypes.Context.US_PSX); Application.Run(new MainForm()); }
public void UpdateView(Context context) { ignoreChanges = true; SuspendLayout(); weaponPanel.SuspendLayout(); shieldPanel.SuspendLayout(); armorPanel.SuspendLayout(); accessoryPanel.SuspendLayout(); chemistItemPanel.SuspendLayout(); storeInventoryCheckedListBox.BeginUpdate(); weaponCastSpellComboBox.DataSource = weaponCastSpellItems; chemistItemFormulaComboBox.DataSource = itemFormulaItems; weaponPanel.Visible = item is Weapon; weaponPanel.Enabled = item is Weapon; shieldPanel.Visible = item is Shield; shieldPanel.Enabled = item is Shield; armorPanel.Visible = item is Armor; armorPanel.Enabled = item is Armor; accessoryPanel.Visible = item is Accessory; accessoryPanel.Enabled = item is Accessory; chemistItemPanel.Visible = item is ChemistItem; chemistItemPanel.Enabled = item is ChemistItem; if (context == Context.US_PSP && ourContext != Context.US_PSP) { itemTypeComboBox.DataSource = new List <ItemSubType>(pspItemTypes); weaponFormulaComboBox.DataSource = new List <AbilityFormula>(AbilityFormula.PSPAbilityFormulas); storeInventoryCheckedListBox.Items.Clear(); foreach (ShopsFlags shop in shops) { storeInventoryCheckedListBox.Items.Add(PatcherLib.PSPResources.Lists.ShopNames[shop]); } ourContext = Context.US_PSP; } else if (context == Context.US_PSX && ourContext != Context.US_PSX) { itemTypeComboBox.DataSource = new List <ItemSubType>(psxItemTypes); weaponFormulaComboBox.DataSource = new List <AbilityFormula>(AbilityFormula.PSXAbilityFormulas); storeInventoryCheckedListBox.BeginUpdate(); storeInventoryCheckedListBox.Items.Clear(); foreach (ShopsFlags shop in shops) { storeInventoryCheckedListBox.Items.Add(PatcherLib.PSXResources.Lists.ShopNames[shop]); } storeInventoryCheckedListBox.EndUpdate(); ourContext = Context.US_PSX; } shopAvailabilityComboBox.Items.Clear(); shopAvailabilityComboBox.Items.AddRange(ShopAvailability.GetAllAvailabilities(context).ToArray()); if (item is Weapon) { Weapon w = item as Weapon; if (w.WeaponDefault != null) { weaponAttributesCheckedListBox.SetValuesAndDefaults(ReflectionHelpers.GetFieldsOrProperties <bool>(w, weaponBools), w.WeaponDefault.ToWeaponBoolArray()); } weaponRangeSpinner.SetValueAndDefault( w.Range, w.WeaponDefault.Range, toolTip); weaponFormulaComboBox.SetValueAndDefault( weaponFormulaComboBox.Items[w.Formula.Value], weaponFormulaComboBox.Items[w.WeaponDefault.Formula.Value], toolTip); weaponPowerSpinner.SetValueAndDefault( w.WeaponPower, w.WeaponDefault.WeaponPower, toolTip); weaponEvadePercentageSpinner.SetValueAndDefault( w.EvadePercentage, w.WeaponDefault.EvadePercentage, toolTip); if (w.Formula.Value == 2) { weaponCastSpellComboBox.SetValueAndDefault( weaponCastSpellComboBox.Items[w.InflictStatus], weaponCastSpellComboBox.Items[w.WeaponDefault.InflictStatus], toolTip); weaponCastSpellComboBox.Visible = true; weaponCastSpellLabel.Visible = true; weaponSpellStatusSpinner.Visible = false; hLabel4.Visible = false; weaponSpellStatusLabel.Visible = false; } else { weaponSpellStatusSpinner.SetValueAndDefault( w.InflictStatus, w.WeaponDefault.InflictStatus, toolTip); weaponCastSpellComboBox.Visible = false; weaponCastSpellLabel.Visible = false; weaponSpellStatusSpinner.Visible = true; hLabel4.Visible = true; weaponSpellStatusLabel.Visible = true; } weaponElementsEditor.SetValueAndDefaults(w.Elements, w.WeaponDefault.Elements); weaponUnknownSpinner.SetValueAndDefault(w.Unknown, w.WeaponDefault.Unknown, toolTip); } else if (item is Shield) { shieldPhysicalBlockRateSpinner.SetValueAndDefault( (item as Shield).PhysicalBlockRate, (item as Shield).ShieldDefault.PhysicalBlockRate, toolTip); shieldMagicBlockRateSpinner.SetValueAndDefault( (item as Shield).MagicBlockRate, (item as Shield).ShieldDefault.MagicBlockRate, toolTip); } else if (item is Armor) { armorHPBonusSpinner.SetValueAndDefault( (item as Armor).HPBonus, (item as Armor).ArmorDefault.HPBonus, toolTip); armorMPBonusSpinner.SetValueAndDefault( (item as Armor).MPBonus, (item as Armor).ArmorDefault.MPBonus, toolTip); } else if (item is Accessory) { accessoryMagicEvadeRateSpinner.SetValueAndDefault( (item as Accessory).MagicEvade, (item as Accessory).AccessoryDefault.MagicEvade, toolTip); accessoryPhysicalEvadeRateSpinner.SetValueAndDefault( (item as Accessory).PhysicalEvade, (item as Accessory).AccessoryDefault.PhysicalEvade, toolTip); } else if (item is ChemistItem) { chemistItemFormulaComboBox.SetValueAndDefault( chemistItemFormulaComboBox.Items[(item as ChemistItem).Formula], chemistItemFormulaComboBox.Items[(item as ChemistItem).ChemistItemDefault.Formula], toolTip); chemistItemSpellStatusSpinner.SetValueAndDefault( (item as ChemistItem).InflictStatus, (item as ChemistItem).ChemistItemDefault.InflictStatus, toolTip); chemistItemXSpinner.SetValueAndDefault( (item as ChemistItem).X, (item as ChemistItem).ChemistItemDefault.X, toolTip); } paletteSpinner.SetValueAndDefault(item.Palette, item.Default.Palette, toolTip); graphicSpinner.SetValueAndDefault(item.Graphic, item.Default.Graphic, toolTip); enemyLevelSpinner.SetValueAndDefault(item.EnemyLevel, item.Default.EnemyLevel, toolTip); itemTypeComboBox.SetValueAndDefault(item.ItemType, item.Default.ItemType, toolTip); itemAttributesSpinner.SetValueAndDefault(item.SIA, item.Default.SIA, toolTip); secondTableIdSpinner.SetValueAndDefault(item.SecondTableId, item.Default.SecondTableId, toolTip); priceSpinner.SetValueAndDefault(item.Price, item.Default.Price, toolTip); shopAvailabilityComboBox.SetValueAndDefault(item.ShopAvailability, item.Default.ShopAvailability, toolTip); unknown1Spinner.SetValueAndDefault(item.Unknown1, item.Default.Unknown1, toolTip); unknown2Spinner.SetValueAndDefault(item.Unknown2, item.Default.Unknown2, toolTip); if (item.Offset < 256) { storeInventoryCheckedListBox.Visible = true; storeInventoryCheckedListBox.SetValuesAndDefaults( StoreInventories.IsItemInShops(item, shops), StoreInventories.Default.IsItemInShops(item, shops)); } else { storeInventoryCheckedListBox.Visible = false; } if (item.Default != null) { itemAttributesCheckedListBox.SetValuesAndDefaults(ReflectionHelpers.GetFieldsOrProperties <bool>(item, itemBools), item.Default.ToBoolArray()); } weaponPanel.ResumeLayout(); shieldPanel.ResumeLayout(); armorPanel.ResumeLayout(); accessoryPanel.ResumeLayout(); chemistItemPanel.ResumeLayout(); storeInventoryCheckedListBox.EndUpdate(); ResumeLayout(); ignoreChanges = false; }
private void RegenerateContextSensitiveData() { string[] rewardStrings = new string[256]; string[] preferredStatsStrings = new string[256]; string[] townStrings = new string[256]; string[] propNames = new string[256]; for (int i = 0; i < 256; i++) { string unknownString = string.Format("{0:X2} Unknown", i); rewardStrings[i] = unknownString; preferredStatsStrings[i] = unknownString; townStrings[i] = unknownString; propNames[i] = unknownString; } townStrings[0] = "Any Town"; rewardStrings[(int)Reward.Gil] = "Gil"; preferredStatsStrings[(int)BraveFaithNeutral.Faith] = "Faith"; preferredStatsStrings[(int)BraveFaithNeutral.Neutral] = "Neutral"; if (ourContext == Context.US_PSP) { preferredStatsStrings[(int)BraveFaithNeutral.Brave] = "Bravery"; rewardStrings[(int)Reward.Land] = "Wonder"; rewardStrings[(int)Reward.Treasure] = "Artefact"; PSPResources.Lists.TownNames.ForEach(kvp => townStrings[(int)kvp.Key] = kvp.Value); var props = PSPResources.Lists.Propositions; for (int i = 0; i < props.Count; i++) { propNames[i] = props[i]; } } else if (ourContext == Context.US_PSX) { preferredStatsStrings[(int)BraveFaithNeutral.Brave] = "Brave"; rewardStrings[(int)Reward.Land] = "Unexplored Land"; rewardStrings[(int)Reward.Treasure] = "Treasure"; PSXResources.Lists.TownNames.ForEach(kvp => townStrings[(int)kvp.Key] = kvp.Value); var props = PSXResources.Lists.Propositions; for (int i = 0; i < props.Count; i++) { propNames[i] = props[i]; } } completeJobComboBox.BeginUpdate(); completeJobComboBox.Items.Clear(); completeJobComboBox.Items.AddRange(propNames); completeJobComboBox.EndUpdate(); unlockedComboBox.BeginUpdate(); unlockedComboBox.Items.Clear(); unlockedComboBox.Items.AddRange(ShopAvailability.GetAllAvailabilities(ourContext).ToArray()); unlockedComboBox.EndUpdate(); preferredStatsComboBox.BeginUpdate(); preferredStatsComboBox.Items.Clear(); preferredStatsComboBox.Items.AddRange(preferredStatsStrings); preferredStatsComboBox.EndUpdate(); rewardComboBox.BeginUpdate(); rewardComboBox.Items.Clear(); rewardComboBox.Items.Add("Nothing"); rewardComboBox.Items.AddRange(rewardStrings); rewardComboBox.EndUpdate(); townComboBox.BeginUpdate(); townComboBox.Items.Clear(); townComboBox.Items.AddRange(townStrings); townComboBox.EndUpdate(); randomSuccessClassComboBox.BeginUpdate(); randomSuccessClassComboBox.Items.Clear(); randomSuccessClassComboBox.Items.Add("None"); var jobNames = ourContext == Context.US_PSP ? PSPResources.Lists.JobNames : PSXResources.Lists.JobNames; randomSuccessClassComboBox.Items.AddRange(jobNames.Sub(0x4A, 0x4A + 19).ToArray()); randomSuccessClassComboBox.EndUpdate(); }