diff --git a/mods/nosingleplayer/README.md b/mods/nosingleplayer/README.md index 3349a67..dfca353 100644 --- a/mods/nosingleplayer/README.md +++ b/mods/nosingleplayer/README.md @@ -13,14 +13,27 @@ au serveur unique : pas de refmap nécessaire. Build : `cd mods/nosingleplayer && ./gradlew build` (dans nix-shell racine pour Java 25). -Jar : `build/libs/nosingleplayer-1.1.9.jar` → copié dans `atlas/.../fabricmods/required/`. +Jar : `build/libs/nosingleplayer-1.2.0.jar` → copié dans `atlas/.../fabricmods/optionalon/`. + +## Textures + +MC 26.3 n'expose pas les ressources des mods au ResourceManager (vérifié : le panorama +vanilla affiche le stock Mojang, pas les `panorama_*.png` du mod). Les PNG sont donc +lus **dans le jar** et enregistrés via le mécanisme officiel de MC +(`ReloadableTexture` + `TextureContents`) : c'est MC qui crée la texture GPU et le +sampler, exactement comme pour ses propres textures. + +⚠️ La texture GPU doit être créée **hors de l'extraction du rendu** (ici dans +`TitleScreen.init`) : la créer pendant l'enregistrement des commandes d'une frame +invalide le frame entier sur les backends à command encoder (Vulkan) → menu titre +**entièrement noir** (constaté sur Windows + NVIDIA). ## Diagnostic - `-Dsurviepote.customTitle=false` (options JVM du launcher) : repasser au menu **vanilla** (panorama vanilla au lieu du fond custom). Sert à isoler un souci de rendu du fond custom. -- Le mod log au démarrage du menu : `[SurviePote] GPU: | | pilote | backend ` - et `[SurviePote] Fond chargé : x` (ou l'erreur de chargement de la texture). +- Le mod log au démarrage du menu : `[SurviePote] Texture enregistrée : … (1920x1200)` et + `[SurviePote] GPU: | | pilote | backend `. - Si le fond custom échoue (texture refusée par le GPU, jar corrompu…), le mod se repli automatiquement sur le panorama vanilla au lieu de laisser un écran noir.