From 417699d276e6b5664df86e37bec85ab6091cc6e8 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Fri, 17 Apr 2026 13:29:07 +0200 Subject: [PATCH] renombrats els fitxers de musica --- CLAUDE.md | 12 ++++++------ data/music/{00000004.ogg => banner.ogg} | Bin data/music/{00000005.ogg => final.ogg} | Bin data/music/{00000003.ogg => menu.ogg} | Bin data/music/{00000001.ogg => mort.ogg} | Bin data/music/{00000006.ogg => piramide_1_4_5.ogg} | Bin data/music/{00000007.ogg => piramide_2.ogg} | Bin data/music/{00000008.ogg => piramide_3.ogg} | Bin data/music/{00000002.ogg => secreta.ogg} | Bin source/game/modulegame.cpp | 8 ++++---- source/scenes/banner_scene.cpp | 2 +- source/scenes/banner_scene.hpp | 2 +- source/scenes/credits_scene.cpp | 4 ++-- source/scenes/intro_new_logo_scene.cpp | 2 +- source/scenes/intro_new_logo_scene.hpp | 2 +- source/scenes/intro_scene.cpp | 2 +- source/scenes/intro_scene.hpp | 2 +- source/scenes/mort_scene.cpp | 4 ++-- source/scenes/mort_scene.hpp | 4 ++-- source/scenes/secreta_scene.cpp | 2 +- source/scenes/secreta_scene.hpp | 2 +- source/scenes/slides_scene.cpp | 4 ++-- source/scenes/slides_scene.hpp | 4 ++-- 23 files changed, 28 insertions(+), 28 deletions(-) rename data/music/{00000004.ogg => banner.ogg} (100%) rename data/music/{00000005.ogg => final.ogg} (100%) rename data/music/{00000003.ogg => menu.ogg} (100%) rename data/music/{00000001.ogg => mort.ogg} (100%) rename data/music/{00000006.ogg => piramide_1_4_5.ogg} (100%) rename data/music/{00000007.ogg => piramide_2.ogg} (100%) rename data/music/{00000008.ogg => piramide_3.ogg} (100%) rename data/music/{00000002.ogg => secreta.ogg} (100%) diff --git a/CLAUDE.md b/CLAUDE.md index df754a4..886dc14 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -232,7 +232,7 @@ JD8_Flip produces ABGR byte order: `0xFF000000 + R + (G<<8) + (B<<16)`. SDL text ### Resource Pack (`source/core/resources/`) -Sistema d'empaquetat d'assets a l'estil `coffee_crisis_arcade_edition`. Genera un sol fitxer binari opac `resource.pack` que substitueix la carpeta `data/` als releases natius. +Sistema d'empaquetat d'assets a l'estil `coffee_crisis_arcade_edition`. Genera un sol fitxer binari opac `resources.pack` que substitueix la carpeta `data/` als releases natius. **Format AEE1** (fidel a CCAE amb clau pròpia): ``` @@ -245,18 +245,18 @@ Checksum: djb2-like amb seed `0x12345678`. Càrrega full-to-RAM (sense mmap). **Fitxers**: - [source/core/resources/resource_pack.hpp/cpp](source/core/resources/) — classe `ResourcePack`: `loadPack`, `savePack`, `addFile`, `addDirectory`, `getResource(name) → std::vector`, `hasResource` - [source/core/resources/resource_helper.hpp/cpp](source/core/resources/) — namespace `ResourceHelper`: `initializeResourceSystem(pack, enable_fallback)`, `loadFile(relative_path)`, `shutdownResourceSystem`. Prova el pack primer, cau a `file_getresourcefolder()+path` si el fallback està actiu. -- [tools/pack_resources/pack_resources.cpp](tools/pack_resources/pack_resources.cpp) — eina standalone CLI: `pack_resources [input_dir=data] [output=resource.pack]` + `--list pack`. +- [tools/pack_resources/pack_resources.cpp](tools/pack_resources/pack_resources.cpp) — eina standalone CLI: `pack_resources [input_dir=data] [output=resources.pack]` + `--list pack`. **Build**: -- `make pack` compila l'eina (target `pack_resources` a `EXCLUDE_FROM_ALL` de [CMakeLists.txt](CMakeLists.txt)) i genera `resource.pack` a la rel. 33 entrades ≈ 4 MB. -- `./build/pack_resources --list resource.pack` inspecciona el pack. +- `make pack` compila l'eina (target `pack_resources` a `EXCLUDE_FROM_ALL` de [CMakeLists.txt](CMakeLists.txt)) i genera `resources.pack` a la rel. 33 entrades ≈ 4 MB. +- `./build/pack_resources --list resources.pack` inspecciona el pack. **Estat actual (Fases 1-6 completades, 2026-04-16)**: - `ResourcePack` + `ResourceHelper` + eina `pack_resources` compilen i funcionen. El pack genera 33 entrades ≈ 4 MB. - Cablejat al joc via `ResourceHelper::initializeResourceSystem` a [main.cpp](source/main.cpp) (amb `return SDL_APP_FAILURE` si falla), i `shutdownResourceSystem` a `SDL_AppQuit`. - Tots els callsites de recursos usen `ResourceHelper::loadFile` (`std::vector`): [locale.cpp](source/core/locale/locale.cpp), [text.cpp](source/core/rendering/text.cpp), [scene_utils.cpp](source/scenes/scene_utils.cpp), [modulegame.cpp](source/game/modulegame.cpp), [jdraw8.cpp](source/core/jail/jdraw8.cpp). - Scaffold `.jrf` eliminat de [jfile.cpp](source/core/jail/jfile.cpp): `file_setresourcefilename`, `file_setsource`, `SOURCE_FILE`/`SOURCE_FOLDER`, `dictionary_loaded`, `file_getfilepointer`, `file_readfile`. Només queden config-folder i resource-folder getters/setters. -- Targets release a [Makefile](Makefile) (`_linux_release`/`_windows_release`/`_macos_release`) depenen de `pack` i copien `resource.pack` en lloc de `data/`. WASM intacte (`--preload-file data@/data`). +- Targets release a [Makefile](Makefile) (`_linux_release`/`_windows_release`/`_macos_release`) depenen de `pack` i copien `resources.pack` en lloc de `data/`. WASM intacte (`--preload-file data@/data`). - `enable_fallback = false` a Release natiu (`NDEBUG && !__EMSCRIPTEN__`): el pack és obligatori. Debug i WASM mantenen el fallback actiu. ### External Libraries (`source/external/`) @@ -268,7 +268,7 @@ Checksum: djb2-like amb seed `0x12345678`. Càrrega full-to-RAM (sense mmap). ### Data Assets (`data/`) - `gfx/` — Original game GIFs (**do not modify content**): `frames.gif`/`frames2.gif` (sprite sheet del joc), `logo.gif`/`logo_new.gif` (intros), `menu.gif`/`menu2.gif`, `intro.gif`/`intro2.gif`/`intro3.gif` (slides), `ffase.gif` (banner nivells), `final.gif`/`finals.gif` (crèdits), `gameover.gif`, `tomba1.gif`/`tomba2.gif` (escena secreta) -- `music/` — 8 pistes OGG originals (`00000001.ogg`..`00000008.ogg`) +- `music/` — 8 pistes OGG originals amb noms temàtics: `mort.ogg` (game over), `secreta.ogg` (escena secreta + piràmide 6), `menu.ogg` (menú + intros), `banner.ogg` (banner de fase), `final.ogg` (slides finals + crèdits), `piramide_1_4_5.ogg` (gameplay default), `piramide_2.ogg`, `piramide_3.ogg` - `fonts/8bithud.fnt + .gif` — Bitmap font for overlay (8×8, 124 glyphs, UTF-8 with accents) - `shaders/` — GLSL sources: `postfx.vert`, `postfx.frag`, `upscale.frag`, `downscale.frag`, `crtpi_frag.glsl` - `locale/ca.yaml` — UI strings in Valencian (menu titles/items/values, notifications). Edit freely; reload at restart diff --git a/data/music/00000004.ogg b/data/music/banner.ogg similarity index 100% rename from data/music/00000004.ogg rename to data/music/banner.ogg diff --git a/data/music/00000005.ogg b/data/music/final.ogg similarity index 100% rename from data/music/00000005.ogg rename to data/music/final.ogg diff --git a/data/music/00000003.ogg b/data/music/menu.ogg similarity index 100% rename from data/music/00000003.ogg rename to data/music/menu.ogg diff --git a/data/music/00000001.ogg b/data/music/mort.ogg similarity index 100% rename from data/music/00000001.ogg rename to data/music/mort.ogg diff --git a/data/music/00000006.ogg b/data/music/piramide_1_4_5.ogg similarity index 100% rename from data/music/00000006.ogg rename to data/music/piramide_1_4_5.ogg diff --git a/data/music/00000007.ogg b/data/music/piramide_2.ogg similarity index 100% rename from data/music/00000007.ogg rename to data/music/piramide_2.ogg diff --git a/data/music/00000008.ogg b/data/music/piramide_3.ogg similarity index 100% rename from data/music/00000008.ogg rename to data/music/piramide_3.ogg diff --git a/data/music/00000002.ogg b/data/music/secreta.ogg similarity index 100% rename from data/music/00000002.ogg rename to data/music/secreta.ogg diff --git a/source/game/modulegame.cpp b/source/game/modulegame.cpp index c8608ca..5275053 100644 --- a/source/game/modulegame.cpp +++ b/source/game/modulegame.cpp @@ -42,10 +42,10 @@ void ModuleGame::onEnter() { // fade interpolarien cap a una paleta amb pantalla buida. this->Draw(); - const char* music = info::ctx.num_piramide == 3 ? "music/00000008.ogg" - : info::ctx.num_piramide == 2 ? "music/00000007.ogg" - : info::ctx.num_piramide == 6 ? "music/00000002.ogg" - : "music/00000006.ogg"; + const char* music = info::ctx.num_piramide == 3 ? "music/piramide_3.ogg" + : info::ctx.num_piramide == 2 ? "music/piramide_2.ogg" + : info::ctx.num_piramide == 6 ? "music/secreta.ogg" + : "music/piramide_1_4_5.ogg"; const char* current_music = JA_GetMusicFilename(); if ((JA_GetMusicState() != JA_MUSIC_PLAYING) || !current_music || strcmp(music, current_music) != 0) { diff --git a/source/scenes/banner_scene.cpp b/source/scenes/banner_scene.cpp index e6ab3da..217020e 100644 --- a/source/scenes/banner_scene.cpp +++ b/source/scenes/banner_scene.cpp @@ -11,7 +11,7 @@ namespace scenes { void BannerScene::onEnter() { - playMusic("music/00000004.ogg"); + playMusic("music/banner.ogg"); gfx_ = SurfaceHandle("gfx/ffase.gif"); diff --git a/source/scenes/banner_scene.hpp b/source/scenes/banner_scene.hpp index 725bb77..e5bd9b3 100644 --- a/source/scenes/banner_scene.hpp +++ b/source/scenes/banner_scene.hpp @@ -9,7 +9,7 @@ namespace scenes { // Banner pre-piràmide ("PIRÀMIDE X"). Reemplaça `ModuleSequence::doBanner()`. // // Flux: - // 1. Arranca música "music/00000004.ogg" i carrega gfx/ffase.gif. + // 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. // 3. Fade-in de paleta. // 4. Mostra ~5s o fins que es polse una tecla. diff --git a/source/scenes/credits_scene.cpp b/source/scenes/credits_scene.cpp index 05f391b..ba90e67 100644 --- a/source/scenes/credits_scene.cpp +++ b/source/scenes/credits_scene.cpp @@ -42,12 +42,12 @@ namespace scenes { void CreditsScene::onEnter() { // El vell doCredits no tocava música — heretava la del doSlides - // previ ("music/00000005.ogg"). Si l'escena s'arrenca directament (test + // previ ("music/final.ogg"). Si l'escena s'arrenca directament (test // amb piramide_inicial=8) no hi ha res que heretar, així que // arranquem la mateixa pista només si no sona res. Inocu en el // flux normal: JA_MUSIC_PLAYING fa que no la tornem a tocar. if (JA_GetMusicState() != JA_MUSIC_PLAYING) { - playMusic("music/00000005.ogg"); + playMusic("music/final.ogg"); } vaddr2_ = SurfaceHandle("gfx/final.gif"); diff --git a/source/scenes/intro_new_logo_scene.cpp b/source/scenes/intro_new_logo_scene.cpp index e19b2d0..402bccd 100644 --- a/source/scenes/intro_new_logo_scene.cpp +++ b/source/scenes/intro_new_logo_scene.cpp @@ -50,7 +50,7 @@ namespace scenes { } void IntroNewLogoScene::onEnter() { - playMusic("music/00000003.ogg"); + playMusic("music/menu.ogg"); gfx_ = SurfaceHandle("gfx/logo_new.gif"); pal_ = JD8_LoadPalette("gfx/logo_new.gif"); diff --git a/source/scenes/intro_new_logo_scene.hpp b/source/scenes/intro_new_logo_scene.hpp index fee76e0..11926ab 100644 --- a/source/scenes/intro_new_logo_scene.hpp +++ b/source/scenes/intro_new_logo_scene.hpp @@ -13,7 +13,7 @@ namespace scenes { // ciclo de paleta final. Reemplaça `ModuleSequence::doIntroNewLogo()`. // // Flux: - // 1. Carrega gfx/logo_new.gif, arranca música "music/00000003.ogg" i posa + // 1. Carrega gfx/logo_new.gif, arranca música "music/menu.ogg" i posa // la paleta directament (sense fade-in). Mostra pantalla negra 1s. // 2. Revelat: 9 lletres × 2 frames (amb cursor / sense cursor), 150 ms // cada frame. diff --git a/source/scenes/intro_scene.cpp b/source/scenes/intro_scene.cpp index dd2b39c..2622073 100644 --- a/source/scenes/intro_scene.cpp +++ b/source/scenes/intro_scene.cpp @@ -66,7 +66,7 @@ namespace scenes { } void IntroScene::onEnter() { - playMusic("music/00000003.ogg"); + playMusic("music/menu.ogg"); gfx_ = SurfaceHandle("gfx/logo.gif"); pal_ = JD8_LoadPalette("gfx/logo.gif"); diff --git a/source/scenes/intro_scene.hpp b/source/scenes/intro_scene.hpp index 1b6c609..9e29382 100644 --- a/source/scenes/intro_scene.hpp +++ b/source/scenes/intro_scene.hpp @@ -15,7 +15,7 @@ namespace scenes { // `IntroNewLogoScene`. // // Flux: - // 1. Carrega gfx/logo.gif, arranca música "music/00000003.ogg", pantalla negra + // 1. Carrega gfx/logo.gif, arranca música "music/menu.ogg", pantalla negra // 1000 ms. // 2. Revelat: 15 passos (100 o 200 ms) que van acumulant les lletres // "JAILGAMES" d'esquerra a dreta amb un avió escombrant al final diff --git a/source/scenes/mort_scene.cpp b/source/scenes/mort_scene.cpp index c3aa265..79b141c 100644 --- a/source/scenes/mort_scene.cpp +++ b/source/scenes/mort_scene.cpp @@ -10,7 +10,7 @@ namespace scenes { void MortScene::onEnter() { - playMusic("music/00000001.ogg"); + playMusic("music/mort.ogg"); JI_DisableKeyboard(60); info::ctx.vida = 5; @@ -44,7 +44,7 @@ namespace scenes { if (remaining_ms_ <= 0) { // Arrenca música del següent mòdul abans del fade out, // igual que la versió vella feia al final de doMort(). - playMusic("music/00000003.ogg"); + playMusic("music/menu.ogg"); info::ctx.num_piramide = 0; fade_.startFadeOut(); phase_ = Phase::FadingOut; diff --git a/source/scenes/mort_scene.hpp b/source/scenes/mort_scene.hpp index efbb061..e2e1ed6 100644 --- a/source/scenes/mort_scene.hpp +++ b/source/scenes/mort_scene.hpp @@ -9,9 +9,9 @@ namespace scenes { // Pantalla de "game over". Reemplaça `ModuleSequence::doMort()`. // // Flux: - // 1. Carrega gfx/gameover.gif, arranca música "music/00000001.ogg", fade-in de paleta. + // 1. Carrega gfx/gameover.gif, arranca música "music/mort.ogg", fade-in de paleta. // 2. Mostra la pantalla ~10 segons o fins que l'usuari polse una tecla. - // 3. Arranca música del menú ("music/00000003.ogg") i fade-out de paleta. + // 3. Arranca música del menú ("music/menu.ogg") i fade-out de paleta. // 4. Marca num_piramide=0 i retorna nextState=1 perquè el Director // passe a l'escena del menú. class MortScene : public Scene { diff --git a/source/scenes/secreta_scene.cpp b/source/scenes/secreta_scene.cpp index 42af3d5..6cd248d 100644 --- a/source/scenes/secreta_scene.cpp +++ b/source/scenes/secreta_scene.cpp @@ -42,7 +42,7 @@ namespace scenes { } void SecretaScene::onEnter() { - playMusic("music/00000002.ogg"); + playMusic("music/secreta.ogg"); // Fade-out de la paleta anterior. Els assets es carreguen ja // però no fem SetScreenPalette fins que acabe el fade — així diff --git a/source/scenes/secreta_scene.hpp b/source/scenes/secreta_scene.hpp index 10534fa..a0c9e6f 100644 --- a/source/scenes/secreta_scene.hpp +++ b/source/scenes/secreta_scene.hpp @@ -10,7 +10,7 @@ namespace scenes { // Pre-Secreta. Reemplaça `ModuleSequence::doSecreta()`. // // Flux: - // 1. Arranca música "music/00000002.ogg" i fa fade-out de la paleta anterior. + // 1. Arranca música "music/secreta.ogg" i fa fade-out de la paleta anterior. // 2. Carrega gfx/tomba1.gif + paleta i pinta un scroll vertical doble // (dos blits solapats, un a velocitat meitat que l'altre) durant // ~2.5 s + ~2.5 s de pausa. diff --git a/source/scenes/slides_scene.cpp b/source/scenes/slides_scene.cpp index 8596a23..5cc922d 100644 --- a/source/scenes/slides_scene.cpp +++ b/source/scenes/slides_scene.cpp @@ -40,8 +40,8 @@ namespace scenes { const char* arxiu = nullptr; if (num_piramide_at_start_ == 7) { - // loop=1 per replicar el vell `play_music("00000005.ogg", 1)`. - playMusic("music/00000005.ogg", 1); + // 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"; } else { arxiu = "gfx/intro.gif"; diff --git a/source/scenes/slides_scene.hpp b/source/scenes/slides_scene.hpp index 85e740b..8da4881 100644 --- a/source/scenes/slides_scene.hpp +++ b/source/scenes/slides_scene.hpp @@ -11,8 +11,8 @@ namespace scenes { // fade-out. Reemplaça `ModuleSequence::doSlides()`. // // Tria d'asset segons context: - // - num_piramide == 7 i diners < 200: gfx/intro2.gif + música "music/00000005.ogg" - // - num_piramide == 7 i diners >= 200: gfx/intro3.gif + música "music/00000005.ogg" + // - num_piramide == 7 i diners < 200: gfx/intro2.gif + música "music/final.ogg" + // - num_piramide == 7 i diners >= 200: gfx/intro3.gif + música "music/final.ogg" // - altre cas (num_piramide == 1): gfx/intro.gif, sense música nova // // Flux: