fix: tidy namespace Scenes::/Info:: PascalCase i locals UPPER_CASE
This commit is contained in:
1 parent
ae89b252e2
commit
ae359f4a1e
55 files changed
+303
-303
No files matched your search
@@ -8,7 +8,7 @@
|
||||
#include "game/info.hpp"
|
||||
#include "game/scenes/scene_utils.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
void BannerScene::onEnter() {
|
||||
playMusic("music/banner.ogg");
|
||||
@@ -21,12 +21,12 @@ namespace scenes {
|
||||
Jd8::blit(39, 150, gfx_, 39, 175, 248, 20);
|
||||
|
||||
// Número de piràmide: les 4 variants del vell `doBanner` es reduïxen
|
||||
// a coordenades (sx,sy) calculades a partir de l'índex 0..3.
|
||||
const int idx = info::ctx.num_piramide - 2; // 2..5 → 0..3
|
||||
if (idx >= 0 && idx <= 3) {
|
||||
const int sx = (idx % 2) * 160;
|
||||
const int sy = (idx / 2) * 75;
|
||||
Jd8::blit(82, 60, gfx_, sx, sy, 160, 75);
|
||||
// a coordenades (SX,SY) calculades a partir de l'índex 0..3.
|
||||
const int IDX = Info::ctx.num_piramide - 2; // 2..5 → 0..3
|
||||
if (IDX >= 0 && IDX <= 3) {
|
||||
const int SX = (IDX % 2) * 160;
|
||||
const int SY = (IDX / 2) * 75;
|
||||
Jd8::blit(82, 60, gfx_, SX, SY, 160, 75);
|
||||
}
|
||||
|
||||
// PaletteFade copia internament amb memcpy; alliberem la paleta temporal.
|
||||
@@ -72,4 +72,4 @@ namespace scenes {
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -6,13 +6,13 @@
|
||||
#include "game/scenes/scene.hpp"
|
||||
#include "game/scenes/surface_handle.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Banner pre-piràmide ("PIRÀMIDE X"). Reemplaça `ModuleSequence::doBanner()`.
|
||||
//
|
||||
// Flux:
|
||||
// 1. Arranca música "music/banner.ogg" i carrega gfx/ffase.gif.
|
||||
// 2. Pinta títol, subtítol i número de piràmide segons info::ctx.num_piramide.
|
||||
// 2. Pinta títol, subtítol i número de piràmide segons Info::ctx.num_piramide.
|
||||
// 3. Fade-in de paleta.
|
||||
// 4. Mostra ~5s o fins que es polse una tecla.
|
||||
// 5. Ja::fadeOutMusic(250) + fade-out de paleta.
|
||||
@@ -39,4 +39,4 @@ namespace scenes {
|
||||
int remaining_ms_{5000};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "core/resources/resource_cache.hpp"
|
||||
#include "game/options.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
namespace {
|
||||
constexpr int SCREEN_W = 320;
|
||||
@@ -42,8 +42,8 @@ namespace scenes {
|
||||
return;
|
||||
}
|
||||
|
||||
const float pct = Resource::Cache::get()->getProgress();
|
||||
const int filled = static_cast<int>(static_cast<float>(BAR_W) * pct);
|
||||
const float PCT = Resource::Cache::get()->getProgress();
|
||||
const int FILLED = static_cast<int>(static_cast<float>(BAR_W) * PCT);
|
||||
|
||||
// Vora de la barra (línia 1 píxel a dalt i a baix).
|
||||
Jd8::fillRect(BAR_X - 1, BAR_Y - 1, BAR_W + 2, 1, BAR_COLOR);
|
||||
@@ -52,9 +52,9 @@ namespace scenes {
|
||||
Jd8::fillRect(BAR_X + BAR_W, BAR_Y, 1, BAR_H, BAR_COLOR);
|
||||
|
||||
// Ompliment proporcional al progrés.
|
||||
if (filled > 0) {
|
||||
Jd8::fillRect(BAR_X, BAR_Y, filled, BAR_H, BAR_COLOR);
|
||||
if (FILLED > 0) {
|
||||
Jd8::fillRect(BAR_X, BAR_Y, FILLED, BAR_H, BAR_COLOR);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include "game/scenes/scene.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Escena de boot que conduix la càrrega incremental del Resource::Cache.
|
||||
// tick() crida loadStep amb un pressupost de ~8ms i pinta una barra
|
||||
@@ -23,4 +23,4 @@ namespace scenes {
|
||||
bool done_{false};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -34,7 +34,7 @@ namespace {
|
||||
|
||||
} // namespace
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// No toquem la paleta activa: SetScreenPalette n'ha pres ownership.
|
||||
CreditsScene::~CreditsScene() = default;
|
||||
@@ -80,7 +80,7 @@ namespace scenes {
|
||||
|
||||
// Fons: 4 capes parallax + cotxe només si l'usuari ha aconseguit
|
||||
// tots els diamants (final "bo"). Altrament fons estàtic.
|
||||
if (info::ctx.diamants == 16) {
|
||||
if (Info::ctx.diamants == 16) {
|
||||
Jd8::blitCKScroll(50, vaddr3_, ((contador_ >> 3) % 320) + 1, 0, 50, 255);
|
||||
Jd8::blitCKScroll(50, vaddr3_, ((contador_ >> 2) % 320) + 1, 50, 50, 255);
|
||||
Jd8::blitCKScroll(50, vaddr3_, ((contador_ >> 1) % 320) + 1, 100, 50, 255);
|
||||
@@ -104,7 +104,7 @@ namespace scenes {
|
||||
std::fwrite("1", 1, 1, ini);
|
||||
std::fclose(ini);
|
||||
}
|
||||
info::ctx.nou_personatge = true;
|
||||
Info::ctx.nou_personatge = true;
|
||||
}
|
||||
|
||||
void CreditsScene::tick(int delta_ms) {
|
||||
@@ -132,7 +132,7 @@ namespace scenes {
|
||||
case Phase::FADING_OUT:
|
||||
fade_.tick(delta_ms);
|
||||
if (fade_.done()) {
|
||||
info::ctx.num_piramide = 255;
|
||||
Info::ctx.num_piramide = 255;
|
||||
phase_ = Phase::DONE;
|
||||
}
|
||||
break;
|
||||
@@ -142,4 +142,4 @@ namespace scenes {
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "game/scenes/scene.hpp"
|
||||
#include "game/scenes/surface_handle.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Crèdits finals del joc. Reemplaça `ModuleSequence::doCredits()`.
|
||||
//
|
||||
@@ -16,10 +16,10 @@ namespace scenes {
|
||||
// 1. Carrega gfx/final.gif (sprites de crèdits) i gfx/finals.gif (fons).
|
||||
// 2. Mostra els crèdits amb scroll vertical de 2 columnes durant
|
||||
// ~62 segons (contador 0..3100 × 20 ms).
|
||||
// 3. Si `info::ctx.diamants == 16`, pinta addicionalment un parallax
|
||||
// 3. Si `Info::ctx.diamants == 16`, pinta addicionalment un parallax
|
||||
// de 4 capes amb cotxe animat (8 frames). Si no, 2 blits fixos.
|
||||
// 4. Al acabar (per tecla o per contador), crea el fitxer `trick.ini`
|
||||
// i activa `info::ctx.nou_personatge`.
|
||||
// i activa `Info::ctx.nou_personatge`.
|
||||
// 5. Fade-out de paleta. Torna a la intro (num_piramide = 255).
|
||||
//
|
||||
// Registrada al SceneRegistry amb state_key = 8.
|
||||
@@ -50,4 +50,4 @@ namespace scenes {
|
||||
int contador_acc_ms_{0};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
FrameAnimator::FrameAnimator(int num_frames, int frame_ms, bool loop)
|
||||
: num_frames_(std::max(1, num_frames)),
|
||||
@@ -35,4 +35,4 @@ namespace scenes {
|
||||
finished_ = false;
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Cicla per un conjunt de frames numerats (0..num_frames-1) avançant un
|
||||
// frame cada `frame_ms` mil·lisegons. No carrega ni dibuixa cap sprite —
|
||||
@@ -31,4 +31,4 @@ namespace scenes {
|
||||
bool finished_{false};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -37,7 +37,7 @@ namespace {
|
||||
|
||||
} // namespace
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
IntroNewLogoScene::IntroNewLogoScene() = default;
|
||||
|
||||
@@ -138,7 +138,7 @@ namespace scenes {
|
||||
// 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()) {
|
||||
info::ctx.num_piramide = 0;
|
||||
Info::ctx.num_piramide = 0;
|
||||
phase_ = Phase::DONE;
|
||||
return;
|
||||
}
|
||||
@@ -218,7 +218,7 @@ namespace scenes {
|
||||
// El vell `Go()` post-switch feia `num_piramide = 0`
|
||||
// per passar al menú. Sense açò el while del fiber
|
||||
// tornaria a crear IntroNewLogoScene infinitament.
|
||||
info::ctx.num_piramide = 0;
|
||||
Info::ctx.num_piramide = 0;
|
||||
phase_ = Phase::DONE;
|
||||
}
|
||||
break;
|
||||
@@ -228,4 +228,4 @@ namespace scenes {
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "game/scenes/scene.hpp"
|
||||
#include "game/scenes/surface_handle.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Intro "moderna" del logo Jailgames amb revelat lletra-a-lletra +
|
||||
// ciclo de paleta final. Reemplaça `ModuleSequence::doIntroNewLogo()`.
|
||||
@@ -65,4 +65,4 @@ namespace scenes {
|
||||
int palette_step_{0};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -55,7 +55,7 @@ namespace {
|
||||
|
||||
} // namespace
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
IntroScene::IntroScene() = default;
|
||||
|
||||
@@ -153,7 +153,7 @@ namespace scenes {
|
||||
// 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()) {
|
||||
info::ctx.num_piramide = 0;
|
||||
Info::ctx.num_piramide = 0;
|
||||
phase_ = Phase::DONE;
|
||||
return;
|
||||
}
|
||||
@@ -220,7 +220,7 @@ namespace scenes {
|
||||
// Equivalent al vell `Go()` post-switch: passem al menú.
|
||||
// Sense açò el while del fiber tornaria a crear IntroScene
|
||||
// infinitament amb num_piramide encara a 255.
|
||||
info::ctx.num_piramide = 0;
|
||||
Info::ctx.num_piramide = 0;
|
||||
phase_ = Phase::DONE;
|
||||
}
|
||||
break;
|
||||
@@ -230,4 +230,4 @@ namespace scenes {
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "game/scenes/scene.hpp"
|
||||
#include "game/scenes/surface_handle.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Intro "legacy" del wordmark JAILGAMES lletra a lletra + cicle de paleta.
|
||||
// Reemplaça `ModuleSequence::doIntro()`. S'activa quan
|
||||
@@ -63,4 +63,4 @@ namespace scenes {
|
||||
int palette_step_{0};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -314,7 +314,7 @@ namespace {
|
||||
|
||||
} // namespace
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
IntroSpritesScene::IntroSpritesScene(SurfaceHandle&& gfx)
|
||||
: gfx_(std::move(gfx)) {}
|
||||
@@ -367,4 +367,4 @@ namespace scenes {
|
||||
phases[phase_].render(gfx_.get(), phaseCurrentI(phases[phase_], phase_step_));
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "game/scenes/scene.hpp"
|
||||
#include "game/scenes/surface_handle.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Sub-escena de sprites de la intro (prota + momia + mapa + etc).
|
||||
// Reemplaça `ModuleSequence::doIntroSprites()`. No es registra al
|
||||
@@ -39,4 +39,4 @@ namespace scenes {
|
||||
bool done_{false};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "core/jail/jinput.hpp"
|
||||
#include "game/info.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
void MenuScene::onEnter() {
|
||||
fondo_ = SurfaceHandle("gfx/menu.gif");
|
||||
@@ -49,10 +49,10 @@ namespace scenes {
|
||||
// "Polsa tecla" parpallejant. Al vell `contador % 100 > 30` amb
|
||||
// updateTicks=20 ms, el cicle són 2000 ms amb un llindar de 600 ms:
|
||||
// amagat els primers 600 ms, visible els següents 1400 ms.
|
||||
const bool blink_on = (blink_ms_ % 2000) > 600;
|
||||
if (blink_on) {
|
||||
const bool BLINK_ON = (blink_ms_ % 2000) > 600;
|
||||
if (BLINK_ON) {
|
||||
Jd8::blitCK(98, 130, gfx_, 161, 92, 127, 9, 255);
|
||||
if (info::ctx.nou_personatge) {
|
||||
if (Info::ctx.nou_personatge) {
|
||||
Jd8::blitCK(68, 141, gfx_, 128, 105, 189, 9, 255);
|
||||
}
|
||||
}
|
||||
@@ -96,12 +96,12 @@ namespace scenes {
|
||||
render();
|
||||
|
||||
// Qualsevol tecla tanca el menú. Llegim 'P' explícitament abans
|
||||
// de reiniciar el flag de input perquè `info::ctx.pepe_activat`
|
||||
// de reiniciar el flag de input perquè `Info::ctx.pepe_activat`
|
||||
// reflecteixca si l'usuari estava polsant P al moment d'eixir.
|
||||
if (Ji::anyKey() || Ji::keyPressed(SDL_SCANCODE_P)) {
|
||||
info::ctx.pepe_activat = Ji::keyPressed(SDL_SCANCODE_P);
|
||||
Info::ctx.pepe_activat = Ji::keyPressed(SDL_SCANCODE_P);
|
||||
Ji::disableKeyboard(60);
|
||||
info::ctx.num_piramide = 1;
|
||||
Info::ctx.num_piramide = 1;
|
||||
fade_.startFadeOut();
|
||||
phase_ = Phase::FADING_OUT;
|
||||
}
|
||||
@@ -120,4 +120,4 @@ namespace scenes {
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "game/scenes/scene.hpp"
|
||||
#include "game/scenes/surface_handle.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Menú del títol. Reemplaça `ModuleSequence::doMenu()`.
|
||||
//
|
||||
@@ -20,7 +20,7 @@ namespace scenes {
|
||||
// i el text "polsa tecla" parpallejant cada 2 s (visible 1.4 s,
|
||||
// amagat 0.6 s, igual que el `contador % 100 > 30` original).
|
||||
// 4. Quan l'usuari polsa qualsevol tecla — o 'P' per a activar Pepe —
|
||||
// llegim `info::ctx.pepe_activat`, disparem fade-out i marquem
|
||||
// llegim `Info::ctx.pepe_activat`, disparem fade-out i marquem
|
||||
// num_piramide=1 (vas a doSlides).
|
||||
//
|
||||
// Registrat al SceneRegistry amb state_key = 0.
|
||||
@@ -55,4 +55,4 @@ namespace scenes {
|
||||
int blink_ms_{0};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -7,12 +7,12 @@
|
||||
#include "game/info.hpp"
|
||||
#include "game/scenes/scene_utils.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
void MortScene::onEnter() {
|
||||
playMusic("music/mort.ogg");
|
||||
Ji::disableKeyboard(60);
|
||||
info::ctx.vida = 5;
|
||||
Info::ctx.vida = 5;
|
||||
|
||||
gfx_ = SurfaceHandle("gfx/gameover.gif");
|
||||
Jd8::clearScreen(0);
|
||||
@@ -47,7 +47,7 @@ namespace scenes {
|
||||
// Arrenca música del següent mòdul abans del fade out,
|
||||
// igual que la versió vella feia al final de doMort().
|
||||
playMusic("music/menu.ogg");
|
||||
info::ctx.num_piramide = 0;
|
||||
Info::ctx.num_piramide = 0;
|
||||
fade_.startFadeOut();
|
||||
phase_ = Phase::FADING_OUT;
|
||||
}
|
||||
@@ -65,4 +65,4 @@ namespace scenes {
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "game/scenes/scene.hpp"
|
||||
#include "game/scenes/surface_handle.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Pantalla de "game over". Reemplaça `ModuleSequence::doMort()`.
|
||||
//
|
||||
@@ -34,4 +34,4 @@ namespace scenes {
|
||||
int remaining_ms_{10000}; // 1000 ticks × 10 ms/tick del doMort original
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "game/scenes/palette_fade.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
void PaletteFade::startFadeOut() {
|
||||
Jd8::fadeStartOut();
|
||||
@@ -27,4 +27,4 @@ namespace scenes {
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include "core/jail/jdraw8.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Embolcall fi damunt de la màquina d'estats de fade de jdraw8
|
||||
// (`JD8_FadeStart*` / `Jd8::fadeTickStep`). Exposa una API time-based
|
||||
@@ -27,4 +27,4 @@ namespace scenes {
|
||||
bool active_{false};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -14,7 +14,7 @@
|
||||
// - `onEnter()` es crida una vegada just abans del primer tick. És el
|
||||
// moment bo per a arrancar música, disparar un fade-in, etc.
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
class Scene {
|
||||
public:
|
||||
@@ -28,10 +28,10 @@ namespace scenes {
|
||||
|
||||
// Valor retornat al caller quan l'escena acaba — equivalent al int
|
||||
// que retornaven les velles funcions `Go()` de ModuleSequence:
|
||||
// 1 = continuar amb la següent escena segons info::ctx
|
||||
// 1 = continuar amb la següent escena segons Info::ctx
|
||||
// 0 = entrar al gameplay (ModuleGame)
|
||||
// -1 = eixir del joc
|
||||
[[nodiscard]] virtual auto nextState() const -> int { return 1; }
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "game/scenes/scene_registry.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
auto SceneRegistry::instance() -> SceneRegistry& {
|
||||
static SceneRegistry inst;
|
||||
@@ -12,11 +12,11 @@ namespace scenes {
|
||||
}
|
||||
|
||||
auto SceneRegistry::tryCreate(int state_key) const -> std::unique_ptr<Scene> {
|
||||
const auto it = factories_.find(state_key);
|
||||
if (it == factories_.end()) {
|
||||
const auto IT = factories_.find(state_key);
|
||||
if (IT == factories_.end()) {
|
||||
return nullptr;
|
||||
}
|
||||
return it->second();
|
||||
return IT->second();
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -6,9 +6,9 @@
|
||||
|
||||
#include "game/scenes/scene.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Mapa de `state_key` (actualment = `info::ctx.num_piramide`) a factory
|
||||
// Mapa de `state_key` (actualment = `Info::ctx.num_piramide`) a factory
|
||||
// d'escena. Permet que el dispatch de `gameFiberEntry` provi primer una
|
||||
// Scene nova i caiga al vell `ModuleSequence::Go()` si encara no està
|
||||
// migrada.
|
||||
@@ -34,4 +34,4 @@ namespace scenes {
|
||||
std::unordered_map<int, Factory> factories_;
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
#include "core/audio/audio.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
namespace {
|
||||
auto basename(const char* path) -> std::string {
|
||||
@@ -21,4 +21,4 @@ namespace scenes {
|
||||
Audio::get()->playMusic(basename(filename), loop);
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -3,11 +3,11 @@
|
||||
// Helpers compartits per les escenes. Aquest header és petit i creix
|
||||
// quan una abstracció comú apareix en dos o més escenes.
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Carrega un OGG de `data/` i arranca'l com a música de fons. Substituïx
|
||||
// el `play_music()` repetit en tots els doX() del vell modulesequence.
|
||||
// `loop`: -1 = infinit (per defecte), 0 = una sola vegada, N = N+1 passades.
|
||||
void playMusic(const char* filename, int loop = -1);
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -14,9 +14,9 @@ namespace {
|
||||
|
||||
constexpr int TICK_MS = 20; // Jg::setUpdateTicks(20) del vell doSecreta
|
||||
|
||||
// Durades per fase, derivades dels contador-thresholds del vell:
|
||||
// tomba1 scroll: 127 passos (contador 1→128) × 20ms
|
||||
// tomba1 hold: 128 passos (contador 128→0) × 20ms
|
||||
// Durades per fase, derivades dels CONTADOR-thresholds del vell:
|
||||
// tomba1 scroll: 127 passos (CONTADOR 1→128) × 20ms
|
||||
// tomba1 hold: 128 passos (CONTADOR 128→0) × 20ms
|
||||
// tomba2 scroll: 94 passos × 20ms
|
||||
// tomba2 hold: 94 passos × 20ms
|
||||
// reveal horit: 80 passos × 20ms
|
||||
@@ -34,7 +34,7 @@ namespace {
|
||||
|
||||
} // namespace
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
SecretaScene::~SecretaScene() {
|
||||
delete[] pal_aux_;
|
||||
@@ -107,11 +107,11 @@ namespace scenes {
|
||||
|
||||
case Phase::TOMBA1_SCROLL_IN: {
|
||||
phase_acc_ms_ += delta_ms;
|
||||
const int contador = std::min(128, (phase_acc_ms_ / TICK_MS) + 1);
|
||||
const int CONTADOR = std::min(128, (phase_acc_ms_ / TICK_MS) + 1);
|
||||
// Dos blits solapats: el primer avança a velocitat completa,
|
||||
// el segon (contingut de la dreta del src) a meitat (contador>>1).
|
||||
Jd8::blit(70, 60, gfx_, 0, contador, 178, 70);
|
||||
Jd8::blitCK(70, 60, gfx_, 178, contador >> 1, 142, 70, 255);
|
||||
// el segon (contingut de la dreta del src) a meitat (CONTADOR>>1).
|
||||
Jd8::blit(70, 60, gfx_, 0, CONTADOR, 178, 70);
|
||||
Jd8::blitCK(70, 60, gfx_, 178, CONTADOR >> 1, 142, 70, 255);
|
||||
if (phase_acc_ms_ >= TOMBA1_SCROLL_MS) {
|
||||
phase_ = Phase::TOMBA1_HOLD;
|
||||
phase_acc_ms_ = 0;
|
||||
@@ -130,8 +130,8 @@ namespace scenes {
|
||||
|
||||
case Phase::TOMBA2_SCROLL_IN: {
|
||||
phase_acc_ms_ += delta_ms;
|
||||
const int contador = std::min(94, (phase_acc_ms_ / TICK_MS) + 1);
|
||||
Jd8::blit(55, 53, gfx_, 0, 158 - contador, 211, contador);
|
||||
const int CONTADOR = std::min(94, (phase_acc_ms_ / TICK_MS) + 1);
|
||||
Jd8::blit(55, 53, gfx_, 0, 158 - CONTADOR, 211, CONTADOR);
|
||||
if (phase_acc_ms_ >= TOMBA2_SCROLL_MS) {
|
||||
phase_ = Phase::TOMBA2_HOLD;
|
||||
phase_acc_ms_ = 0;
|
||||
@@ -150,10 +150,10 @@ namespace scenes {
|
||||
|
||||
case Phase::TOMBA2_REVEAL: {
|
||||
phase_acc_ms_ += delta_ms;
|
||||
const int contador = std::min(80, (phase_acc_ms_ / TICK_MS) + 1);
|
||||
const int CONTADOR = std::min(80, (phase_acc_ms_ / TICK_MS) + 1);
|
||||
// Revelat horitzontal simètric: l'amplada creix 2px per tick
|
||||
// i el src_x es desplaça a l'esquerra el mateix.
|
||||
Jd8::blit(80, 68, gfx_, 160 - (contador * 2), 0, contador * 2, 64);
|
||||
Jd8::blit(80, 68, gfx_, 160 - (CONTADOR * 2), 0, CONTADOR * 2, 64);
|
||||
if (phase_acc_ms_ >= TOMBA2_REVEAL_MS) {
|
||||
phase_ = Phase::TOMBA2_REVEAL_HOLD;
|
||||
phase_acc_ms_ = 0;
|
||||
@@ -171,11 +171,11 @@ namespace scenes {
|
||||
|
||||
case Phase::RED_PULSE: {
|
||||
phase_acc_ms_ += delta_ms;
|
||||
const int contador = std::min(51, phase_acc_ms_ / TICK_MS);
|
||||
const int CONTADOR = std::min(51, phase_acc_ms_ / TICK_MS);
|
||||
// Anima el canal R dels índexs 254 i 253 (aquest a la meitat
|
||||
// de brillantor). Va de (12,11,11) fins a (63,11,11) / (31,11,11).
|
||||
Jd8::setPaletteColor(254, contador + 12, 11, 11);
|
||||
Jd8::setPaletteColor(253, (contador + 12) >> 1, 11, 11);
|
||||
Jd8::setPaletteColor(254, CONTADOR + 12, 11, 11);
|
||||
Jd8::setPaletteColor(253, (CONTADOR + 12) >> 1, 11, 11);
|
||||
if (phase_acc_ms_ >= RED_PULSE_MS) {
|
||||
phase_ = Phase::RED_PULSE_HOLD;
|
||||
phase_acc_ms_ = 0;
|
||||
@@ -202,4 +202,4 @@ namespace scenes {
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "game/scenes/scene.hpp"
|
||||
#include "game/scenes/surface_handle.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Pre-Secreta. Reemplaça `ModuleSequence::doSecreta()`.
|
||||
//
|
||||
@@ -65,4 +65,4 @@ namespace scenes {
|
||||
bool skip_triggered_{false};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -20,15 +20,15 @@ namespace {
|
||||
constexpr int BG_COLOR_INDEX = 255;
|
||||
|
||||
// Desplaçament inicial del slide segons direcció del wipe.
|
||||
// Slide 1 i 3: "scroll in from right" (pos_x va de 320 → 0).
|
||||
// Slide 2: "wipe reverse" (pos_x va de -320 → 0), el mateix efecte
|
||||
// Slide 1 i 3: "scroll in from right" (POS_X va de 320 → 0).
|
||||
// Slide 2: "wipe reverse" (POS_X va de -320 → 0), el mateix efecte
|
||||
// estrany del doSlides vell on la imatge es desplaça des de l'esquerra
|
||||
// però revela primer el lateral dret del src.
|
||||
constexpr int SLIDE_START_X[3] = {320, -320, 320};
|
||||
|
||||
} // namespace
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
SlidesScene::~SlidesScene() {
|
||||
delete[] pal_aux_;
|
||||
@@ -36,13 +36,13 @@ namespace scenes {
|
||||
}
|
||||
|
||||
void SlidesScene::onEnter() {
|
||||
num_piramide_at_start_ = info::ctx.num_piramide;
|
||||
num_piramide_at_start_ = Info::ctx.num_piramide;
|
||||
|
||||
const char* arxiu = nullptr;
|
||||
if (num_piramide_at_start_ == 7) {
|
||||
// loop=1 per replicar el vell `play_music("final.ogg", 1)`.
|
||||
playMusic("music/final.ogg", 1);
|
||||
arxiu = (info::ctx.diners < 200) ? "gfx/intro2.gif" : "gfx/intro3.gif";
|
||||
arxiu = (Info::ctx.diners < 200) ? "gfx/intro2.gif" : "gfx/intro3.gif";
|
||||
} else {
|
||||
arxiu = "gfx/intro.gif";
|
||||
}
|
||||
@@ -65,12 +65,12 @@ namespace scenes {
|
||||
next_state_ = 0;
|
||||
}
|
||||
|
||||
void SlidesScene::drawSlide(int slide_idx, int pos_x) {
|
||||
const int src_y = slide_idx * SLIDE_H;
|
||||
void SlidesScene::drawSlide(int slide_idx, int POS_X) {
|
||||
const int SRC_Y = slide_idx * SLIDE_H;
|
||||
|
||||
// Clipping manual: translada un rect de 320×65 des de (pos_x, SLIDE_Y)
|
||||
// Clipping manual: translada un rect de 320×65 des de (POS_X, SLIDE_Y)
|
||||
// a l'àrea visible (0..319, SLIDE_Y..SLIDE_Y+64).
|
||||
int dst_x = pos_x;
|
||||
int dst_x = POS_X;
|
||||
int src_x = 0;
|
||||
int w = 320;
|
||||
|
||||
@@ -83,7 +83,7 @@ namespace scenes {
|
||||
}
|
||||
|
||||
if (w > 0) {
|
||||
Jd8::blit(dst_x, SLIDE_Y, gfx_, src_x, src_y, w, SLIDE_H);
|
||||
Jd8::blit(dst_x, SLIDE_Y, gfx_, src_x, SRC_Y, w, SLIDE_H);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,13 +123,13 @@ namespace scenes {
|
||||
} else if (phase_ == Phase::SLIDE2_ENTER) {
|
||||
slide_idx = 1;
|
||||
}
|
||||
const float t = std::min(1.0F, static_cast<float>(phase_acc_ms_) / static_cast<float>(SCROLL_MS));
|
||||
const float eased = Easing::outCubic(t);
|
||||
const int pos_x = Easing::lerpInt(SLIDE_START_X[slide_idx], 0, eased);
|
||||
drawSlide(slide_idx, pos_x);
|
||||
const float T = std::min(1.0F, static_cast<float>(phase_acc_ms_) / static_cast<float>(SCROLL_MS));
|
||||
const float EASED = Easing::outCubic(T);
|
||||
const int POS_X = Easing::lerpInt(SLIDE_START_X[slide_idx], 0, EASED);
|
||||
drawSlide(slide_idx, POS_X);
|
||||
|
||||
if (phase_acc_ms_ >= SCROLL_MS) {
|
||||
// Garanteix posició final exacta (pos_x=0).
|
||||
// Garanteix posició final exacta (POS_X=0).
|
||||
drawSlide(slide_idx, 0);
|
||||
if (phase_ == Phase::SLIDE1_ENTER) {
|
||||
phase_ = Phase::SLIDE1_HOLD;
|
||||
@@ -183,7 +183,7 @@ namespace scenes {
|
||||
fade_.tick(delta_ms);
|
||||
if (fade_.done()) {
|
||||
if (num_piramide_at_start_ == 7) {
|
||||
info::ctx.num_piramide = 8;
|
||||
Info::ctx.num_piramide = 8;
|
||||
next_state_ = 1;
|
||||
} else {
|
||||
next_state_ = 0;
|
||||
@@ -197,4 +197,4 @@ namespace scenes {
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "game/scenes/scene.hpp"
|
||||
#include "game/scenes/surface_handle.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// 3 slides narratius amb scroll d'entrada + espera + transició amb
|
||||
// fade-out. Reemplaça `ModuleSequence::doSlides()`.
|
||||
@@ -78,4 +78,4 @@ namespace scenes {
|
||||
bool skip_triggered_{false};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
void SpriteMover::moveTo(int x0, int y0, int x1, int y1, int duration_ms, EaseFn ease) {
|
||||
x0_ = x0;
|
||||
@@ -32,10 +32,10 @@ namespace scenes {
|
||||
return;
|
||||
}
|
||||
elapsed_ms_ = std::min(elapsed_ms_ + delta_ms, duration_ms_);
|
||||
const float t = static_cast<float>(elapsed_ms_) / static_cast<float>(duration_ms_);
|
||||
const float eased = ease_(t);
|
||||
cur_x_ = Easing::lerpInt(x0_, x1_, eased);
|
||||
cur_y_ = Easing::lerpInt(y0_, y1_, eased);
|
||||
const float T = static_cast<float>(elapsed_ms_) / static_cast<float>(duration_ms_);
|
||||
const float EASED = ease_(T);
|
||||
cur_x_ = Easing::lerpInt(x0_, x1_, EASED);
|
||||
cur_y_ = Easing::lerpInt(y0_, y1_, EASED);
|
||||
}
|
||||
|
||||
auto SpriteMover::progress() const -> float {
|
||||
@@ -45,4 +45,4 @@ namespace scenes {
|
||||
return static_cast<float>(elapsed_ms_) / static_cast<float>(duration_ms_);
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include "utils/easing.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Interpola una posició 2D entre dos punts durant un temps donat amb
|
||||
// una funció d'easing. No toca cap surface — el caller llegix x()/y()
|
||||
@@ -35,4 +35,4 @@ namespace scenes {
|
||||
EaseFn ease_{Easing::linear};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "game/scenes/surface_handle.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
SurfaceHandle::SurfaceHandle(const char* file)
|
||||
: surface_(Jd8::loadSurface(file)) {}
|
||||
@@ -47,4 +47,4 @@ namespace scenes {
|
||||
return r;
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include "core/jail/jdraw8.hpp"
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Wrapper RAII damunt de `Jd8::Surface`. Allibera automàticament amb
|
||||
// `Jd8::freeSurface` al destructor. Move-only per evitar dobles alliberaments.
|
||||
@@ -46,4 +46,4 @@ namespace scenes {
|
||||
Jd8::Surface surface_{nullptr};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
auto Timeline::step(int duration_ms, StepFn fn) -> Timeline& {
|
||||
Step s;
|
||||
@@ -98,4 +98,4 @@ namespace scenes {
|
||||
return static_cast<float>(elapsed_in_step_) / static_cast<float>(s.duration_ms);
|
||||
}
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <functional>
|
||||
#include <vector>
|
||||
|
||||
namespace scenes {
|
||||
namespace Scenes {
|
||||
|
||||
// Timeline declaratiu de passos seqüencials. Cada pas té una duració en
|
||||
// ms i un callback. Exemple d'ús:
|
||||
@@ -54,4 +54,4 @@ namespace scenes {
|
||||
bool skipped_{false};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
} // namespace Scenes
|
||||
Reference in new issue
Block a user