TextureMapConverter.java (nouveau)
- Lit
newtexturemaps(128KB raw 8bpp Amiga chunky) - Lit
newtexturemaps.pal(16KB shade table BYTE[64][256]) - Lit
256pal.bin(1536 bytes = 256 × 6 bytes PALC format) - Génère
assets/Textures/vectobj/texturemaps_bank0.pngetbank1.png - API
sampleColor(texData, shadeData, palette, texOffset, brightness)pour VectObjConverter
VectObjConverter.java
loadTextureData(): charge les 3 fichiers au démarragebrightnessToColor(): utilise vraies couleurs Amiga si disponibles- Y inversé (jme_y = -amiga_y) : correction axe Amiga→JME
- onOff bitmask respecté : parties invisibles en frame 0 skippées
build.gradle
- Nouvelle tâche
convertTextureMaps
Découverte clé (analyse diagnostic blaster)
Le format d’une entrée vertex est :
– BYTE normalIdx | BYTE ptIdx | BYTE u | BYTE v
– Quand normalIdx=0 : ptIdx = index point valide
– Quand normalIdx!=0 : vertex toujours clippé dans le jeu (cross product 0)
VectObjConverter.java
- Lecture vertex : low byte = ptIdx (non le WORD entier)
- Triangulation partielle par triangle individuel