refactor(scenes): renombra identificadors valencians de logo/title a anglès
This commit is contained in:
@@ -43,8 +43,8 @@ TitleScene::TitleScene(SDLManager& sdl, SceneContext& context)
|
||||
auto option = context_.consumeOption();
|
||||
if (option == Option::JUMP_TO_TITLE_MAIN) {
|
||||
std::cout << "SceneType Titol: Opció JUMP_TO_TITLE_MAIN activada\n";
|
||||
estat_actual_ = TitleState::MAIN;
|
||||
temps_estat_main_ = 0.0F;
|
||||
current_state_ = TitleState::MAIN;
|
||||
state_time_main_ = 0.0F;
|
||||
}
|
||||
|
||||
// Càmera 3D: posicionada a l'origen, mirant cap a +Z, amb Y cap amunt.
|
||||
@@ -61,7 +61,7 @@ TitleScene::TitleScene(SDLManager& sdl, SceneContext& context)
|
||||
camera_.get(),
|
||||
200);
|
||||
starfield_->setColor(Defaults::Title::Colors::STARFIELD);
|
||||
if (estat_actual_ == TitleState::MAIN) {
|
||||
if (current_state_ == TitleState::MAIN) {
|
||||
starfield_->setBrightness(BRIGHTNESS_STARFIELD);
|
||||
} else {
|
||||
starfield_->setBrightness(0.0F);
|
||||
@@ -125,22 +125,22 @@ void TitleScene::initTitle() {
|
||||
const float ANCHO = (max_x - min_x) * Defaults::Title::Layout::LOGO_SCALE;
|
||||
const float ALTURA = (max_y - min_y) * Defaults::Title::Layout::LOGO_SCALE;
|
||||
const float OFFSET_CENTRE = (shape->getCenter().x - min_x) * Defaults::Title::Layout::LOGO_SCALE;
|
||||
lletres_orni_.push_back({shape, {.x = 0.0F, .y = 0.0F}, ANCHO, ALTURA, OFFSET_CENTRE});
|
||||
letters_orni_.push_back({shape, {.x = 0.0F, .y = 0.0F}, ANCHO, ALTURA, OFFSET_CENTRE});
|
||||
ancho_total_orni += ANCHO;
|
||||
}
|
||||
ancho_total_orni += ESPAI_ENTRE_LLETRES * static_cast<float>(lletres_orni_.size() - 1);
|
||||
ancho_total_orni += LETTER_SPACING * static_cast<float>(letters_orni_.size() - 1);
|
||||
|
||||
float x_actual = (Defaults::Game::WIDTH - ancho_total_orni) / 2.0F;
|
||||
for (auto& lletra : lletres_orni_) {
|
||||
lletra.position.x = x_actual + lletra.offset_centre;
|
||||
for (auto& lletra : letters_orni_) {
|
||||
lletra.position.x = x_actual + lletra.center_offset;
|
||||
lletra.position.y = Defaults::Game::HEIGHT * Defaults::Title::Layout::LOGO_POS;
|
||||
x_actual += lletra.ancho + ESPAI_ENTRE_LLETRES;
|
||||
x_actual += lletra.ancho + LETTER_SPACING;
|
||||
}
|
||||
|
||||
const float ALTURA_ORNI = lletres_orni_.empty() ? 50.0F : lletres_orni_[0].altura;
|
||||
const float ALTURA_ORNI = letters_orni_.empty() ? 50.0F : letters_orni_[0].altura;
|
||||
const float Y_ORNI = Defaults::Game::HEIGHT * Defaults::Title::Layout::LOGO_POS;
|
||||
const float SEPARACION = Defaults::Game::HEIGHT * Defaults::Title::Layout::LOGO_LINE_SPACING;
|
||||
y_attack_dinamica_ = Y_ORNI + ALTURA_ORNI + SEPARACION;
|
||||
dynamic_attack_y_ = Y_ORNI + ALTURA_ORNI + SEPARACION;
|
||||
|
||||
const std::vector<std::string> FITXERS_ATTACK = {
|
||||
"title/letra_a.shp",
|
||||
@@ -173,25 +173,25 @@ void TitleScene::initTitle() {
|
||||
const float ANCHO = (max_x - min_x) * Defaults::Title::Layout::LOGO_SCALE;
|
||||
const float ALTURA = (max_y - min_y) * Defaults::Title::Layout::LOGO_SCALE;
|
||||
const float OFFSET_CENTRE = (shape->getCenter().x - min_x) * Defaults::Title::Layout::LOGO_SCALE;
|
||||
lletres_attack_.push_back({shape, {.x = 0.0F, .y = 0.0F}, ANCHO, ALTURA, OFFSET_CENTRE});
|
||||
letters_attack_.push_back({shape, {.x = 0.0F, .y = 0.0F}, ANCHO, ALTURA, OFFSET_CENTRE});
|
||||
ancho_total_attack += ANCHO;
|
||||
}
|
||||
ancho_total_attack += ESPAI_ENTRE_LLETRES * static_cast<float>(lletres_attack_.size() - 1);
|
||||
ancho_total_attack += LETTER_SPACING * static_cast<float>(letters_attack_.size() - 1);
|
||||
|
||||
x_actual = (Defaults::Game::WIDTH - ancho_total_attack) / 2.0F;
|
||||
for (auto& lletra : lletres_attack_) {
|
||||
lletra.position.x = x_actual + lletra.offset_centre;
|
||||
lletra.position.y = y_attack_dinamica_;
|
||||
x_actual += lletra.ancho + ESPAI_ENTRE_LLETRES;
|
||||
for (auto& lletra : letters_attack_) {
|
||||
lletra.position.x = x_actual + lletra.center_offset;
|
||||
lletra.position.y = dynamic_attack_y_;
|
||||
x_actual += lletra.ancho + LETTER_SPACING;
|
||||
}
|
||||
|
||||
posicions_originals_orni_.clear();
|
||||
for (const auto& lletra : lletres_orni_) {
|
||||
posicions_originals_orni_.push_back(lletra.position);
|
||||
original_positions_orni_.clear();
|
||||
for (const auto& lletra : letters_orni_) {
|
||||
original_positions_orni_.push_back(lletra.position);
|
||||
}
|
||||
posicions_originals_attack_.clear();
|
||||
for (const auto& lletra : lletres_attack_) {
|
||||
posicions_originals_attack_.push_back(lletra.position);
|
||||
original_positions_attack_.clear();
|
||||
for (const auto& lletra : letters_attack_) {
|
||||
original_positions_attack_.push_back(lletra.position);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -234,13 +234,13 @@ void TitleScene::inicialitzarJailgames() {
|
||||
const float ANCHO = (max_x - min_x) * SCALE;
|
||||
const float ALTURA = (max_y - min_y) * SCALE;
|
||||
const float OFFSET_CENTRE = (shape->getCenter().x - min_x) * SCALE;
|
||||
lletres_jailgames_.push_back({shape, {.x = 0.0F, .y = 0.0F}, ANCHO, ALTURA, OFFSET_CENTRE});
|
||||
letters_jailgames_.push_back({shape, {.x = 0.0F, .y = 0.0F}, ANCHO, ALTURA, OFFSET_CENTRE});
|
||||
ancho_total += ANCHO;
|
||||
altura_max = std::max(altura_max, ALTURA);
|
||||
}
|
||||
constexpr float ESPAI_JAILGAMES = ESPAI_ENTRE_LLETRES * SCALE;
|
||||
if (!lletres_jailgames_.empty()) {
|
||||
ancho_total += ESPAI_JAILGAMES * static_cast<float>(lletres_jailgames_.size() - 1);
|
||||
constexpr float ESPAI_JAILGAMES = LETTER_SPACING * SCALE;
|
||||
if (!letters_jailgames_.empty()) {
|
||||
ancho_total += ESPAI_JAILGAMES * static_cast<float>(letters_jailgames_.size() - 1);
|
||||
}
|
||||
|
||||
const float Y_COPY = Defaults::Game::HEIGHT * Defaults::Title::Layout::COPYRIGHT1_POS;
|
||||
@@ -249,8 +249,8 @@ void TitleScene::inicialitzarJailgames() {
|
||||
const float X_INICIAL = (Defaults::Game::WIDTH - ancho_total) / 2.0F;
|
||||
|
||||
float x_actual = X_INICIAL;
|
||||
for (auto& lletra : lletres_jailgames_) {
|
||||
lletra.position.x = x_actual + lletra.offset_centre;
|
||||
for (auto& lletra : letters_jailgames_) {
|
||||
lletra.position.x = x_actual + lletra.center_offset;
|
||||
lletra.position.y = Y_CENTRE;
|
||||
x_actual += lletra.ancho + ESPAI_JAILGAMES;
|
||||
}
|
||||
@@ -268,7 +268,7 @@ void TitleScene::dibuixarPeuTitol(float spacing) const {
|
||||
const float COPYRIGHT_S = std::lerp(S::FOOTER_INTRO_SCALE_START, 1.0F, Easing::easeOutQuad(intro_copyright_progress_));
|
||||
|
||||
const float JAILGAMES_RENDER_SCALE = Defaults::Title::Layout::JAILGAMES_SCALE * JAILGAMES_S;
|
||||
for (const auto& lletra : lletres_jailgames_) {
|
||||
for (const auto& lletra : letters_jailgames_) {
|
||||
const Vec2 POS{
|
||||
.x = SCREEN_CENTRE_X + (JAILGAMES_S * (lletra.position.x - SCREEN_CENTRE_X)),
|
||||
.y = SCREEN_CENTRE_Y + (JAILGAMES_S * (lletra.position.y - SCREEN_CENTRE_Y)),
|
||||
@@ -297,15 +297,15 @@ void TitleScene::update(float delta_time) {
|
||||
starfield_->update(delta_time);
|
||||
}
|
||||
if (ship_animator_ &&
|
||||
(estat_actual_ == TitleState::STARFIELD_FADE_IN ||
|
||||
estat_actual_ == TitleState::STARFIELD ||
|
||||
estat_actual_ == TitleState::MAIN ||
|
||||
estat_actual_ == TitleState::PLAYER_JOIN_PHASE)) {
|
||||
(current_state_ == TitleState::STARFIELD_FADE_IN ||
|
||||
current_state_ == TitleState::STARFIELD ||
|
||||
current_state_ == TitleState::MAIN ||
|
||||
current_state_ == TitleState::PLAYER_JOIN_PHASE)) {
|
||||
ship_animator_->update(delta_time);
|
||||
}
|
||||
updateFlashes(delta_time);
|
||||
|
||||
switch (estat_actual_) {
|
||||
switch (current_state_) {
|
||||
case TitleState::STARFIELD_FADE_IN:
|
||||
updateStarfieldFadeInState(delta_time);
|
||||
break;
|
||||
@@ -329,10 +329,10 @@ void TitleScene::update(float delta_time) {
|
||||
|
||||
void TitleScene::updateStarfieldFadeInState(float delta_time) {
|
||||
temps_acumulat_ += delta_time;
|
||||
const float PROGRESS = std::min(1.0F, temps_acumulat_ / DURACIO_FADE_IN);
|
||||
const float PROGRESS = std::min(1.0F, temps_acumulat_ / DURATION_FADE_IN);
|
||||
starfield_->setBrightness(PROGRESS * BRIGHTNESS_STARFIELD);
|
||||
if (temps_acumulat_ >= DURACIO_FADE_IN) {
|
||||
estat_actual_ = TitleState::STARFIELD;
|
||||
if (temps_acumulat_ >= DURATION_FADE_IN) {
|
||||
current_state_ = TitleState::STARFIELD;
|
||||
temps_acumulat_ = 0.0F;
|
||||
starfield_->setBrightness(BRIGHTNESS_STARFIELD);
|
||||
}
|
||||
@@ -340,16 +340,16 @@ void TitleScene::updateStarfieldFadeInState(float delta_time) {
|
||||
|
||||
void TitleScene::updateStarfieldState(float delta_time) {
|
||||
temps_acumulat_ += delta_time;
|
||||
if (temps_acumulat_ >= DURACIO_INIT) {
|
||||
estat_actual_ = TitleState::MAIN;
|
||||
temps_estat_main_ = 0.0F;
|
||||
animacio_activa_ = false;
|
||||
factor_lerp_ = 0.0F;
|
||||
if (temps_acumulat_ >= DURATION_INIT) {
|
||||
current_state_ = TitleState::MAIN;
|
||||
state_time_main_ = 0.0F;
|
||||
animation_active_ = false;
|
||||
lerp_factor_ = 0.0F;
|
||||
}
|
||||
}
|
||||
|
||||
void TitleScene::updateMainState(float delta_time) {
|
||||
temps_estat_main_ += delta_time;
|
||||
state_time_main_ += delta_time;
|
||||
|
||||
namespace S = Defaults::Title::Sequence;
|
||||
namespace Sh = Defaults::Title::Ships;
|
||||
@@ -364,38 +364,38 @@ void TitleScene::updateMainState(float delta_time) {
|
||||
constexpr float T_SHIPS_LANDED = T_SHIPS_START + Sh::ENTRY_DURATION + Sh::P2_ENTRY_DELAY;
|
||||
constexpr float T_PRESS_START_VISIBLE = T_SHIPS_LANDED + S::PRESS_START_DELAY_AFTER_SHIPS;
|
||||
|
||||
intro_logo_progress_ = std::clamp(temps_estat_main_ / S::LOGO_ENTRY_DURATION, 0.0F, 1.0F);
|
||||
intro_logo_progress_ = std::clamp(state_time_main_ / S::LOGO_ENTRY_DURATION, 0.0F, 1.0F);
|
||||
intro_jailgames_progress_ = std::clamp(
|
||||
(temps_estat_main_ - T_FOOTER_START) / S::JAILGAMES_ENTRY_DURATION,
|
||||
(state_time_main_ - T_FOOTER_START) / S::JAILGAMES_ENTRY_DURATION,
|
||||
0.0F,
|
||||
1.0F);
|
||||
intro_copyright_progress_ = std::clamp(
|
||||
(temps_estat_main_ - T_COPY_START) / S::COPYRIGHT_ENTRY_DURATION,
|
||||
(state_time_main_ - T_COPY_START) / S::COPYRIGHT_ENTRY_DURATION,
|
||||
0.0F,
|
||||
1.0F);
|
||||
|
||||
if (!ships_intro_launched_ && temps_estat_main_ >= T_SHIPS_START &&
|
||||
if (!ships_intro_launched_ && state_time_main_ >= T_SHIPS_START &&
|
||||
ship_animator_ != nullptr) {
|
||||
ship_animator_->setVisible(true);
|
||||
ship_animator_->startEntryAnimation();
|
||||
ships_intro_launched_ = true;
|
||||
}
|
||||
|
||||
if (!press_start_visible_ && temps_estat_main_ >= T_PRESS_START_VISIBLE) {
|
||||
if (!press_start_visible_ && state_time_main_ >= T_PRESS_START_VISIBLE) {
|
||||
press_start_visible_ = true;
|
||||
}
|
||||
|
||||
// L'oscil·lació suau del logo arrenca quan el logo ha aterrat. Així
|
||||
// l'amplitud creix gradualment (lerp) durant la resta de la intro.
|
||||
if (temps_estat_main_ < S::LOGO_ENTRY_DURATION) {
|
||||
factor_lerp_ = 0.0F;
|
||||
animacio_activa_ = false;
|
||||
} else if (temps_estat_main_ < S::LOGO_ENTRY_DURATION + DURACIO_LERP) {
|
||||
factor_lerp_ = (temps_estat_main_ - S::LOGO_ENTRY_DURATION) / DURACIO_LERP;
|
||||
animacio_activa_ = true;
|
||||
if (state_time_main_ < S::LOGO_ENTRY_DURATION) {
|
||||
lerp_factor_ = 0.0F;
|
||||
animation_active_ = false;
|
||||
} else if (state_time_main_ < S::LOGO_ENTRY_DURATION + DURATION_LERP) {
|
||||
lerp_factor_ = (state_time_main_ - S::LOGO_ENTRY_DURATION) / DURATION_LERP;
|
||||
animation_active_ = true;
|
||||
} else {
|
||||
factor_lerp_ = 1.0F;
|
||||
animacio_activa_ = true;
|
||||
lerp_factor_ = 1.0F;
|
||||
animation_active_ = true;
|
||||
}
|
||||
updateLogoAnimation(delta_time);
|
||||
}
|
||||
@@ -414,27 +414,27 @@ void TitleScene::updatePlayerJoinPhaseState(float delta_time) {
|
||||
temps_acumulat_ = 0.0F;
|
||||
}
|
||||
|
||||
if (temps_acumulat_ >= DURACIO_TRANSITION) {
|
||||
estat_actual_ = TitleState::BLACK_SCREEN;
|
||||
if (temps_acumulat_ >= DURATION_TRANSITION) {
|
||||
current_state_ = TitleState::BLACK_SCREEN;
|
||||
temps_acumulat_ = 0.0F;
|
||||
}
|
||||
}
|
||||
|
||||
void TitleScene::updateBlackScreenState(float delta_time) {
|
||||
temps_acumulat_ += delta_time;
|
||||
if (temps_acumulat_ >= DURACIO_BLACK_SCREEN) {
|
||||
if (temps_acumulat_ >= DURATION_BLACK_SCREEN) {
|
||||
context_.setNextScene(SceneType::GAME);
|
||||
}
|
||||
}
|
||||
|
||||
void TitleScene::handleSkipInput() {
|
||||
if (estat_actual_ != TitleState::STARFIELD_FADE_IN && estat_actual_ != TitleState::STARFIELD) {
|
||||
if (current_state_ != TitleState::STARFIELD_FADE_IN && current_state_ != TitleState::STARFIELD) {
|
||||
return;
|
||||
}
|
||||
if (!checkSkipButtonPressed()) {
|
||||
return;
|
||||
}
|
||||
estat_actual_ = TitleState::MAIN;
|
||||
current_state_ = TitleState::MAIN;
|
||||
starfield_->setBrightness(BRIGHTNESS_STARFIELD);
|
||||
|
||||
// Saltar la intro coreografiada: deixar tots els elements ja in-place.
|
||||
@@ -445,7 +445,7 @@ void TitleScene::handleSkipInput() {
|
||||
S::LOGO_ENTRY_DURATION + S::COPYRIGHT_STAGGER + S::COPYRIGHT_ENTRY_DURATION);
|
||||
constexpr float T_PRESS_START_VISIBLE = T_FOOTER_END + S::SHIPS_DELAY_AFTER_FOOTER +
|
||||
Sh::ENTRY_DURATION + Sh::P2_ENTRY_DELAY + S::PRESS_START_DELAY_AFTER_SHIPS;
|
||||
temps_estat_main_ = T_PRESS_START_VISIBLE;
|
||||
state_time_main_ = T_PRESS_START_VISIBLE;
|
||||
intro_logo_progress_ = 1.0F;
|
||||
intro_jailgames_progress_ = 1.0F;
|
||||
intro_copyright_progress_ = 1.0F;
|
||||
@@ -458,7 +458,7 @@ void TitleScene::handleSkipInput() {
|
||||
}
|
||||
|
||||
void TitleScene::handleStartInput() {
|
||||
if (estat_actual_ != TitleState::MAIN) {
|
||||
if (current_state_ != TitleState::MAIN) {
|
||||
return;
|
||||
}
|
||||
// No acceptar START fins que la intro coreografiada haja conclòs i el
|
||||
@@ -479,7 +479,7 @@ void TitleScene::handleStartInput() {
|
||||
}
|
||||
|
||||
context_.setMatchConfig(match_config_);
|
||||
estat_actual_ = TitleState::PLAYER_JOIN_PHASE;
|
||||
current_state_ = TitleState::PLAYER_JOIN_PHASE;
|
||||
temps_acumulat_ = 0.0F;
|
||||
|
||||
triggerExitForJoinedPlayers(P1_ABANS, P2_ABANS, "");
|
||||
@@ -503,44 +503,44 @@ void TitleScene::triggerExitForJoinedPlayers(bool p1_was_active, bool p2_was_act
|
||||
}
|
||||
|
||||
void TitleScene::updateLogoAnimation(float delta_time) {
|
||||
if (!animacio_activa_) {
|
||||
if (!animation_active_) {
|
||||
return;
|
||||
}
|
||||
temps_animacio_ += delta_time * factor_lerp_;
|
||||
animation_time_ += delta_time * lerp_factor_;
|
||||
|
||||
const float TWO_PI = 2.0F * Defaults::Math::PI;
|
||||
const float OFFSET_X = ORBIT_AMPLITUDE_X * std::sin(TWO_PI * ORBIT_FREQUENCY_X * temps_animacio_);
|
||||
const float OFFSET_Y = ORBIT_AMPLITUDE_Y * std::sin((TWO_PI * ORBIT_FREQUENCY_Y * temps_animacio_) + ORBIT_PHASE_OFFSET);
|
||||
const float OFFSET_X = ORBIT_AMPLITUDE_X * std::sin(TWO_PI * ORBIT_FREQUENCY_X * animation_time_);
|
||||
const float OFFSET_Y = ORBIT_AMPLITUDE_Y * std::sin((TWO_PI * ORBIT_FREQUENCY_Y * animation_time_) + ORBIT_PHASE_OFFSET);
|
||||
|
||||
for (std::size_t i = 0; i < lletres_orni_.size(); ++i) {
|
||||
lletres_orni_[i].position.x = posicions_originals_orni_[i].x + std::round(OFFSET_X);
|
||||
lletres_orni_[i].position.y = posicions_originals_orni_[i].y + std::round(OFFSET_Y);
|
||||
for (std::size_t i = 0; i < letters_orni_.size(); ++i) {
|
||||
letters_orni_[i].position.x = original_positions_orni_[i].x + std::round(OFFSET_X);
|
||||
letters_orni_[i].position.y = original_positions_orni_[i].y + std::round(OFFSET_Y);
|
||||
}
|
||||
for (std::size_t i = 0; i < lletres_attack_.size(); ++i) {
|
||||
lletres_attack_[i].position.x = posicions_originals_attack_[i].x + std::round(OFFSET_X);
|
||||
lletres_attack_[i].position.y = posicions_originals_attack_[i].y + std::round(OFFSET_Y);
|
||||
for (std::size_t i = 0; i < letters_attack_.size(); ++i) {
|
||||
letters_attack_[i].position.x = original_positions_attack_[i].x + std::round(OFFSET_X);
|
||||
letters_attack_[i].position.y = original_positions_attack_[i].y + std::round(OFFSET_Y);
|
||||
}
|
||||
}
|
||||
|
||||
void TitleScene::draw() {
|
||||
if (starfield_ && estat_actual_ != TitleState::BLACK_SCREEN) {
|
||||
if (starfield_ && current_state_ != TitleState::BLACK_SCREEN) {
|
||||
starfield_->draw();
|
||||
}
|
||||
|
||||
if (ship_animator_ &&
|
||||
(estat_actual_ == TitleState::STARFIELD_FADE_IN ||
|
||||
estat_actual_ == TitleState::STARFIELD ||
|
||||
estat_actual_ == TitleState::MAIN ||
|
||||
estat_actual_ == TitleState::PLAYER_JOIN_PHASE)) {
|
||||
(current_state_ == TitleState::STARFIELD_FADE_IN ||
|
||||
current_state_ == TitleState::STARFIELD ||
|
||||
current_state_ == TitleState::MAIN ||
|
||||
current_state_ == TitleState::PLAYER_JOIN_PHASE)) {
|
||||
ship_animator_->draw();
|
||||
}
|
||||
drawFlashes();
|
||||
|
||||
if (estat_actual_ == TitleState::STARFIELD_FADE_IN || estat_actual_ == TitleState::STARFIELD) {
|
||||
if (current_state_ == TitleState::STARFIELD_FADE_IN || current_state_ == TitleState::STARFIELD) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (estat_actual_ != TitleState::MAIN && estat_actual_ != TitleState::PLAYER_JOIN_PHASE) {
|
||||
if (current_state_ != TitleState::MAIN && current_state_ != TitleState::PLAYER_JOIN_PHASE) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -552,40 +552,40 @@ void TitleScene::draw() {
|
||||
const float SCREEN_CENTRE_Y = Defaults::Game::HEIGHT / 2.0F;
|
||||
const float LOGO_RENDER_SCALE = Defaults::Title::Layout::LOGO_SCALE * LOGO_S;
|
||||
|
||||
if (animacio_activa_) {
|
||||
float temps_shadow = std::max(0.0F, temps_animacio_ - SHADOW_DELAY);
|
||||
if (animation_active_) {
|
||||
float temps_shadow = std::max(0.0F, animation_time_ - SHADOW_DELAY);
|
||||
const float TWO_PI = 2.0F * Defaults::Math::PI;
|
||||
const float SHADOW_OX = (ORBIT_AMPLITUDE_X * std::sin(TWO_PI * ORBIT_FREQUENCY_X * temps_shadow)) + SHADOW_OFFSET_X;
|
||||
const float SHADOW_OY = (ORBIT_AMPLITUDE_Y * std::sin((TWO_PI * ORBIT_FREQUENCY_Y * temps_shadow) + ORBIT_PHASE_OFFSET)) + SHADOW_OFFSET_Y;
|
||||
|
||||
for (std::size_t i = 0; i < lletres_orni_.size(); ++i) {
|
||||
const float BASE_X = posicions_originals_orni_[i].x + std::round(SHADOW_OX);
|
||||
const float BASE_Y = posicions_originals_orni_[i].y + std::round(SHADOW_OY);
|
||||
for (std::size_t i = 0; i < letters_orni_.size(); ++i) {
|
||||
const float BASE_X = original_positions_orni_[i].x + std::round(SHADOW_OX);
|
||||
const float BASE_Y = original_positions_orni_[i].y + std::round(SHADOW_OY);
|
||||
const Vec2 POS_SHADOW{
|
||||
.x = SCREEN_CENTRE_X + (LOGO_S * (BASE_X - SCREEN_CENTRE_X)),
|
||||
.y = SCREEN_CENTRE_Y + (LOGO_S * (BASE_Y - SCREEN_CENTRE_Y)),
|
||||
};
|
||||
Rendering::renderShape(sdl_.getRenderer(), lletres_orni_[i].shape, POS_SHADOW, 0.0F, LOGO_RENDER_SCALE, 1.0F, SHADOW_BRIGHTNESS, Defaults::Title::Colors::LOGO_SHADOW);
|
||||
Rendering::renderShape(sdl_.getRenderer(), letters_orni_[i].shape, POS_SHADOW, 0.0F, LOGO_RENDER_SCALE, 1.0F, SHADOW_BRIGHTNESS, Defaults::Title::Colors::LOGO_SHADOW);
|
||||
}
|
||||
for (std::size_t i = 0; i < lletres_attack_.size(); ++i) {
|
||||
const float BASE_X = posicions_originals_attack_[i].x + std::round(SHADOW_OX);
|
||||
const float BASE_Y = posicions_originals_attack_[i].y + std::round(SHADOW_OY);
|
||||
for (std::size_t i = 0; i < letters_attack_.size(); ++i) {
|
||||
const float BASE_X = original_positions_attack_[i].x + std::round(SHADOW_OX);
|
||||
const float BASE_Y = original_positions_attack_[i].y + std::round(SHADOW_OY);
|
||||
const Vec2 POS_SHADOW{
|
||||
.x = SCREEN_CENTRE_X + (LOGO_S * (BASE_X - SCREEN_CENTRE_X)),
|
||||
.y = SCREEN_CENTRE_Y + (LOGO_S * (BASE_Y - SCREEN_CENTRE_Y)),
|
||||
};
|
||||
Rendering::renderShape(sdl_.getRenderer(), lletres_attack_[i].shape, POS_SHADOW, 0.0F, LOGO_RENDER_SCALE, 1.0F, SHADOW_BRIGHTNESS, Defaults::Title::Colors::LOGO_SHADOW);
|
||||
Rendering::renderShape(sdl_.getRenderer(), letters_attack_[i].shape, POS_SHADOW, 0.0F, LOGO_RENDER_SCALE, 1.0F, SHADOW_BRIGHTNESS, Defaults::Title::Colors::LOGO_SHADOW);
|
||||
}
|
||||
}
|
||||
|
||||
for (const auto& lletra : lletres_orni_) {
|
||||
for (const auto& lletra : letters_orni_) {
|
||||
const Vec2 POS{
|
||||
.x = SCREEN_CENTRE_X + (LOGO_S * (lletra.position.x - SCREEN_CENTRE_X)),
|
||||
.y = SCREEN_CENTRE_Y + (LOGO_S * (lletra.position.y - SCREEN_CENTRE_Y)),
|
||||
};
|
||||
Rendering::renderShape(sdl_.getRenderer(), lletra.shape, POS, 0.0F, LOGO_RENDER_SCALE, 1.0F, 1.0F, Defaults::Title::Colors::LOGO_MAIN);
|
||||
}
|
||||
for (const auto& lletra : lletres_attack_) {
|
||||
for (const auto& lletra : letters_attack_) {
|
||||
const Vec2 POS{
|
||||
.x = SCREEN_CENTRE_X + (LOGO_S * (lletra.position.x - SCREEN_CENTRE_X)),
|
||||
.y = SCREEN_CENTRE_Y + (LOGO_S * (lletra.position.y - SCREEN_CENTRE_Y)),
|
||||
@@ -597,7 +597,7 @@ void TitleScene::draw() {
|
||||
|
||||
if (press_start_visible_) {
|
||||
bool mostrar_text = true;
|
||||
if (estat_actual_ == TitleState::PLAYER_JOIN_PHASE) {
|
||||
if (current_state_ == TitleState::PLAYER_JOIN_PHASE) {
|
||||
const float FASE = temps_acumulat_ * BLINK_FREQUENCY * 2.0F * std::numbers::pi_v<float>;
|
||||
mostrar_text = (std::sin(FASE) > 0.0F);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user