Commit Graph
66 Commits
Author SHA1 Message Date
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 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 de7233a012 fix(player): facing del sprite des del desplaçament real, no de l'input 2026-05-01 10:24:13 +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 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 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 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 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 d054d1b246 fix(player): respawn reseteja facing a DOWN i input/cardinal pendents 2026-04-26 10:47:13 +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 377e5d0b97 feat(player): clamp permet pujar al passadís + porta tancada bloqueja via Map::collides 2026-04-26 10:09:04 +02:00
JailDesigner 3e379ce129 feat(effects): polvet transitori al despegue i a l'aterratge 2026-04-25 17:51:55 +02:00
JailDesigner c38c80753a feat(player): direcció preferida al HURT segons l'offset d'impacte 2026-04-25 15:29:48 +02:00
JailDesigner 4667e0abf9 fix(player): saltar enmig d'un gir de 180° comprometeix la direcció final 2026-04-25 15:17:45 +02:00
JailDesigner 7f78f556f3 fix(player): el disparador del HURT en aterrar usa la hit-box, no la base-box 2026-04-25 15:01:56 +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 188f035333 feat(player): saltar travessa el caminant; rebot mid-aire entre dos saltadors 2026-04-25 14:20:38 +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 f3f5fa5e92 feat(player): animacions stun_* durant l'aterratge 2026-04-25 13:48:03 +02:00
JailDesigner 3a750822f6 fix(player): la resolució del solapament en aterrar usa la base-box, no la hit-box 2026-04-25 12:23:21 +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 a64f33fe43 feat(player): no pinta el sòl mentre està en l'aire; aterratge sí pinta 2026-04-25 11:52:25 +02:00
JailDesigner cd50626b88 feat(collisions): filtre per altura — saltar esquiva momies, roques i altres jugadors 2026-04-25 11:49:48 +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 1af43ef052 fix(player): llegeix sprite.size al loadFrom (frameWidth/Height ja no existeixen) 2026-04-24 22:05:21 +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 a725b76684 feat(input): assignació mando↔jugador persistida a config.yaml 2026-04-24 15:13:44 +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
JailDesigner 4da05b3d76 chore(release): v0.21.0 — empaquetat de recursos (AE26) i neteja de fonts
- Nou format de pack AE26 v1 (XOR + djb2), eina `pack_resources`,
  regeneració automàtica de `build/resources.pack` a cada build.
- `Resource::Helper` amb init/shutdown, fallback a disc només en Debug
  (apunta al source tree); Release exigeix pack present.
- Callers de YAML migrats a `loadFile`+deserialize des de buffer.
- Arrel neta: el pack viu a `build/`, eliminat `sync_data`.
- Placeholder font -> `ari-w9500-condensed-display`; esborrades variants
  bold/condensed no usades a `data/fonts/`.
2026-04-23 08:51:21 +02:00
JailDesigner a230351b79 feat(gamepad): controls de gamepad per al player i el menú de servei 2026-04-22 19:43:37 +02:00
JailDesigner fb40d0effb feat(menu): submenú Controls i bloqueig de polling amb menú obert 2026-04-22 19:05:36 +02:00