diff --git a/build.zig b/build.zig index b4730e7..c7887f7 100644 --- a/build.zig +++ b/build.zig @@ -122,7 +122,7 @@ pub fn build(b: *std.Build) void { // GLSDL const build_glsdl_option = b.option(bool, "WHOA_BUILD_GLSDL", "Enable"); - switch (target.result.os) { + switch (t.os.tag) { .windows => { // SDL is off by default build_glsdl = build_glsdl_option orelse false; diff --git a/src/gx/CGxDevice.cpp b/src/gx/CGxDevice.cpp index 404637e..9017624 100644 --- a/src/gx/CGxDevice.cpp +++ b/src/gx/CGxDevice.cpp @@ -5,6 +5,7 @@ #include "util/SFile.hpp" #include #include +#include #include #include #include @@ -14,7 +15,7 @@ #include "gx/d3d/CGxDeviceD3d.hpp" #endif -#if defined(WHOA_SYSTEM_LINUX) || defined(WHOA_SYSTEM_WIN) +#if defined(WHOA_BUILD_GLSDL) #include "gx/glsdl/CGxDeviceGLSDL.hpp" #endif diff --git a/src/gx/Device.cpp b/src/gx/Device.cpp index 63a7341..7eb4f13 100644 --- a/src/gx/Device.cpp +++ b/src/gx/Device.cpp @@ -7,37 +7,39 @@ CGxDevice* g_theGxDevicePtr = nullptr; CGxDevice* GxDevCreate(EGxApi api, int32_t (*windowProc)(void* window, uint32_t message, uintptr_t wparam, intptr_t lparam), const CGxFormat& format) { CGxDevice* device; - #if defined(WHOA_SYSTEM_WIN) - if (api == GxApi_OpenGl) { - device = CGxDevice::NewOpenGl(); - } else if (api == GxApi_D3d9) { - device = CGxDevice::NewD3d(); - } else if (api == GxApi_D3d9Ex) { - device = CGxDevice::NewD3d9Ex(); - } else if (api == GxApi_GLSDL) { - device = CGxDevice::NewGLSDL(); - } else { - // Error - } - #endif + switch (api) { + case GxApi_OpenGl: + device = CGxDevice::NewOpenGl(); - #if defined(WHOA_SYSTEM_MAC) - if (api == GxApi_OpenGl) { - device = CGxDevice::NewOpenGl(); - } else if (api == GxApi_GLL) { - device = CGxDevice::NewGLL(); - } else { - // Error - } - #endif +#if defined(WHOA_SYSTEM_WIN) + case GxApi_D3d9: + device = CGxDevice::NewD3d(); + break; + case GxApi_D3d9Ex: + device = CGxDevice::NewD3d9Ex(); + break; + case GxApi_D3d10: + case GxApi_D3d11: + // Error + break; +#endif - #if defined(WHOA_SYSTEM_LINUX) - if (api == GxApi_GLSDL) { - device = CGxDevice::NewGLSDL(); - } else { - // Error - } - #endif +#if defined(WHOA_SYSTEM_MAC) + case GxApi_GLL: + device = CGxDevice::NewGLL(); + break; +#endif + +#if defined(WHOA_BUILD_GLSDL) + case GxApi_GLSDL: + device = CGxDevice::NewGLSDL(); + break; +#endif + + default: + // Error + break; + } g_theGxDevicePtr = device;