Morrowind: Fusionner des plugins

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

Mon avis qui va aller très vite : c’est une idée de génie, je t’aime :stuck_out_tongue:
Tu peux pas imaginer le nombre de fois que j’ai eu un problème qui aurait pu être résolu avec ton soft…
Non vraiment c’est un des trucs qui manquait le plus !

Oh putain pareil, j’ai pas encore testé que c’est déjà indispensable pour moi, j’imagine déjà plus jouer au jeu sans.

On baise ?

Excellente initiative :stuck_out_tongue:

C’est vrai qu’il fallait y penser, et avoir le courage de le faire, parce que le nombre de fois que j’ai pesté contre des plug-in qui voulaient par marcher ensemble :stuck_out_tongue:

Bref, merci beaucoup :stuck_out_tongue:

Tu as déjà quelques personnes intéressées par ce genre de programme et je ferais un bon quatrième si je jouais encore à Morrowind. Je pense que tu peux donc mettre ton programme en ligne quelque part.

Vas sur www.wiwiland.com pour le leur proposer

Merci à tous pour vos réactions et compliments, j’espère que le programme vous plaira même si, comme je l’ai précisé, il s’agit d’une première version.

J’ai modifié mon premier post en ajoutant le lien vers le zip (environ 700 ko), et j’en ai profité pour préparer un petit exemple de script, que j’ai glissé dans le zip. J’ai également inclus un lien direct vers le readme, pour ceux qui veulent en savoir un peu plus sans avoir à ouvrir le zip.

Concernant le programme et son interface textuelle, je ne me suis pour le moment pas préoccupé de la conversion des jeux de caractères. Les caractères accentués posent donc problème, mais le tout reste suffisamment lisible pour être utilisable.

Pour ce qui est de l’exemple, il se compose de trois fichiers: “exemple.txt”, “hairlist.txt” et “headslist.txt”, montrant la structure des fichiers utilisés par le programme. Pour info, ils sont destinés à être utilisés pour fusionner le plugin “Super Adventurers 3.02” avec un plugin que j’avais réalisé en mélangeant “Better Heads” et “Better Bodies”. Si quelqu’un est intéressé, faites-moi signe, et je vous expliquerai plus en détail comment les utiliser.

Comme promis, j’ai également inclus le code source, dont la plupart des commentaires relatifs aux classes ne sont plus d’actualité, étant donné que la structure du programme devrait changer dans les versions futures. Dans le zip se trouve également une documentation que j’ai écrite au fur et à mesure de ma compréhension du format des plugins. Elle n’est pas tout-à-fait terminée, quelques descriptions manquent encore à l’appel, mais elle devrait suffire pour le moment.

Voilà, j’accepte volontiers toute critique (bonne ou mauvaise) ou suggestion de nouvelle fonctionnalité; vous avez également le droit de me pendre si vous trouvez des erreurs :P. Etant donné que je n’ai actuellement pas vraiment le temps de me remettre sérieusement sur le code, j’essaierai de les réparer, pour autant que ça puisse être vite fait.
Pour finir, n’hésitez pas si vous avez des questions quant au fonctionnement du programme.

[quote name=‘Lachlan’ date=’ 3 Oct 2005, 22:33’]Vas sur www.wiwiland.com pour le leur proposer
[right][post=“404097”]<{POST_SNAPBACK}>[/post][/right][/quote]
C’est ce que je vais faire dès dem… ah zut, dès aujourd’hui alors.

Voilà, encore merci à tous ceux qui ont répondu!

Cool moi qui venait de m’installer Morrowind sur le portable de ma copine. Ca tombe à pique pour moi. Malheureusement morrowind summit organise ses mods n’importe comment et j’ai la version VO (même pas piratée)
Est ce que les mods dispo chez Wiwiland fonctionnent aussi avec?

Il y a des chances pour que non vu que Wiwiland couvre surtout la VF.

wiwiland ne fait QUE des mods compatibles avec la version VF de morrowind :stuck_out_tongue:

il y a des trucs qui passerons sur la version VO mais c’es tres rares,
je pense aux mods qui rajoutes que des textures…