public MainWindow(ConfigurationInternal configuration) { InitializeComponent(); SetStyle( ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer, true); _defaultHandState = new[] { 0, 4, 8, 12 }; _handState = (int[])_defaultHandState.Clone(); _handStateBuffer = (int[])_defaultHandState.Clone(); _configuration = configuration; InvalidateConfiguration(); }
private static void Main() { ConfigurationInternal configuration = null; var defaultConfiguration = CreateDefaultConfiguration(); WriteDefaultSkins(); try { configuration = ConfigurationInternal.FromFile(BCEnvironment.ConfigFile); if (string.IsNullOrEmpty(configuration.Skin) || "default".Equals(configuration.Skin, StringComparison.OrdinalIgnoreCase)) { configuration.Skin = "Lisrim"; } BlendConfiguration(configuration, defaultConfiguration); ValidateConfiguration(configuration); } catch (FileNotFoundException) { // Skip } catch (JsonException e) { if (!e.Message.StartsWith("Required property 'version' not found")) { MessageBox.Show("Invalid config format.", "BongoCat DJMAX", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } catch (Exception e) { MessageBox.Show(e.Message, "BongoCat DJMAX", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } configuration ??= defaultConfiguration; configuration.Save(BCEnvironment.ConfigFile); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainWindow(configuration)); }