JailDesigner
24afdef7cd
chore(includes): neteja includes no utilitzats (clang-include-cleaner)
2026-05-25 17:07:24 +02:00
JailDesigner
7a859c1e44
neteja NOLINT obsolets (audio 14 + player + ajusta justificacions)
2026-05-18 16:41:15 +02:00
JailDesigner
2aef925286
refactor(player): config a membres d'instancia (P1/P2 YAMLs independents)
2026-05-13 21:40:02 +02:00
JailDesigner
2272d3a37a
feat(lighting): flicker proporcional al radi amb overrides per emissor
2026-05-13 19:38:34 +02:00
JailDesigner
3a42c7958a
feat(lighting): offset del centre de la llum per emissor
2026-05-13 18:26:19 +02:00
JailDesigner
771ff1f6cd
feat(lighting): mode additive amb color per emissor
2026-05-13 14:11:51 +02:00
JailDesigner
5cc8e349a5
feat(lighting): seed estable per emissor (no deriva pel moviment)
2026-05-12 22:37:27 +02:00
JailDesigner
0046d526b0
fix(lighting): llig flicker tambe del YAML del jugador
2026-05-12 22:26:17 +02:00
JailDesigner
ebb161f1f5
feat(entities): light_radius + getLightCenter a Entity i Player
2026-05-12 21:06:01 +02:00
JailDesigner
f5d251c33b
feat(stats): Player com a font de veritat de vides/score/tresors i sarcs amb recompensa
2026-05-12 19:51:42 +02:00
JailDesigner
8bdc994b75
feat(render): sombra com a sprite 16x16 compartit
2026-05-11 17:29:05 +02:00
JailDesigner
b7811180ba
feat(game): spawn inicial de ROOM_INTRO sense immunitat
2026-05-11 07:53:56 +02:00
JailDesigner
5e862ceadc
fix(game): HUD lives desde YAML, prompt P1 en single-P2, countdown 9..0 configurable
2026-05-08 21:14:33 +02:00
JailDesigner and Claude Opus 4.7
c13b11c501
feat(player): join in progress + DISABLED en agotar vidas (Fase 1)
...
Habilita la regla 1 de la nova FSM de joc: durant PLAYING, qualsevol
slot DISABLED pot pulsar START per entrar a partida amb spawn aeri al
seu costat de la porta i vides reseteades. Quan un jugador esgota les
vides, `respawnFromDying` el deixa a DISABLED i publica `player_disabled`
al bus; GameScene i HUD reaccionen, deixant el slot disponible per a un
nou join. Afegeix prompts al HUD ("PULSA START / PER JUGAR" o
"ESPERA / PER JUGAR") segons l'estat de la RoomFsm.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-08 20:04:33 +02:00
JailDesigner
05465b791e
refactor(data): reorganitza data/ i centralitza paths a defaults.hpp
2026-05-07 19:28: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
2e3816783f
feat(immunity): API setImmunity/isImmune i lectura del bloc immunity
2026-05-05 13:01:22 +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
c003e6665e
feat(editor): mou la porta i persisteix geometry.door_col
2026-05-02 13:35:01 +02:00
JailDesigner
7cd7b4dc4f
chore(hole): neteja de comentaris obsolets i notes sobre riscos latents
2026-04-30 18:52:49 +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
37fdcb4751
feat(controls): redefinició de tecles i botons del mando des del menú de servei
2026-04-29 19:54:47 +02:00
JailDesigner
9f0a566ffb
feat(player): mort i respawn (DYING + death_spinning + lives counter)
2026-04-29 11:40:05 +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
72642dc10e
feat(player): so del swing del làtigo i de l'entrada a HURT
2026-04-28 19:55:53 +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
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
580c13e854
feat: estat DISABLED i spawn aeri al començar la sala — v0.25.0
2026-04-26 14:17:17 +02:00
JailDesigner
cd5bb94223
fix(player): EXITED no participa al resolver ni a checkPlayerCollisions
2026-04-26 10:41:05 +02:00
JailDesigner
5c5cd1d5da
feat(player): estat EXITED i porta oberta despawna jugadors via player_exited
2026-04-26 10:20:13 +02:00
JailDesigner
c38c80753a
feat(player): direcció preferida al HURT segons l'offset d'impacte
2026-04-25 15:29:48 +02:00
JailDesigner
e8407ce35e
feat(player): nou estat HURT — caure damunt d'un altre el llança projectat
2026-04-25 14:56:15 +02:00
JailDesigner
3646e6a4aa
feat(player): efectes de so configurables al despegue i a l'aterratge
2026-04-25 13:50:30 +02:00
JailDesigner
06ff11d563
fix(player): el z-order del saltador respecta la seua posició al sòl
2026-04-25 12:21:27 +02:00
JailDesigner
f0a0515f28
fix(player): puja la sombra pel valor jump.shadow_y_offset del YAML
2026-04-25 12:19:51 +02:00
JailDesigner
4758d5d8a4
refactor(player): mou height de jump a collision per coherència amb les entitats
2026-04-25 12:16:03 +02:00
JailDesigner
64390f8ad7
feat(player): sombra translúcida sota el jugador mentre està en l'aire
2026-04-25 11:59:13 +02:00
JailDesigner
c4caa9021e
feat(player): resol el solapament en aterrar damunt d'un altre jugador
2026-04-25 11:55:04 +02:00
JailDesigner
7b09a076b2
feat(player): salt vertical amb física, màquina d'estats i animació jump_*
2026-04-25 11:42:07 +02:00
JailDesigner
4f1a3260a5
fix(player): snapToLane respecta col·lisió PvP i empeny amb push_factor
2026-04-24 22:38:36 +02:00
JailDesigner
ea0f6d98a9
feat(player): inèrcia de frenada amb acumulador de moviment
2026-04-24 20:20:30 +02:00
JailDesigner
858e444842
feat(player): hit-box 8×8 per a contacte actor-actor (player, momia, trampa)
2026-04-24 19:23:30 +02:00
JailDesigner
511f8d5b09
fix(player): el jugador empentat es queda en stand, no walk
2026-04-24 19:00:04 +02:00
JailDesigner
1cc2e28b1b
refactor(player): divideix update en tick+applyMovement i exposa velocitat intencionada
2026-04-24 18:49:52 +02:00
JailDesigner
4e9d5df872
feat(players): suport del segon jugador amb events amb player_id
2026-04-24 14:33:52 +02:00
JailDesigner
74dad71cc2
feat(player): gir de 180° amb pose intermèdia configurable al YAML
2026-04-24 13:49:17 +02:00
JailDesigner
0f56ce7567
feat(player): publica PaintedTile amb l'índex de pintat propi
2026-04-23 13:19:01 +02:00