Dialog updater

Répondre
Partager Rechercher
Voilà, le programme, ou du moins sa première mouture, est achevé:
Le programme
Une démo un peu particulière
Les sources

le petit executable permettant de décaller les index des références relatives dans un dup:
duprenum

Lisez les readme du programme et de la démo.

Les sources sont assez monstrueuses, même moi j'en ai conscience (cf processing.c), mais bon c'est ce qui arrive quand on rajoute des trucs vingt fois en cour de route...

EDIT: pardon pour les fôtes dans le readme... je corrigerais ça plus tard.

DERNIER EDIT: ajout de duprenum, mise à jour des sources
note: elles sont plus à jour que l'executable
Je pense que j'avais fait un mélange des includes français et anglais à la compilation, c'est réglé, un fichier source a d'ailleurs été modifié.
Comme j'avais aussi légèrement abusé des fautes de frappe dans les readme, j'en ai profité pour corriger ça aussi. Il reste sûrement des fautes ceci dit.
J'ai essayé le module de test mais je sais pô où je peut retrouver la modif "Force".

Mais en toute logique ça devrait fonctionner, j'ai vérifié les hak et dialog.tlk généré, c'est tout bon.

Si j'ai le temps je ferai un test en créant un nouveau domaine clerical
Ah j'aurais du le mettre dans le readme, j'ai créé un objet avec un bonus de je sais plus quoi contre le groupe d'alignement "force" ("neutre" à l'origine), il est posé par terre dans la zone. Ceci dit si tu veux voir les entrées ajoutées, il suffit d'ouvrir l'item wizard: toutes les propriétés des objets font référence à une chaîne custom, même si ça ne se voit pas (j'ai quand même foutu des ! dans 50 des iprp_*.2da). Le truc "force" c'est dans toutes les propriétés qui ont un paramètre contre ou réservé etc à un groupe d'alignement (différent d'alignement tout cours).

PS: j'en ai pas parlé dans le readme mais bon... il y a un bouton "restaurer les .tlk", il copie les sauvegardes du programme dans le répertoire racine de NWN.
Sur la complexité, côté joueur, à mon avis, c'est bon, tout est masqué, c'est côté concepteur qu'il y a une faille je pense. Tant que chacun travaille dans son coin, tout va bien, quand tu crées tes 2da, mettre un ! ou pas, ça ne change rien. Par contre c'est pour combiner les dup/tlk que c'est un peu galère:
1) il faut fusionner les tlks, jusqu'ici pas de problème l'éditeur de The Other le fait très bien.
2) il faut refaire la numération dans le dup dont les entrées du tlk correspondant ont étées ajoutées à la fin de l'autre tlk. C'est pas très clair et en plus c'est soûlant:

dans le dup 1 on a
name
!0
!1
!2
dup 2 même chose.

Si l'on se contente de fusionner les tlks, par exemple en ajoutant le tlk 2 au 1 sans reprendre la numération dans les fichiers du dup2, gros problème: !0 dans les fichiers du dup 2 fait maintenant référence à des entrées du Dup 1, donc il faut tout décaler.

Une solution serait d'autoriser d'associer plusieurs groupes tlk/dup à chaque module. Mais comme pour les hakpacks multiples ça laisserait de côté le problème de la présence d'un même fichier,2da par exemple, dans les deux dup.

Le mieux serait donc de faire un petit utilitaire permettant de "renumérer" automatiquement les références dans un dup, tu lui rentre le nombre d'entrée dans tlk1 et il te sort un Dup2 , qui va chercher les entrées de tlk2 au bon endroit, comme ça, les dup sont fusionnable en un tournemain.
Bon je me suis dit que j'allais poser quelque question sur lesquelles j'aimerais avoir du retour:

Pensez vous que je devrais restaurer le dialog.tlk normal à chaque fois qu'un module n'utilisant pas de .dup est sélectionner. Pour l'instant je ne le fais pas (ça ne pose pas de problème puisqu'il n'y a que des chaînes en plus), car la fonction CopyFile est un peu... lente . Je suppose que Microsoft fait des contrôles de conformité de copie à l'original que je zappe pour ce qui est de mes fonctions. Je trouve que ça l'air un peu bizarre qu'il faille plus de temps pour "charger" un module normal qu'un module avec tlk étendu...

