From d2fc5bd20e450b38f2fabdaf5d04e3bdea8882a0 Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Sat, 27 Jun 2015 13:57:16 +1000 Subject: [PATCH] Don't check for X11 on windows, cache EventArgs in Game class, remove update variables from OpenTK.GameWindow --- Game/Game.Events.cs | 37 ++++++++++++++++++++----------------- OpenTK/Configuration.cs | 2 +- OpenTK/GameWindow.cs | 12 +++++------- 3 files changed, 26 insertions(+), 25 deletions(-) diff --git a/Game/Game.Events.cs b/Game/Game.Events.cs index 3bc4e399f..753ad2af4 100644 --- a/Game/Game.Events.cs +++ b/Game/Game.Events.cs @@ -46,29 +46,30 @@ namespace ClassicalSharp { RaiseEvent( HeldBlockChanged ); } + IdEventArgs idArgs = new IdEventArgs( 0 ); internal void RaiseEntityAdded( byte id ) { - IdEventArgs e = new IdEventArgs( id ); - RaiseEvent( EntityAdded, e ); + idArgs.Id = id; + RaiseEvent( EntityAdded, idArgs ); } internal void RaiseEntityRemoved( byte id ) { - IdEventArgs e = new IdEventArgs( id ); - RaiseEvent( EntityRemoved, e ); + idArgs.Id = id; + RaiseEvent( EntityRemoved, idArgs ); } internal void RaiseCpeListInfoAdded( byte id ) { - IdEventArgs e = new IdEventArgs( id ); - RaiseEvent( CpeListInfoAdded, e ); + idArgs.Id = id; + RaiseEvent( CpeListInfoAdded, idArgs ); } internal void RaiseCpeListInfoChanged( byte id ) { - IdEventArgs e = new IdEventArgs( id ); - RaiseEvent( CpeListInfoChanged, e ); + idArgs.Id = id; + RaiseEvent( CpeListInfoChanged, idArgs ); } internal void RaiseCpeListInfoRemoved( byte id ) { - IdEventArgs e = new IdEventArgs( id ); - RaiseEvent( CpeListInfoRemoved, e ); + idArgs.Id = id; + RaiseEvent( CpeListInfoRemoved, idArgs ); } internal void RaiseBlockPermissionsChanged() { @@ -79,14 +80,16 @@ namespace ClassicalSharp { RaiseEvent( OnNewMapLoaded ); } + MapLoadingEventArgs loadingArgs = new MapLoadingEventArgs( 0 ); internal void RaiseMapLoading( byte progress ) { - MapLoadingEventArgs e = new MapLoadingEventArgs( progress ); - RaiseEvent( MapLoading, e ); + loadingArgs.Progress = progress; + RaiseEvent( MapLoading, loadingArgs ); } + EnvVariableEventArgs envArgs = new EnvVariableEventArgs( 0 ); internal void RaiseEnvVariableChanged( EnvVariable variable ) { - EnvVariableEventArgs e = new EnvVariableEventArgs( variable ); - RaiseEvent( EnvVariableChanged, e ); + envArgs.Variable = variable; + RaiseEvent( EnvVariableChanged, envArgs ); } void RaiseEvent( EventHandler handler ) { @@ -104,7 +107,7 @@ namespace ClassicalSharp { public sealed class IdEventArgs : EventArgs { - public readonly byte Id; + public byte Id; public IdEventArgs( byte id ) { Id = id; @@ -125,7 +128,7 @@ namespace ClassicalSharp { public sealed class MapLoadingEventArgs : EventArgs { - public readonly int Progress; + public int Progress; public MapLoadingEventArgs( int progress ) { Progress = progress; @@ -134,7 +137,7 @@ namespace ClassicalSharp { public sealed class EnvVariableEventArgs : EventArgs { - public readonly EnvVariable Variable; + public EnvVariable Variable; public EnvVariableEventArgs( EnvVariable variable ) { Variable = variable; diff --git a/OpenTK/Configuration.cs b/OpenTK/Configuration.cs index 0a092c76c..bc390b8b4 100644 --- a/OpenTK/Configuration.cs +++ b/OpenTK/Configuration.cs @@ -82,7 +82,7 @@ namespace OpenTK // Hack: it seems that this check will cause X to initialize itself on Mac OS X Leopard and newer. // We don't want that (we'll be using the native interfaces anyway), so we'll avoid this check // when we detect Mac OS X. - if (!RunningOnMacOS) + if (!runningOnMacOS && !runningOnWindows) { try { runningOnX11 = OpenTK.Platform.X11.API.DefaultDisplay != IntPtr.Zero; } catch { } diff --git a/OpenTK/GameWindow.cs b/OpenTK/GameWindow.cs index 24f898d43..9fb8655c7 100644 --- a/OpenTK/GameWindow.cs +++ b/OpenTK/GameWindow.cs @@ -79,15 +79,14 @@ namespace OpenTK bool isExiting = false; - double update_period, render_period; - double target_update_period, target_render_period; + double render_period; + double target_render_period; // TODO: Implement these: - double update_time, render_time; + double render_time; VSyncMode vsync; - Stopwatch update_watch = new Stopwatch(), render_watch = new Stopwatch(); - double next_render = 0.0, next_update = 0.0; - FrameEventArgs update_args = new FrameEventArgs(); + Stopwatch render_watch = new Stopwatch(); + double next_render = 0.0; FrameEventArgs render_args = new FrameEventArgs(); #endregion @@ -382,7 +381,6 @@ namespace OpenTK //Resize += DispatchUpdateAndRenderFrame; Debug.Print("Entering main loop."); - update_watch.Start(); render_watch.Start(); while (true) {