92 lines
4.0 KiB
C++
92 lines
4.0 KiB
C++
#pragma once
|
|
|
|
#include <SDL3/SDL.h>
|
|
|
|
#include "core/rendering/screen.hpp" // Para Screen::Filter
|
|
#include "utils/defines.hpp" // Para GameCanvas
|
|
|
|
// Forward declarations from Options namespace
|
|
namespace Options {
|
|
// enum class ControlScheme;
|
|
enum class NotificationPosition;
|
|
} // namespace Options
|
|
|
|
namespace Defaults {
|
|
|
|
// --- CANVAS ---
|
|
// Dimensiones del canvas del juego (usa GameCanvas como fuente única)
|
|
namespace Canvas {
|
|
constexpr int WIDTH = GameCanvas::WIDTH; // Ancho del canvas del juego (320)
|
|
constexpr int HEIGHT = GameCanvas::HEIGHT; // Alto del canvas del juego (200)
|
|
} // namespace Canvas
|
|
|
|
// --- WINDOW ---
|
|
namespace Window {
|
|
constexpr int ZOOM = 2; // Zoom de la ventana por defecto
|
|
} // namespace Window
|
|
|
|
// --- VIDEO ---
|
|
namespace Video {
|
|
constexpr bool FULLSCREEN = false; // Modo de pantalla completa por defecto (false = ventana)
|
|
constexpr Screen::Filter FILTER = Screen::Filter::NEAREST; // Filtro por defecto
|
|
constexpr bool VERTICAL_SYNC = true; // Vsync activado por defecto
|
|
constexpr bool SHADERS = false; // Shaders desactivados por defecto
|
|
constexpr bool INTEGER_SCALE = true; // Escalado entero activado por defecto
|
|
constexpr bool KEEP_ASPECT = true; // Mantener aspecto activado por defecto
|
|
constexpr const char* PALETTE_NAME = "cpc"; // Paleta por defecto
|
|
} // namespace Video
|
|
|
|
// --- BORDER ---
|
|
namespace Border {
|
|
constexpr bool ENABLED = true; // Borde activado por defecto
|
|
constexpr int WIDTH = 40; // Ancho del borde por defecto (400x300 total)
|
|
constexpr int HEIGHT = 50; // Alto del borde por defecto (400x300 total)
|
|
} // namespace Border
|
|
|
|
// --- AUDIO ---
|
|
namespace Audio {
|
|
constexpr float VOLUME = 1.0F; // Volumen por defecto
|
|
constexpr bool ENABLED = true; // Audio por defecto
|
|
} // namespace Audio
|
|
|
|
// --- MUSIC ---
|
|
namespace Music {
|
|
constexpr float VOLUME = 0.8F; // Volumen por defecto de la musica
|
|
constexpr bool ENABLED = true; // Musica habilitada por defecto
|
|
constexpr const char* TITLE_TRACK = "574070_KUVO_Farewell_to_school.ogg"; // Musica de la escena title
|
|
constexpr const char* GAME_TRACK = "574071_EA_DTV.ogg"; // Musica de la escena game
|
|
constexpr int FADE_DURATION_MS = 1000; // Duracion del fade out en milisegundos
|
|
} // namespace Music
|
|
|
|
// --- SOUND ---
|
|
namespace Sound {
|
|
constexpr float VOLUME = 1.0F; // Volumen por defecto de los efectos de sonido
|
|
constexpr bool ENABLED = true; // Sonido habilitado por defecto
|
|
constexpr const char* JUMP = "jump.wav"; // Sonido de salto
|
|
constexpr const char* HIT = "hit.wav"; // Sonido de golpe/daño
|
|
constexpr const char* LAND = "land.wav"; // Sonido de aterrizaje
|
|
constexpr const char* ITEM = "item.wav"; // Sonido de recoger item
|
|
constexpr const char* NOTIFY = "notify.wav"; // Sonido de notificación
|
|
} // namespace Sound
|
|
|
|
// --- CHEATS ---
|
|
namespace Cheat {
|
|
constexpr bool INFINITE_LIVES = false; // Vidas infinitas desactivadas por defecto
|
|
constexpr bool INVINCIBLE = false; // Invencibilidad desactivada por defecto
|
|
constexpr bool JAIL_IS_OPEN = false; // Jail abierta desactivada por defecto
|
|
constexpr bool ALTERNATE_SKIN = false; // Skin alternativa desactivada por defecto
|
|
} // namespace Cheat
|
|
|
|
// --- CONTROLS ---
|
|
namespace Controls {
|
|
constexpr SDL_Scancode KEY_LEFT = SDL_SCANCODE_LEFT; // Tecla izquierda por defecto
|
|
constexpr SDL_Scancode KEY_RIGHT = SDL_SCANCODE_RIGHT; // Tecla derecha por defecto
|
|
constexpr SDL_Scancode KEY_JUMP = SDL_SCANCODE_UP; // Tecla salto por defecto
|
|
|
|
constexpr int GAMEPAD_BUTTON_LEFT = SDL_GAMEPAD_BUTTON_DPAD_LEFT; // Botón izquierda por defecto
|
|
constexpr int GAMEPAD_BUTTON_RIGHT = SDL_GAMEPAD_BUTTON_DPAD_RIGHT; // Botón derecha por defecto
|
|
constexpr int GAMEPAD_BUTTON_JUMP = SDL_GAMEPAD_BUTTON_WEST; // Botón salto por defecto
|
|
} // namespace Controls
|
|
|
|
} // namespace Defaults
|