fix: tidy scenes enums Phase UPPER_CASE (intro/banner/mort/menu/credits)

This commit is contained in:
2026-05-16 14:54:21 +02:00
parent 4cac807ce2
commit 35cdd88cbb
12 changed files with 116 additions and 116 deletions
+8 -8
View File
@@ -34,20 +34,20 @@ namespace scenes {
fade_.startFadeTo(pal); fade_.startFadeTo(pal);
delete[] pal; delete[] pal;
phase_ = Phase::FadingIn; phase_ = Phase::FADING_IN;
remaining_ms_ = 5000; remaining_ms_ = 5000;
} }
void BannerScene::tick(int delta_ms) { void BannerScene::tick(int delta_ms) {
switch (phase_) { switch (phase_) {
case Phase::FadingIn: case Phase::FADING_IN:
fade_.tick(delta_ms); fade_.tick(delta_ms);
if (fade_.done()) { if (fade_.done()) {
phase_ = Phase::Showing; phase_ = Phase::SHOWING;
} }
break; break;
case Phase::Showing: case Phase::SHOWING:
if (Ji::anyKey()) { if (Ji::anyKey()) {
remaining_ms_ = 0; remaining_ms_ = 0;
} else { } else {
@@ -56,18 +56,18 @@ namespace scenes {
if (remaining_ms_ <= 0) { if (remaining_ms_ <= 0) {
Audio::get()->fadeOutMusic(250); Audio::get()->fadeOutMusic(250);
fade_.startFadeOut(); fade_.startFadeOut();
phase_ = Phase::FadingOut; phase_ = Phase::FADING_OUT;
} }
break; break;
case Phase::FadingOut: case Phase::FADING_OUT:
fade_.tick(delta_ms); fade_.tick(delta_ms);
if (fade_.done()) { if (fade_.done()) {
phase_ = Phase::Done; phase_ = Phase::DONE;
} }
break; break;
case Phase::Done: case Phase::DONE:
break; break;
} }
} }
+6 -6
View File
@@ -24,18 +24,18 @@ namespace scenes {
public: public:
void onEnter() override; void onEnter() override;
void tick(int delta_ms) override; void tick(int delta_ms) override;
[[nodiscard]] auto done() const -> bool override { return phase_ == Phase::Done; } [[nodiscard]] auto done() const -> bool override { return phase_ == Phase::DONE; }
[[nodiscard]] auto nextState() const -> int override { return 0; } [[nodiscard]] auto nextState() const -> int override { return 0; }
private: private:
enum class Phase : std::uint8_t { FadingIn, enum class Phase : std::uint8_t { FADING_IN,
Showing, SHOWING,
FadingOut, FADING_OUT,
Done }; DONE };
SurfaceHandle gfx_; SurfaceHandle gfx_;
PaletteFade fade_; PaletteFade fade_;
Phase phase_{Phase::FadingIn}; Phase phase_{Phase::FADING_IN};
int remaining_ms_{5000}; int remaining_ms_{5000};
}; };
+6 -6
View File
@@ -56,7 +56,7 @@ namespace scenes {
Jd8::setScreenPalette(pal); Jd8::setScreenPalette(pal);
// `pal` passa a ser propietat de main_palette — no l'alliberem. // `pal` passa a ser propietat de main_palette — no l'alliberem.
phase_ = Phase::Rolling; phase_ = Phase::ROLLING;
contador_ = 1; contador_ = 1;
contador_acc_ms_ = 0; contador_acc_ms_ = 0;
} }
@@ -109,7 +109,7 @@ namespace scenes {
void CreditsScene::tick(int delta_ms) { void CreditsScene::tick(int delta_ms) {
switch (phase_) { switch (phase_) {
case Phase::Rolling: { case Phase::ROLLING: {
// Avancem el contador en passos discrets de 20 ms, igual // Avancem el contador en passos discrets de 20 ms, igual
// que feia Jg::shouldUpdate(20) al vell doCredits. // que feia Jg::shouldUpdate(20) al vell doCredits.
contador_acc_ms_ += delta_ms; contador_acc_ms_ += delta_ms;
@@ -124,20 +124,20 @@ namespace scenes {
if (Ji::anyKey() || contador_ >= CONTADOR_MAX) { if (Ji::anyKey() || contador_ >= CONTADOR_MAX) {
writeTrickIni(); writeTrickIni();
fade_.startFadeOut(); fade_.startFadeOut();
phase_ = Phase::FadingOut; phase_ = Phase::FADING_OUT;
} }
break; break;
} }
case Phase::FadingOut: case Phase::FADING_OUT:
fade_.tick(delta_ms); fade_.tick(delta_ms);
if (fade_.done()) { if (fade_.done()) {
info::ctx.num_piramide = 255; info::ctx.num_piramide = 255;
phase_ = Phase::Done; phase_ = Phase::DONE;
} }
break; break;
case Phase::Done: case Phase::DONE:
break; break;
} }
} }
+5 -5
View File
@@ -30,12 +30,12 @@ namespace scenes {
void onEnter() override; void onEnter() override;
void tick(int delta_ms) override; void tick(int delta_ms) override;
[[nodiscard]] auto done() const -> bool override { return phase_ == Phase::Done; } [[nodiscard]] auto done() const -> bool override { return phase_ == Phase::DONE; }
private: private:
enum class Phase : std::uint8_t { Rolling, enum class Phase : std::uint8_t { ROLLING,
FadingOut, FADING_OUT,
Done }; DONE };
void render(); void render();
static void writeTrickIni(); static void writeTrickIni();
@@ -45,7 +45,7 @@ namespace scenes {
PaletteFade fade_; PaletteFade fade_;
FrameAnimator coche_{8, 60, true}; // 8 frames × 60 ms (~3 × 20 ms tick vell) FrameAnimator coche_{8, 60, true}; // 8 frames × 60 ms (~3 × 20 ms tick vell)
Phase phase_{Phase::Rolling}; Phase phase_{Phase::ROLLING};
int contador_{1}; int contador_{1};
int contador_acc_ms_{0}; int contador_acc_ms_{0};
}; };
+24 -24
View File
@@ -60,7 +60,7 @@ namespace scenes {
Jd8::clearScreen(0); Jd8::clearScreen(0);
phase_ = Phase::Initial; phase_ = Phase::INITIAL;
phase_acc_ms_ = 0; phase_acc_ms_ = 0;
reveal_letter_ = 0; reveal_letter_ = 0;
reveal_cursor_visible_ = true; reveal_cursor_visible_ = true;
@@ -69,11 +69,11 @@ namespace scenes {
void IntroNewLogoScene::render() { void IntroNewLogoScene::render() {
switch (phase_) { switch (phase_) {
case Phase::Initial: case Phase::INITIAL:
Jd8::clearScreen(0); Jd8::clearScreen(0);
break; break;
case Phase::Revealing: { case Phase::REVEALING: {
Jd8::clearScreen(0); Jd8::clearScreen(0);
Jd8::blit(LOGO_DST_X, LOGO_DST_Y, gfx_, LOGO_SRC_X, LOGO_SRC_Y, LETTER_WIDTHS[reveal_letter_], LOGO_HEIGHT); Jd8::blit(LOGO_DST_X, LOGO_DST_Y, gfx_, LOGO_SRC_X, LOGO_SRC_Y, LETTER_WIDTHS[reveal_letter_], LOGO_HEIGHT);
if (reveal_cursor_visible_) { if (reveal_cursor_visible_) {
@@ -82,22 +82,22 @@ namespace scenes {
break; break;
} }
case Phase::FullLogoFlash: case Phase::FULL_LOGO_FLASH:
Jd8::clearScreen(0); Jd8::clearScreen(0);
Jd8::blit(LOGO_DST_X, LOGO_DST_Y, gfx_, LOGO_SRC_X, LOGO_SRC_Y, LETTER_WIDTHS[8], LOGO_HEIGHT); Jd8::blit(LOGO_DST_X, LOGO_DST_Y, gfx_, LOGO_SRC_X, LOGO_SRC_Y, LETTER_WIDTHS[8], LOGO_HEIGHT);
Jd8::blit(CURSOR_X[8], CURSOR_Y, cursor_surf_, 0, 0, CURSOR_W, CURSOR_H); Jd8::blit(CURSOR_X[8], CURSOR_Y, cursor_surf_, 0, 0, CURSOR_W, CURSOR_H);
break; break;
case Phase::PaletteCycle: case Phase::PALETTE_CYCLE:
case Phase::FinalWait: case Phase::FINAL_WAIT:
// Logo complet sense cursor — els pixels del cursor // Logo complet sense cursor — els pixels del cursor
// ciclarien de color durant el cicle de paleta. // ciclarien de color durant el cicle de paleta.
Jd8::clearScreen(0); Jd8::clearScreen(0);
Jd8::blit(LOGO_DST_X, LOGO_DST_Y, gfx_, LOGO_SRC_X, LOGO_SRC_Y, LETTER_WIDTHS[8], LOGO_HEIGHT); Jd8::blit(LOGO_DST_X, LOGO_DST_Y, gfx_, LOGO_SRC_X, LOGO_SRC_Y, LETTER_WIDTHS[8], LOGO_HEIGHT);
break; break;
case Phase::Sprites: case Phase::SPRITES:
case Phase::Done: case Phase::DONE:
break; break;
} }
} }
@@ -134,26 +134,26 @@ namespace scenes {
void IntroNewLogoScene::tick(int delta_ms) { void IntroNewLogoScene::tick(int delta_ms) {
// Qualsevol tecla durant el revelat o el ciclo de paleta salta // Qualsevol tecla durant el revelat o el ciclo de paleta salta
// TOTA la intro (inclou saltar la fase de sprites). Durant Sprites // TOTA la intro (inclou saltar la fase de sprites). Durant SPRITES
// deixem que la sub-escena gestione el seu propi skip (que a més // deixem que la sub-escena gestione el seu propi skip (que a més
// respecta la fase "final" no skippable de la variant 0). // respecta la fase "final" no skippable de la variant 0).
if (phase_ != Phase::Sprites && phase_ != Phase::Done && Ji::anyKey()) { if (phase_ != Phase::SPRITES && phase_ != Phase::DONE && Ji::anyKey()) {
info::ctx.num_piramide = 0; info::ctx.num_piramide = 0;
phase_ = Phase::Done; phase_ = Phase::DONE;
return; return;
} }
switch (phase_) { switch (phase_) {
case Phase::Initial: case Phase::INITIAL:
phase_acc_ms_ += delta_ms; phase_acc_ms_ += delta_ms;
render(); render();
if (phase_acc_ms_ >= INITIAL_MS) { if (phase_acc_ms_ >= INITIAL_MS) {
phase_ = Phase::Revealing; phase_ = Phase::REVEALING;
phase_acc_ms_ = 0; phase_acc_ms_ = 0;
} }
break; break;
case Phase::Revealing: case Phase::REVEALING:
phase_acc_ms_ += delta_ms; phase_acc_ms_ += delta_ms;
render(); render();
if (phase_acc_ms_ >= REVEAL_FRAME_MS) { if (phase_acc_ms_ >= REVEAL_FRAME_MS) {
@@ -164,23 +164,23 @@ namespace scenes {
if (reveal_cursor_visible_) { if (reveal_cursor_visible_) {
++reveal_letter_; ++reveal_letter_;
if (reveal_letter_ >= 9) { if (reveal_letter_ >= 9) {
phase_ = Phase::FullLogoFlash; phase_ = Phase::FULL_LOGO_FLASH;
reveal_letter_ = 8; reveal_letter_ = 8;
} }
} }
} }
break; break;
case Phase::FullLogoFlash: case Phase::FULL_LOGO_FLASH:
phase_acc_ms_ += delta_ms; phase_acc_ms_ += delta_ms;
render(); render();
if (phase_acc_ms_ >= FULL_LOGO_MS) { if (phase_acc_ms_ >= FULL_LOGO_MS) {
phase_ = Phase::PaletteCycle; phase_ = Phase::PALETTE_CYCLE;
phase_acc_ms_ = 0; phase_acc_ms_ = 0;
} }
break; break;
case Phase::PaletteCycle: case Phase::PALETTE_CYCLE:
phase_acc_ms_ += delta_ms; phase_acc_ms_ += delta_ms;
// Avancem passos de paleta cada 20 ms. Si el delta és gran, // Avancem passos de paleta cada 20 ms. Si el delta és gran,
// consumim múltiples passos en la mateixa crida. // consumim múltiples passos en la mateixa crida.
@@ -192,20 +192,20 @@ namespace scenes {
} }
render(); render();
if (palette_step_ >= PALETTE_CYCLE_STEPS) { if (palette_step_ >= PALETTE_CYCLE_STEPS) {
phase_ = Phase::FinalWait; phase_ = Phase::FINAL_WAIT;
phase_acc_ms_ = 0; phase_acc_ms_ = 0;
} }
break; break;
case Phase::FinalWait: case Phase::FINAL_WAIT:
phase_acc_ms_ += delta_ms; phase_acc_ms_ += delta_ms;
render(); render();
if (phase_acc_ms_ >= FINAL_WAIT_MS) { if (phase_acc_ms_ >= FINAL_WAIT_MS) {
phase_ = Phase::Sprites; phase_ = Phase::SPRITES;
} }
break; break;
case Phase::Sprites: case Phase::SPRITES:
// Sub-escena construïda al primer tick. Transferim el gfx_ // Sub-escena construïda al primer tick. Transferim el gfx_
// per move — la sub-escena se n'ocupa fins que es destruix. // per move — la sub-escena se n'ocupa fins que es destruix.
// Cada tick successiu delega l'animació dels sprites. // Cada tick successiu delega l'animació dels sprites.
@@ -219,11 +219,11 @@ namespace scenes {
// per passar al menú. Sense açò el while del fiber // per passar al menú. Sense açò el while del fiber
// tornaria a crear IntroNewLogoScene infinitament. // tornaria a crear IntroNewLogoScene infinitament.
info::ctx.num_piramide = 0; info::ctx.num_piramide = 0;
phase_ = Phase::Done; phase_ = Phase::DONE;
} }
break; break;
case Phase::Done: case Phase::DONE:
break; break;
} }
} }
+9 -9
View File
@@ -37,17 +37,17 @@ namespace scenes {
void onEnter() override; void onEnter() override;
void tick(int delta_ms) override; void tick(int delta_ms) override;
[[nodiscard]] auto done() const -> bool override { return phase_ == Phase::Done; } [[nodiscard]] auto done() const -> bool override { return phase_ == Phase::DONE; }
private: private:
enum class Phase : std::uint8_t { enum class Phase : std::uint8_t {
Initial, // pantalla negra 1000 ms INITIAL, // pantalla negra 1000 ms
Revealing, // 9 × 2 frames × 150 ms cada un REVEALING, // 9 × 2 frames × 150 ms cada un
FullLogoFlash, // logo complet + cursor, 200 ms FULL_LOGO_FLASH, // logo complet + cursor, 200 ms
PaletteCycle, // 256 passos × 20 ms modificant paleta PALETTE_CYCLE, // 256 passos × 20 ms modificant paleta
FinalWait, // 20 ms final FINAL_WAIT, // 20 ms final
Sprites, // tick delegat a IntroSpritesScene fins que acaba SPRITES, // tick delegat a IntroSpritesScene fins que acaba
Done, DONE,
}; };
void render(); void render();
@@ -58,7 +58,7 @@ namespace scenes {
Jd8::Palette pal_{nullptr}; // propietat transferida a main_palette via SetScreenPalette Jd8::Palette pal_{nullptr}; // propietat transferida a main_palette via SetScreenPalette
std::unique_ptr<IntroSpritesScene> sprites_scene_; std::unique_ptr<IntroSpritesScene> sprites_scene_;
Phase phase_{Phase::Initial}; Phase phase_{Phase::INITIAL};
int phase_acc_ms_{0}; int phase_acc_ms_{0};
int reveal_letter_{0}; int reveal_letter_{0};
bool reveal_cursor_visible_{true}; bool reveal_cursor_visible_{true};
+21 -21
View File
@@ -73,7 +73,7 @@ namespace scenes {
Jd8::clearScreen(0); Jd8::clearScreen(0);
phase_ = Phase::InitialWait; phase_ = Phase::INITIAL_WAIT;
phase_acc_ms_ = 0; phase_acc_ms_ = 0;
reveal_index_ = 0; reveal_index_ = 0;
palette_step_ = 0; palette_step_ = 0;
@@ -81,11 +81,11 @@ namespace scenes {
void IntroScene::render() { void IntroScene::render() {
switch (phase_) { switch (phase_) {
case Phase::InitialWait: case Phase::INITIAL_WAIT:
Jd8::clearScreen(0); Jd8::clearScreen(0);
break; break;
case Phase::Reveal: { case Phase::REVEAL: {
const RevealStep& s = REVEAL_STEPS[reveal_index_]; const RevealStep& s = REVEAL_STEPS[reveal_index_];
if (s.clear) { if (s.clear) {
Jd8::clearScreen(0); Jd8::clearScreen(0);
@@ -101,8 +101,8 @@ namespace scenes {
break; break;
} }
case Phase::PaletteCycle: case Phase::PALETTE_CYCLE:
case Phase::FinalWait: case Phase::FINAL_WAIT:
// Wordmark complet fix mentre cicla la paleta — l'últim // Wordmark complet fix mentre cicla la paleta — l'últim
// pas del revelat (PAS 15) deixa la pantalla en aquest mateix // pas del revelat (PAS 15) deixa la pantalla en aquest mateix
// estat, i el vell doIntro no redibuixava durant el cicle. // estat, i el vell doIntro no redibuixava durant el cicle.
@@ -110,8 +110,8 @@ namespace scenes {
drawWordmark(gfx_); drawWordmark(gfx_);
break; break;
case Phase::Sprites: case Phase::SPRITES:
case Phase::Done: case Phase::DONE:
break; break;
} }
} }
@@ -149,39 +149,39 @@ namespace scenes {
void IntroScene::tick(int delta_ms) { void IntroScene::tick(int delta_ms) {
// Qualsevol tecla durant revelat/paleta salta TOTA la intro // Qualsevol tecla durant revelat/paleta salta TOTA la intro
// (inclou saltar la fase de sprites). Durant Sprites deixem que // (inclou saltar la fase de sprites). Durant SPRITES deixem que
// la sub-escena gestione el seu propi skip internament, que a més // la sub-escena gestione el seu propi skip internament, que a més
// respecta la fase "final" no skippable de la variant 0. // respecta la fase "final" no skippable de la variant 0.
if (phase_ != Phase::Sprites && phase_ != Phase::Done && Ji::anyKey()) { if (phase_ != Phase::SPRITES && phase_ != Phase::DONE && Ji::anyKey()) {
info::ctx.num_piramide = 0; info::ctx.num_piramide = 0;
phase_ = Phase::Done; phase_ = Phase::DONE;
return; return;
} }
switch (phase_) { switch (phase_) {
case Phase::InitialWait: case Phase::INITIAL_WAIT:
phase_acc_ms_ += delta_ms; phase_acc_ms_ += delta_ms;
render(); render();
if (phase_acc_ms_ >= INITIAL_MS) { if (phase_acc_ms_ >= INITIAL_MS) {
phase_ = Phase::Reveal; phase_ = Phase::REVEAL;
phase_acc_ms_ = 0; phase_acc_ms_ = 0;
reveal_index_ = 0; reveal_index_ = 0;
} }
break; break;
case Phase::Reveal: case Phase::REVEAL:
phase_acc_ms_ += delta_ms; phase_acc_ms_ += delta_ms;
render(); render();
if (phase_acc_ms_ >= REVEAL_STEPS[reveal_index_].duration_ms) { if (phase_acc_ms_ >= REVEAL_STEPS[reveal_index_].duration_ms) {
phase_acc_ms_ = 0; phase_acc_ms_ = 0;
++reveal_index_; ++reveal_index_;
if (reveal_index_ >= REVEAL_COUNT) { if (reveal_index_ >= REVEAL_COUNT) {
phase_ = Phase::PaletteCycle; phase_ = Phase::PALETTE_CYCLE;
} }
} }
break; break;
case Phase::PaletteCycle: case Phase::PALETTE_CYCLE:
phase_acc_ms_ += delta_ms; phase_acc_ms_ += delta_ms;
// Avancem tants passos com permet el delta, per evitar // Avancem tants passos com permet el delta, per evitar
// saltar-ne si el frame ha vingut lent. // saltar-ne si el frame ha vingut lent.
@@ -193,20 +193,20 @@ namespace scenes {
} }
render(); render();
if (palette_step_ >= PALETTE_CYCLE_STEPS) { if (palette_step_ >= PALETTE_CYCLE_STEPS) {
phase_ = Phase::FinalWait; phase_ = Phase::FINAL_WAIT;
phase_acc_ms_ = 0; phase_acc_ms_ = 0;
} }
break; break;
case Phase::FinalWait: case Phase::FINAL_WAIT:
phase_acc_ms_ += delta_ms; phase_acc_ms_ += delta_ms;
render(); render();
if (phase_acc_ms_ >= FINAL_WAIT_MS) { if (phase_acc_ms_ >= FINAL_WAIT_MS) {
phase_ = Phase::Sprites; phase_ = Phase::SPRITES;
} }
break; break;
case Phase::Sprites: case Phase::SPRITES:
// Sub-escena construïda al vol al primer tick d'aquesta fase. // Sub-escena construïda al vol al primer tick d'aquesta fase.
// Transferim el gfx_ per move — la sub-escena se n'ocupa // Transferim el gfx_ per move — la sub-escena se n'ocupa
// fins que es destruix. Una vegada feta, els ticks delegats // fins que es destruix. Una vegada feta, els ticks delegats
@@ -221,11 +221,11 @@ namespace scenes {
// Sense açò el while del fiber tornaria a crear IntroScene // Sense açò el while del fiber tornaria a crear IntroScene
// infinitament amb num_piramide encara a 255. // infinitament amb num_piramide encara a 255.
info::ctx.num_piramide = 0; info::ctx.num_piramide = 0;
phase_ = Phase::Done; phase_ = Phase::DONE;
} }
break; break;
case Phase::Done: case Phase::DONE:
break; break;
} }
} }
+8 -8
View File
@@ -38,16 +38,16 @@ namespace scenes {
void onEnter() override; void onEnter() override;
void tick(int delta_ms) override; void tick(int delta_ms) override;
[[nodiscard]] auto done() const -> bool override { return phase_ == Phase::Done; } [[nodiscard]] auto done() const -> bool override { return phase_ == Phase::DONE; }
private: private:
enum class Phase : std::uint8_t { enum class Phase : std::uint8_t {
InitialWait, // 1000 ms pantalla negra INITIAL_WAIT, // 1000 ms pantalla negra
Reveal, // 15 passos del wordmark REVEAL, // 15 passos del wordmark
PaletteCycle, // 256 × 20 ms mutant pal[16..31] PALETTE_CYCLE, // 256 × 20 ms mutant pal[16..31]
FinalWait, // 200 ms abans de la sub-escena de sprites FINAL_WAIT, // 200 ms abans de la sub-escena de sprites
Sprites, // tick delegat a IntroSpritesScene fins que acaba SPRITES, // tick delegat a IntroSpritesScene fins que acaba
Done, DONE,
}; };
void render(); void render();
@@ -57,7 +57,7 @@ namespace scenes {
Jd8::Palette pal_{nullptr}; // propietat transferida a main_palette via SetScreenPalette Jd8::Palette pal_{nullptr}; // propietat transferida a main_palette via SetScreenPalette
std::unique_ptr<IntroSpritesScene> sprites_scene_; std::unique_ptr<IntroSpritesScene> sprites_scene_;
Phase phase_{Phase::InitialWait}; Phase phase_{Phase::INITIAL_WAIT};
int phase_acc_ms_{0}; int phase_acc_ms_{0};
int reveal_index_{0}; int reveal_index_{0};
int palette_step_{0}; int palette_step_{0};
+9 -9
View File
@@ -13,7 +13,7 @@ namespace scenes {
gfx_ = SurfaceHandle("gfx/menu2.gif"); gfx_ = SurfaceHandle("gfx/menu2.gif");
// Pintat inicial (congelat durant el fade-in de paleta). El loop // Pintat inicial (congelat durant el fade-in de paleta). El loop
// d'animació repintarà tot des de zero en el primer tick de Showing. // d'animació repintarà tot des de zero en el primer tick de SHOWING.
Jd8::blit(fondo_); Jd8::blit(fondo_);
Jd8::blitCK(100, 25, gfx_, 0, 74, 124, 68, 255); // logo Jd8::blitCK(100, 25, gfx_, 0, 74, 124, 68, 255); // logo
Jd8::blitCK(130, 100, gfx_, 0, 0, 80, 74, 255); // camell (frame 0) Jd8::blitCK(130, 100, gfx_, 0, 0, 80, 74, 255); // camell (frame 0)
@@ -23,7 +23,7 @@ namespace scenes {
fade_.startFadeTo(pal); fade_.startFadeTo(pal);
delete[] pal; delete[] pal;
phase_ = Phase::FadingIn; phase_ = Phase::FADING_IN;
} }
void MenuScene::render() { void MenuScene::render() {
@@ -60,14 +60,14 @@ namespace scenes {
void MenuScene::tick(int delta_ms) { void MenuScene::tick(int delta_ms) {
switch (phase_) { switch (phase_) {
case Phase::FadingIn: case Phase::FADING_IN:
fade_.tick(delta_ms); fade_.tick(delta_ms);
if (fade_.done()) { if (fade_.done()) {
phase_ = Phase::Showing; phase_ = Phase::SHOWING;
} }
break; break;
case Phase::Showing: { case Phase::SHOWING: {
// Palmeres: 1 pixel cada 80 ms (= cada 4 ticks × 20 ms originals) // Palmeres: 1 pixel cada 80 ms (= cada 4 ticks × 20 ms originals)
palmeres_acc_ms_ += delta_ms; palmeres_acc_ms_ += delta_ms;
while (palmeres_acc_ms_ >= 80) { while (palmeres_acc_ms_ >= 80) {
@@ -103,19 +103,19 @@ namespace scenes {
Ji::disableKeyboard(60); Ji::disableKeyboard(60);
info::ctx.num_piramide = 1; info::ctx.num_piramide = 1;
fade_.startFadeOut(); fade_.startFadeOut();
phase_ = Phase::FadingOut; phase_ = Phase::FADING_OUT;
} }
break; break;
} }
case Phase::FadingOut: case Phase::FADING_OUT:
fade_.tick(delta_ms); fade_.tick(delta_ms);
if (fade_.done()) { if (fade_.done()) {
phase_ = Phase::Done; phase_ = Phase::DONE;
} }
break; break;
case Phase::Done: case Phase::DONE:
break; break;
} }
} }
+6 -6
View File
@@ -28,13 +28,13 @@ namespace scenes {
public: public:
void onEnter() override; void onEnter() override;
void tick(int delta_ms) override; void tick(int delta_ms) override;
[[nodiscard]] auto done() const -> bool override { return phase_ == Phase::Done; } [[nodiscard]] auto done() const -> bool override { return phase_ == Phase::DONE; }
private: private:
enum class Phase : std::uint8_t { FadingIn, enum class Phase : std::uint8_t { FADING_IN,
Showing, SHOWING,
FadingOut, FADING_OUT,
Done }; DONE };
void render(); void render();
@@ -43,7 +43,7 @@ namespace scenes {
PaletteFade fade_; PaletteFade fade_;
FrameAnimator camello_{4, 160, true}; FrameAnimator camello_{4, 160, true};
Phase phase_{Phase::FadingIn}; Phase phase_{Phase::FADING_IN};
// Scrollers horizontals. Mouen 1 pixel per pas. // Scrollers horizontals. Mouen 1 pixel per pas.
int palmeres_{0}; int palmeres_{0};
+8 -8
View File
@@ -24,20 +24,20 @@ namespace scenes {
fade_.startFadeTo(pal); fade_.startFadeTo(pal);
delete[] pal; delete[] pal;
phase_ = Phase::FadingIn; phase_ = Phase::FADING_IN;
remaining_ms_ = 10000; remaining_ms_ = 10000;
} }
void MortScene::tick(int delta_ms) { void MortScene::tick(int delta_ms) {
switch (phase_) { switch (phase_) {
case Phase::FadingIn: case Phase::FADING_IN:
fade_.tick(delta_ms); fade_.tick(delta_ms);
if (fade_.done()) { if (fade_.done()) {
phase_ = Phase::Showing; phase_ = Phase::SHOWING;
} }
break; break;
case Phase::Showing: case Phase::SHOWING:
if (Ji::anyKey()) { if (Ji::anyKey()) {
remaining_ms_ = 0; remaining_ms_ = 0;
} else { } else {
@@ -49,18 +49,18 @@ namespace scenes {
playMusic("music/menu.ogg"); playMusic("music/menu.ogg");
info::ctx.num_piramide = 0; info::ctx.num_piramide = 0;
fade_.startFadeOut(); fade_.startFadeOut();
phase_ = Phase::FadingOut; phase_ = Phase::FADING_OUT;
} }
break; break;
case Phase::FadingOut: case Phase::FADING_OUT:
fade_.tick(delta_ms); fade_.tick(delta_ms);
if (fade_.done()) { if (fade_.done()) {
phase_ = Phase::Done; phase_ = Phase::DONE;
} }
break; break;
case Phase::Done: case Phase::DONE:
break; break;
} }
} }
+6 -6
View File
@@ -20,17 +20,17 @@ namespace scenes {
public: public:
void onEnter() override; void onEnter() override;
void tick(int delta_ms) override; void tick(int delta_ms) override;
[[nodiscard]] auto done() const -> bool override { return phase_ == Phase::Done; } [[nodiscard]] auto done() const -> bool override { return phase_ == Phase::DONE; }
private: private:
enum class Phase : std::uint8_t { FadingIn, enum class Phase : std::uint8_t { FADING_IN,
Showing, SHOWING,
FadingOut, FADING_OUT,
Done }; DONE };
SurfaceHandle gfx_; SurfaceHandle gfx_;
PaletteFade fade_; PaletteFade fade_;
Phase phase_{Phase::FadingIn}; Phase phase_{Phase::FADING_IN};
int remaining_ms_{10000}; // 1000 ticks × 10 ms/tick del doMort original int remaining_ms_{10000}; // 1000 ticks × 10 ms/tick del doMort original
}; };