« ESLisation » : différence entre les versions

De La Confrérie des Traducteurs
Ligne 4 : Ligne 4 :


== Qu'est-ce qu'un ESL ? ==
== Qu'est-ce qu'un ESL ? ==
Les ESL sont des plugins utilisant l'index FE de l'ordre de chargement et disposant d'un flag ESL (d'où leur nom parfois de plugins ''flaggés ESL'').  
Les ESL sont des plugins utilisant l'index (deux premiers caractères) '''FE''' de l'ordre de chargement et disposant d'un '''flag ESL''' (d'où leur nom parfois de plugins ''flaggés ESL'').  


* Les ESL ont pour extension ESL (logique) et sont chargés en priorité : ils ne peuvent pas être placés après un ESP.
* Les '''ESL''' ont pour extension ESL (logique) et sont chargés en priorité : ils ne peuvent pas être placés après un ESP.
* Les ESPFE ont pour extension ESP et se placent après les ESL.
* Les '''ESPFE''' ont pour extension ESP et se placent après les ESL.
* Les ESM peuvent également être flaggés ESL.
* Les '''ESM''' peuvent également être flaggés ESL.


Tous les plugins ne sont pas convertissables. Il y a une limitation de 4096 FormIDs (''records'') pour un mod depuis la version 1.6.1130 du jeu. Les plus gros mods (quêtes, mondes) ne pourront donc pas être ESLisés.
Tous les plugins ne sont pas convertissables. Il y a une limitation de '''4096 FormIDs''' (''records'') pour un mod depuis la version 1.6.1130 du jeu (le double d'avant). Les plus gros mods (quêtes, mondes) ne pourront donc pas être ESLisés, mais la plupart pourront l'être !


== Conversion sans compactage ==
== Que convertir ? ==
Le premier cas de figure concerne l'ESLisation de plugin ne nécessitant pas de compactage des FormIDs : il peut s'agir de plugins vides (signalant au jeu de charger les archives BSA ou les scripts associés) indiqués dans LOOT et dans MO2, ou de plugins ne contenant que des FormIDs vanilla (essentiellement des patches).
Vous pouvez ESLiser en priorité les plugins ne nécessitant pas de compactage des FormIDs : il peut s'agir des plugins vides (signalant au jeu de charger les archives BSA ou les scripts associés) indiqués par une icône d'œil barré dans LOOT et dans MO2 où les plugins eux-mêmes sont barrés, ou de plugins ne contenant que des FormIDs vanilla (essentiellement des ajustements et des patches). L'ESLisation est 100 % sûre avec ces plugins !
{{Note|type=warn|text=Ne convertissez pas vos plugins en cours de partie.


=== Comment convertir ? ===
Regénérez votre Bashed Patch une fois que le travail est terminé.}}


* Ouvrir SSEEdit
== Comment convertir ? ==
* Charger le plugin que vous souhaitez convertir
* Ouvrez [[xEdit]].
* Une fois que le loader a terminé, clique-droit sur le plugin et sélectionner "Compact FormIDs for ESL".
* Chargez le plugin que vous souhaitez convertir.
{{Note|type=warn|text=Si vous avez le message d'avertissement, ne faites rien et passez au mod suivant.}}
* Une fois que le chargement est terminé, faites un clic droit sur le plugin et sélectionnez '''Compact FormIDs for ESL'''.
* Si vous avez le message "Nothing to do", vous êtes serein pour l'étape suivante.
Deux cas de figure se présentent alors :
* Sélectionner le plugin, puis clic droit dans la partie Record Flags, Edit (choisir Yes I'm sure) et cocher ESL (voir l'image en-dessous).
* Si vous avez le message '''Nothing to do''', cela signifie qu'il n'y a aucune entrée à compacter et que le flag ESL peut être appliqué directement.
* OK, enregistrer les modifications et quitter SSEEdit
* Si vous avez un '''message indiquant le nombre de records à compacter''', c'est que les entrées seront compactées avant d'appliquer le flag ESL. Si le mod contient certains types de données dépendant des FormIDs (audios, FaceGens, scripts...) ou a des patches dépendants, le compactage peut poser problème ou nécessiter d'autres manipulations (voir plus bas).


=== Remarques ===
*Sélectionnez le plugin, puis clic droit dans la partie '''Record Flags > Edit > ESL'''.
Ne convertissez pas vos plugins en cours de partie, et regénérez vos Bashed/Smashed Patch une fois que le travail est terminé !
*Cliquez sur OK, enregistrez et quittez.


Il faudra toujours faire des copies et tester chaque mod après conversion (sauf les plugins vides et ceux que j'ajouterai ici au-fur et à mesure de mes tests).  
=== Conversion avec compactage ===
Si vous avez l'avertissement avec le nombre de records à compacter, vous pouvez cliquer sur Yes et appliquer le flag ESL de la même façon une fois le compactage terminé (procédure très rapide). Toutefois, cette procédure nécessite de la prudence. Il faut :


Les patchs et les petits mods seront très souvent ESLisables sans compactage (donc sans risques), pensez à tous les passer au "Compact FormIDs Test"  :D 
* s'assurer que le mod n'a pas de dialogues audio ni de nouveaux PNJs avec FaceGens, car ceux-ci sont nommés d'après les FormID ;
* charger tous les patches dépendant en même temps lors de la conversion afin qu'xEdit y fasse suivre les changements de FormID ;
* idéalement, tester chaque mod après conversion (xEdit fait une sauvegarde par défaut).


En résumé, il y a deux cas de figure :
Sur le site de la Confrérie, le tag '''ESLisable''' est apposé sur les mods dont le plugin principal a été testé après conversion, mais qui n'est pas officiellement ESLisé (mises à jour, patches dispersés...).


Compactage non nécessaire - "Nothing to do" - vous pouvez appliquer le flag ESL, la conversion est 100% sûre !
== Compacter un mod avec audio/FaceGen ==
À venir


Compactage nécessaire - Ne compactez pas un mod dont des patches dépendent, sauf si vous les chargez en même temps dans xEdit afin que les changements d'ID leur soient appliqués automatiquement.
== Recherche d'un bug (très) rare issu de l'ESLisation ==
Un (très rare) bug peut se produire lorsqu'un plugin ESLisé écrase les records de CELL qui ont été ajoutés par un autre plugin ESLisé.


si le plugin se trouve dans la liste, vous pouvez le convertir en toute sérénité. Sinon pensez à activer le backup au moment de sauvegarder le plugin dans SSEEdit et testez avant d'aller plus avant !
Dans ce cas, les références temporaires dans cette CELL n'apparaîtront pas dans le jeu. Avec un script xEdit, vous pouvez scanner votre ordre de chargement pour vérifier si vous avez ce bug et, si c'est le cas, supprimer le plugin affecté.


== Conversion avec compactage ==
Téléchargez [https://mega.nz/file/ZZRxhBwQ#scAEHVSZIFpEWCcejooFp4uXVTxmTALYn8pKrt5s8K4 ce script] et placez le dossier contenu dans l'archive dans le dossier '''Edit Scripts''' de xEdit.
Modus operandi : lancez systématiquement "Compact FormIDs for ESL" en premier; <br />si vous avez le message "Nothing to do", vous pouvez appliquer le flag ESL et sauvegarder
* Lancez xEdit et chargez TOUS vos plugins.
* si vous avez l'avertissement avec le nombre de records à compacter, faites "oui" et appliquez le flag ESL une fois le compactage terminé (procédure très rapide). Je rappelle que cette procédure nécessite des tests (si les plugins que vous convertissez ne sont pas dans la liste), et je vous conseille de charger les patches en même temps lors de la conversion afin qu'xEdit y fasse suivre les éventuels changements d'ID !
* Faites CTRL+A pour sélectionner tous vos plugins dans la fenêtre de gauche, cliquez n'importe où dans la fenêtre et choisissez '''Apply Script'''.
 
* Sélectionnez '''Check for ESL CELL Bug''' et laissez-le bosser.
Via le site de la Confrérie, vous pouvez également trier par tag "ESLisable" pour les mods dont le plugin principal est ESLisable et a été longuement testé après conversion.
* Si vous n'avez aucun avertissement en fin de procédure, c'est que vous n'avez pas le bug. Sinon, supprimez le(s) plugin(s) qui sont touchés par le bug.
 
=== Recherche d'un bug (très) rare isssu de l'ESLisation ===
Dans Skyrim SE, un (très rare) bug peut se produire lorsqu'un plugin ESLisé écrase les records de CELL qui ont été ajoutés par un autre plugin ESLisé.
 
Dans ce cas, les références temporaires dans cette CELL n'apparaîtront pas dans le jeu. Avec un script SSEEdit, vous pouvez scanner votre ordre de chargement pour vérifier si vous avez ce bug et si c'est le cas, supprimer le plugin affecté.
 
Téléchargez [https://mega.nz/file/ZZRxhBwQ#scAEHVSZIFpEWCcejooFp4uXVTxmTALYn8pKrt5s8K4<nowiki> ce script] et placez le dossier contenu dans l'archive dans le dossier d'installation d'SSEEdit.</nowiki>
* Lancez SSEEdit et chargez TOUS vos plugins.
* Faites un CTRL + A pour sélectionner tous vos plugins dans la fenêtre de gauche, cliquez n'importe où dans la fenêtre et choisissez "Apply Script".
* Sélectionnez "Check for ESL CELL Bug" et laissez-le bosser.
* Si vous n'avez aucun avertissement en fin de procédure, c'est que vous n'avez pas le bug, sinon supprimez le/les plugins qui sont touchés par le bug.

Version du 2 mars 2024 à 22:29

Dans Skyrim Special Edition et Fallout 4, l'ordre de chargement (load order) n'autorise que 256 entrées pour les plugins des ESP et ESM, ce qui peut très vite être atteint suivant vos ambitions de modding.

L'ordre de chargement des ESL/ESPFE, lui, permet d'atteindre les 4096 plugins. La plupart des moddeurs fournissent leurs mods directement en ESL/ESPFE, mais il peut arriver que ce ne soit pas le cas et que vous deviez le faire vous-même : ce tutoriel vous apprend comment vous y prendre.

Qu'est-ce qu'un ESL ?

Les ESL sont des plugins utilisant l'index (deux premiers caractères) FE de l'ordre de chargement et disposant d'un flag ESL (d'où leur nom parfois de plugins flaggés ESL).

  • Les ESL ont pour extension ESL (logique) et sont chargés en priorité : ils ne peuvent pas être placés après un ESP.
  • Les ESPFE ont pour extension ESP et se placent après les ESL.
  • Les ESM peuvent également être flaggés ESL.

Tous les plugins ne sont pas convertissables. Il y a une limitation de 4096 FormIDs (records) pour un mod depuis la version 1.6.1130 du jeu (le double d'avant). Les plus gros mods (quêtes, mondes) ne pourront donc pas être ESLisés, mais la plupart pourront l'être !

Que convertir ?

Vous pouvez ESLiser en priorité les plugins ne nécessitant pas de compactage des FormIDs : il peut s'agir des plugins vides (signalant au jeu de charger les archives BSA ou les scripts associés) indiqués par une icône d'œil barré dans LOOT et dans MO2 où les plugins eux-mêmes sont barrés, ou de plugins ne contenant que des FormIDs vanilla (essentiellement des ajustements et des patches). L'ESLisation est 100 % sûre avec ces plugins !

Ne convertissez pas vos plugins en cours de partie. Regénérez votre Bashed Patch une fois que le travail est terminé.

Comment convertir ?

  • Ouvrez xEdit.
  • Chargez le plugin que vous souhaitez convertir.
  • Une fois que le chargement est terminé, faites un clic droit sur le plugin et sélectionnez Compact FormIDs for ESL.

Deux cas de figure se présentent alors :

  • Si vous avez le message Nothing to do, cela signifie qu'il n'y a aucune entrée à compacter et que le flag ESL peut être appliqué directement.
  • Si vous avez un message indiquant le nombre de records à compacter, c'est que les entrées seront compactées avant d'appliquer le flag ESL. Si le mod contient certains types de données dépendant des FormIDs (audios, FaceGens, scripts...) ou a des patches dépendants, le compactage peut poser problème ou nécessiter d'autres manipulations (voir plus bas).
  • Sélectionnez le plugin, puis clic droit dans la partie Record Flags > Edit > ESL.
  • Cliquez sur OK, enregistrez et quittez.

Conversion avec compactage

Si vous avez l'avertissement avec le nombre de records à compacter, vous pouvez cliquer sur Yes et appliquer le flag ESL de la même façon une fois le compactage terminé (procédure très rapide). Toutefois, cette procédure nécessite de la prudence. Il faut :

  • s'assurer que le mod n'a pas de dialogues audio ni de nouveaux PNJs avec FaceGens, car ceux-ci sont nommés d'après les FormID ;
  • charger tous les patches dépendant en même temps lors de la conversion afin qu'xEdit y fasse suivre les changements de FormID ;
  • idéalement, tester chaque mod après conversion (xEdit fait une sauvegarde par défaut).

Sur le site de la Confrérie, le tag ESLisable est apposé sur les mods dont le plugin principal a été testé après conversion, mais qui n'est pas officiellement ESLisé (mises à jour, patches dispersés...).

Compacter un mod avec audio/FaceGen

À venir

Recherche d'un bug (très) rare issu de l'ESLisation

Un (très rare) bug peut se produire lorsqu'un plugin ESLisé écrase les records de CELL qui ont été ajoutés par un autre plugin ESLisé.

Dans ce cas, les références temporaires dans cette CELL n'apparaîtront pas dans le jeu. Avec un script xEdit, vous pouvez scanner votre ordre de chargement pour vérifier si vous avez ce bug et, si c'est le cas, supprimer le plugin affecté.

Téléchargez ce script et placez le dossier contenu dans l'archive dans le dossier Edit Scripts de xEdit.

  • Lancez xEdit et chargez TOUS vos plugins.
  • Faites CTRL+A pour sélectionner tous vos plugins dans la fenêtre de gauche, cliquez n'importe où dans la fenêtre et choisissez Apply Script.
  • Sélectionnez Check for ESL CELL Bug et laissez-le bosser.
  • Si vous n'avez aucun avertissement en fin de procédure, c'est que vous n'avez pas le bug. Sinon, supprimez le(s) plugin(s) qui sont touchés par le bug.