X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp.hpp;h=23dcd0cef9cf7b3a21bf143f6204d5c836dc5641;hb=f90ec88e6728ce865bcf892c810a36abd90d9001;hp=6bd4e0d9a14a65e615eb62f9f14df5f8b33f5c9b;hpb=c3c5045f06327db2a3c97eae77a072bc06677286;p=blank.git diff --git a/src/app.hpp b/src/app.hpp index 6bd4e0d..23dcd0c 100644 --- a/src/app.hpp +++ b/src/app.hpp @@ -2,6 +2,7 @@ #define BLANK_APP_HPP_ #include "camera.hpp" +#include "controller.hpp" #include "init.hpp" #include "interface.hpp" #include "shader.hpp" @@ -13,7 +14,16 @@ namespace blank { class Application { public: - Application(); + struct Config { + bool vsync = true; + bool doublebuf = true; + int multisampling = 1; + + Interface::Config interface = Interface::Config(); + World::Config world = World::Config(); + }; + + explicit Application(const Config &); Application(const Application &) = delete; Application &operator =(const Application &) = delete; @@ -33,6 +43,8 @@ public: void Update(int dt); void Render(); + static Entity &MakeTestEntity(World &); + private: InitSDL init_sdl; InitIMG init_img; @@ -46,6 +58,8 @@ private: World world; Interface interface; + RandomWalk test_controller; + bool running; };