Aller au contenu principal

Session 132duodecimus (suite 11) — Fix textures murs repetees 4x trop

Demande user

« En rebuildant j’ai des erreurs de textures multiplies sur les murs (…). Il
faut vraiement que tu te colles a ce que le ASM/C fait. »

Screenshot fourni : mur de casiers Level A zone 3 montrant 7-8 textures
casier cote-a-cote au lieu des 2 attendues.

Diagnostic

La constante {@code WorldScale.WALL_TEXEL_TO_XZ} valait 0.5 depuis la session
132bis (2026-05-04). Cette valeur n’etait pas conforme a l’ASM mais
avait ete ajustee sur du feedback visuel utilisateur.

Reference ASM/README.md du jeu original :

An unscaled 128×128 texture will repeat every 128 steps in the Y direction
and every 256 steps in the X/Z directions.

Donc :
– 128 texels U = 256 X/Z steps -> 1 texel = 2 X/Z steps
-> {@code WALL_TEXEL_TO_XZ = 2.0} (valeur ASM-fidele)
– 128 texels V = 128 Y steps -> 1 texel = 1 Y step (1:1)
– Aspect ratio U:V = 32:32 = 1:1 (textures non deformees)

Avec 0.5 (valeur precedente) :
– 1 m JME = 128 texels U mais seulement 32 texels V
– Ratio U:V = 4:1 -> texture aplatie horizontalement
– 4x trop de repetitions visibles sur un meme mur

Fix

Dans {@code WorldScale.java} :

// AVANT (session 132bis, non-ASM)
public static final float WALL_TEXEL_TO_XZ = 0.5f;

// APRES (session 132duo suite 11, ASM-fidele)
public static final float WALL_TEXEL_TO_XZ = 2.0f;

Et mise a jour des commentaires dans {@code LevelSceneBuilder.java} qui
referenceaient l’ancienne valeur (header de classe + bloc lift sides).

Effet attendu

  • Une tile 128×128 couvre 4 m JME en horizontal (au lieu de 1 m avant)
  • Casiers Level A zone 3 : ~2 textures cote-a-cote au lieu de ~7-8
  • Aspect ratio des textures murales : 1:1 (proportions correctes)
  • Aucun changement sur l’axe V (deja en 1:1, 32 texels par metre)
  • Les portes (makeDoorSegGeo) et lifts (sideTileUSize) heritent
    automatiquement du nouveau ratio via la meme constante

A faire pour valider

  1. ./gradlew buildScenes pour regenerer les .j3o
  2. Tester en jeu Level A zone 3 (les casiers visibles dans le screenshot)
  3. Verifier toutes les zones et niveaux : les textures ne doivent plus etre
    repetees excessivement
  4. Verifier les sides des lifts (zone 104 Level A)
  5. Si certains murs paraissent maintenant trop etires, c’est probablement
    parce qu’ils sont vraiment longs (plusieurs metres) -> normal

Limitations connues (a traiter dans suites ulterieures)

Le user a aussi rapporte dans le meme message :
– Bugs sur les portes : espaces entre les parties de la porte
– Alien de la 1ere salle qui ne peut pas sortir par la porte

Ces 2 bugs sont dans des zones de code differentes
({@code DoorControl} runtime + animation, {@code AlienAI} pathfinding).
Ils seront traites dans des suites separees apres validation visuelle
de la correction des textures.

Laisser un commentaire

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