X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp%2Finit.cpp;h=5e9bcba47e46cee1face8752b1bf88e088cdfda3;hb=2025d49798b93180237b6ce62d3ff5d6ee8ebc6e;hp=34e0393db02c2bd7e3d335ee790bdd50c330539d;hpb=b999aef37fd70e6a776fb1eb787fbcec0156c660;p=blobs.git diff --git a/src/app/init.cpp b/src/app/init.cpp index 34e0393..5e9bcba 100644 --- a/src/app/init.cpp +++ b/src/app/init.cpp @@ -1,5 +1,7 @@ #include "init.hpp" +#include "error.hpp" + #include #include #include @@ -10,72 +12,9 @@ #include -namespace { - -std::string sdl_error_append(std::string msg) { - const char *error = SDL_GetError(); - if (*error != '\0') { - msg += ": "; - msg += error; - SDL_ClearError(); - } - return msg; -} - -std::string net_error_append(std::string msg) { - const char *error = SDLNet_GetError(); - if (*error != '\0') { - msg += ": "; - msg += error; - } - return msg; -} - -std::string alut_error_append(ALenum num, std::string msg) { - const char *error = alutGetErrorString(num); - if (*error != '\0') { - msg += ": "; - msg += error; - } - return msg; -} - -} namespace blobs { - -AlutError::AlutError(ALenum num) -: std::runtime_error(alutGetErrorString(num)) { - -} - -AlutError::AlutError(ALenum num, const std::string &msg) -: std::runtime_error(alut_error_append(num, msg)) { - -} - - -NetError::NetError() -: std::runtime_error(SDLNet_GetError()) { - -} - -NetError::NetError(const std::string &msg) -: std::runtime_error(net_error_append(msg)) { - -} - - -SDLError::SDLError() -: std::runtime_error(SDL_GetError()) { - -} - -SDLError::SDLError(const std::string &msg) -: std::runtime_error(sdl_error_append(msg)) { - -} - +namespace app { InitSDL::InitSDL() { if (SDL_Init(SDL_INIT_EVENTS) != 0) { @@ -176,11 +115,11 @@ InitGL::InitGL(bool double_buffer, int sample_size) { } -Window::Window() +Window::Window(int w, int h) : handle(SDL_CreateWindow( "blobs", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, - 960, 600, + w, h, SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE )) { if (!handle) { @@ -245,21 +184,17 @@ InitGLEW::InitGLEW() { } -InitHeadless::InitHeadless() -: init_sdl() -, init_net() { - -} - Init::Init(bool double_buffer, int sample_size) : init_video() , init_img() , init_ttf() , init_gl(double_buffer, sample_size) -, window() +, window(960, 540) , ctx(window.Handle()) -, init_glew() { +, init_glew() +, viewport(960, 540) { } } +}