L'interface est-elle lisible en 256*192 et en 4096*3072 ?

La question abordée dans le message au dessus j'aimerais bien avoir votre avis...

Les fautes d'orthographe dans les messages et l'interface en générale. Et il doit y en avoir il était très tôt ou tard quand j'ai écris certain d'entre eux...

C'est tout pour l'instant, j'attends avec anxiété des avis extérieur .

Au fait merci beaucoup d'avoir testé Skanzo, pardon pour la réponse je me doute bien que tu sais ce que fais le hak de démo, mais comme il faut bien dire que c'est pas très évident, je préférais préciser. Après tout, ce programme ne peut marcher que s'il sort du cercle de ceux qui passe leur temps le nez dans les 2da... Je proposerais bien mon aide sur les chevaux mais je vois pas bien ce que je pourrais faire

PS: Si tu pouvais faire une démo plus spectaculaire je serais ravis, je sature un peu pour l'instant, donc j'imagine que j'irais au charbon mais peur-être pas cette semaine .
Ok, pô de problème pour l'explication "Force", au contraire ça permet d'être clair si une personne voit ce sujet. De plus non j'avais vraiment pô capté qu'il y avait un item sur le sol
Va falloir que j'ouvre les mirettes

Bon ben sinon pour ce qui est de restaurer le dialog.tlk, je pense que ce n'est pô vraiment utile. Je dirais même que ça enlève un peu de magie à ce programme. Ya même le bouton "qui va bien" si besoin est

Concernant l'interface, elle me parait bien grande. La fenètre qui affiche les modules est beaucoup plus large qu'un nom de module, p'tet un petit coup de ciseau
De même réduire la hauteur de moitié serait préférable.
Sauf cas exceptionnel (genre les personnes qui hantent maskado), on a jamais beaucoup de module en stock

Les fautes? Bouarf, me souviens pô en avoir vu. P'tet le message demandant de stocker ses tlk et encore je suis pô sûr

À part ça il faudra que je teste la création de dup parce que l'histoire du dup 1&2, tlk 1&2 je suis pô certain d'avoir vraiment pigé.
Quand à faire un module de test ben heu... JOKER!
P'tet plus tard ou alors après une crise de démangeaison

Par contre le bouton Lancer Nwn ne démarre pô nwmain, il lance la fenètre de démarrage ou l'on choisi le type de programme.
Côté pratique ya p'tet moyen d'en faire un launcher mais ça reste vraiment optionnel.

Les chevaux avancent bien, il nous manque juste un modeleur capable de nous pomper autre chose qu'une sorte d'équidé prehistorik


En tout cas, joli boulot! Faut continuer!
La taille de l'interface: je te répondrais bien que perso je vois pas la moitié des modules de mon répertoire , et que :
"Silver Darkness - Multiplayer Cutscene Introduction.mod"
arrive presque au bout se la fenêtre , mais comme tu dis, je dois pas être très représentatif, donc je vais couper.

Non en fait pour créer un dup, y a pas de problème, c'est exactement la même chose que d'écrire des 2da. C'est quand tu veux utiliser un dup déjà créé en conjonction avec un autre qu'il y a une opération un peu pénible à faire, pour qu'il n'y ai pas de conflit entre les entrées à rajouter à dialogue tlk (i.e deux entrées !0).

Pour "lancer NWN" si je veux lancer nwmain.exe directement, il faut que je rajoute l'option jouer comme MJ, sinon elle sera inaccessible. Le problème est que je ne connais pas du tout les commandes à passer au programme...

Pour le toolset pareil, à l'origine je voulais qu'il ouvre le module directement, je pense que c'est possible, car quand j'essaie de lui passer un paramètre, il me répond : "le fichier spécifié est introuvable" ou un truc du genre. Le problème c'est que je suis à cours d'idée pour le format dans lequel il fut passer la commande: chemin complet, juste le nom du fichier, en jouant sur le répertoire par défaut...
Pour lancer un module directement:

