From 5de92d3f1e8373d69ed6bd9d0b8b7e6520aadf72 Mon Sep 17 00:00:00 2001 From: cinnaboot Date: Wed, 13 Jan 2021 12:41:30 -0500 Subject: [PATCH] add option to pass SDL init flags to renInit() --- include/renderer.h | 3 ++- src/renderer.cpp | 12 +++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/include/renderer.h b/include/renderer.h index 1fda5d4..69e11c6 100644 --- a/include/renderer.h +++ b/include/renderer.h @@ -57,7 +57,8 @@ struct render_state render_state* renInit(const char* title = "Tangerine", - glm::vec2 viewport_dims = glm::vec2(1280, 720)); + glm::vec2 viewport_dims = glm::vec2(1280, 720), + Uint32 SDL_init_flags = 0); void renShutdown(render_state* rs); diff --git a/src/renderer.cpp b/src/renderer.cpp index c1c2660..87f754f 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -34,7 +34,7 @@ bool createWindow(const char* title, glm::vec2& viewport_dims); bool initContext(SDL_Handles* handles); bool initGlOptions(); -bool initSDL(SDL_Handles* handles); +bool initSDL(SDL_Handles* handles, Uint32 SDL_init_flags); bool initShaders(render_state* rs); void openglDebugCallback(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam); @@ -44,13 +44,13 @@ void setDefaults(render_state* rs, glm::vec2 viewport_dims); // interface render_state* -renInit(const char* title, glm::vec2 viewport_dims) +renInit(const char* title, glm::vec2 viewport_dims, Uint32 SDL_init_flags) { render_state* rs = UTIL_ALLOC(1, render_state); rs->handles = UTIL_ALLOC(1, SDL_Handles); setDefaults(rs, viewport_dims); - if (initSDL(rs->handles) && + if (initSDL(rs->handles, SDL_init_flags) && createWindow(title, rs->handles, rs->viewport_dims) && initContext(rs->handles) && initGlOptions() && @@ -242,9 +242,11 @@ initGlOptions() } bool -initSDL(SDL_Handles* handles) +initSDL(SDL_Handles* handles, Uint32 SDL_init_flags) { - if (SDL_Init(SDL_INIT_VIDEO) != 0) { + Uint32 flags = SDL_INIT_VIDEO | SDL_init_flags; + + if (SDL_Init(flags) != 0) { LOG(Error) << "Error, SDL_Init: " << SDL_GetError() << "\n"; return false; }