diff --git a/Engine/src/game.cpp b/Engine/src/game.cpp index e33de3b..5636a3f 100644 --- a/Engine/src/game.cpp +++ b/Engine/src/game.cpp @@ -51,10 +51,8 @@ bool Game::Init() { void Game::Run() { - while (isActive) { parser.Parse(); // Process game logic in here - } } bool Game::Save() { return false; } diff --git a/main.cpp b/main.cpp index baa00fe..340a362 100644 --- a/main.cpp +++ b/main.cpp @@ -2,13 +2,15 @@ #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; - -#include "game.h" +static int width = 800, height = 600; +static Game game; void EditRooms() { @@ -52,30 +54,48 @@ void EditRooms() { outFile.close(); } -int main(int argc, char *argv[]) { - Game game; - SDL_Event e; +int Init() +{ if (SDL_Init(SDL_INIT_VIDEO) == false) { SDL_Log("SDL could not initialize! SDL error: %s\n", SDL_GetError()); } TTF_Init(); - - SDL_CreateWindowAndRenderer("Text Adventure", 1280, 720, SDL_WINDOW_RESIZABLE, &window, &renderer); + window = SDL_CreateWindow("Text Adventure", width, height, 0); if (window == nullptr) { - printf("SDL_CreateWindow Error: \n", SDL_GetError()); + SDL_Log("SDL_CreateWindow Error: %s\n", SDL_GetError()); SDL_Quit(); - return 1; + 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)) { @@ -83,14 +103,22 @@ int main(int argc, char *argv[]) { game.SetIsActive(false); } } - - game.Run(); 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(); +} \ No newline at end of file