]> git.localhorst.tv Git - blank.git/blobdiff - src/app/init.hpp
smoother type selection during chunk generation
[blank.git] / src / app / init.hpp
index 122210d1e96bc426a33de8b8a6fb938eda02976e..66c3345fa170a108ee71189648a0384ddc54c2b5 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef BLANK_APP_INIT_HPP_
 #define BLANK_APP_INIT_HPP_
 
+#include <al.h>
 #include <SDL.h>
 #include <stdexcept>
 #include <string>
@@ -8,6 +9,15 @@
 
 namespace blank {
 
+class AlutError
+: public std::runtime_error {
+
+public:
+       explicit AlutError(ALenum);
+       AlutError(ALenum, const std::string &);
+
+};
+
 class SDLError
 : public std::runtime_error {
 
@@ -17,6 +27,15 @@ public:
 
 };
 
+class NetError
+: public std::runtime_error {
+
+public:
+       NetError();
+       explicit NetError(const std::string &);
+
+};
+
 
 class InitSDL {
 
@@ -30,6 +49,18 @@ public:
 };
 
 
+class InitVideo {
+
+public:
+       InitVideo();
+       ~InitVideo();
+
+       InitVideo(const InitVideo &) = delete;
+       InitVideo &operator =(const InitVideo &) = delete;
+
+};
+
+
 class InitIMG {
 
 public:
@@ -42,6 +73,18 @@ public:
 };
 
 
+class InitNet {
+
+public:
+       InitNet();
+       ~InitNet();
+
+       InitNet(const InitNet &) = delete;
+       InitNet &operator =(const InitNet &) = delete;
+
+};
+
+
 class InitTTF {
 
 public:
@@ -54,6 +97,18 @@ public:
 };
 
 
+class InitAL {
+
+public:
+       InitAL();
+       ~InitAL();
+
+       InitAL(const InitAL &) = delete;
+       InitAL &operator =(const InitAL &) = delete;
+
+};
+
+
 class InitGL {
 
 public:
@@ -116,13 +171,23 @@ public:
 };
 
 
+struct InitHeadless {
+
+       InitHeadless();
+
+       InitSDL init_sdl;
+       InitNet init_net;
+
+};
+
 struct Init {
 
        Init(bool double_buffer = true, int sample_size = 1);
 
-       InitSDL init_sdl;
+       InitVideo init_video;
        InitIMG init_img;
        InitTTF init_ttf;
+       InitAL init_al;
        InitGL init_gl;
        Window window;
        GLContext ctx;