refactor(player): mou height de jump a collision per coherència amb les entitats

This commit is contained in:
JailDesigner committed 2026-04-25 12:16:03 +02:00
1 parent 64390f8ad7
commit 4758d5d8a4
4 files changed
+54 -35

No files matched your search

+9 -3
View File
@@ -66,7 +66,8 @@ class Player : public AnimatedSprite {
inline static int hit_x_offset = 0;
inline static int hit_y_offset = 0;
// Alçada del cos del jugador en píxels (camp `jump.height` del YAML).
// Alçada del cos del jugador en píxels (camp `collision.height` del
// YAML, mateixa convenció que entitats com mummy o rolling_rock).
// L'usen els filtres de col·lisió per altura: si un altre actor ens
// creua mentre `jump_z_` és superior a aquest valor, no col·lisionem.
inline static int body_height = 0;
@@ -370,8 +371,13 @@ class Player : public AnimatedSprite {
};
static JumpConfig jump_config;
// Llig el bloc `jump:` del YAML i n'omple `jump_config` + `body_height`.
// Membre estàtic perquè accedeixi als estàtics privats sense exposar-los.
// Llig el bloc `collision:` del YAML i n'omple les caixes (size/base/
// hit) + `body_height`. Llança si el bloc no existeix. Membre estàtic
// per accedir als estàtics privats sense exposar-los.
static void readCollisionBlock(const fkyaml::node& yaml, const std::string& yaml_path);
// Llig el bloc `jump:` del YAML i n'omple `jump_config`. Si el bloc
// manca, deixa la mecànica del salt desactivada.
static void readJumpBlock(const fkyaml::node& yaml);
// Estat de la màquina d'estats. Mutat per `tick`/`applyMovement`. Per