Aller au contenu principal

Session 132duodecimus (suite 13c) — Phase C portes : vM=1 + tronquer le haut

Bugs fixes apres test utilisateur de la suite 13b

Bug observe Fix
Porte fermee n’affiche pas 1 chevron complet Force vM=1 dans makeDoorSegGeo pour les portes
L’ouverture tronque le BAS au lieu du HAUT V_top descend (au lieu de V_bot qui montait)

Fix 1 : porte fermee = 1 chevron complet

La texture {@code wall_05_chevrondoor.png} fait 64×128 px et illustre une
porte complete (chevrons + grille + ecran). Elle doit etre affichee
exactement une fois sur le panneau ferme, peu importe la hauteur du
couloir. Avant on calculait {@code vM = wallH_pixels/tileH} :

  • Couloir 4m -> vM = 128/128 = 1.0 ok
  • Couloir 6m -> vM = 1.5 -> texture se repetait 1.5x
  • Couloir 3m -> vM = 0.75 -> seulement les 3/4 du bas visibles

Maintenant on force {@code vM = 1f} dans {@code
LevelSceneBuilder.makeDoorSegGeo()}, ce qui etire/comprime legerement la
texture verticalement pour qu’elle remplisse exactement 1 fois le panneau
ferme. C’est le comportement Amiga d’origine : la texture-porte est
designee specifiquement pour la hauteur de porte du jeu, pas pour les
zones generales.

Fix 2 : ouverture tronque le HAUT (et non le BAS)

L’utilisateur a confirme apres test : la texture doit donner l’illusion
d’une porte qui glisse vers le haut et rentre dans le linteau, donc
le haut de la texture (= ecran/grille) doit disparaitre en premier,
pas les chevrons du bas.

Dans {@code DoorControl.updateMeshes()} :

  • Avant (s13b) : V_bas montait avec ratio (= on voyait moins du bas)
  • Apres (s13c) : V_haut descend avec ratio (= on voit moins du haut)
ferme  : V_haut=1, V_bas=0  (texture complete)
mi-open: V_haut=0.5, V_bas=0  (moitie basse de la texture sur moitie
                                 inferieure du panneau, sans compression)
ouvert : V_haut=0, V_bas=0  (collapse)

Fichiers modifies

  • LevelSceneBuilder.java : vM=1f dans makeDoorSegGeo (+ retrait
    wallH_pixels devenu inutilise).
  • DoorControl.java : inverser le slide V (V_top descend, V_bot inchange).

Tests prevus

  • Niveau A premiere porte (zone 5) : 1 chevron complet visible quand fermee.
  • Pendant l’ouverture : la grille/ecran du haut de la texture disparait
    progressivement, les chevrons restent visibles au bon ratio.
  • Si l’effet visuel ressemble plus a « texture qui glisse vers le haut »
    que a « texture tronquee par le haut » -> envisager option B (V_bas
    monte ensemble avec V_top, avec WrapMode.EdgeClamp pour eviter le
    wrap).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *