213 lines
7.3 KiB
C++
213 lines
7.3 KiB
C++
#pragma once
|
|
|
|
#include <SDL3/SDL.h> // Para SDL_ScaleMode
|
|
|
|
#include <array>
|
|
|
|
#include "ui/notifier.hpp" // Para Notifier::Position
|
|
|
|
namespace Defaults::Game {
|
|
constexpr float WIDTH = 320.0F;
|
|
constexpr float HEIGHT = 256.0F;
|
|
constexpr int NAME_ENTRY_IDLE_TIME = 10;
|
|
constexpr int NAME_ENTRY_TOTAL_TIME = 60;
|
|
constexpr bool HIT_STOP = false;
|
|
constexpr int HIT_STOP_MS = 500;
|
|
constexpr const char* ITEM_TEXT_OUTLINE_COLOR = "FFFFFF00";
|
|
|
|
constexpr float PLAY_AREA_X = 0.0F;
|
|
constexpr float PLAY_AREA_Y = 0.0F;
|
|
constexpr float PLAY_AREA_W = 320.0F;
|
|
constexpr float PLAY_AREA_H = 216.0F;
|
|
} // namespace Defaults::Game
|
|
|
|
namespace Defaults::Fade {
|
|
constexpr const char* COLOR = "1F2B30";
|
|
constexpr float NUM_SQUARES_WIDTH = 160.0F;
|
|
constexpr float NUM_SQUARES_HEIGHT = 128.0F;
|
|
constexpr int RANDOM_SQUARES_DURATION_MS = 1;
|
|
constexpr int POST_DURATION_MS = 80;
|
|
constexpr float VENETIAN_SIZE = 12.0F;
|
|
} // namespace Defaults::Fade
|
|
|
|
namespace Defaults::Scoreboard {
|
|
constexpr float RECT_X = 0.0F;
|
|
constexpr float RECT_Y = 216.0F;
|
|
constexpr float RECT_W = 320.0F;
|
|
constexpr float RECT_H = 40.0F;
|
|
constexpr bool SEPARATOR_AUTOCOLOR = true;
|
|
constexpr const char* SEPARATOR_COLOR = "0D1A2B";
|
|
constexpr const char* EASY_COLOR = "4B692F";
|
|
constexpr const char* NORMAL_COLOR = "2E3F47";
|
|
constexpr const char* HARD_COLOR = "76428A";
|
|
constexpr bool TEXT_AUTOCOLOR = true;
|
|
constexpr const char* TEXT_COLOR1 = "FFFFFF";
|
|
constexpr const char* TEXT_COLOR2 = "FFFFFF";
|
|
constexpr int SKIP_COUNTDOWN_VALUE = 8;
|
|
} // namespace Defaults::Scoreboard
|
|
|
|
namespace Defaults::Title {
|
|
constexpr int PRESS_START_POSITION = 180;
|
|
constexpr float DURATION_S = 14.0F;
|
|
constexpr int ARCADE_EDITION_POSITION = 123;
|
|
constexpr int TITLE_C_C_POSITION = 80;
|
|
constexpr const char* BG_COLOR = "41526F";
|
|
} // namespace Defaults::Title
|
|
|
|
namespace Defaults::Background {
|
|
constexpr const char* ATTENUATE_COLOR = "FFFFFF00";
|
|
} // namespace Defaults::Background
|
|
|
|
namespace Defaults::Balloon {
|
|
struct BalloonSettings {
|
|
float vel;
|
|
float grav;
|
|
constexpr BalloonSettings(float v, float g)
|
|
: vel(v),
|
|
grav(g) {}
|
|
};
|
|
|
|
constexpr std::array<BalloonSettings, 4> SETTINGS = {{
|
|
BalloonSettings(165.0F, 320.0F),
|
|
BalloonSettings(222.0F, 360.0F),
|
|
BalloonSettings(282.0F, 360.0F),
|
|
BalloonSettings(327.0F, 360.0F),
|
|
}};
|
|
|
|
constexpr std::array<const char*, 4> COLORS = {
|
|
"blue",
|
|
"orange",
|
|
"red",
|
|
"green"};
|
|
|
|
constexpr bool BOUNCING_SOUND = false;
|
|
} // namespace Defaults::Balloon
|
|
|
|
namespace Defaults::Notification {
|
|
constexpr Notifier::Position POS_V = Notifier::Position::TOP;
|
|
constexpr Notifier::Position POS_H = Notifier::Position::LEFT;
|
|
constexpr bool SOUND = false;
|
|
constexpr const char* COLOR = "303030";
|
|
} // namespace Defaults::Notification
|
|
|
|
namespace Defaults::ServiceMenu {
|
|
constexpr const char* TITLE_COLOR = "99FF62";
|
|
constexpr const char* TEXT_COLOR = "FFFFFF";
|
|
constexpr const char* SELECTED_COLOR = "FFDC44";
|
|
constexpr const char* BG_COLOR = "000F00F5";
|
|
constexpr bool DROP_SHADOW = false;
|
|
} // namespace Defaults::ServiceMenu
|
|
|
|
namespace Defaults::ServiceMenu::WindowMessage {
|
|
constexpr const char* BG_COLOR = "141E32F0";
|
|
constexpr const char* BORDER_COLOR = "6496C8FF";
|
|
constexpr const char* TITLE_COLOR = "6496C8FF";
|
|
constexpr const char* TEXT_COLOR = "DCDCDCFF";
|
|
constexpr float PADDING = 15.0F;
|
|
constexpr float LINE_SPACING = 5.0F;
|
|
constexpr float TITLE_SEPARATOR_SPACING = 10.0F;
|
|
constexpr float MIN_WIDTH = 250.0F;
|
|
constexpr float MIN_HEIGHT = 32.0F;
|
|
constexpr float MAX_WIDTH_RATIO = 0.8F;
|
|
constexpr float MAX_HEIGHT_RATIO = 0.8F;
|
|
constexpr float TEXT_SAFETY_MARGIN = 15.0F;
|
|
constexpr float ANIMATION_DURATION = 0.3F;
|
|
} // namespace Defaults::ServiceMenu::WindowMessage
|
|
|
|
namespace Defaults::Intro {
|
|
constexpr const char* BG_COLOR = "4664BD";
|
|
constexpr const char* CARD_COLOR = "CBDBFC";
|
|
constexpr const char* SHADOW_COLOR = "00000080";
|
|
constexpr int TEXT_DISTANCE_FROM_BOTTOM = 48;
|
|
} // namespace Defaults::Intro
|
|
|
|
namespace Defaults::Debug {
|
|
constexpr const char* COLOR = "00FFFF";
|
|
} // namespace Defaults::Debug
|
|
|
|
namespace Defaults::Resource {
|
|
constexpr const char* COLOR = "FFFFFF";
|
|
} // namespace Defaults::Resource
|
|
|
|
namespace Defaults::Tabe {
|
|
constexpr float MIN_SPAWN_TIME = 2.0F;
|
|
constexpr float MAX_SPAWN_TIME = 3.0F;
|
|
} // namespace Defaults::Tabe
|
|
|
|
namespace Defaults::Player::DefaultShirt {
|
|
constexpr const char* PLAYER0_DARKEST = "028ECFFF";
|
|
constexpr const char* PLAYER0_DARK = "0297DBFF";
|
|
constexpr const char* PLAYER0_BASE = "029FE8FF";
|
|
constexpr const char* PLAYER0_LIGHT = "03A9F4FF";
|
|
|
|
constexpr const char* PLAYER1_DARKEST = "8E8E8EFF";
|
|
constexpr const char* PLAYER1_DARK = "AEADADFF";
|
|
constexpr const char* PLAYER1_BASE = "E4E4E4FF";
|
|
constexpr const char* PLAYER1_LIGHT = "F7F1F1FF";
|
|
} // namespace Defaults::Player::DefaultShirt
|
|
|
|
namespace Defaults::Player::OneCoffeeShirt {
|
|
constexpr const char* PLAYER0_DARKEST = "3D9C70FF";
|
|
constexpr const char* PLAYER0_DARK = "4FA370FF";
|
|
constexpr const char* PLAYER0_BASE = "5DDE70FF";
|
|
constexpr const char* PLAYER0_LIGHT = "7DF25CFF";
|
|
|
|
constexpr const char* PLAYER1_DARKEST = "2E8B57FF";
|
|
constexpr const char* PLAYER1_DARK = "3CB371FF";
|
|
constexpr const char* PLAYER1_BASE = "48D181FF";
|
|
constexpr const char* PLAYER1_LIGHT = "55EF8DFF";
|
|
} // namespace Defaults::Player::OneCoffeeShirt
|
|
|
|
namespace Defaults::Player::TwoCoffeeShirt {
|
|
constexpr const char* PLAYER0_DARKEST = "D6A41AFF";
|
|
constexpr const char* PLAYER0_DARK = "E3AE1BFF";
|
|
constexpr const char* PLAYER0_BASE = "EFB71DFF";
|
|
constexpr const char* PLAYER0_LIGHT = "FCC11EFF";
|
|
|
|
constexpr const char* PLAYER1_DARKEST = "E08500FF";
|
|
constexpr const char* PLAYER1_DARK = "FA7D00FF";
|
|
constexpr const char* PLAYER1_BASE = "FAA200FF";
|
|
constexpr const char* PLAYER1_LIGHT = "FA8500FF";
|
|
} // namespace Defaults::Player::TwoCoffeeShirt
|
|
|
|
namespace Defaults::Player::OutlineColor {
|
|
constexpr const char* PLAYER0 = "66323FFF";
|
|
constexpr const char* PLAYER1 = "422028FF";
|
|
} // namespace Defaults::Player::OutlineColor
|
|
|
|
namespace Defaults::Window {
|
|
constexpr const char* CAPTION = "© 2025 Coffee Crisis Arcade Edition — JailDesigner";
|
|
constexpr int ZOOM = 2;
|
|
constexpr int MAX_ZOOM = 2;
|
|
} // namespace Defaults::Window
|
|
|
|
namespace Defaults::Video {
|
|
constexpr SDL_ScaleMode SCALE_MODE = SDL_ScaleMode::SDL_SCALEMODE_NEAREST;
|
|
constexpr bool FULLSCREEN = false;
|
|
constexpr bool VSYNC = true;
|
|
constexpr bool INTEGER_SCALE = true;
|
|
constexpr bool POSTFX = false;
|
|
constexpr int SUPERSAMPLING = 1;
|
|
} // namespace Defaults::Video
|
|
|
|
namespace Defaults::Music {
|
|
constexpr bool ENABLED = true;
|
|
constexpr int VOLUME = 100;
|
|
} // namespace Defaults::Music
|
|
|
|
namespace Defaults::Sound {
|
|
constexpr bool ENABLED = true;
|
|
constexpr int VOLUME = 100;
|
|
} // namespace Defaults::Sound
|
|
|
|
namespace Defaults::Audio {
|
|
constexpr bool ENABLED = true;
|
|
constexpr int VOLUME = 100;
|
|
} // namespace Defaults::Audio
|
|
|
|
namespace Defaults::Settings {
|
|
constexpr bool AUTOFIRE = true;
|
|
constexpr bool SHUTDOWN_ENABLED = false;
|
|
constexpr const char* PARAMS_FILE = "param_320x256.txt";
|
|
} // namespace Defaults::Settings
|