/// <summary> /// The main entry point for the application. /// </summary> private static void Main(string[] args) { #if !DEBUG AppDomain.CurrentDomain.UnhandledException += UnhandledExceptionHandler; // Watch for any unhandled exceptions. #endif Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; // Use invariant culture - we have to set it explicitly for every thread we create to prevent any mpq-reading problems (mostly because of number formats). Console.ForegroundColor = ConsoleColor.Yellow; PrintBanner(); PrintLicense(); PrintDebugKeys(); Console.ResetColor(); InitLoggers(); // init logging facility. Logger.Info("voxeliq v{0} warming-up..", Assembly.GetAssembly(typeof (Player)).GetName().Version); Logger.Info(string.Format("Running over {0} {1}.", PlatformInfo.DotNetFramework, PlatformInfo.DotNetFrameworkVersion)); Logger.Info(string.Format("Using game framework {0} {1}, over {2}.", PlatformInfo.GameFramework, PlatformInfo.GameFrameworkVersion, PlatformInfo.GraphicsApi)); using (var game = new SampleGame()) // startup the game. { Logger.Trace("Starting game loop.."); game.Run(); } }