Всем привет, недавно выкладывал скриншот: Мой редактор уровней, в разработке
выложил исходный код: https://github.com/sysint64/e2dit.git
Очевидно что и код, и структура мягко говоря не очень, решил переоформить все, сделать сборку через cmake итд. И так как хочется все красиво сделать, хотелось бы совета у сообщества.
Сейчас начал новую структуру накидывать и получилось как-то так:
src/
core/{*.h,*.cpp}
math/{*.h,*.cpp}
renderer/{*.h,*.cpp}
system/{*.h,*.cpp}
ui/{*.h,*.cpp}
res/
ui/
strings/
Пока так, там будет расширяться, ну и в данный момент у меня в основном файле у меня просто ужас:
#define GLEW_STATIC
#define GLM_FORCE_RADIANS
#define GLM_SWIZZLE
//#define GLM_FORCE_AVX for x86_64
#define GLM_FORCE_INLINE
#define GLM_FORCE_PURE
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/matrix_access.hpp>
#include <glm/gtx/fast_square_root.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <glm/gtc/quaternion.hpp>
#include <glm/gtx/vector_angle.hpp>
//
#include "GL/glew.h"
//#include "GL/wglew.h"
#ifdef _win_
#include "windows.h"
#endif
//
#include <string>
#include <vector>
#include <stack>
#include <map>
#include <math.h>
#include <stdexcept>
#include <clocale>
#include <locale>
#include <iconv.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#ifdef _linux_
#include <mntent.h>
#endif
#include <unistd.h>
//
using namespace std;
//
void Terminate (const int type);
//
#include "Engine/Logger.h"
#include <SFML/System.hpp>
#include <SFML/Window.hpp>
#include <SFML/OpenGL.hpp>
//#include <SFML/Window/Mouse.hpp>
#include <iostream>
#include <pthread.h>
#include <SOIL/SOIL.h>
#include <FTGL/ftgl.h>
Решил начать с этого, как лучше все это по папкам распихать, думал все инклуды с glm перенести в math/main.h но может не лучшее решение. Так же думал все инклуды из std вынести в какойнить файл, например в system/main.h. Хотелось бы услышать ваши идеи и предпочтения.