Les assets originaux Amiga ont ete deposes dans <rootDir>/original/ (au lieu d’etre
recuperes via le projet soeur ../ab3d2-tkg-java/src/main/resources ou
../ab3d2-tkg-original/media/). Mise a jour des resolveurs de chemins des
convertisseurs pour preferer cette source locale, en gardant les anciennes en
fallback (retro-compatible).
Layout du nouveau dossier original/
original/walls/*.256wad— textures de murs (12 fichiers compatibles AssetConverter)original/levels/LEVEL_A..P/twolev.{bin,graph.bin,clips,...}— niveauxoriginal/vectobj/— modeles 3D vectoriels +newtexturemapsoriginal/INCLUDES/(majuscules respectees) — palettes, alien WADs, RAW HUD includesoriginal/hqn/— sprites aliens HQN (ashnarg, GUARD, insect, priest, triclaw)original/menu/— assets menu (font, fond, palette feu)original/samples/*.fib— samples sonores (format Fibonacci, voir limitations)original/256pal— palette globale (sans extension.bin)original/TEST.LNK— Game Link File
build.gradle (4 emplacements modifies)
-
findSourceResources(): nouvel ordre de priorite
1.-PassetsFrom=<chemin>(override CLI explicite)
2.<rootDir>/original(NOUVEAU : prio par defaut)
3.../ab3d2-tkg-java/src/main/resources(legacy)
4.AB3D2_ASSETS_SRC(env var) -
extractIff: 1)-PgfxFrom→ 2)<root>/original/graphics→ 3)../ab3d2-tkg-original/media/graphics.
Note : aucun fichier IFF n’est livre dansoriginal/graphicsaujourd’hui ;
le slot existe pour permettre l’ajout futur sans modification de build. -
extractRaw: 1)-PrawFrom→ 2)<root>/original/INCLUDES(majuscules) →
3)<root>/original/includes(variant minuscules pour cas-insensitive) →
4)../ab3d2-tkg-original/media/includes. Subset des RAW classiques
(panelraw, borderpal…) actuellement absent deoriginal/INCLUDES/—
fallback versmedia/includesnecessaire jusqu’a curation complete. -
dumpPalette: meme cascade queextractRaw, nouveau parametre-PincFrom.
Plus deGradleExceptionbrutale simedia/includesabsent (au profit d’un
message d’erreur plus explicite enumerant les chemins testes).
AssetConverter.java
loadPalette(): ajout de"256pal"(sans extension) a la liste des noms
candidats. Le fichieroriginal/256palest byte-pour-byte identique a
256pal.bin(1536 octets, format PALC : 256 × [R:word, G:word, B:word]
big-endian) — seul le nom differe. Le format est detecte automatiquement
parparsePaletteAmiga().
WadConverter.java
gatherWadSearchPaths(): ajout de"INCLUDES"(majuscules) et"hqn"en tete
de la liste des sous-dossiers scannes. Necessaire car :- L’utilisateur a nomme le sous-dossier
INCLUDES(toutes majuscules) dans
original/, et la lookupFiles.exists()est case-sensitive sous Linux. - Les sprites aliens HQN (ashnarg, GUARD…) sont dans
original/hqn/
plutot que dansINCLUDES/.
Limitations connues (a traiter ulterieurement)
-
convertSounds:SoundConverterattend du PCM 8-bit raw dans
sounds/raw/, maisoriginal/samples/contient des.fib
(Fibonacci-compressed). Le decompresseur n’est pas implemente cote Java.
Le chemin source deconvertSoundsn’est donc PAS bascule versoriginal/
pour cette session — il continue de chercher<src>/sounds/raw/(presence
viacopyResourcesdepuis l’ancien projet). -
convertAssetsfloors : les sols PNG (floors/iff/Floor.N.png) sont
des pre-conversions des IFF Amigamedia/graphics/floors/. Aucun
equivalent dansoriginal/;convertAssetsproduira des damiers de
fallback pour les sols si on lance le pipeline avecoriginal/comme
seule source. La vraie passe sera un decodeurfloortile(chunky 8-bit
depuisINCLUDES/floortile) — chantier separe. -
gradle.properties: pas de reorganisation cette session puisque aucune
nouvelle tache Gradle n’a ete enregistree (juste modifications de
tasks.registerexistantes).