diff --git a/source/game/scenes/banner_scene.cpp b/source/game/scenes/banner_scene.cpp index 66b1a0b..352f7de 100644 --- a/source/game/scenes/banner_scene.cpp +++ b/source/game/scenes/banner_scene.cpp @@ -34,20 +34,20 @@ namespace scenes { fade_.startFadeTo(pal); delete[] pal; - phase_ = Phase::FadingIn; + phase_ = Phase::FADING_IN; remaining_ms_ = 5000; } void BannerScene::tick(int delta_ms) { switch (phase_) { - case Phase::FadingIn: + case Phase::FADING_IN: fade_.tick(delta_ms); if (fade_.done()) { - phase_ = Phase::Showing; + phase_ = Phase::SHOWING; } break; - case Phase::Showing: + case Phase::SHOWING: if (Ji::anyKey()) { remaining_ms_ = 0; } else { @@ -56,18 +56,18 @@ namespace scenes { if (remaining_ms_ <= 0) { Audio::get()->fadeOutMusic(250); fade_.startFadeOut(); - phase_ = Phase::FadingOut; + phase_ = Phase::FADING_OUT; } break; - case Phase::FadingOut: + case Phase::FADING_OUT: fade_.tick(delta_ms); if (fade_.done()) { - phase_ = Phase::Done; + phase_ = Phase::DONE; } break; - case Phase::Done: + case Phase::DONE: break; } } diff --git a/source/game/scenes/banner_scene.hpp b/source/game/scenes/banner_scene.hpp index 8940e3b..8a83da3 100644 --- a/source/game/scenes/banner_scene.hpp +++ b/source/game/scenes/banner_scene.hpp @@ -24,18 +24,18 @@ namespace scenes { public: void onEnter() 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; } private: - enum class Phase : std::uint8_t { FadingIn, - Showing, - FadingOut, - Done }; + enum class Phase : std::uint8_t { FADING_IN, + SHOWING, + FADING_OUT, + DONE }; SurfaceHandle gfx_; PaletteFade fade_; - Phase phase_{Phase::FadingIn}; + Phase phase_{Phase::FADING_IN}; int remaining_ms_{5000}; }; diff --git a/source/game/scenes/credits_scene.cpp b/source/game/scenes/credits_scene.cpp index 35ba37c..5d4d70f 100644 --- a/source/game/scenes/credits_scene.cpp +++ b/source/game/scenes/credits_scene.cpp @@ -56,7 +56,7 @@ namespace scenes { Jd8::setScreenPalette(pal); // `pal` passa a ser propietat de main_palette — no l'alliberem. - phase_ = Phase::Rolling; + phase_ = Phase::ROLLING; contador_ = 1; contador_acc_ms_ = 0; } @@ -109,7 +109,7 @@ namespace scenes { void CreditsScene::tick(int delta_ms) { switch (phase_) { - case Phase::Rolling: { + case Phase::ROLLING: { // Avancem el contador en passos discrets de 20 ms, igual // que feia Jg::shouldUpdate(20) al vell doCredits. contador_acc_ms_ += delta_ms; @@ -124,20 +124,20 @@ namespace scenes { if (Ji::anyKey() || contador_ >= CONTADOR_MAX) { writeTrickIni(); fade_.startFadeOut(); - phase_ = Phase::FadingOut; + phase_ = Phase::FADING_OUT; } break; } - case Phase::FadingOut: + case Phase::FADING_OUT: fade_.tick(delta_ms); if (fade_.done()) { info::ctx.num_piramide = 255; - phase_ = Phase::Done; + phase_ = Phase::DONE; } break; - case Phase::Done: + case Phase::DONE: break; } } diff --git a/source/game/scenes/credits_scene.hpp b/source/game/scenes/credits_scene.hpp index 2d4ef82..f2978b0 100644 --- a/source/game/scenes/credits_scene.hpp +++ b/source/game/scenes/credits_scene.hpp @@ -30,12 +30,12 @@ namespace scenes { void onEnter() 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: - enum class Phase : std::uint8_t { Rolling, - FadingOut, - Done }; + enum class Phase : std::uint8_t { ROLLING, + FADING_OUT, + DONE }; void render(); static void writeTrickIni(); @@ -45,7 +45,7 @@ namespace scenes { PaletteFade fade_; 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_acc_ms_{0}; }; diff --git a/source/game/scenes/intro_new_logo_scene.cpp b/source/game/scenes/intro_new_logo_scene.cpp index 47d9807..1ca19f3 100644 --- a/source/game/scenes/intro_new_logo_scene.cpp +++ b/source/game/scenes/intro_new_logo_scene.cpp @@ -60,7 +60,7 @@ namespace scenes { Jd8::clearScreen(0); - phase_ = Phase::Initial; + phase_ = Phase::INITIAL; phase_acc_ms_ = 0; reveal_letter_ = 0; reveal_cursor_visible_ = true; @@ -69,11 +69,11 @@ namespace scenes { void IntroNewLogoScene::render() { switch (phase_) { - case Phase::Initial: + case Phase::INITIAL: Jd8::clearScreen(0); break; - case Phase::Revealing: { + case Phase::REVEALING: { Jd8::clearScreen(0); 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_) { @@ -82,22 +82,22 @@ namespace scenes { break; } - case Phase::FullLogoFlash: + case Phase::FULL_LOGO_FLASH: 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(CURSOR_X[8], CURSOR_Y, cursor_surf_, 0, 0, CURSOR_W, CURSOR_H); break; - case Phase::PaletteCycle: - case Phase::FinalWait: + case Phase::PALETTE_CYCLE: + case Phase::FINAL_WAIT: // Logo complet sense cursor — els pixels del cursor // ciclarien de color durant el cicle de paleta. Jd8::clearScreen(0); Jd8::blit(LOGO_DST_X, LOGO_DST_Y, gfx_, LOGO_SRC_X, LOGO_SRC_Y, LETTER_WIDTHS[8], LOGO_HEIGHT); break; - case Phase::Sprites: - case Phase::Done: + case Phase::SPRITES: + case Phase::DONE: break; } } @@ -134,26 +134,26 @@ namespace scenes { void IntroNewLogoScene::tick(int delta_ms) { // 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 // 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; - phase_ = Phase::Done; + phase_ = Phase::DONE; return; } switch (phase_) { - case Phase::Initial: + case Phase::INITIAL: phase_acc_ms_ += delta_ms; render(); if (phase_acc_ms_ >= INITIAL_MS) { - phase_ = Phase::Revealing; + phase_ = Phase::REVEALING; phase_acc_ms_ = 0; } break; - case Phase::Revealing: + case Phase::REVEALING: phase_acc_ms_ += delta_ms; render(); if (phase_acc_ms_ >= REVEAL_FRAME_MS) { @@ -164,23 +164,23 @@ namespace scenes { if (reveal_cursor_visible_) { ++reveal_letter_; if (reveal_letter_ >= 9) { - phase_ = Phase::FullLogoFlash; + phase_ = Phase::FULL_LOGO_FLASH; reveal_letter_ = 8; } } } break; - case Phase::FullLogoFlash: + case Phase::FULL_LOGO_FLASH: phase_acc_ms_ += delta_ms; render(); if (phase_acc_ms_ >= FULL_LOGO_MS) { - phase_ = Phase::PaletteCycle; + phase_ = Phase::PALETTE_CYCLE; phase_acc_ms_ = 0; } break; - case Phase::PaletteCycle: + case Phase::PALETTE_CYCLE: phase_acc_ms_ += delta_ms; // Avancem passos de paleta cada 20 ms. Si el delta és gran, // consumim múltiples passos en la mateixa crida. @@ -192,20 +192,20 @@ namespace scenes { } render(); if (palette_step_ >= PALETTE_CYCLE_STEPS) { - phase_ = Phase::FinalWait; + phase_ = Phase::FINAL_WAIT; phase_acc_ms_ = 0; } break; - case Phase::FinalWait: + case Phase::FINAL_WAIT: phase_acc_ms_ += delta_ms; render(); if (phase_acc_ms_ >= FINAL_WAIT_MS) { - phase_ = Phase::Sprites; + phase_ = Phase::SPRITES; } break; - case Phase::Sprites: + case Phase::SPRITES: // Sub-escena construïda al primer tick. Transferim el gfx_ // per move — la sub-escena se n'ocupa fins que es destruix. // Cada tick successiu delega l'animació dels sprites. @@ -219,11 +219,11 @@ namespace scenes { // per passar al menú. Sense açò el while del fiber // tornaria a crear IntroNewLogoScene infinitament. info::ctx.num_piramide = 0; - phase_ = Phase::Done; + phase_ = Phase::DONE; } break; - case Phase::Done: + case Phase::DONE: break; } } diff --git a/source/game/scenes/intro_new_logo_scene.hpp b/source/game/scenes/intro_new_logo_scene.hpp index e572025..40062c4 100644 --- a/source/game/scenes/intro_new_logo_scene.hpp +++ b/source/game/scenes/intro_new_logo_scene.hpp @@ -37,17 +37,17 @@ namespace scenes { void onEnter() 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: enum class Phase : std::uint8_t { - Initial, // pantalla negra 1000 ms - Revealing, // 9 × 2 frames × 150 ms cada un - FullLogoFlash, // logo complet + cursor, 200 ms - PaletteCycle, // 256 passos × 20 ms modificant paleta - FinalWait, // 20 ms final - Sprites, // tick delegat a IntroSpritesScene fins que acaba - Done, + INITIAL, // pantalla negra 1000 ms + REVEALING, // 9 × 2 frames × 150 ms cada un + FULL_LOGO_FLASH, // logo complet + cursor, 200 ms + PALETTE_CYCLE, // 256 passos × 20 ms modificant paleta + FINAL_WAIT, // 20 ms final + SPRITES, // tick delegat a IntroSpritesScene fins que acaba + DONE, }; void render(); @@ -58,7 +58,7 @@ namespace scenes { Jd8::Palette pal_{nullptr}; // propietat transferida a main_palette via SetScreenPalette std::unique_ptr sprites_scene_; - Phase phase_{Phase::Initial}; + Phase phase_{Phase::INITIAL}; int phase_acc_ms_{0}; int reveal_letter_{0}; bool reveal_cursor_visible_{true}; diff --git a/source/game/scenes/intro_scene.cpp b/source/game/scenes/intro_scene.cpp index 978d3ff..51426a3 100644 --- a/source/game/scenes/intro_scene.cpp +++ b/source/game/scenes/intro_scene.cpp @@ -73,7 +73,7 @@ namespace scenes { Jd8::clearScreen(0); - phase_ = Phase::InitialWait; + phase_ = Phase::INITIAL_WAIT; phase_acc_ms_ = 0; reveal_index_ = 0; palette_step_ = 0; @@ -81,11 +81,11 @@ namespace scenes { void IntroScene::render() { switch (phase_) { - case Phase::InitialWait: + case Phase::INITIAL_WAIT: Jd8::clearScreen(0); break; - case Phase::Reveal: { + case Phase::REVEAL: { const RevealStep& s = REVEAL_STEPS[reveal_index_]; if (s.clear) { Jd8::clearScreen(0); @@ -101,8 +101,8 @@ namespace scenes { break; } - case Phase::PaletteCycle: - case Phase::FinalWait: + case Phase::PALETTE_CYCLE: + case Phase::FINAL_WAIT: // Wordmark complet fix mentre cicla la paleta — l'últim // pas del revelat (PAS 15) deixa la pantalla en aquest mateix // estat, i el vell doIntro no redibuixava durant el cicle. @@ -110,8 +110,8 @@ namespace scenes { drawWordmark(gfx_); break; - case Phase::Sprites: - case Phase::Done: + case Phase::SPRITES: + case Phase::DONE: break; } } @@ -149,39 +149,39 @@ namespace scenes { void IntroScene::tick(int delta_ms) { // 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 // 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; - phase_ = Phase::Done; + phase_ = Phase::DONE; return; } switch (phase_) { - case Phase::InitialWait: + case Phase::INITIAL_WAIT: phase_acc_ms_ += delta_ms; render(); if (phase_acc_ms_ >= INITIAL_MS) { - phase_ = Phase::Reveal; + phase_ = Phase::REVEAL; phase_acc_ms_ = 0; reveal_index_ = 0; } break; - case Phase::Reveal: + case Phase::REVEAL: phase_acc_ms_ += delta_ms; render(); if (phase_acc_ms_ >= REVEAL_STEPS[reveal_index_].duration_ms) { phase_acc_ms_ = 0; ++reveal_index_; if (reveal_index_ >= REVEAL_COUNT) { - phase_ = Phase::PaletteCycle; + phase_ = Phase::PALETTE_CYCLE; } } break; - case Phase::PaletteCycle: + case Phase::PALETTE_CYCLE: phase_acc_ms_ += delta_ms; // Avancem tants passos com permet el delta, per evitar // saltar-ne si el frame ha vingut lent. @@ -193,20 +193,20 @@ namespace scenes { } render(); if (palette_step_ >= PALETTE_CYCLE_STEPS) { - phase_ = Phase::FinalWait; + phase_ = Phase::FINAL_WAIT; phase_acc_ms_ = 0; } break; - case Phase::FinalWait: + case Phase::FINAL_WAIT: phase_acc_ms_ += delta_ms; render(); if (phase_acc_ms_ >= FINAL_WAIT_MS) { - phase_ = Phase::Sprites; + phase_ = Phase::SPRITES; } break; - case Phase::Sprites: + case Phase::SPRITES: // Sub-escena construïda al vol al primer tick d'aquesta fase. // Transferim el gfx_ per move — la sub-escena se n'ocupa // 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 // infinitament amb num_piramide encara a 255. info::ctx.num_piramide = 0; - phase_ = Phase::Done; + phase_ = Phase::DONE; } break; - case Phase::Done: + case Phase::DONE: break; } } diff --git a/source/game/scenes/intro_scene.hpp b/source/game/scenes/intro_scene.hpp index a8813a6..e24c344 100644 --- a/source/game/scenes/intro_scene.hpp +++ b/source/game/scenes/intro_scene.hpp @@ -38,16 +38,16 @@ namespace scenes { void onEnter() 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: enum class Phase : std::uint8_t { - InitialWait, // 1000 ms pantalla negra - Reveal, // 15 passos del wordmark - PaletteCycle, // 256 × 20 ms mutant pal[16..31] - FinalWait, // 200 ms abans de la sub-escena de sprites - Sprites, // tick delegat a IntroSpritesScene fins que acaba - Done, + INITIAL_WAIT, // 1000 ms pantalla negra + REVEAL, // 15 passos del wordmark + PALETTE_CYCLE, // 256 × 20 ms mutant pal[16..31] + FINAL_WAIT, // 200 ms abans de la sub-escena de sprites + SPRITES, // tick delegat a IntroSpritesScene fins que acaba + DONE, }; void render(); @@ -57,7 +57,7 @@ namespace scenes { Jd8::Palette pal_{nullptr}; // propietat transferida a main_palette via SetScreenPalette std::unique_ptr sprites_scene_; - Phase phase_{Phase::InitialWait}; + Phase phase_{Phase::INITIAL_WAIT}; int phase_acc_ms_{0}; int reveal_index_{0}; int palette_step_{0}; diff --git a/source/game/scenes/menu_scene.cpp b/source/game/scenes/menu_scene.cpp index 676be1a..09d0030 100644 --- a/source/game/scenes/menu_scene.cpp +++ b/source/game/scenes/menu_scene.cpp @@ -13,7 +13,7 @@ namespace scenes { gfx_ = SurfaceHandle("gfx/menu2.gif"); // 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::blitCK(100, 25, gfx_, 0, 74, 124, 68, 255); // logo Jd8::blitCK(130, 100, gfx_, 0, 0, 80, 74, 255); // camell (frame 0) @@ -23,7 +23,7 @@ namespace scenes { fade_.startFadeTo(pal); delete[] pal; - phase_ = Phase::FadingIn; + phase_ = Phase::FADING_IN; } void MenuScene::render() { @@ -60,14 +60,14 @@ namespace scenes { void MenuScene::tick(int delta_ms) { switch (phase_) { - case Phase::FadingIn: + case Phase::FADING_IN: fade_.tick(delta_ms); if (fade_.done()) { - phase_ = Phase::Showing; + phase_ = Phase::SHOWING; } break; - case Phase::Showing: { + case Phase::SHOWING: { // Palmeres: 1 pixel cada 80 ms (= cada 4 ticks × 20 ms originals) palmeres_acc_ms_ += delta_ms; while (palmeres_acc_ms_ >= 80) { @@ -103,19 +103,19 @@ namespace scenes { Ji::disableKeyboard(60); info::ctx.num_piramide = 1; fade_.startFadeOut(); - phase_ = Phase::FadingOut; + phase_ = Phase::FADING_OUT; } break; } - case Phase::FadingOut: + case Phase::FADING_OUT: fade_.tick(delta_ms); if (fade_.done()) { - phase_ = Phase::Done; + phase_ = Phase::DONE; } break; - case Phase::Done: + case Phase::DONE: break; } } diff --git a/source/game/scenes/menu_scene.hpp b/source/game/scenes/menu_scene.hpp index b3699da..e992907 100644 --- a/source/game/scenes/menu_scene.hpp +++ b/source/game/scenes/menu_scene.hpp @@ -28,13 +28,13 @@ namespace scenes { public: void onEnter() 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: - enum class Phase : std::uint8_t { FadingIn, - Showing, - FadingOut, - Done }; + enum class Phase : std::uint8_t { FADING_IN, + SHOWING, + FADING_OUT, + DONE }; void render(); @@ -43,7 +43,7 @@ namespace scenes { PaletteFade fade_; FrameAnimator camello_{4, 160, true}; - Phase phase_{Phase::FadingIn}; + Phase phase_{Phase::FADING_IN}; // Scrollers horizontals. Mouen 1 pixel per pas. int palmeres_{0}; diff --git a/source/game/scenes/mort_scene.cpp b/source/game/scenes/mort_scene.cpp index 9a323c4..279853a 100644 --- a/source/game/scenes/mort_scene.cpp +++ b/source/game/scenes/mort_scene.cpp @@ -24,20 +24,20 @@ namespace scenes { fade_.startFadeTo(pal); delete[] pal; - phase_ = Phase::FadingIn; + phase_ = Phase::FADING_IN; remaining_ms_ = 10000; } void MortScene::tick(int delta_ms) { switch (phase_) { - case Phase::FadingIn: + case Phase::FADING_IN: fade_.tick(delta_ms); if (fade_.done()) { - phase_ = Phase::Showing; + phase_ = Phase::SHOWING; } break; - case Phase::Showing: + case Phase::SHOWING: if (Ji::anyKey()) { remaining_ms_ = 0; } else { @@ -49,18 +49,18 @@ namespace scenes { playMusic("music/menu.ogg"); info::ctx.num_piramide = 0; fade_.startFadeOut(); - phase_ = Phase::FadingOut; + phase_ = Phase::FADING_OUT; } break; - case Phase::FadingOut: + case Phase::FADING_OUT: fade_.tick(delta_ms); if (fade_.done()) { - phase_ = Phase::Done; + phase_ = Phase::DONE; } break; - case Phase::Done: + case Phase::DONE: break; } } diff --git a/source/game/scenes/mort_scene.hpp b/source/game/scenes/mort_scene.hpp index b8bdfc4..fcc6be8 100644 --- a/source/game/scenes/mort_scene.hpp +++ b/source/game/scenes/mort_scene.hpp @@ -20,17 +20,17 @@ namespace scenes { public: void onEnter() 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: - enum class Phase : std::uint8_t { FadingIn, - Showing, - FadingOut, - Done }; + enum class Phase : std::uint8_t { FADING_IN, + SHOWING, + FADING_OUT, + DONE }; SurfaceHandle gfx_; PaletteFade fade_; - Phase phase_{Phase::FadingIn}; + Phase phase_{Phase::FADING_IN}; int remaining_ms_{10000}; // 1000 ticks × 10 ms/tick del doMort original };