public void Run(VRageGameServices services, IntPtr windowHandle, bool customRenderLoop = false, MySandboxGame game = null) { MyLog.Default = MySandboxGame.Log; if (game == null) { Static = new MySandboxExternal(this, services, null, windowHandle); } else { Static = game; } Initialize(Static); //Sandbox.Definitions.MyDefinitionManager.Static.LoadData(new List<Sandbox.Common.ObjectBuilders.MyObjectBuilder_Checkpoint.ModItem>()); //Static.In Static.OnGameLoaded += GameLoaded; Static.OnGameExit += GameExit; //GameLoaded(this, null); Static.Run(customRenderLoop); //LoadDefinitions(); if (!customRenderLoop) { Dispose(); } }
static void RunInternal() { MyFileSystem.InitUserSpecific(null); VRageRender.MyRenderProxy.Initialize(MySandboxGame.IsDedicated ? (IMyRender) new MyNullRender() : new MyDX9Render()); VRageRender.MyRenderProxy.IS_OFFICIAL = MyFinalBuildConstants.IS_OFFICIAL; using (MySteamService steamService = new MySteamService(MySandboxGame.IsDedicated, MyPerServerSettings.AppId)) { if (!steamService.HasGameServer) { MyLog.Default.WriteLineAndConsole("Steam service is not running! Please reinstall dedicated server."); return; } VRageGameServices services = new VRageGameServices(steamService); using (MySandboxGame game = new MySandboxGame(services, Environment.GetCommandLineArgs().Skip(1).ToArray())) { VRageRender.MyRenderProxy.GetRenderProfiler().EndProfilingBlock(); VRageRender.MyRenderProxy.GetRenderProfiler().EndProfilingBlock(); game.Run(); } if (MySandboxGame.IsConsoleVisible) { Console.WriteLine("Server stopped, press any key to close this window"); Console.ReadKey(false); } } }
public void Run(IntPtr windowHandle, bool customRenderLoop = false, MySandboxGame game = null) { MyLog.Default = MySandboxGame.Log; MyFakes.ENABLE_HAVOK_PARALLEL_SCHEDULING = false; Static = (game != null) ? game : new MySandboxExternal(this, null, windowHandle); this.Initialize(Static); Static.OnGameLoaded += new EventHandler(this.GameLoaded); Static.OnGameExit += new Action(this.GameExit); MySession.AfterLoading += new Action(this.MySession_AfterLoading); MySession.BeforeLoading += new Action(this.MySession_BeforeLoading); Static.Run(customRenderLoop, null); if (!customRenderLoop) { this.Dispose(); } }
static void RunInternal(string[] args) { using (MySteamService steamService = new MySteamService(MySandboxGame.IsDedicated, AppId)) { IMyRender renderer = null; SpaceEngineersGame.SetupPerGameSettings(); if (MySandboxGame.IsDedicated) { renderer = new MyNullRender(); } else if (MyFakes.ENABLE_DX11_RENDERER) { var rendererId = MySandboxGame.Config.GraphicsRenderer; if (rendererId == MySandboxGame.DirectX11RendererKey) { renderer = new MyDX11Render(); if (!renderer.IsSupported) { MySandboxGame.Log.WriteLine("DirectX 11 renderer not supported. Reverting to DirectX 9."); renderer = null; } } if (renderer == null) { renderer = new MyDX9Render(); rendererId = MySandboxGame.DirectX9RendererKey; } MySandboxGame.Config.GraphicsRenderer = rendererId; } else { renderer = new MyDX9Render(); } MyFakes.ENABLE_PLANETS &= MySandboxGame.Config.GraphicsRenderer != MySandboxGame.DirectX9RendererKey; VRageRender.MyRenderProxy.Initialize(renderer); VRageRender.MyRenderProxy.IS_OFFICIAL = MyFinalBuildConstants.IS_OFFICIAL; VRageRender.MyRenderProxy.GetRenderProfiler().SetAutocommit(false); VRageRender.MyRenderProxy.GetRenderProfiler().InitMemoryHack("MainEntryPoint"); VRageRender.MyRenderProxy.GetRenderProfiler().StartProfilingBlock("MyProgram.Init"); VRageRender.MyRenderProxy.GetRenderProfiler().StartProfilingBlock("MySteam.Init()"); if (!MySandboxGame.IsDedicated) { if (steamService.IsActive) { steamService.SetNotificationPosition(MySteamService.NotificationPosition.TopLeft); MySandboxGame.Log.WriteLineAndConsole("Steam.IsActive: " + steamService.IsActive); MySandboxGame.Log.WriteLineAndConsole("Steam.IsOnline: " + steamService.IsOnline); MySandboxGame.Log.WriteLineAndConsole("Steam.OwnsGame: " + steamService.OwnsGame); MySandboxGame.Log.WriteLineAndConsole("Steam.UserId: " + steamService.UserId); MySandboxGame.Log.WriteLineAndConsole("Steam.UserName: "******"[n/a]"); MySandboxGame.Log.WriteLineAndConsole("Steam.Branch: " + steamService.BranchName ?? "[n/a]"); MySandboxGame.Log.WriteLineAndConsole("Build date: " + MySandboxGame.BuildDateTime.ToString("yyyy-MM-dd hh:mm", CultureInfo.InvariantCulture)); MySandboxGame.Log.WriteLineAndConsole("Build version: " + MySandboxGame.BuildVersion.ToString()); } else if (MyFinalBuildConstants.IS_OFFICIAL) //We dont need Steam only in VS { if (!(steamService.IsActive && steamService.OwnsGame)) { if (MyFakes.ENABLE_RUN_WITHOUT_STEAM == false) { MessageBoxWrapper("Steam is not running!", "Please run this game from Steam." + Environment.NewLine + "(restart Steam if already running)"); return; } } } else { if (!(steamService.IsActive && steamService.OwnsGame)) { if (MyFakes.ENABLE_RUN_WITHOUT_STEAM == false) { MessageBoxWrapper("Steam is not running!", "Game might be unstable when run without Steam!"); } } } } VRageRender.MyRenderProxy.GetRenderProfiler().EndProfilingBlock(); VRageRender.MyRenderProxy.GetRenderProfiler().StartProfilingBlock("new MySandboxGame()"); VRageGameServices services = new VRageGameServices(steamService); if (!MySandboxGame.IsDedicated) { MyFileSystem.InitUserSpecific(steamService.UserId.ToString()); } using (MySandboxGame game = new MySandboxGame(services, args)) { VRageRender.MyRenderProxy.GetRenderProfiler().EndProfilingBlock(); VRageRender.MyRenderProxy.GetRenderProfiler().EndProfilingBlock(); game.Run(disposeSplashScreen: DisposeSplashScreen); } } }
static void RunInternal() { MyFileSystem.InitUserSpecific(null); VRageRender.MyRenderProxy.Initialize(MySandboxGame.IsDedicated ? (IMyRender) new MyNullRender() : new MyDX9Render()); VRageRender.MyRenderProxy.IS_OFFICIAL = MyFinalBuildConstants.IS_OFFICIAL; using (MySteamService steamService = new MySteamService(MySandboxGame.IsDedicated, AppId)) { if (!steamService.HasGameServer) { MyLog.Default.WriteLineAndConsole("Steam service is not running! Please reinstall dedicated server."); return; } VRageGameServices services = new VRageGameServices(steamService); using (MySandboxGame game = new MySandboxGame(services, new string[] { })) { VRageRender.MyRenderProxy.GetRenderProfiler().EndProfilingBlock(); VRageRender.MyRenderProxy.GetRenderProfiler().EndProfilingBlock(); game.Run(); } if (MySandboxGame.IsConsoleVisible) { Console.WriteLine("Server stopped, press any key to close this window"); Console.ReadKey(false); } } }