#include <alut.h>
#include <SDL.h>
#include <SDL_image.h>
+#include <SDL_net.h>
#include <SDL_ttf.h>
#include <GL/glew.h>
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') {
}
+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()) {
InitSDL::InitSDL() {
- if (SDL_Init(SDL_INIT_VIDEO) != 0) {
- throw SDLError("SDL_Init(SDL_INIT_VIDEO)");
+ if (SDL_Init(0) != 0) {
+ throw SDLError("SDL_Init(0)");
}
}
}
+InitVideo::InitVideo() {
+ if (SDL_InitSubSystem(SDL_INIT_VIDEO) != 0) {
+ throw SDLError("SDL_InitSubSystem(SDL_INIT_VIDEO)");
+ }
+}
+
+InitVideo::~InitVideo() {
+ SDL_QuitSubSystem(SDL_INIT_VIDEO);
+}
+
+
InitIMG::InitIMG() {
if (IMG_Init(IMG_INIT_PNG) == 0) {
throw SDLError("IMG_Init(IMG_INIT_PNG)");
}
+InitNet::InitNet() {
+ if (SDLNet_Init() != 0) {
+ throw SDLError("SDLNet_Init()");
+ }
+}
+
+InitNet::~InitNet() {
+ SDLNet_Quit();
+}
+
+
InitTTF::InitTTF() {
if (TTF_Init() != 0) {
throw SDLError("TTF_Init()");
}
-Init::Init(bool double_buffer, int sample_size)
+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)