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
./gradlew buildScenespour regenerer les .j3o- Tester en jeu Level A zone 3 (les casiers visibles dans le screenshot)
- Verifier toutes les zones et niveaux : les textures ne doivent plus etre
repetees excessivement - Verifier les sides des lifts (zone 104 Level A)
- 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.