JailDesigner
36fc496226
feat(title): parpadeig STARTING amb cicle 50/50 i període configurable
2026-05-06 14:04:27 +02:00
JailDesigner
0618452224
feat(transitions): mosaic dissolve fade-out al final de la fase STARTING (configurable a ui.yaml)
2026-05-06 13:54:09 +02:00
JailDesigner
ca64115bfe
feat(title): FSM IDLE/STARTING amb START per jugador i propagació de StartingPlayers
2026-05-06 13:28:34 +02:00
JailDesigner
1fc3ab8e31
feat(effects): heat-haze sinusoidal al fons del títol (configurable a ui.yaml)
2026-05-06 11:48:29 +02:00
JailDesigner
9233bd8d75
feat(title): fons title_bg.gif i outline 4-dir off-white als textos taronges
2026-05-06 11:27:45 +02:00
JailDesigner
e7a024bcdb
fix(fonts): regenerar ari amb box_height auto (14, no 11) — el override forçat tallava els glifos
2026-05-06 10:15:49 +02:00
JailDesigner
158968e2c2
feat(title): peu amb minilogo i copyright; fonts ari regenerades amb ©
2026-05-06 10:00:30 +02:00
JailDesigner
dadbee9bad
feat(title): primera passada — fons casi negre, títol+ARCADE i prompt START intermitent (configurable a ui.yaml)
2026-05-06 09:01:28 +02:00
JailDesigner
5710568af8
feat(input): binding START per jugador (teclat 1/2 fix, mando remapejable; pausa només per F11)
2026-05-06 08:23:01 +02:00
JailDesigner
165499b9d4
Merge branch 'feat/player-immunity'
2026-05-05 13:19:56 +02:00
JailDesigner
093d9b49b5
chore: bump v0.33.0 — immunitat post-spawn al jugador (3 s amb blink)
2026-05-05 13:19:53 +02:00
JailDesigner
7956a1382a
feat(immunity): blink al render alternant paleta normal i pal·la del bloc immunity
2026-05-05 13:07:22 +02:00
JailDesigner
0db2195404
feat(immunity): timer al tick, gates a enterHurt/enterDying i trigger al respawn
2026-05-05 13:05:29 +02:00
JailDesigner
2e3816783f
feat(immunity): API setImmunity/isImmune i lectura del bloc immunity
2026-05-05 13:01:22 +02:00
JailDesigner
3985e66b94
feat(immunity): pal blanc al 85% + bloc immunity als YAML del jugador
2026-05-05 12:57:07 +02:00
JailDesigner
f248ae316a
edit(map): primer mapa
2026-05-05 12:23:08 +02:00
JailDesigner
4536deee47
chore: títol de la finestra amb ARCADE
2026-05-05 12:18:17 +02:00
JailDesigner
f9e09d968d
fix(build): silenciats warnings en Release
2026-05-05 12:16:18 +02:00
JailDesigner
1ba17f5225
feat(release): nou target make release — empaquetat per Linux/Windows/macOS
2026-05-05 11:42:32 +02:00
JailDesigner
3442b9b481
chore: bump v0.32.0 — Notifier configurable, F5/F6 gatejades i CRTPI passthrough
2026-05-02 15:16:40 +02:00
JailDesigner
8746ee9ec9
Merge fix/shader-keys-and-service-menu — passthrough real i F5/F6 gatejades
2026-05-02 15:13:41 +02:00
JailDesigner
ef7fbf4027
fix(shader): force passthrough quan està apagat; F5/F6 ignorats sense shader actiu
2026-05-02 15:12:58 +02:00
JailDesigner
964c32dd0d
Merge feat/notifier-polish — geometria i animació del Notifier al ui.yaml
2026-05-02 14:59:28 +02:00
JailDesigner
970fe2b4db
feat(notifier): entrada/eixida per temps amb easing, configurable a ui.yaml
2026-05-02 14:58:25 +02:00
JailDesigner
f816e75cc0
feat(input): KP_2 dispara notificació llarga per a provar multilinia
2026-05-02 14:51:29 +02:00
JailDesigner
2e8df45b38
feat(notifier): geometria al ui.yaml; +1px alçada, text 1px més avall, marge superior 3
2026-05-02 14:43:04 +02:00
JailDesigner
643e5442c3
Merge fix/lane-snap-and-door-corridor — snap a lane i corridor amb porta oberta
2026-05-02 14:31:57 +02:00
JailDesigner
82ccf65ce1
fix(player): no snap a lane si pica contra mur extern; corridor només si porta oberta
2026-05-02 14:30:09 +02:00
JailDesigner
1ae6912be5
Merge feat/entity-editor — editor d'entitats complet
2026-05-02 13:36:34 +02:00
JailDesigner
c003e6665e
feat(editor): mou la porta i persisteix geometry.door_col
2026-05-02 13:35:01 +02:00
JailDesigner
a254fdd669
feat(editor): hand pick per base, z-sort, amaga entitats en TILE, HUD 2-files centrat
2026-05-02 12:42:47 +02:00
JailDesigner
c0362abf67
fix(editor): inverteix posició des del collision_rect i restaura mòmies r1
2026-05-02 12:22:14 +02:00
JailDesigner
d13313503c
fix(editor): preferDisk en Debug + reload de sala al entrar i sortir
2026-05-02 12:20:16 +02:00
JailDesigner
2a78c78e77
feat(editor): franja HUD amb mode, brush/sel, cursor i recompte de constraints
2026-05-02 11:41:25 +02:00
JailDesigner
10e16d7905
feat(editor): valida 1 porta i ≥1 sarc en sortida i en borrar
2026-05-02 11:37:57 +02:00
JailDesigner
ecb4625465
feat(editor): EntityWriter — persisteix el bloc entities: al sortir
2026-05-02 11:35:10 +02:00
JailDesigner
b4e36944d7
feat(editor): mode mà — selecció, mou, borra i marc d'entitats
2026-05-02 11:28:41 +02:00
JailDesigner
9b09ccb765
feat(editor): col·locació d'entitats amb snap per tipus i bloqueig de solapaments
2026-05-02 11:21:05 +02:00
JailDesigner
94213f9fd6
feat(editor): entity picker amb noms del factory i flag editable per plantilla
2026-05-02 11:07:02 +02:00
JailDesigner
f591aa82fd
fix(whip_attack): treure entity_manager_ duplicat (ja viu a Entity)
2026-05-02 11:01:53 +02:00
JailDesigner
2ef5968e0d
feat(editor): màquina d'estats Mode {TILE,ENTITY,HAND} + Picker
2026-05-02 10:58:24 +02:00
JailDesigner
ca03a1307e
feat(editor): bindings per E (entity picker), H (mà), Supr (borrar)
2026-05-02 10:53:50 +02:00
JailDesigner
fe916d263f
Merge feat/controls — sticks al menú, accept/cancel remappable, facing real
2026-05-01 10:25:06 +02:00
JailDesigner
de7233a012
fix(player): facing del sprite des del desplaçament real, no de l'input
2026-05-01 10:24:13 +02:00
JailDesigner
d26ecec04f
feat(menu): acceptar amb ATTACK i cancel·lar amb JUMP del mando
2026-05-01 09:07:22 +02:00
JailDesigner
fddea0c449
feat(menu): navegació del menú de servei amb sticks
2026-05-01 09:03:20 +02:00
JailDesigner
2c1c1a442b
Merge feat/notifier-tweaks — vora externa al notificador
2026-05-01 08:57:02 +02:00
JailDesigner
d1948afe4b
feat(notifier): vora externa del color del text
2026-05-01 08:56:53 +02:00
JailDesigner
ac06b05332
chore(audio): defaults a música 100% i so 20%
2026-04-30 20:45:03 +02:00
JailDesigner
7d11dde0b1
Merge feat/menu-pause — pausa del món i sons al menú de servei
2026-04-30 20:40:04 +02:00
JailDesigner
73add013dd
art: stun de sam/morcus refinat i mòmia més baixa per saltar millor
2026-04-30 20:22:09 +02:00
JailDesigner
4e2ba827e3
Merge feat/mummy-ai — generalització del filtre de cruces de la mòmia
2026-04-30 20:06:54 +02:00
JailDesigner
9ac0c0cb74
refactor(mummy): generalitza el filtre de cruces a isBlockedAheadInDir
2026-04-30 20:05:36 +02:00
JailDesigner
11a909b58d
Merge feat/hazard-hole — hazard Hole, evitació per mòmies i broadcast de decals al load
2026-04-30 19:29:57 +02:00
JailDesigner
17cf6e0636
chore: bump v0.31.0 — hazard Hole, IA d'evitació de mòmies i broadcast de decals
2026-04-30 19:29:53 +02:00
JailDesigner
7d0aca506a
feat(decals): tiles de decal de sòl compten com a pintats des del load
2026-04-30 19:16:21 +02:00
JailDesigner
7cd7b4dc4f
chore(hole): neteja de comentaris obsolets i notes sobre riscos latents
2026-04-30 18:52:49 +02:00
JailDesigner
6d4f606eeb
feat(mummy): evita forats per detecció reactiva al canvi de tile
2026-04-30 18:30:03 +02:00
JailDesigner
1ccd444aad
fix(hazard): el jugador només cau al Hole si la hit-box hi cap del tot
2026-04-30 16:56:56 +02:00
JailDesigner
3bfca35f3a
feat(mummy): evita tiles amb decal trigger (Hole) en decidir direcció
2026-04-30 16:50:26 +02:00
JailDesigner
3e5217066f
fix(hazard): aterrar damunt d'un Hole salta el LANDING_STUN
2026-04-30 13:53:26 +02:00
JailDesigner
4da50571eb
feat(hazard): nou hazard Hole — caiguda per forat amb clip rect
2026-04-30 13:32:17 +02:00
JailDesigner
d4593d0686
Merge feat/tilepicker-layout — tilepicker amb editor.yaml
2026-04-30 09:52:51 +02:00
JailDesigner
a53cf4b797
feat(editor): spacing, border i centrat vertical del tilepicker via editor.yaml
2026-04-30 09:51:30 +02:00
JailDesigner
bcbf990a5f
feat(editor): tilepicker respecta l'amplada del tileset si hi cap
2026-04-30 09:36:24 +02:00
JailDesigner
45514ae2f4
feat(menu): sons de navegació i acceptació al menú de servei
2026-04-29 20:27:01 +02:00
JailDesigner
0847e9c544
feat(menu): congela el món mentre el menú de servei està obert
2026-04-29 20:19:20 +02:00
JailDesigner
27cf2f032d
chore(audio): normalitzat el volum dels efectes
2026-04-29 20:00:07 +02:00
JailDesigner
6f6aa182f7
Merge feat/control-remapping — redefinició de tecles i botons del mando
2026-04-29 19:58:25 +02:00
JailDesigner
b65eeb7aaa
chore: bump v0.30.0 — redefinició de controls
2026-04-29 19:58:20 +02:00
JailDesigner
37fdcb4751
feat(controls): redefinició de tecles i botons del mando des del menú de servei
2026-04-29 19:54:47 +02:00
JailDesigner
4739354875
feat(maps): tileset propi per piràmide + reload de tilemap a loadRoom
2026-04-29 13:30:39 +02:00
JailDesigner
2879cbdb17
merge feat/player-death-respawn — mort + respawn (DYING + death_spinning + cinemàtica aèria)
2026-04-29 12:16:48 +02:00
JailDesigner
38070b33aa
feat(player): so de hurt al morir + respawn cinemàtic amb limbo invisible
2026-04-29 12:15:52 +02:00
JailDesigner
9f0a566ffb
feat(player): mort i respawn (DYING + death_spinning + lives counter)
2026-04-29 11:40:05 +02:00
JailDesigner
6397f9d4eb
Merge branch 'feat/animation-flip' — flip H/V al motor i cardinals N/S/E/W
2026-04-29 10:17:46 +02:00
JailDesigner
72384c3113
feat(anim): cardinal WEST i flip totalment governat pel motor d'animació
2026-04-29 10:11:27 +02:00
JailDesigner
9dc7ff0da3
refactor(anim): direccions cardinals (north/south/east) en YAML i codi
2026-04-29 08:59:01 +02:00
JailDesigner
1d43a77800
feat(anim): suport de flip H/V per frame i per animació
2026-04-29 08:30:08 +02:00
JailDesigner
39eda56c9d
docs(player): neteja comentaris dels YAMLs (sense documentar el motor)
2026-04-28 20:31:35 +02:00
JailDesigner
a351f920ba
Merge branch 'chore/audio-reorg' — cicle de música per estat (INTRO/PLAYING/OUTRO) i sons de làtigo/HURT
2026-04-28 19:56:32 +02:00
JailDesigner
72642dc10e
feat(player): so del swing del làtigo i de l'entrada a HURT
2026-04-28 19:55:53 +02:00
JailDesigner
404db74889
feat(audio): cicle de música per estat (INTRO/PLAYING/OUTRO) amb callback de fi i spawn escalonat
2026-04-28 19:41:38 +02:00
JailDesigner
91f664c4d5
chore: bump v0.29.0 — atac de làtigo (Player ATTACKING, Mummy HURT, hitbox amb retall)
2026-04-28 18:44:29 +02:00
JailDesigner
ce55aeeadc
Merge branch 'feat/whip-attack' — atac de làtigo (Player ATTACKING, Mummy HURT, hitbox amb retall)
2026-04-28 18:44:13 +02:00
JailDesigner
8f66961c7b
feat(whip): separa draw_rect i damage_rect; sprites 80×32 / 16×96; feet_y delegat a l'owner; recover_* per al cooldown
2026-04-28 18:28:19 +02:00
JailDesigner
121558b1fd
test(whip): smokes de hitbox, dany a mòmia i alreadyHit; tests de Mummy HURT
2026-04-28 16:20:22 +02:00
JailDesigner
df60709e6d
feat(whip): aplicació de dany amb retall de hitbox, alreadyHit i friendly fire
2026-04-28 16:20:22 +02:00
JailDesigner
d208ba02df
feat(player): estat ATTACKING amb edge-detect, animacions i spawn del whip via bus
2026-04-28 16:20:22 +02:00
JailDesigner
5db3bb0bd0
feat(mummy): estat HURT amb fugida en línia recta i recuperació al timer
2026-04-28 16:20:22 +02:00
JailDesigner
9ad21eb5bb
feat(attack): esquelet WhipAttack + canal d'spawn via EventBus
2026-04-28 16:20:22 +02:00
JailDesigner
4752eb8ad7
build: silencia warning de sprintf deprecat a stb_image_write
2026-04-28 12:21:33 +02:00
JailDesigner
887b8f3aa3
build: evita crear fitxer 'NUL' a Windows quan Make corre dins MSYS/MinGW
2026-04-28 09:44:34 +02:00
JailDesigner
2f3643f09c
build: silencia warnings de stb a source/external/ via set_source_files_properties
2026-04-28 09:38:52 +02:00
JailDesigner
cc529afeb2
build: detecta Windows i tria generador CMake (Ninja o MinGW Makefiles)
2026-04-28 08:17:49 +02:00
JailDesigner
15a7c4e18a
feat(audio): música només a PLAYING; so del rètol al final del fade-in d'INTRO
2026-04-27 08:48:01 +02:00
JailDesigner
7d725f99f4
Merge branch 'feat/sound-effects' — efectes d'àudio (eco/reverb) i reverb d'INTRO
2026-04-27 08:33:38 +02:00
JailDesigner
e9ef6565a7
chore: bump v0.28.0 — efectes d'àudio (eco/reverb) i reverb a la cinemàtica d'INTRO
2026-04-27 08:33:34 +02:00
JailDesigner
47bb92144e
feat(audio): reverb 'stone_hall' al primer LAND cinemàtic d'INTRO
...
Lligua el reverb al moment de la cinemàtica d'entrada de sala, no als
salts en general. La sala dóna "més detall" sonor a l'INTRO; un cop el
joc està en marxa, els salts (i els respawns post-mort) tornen al so
sec. Així el primer aterratge es percep com a part de l'animació
d'arribada, no com una propietat permanent del personatge.
- RoomFsm::Config: nou camp `intro_land_reverb_preset` carregat des
de `room_intro.land_reverb` a `data/scenes/game.yaml` (per defecte
'stone_hall'). Buit = sense reverb a l'INTRO.
- Player: membre `next_land_reverb_preset_` consumit per
`integrateJump` al primer aterratge que el trobe armat. Setter
públic `armNextLandReverb(preset)` per a GameScene. Cap altre punt
(respawn, exit, disable) el toca: el reverb és estrictament
one-shot lligat al spawn aeri d'INTRO.
- GameScene::triggerPlayerSpawn: arma el preset al jugador just
després de `spawnFromAir`, així cada slot rep el seu reverb un
sol cop per cinemàtica.
- JumpConfig perd `land_reverb_preset` i els YAMLs de Sam/Morcus
perden `land_reverb`: la decisió ja no viu al personatge.
2026-04-27 08:31:51 +02:00
JailDesigner
d3698a1504
feat(audio): suport d'efectes (eco i reverb) per a sons puntuals
...
Afig una capa d'efectes oberta a la unitat d'àudio. Els sons puntuals
es poden reproduir processats per un eco o un reverb (Freeverb 8C/4AP)
sense afectar la música ni canviar el camí ràpid existent (playSound
sense efecte segueix sent una sola crida sense cost extra).
- data/sounds.yaml: catàleg de presets nominats (echo: cave/short,
reverb: stone_hall/small_room).
- core/audio/audio_effects: processadors purs que prenen un Ja::Sound
(U8/S16, mono o estèreo) i tornen PCM S16 amb la cua de l'efecte
(cap a 800 ms eco, 1500 ms reverb).
- core/audio/sound_effects_config: Meyers singleton que parseja
sounds.yaml a EchoParams/ReverbParams indexats per nom; l'API
pública d'Audio fa el lookup per nom.
- jail_audio::Engine: nou camí playSoundWith{Echo,Reverb} que empenta
el buffer ja processat a un canal lliure marcat com a has_effect.
El cap MAX_EFFECT_CHANNELS limita a 4 sons amb efecte simultanis;
si està al límit, l'engine retorna -1 i Audio cau a la versió seca.
- Audio::playSoundWith{Echo,Reverb}(name, preset, group) com a única
via pública. Si el preset no existeix, fallback dry amb avís.
- director: load("data/sounds.yaml") abans d'Audio::init.
2026-04-27 08:16:16 +02:00