mapcreator git · master
SDL3 2.5D game and engine using assets, with map editor
C++ 99.3%git clone https://git.christianimmanuel.de/sdl-graphics/mapcreator.gitwget https://git.christianimmanuel.de/sdl-graphics/mapcreator/archive/mapcreator.tar.gz..
src/defaults/defaults.cpp | 2 ++ src/defaults/defaults.hpp | 2 ++ src/game/game.cpp | 14 ++++++++++++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/defaults/defaults.cpp b/src/defaults/defaults.cpp index ef9f18f..cbdfd92 100644 --- a/src/defaults/defaults.cpp +++ b/src/defaults/defaults.cpp @@ -23,6 +23,8 @@ namespace Default { float game_scale; + bool is_fullscreen = false; + SDL_Color menu_hovering_color = {255, 255, 100, 160}; void set_DeltaTime() { diff --git a/src/defaults/defaults.hpp b/src/defaults/defaults.hpp index b10631a..2d2d477 100644 --- a/src/defaults/defaults.hpp +++ b/src/defaults/defaults.hpp @@ -35,6 +35,8 @@ namespace Default { extern int fps; extern int fps_counter; + extern bool is_fullscreen; + extern Uint64 game_time_start; extern Uint64 game_time_running; extern Uint64 game_time_paused; diff --git a/src/game/game.cpp b/src/game/game.cpp index 64677d4..3206ec4 100644 --- a/src/game/game.cpp +++ b/src/game/game.cpp @@ -32,15 +32,23 @@ Game::Game() : running(true) { std::cerr << "SDL_Init Error: " << SDL_GetError() << "\n"; running = false; } + Uint32 window_flags = SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE; + if (Default::is_fullscreen) { + window_flags |= SDL_WINDOW_FULLSCREEN; + } + window = SDL_CreateWindow("Map creator", win_size.w, win_size.h, - SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE + window_flags ); if (!window) { std::cout << "Fialed to create window\n"; running = false; return; } + + + SDL_SetHint(SDL_HINT_RENDER_VSYNC, "0"); renderer = SDL_CreateRenderer( window, "opengl" ); if (!renderer) { @@ -163,7 +171,9 @@ void Game::set_State(GameState_e new_state, NewGameState_e game_state_e) { } void Game::Run() { - StartScreen_Event::event_Loop(renderer); + if (Default::is_fullscreen) + StartScreen_Event::event_Loop(renderer); + SDL_GetRenderOutputSize(renderer, &win_size.w, &win_size.h); while (running) {