2017-09-30 10:37:45 +02:00
|
|
|
// C
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
// System (C)
|
2017-10-04 16:29:39 +02:00
|
|
|
#include <sys/stat.h>
|
2017-09-30 10:37:45 +02:00
|
|
|
#include <sys/inotify.h>
|
|
|
|
#include <fcntl.h>
|
|
|
|
#include <libgen.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
|
|
|
|
// Misc (C)
|
|
|
|
#include <SDL.h>
|
|
|
|
#include <GL/glew.h>
|
|
|
|
|
|
|
|
// C++ std
|
|
|
|
#include <vector>
|
|
|
|
#include <string>
|
|
|
|
#include <algorithm>
|
|
|
|
#include <functional>
|
|
|
|
#include <memory>
|
|
|
|
#include <fstream>
|
2017-10-01 11:37:04 +02:00
|
|
|
#include <map>
|
2017-10-03 16:09:12 +02:00
|
|
|
#include <set>
|
2017-10-03 13:53:50 +02:00
|
|
|
#include <regex>
|
2017-10-07 16:56:20 +02:00
|
|
|
#include <unordered_map>
|
2017-09-30 10:37:45 +02:00
|
|
|
|
|
|
|
// ImGui
|
|
|
|
#include <imgui.h>
|
|
|
|
|
|
|
|
// GLM
|
|
|
|
#include <glm/mat3x3.hpp>
|
|
|
|
#include <glm/gtx/euler_angles.hpp>
|
|
|
|
|
|
|
|
// Silly decoration macros I use everywhere
|
|
|
|
#define __rd__
|
|
|
|
#define __wr__
|
|
|
|
#define __rw__
|
2017-10-02 13:51:08 +02:00
|
|
|
|
|
|
|
// Macros that enable/disable copying/moving
|
|
|
|
#define NO_COPY( CLS ) \
|
|
|
|
CLS( CLS const& ) = delete; \
|
|
|
|
CLS& operator =( CLS const& ) = delete
|
|
|
|
#define NO_MOVE( CLS ) \
|
|
|
|
CLS( CLS&& ) = delete; \
|
|
|
|
CLS& operator =( CLS&& ) = delete
|
2017-10-09 10:58:03 +02:00
|
|
|
#define DEF_COPY( CLS ) \
|
|
|
|
CLS( CLS const& ) = default; \
|
|
|
|
CLS& operator =( CLS const& ) = default
|
|
|
|
#define DEF_MOVE( CLS ) \
|
|
|
|
CLS( CLS&& ) noexcept = default; \
|
|
|
|
CLS& operator =( CLS&& ) noexcept = default
|
2017-10-02 13:51:08 +02:00
|
|
|
#define COPY( CLS ) \
|
|
|
|
CLS( CLS const& ); \
|
|
|
|
CLS& operator =( CLS const& )
|
|
|
|
#define MOVE( CLS ) \
|
2017-10-04 16:29:39 +02:00
|
|
|
CLS( CLS&& ) noexcept; \
|
|
|
|
CLS& operator =( CLS&& ) noexcept
|