#include #include #include "renderer.h" #include "game.h" #include "timer.h" #include "map.h" #include "transform_system.h" #include "camera_system.h" #include "animation_system.h" #include "character_system.h" #include "input_system.h" #include "message_system.h" #include "script_system.h" void loop(Renderer& renderer) { Game game(renderer); game.emplaceSystem(); game.emplaceSystem(); game.emplaceSystem(); game.emplaceSystem(); game.emplaceSystem(); game.emplaceSystem(); game.emplaceSystem(); game.loadMap("../res/maps/map1.tmx", "spawn"); renderer.render(game); size_t lastTime = SDL_GetTicks(); while (!game.shouldQuit()) { size_t currentTime = SDL_GetTicks(); size_t frameTime = currentTime - lastTime; lastTime = currentTime; for (System& system : game.systems()) { system.tick(frameTime); } renderer.render(game); } } int main(int, char**) { try { Renderer renderer; loop(renderer); } catch (const sdl_error& ex) { std::cout << "SDL error (" << ex.what() << ")" << std::endl; } return 0; }