N:\NeverwinterNights\NWN\nwtoolset.exe "N:\NeverwinterNights\NWN\modules\-Valbataille.mod"

Ou plus court si la racine des répertoires est la même
N:\NeverwinterNights\NWN\nwtoolset.exe "\modules\-Valbataille.mod"

Le raccourci étant limité à 255 caractères...

Le nom du prog, le nom du fichier avec son extension entre guillemets. Valable pour tout programmes.

Pour lancer directement MJ, pas encore trouvé mais je cherche.
Merci pour l'info en fait le problème vient de moi: je ne comprend pas comment passer les paramètres à ShellExecute ou CreateProcess ... j'ai tout essayé: avec guillemets, sans, en passant la ligne de commande entière à CreateProcess... ben même ça ça marche pas, le programme démarre bien mais je récupère encore "fichier non trouvé". Je vérifie bien que le nom est le bon, ça doit être tout con, mais je suis perdu pour l'instant...

EDIT arf le format de la ligne de commande dans CreateProcess il faut un "." précédant le premier antislash de répertoire:
.\modules\...
et pas
\modules\...
Franchement un coup de bol que j'ai essayé ça...

sans guillemets c'était idiot
Mise à jour insignifiante du programme:
J'ai réduit les dimensions de la fenêtre (Skanzo tu vas probablement trouver que c'est encore trop gros )

Quand on clique sur "Lancer le Toolset" le module s'ouvre maintenant automatiquement.
Citation :
Skanzo tu vas probablement trouver que c'est encore trop gros
Elle est où la différence avec la première version?
....
Heuu... tu fais quoi avec ta claymore là...


Sérieusement ça m'a l'air impec
Hiers j'ai mis en ligne une petite mise à jour technique des sources: correction du traitement des erreurs dans une fonction, et elles adhèrent maintenant strictement au standard c99 (j'utilisais itoa qui n'est plus standard).
Par ailleurs j'ai aussi rajouté le petit programme pour décaler les index des références relatives dans un dup.
Voir tout ça dans le premier message.
Je n'ai pas changé les exécutables car je pense ajouter autre chose finalement: la possibilité d'associer plusieurs groupe dup/tlk à chaque module. Je ne pensais pas le faire étant donné que les fichiers dup sont petit de toute façon, mais comme ils peuvent contenir plusieurs type de fichier ce n'est pas forcément une mauvaise idée pour maintenir la cohérence vis à vis de l'organisation des .hak (i.e. mettre tous les 2da dans un dup à part par exemple) . Cela simplifiera peut être aussi la vie à ceux qui ne veulent pas mettre les mains dans le cambouis. Quoique comme pour les .haks il reste le problème des fichiers en conflit.
Dîtes moi ce que vous en pensez.
J'ai besoin de feedback sur les fichiers multiples, voilà le problème à la mord moi le noeud:

J'ai écrit l'analyseur qui extrait les noms de fichiers de la description, le format est le suivant:

[ test2 : test 3 : etc ]

les fichiers dup recherchés dans ce cas serons:
test2.dup
test 3.dup
(et etc.dup mais c'est pas vraiment dans cet esprit que je l'avias écrit )

comme vous le remarquez les espaces avant et après le nom sont ignorés.
Avant le nom c'est cohérant avec la dénomination des fichiers Windows:
" bogus.txt"
n'est pas un nom de fichier valide il est immédiatement transformé en :
"bogus.txt"

par contre
"bogus .txt" est valide *sic* (si, si je viens de vérifier).

En revanche étant donné que l'analyseur ignore les espaces après le nom, ce fichier n'est pas valide pour lui.

Deux approches donc, celle implémentée pour l'instant, interdisant d'associer au module un fichier dont le nom sans extensions se termine par des caractères blancs.

