diff --git a/openrct2.vcxproj b/openrct2.vcxproj index 5f2f90147a..1ca09d060e 100644 --- a/openrct2.vcxproj +++ b/openrct2.vcxproj @@ -494,7 +494,7 @@ Level3 Disabled true - $(OpenRCT2_DEFINES);DEBUG;_CRT_SECURE_NO_WARNINGS;_USE_MATH_DEFINES;CURL_STATICLIB;SDL_MAIN_HANDLED;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions) + $(OpenRCT2_DEFINES);DEBUG;OPENGL_NO_LINK;_CRT_SECURE_NO_WARNINGS;_USE_MATH_DEFINES;CURL_STATICLIB;SDL_MAIN_HANDLED;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions) MultiThreaded true $(IntDir)\%(RelativeDir) @@ -521,7 +521,7 @@ 4013 false - $(OpenRCT2_DEFINES);_CRT_SECURE_NO_WARNINGS;_USE_MATH_DEFINES;CURL_STATICLIB;SDL_MAIN_HANDLED;%(PreprocessorDefinitions) + $(OpenRCT2_DEFINES);OPENGL_NO_LINK;_CRT_SECURE_NO_WARNINGS;_USE_MATH_DEFINES;CURL_STATICLIB;SDL_MAIN_HANDLED;%(PreprocessorDefinitions) $(IntDir)\%(RelativeDir) true Speed diff --git a/src/drawing/engines/OpenGLAPI.cpp b/src/drawing/engines/OpenGLAPI.cpp index 9c45d2a32b..9be06343ce 100644 --- a/src/drawing/engines/OpenGLAPI.cpp +++ b/src/drawing/engines/OpenGLAPI.cpp @@ -16,12 +16,10 @@ #ifndef DISABLE_OPENGL -#include - #define NO_EXTERN_GLAPI #include "OpenGLAPI.h" -#if __WINDOWS__ +#if OPENGL_NO_LINK #include @@ -81,11 +79,11 @@ static const char * TryLoadAllProcAddresses() return nullptr; } -#endif /* __WINDOWS__ */ +#endif /* #if OPENGL_NO_LINK */ bool OpenGLAPI::Initialise() { -#if __WINDOWS__ +#ifdef OPENGL_NO_LINK const char * failedProcName = TryLoadAllProcAddresses(); if (failedProcName != nullptr) { diff --git a/src/drawing/engines/OpenGLAPI.h b/src/drawing/engines/OpenGLAPI.h index a11fb3aa44..30191c7400 100644 --- a/src/drawing/engines/OpenGLAPI.h +++ b/src/drawing/engines/OpenGLAPI.h @@ -16,6 +16,8 @@ #pragma once +#if OPENGL_NO_LINK + // BEGIN [Do not define 1.1 function signatures] #define glBegin __static__glBegin #define glBindTexture __static__glBindTexture @@ -40,8 +42,12 @@ #define glVertex2i __static__glVertex2i #define glViewport __static__glViewport +#endif + #include +#if OPENGL_NO_LINK + // END [Do not define 1.1 function signatures] #undef glBegin #undef glBindTexture @@ -90,12 +96,12 @@ typedef void (APIENTRYP PFNGLTRANSLATEFPROC )(GLfloat x, GLfloat y, GLfloat z typedef void (APIENTRYP PFNGLVERTEX2IPROC )(GLint x, GLint y); typedef void (APIENTRYP PFNGLVIEWPORTPROC )(GLint x, GLint y, GLsizei width, GLsizei height); -#if __WINDOWS__ - #ifdef NO_EXTERN_GLAPI + // Defines the function pointers #define GLAPI_DECL #define GLAPI_SET = nullptr #else + // Defines the functions as "extern" #define GLAPI_DECL extern #define GLAPI_SET #endif @@ -128,7 +134,7 @@ GLAPI_DECL PFNGLVIEWPORTPROC glViewport GLAPI_SET; GLAPI_DECL PFNGLCREATESHADERPROC glCreateShader GLAPI_SET; GLAPI_DECL PFNGLDELETESHADERPROC glDeleteShader GLAPI_SET; -#endif /* __WINDOWS__ */ +#endif /* OPENGL_NO_LINK */ namespace OpenGLAPI {