Salut tout le monde,
J’ai fini de coder une première version fonctionnelle d’un programme permettant de fusionner des plugins pour Morrowind. Comme pratiquement tous les joueurs de Morrowind, j’aime utiliser des plugins, mais certains posent problème lorsqu’ils sont chargés simultanément, notamment lorsque deux plugins modifient le même objet du jeu de base. Par exemple, si un premier plugin modifie le nom de chaque NPC du jeu, et qu’un autre plugin change leurs visages, seuls les effets d’un seul plugin seront pris en compte, selon l’ordre dans lequel Morrowind les charge. On peut très bien modifier chaque NPC du jeu à la main via le Construction Set ou un autre éditeur, mais si on doit le faire pour les 2955 personnages que compte morrowind.esm, le fichier principal du jeu, ça se révèle vite pénible, et on risque en plus d’ajouter des erreurs.
J’ai donc décidé d’écrire un programme qui automatise de tels changements en permettant d’importer (presque) n’importe quelle caractéristique de n’importe quel type d’objet de Morrowind, du NPC aux armures, en passant par les classes, les factions ou les sons d’ambiance. En tout, une quarantaine de types sont supportés, chacun avec un certain nombre de caractéristiques (par exemple, pour un NPC, le nom, l’inventaire, les caractéristiques, les sorts, les réglages de l’IA, le modèle du visage, les cheveux, etc…). On peut alors ouvrir un plugin, que l’on va ensuite modifier en ouvrant d’autres plugins dont on copiera/importera certaines données qui nous intéressent. Ainsi, au lieu d’avoir à charger N plugins qui risquent de se marcher dessus, on peut réduire la liste à un unique plugin comportant toutes les modifications que l’on voulait avoir. J’ai inclus la possibilité d’écrire des scripts que l’on peut ensuite distribuer. Le programme peut alors, par exemple, servir à écrire des correctifs pour certains plugins dont on a trouvé des erreurs.
Dans l’état actuel, le programme fonctionne, lentement cependant, surtout sur les gros plugins (un plugin de 4 Mo nécessite 10 secondes sur mon portable pas tout récent). Le code n’est en effet pas optimisé du tout, principalement parce que j’ai écrit les routines me permettant de lire un plugin au fur et à mesure que je comprenais la structure d’un fichier esp/esm. C’est aussi ce qui rend le code un peu beaucoup trop redondant pour l’instant.
Alors, qu’en pensez-vous? Est-ce que vous avez déjà eu besoin d’un tel programme? Est-ce une bonne chose que je le diffuse, même dans cette première version (étant donné que, vu mon emploi du temps, je ne pourrai pas l’améliorer avant un bon moment)? Je suis encore un peu partagé, d’un côté je me dis qu’il pourrait être utile, de l’autre je crains que la pause-café nécessaire à l’ouverture d’un très gros fichier (comme morrowind.esm) soit un gros problème dans l’état actuel, sans parler de l’absence d’interface graphique qui peut en rebuter certains (même si ça me semble être plus pratique). Pour ce qui est de l’intégrité des plugins produits, il est clair que l’on peut faire n’importe quoi avec ce programme si l’on ne l’utilise pas correctement, mais il suffit d’un éditeur hexa pour produire un plugin erroné… De mon côté, je me suis efforcé que le programme, correctement utilisé, produise des plugins valides sans y ajouter des erreurs.
Voilà, je finis en disant que le programme est écrit en C++ (avec Dev-C++) et que je fournirai les sources avec, en prenant le risque d’être ridicule aux yeux des pros du C++ (je débute en POO). Si des personnes sont intéressées ici, faites-moi signe et je vous mets le zip en ligne avec tout ça (avec readme inside). La raison pour laquelle je ne le fais pas tout de suite, c’est que j’attends de voir si certains sont plus pessimistes que moi et pensent qu’un tel programme est plus dangereux qu’utile (auquel cas j’éviterai de le diffuser). C’est d’ailleurs la raison pour laquelle j’ai préféré poster dans un forum qui n’est pas dédié à 100% à Morrowind.
Ah oui, j’allais oublier. J’ai Morrowind GOTY US (d’ailleurs, le programme ouvre et enregistre sans erreur morrowind.esm, tribunal.esm et bloodmoon.esm, ce qui est un bon départ je pense), mais le format de fichier esp/esm est identique pour toutes les versions localisées, il ne devrait donc pas y avoir de problème avec les plugins VF.
Un grand merci à ceux qui m’apporteront leur avis/aide!
EDIT: Voilà le lien vers le zip:
TESFE
ainsi que le lien direct vers le readme:
Le readme