From f99e9eeb3a562648e5e1bd339a4d96dcbc6d9ece Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Tue, 21 Jul 2015 19:05:59 +1000 Subject: [PATCH] Fix crashing on close, remove file that somehow magically appeared? --- Entities/Player.Rendering.cs | 1 + OpenTK/BindingsBase.cs | 15 +++++++------- Utils/MinimalEnvRenderer.cs | 40 ------------------------------------ 3 files changed, 9 insertions(+), 47 deletions(-) delete mode 100644 Utils/MinimalEnvRenderer.cs diff --git a/Entities/Player.Rendering.cs b/Entities/Player.Rendering.cs index c41d77675..09bb54dc6 100644 --- a/Entities/Player.Rendering.cs +++ b/Entities/Player.Rendering.cs @@ -12,6 +12,7 @@ namespace ClassicalSharp { protected internal int PlayerTextureId = -1, MobTextureId = -1; public override void Despawn() { + if( api == null ) return; api.DeleteTexture( ref PlayerTextureId ); api.DeleteTexture( ref nameTex.ID ); } diff --git a/OpenTK/BindingsBase.cs b/OpenTK/BindingsBase.cs index 218934a8f..64350b353 100644 --- a/OpenTK/BindingsBase.cs +++ b/OpenTK/BindingsBase.cs @@ -53,16 +53,17 @@ namespace OpenTK { del = null; } } + + protected bool IsInvalidAddress( IntPtr address ) { + return address == IntPtr.Zero || address == new IntPtr(1) || + address == new IntPtr(2) || address == new IntPtr(-1); + } - // Creates a System.Delegate that can be used to call a dynamically exported OpenGL function. + // Creates a System.Delegate that can be used to call a dynamically exported OpenGL function. protected internal void GetExtensionDelegate( string name, out T del ) where T : class { IntPtr address = GetAddress( name ); - if (address == IntPtr.Zero || address == new IntPtr(1) || - address == new IntPtr(2) || address == new IntPtr(-1)) { - del = null; - return; - } - del = (T)(object)Marshal.GetDelegateForFunctionPointer( address, typeof(T) ); + del = IsInvalidAddress( address ) ? null : + (T)(object)Marshal.GetDelegateForFunctionPointer( address, typeof( T ) ); } } } diff --git a/Utils/MinimalEnvRenderer.cs b/Utils/MinimalEnvRenderer.cs deleted file mode 100644 index 0a49f9a8c..000000000 --- a/Utils/MinimalEnvRenderer.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System; - -namespace ClassicalSharp.Renderers { - - /// Minimialistic environment renderer - only sets the clear colour to be sky colour. - /// (no fog, clouds, or proper overhead sky) - public class MinimalEnvRenderer : EnvRenderer { - - public MinimalEnvRenderer( Game window ) { - Window = window; - Map = Window.Map; - } - - public override void Render( double deltaTime ) { - Graphics.ClearColour( Map.SkyCol ); - } - - public override void Init() { - base.Init(); - Graphics.Fog = false; - Graphics.ClearColour( Map.SkyCol ); - } - - public override void OnNewMap( object sender, EventArgs e ) { - } - - public override void OnNewMapLoaded( object sender, EventArgs e ) { - Graphics.ClearColour( Map.SkyCol ); - } - - protected override void CloudsColourChanged() { - } - - protected override void FogColourChanged() { - } - - protected override void SkyColourChanged() { - } - } -}