diff --git a/CMakeLists.txt b/CMakeLists.txt index 89711eb..c971a04 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,51 +10,42 @@ cmake_policy(SET CMP0072 NEW) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED True) -# Configuración global de flags de compilación -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") -set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Os -ffunction-sections -fdata-sections") - -# Define el directorio de los archivos fuente -set(DIR_SOURCES "${CMAKE_SOURCE_DIR}/source") - -# Cargar todos los archivos fuente en DIR_SOURCES -file(GLOB SOURCES "${DIR_SOURCES}/*.cpp") +# Cargar todos los archivos fuente directamente desde el directorio +file(GLOB SOURCES "${CMAKE_SOURCE_DIR}/source/*.cpp") # Verificar si se encontraron archivos fuente if(NOT SOURCES) - message(FATAL_ERROR "No se encontraron archivos fuente en ${DIR_SOURCES}. Verifica que el directorio existe y contiene archivos .cpp.") + message(FATAL_ERROR "No se encontraron archivos fuente en ${CMAKE_SOURCE_DIR}/source. Verifica que el directorio existe y contiene archivos .cpp.") endif() # Configuración de SDL3 (usando el método recomendado) find_package(SDL3 REQUIRED CONFIG REQUIRED COMPONENTS SDL3) message(STATUS "SDL3 encontrado: ${SDL3_INCLUDE_DIRS}") -# Incluye los directorios si es necesario (SDL3::SDL3 ya incluye la información necesaria) -include_directories(${SDL3_INCLUDE_DIRS}) - # Añadir ejecutable principal add_executable(${PROJECT_NAME} ${SOURCES}) +# Configuración de flags de compilación +target_compile_options(${PROJECT_NAME} PRIVATE -Wall) +target_compile_options(${PROJECT_NAME} PRIVATE $<$:-Os -ffunction-sections -fdata-sections>) + # Enlazar la librería SDL3 target_link_libraries(${PROJECT_NAME} PRIVATE SDL3::SDL3) -# Configuración común de salida de ejecutables en el directorio raíz -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}) - -# Añadir definiciones de compilación dependiendo del tipo de build -target_compile_definitions(${PROJECT_NAME} PRIVATE $<$:DEBUG VERBOSE>) - # Configuración específica para cada plataforma if(WIN32) target_compile_definitions(${PROJECT_NAME} PRIVATE WINDOWS_BUILD) - target_link_libraries(${PROJECT_NAME} PRIVATE mingw32 opengl32) + target_link_libraries(${PROJECT_NAME} PRIVATE ws2_32 mingw32 opengl32) elseif(APPLE) target_compile_definitions(${PROJECT_NAME} PRIVATE MACOS_BUILD) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated") + target_compile_options(${PROJECT_NAME} PRIVATE -Wno-deprecated) set(CMAKE_OSX_ARCHITECTURES "arm64") elseif(UNIX AND NOT APPLE) target_compile_definitions(${PROJECT_NAME} PRIVATE LINUX_BUILD) - # Por ejemplo, si necesitas enlazar OpenGL: +endif() + +# Configuración común para OpenGL (excepto en Windows, ya configurado) +if(NOT WIN32) find_package(OpenGL REQUIRED) if(OPENGL_FOUND) message(STATUS "OpenGL encontrado: ${OPENGL_LIBRARIES}") @@ -64,13 +55,7 @@ elseif(UNIX AND NOT APPLE) endif() endif() -# Añadir OpenGL a las bibliotecas enlazadas -if(NOT WIN32) - find_package(OpenGL REQUIRED) - if(OPENGL_FOUND) - message(STATUS "OpenGL encontrado: ${OPENGL_LIBRARIES}") - target_link_libraries(${PROJECT_NAME} ${OPENGL_LIBRARIES}) - else() - message(FATAL_ERROR "OpenGL no encontrado") - endif() -endif() +# Configuración común de salida de ejecutables en el directorio raíz +#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}) +# Especificar la ubicación del ejecutable (en la raíz del proyecto) +set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}) diff --git a/source/animated_sprite.h b/source/animated_sprite.h index ea15a3b..4bc5e8f 100644 --- a/source/animated_sprite.h +++ b/source/animated_sprite.h @@ -1,6 +1,5 @@ #pragma once -#include #include // Para SDL_FRect #include // Para shared_ptr #include // Para string diff --git a/source/asset.h b/source/asset.h index cb6809e..07eb5ea 100644 --- a/source/asset.h +++ b/source/asset.h @@ -1,9 +1,8 @@ #pragma once -#include -#include // Para string, basic_string -#include // Para vector -#include "utils.h" +#include // Para string +#include // Para vector +#include "utils.h" // Para getPath enum class AssetType : int { diff --git a/source/background.h b/source/background.h index d20db79..09d7b72 100644 --- a/source/background.h +++ b/source/background.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect, SDL_FPoint #include // Para SDL_Texture, SDL_Renderer @@ -7,9 +6,9 @@ #include // Para unique_ptr, shared_ptr #include // Para vector #include "utils.h" // Para Color -class MovingSprite; // lines 7-7 -class Sprite; // lines 8-8 -class Texture; // lines 9-9 +class MovingSprite; // lines 10-10 +class Sprite; // lines 11-11 +class Texture; // lines 12-12 /* Esta clase es la encargada de dibujar el fondo que aparece durante la sección diff --git a/source/balloon.h b/source/balloon.h index 478d9b0..70cf7d9 100644 --- a/source/balloon.h +++ b/source/balloon.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect #include // Para Uint8, Uint16, Uint32 diff --git a/source/balloon_formations.h b/source/balloon_formations.h index 2199fbe..4bb082b 100644 --- a/source/balloon_formations.h +++ b/source/balloon_formations.h @@ -1,5 +1,4 @@ #pragma once -#include #include "balloon.h" // Para BALLOON_VELX_NEGATIVE, BALLOON_VELX_POSITIVE #include diff --git a/source/balloon_manager.h b/source/balloon_manager.h index 3621ed5..9cc1b4e 100644 --- a/source/balloon_manager.h +++ b/source/balloon_manager.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect #include // Para shared_ptr, unique_ptr diff --git a/source/bullet.h b/source/bullet.h index 3bcf439..39d2dc8 100644 --- a/source/bullet.h +++ b/source/bullet.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para Uint8 #include // Para shared_ptr, unique_ptr diff --git a/source/credits.cpp b/source/credits.cpp index 5c0fb54..07fac24 100644 --- a/source/credits.cpp +++ b/source/credits.cpp @@ -1,27 +1,26 @@ // IWYU pragma: no_include #include "credits.h" #include // Para SDL_BLENDMODE_BLEND -#include // Para SDL_PollEvent, SDL_Event, SDL_QUIT -#include // Para SDL_PIXELFORMAT_RGBA8888 +#include // Para SDL_PollEvent, SDL_Event +#include // Para SDL_PixelFormat #include // Para SDL_GetTicks #include // Para max, min, clamp -#include // Para abs +#include // Para array #include // Para runtime_error #include // Para basic_string, string #include // Para vector -#include // Para vector #include "balloon_manager.h" // Para BalloonManager #include "fade.h" // Para Fade, FadeType, FadeMode +#include "global_events.h" // Para check #include "global_inputs.h" // Para check, update -#include "input.h" // Para Input +#include "input.h" // Para Input, INPUT_ALLOW_REPEAT #include "jail_audio.h" // Para JA_GetMusicState, JA_SetMusicVolume #include "lang.h" // Para getText -#include "global_events.h" // Para handleEvent #include "param.h" // Para Param, ParamGame, param #include "player.h" // Para Player, PlayerState #include "resource.h" // Para Resource #include "screen.h" // Para Screen -#include "section.h" // Para Name, name, Options, options +#include "section.h" // Para Name, name #include "sprite.h" // Para Sprite #include "text.h" // Para Text, TEXT_CENTER, TEXT_SHADOW #include "texture.h" // Para Texture diff --git a/source/credits.h b/source/credits.h index 68bd2f4..6b0b2bb 100644 --- a/source/credits.h +++ b/source/credits.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect #include // Para SDL_Texture diff --git a/source/define_buttons.h b/source/define_buttons.h index ebeb738..5086675 100644 --- a/source/define_buttons.h +++ b/source/define_buttons.h @@ -1,20 +1,19 @@ #pragma once -#include -#include // Para SDL_ControllerButtonEvent -#include // Para SDL_GamepadButton -#include // Para size_t -#include // Para shared_ptr, unique_ptr -#include // Para string -#include // Para vector -class Input; // lines 8-8 -class Text; // lines 9-9 -enum class InputAction : int; // lines 10-10 +#include // Para SDL_Event, SDL_GamepadButtonEvent +#include // Para SDL_GamepadButton +#include // Para size_t +#include // Para shared_ptr +#include // Para string +#include // Para vector +class Input; // lines 10-10 +class Text; // lines 11-11 +enum class InputAction : int; // lines 12-12 struct DefineButtonsButton { - std::string label; // Texto en pantalla para el botón - InputAction input; // Input asociado + std::string label; // Texto en pantalla para el botón + InputAction input; // Input asociado SDL_GamepadButton button; // Botón del mando correspondiente // Constructor diff --git a/source/director.cpp b/source/director.cpp index 113ca96..4fe48f0 100644 --- a/source/director.cpp +++ b/source/director.cpp @@ -1,42 +1,42 @@ // IWYU pragma: no_include #include "director.h" -#include // Para SDL_Init, SDL_Quit, SDL_INIT_EV... -#include // Para AUDIO_S16 +#include // Para SDL_AudioFormat #include // Para SDL_BLENDMODE_BLEND #include // Para SDL_GetError -#include // Para SDL_DISABLE -#include // Para SDL_GAMEPAD_BUTTON_B, SDL_CO... -#include // Para SDL_SetHint, SDL_HINT_RENDER_DR... -#include // Para SDL_ShowCursor -#include // Para SDL_SCANCODE_0, SDL_SCANCODE_DOWN -#include // Para Uint32, SDL_bool -#include // Para errno, EEXIST, EACCES, ENAMETOO... +#include // Para SDL_GamepadButton +#include // Para SDL_SetHint, SDL_HINT_RENDER_DRIVER +#include // Para SDL_Init, SDL_Quit, SDL_INIT_VIDEO +#include // Para SDL_Log +#include // Para SDL_HideCursor +#include // Para SDL_Scancode +#include // Para SDL_free, SDL_PRIu32, Uint32 +#include // Para errno, EEXIST, EACCES, ENAMETOOLONG #include // Para printf, perror #include // Para mkdir, stat, S_IRWXU #include // Para getuid #include // Para min -#include // Para chrono -#include // Para exit, EXIT_FAILURE, size_t, rand -#include // Para basic_ostream, operator<<, basi... +#include // Para exit, EXIT_FAILURE, size_t, srand +#include // Para time +#include // Para basic_ostream, operator<<, cout, endl #include // Para make_unique, unique_ptr #include // Para runtime_error #include // Para operator+, char_traits, allocator #include // Para vector #include "asset.h" // Para Asset, AssetType #include "credits.h" // Para Credits -#include "game.h" // Para Game, GAME_MODE_DEMO_OFF, GAME_... +#include "game.h" // Para Game, GAME_MODE_DEMO_OFF, GAME_MOD... #include "hiscore_table.h" // Para HiScoreTable #include "input.h" // Para Input, InputAction #include "instructions.h" // Para Instructions #include "intro.h" // Para Intro -#include "jail_audio.h" // Para JA_SetMusicVolume, JA_SetSoundV... +#include "jail_audio.h" // Para JA_SetMusicVolume, JA_SetSoundVolume #include "lang.h" // Para Code, loadFromFile #include "logo.h" // Para Logo #include "manage_hiscore_table.h" // Para ManageHiScoreTable #include "notifier.h" // Para Notifier #include "on_screen_help.h" // Para OnScreenHelp -#include "options.h" // Para Options, options, OptionsContro... -#include "param.h" // Para Param, ParamGame, param, loadPa... +#include "options.h" // Para Options, options, GamepadOptions +#include "param.h" // Para Param, ParamGame, param, loadParam... #include "resource.h" // Para Resource #include "screen.h" // Para Screen #include "section.h" // Para Name, Options, name, options @@ -69,9 +69,8 @@ Director::Director(int argc, const char *argv[]) std::cout << "Game start" << std::endl; - // Inicia la semilla aleatoria - unsigned int seed = static_cast(std::chrono::system_clock::now().time_since_epoch().count()); - std::srand(seed); + // Inicia la semilla aleatoria usando el tiempo actual en segundos + std::srand(static_cast(std::time(nullptr))); // Comprueba los parametros del programa checkProgramArguments(argc, argv); @@ -296,15 +295,31 @@ bool Director::initSDL() else { // Obtiene información sobre la pantalla - auto DM = SDL_GetCurrentDisplayMode(0); + int i, num_displays = 0; + SDL_DisplayID *displays = SDL_GetDisplays(&num_displays); + if (displays) + { + for (i = 0; i < num_displays; ++i) + { + SDL_DisplayID instance_id = displays[i]; + const char *name = SDL_GetDisplayName(instance_id); - // Calcula el máximo factor de zoom que se puede aplicar a la pantalla - options.video.window.max_zoom = std::min(DM->w / param.game.width, DM->h / param.game.height); - options.video.window.zoom = std::min(options.video.window.zoom, options.video.window.max_zoom); + SDL_Log("Display %" SDL_PRIu32 ": %s", instance_id, name ? name : "Unknown"); + } - // Muestra información sobre el tamaño de la pantalla y de la ventana de juego - std::cout << "\nCurrent display mode: " << DM->w << "x" << DM->h << " @ " << DM->refresh_rate << "Hz" << std::endl; - std::cout << "Window resolution : " << param.game.width << "x" << param.game.height << " x" << options.video.window.zoom << std::endl; + auto DM = SDL_GetCurrentDisplayMode(displays[0]); + + // Calcula el máximo factor de zoom que se puede aplicar a la pantalla + options.video.window.max_zoom = std::min(DM->w / param.game.width, DM->h / param.game.height); + options.video.window.zoom = std::min(options.video.window.zoom, options.video.window.max_zoom); + + // Muestra información sobre el tamaño de la pantalla y de la ventana de juego + std::cout << "\nCurrent display mode: " << DM->w << "x" << DM->h << " @ " << DM->refresh_rate << "Hz" << std::endl; + std::cout << "Window resolution : " << param.game.width << "x" << param.game.height << " x" << options.video.window.zoom << std::endl; + options.video.info = std::to_string(DM->w) + " X " + std::to_string(DM->h) + " AT " + std::to_string(DM->refresh_rate) + " HZ"; + + SDL_free(displays); + } // Establece el filtro de la textura /*if (!SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, std::to_string(static_cast(options.video.filter)).c_str())) @@ -327,7 +342,7 @@ bool Director::initSDL() else { // Crea un renderizador para la ventana. El vsync se activa en funcion de las opciones - //Uint32 flags = 0; + // Uint32 flags = 0; if (options.video.v_sync) { // flags = SDL_RENDERER_PRESENTVSYNC; diff --git a/source/director.h b/source/director.h index 1f83d0e..57e5cda 100644 --- a/source/director.h +++ b/source/director.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_Renderer #include // Para SDL_Window diff --git a/source/enter_name.h b/source/enter_name.h index a6b2880..ac48daa 100644 --- a/source/enter_name.h +++ b/source/enter_name.h @@ -1,5 +1,4 @@ #pragma once -#include #include #include diff --git a/source/explosions.h b/source/explosions.h index 9b67a0e..1661032 100644 --- a/source/explosions.h +++ b/source/explosions.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para unique_ptr, shared_ptr #include // Para string diff --git a/source/fade.h b/source/fade.h index a623585..b564cd5 100644 --- a/source/fade.h +++ b/source/fade.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect #include // Para SDL_Renderer, SDL_Texture diff --git a/source/game.cpp b/source/game.cpp index b0a7bc1..7674d68 100644 --- a/source/game.cpp +++ b/source/game.cpp @@ -1,10 +1,9 @@ #include "game.h" #include // Para SDL_BLENDMODE_BLEND -#include // Para SDL_Event, SDL_PollEvent, SDL_KEYDOWN +#include // Para SDL_EventType, SDL_Event, SDL_Poll... #include // Para SDLK_1, SDLK_2, SDLK_3, SDLK_4 -#include // Para SDL_PIXELFORMAT_RGBA8888 +#include // Para SDL_PixelFormat #include // Para SDL_GetTicks -#include // Para SDL_WINDOWEVENT_FOCUS_GAINED, SDL_... #include // Para rand, size_t #include // Para find_if, clamp, min #include // Para function @@ -17,7 +16,7 @@ #include "fade.h" // Para Fade, FadeType, FadeMode #include "global_events.h" // Para check #include "global_inputs.h" // Para check, update -#include "input.h" // Para InputAction, Input, INPUT_DO_NOT_ALL... +#include "input.h" // Para InputAction, Input, INPUT_DO_NOT_A... #include "item.h" // Para Item, ItemType #include "jail_audio.h" // Para JA_PlaySound, JA_GetMusicState #include "lang.h" // Para getText @@ -29,7 +28,7 @@ #include "resource.h" // Para Resource #include "scoreboard.h" // Para Scoreboard, ScoreboardMode, SCOREB... #include "screen.h" // Para Screen -#include "section.h" // Para Name, name, AttractMode, attract_mode +#include "section.h" // Para Name, name, AttractMode, Options #include "smart_sprite.h" // Para SmartSprite #include "stage.h" // Para number, get, Stage, total_power #include "tabe.h" // Para Tabe, TabeState diff --git a/source/game.h b/source/game.h index aa2b30a..86d6939 100644 --- a/source/game.h +++ b/source/game.h @@ -1,32 +1,31 @@ #pragma once -#include +#include // Para SDL_Event #include // Para SDL_Renderer, SDL_Texture -#include // Para Uint32, Uint8 -#include // Para SDL_PollEvent, SDL_Event, SDL_KEYDOWN +#include // Para Uint64, Uint8 #include // Para shared_ptr, unique_ptr #include // Para string #include // Para vector #include "manage_hiscore_table.h" // Para HiScoreEntry -#include "options.h" // Para Options, OptionsGame, options +#include "options.h" // Para GameOptions, Options, options #include "player.h" // Para Player #include "utils.h" // Para Demo -class Asset; // lines 13-13 -class Background; // lines 14-14 -class BalloonManager; -class Tabe; -class Bullet; // lines 15-15 -class Fade; // lines 16-16 -class Input; // lines 17-17 -class Item; // lines 18-18 -class PathSprite; // lines 19-19 -class Scoreboard; // lines 20-20 -class Screen; // lines 21-21 -class SmartSprite; // lines 22-22 -class Texture; // lines 23-23 -enum class BulletType : Uint8; // lines 24-24 -enum class ItemType; // lines 25-25 -struct Path; // lines 26-26 +class Asset; // lines 14-14 +class Background; // lines 15-15 +class BalloonManager; // lines 16-16 +class Bullet; // lines 18-18 +class Fade; // lines 19-19 +class Input; // lines 20-20 +class Item; // lines 21-21 +class PathSprite; // lines 22-22 +class Scoreboard; // lines 23-23 +class Screen; // lines 24-24 +class SmartSprite; // lines 25-25 +class Tabe; // lines 17-17 +class Texture; // lines 26-26 +enum class BulletType : Uint8; // lines 27-27 +enum class ItemType; // lines 28-28 +struct Path; // lines 29-29 // Modo demo constexpr bool GAME_MODE_DEMO_OFF = false; diff --git a/source/game_logo.cpp b/source/game_logo.cpp index b368cf1..40d1a1e 100644 --- a/source/game_logo.cpp +++ b/source/game_logo.cpp @@ -1,15 +1,15 @@ #include "game_logo.h" -#include // Para SDL_FLIP_HORIZONTAL -#include // Para max -#include "animated_sprite.h" // Para AnimatedSprite -#include "jail_audio.h" // Para JA_PlaySound -#include "param.h" // Para Param, param, ParamGame, ParamTitle -#include "resource.h" // Para Resource -#include "screen.h" // Para Screen -#include "smart_sprite.h" // Para SmartSprite -#include "sprite.h" // Para Sprite -#include "texture.h" // Para Texture -#include "utils.h" // Para Color +#include // Para SDL_FlipMode +#include // Para max +#include "animated_sprite.h" // Para AnimatedSprite +#include "jail_audio.h" // Para JA_PlaySound +#include "param.h" // Para Param, param, ParamGame, ParamTitle +#include "resource.h" // Para Resource +#include "screen.h" // Para Screen +#include "smart_sprite.h" // Para SmartSprite +#include "sprite.h" // Para Sprite +#include "texture.h" // Para Texture +#include "utils.h" // Para Color constexpr int ZOOM_FACTOR = 5; constexpr int FLASH_DELAY = 3; diff --git a/source/game_logo.h b/source/game_logo.h index 2319168..37a1e1e 100644 --- a/source/game_logo.h +++ b/source/game_logo.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para unique_ptr, shared_ptr #include "animated_sprite.h" // Para AnimatedSprite diff --git a/source/global_events.cpp b/source/global_events.cpp index 123c576..4b737a2 100644 --- a/source/global_events.cpp +++ b/source/global_events.cpp @@ -1,8 +1,7 @@ #include "global_events.h" -#include // Para SDL_WINDOWEVENT_SIZE_CHANGED -#include // Para char_traits, basic_ostream, operator<< -#include "mouse.h" // Para handleEvent -#include "section.h" // Para Name, Options, name, options +#include // Para char_traits, basic_ostream, operator<<, cout, endl +#include "mouse.h" // Para handleEvent +#include "section.h" // Para Name, Options, name, options namespace globalEvents { diff --git a/source/global_events.h b/source/global_events.h index 6ccf388..c3add83 100644 --- a/source/global_events.h +++ b/source/global_events.h @@ -1,5 +1,4 @@ #pragma once -#include #include diff --git a/source/global_inputs.cpp b/source/global_inputs.cpp index 6b07e4a..2279085 100644 --- a/source/global_inputs.cpp +++ b/source/global_inputs.cpp @@ -1,15 +1,15 @@ #include "global_inputs.h" -#include // Para SDL_RenderSetIntegerScale -#include // Para SDL_FALSE, SDL_TRUE -#include // Para operator+, string, to_string, basic_string +#include // Para SDL_RendererLogicalPresentation, SDL_Se... +#include // Para operator+, allocator, char_traits, string #include // Para vector #include "asset.h" // Para Asset -#include "input.h" // Para Input, InputDeviceToUse, InputAction, INP... +#include "input.h" // Para Input, InputAction, InputDeviceToUse #include "jail_audio.h" // Para JA_SetMusicVolume, JA_SetSoundVolume #include "lang.h" // Para getText, Code, getNextLangCode, loadFro... #include "notifier.h" // Para Notifier #include "on_screen_help.h" // Para OnScreenHelp -#include "options.h" // Para Options, options, OptionsGame, OptionsV... +#include "options.h" // Para Options, options, VideoOptions, GameOpt... +#include "param.h" // Para Param, ParamGame, param #include "screen.h" // Para Screen #include "section.h" // Para Name, name, Options, options, AttractMode #include "utils.h" // Para boolToOnOff diff --git a/source/global_inputs.h b/source/global_inputs.h index 230c4d7..14fdff3 100644 --- a/source/global_inputs.h +++ b/source/global_inputs.h @@ -1,5 +1,4 @@ #pragma once -#include namespace globalInputs { diff --git a/source/hiscore_table.cpp b/source/hiscore_table.cpp index 22dd575..c1c5778 100644 --- a/source/hiscore_table.cpp +++ b/source/hiscore_table.cpp @@ -1,8 +1,8 @@ #include "hiscore_table.h" -#include // Para SDL_BLENDMODE_BLEND +#include // Para SDL_BLENDMODE_BLEND #include // Para SDL_PollEvent, SDL_Event -#include // Para SDL_PIXELFORMAT_RGBA8888 -#include // Para SDL_QueryTexture +#include // Para SDL_PixelFormat +#include // Para SDL_SetRenderTarget, SDL_CreateTex... #include // Para SDL_GetTicks #include // Para rand, size_t #include // Para max @@ -15,12 +15,12 @@ #include "jail_audio.h" // Para JA_GetMusicState, JA_Music_state #include "lang.h" // Para getText #include "manage_hiscore_table.h" // Para HiScoreEntry -#include "options.h" // Para Options, OptionsGame, options +#include "options.h" // Para GameOptions, Options, options #include "param.h" // Para Param, param, ParamGame, ParamFade #include "path_sprite.h" // Para PathSprite, Path, PathType #include "resource.h" // Para Resource #include "screen.h" // Para Screen -#include "section.h" // Para Name, name +#include "section.h" // Para Name, name, Options, options #include "sprite.h" // Para Sprite #include "text.h" // Para Text, TEXT_SHADOW, TEXT_COLOR #include "texture.h" // Para Texture diff --git a/source/hiscore_table.h b/source/hiscore_table.h index 6ca7fb6..eb572dd 100644 --- a/source/hiscore_table.h +++ b/source/hiscore_table.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect #include // Para SDL_Renderer, SDL_Texture diff --git a/source/input.cpp b/source/input.cpp index e6e0610..fae043a 100644 --- a/source/input.cpp +++ b/source/input.cpp @@ -1,10 +1,9 @@ #include "input.h" -#include // Para SDL_INIT_GAMECONTROLLER, SDL_InitSubS... #include // Para SDL_GetError -#include // Para SDL_ENABLE +#include // Para SDL_INIT_GAMEPAD, SDL_InitSubSystem #include // Para SDL_GetKeyboardState #include // Para find -#include // Para basic_ostream, operator<<, cout, endl +#include // Para basic_ostream, operator<<, basic_ostr... #include // Para distance #include // Para unordered_map, operator==, _Node_cons... #include // Para pair diff --git a/source/input.h b/source/input.h index 7ecafb3..69771eb 100644 --- a/source/input.h +++ b/source/input.h @@ -1,11 +1,11 @@ #pragma once -#include // Para SDL_GamepadButton, SDL_G... -#include // Para SDL_Joystick -#include // Para SDL_Scancode -#include // Para Uint8 -#include // Para string, basic_string -#include // Para vector +#include // Para SDL_GamepadButton, SDL_Gamepad +#include // Para SDL_Joystick, SDL_JoystickID +#include // Para SDL_Scancode +#include // Para Uint8 +#include // Para string +#include // Para vector /* connectedControllers es un vector donde estan todos los mandos encontrados [0 .. n] @@ -81,8 +81,8 @@ private: struct ControllerBindings { SDL_GamepadButton button; // GameControllerButton asociado - bool active; // Indica si está activo - bool axis_active; // Estado del eje + bool active; // Indica si está activo + bool axis_active; // Estado del eje // Constructor explicit ControllerBindings(SDL_GamepadButton btn = SDL_GAMEPAD_BUTTON_INVALID, bool act = false, bool axis_act = false) @@ -90,7 +90,7 @@ private: }; // Variables - std::vector connected_controllers_; // Vector con todos los mandos conectados + std::vector connected_controllers_; // Vector con todos los mandos conectados std::vector joysticks_; // Vector con todos los joysticks conectados std::vector key_bindings_; // Vector con las teclas asociadas a los inputs predefinidos std::vector> controller_bindings_; // Vector con los botones asociadas a los inputs predefinidos para cada mando diff --git a/source/instructions.h b/source/instructions.h index 6d0c817..6504e94 100644 --- a/source/instructions.h +++ b/source/instructions.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FPoint, SDL_FRect #include // Para SDL_Texture, SDL_Renderer diff --git a/source/intro.h b/source/intro.h index 93d2ca1..9f12428 100644 --- a/source/intro.h +++ b/source/intro.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para Uint32, Uint8 #include // Para unique_ptr diff --git a/source/item.h b/source/item.h index be0eae4..2142c37 100644 --- a/source/item.h +++ b/source/item.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect #include // Para Uint16 diff --git a/source/jail_audio.cpp b/source/jail_audio.cpp index 651a52a..202ef89 100644 --- a/source/jail_audio.cpp +++ b/source/jail_audio.cpp @@ -1,8 +1,11 @@ #ifndef JA_USESDLMIXER #include "jail_audio.h" -#include "stb_vorbis.c" -#include -#include +#include // Para SDL_IOFromMem +#include // Para SDL_AddTimer, SDL_RemoveTimer, SDL_Ti... +#include // Para uint32_t, uint8_t +#include // Para NULL, fseek, printf, fclose, fopen +#include // Para free, malloc +#include "stb_vorbis.c" // Para stb_vorbis_decode_memory #define JA_MAX_SIMULTANEOUS_CHANNELS 20 diff --git a/source/jail_audio.h b/source/jail_audio.h index 384e70c..d2eb99d 100644 --- a/source/jail_audio.h +++ b/source/jail_audio.h @@ -1,5 +1,8 @@ #pragma once -#include +#include // Para SDL_AudioFormat +#include // Para Uint32, Uint8 +struct JA_Music_t; // lines 22-22 +struct JA_Sound_t; // lines 21-21 enum JA_Channel_state { diff --git a/source/jail_shader.cpp b/source/jail_shader.cpp index c993e65..7051296 100644 --- a/source/jail_shader.cpp +++ b/source/jail_shader.cpp @@ -1,10 +1,9 @@ #include "jail_shader.h" -#include // Para SDL_FPoint -#include // Para SDL_bool -#include // Para strncmp -#include // Para basic_ostream, operator<<, endl, cout -#include // Para runtime_error -#include // Para vector +#include // Para SDL_FPoint, SDL_Point +#include // Para strncmp +#include // Para basic_ostream, operator<<, endl, cout +#include // Para runtime_error +#include // Para vector #ifdef __APPLE__ #include "CoreFoundation/CoreFoundation.h" // Para Core Foundation en macOS @@ -157,7 +156,7 @@ namespace shader shader::backBuffer = texturaBackBuffer; SDL_GetWindowSize(ventana, &win_size.x, &win_size.y); - //int acceso; + // int acceso; SDL_GetTextureSize(texturaBackBuffer, &tex_size.x, &tex_size.y); // SDL_QueryTexture(texturaBackBuffer, nullptr, &acceso, &tex_size.x, &tex_size.y); /*if (acceso != SDL_TEXTUREACCESS_TARGET) diff --git a/source/jail_shader.h b/source/jail_shader.h index 3341722..8182f42 100644 --- a/source/jail_shader.h +++ b/source/jail_shader.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_Texture #include // Para SDL_Window diff --git a/source/lang.h b/source/lang.h index 9ad8a33..70af947 100644 --- a/source/lang.h +++ b/source/lang.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para string diff --git a/source/logo.h b/source/logo.h index 6d12d4e..49fa72d 100644 --- a/source/logo.h +++ b/source/logo.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FPoint #include // Para Uint32 diff --git a/source/manage_hiscore_table.cpp b/source/manage_hiscore_table.cpp index a57cefc..e80f6cf 100644 --- a/source/manage_hiscore_table.cpp +++ b/source/manage_hiscore_table.cpp @@ -1,10 +1,10 @@ #include "manage_hiscore_table.h" -#include // Para SDL_GetError -#include // Para SDL_RWread, SDL_WriteIO, SDL_RWFromFile -#include // Para find_if, sort -#include // Para basic_ostream, operator<<, cout, endl -#include // Para distance -#include "utils.h" // Para getFileName +#include // Para SDL_GetError +#include // Para SDL_ReadIO, SDL_WriteIO, SDL_CloseIO +#include // Para find_if, sort +#include // Para basic_ostream, operator<<, cout, endl +#include // Para distance +#include "utils.h" // Para getFileName // Resetea la tabla a los valores por defecto void ManageHiScoreTable::clear() diff --git a/source/manage_hiscore_table.h b/source/manage_hiscore_table.h index 706178b..efec443 100644 --- a/source/manage_hiscore_table.h +++ b/source/manage_hiscore_table.h @@ -1,6 +1,5 @@ #pragma once -#include #include // Para string #include // Para vector diff --git a/source/mouse.h b/source/mouse.h index 6b0aa98..db34a34 100644 --- a/source/mouse.h +++ b/source/mouse.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_Event #include // Para Uint32 diff --git a/source/moving_sprite.h b/source/moving_sprite.h index 853c366..4914b5e 100644 --- a/source/moving_sprite.h +++ b/source/moving_sprite.h @@ -1,12 +1,11 @@ #pragma once -#include -#include // Para SDL_FRect, SDL_FPoint -#include // Para SDL_FlipMode -#include // Para shared_ptr -#include -#include "sprite.h" // Para Sprite -class Texture; // lines 8-8 +#include // Para SDL_FPoint, SDL_FRect +#include // Para SDL_FlipMode +#include // Para max +#include // Para shared_ptr +#include "sprite.h" // Para Sprite +class Texture; // lines 8-8 // Clase MovingSprite. Añade movimiento y efectos de rotación, zoom y flip al sprite class MovingSprite : public Sprite diff --git a/source/notifier.h b/source/notifier.h index 359ea9c..22843bb 100644 --- a/source/notifier.h +++ b/source/notifier.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect #include // Para SDL_Renderer diff --git a/source/on_screen_help.h b/source/on_screen_help.h index 4c055df..0487435 100644 --- a/source/on_screen_help.h +++ b/source/on_screen_help.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect #include // Para SDL_Texture diff --git a/source/options.cpp b/source/options.cpp index 9936f51..4fa4880 100644 --- a/source/options.cpp +++ b/source/options.cpp @@ -1,14 +1,13 @@ #include "options.h" -#include // Para SDL_GamepadButton -#include // Para clamp -#include // Para basic_ostream, operator<<, basi... -#include // Para cout -#include // Para swap -#include // Para vector -#include "input.h" // Para InputDeviceToUse -#include "lang.h" // Para Code -#include "screen.h" // Para ScreenFilter -#include "utils.h" // Para boolToString, stringToBool, get... +#include // Para clamp +#include // Para basic_ostream, operator<<, basic_ostream::opera... +#include // Para cout +#include // Para swap +#include // Para vector +#include "input.h" // Para InputDeviceToUse +#include "lang.h" // Para Code +#include "screen.h" // Para ScreenFilter +#include "utils.h" // Para boolToString, stringToBool, getFileName // Variables Options options; diff --git a/source/options.h b/source/options.h index 737eb4c..4a0a5cf 100644 --- a/source/options.h +++ b/source/options.h @@ -1,16 +1,15 @@ #pragma once -#include // Para SDL_CONTROLLER_BUTTON_B, SDL_CO... -#include // Para Uint32 -#include // Para string -#include // Para vector -#include "input.h" // Para InputAction, InputDeviceToUse -#include "manage_hiscore_table.h" // Para HiScoreEntry -enum class ScreenFilter : int; // lines 8-8 +#include // Para SDL_GamepadButton +#include // Para string +#include // Para vector +#include "input.h" // Para InputAction, InputDeviceToUse +#include "manage_hiscore_table.h" // Para HiScoreEntry +enum class ScreenFilter : int; // lines 8-8 namespace lang { enum class Code : int; -} // lines 12-12 +} // lines 11-11 // Dificultad del juego enum class GameDifficulty @@ -36,6 +35,7 @@ struct VideoOptions bool v_sync; // Indica si se quiere usar vsync o no bool integer_scale; // Indica si se va a usar el escalado entero bool shaders; // Indica si se van a usar shaders para los filtros de video + std::string info; // Información sobre el modo de video }; // Estructura para las opciones de musica diff --git a/source/param.h b/source/param.h index 6def1c2..e3c3f23 100644 --- a/source/param.h +++ b/source/param.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect #include // Para Uint32 diff --git a/source/path_sprite.cpp b/source/path_sprite.cpp index eb500fd..93b8d7b 100644 --- a/source/path_sprite.cpp +++ b/source/path_sprite.cpp @@ -1,6 +1,5 @@ // IWYU pragma: no_include #include "path_sprite.h" -#include // Para abs #include // Para function #include // Para move diff --git a/source/path_sprite.h b/source/path_sprite.h index 03ed028..7594db0 100644 --- a/source/path_sprite.h +++ b/source/path_sprite.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FPoint #include // Para function diff --git a/source/player.cpp b/source/player.cpp index 0ac4790..736eb4d 100644 --- a/source/player.cpp +++ b/source/player.cpp @@ -1,17 +1,17 @@ #include "player.h" -#include // Para SDL_FLIP_HORIZONTAL, SDL_FLIP_NONE, SDL... -#include // Para SDL_GetTicks -#include // Para rand -#include // Para clamp, max, min -#include "animated_sprite.h" // Para AnimatedSprite -#include "input.h" // Para InputAction -#include "param.h" // Para Param, ParamGame, param -#include "scoreboard.h" // Para Scoreboard, ScoreboardMode -#include "texture.h" // Para Texture -#include "resource.h" -#include "jail_audio.h" -#include "stage.h" -#include +#include // Para SDL_FlipMode +#include // Para SDL_GetTicks +#include // Para rand +#include // Para clamp, max, min +#include // Para array +#include "animated_sprite.h" // Para AnimatedSprite +#include "input.h" // Para InputAction +#include "jail_audio.h" // Para JA_PlaySound +#include "param.h" // Para Param, ParamGame, param +#include "resource.h" // Para Resource +#include "scoreboard.h" // Para Scoreboard, ScoreboardMode +#include "stage.h" // Para power_can_be_added +#include "texture.h" // Para Texture // Constructor Player::Player(int id, float x, int y, bool demo, SDL_FRect &play_area, std::vector> texture, const std::vector> &animations) diff --git a/source/player.h b/source/player.h index 673b467..d5201b7 100644 --- a/source/player.h +++ b/source/player.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect #include // Para Uint32 diff --git a/source/resource.h b/source/resource.h index a3a8d5b..8741586 100644 --- a/source/resource.h +++ b/source/resource.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para shared_ptr #include // Para string diff --git a/source/scoreboard.h b/source/scoreboard.h index e823730..f776edb 100644 --- a/source/scoreboard.h +++ b/source/scoreboard.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FPoint, SDL_FRect #include // Para SDL_Texture, SDL_Renderer diff --git a/source/screen.cpp b/source/screen.cpp index 5078e62..9f9db45 100644 --- a/source/screen.cpp +++ b/source/screen.cpp @@ -1,18 +1,19 @@ #include "screen.h" -#include // Para SDL_PIXELFORMAT_RGBA8888 +#include // Para SDL_PixelFormat #include // Para SDL_GetTicks #include // Para max, min #include // Para basic_ifstream, ifstream #include // Para istreambuf_iterator, operator== -#include // Para allocator, char_traits, operator+, to_s... +#include // Para __shared_ptr_access, shared_ptr +#include // Para string, operator+, to_string #include "asset.h" // Para Asset -#include "global_inputs.h" // Para service_pressed_counter #include "jail_shader.h" // Para init, render #include "mouse.h" // Para updateCursorVisibility #include "notifier.h" // Para Notifier #include "on_screen_help.h" // Para OnScreenHelp -#include "options.h" // Para Options, OptionsVideo, options, Options... +#include "options.h" // Para Options, VideoOptions, options, WindowO... #include "resource.h" // Para Resource +#include "text.h" // Para Text // [SINGLETON] Screen *Screen::screen_ = nullptr; @@ -35,8 +36,6 @@ Screen::Screen(SDL_Window *window, SDL_Renderer *renderer) dst_rect_(SDL_FRect{0, 0, static_cast(param.game.width), static_cast(param.game.height)}) { // Inicializa variables - auto DM = SDL_GetCurrentDisplayMode(0); - info_resolution_ = std::to_string(DM->w) + " X " + std::to_string(DM->h) + " AT " + std::to_string(DM->refresh_rate) + " HZ"; adjustRenderLogicalSize(); // Muestra la ventana @@ -212,7 +211,7 @@ void Screen::renderInfo() text->writeColored(param.game.width - text->lenght(FPS_TEXT), 0, FPS_TEXT, orange_soft_color); // Resolution - text->writeColored(0, 0, info_resolution_, orange_soft_color); + text->writeColored(0, 0, options.video.info, orange_soft_color); } } diff --git a/source/screen.h b/source/screen.h index 79749fe..ee71bba 100644 --- a/source/screen.h +++ b/source/screen.h @@ -1,15 +1,13 @@ #pragma once -#include -#include // Para SDL_BlendMode -#include // Para SDL_FRect, SDL_FPoint -#include // Para SDL_Renderer, SDL_Texture -#include // Para Uint32 -#include // Para SDL_Window -#include // Para string -#include "param.h" // Para Param, ParamGame, param -#include "utils.h" // Para Color -#include "options.h" +#include // Para SDL_FRect +#include // Para SDL_Renderer, SDL_SetRenderLogicalPrese... +#include // Para Uint32 +#include // Para SDL_Window, SDL_HideWindow, SDL_ShowWindow +#include // Para string +#include "options.h" // Para Options, VideoOptions, options +#include "param.h" // Para Param, ParamGame, param +#include "utils.h" // Para Color enum class ScreenFilter : int { @@ -160,7 +158,6 @@ private: SDL_FRect src_rect_; // Coordenadas de donde va a pillar la textura del juego para dibujarla SDL_FRect dst_rect_; // Coordenadas donde se va a dibujar la textura del juego sobre la pantalla o ventana FPS fps_; // Variable para gestionar los frames por segundo - std::string info_resolution_; // Texto con la informacion de la pantalla std::string shader_source_; // Almacena el contenido del archivo GLSL FlashEffect flash_effect_; // Variable para gestionar el efecto de flash ShakeEffect shake_effect_; // Variable para gestionar el efecto de agitar la pantalla diff --git a/source/section.h b/source/section.h index eba07db..2e16ac1 100644 --- a/source/section.h +++ b/source/section.h @@ -1,5 +1,4 @@ #pragma once -#include namespace section { diff --git a/source/smart_sprite.h b/source/smart_sprite.h index b13885c..8e67d82 100644 --- a/source/smart_sprite.h +++ b/source/smart_sprite.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para shared_ptr #include "animated_sprite.h" // Para SpriteAnimated diff --git a/source/sprite.h b/source/sprite.h index f0b2330..3f1a9bd 100644 --- a/source/sprite.h +++ b/source/sprite.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect, SDL_FPoint #include // Para shared_ptr diff --git a/source/stage.h b/source/stage.h index 83ac5a8..17d6e84 100644 --- a/source/stage.h +++ b/source/stage.h @@ -1,5 +1,4 @@ #pragma once -#include #include diff --git a/source/tabe.cpp b/source/tabe.cpp index 005f00f..e587dc6 100644 --- a/source/tabe.cpp +++ b/source/tabe.cpp @@ -1,12 +1,12 @@ // IWYU pragma: no_include #include "tabe.h" -#include // Para SDL_FLIP_HORIZONTAL, SDL_FLIP_NONE -#include // Para rand, abs -#include // Para max -#include "jail_audio.h" // Para JA_PlaySound -#include "param.h" // Para Param, ParamGame, param -#include "resource.h" // Para Resource -#include "utils.h" // Para Zone +#include // Para SDL_FlipMode +#include // Para rand, abs +#include // Para max +#include "jail_audio.h" // Para JA_PlaySound +#include "param.h" // Para Param, ParamGame, param +#include "resource.h" // Para Resource +#include "utils.h" // Para Zone // Constructor Tabe::Tabe() diff --git a/source/tabe.h b/source/tabe.h index 3cb888a..8ea3def 100644 --- a/source/tabe.h +++ b/source/tabe.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect #include // Para Uint32 diff --git a/source/text.h b/source/text.h index 37b0de7..23e570c 100644 --- a/source/text.h +++ b/source/text.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para Uint8 #include // Para unique_ptr, shared_ptr diff --git a/source/texture.h b/source/texture.h index 665d24b..1a52701 100644 --- a/source/texture.h +++ b/source/texture.h @@ -1,15 +1,15 @@ #pragma once -#include #include // Para SDL_BlendMode -#include // Para SDL_PIXELFORMAT_RGBA8888, SDL_PixelF... +#include // Para SDL_PixelFormat #include // Para SDL_FPoint, SDL_FRect -#include // Para SDL_Renderer, SDL_FLIP_NONE, SDL_TEX... +#include // Para SDL_Renderer, SDL_TextureAccess, SDL... #include // Para Uint8, Uint16, Uint32 +#include // Para SDL_FlipMode #include // Para shared_ptr #include // Para string #include // Para vector -struct Color; +struct Color; // lines 11-11 // Definiciones de tipos struct Surface diff --git a/source/tiled_bg.h b/source/tiled_bg.h index 0697d6b..9c12c5f 100644 --- a/source/tiled_bg.h +++ b/source/tiled_bg.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect #include // Para SDL_Renderer, SDL_Texture diff --git a/source/title.h b/source/title.h index a8ecc40..fe9f048 100644 --- a/source/title.h +++ b/source/title.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para Uint32 #include // Para unique_ptr, shared_ptr diff --git a/source/utils.cpp b/source/utils.cpp index 33696a9..5d06cdd 100644 --- a/source/utils.cpp +++ b/source/utils.cpp @@ -1,16 +1,16 @@ #define _USE_MATH_DEFINES #include "utils.h" -#include // Para SDL_IOFromFile, SDL_CloseIO, SDL_RIO -#include // Para size_t -#include // Para min, clamp, find_if_not, find, transform -#include // Para tolower, isspace -#include // Para pow, sin, M_PI, cos -#include // Para operator< -#include // Para path -#include // Para basic_ostream, cout, basic_ios, endl, ios -#include // Para runtime_error -#include // Para basic_string, string, char_traits, opera... -#include "lang.h" +#include // Para SDL_CloseIO, SDL_IOFromFile, SDL_ReadIO +#include // Para size_t +#include // Para min, clamp, find_if_not, find, transform +#include // Para tolower, isspace +#include // Para pow, sin, M_PI, cos +#include // Para operator< +#include // Para path +#include // Para basic_ostream, cout, basic_ios, endl +#include // Para runtime_error +#include // Para basic_string, string, char_traits +#include "lang.h" // Para getText // Variables Overrides overrides = Overrides(); diff --git a/source/utils.h b/source/utils.h index 512a30d..8ee36c9 100644 --- a/source/utils.h +++ b/source/utils.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para SDL_FRect, SDL_FPoint #include // Para SDL_Renderer diff --git a/source/writer.h b/source/writer.h index 2f6c7ec..f530b2c 100644 --- a/source/writer.h +++ b/source/writer.h @@ -1,5 +1,4 @@ #pragma once -#include #include // Para shared_ptr #include // Para string