ou bien valider les caractères blancs en fin de nom, c'est pas compliqué en soi, mais voilà je ne trouve pas ça très naturel non plus:
[ test2: test]
ne serait plus la même chose que:
[ test2 : test]

Je pourrais aussi surcharger avec un format de ce type:

[ " test2 " " test2"]
où les caractères en début de nom seraient ignorés, mais ceux en fin de nom, s'ils étaient à l'intérieur des "" ne le seraient pas...
les fichiers recherchés seraient donc:
"test2.dup"
et
"test2 .dup"

D'abord ça me soûle un peu, et en suite, je trouve qu'on perd largement en lisibilité ce que l'on gagne en précision.

Voilà ... votre avis s'il vous plaît.
Ben non justement:

Les espaces à la fin du nom sans extension sont admis par windows.

"test .dup", par exemple, est valide.

En réalité le problème vient du fait que le nom dans la description est sans extension, puisque le programme repose sur 3 à 4 fichiers portant le même nom:
le dup
1 ou 2 tlk (suivant si on veut que les entrées ajoutées à dialog.tlk et dialogF.tlk soit les mêmes ou non)
et le .hak que le programme génère.


Je pourrais bien sûr contraindre à écrire "test .dup" au lieu de "test " et enlever le .dup après. Mais c'est tout de même un peu artificiel et pas très éclairant.
EDIT:
En y réfléchissant, j'étais un peu optimiste sur le coup des fichiers multiples: pour générer les .hak pas de problème, c'est séquentiel et assez facile. Pour mettre à jour dialog.tlk en revanche c'est beaucoup plus ennuyeux, ceci tient à la façon dont je produis la mise à jour: à partir d'une sauvegarde ... Donc si vous pensez que ça n'apporte pas grand chose, i.e. si ça ne pose pas de problème de devoir mettre tous les fichiers utilisant des références relatives dans un seul dup, je vais peut-être laisser tomber.
Les dulpacks multiples marchent...
Les sources, l'exécutable et le readme ont été mis à jour.
Je suis passé directe à le version 0.9
A priori, si aucun bug n'est trouvé j'y touche plus.

Petit problème cependant:
Je crois que mon compte Sharenation a rendu l'âme (ce n'est peut-être que provisoire), j'arrive à uploader mais plus à télécharger (??). Donc Azraël si cela ne te dérangeais pas...
J'ai converti le pcpack V1 de CODI pour qu'il marche avec mon programme, le résultat est un zip de 92ko:
pcpackdup

Le problème c'est que je ne connais pas les traductions des noms de créatures etc en français. Ceci est donc une version anglaise.
Si quelqu'un se sent de faire de faire la traduction des 96 entrées du tlk en français (pour joueur masculin et féminin), ou s'il l'a déjà fait, qu'il me contacte .
Oui c'est ça: Tielfling Aasimar...
Pour l'instant ils n'ont pas mis le modèle dynamique de tiefling (très impressionnant) dedans, donc il n'est pas non plus dans mon package... Cela viendra avec Fondation. La bonne nouvelle c'est que convertir ce truc pour mon programme est très simple et prend relativement peu de temps. La partie ennuyeuse et longue c'est de faire le tlk (copier coller de l'original en ne prenant que les entrées ajoutées), étant donné qu'il existe un éditeur qui additionne les tlks mais aucun qui les "coupe" (j'hésite à faire un utilitaire pour ça).
Sans un petit problème du au fait que le Character Creator de HalfElf n'accepte pas les tabulations dans les 2da, ce que je ne savais pas, la conversion m'aurait pris 1/2 heure - 1 heure en tout.

EDIT: j'ai peut-être mal compris ce que tu voulais dire: c'est le character creator (un créateur de perso externe) qui permet de faire un PJ avec toutes les créatures Bioware (l'apparence en fait), le pcpack est un add on (dialog.tlk augmenté et hackpack) qui introduit de nouvelles races de PJs, avec capacités spécialles, dons, possibilité d'avoir des modèles dynamiques... DLA ont sorti le leur aussi, tous les deux doivent être utilisés avec le CC de HalfElf.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés