// entities.hpp - Configuració d'objectes del joc (límits i radis de col·lisió) // © 2026 JailDesigner #pragma once #include namespace Defaults::Entities { constexpr int MAX_ORNIS = 15; constexpr int MAX_BULLETS = 50; // per jugador (P1 + P2 = 2× aquest valor) constexpr int MAX_ENEMY_BULLETS = 50; // pool reservat per a bales d'enemic // Total real de slots a l'array global bullets_: zona P1, zona P2 i zona enemic. // Reservar zones impedeix que les bales d'enemic ocupin slots del jugador. constexpr int MAX_BULLETS_TOTAL = (MAX_BULLETS * 2) + MAX_ENEMY_BULLETS; constexpr int ENEMY_BULLET_START_IDX = MAX_BULLETS * 2; // Convenció d'owner_id per a Bullet::fire: // 0..1 = players (P1, P2) // ENEMY_OWNER_BASE + index = enemic concret (per identificar el seu autoimpacte) // Una bala mata a qualsevol col·lisió excepte amb el seu propi creador. constexpr uint8_t ENEMY_OWNER_BASE = 128; // SHIP_RADIUS / ENEMY_RADIUS / BULLET_RADIUS han migrat: ara cada entitat // calcula el seu collision_radius com a // shape.bounding_radius × shape.scale × shape.collision_factor // a partir del seu YAML (data/entities//.yaml). } // namespace Defaults::Entities