private void Form1_Load(object sender, EventArgs e) { Loading = true; try { OriginalWidth = ClientRectangle.Width; OriginalHeight = ClientRectangle.Height; if (MidsContext.Config.I9.DefaultIOLevel == 27) { MidsContext.Config.I9.DefaultIOLevel = 49; } using frmInitializing iFrm = new frmInitializing(); _frmInitializing = iFrm; _frmInitializing.Show(); if (!this.IsInDesignMode() && !MidsContext.Config.IsInitialized) { MidsContext.Config.CheckForUpdates = false; MidsContext.Config.DefaultSaveFolderOverride = null; MidsContext.Config.CreateDefaultSaveFolder(); MidsContext.Config.IsInitialized = true; } MainModule.MidsController.LoadData(ref _frmInitializing); _frmInitializing?.SetMessage("Setting up UI..."); Show(); _frmInitializing.Hide(); _frmInitializing.Close(); Refresh(); Loading = false; Fill_Initial_Combos(); } catch (Exception exception) { MessageBox.Show($"{exception.Message}\r\n\n{exception.StackTrace}"); } Loading = false; cbAT.SelectedItem = cbAT.Items[0]; }
public static void LoadData(ref frmInitializing iFrm) { DatabaseAPI.LoadDatabaseVersion(); IsAppInitialized = true; iFrm?.SetMessage("Loading Data..."); iFrm?.SetMessage("Loading Attribute Modifiers..."); DatabaseAPI.Database.AttribMods = new Modifiers(); if (!DatabaseAPI.Database.AttribMods.Load()) { } iFrm?.SetMessage("Loading Powerset Database..."); if (!DatabaseAPI.LoadLevelsDatabase()) { MessageBox.Show("Unable to proceed, failed to load leveling data! We suggest you re-download the application from https://github.com/Reborn-Team/Hero-Designer/releases.", @"Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } if (!DatabaseAPI.LoadMainDatabase()) { MessageBox.Show(@"There was an error reading the database. Aborting!", @"Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } if (!DatabaseAPI.LoadMaths()) { Application.Exit(); } iFrm?.SetMessage("Loading Global Chance Modifiers..."); if (!DatabaseAPI.LoadEffectIdsDatabase()) { Application.Exit(); } iFrm?.SetMessage("Loading Enhancement Database..."); if (!DatabaseAPI.LoadEnhancementClasses()) { Application.Exit(); } DatabaseAPI.LoadEnhancementDb(); DatabaseAPI.LoadOrigins(); DatabaseAPI.LoadSetTypeStrings(); iFrm?.SetMessage("Loading Recipe Database..."); DatabaseAPI.LoadSalvage(); DatabaseAPI.LoadRecipes(); iFrm?.SetMessage("Loading Graphics..."); var taskArray = new Task[9]; taskArray[0] = Task.Run(I9Gfx.LoadOriginImages); taskArray[1] = Task.Run(I9Gfx.LoadArchetypeImages); taskArray[2] = Task.Run(I9Gfx.LoadPowersetImages); taskArray[3] = Task.Run(I9Gfx.LoadEnhancements); taskArray[4] = Task.Run(I9Gfx.LoadSets); taskArray[5] = Task.Run(I9Gfx.LoadBorders); taskArray[6] = Task.Run(I9Gfx.LoadSetTypes); taskArray[7] = Task.Run(I9Gfx.LoadEnhTypes); taskArray[8] = Task.Run(I9Gfx.LoadClasses); Task.WaitAll(taskArray); MidsContext.Config.Export.LoadCodes(Files.SelectDataFileLoad(Files.MxdbFileBbCodeUpdate)); if (iFrm != null) { //iFrm.Opacity = 1.0; DatabaseAPI.MatchAllIDs(iFrm); iFrm?.SetMessage("Matching Set Bonus IDs..."); DatabaseAPI.AssignSetBonusIndexes(); iFrm?.SetMessage("Matching Recipe IDs..."); } DatabaseAPI.AssignRecipeIDs(); GC.Collect(); }