diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..7bda40b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,200 @@ +# CHANGELOG + +Historial de canvis i novetats de Coffee Crisis Arcade Edition. + +--- + +## 2026-04-03 + +- **Nova intro cinematogràfica**: les tarjetes s'llancen des dels costats de la pantalla amb zoom, rotació i rebot, simulant tirar cartes sobre una mesa. Les anteriors ixen despedides girant quan arriba la següent. Sombra amb efecte de perspectiva 2D→3D. +- **Efectes sonors i visuals en la intro**: shake de pantalla i sons configurables a cada impacte de tarjeta. +- **Migració a SDL3 GPU API**: postfx i crtpi migrats a SDL3GPU (Vulkan/Metal/D3D12). +- **Migració de configuració a YAML**: eliminat el format antic, ara tot en YAML. +- **Afegides opcions al Service Menu**. +- **HUD de FPS retocat**, presets per defecte ajustats, finestra a 2x i shader off per defecte. +- **Corregit bug d'input**: revertit un canvi que causava bucle infinit en F3 (pantalla completa) i F12 (service menu) en totes les escenes excepte Game. +- Neteja de codi: eliminades referencies a OpenGL, fitxers GLSL sobrants, normalitzada la carpeta release i el caption de la finestra. + +--- + +## 2025-10-25 + +- **Migració a delta_time pur** en credits, instructions i hiscore_table. Eliminat un bug que feia que els credits no acabaren mai si no passaves a mà. +- **Corregida deformació subpixel** de textures en instructions i hiscore_table. +- **Detecció de fitxers de puntuació corruptes**. +- **Efecte de pulsos** afegit al scoreboard. +- Al posar nom, el carrusel apareix directament en el caràcter d'acabar si ja havies posat nom abans. +- Integrat jail_audio en la càrrega de resources.pack. +- Pasaeta de linter en múltiples fitxers. +- Nou icon per al joc. +- Corregida la versió release de macOS per a funcionar correctament amb resources.pack. + +--- + +## 2025-08-21 + +- **Integració amb resources.pack**: textures, animacions, textos, dades de la demo i jail_audio integrats amb ResourceHelper. +- Actualitzat Makefile per a Windows, Linux i macOS. +- Neteja de temporals al acabar. + +--- + +## 2025-08-17 + +- **Afegit fade RANDOM_SQUARE2** amb timings canviats a mil·lisegons. +- **Outline parametritzat** per als textos dels items. +- **Colors de camiseta parametritzats** per defecte i quan pillen café. +- Creat `defaults.h` amb els valors per defecte de Param. +- Afegit `param_red.txt` amb guardes en setParams. +- Fix: items que es quedaven engantxats a la part de dalt. +- Fix: en el modo demo, assignava cafés al jugador que no jugava. +- Fix: bug en l'estat pre del fade. +- Fix: globos apareixien un frame mal situats al crear-se des d'un pare. +- Afegit suport per a mapejar botons tipus trigger. + +--- + +## 2025-08-10 + +- **Service Menu complet**: animació d'apertura/tancament, callback per a posar pausa en el joc, refresc visual al canviar mandos. +- **Mandos en calent**: es poden connectar i desconnectar mandos durant el joc, amb notificació visual. +- **PauseManager** afegit al joc. +- **Càrrega de recursos on_demand**. +- Afegit `shutdown.h` i `system_utils.h`. +- Fix: el nom apareixia duplicat en la tabla de records. +- Fix: Game no es desregistrava de ServiceMenu al destruir-se. +- Precàrrega de textures del jugador amb variants de paleta. +- Actualitzats frameworks per a macOS. + +--- + +## 2025-03-25 + +- **Nova secció Intro** amb escenes seqüencials, animacions de tarjetes i text narratiu. +- **Shaders respecten l'escalat sencer** i SDL_RenderSetLogicalSize en pantalla completa. +- **Tecla per canviar l'integer scale** (F-key). +- Afegit intro03.png i intro04.png. +- Renomenat InputType a InputActions. +- Actualitzat gamecontrollerdb.txt amb mappings de la recreativa. +- Fix: al fer reset des de Game, en Intro no sonava la música. +- Fix: al acabar la partida i vore els records, torna al títol. +- Fix: amb l'àudio mutat, el fade per al soroll de boles el tornava a deixar activat. + +--- + +## 2025-02-07 + +- **EnterName millorat**: si has omplit tots els slots, apretar una volta mes fixa el nom. +- **Control de repetició per als eixos del joystick**. +- **La tabla de puntuació** mostra amb altre color la puntuació acabada d'afegir i les aconseguides amb 1CC. +- Nova font per a la intro. +- Afegit efecte d'eixida a les instruccions. +- Afegit disparador per a l'aparició de l'enemic nou. +- Duplicada la font 04b_25 per a versió gris i versió negra. + +--- + +## 2025-01-05 + +- **Optimitzat el circuit de render** en pantalla. +- **Atenuat de pantalla restaurat**: Fade feia dos SDL_SetRenderDrawBlendMode sense restaurar. +- Fix: es podia polsar per a jugar mentre feia el fade cap a la demo. +- Fix: error en la seqüència final de retrocedir en el temps. +- Calibrats els polsos al gust. +- Afegida una lluna i un sol al fondo. +- La powerball ja no es pot destruir fins que no ha fet un rebot. +- Modificada la cadència de foc sense autofire. +- Afegit botó per a activar o desactivar el ratolí. + +--- + +## 2024-12-31 + +- **Enemic nou** complet: gràfics, comportament, àudio i veus. +- **Fade out sincronitzat** de vídeo i àudio en el títol i el joc. +- **Roidets de col·lisió** per als globos en certs moments. +- La finestra ja es pot fer tan gran com permeta la pantalla (zoom dinàmic). +- Afegides veus al jugador i efectes de so al rebotar quan mor. +- Afegit delay opcional al flash de Screen. +- Afegit botó per activar o desactivar l'autofire. +- Fix: mode demo desactivava els sons permanentment. +- Actualitzat jail_audio. + +--- + +## 2024-12-05 + +- **Secció Credits acabada** a 320x240 (i per extensió, a qualsevol resolució). +- **Zoom afegit a la classe Sprite** i al subtítol ARCADE EDITION. +- Duplicats fitxers de shaders per a resolucions verticals de 256 i 240. +- Afegit globalInputs::update() a totes les seccions. +- Fix: faltava corregir el flash de destroyAllBalloons(). +- Fix: si saltes el logo, talla el so a meitat sonar. +- Canvi d'idioma amb una tecla (i reinicia). + +--- + +## 2024-11-27 + +- **Secció Credits**: disseny, música, globos amb play_area definida, opció de canviar la paleta al text. +- Afegides traduccions dels credits. + +--- + +## 2024-11-20 + +- **Nova animació de mort del personatge**: rebots, llengua fora, ulls en X, gràfics de caure derrotat per al segon jugador. +- **Powerball redissenyada**: nous gràfics, nou comportament, ja no mata directament. +- **Globos fills** ja no ixen centrats al pare (evita apilar-se). +- Arreglos en el nom al obtindre la màxima puntuació. +- Acabat BalloonManager. +- CMakeLists.txt crea l'executable en l'arrel del projecte. +- Nova font de text gran amb el doble de definició. +- Fix: paleta verda del primer jugador ajustada a l'original. + +--- + +## 2024-11-03 + +- **Teclat com a control independent**: ja pot jugar un jugador amb teclat i altre amb mando, o assignar el teclat a qualsevol jugador. +- **Implementat el final del joc** i l'Attract Mode. +- **Nou motor per a textos en pantalla** (game_text amb textures precarregades). +- **Noves animacions** per a deixar de disparar. +- Al redefinir botons, ja no pots repetir botó. +- Fix: l'animació de morir s'actualitzava dos voltes per frame. +- Fix: l'efecte de flash tenia un valor massa xicotet. + +--- + +## 2024-10-28 + +- **Classe PathSprite completada**: el game_text gasta PathSprites en lloc de SmartSprites. +- **Time stopper redissenyat**. +- La partida sempre comença igual (createTwoBigBalloons). +- Revisades les classes Balloon i Bullet. +- Millorada l'aparició dels game_text. +- Fix: la paleta dels jugadors no s'iniciava correctament. + +--- + +## 2024-10-20 + +- **Classe Resource creada**: precàrrega de tots els recursos (textures, música, sons, animacions). +- **Paletes de color** per a textures GIF amb shared_ptr. +- Precàrrega i assignació de paletes. +- Implementat comptador per a posar el nom al acabar la partida. +- Classe Notifier independitzada de Screen amb codis identificadors. +- Afegit codi per a apagar el sistema al eixir del joc. +- Fix: globos verds tenien setters mal assignats i velocitat incorrecta. +- Fix: no guardar el fitxer de puntuacions en el mode demo. + +--- + +## 2024-10-14 + +- **Versió inicial**: clon del repositori de Coffee Crisis, adaptat per a Arcade Edition. +- Pasaeta de include-what-you-use i cppcheck. +- Estandarització de noms segons convencions (CamelCase, camelBack, snake_case). +- Herències de les classes Sprite corregides. +- Canvi a C++ modern amb smart pointers per a la càrrega de surfaces des de GIF. +- Eliminats últims defines i passats a enum class.