Aller au contenu principal

Session 57 — Vraies couleurs vectobj depuis newtexturemaps

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.png et bank1.png
  • API sampleColor(texData, shadeData, palette, texOffset, brightness) pour VectObjConverter

VectObjConverter.java

  • loadTextureData() : charge les 3 fichiers au démarrage
  • brightnessToColor() : 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

Laisser un commentaire

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