# 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.