#include #include #include #include #include #include #include "game.h" /* We will use this renderer to draw into this window every frame. */ static SDL_Window *window = nullptr; static SDL_Renderer *renderer = nullptr; static int width = 800, height = 600; static Game game; void EditRooms() { fs::path path("Resources/rooms.json"); std::vector> roomDat = { { { 0, "Test Room 1", "First Test Room", {{0, S, false}, {1, E, false}}, { {0, "Rock", "A Grey Rock", {"Rock"}, ObjectType::SCENERY, false, 0}, }, }, {1, "Test Room 2", "A court yard", {{2, W, false}, {3, E, false}, {4, S, false}}, {{1, "Tree", "A fine looking Tree stands in the courtyard", {"Tree"}, ObjectType::SCENERY, false, 1}}}, }, {{3, "Test Room 3", "You can hear the sound of a waterfall nearby", {{5, N, false}, {6, E, false}}, {{3, "Waterfall", "A fine waterfall on a cliff", {"Waterfall"}, ObjectType::SCENERY, false, 3}}}}}; nlohmann::json j(roomDat); std::fstream outFile(absolute(path), std::fstream::in | std::fstream::out | std::fstream::app); outFile << std::setw(4) << j << std::endl; outFile.close(); } int Init() { if (SDL_Init(SDL_INIT_VIDEO) == false) { SDL_Log("SDL could not initialize! SDL error: %s\n", SDL_GetError()); } TTF_Init(); window = SDL_CreateWindow("Text Adventure", width, height, 0); if (window == nullptr) { SDL_Log("SDL_CreateWindow Error: %s\n", SDL_GetError()); SDL_Quit(); return -1; } renderer = SDL_CreateRenderer(window, nullptr); if (renderer == nullptr) { SDL_Log("SDL_CreateRenderer Error: %s\n", SDL_GetError()); SDL_Quit(); return -1; } if (!game) { game.Init(); Game::SetGameInstance(&game); } else { printf("Game Initalization failed! \n"); return -1; } return 1; } int main(int argc, char *argv[]) { SDL_Event e; game.SetIsActive(Init()); while (game.GetIsActive()) { while (SDL_PollEvent(&e)) { if (e.type == SDL_EVENT_QUIT) { game.SetIsActive(false); } } SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); // Set render draw color to black SDL_RenderClear(renderer); // Clear the renderer SDL_RenderPresent(renderer); // Render the screen //game.Run(); } return 0; } void Close() { SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); }