Dev #11

Merged
w-vandal merged 23 commits from dev into main 2026-09-04 19:13:42 +00:00
Showing only changes of commit 726775fe4e - Show all commits
+18 -11
View File
@@ -32,17 +32,24 @@ function forgeElementBoxRect(el, collision) {
return forgeCollisionRectFromBox({ left: left, top: top, width: width, height: height }, collision);
}
// Une petite marge (px) appliquée SEULEMENT à la détection du
// déclencheur "collision" ci-dessous — jamais au blocage physique du
// déplacement (forgeWouldCollide, personnage-controller.js, qui reste
// strict). Bug corrigé : un objet est presque toujours aussi un
// OBSTACLE SOLIDE (collision activée par défaut) — le joueur ne peut
// donc jamais aller au-delà d'un contact tangent (bords qui se touchent
// SANS se chevaucher), et un chevauchement STRICT (forgeShapesOverlap
// nu) n'était donc jamais atteint : la règle "à la collision" ne se
// déclenchait jamais. Cette marge élargit la boîte testée pour que ce
// simple contact compte comme une collision.
var FORGE_COLLISION_RULE_TOUCH_MARGIN = 3;
// Une marge (px) appliquée SEULEMENT à la détection du déclencheur
// "collision" ci-dessous — jamais au blocage physique du déplacement
// (forgeWouldCollide, personnage-controller.js, qui reste strict). Bug
// corrigé : un objet est presque toujours aussi un OBSTACLE SOLIDE
// (collision activée par défaut) — le joueur ne peut donc jamais aller
// au-delà d'un contact tangent, et un chevauchement STRICT
// (forgeShapesOverlap nu) n'était donc jamais atteint : la règle "à la
// collision" ne se déclenchait jamais. forgeWouldCollide bloque le
// déplacement PAR PAS ENTIER (cmd.vitesse px/tick, 4 par défaut mais
// réglable plus haut dans "Commandes") : le joueur peut donc rester
// bloqué jusqu'à PRESQUE un pas entier de distance de l'obstacle, pas
// seulement 1-2px — une marge trop petite (ex. 3px) restait donc
// insuffisante pour une vitesse par défaut déjà. 24px couvre
// confortablement toute vitesse raisonnablement configurée, tout en
// restant petit face à la taille d'un sprite (souvent 64-128px) pour ne
// jamais déclencher "à la collision" alors que les objets sont encore
// visiblement séparés.
var FORGE_COLLISION_RULE_TOUCH_MARGIN = 24;
function forgeExpandRect(rect, margin) {
return {