private void Load() { Log.Info("Starting asset loading thread"); SaveManager.Load(gameArea, SaveType.Global); checkFullscreen = true; progress++; var t = DateTime.Now.Millisecond; var c = DateTime.Now.Millisecond; Assets.Load(ref progress); Log.Info($"Assets took {(DateTime.Now.Millisecond - c) / 1000f} seconds"); c = DateTime.Now.Millisecond; Dialogs.Load(); progress++; CommonAse.Load(); progress++; ImGuiHelper.BindTextures(); progress++; Shaders.Load(); progress++; Prefabs.Load(); progress++; Items.Load(); progress++; LootTables.Load(); progress++; Mods.Load(); progress++; // Should be 13 here Log.Info($"Custom assets took {(DateTime.Now.Millisecond - c) / 1000f} seconds"); Log.Info("Done loading assets! Loading level now."); Lights.Init(); Physics.Init(); gameArea = new Area(); Run.Level = null; Tilesets.Load(); progress++; Achievements.Load(); c = DateTime.Now.Millisecond; if (!LoadEditor) { SaveManager.Load(gameArea, SaveType.Game); progress++; Log.Info($"Game took {(DateTime.Now.Millisecond - c) / 1000f} seconds"); c = DateTime.Now.Millisecond; Rnd.Seed = $"{Run.Seed}_{Run.Depth}"; SaveManager.Load(gameArea, SaveType.Level); progress++; Log.Info($"Level took {(DateTime.Now.Millisecond - c) / 1000f} seconds"); c = DateTime.Now.Millisecond; if (Run.Depth > 0) { SaveManager.Load(gameArea, SaveType.Player); } else { SaveManager.Generate(gameArea, SaveType.Player); } Log.Info($"Player took {(DateTime.Now.Millisecond - c) / 1000f}"); } progress++; // Should be 18 here Log.Info($"Done loading level! ({(DateTime.Now.Millisecond - t) / 1000f} seconds) Going to menu."); Engine.AssetsLoaded?.Invoke(); ready = true; }