Page 1 sur 1

[WeiDU] Problèmes de décompilation et de compilation de dialogues

Posté : mer. 03 mai 2006, 11:30
par Manchot Empereur multiclassé
Bonjour tout le monde. J'ai télécharger Weidu récemment, et comme ils le conseillent dans la doc, j'ai essayé de décompresser un dialogue du jeu pour me familiariser avec l'engin. Mais quand j'entre la commande indiquée, Weidu se ferme et ne décompresse rien. J'ai pas trouvé pourquoi dans les divers tutoriaux... Merci d'avance à ceux qui voudraient bien me répondre... (question bête :timide: : pour décompresser ou même compresser un dialogue, on valide bien la commande avec Entrée ?)

Posté : mer. 03 mai 2006, 14:22
par Akadis
Il faut placer ton weidu.exe dans le ton répertoire d'instalation de BG2 puis tu dois ouvrir une fénêtre de ligne de commande (sous windows XP Démarrer>Tous les programmes>Accessoires>Invite de commande) ensuite aller dans le répertoire de bg2 à l'aide de la commande <cd> et enfin tapez quelque chose du style :
C:\Program Files\Black Isle\BGII - SoA\>weidu naliaj.dlg
Et en validant bien par Entrée.
J'éspère que ces précisions peuvent t'aider. Tu peux aussi aller voir ce sujet :Astuces pour utiliser WeiDU, si tu ne l'as pas déjà fait.
EDIT
En sachant que j'ai installé BG2 sur mon disque D dans le répertoire jeux\Baldurs Gate II voilà ce que donne ma fénêtre de ligne de commande quand je décompresse naliaj.dlg (ne connaissant pas ton niveau en ligne de commande je préfère préciser que je n'ai eu à taper que ce qui se trouve à droite de du signe ">" ^^ )
Microsoft Windows XP [version 5.1.2600]
© Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Admin>d:

D:\>cd "jeux\Baldurs Gate II"

D:\Jeux\Baldurs Gate II>weidu naliaj.dlg
[weidu] WeiDU version 192
[./CHITIN.KEY] 182 BIFFs, 41794 resources
[./dialog.tlk] 74162 string entries
[./dialogF.tlk] 74162 string entries
[weidu] Using scripting style "BG"
[D:\Jeux\Baldurs Gate II\/data/Dialog.bif] 4557664 bytes, 2729 files, 0 tilesets

[NALIAJ.DLG] loaded
[./NALIAJ.d] created from [NALIAJ.DLG]

D:\Jeux\Baldurs Gate II>

Posté : mer. 03 mai 2006, 19:17
par Manchot Empereur multiclassé
J'ai encore un problème idiot : l'invite de commande est bloquée sur "C:\Documents and Settings" et pas moyen d'aller chercher dans "Program Files"... Ca doit être un truc tout simple, mais j'ai beau chercher :sad:

Posté : mer. 03 mai 2006, 20:22
par Isaya
Il existe un "PowerToy" chez Microsoft qui offre la possibilité d'ouvrir une invite de commande à partir de n'importe quel répertoire via l'explorateur. Il s'appelle "Command Prompt Here" et tu trouveras des détails (en anglais) sur cette page ainsi que plusieurs solutions pour y parvenir différemment.

Sinon, la seule solution est d'apprendre à se servir des commandes DOS pour se déplacer dans l'arboresence des fichiers (notamment "cd" pour changer de répertoire).

Posté : jeu. 04 mai 2006, 10:29
par Manchot Empereur multiclassé
ça marche avec PowerToys, merci :)

Posté : lun. 15 mai 2006, 19:43
par Manchot Empereur multiclassé
De retour...
Après la décompression, c'est la compression des dialogues crées qui pose problème : pour me faire sur tous les outils d'édition de mods, j'ai voulu créer un petit barbare nommé Bjorn avec qui échanger quelques bravades. Pas de problème pour CM, mais au moment de compresser le dialogue du barbare en question, que voici :

Code : Tout sélectionner

BEGIN ~bjorn~

IF ~NumTimesTalkedTo(0)
~ THEN BEGIN 0
  SAY ~Et une bière de plus pour ceux qui nourissent les vers ! (glurps) Houlà, c'est pas d'la pisse d'âne, ce truc, j'vois des avortons qui s'approchent !~
  IF ~~ THEN REPLY ~Moi, un avorton ? Tire ton épée et bats-toi, bouseux!~ GOTO 1
  IF ~~ THEN REPLY ~On tient mal l'alcool, mon gros ?~ GOTO 2
  IF ~~ THEN REPLY ~Laissez-moi, monsieur, je ne veux pas d'ennuis.~ GOTO 3

IF ~~ THEN BEGIN 1
  SAY ~Toi, te battre contre moi ?! Bwahahahah! J't'écraserais une main dans le dos, minus !~
  IF ~~ THEN REPLY ~Une main dans le dos ? Alors ça, ça m'étonnerais ! En garde !~ GOTO 4
  IF ~~ THEN REPLY ~Si tu le dis...~ GOTO 5
  IF ~~ THEN REPLY ~Tu crois pouvoir te battre imbibé comme ça ?~ GOTO 2

IF ~~ THEN BEGIN 2
  SAY ~Retiens bien ça, crâne de piaf : Bjorn le terrible peut boire des heures, il cognera toujours plus fort que toi !~
      =
  ~Allez dégage, tu m'pompes mon air...~ EXIT
 END
END

IF ~~ THEN BEGIN 3
  SAY ~Alors hors de ma vue, poltron !~ EXIT
 END
END

IF ~~ THEN BEGIN 4
  SAY ~Raaaaaaaah ! Un crâne de plus pour Bjorn !~ DO ~ChangeEnemyAlly(Myself,EVILCUTOFF)
Enemy()
Attack(NearestEnemyOf(Myself))~ EXIT
 END
END

IF ~~ THEN BEGIN 5
  SAY ~Un peu que j'le dis ! Allez, dégage maintenant, j'ai une contenance de vingt litres à prouver, moi...~ EXIT
 END
END
Weidu me répond ça :
C:\Program Files\Black Isle\BGII - SoA>weidu bjorn.d --tlkout dialog.tlk --out override
[weidu] WeiDU version 192
[./Chitin.key] 133 BIFFs, 35289 resources
[./dialog.tlk] 62220 string entries
[./dialogF.tlk] 62220 string entries
[weidu] Using scripting style "BG"
[C:\Program Files\Black Isle\BGII - SoA\/data/Default.bif] 5847739, 444 files, 0 tilesets
[TRIGGER.IDS] parsed

[bjorn.d] PARSE ERROR at line 10 column 12-16
Near Text : BEGIN
syntax error

[bjorn.d] ERROR at line 10 column 12-16
Near Text : BEGIN
Parsing.Parse_error
Et dsl pour le post un peu long :timide:
Le problème est-il dans la syntaxe du dialogue, comme weidu semble le dire, mais dans ce cas j'ai vérifié et comparé avec les tuto et les .d existants, et j'ai pas vu l'erreur (les erreurs? :notme2: ). D'avance merci à ceux qui auraient la réponse à mon problème.

Posté : lun. 15 mai 2006, 22:23
par Akadis
Il me semble que tu as juste oublié les END. Il en faut un pour femer chaque IF ~...~ THEN BEGIN xxx. Voilà ce que ça donne pour tes deux premiers dialogues :
BEGIN ~bjorn~

IF ~NumTimesTalkedTo(0)
~ THEN BEGIN 0
SAY ~Et une bière de plus pour ceux qui nourissent les vers ! (glurps) Houlà, c'est pas d'la pisse d'âne, ce truc, j'vois des avortons qui s'approchent !~
IF ~~ THEN REPLY ~Moi, un avorton ? Tire ton épée et bats-toi, bouseux!~ GOTO 1
IF ~~ THEN REPLY ~On tient mal l'alcool, mon gros ?~ GOTO 2
IF ~~ THEN REPLY ~Laissez-moi, monsieur, je ne veux pas d'ennuis.~ GOTO 3
END

IF ~~ THEN BEGIN 1
SAY ~Toi, te battre contre moi ?! Bwahahahah! J't'écraserais une main dans le dos, minus !~
IF ~~ THEN REPLY ~Une main dans le dos ? Alors ça, ça m'étonnerais ! En garde !~ GOTO 4
IF ~~ THEN REPLY ~Si tu le dis...~ GOTO 5
IF ~~ THEN REPLY ~Tu crois pouvoir te battre imbibé comme ça ?~ GOTO 2
END
.
.
.

Posté : lun. 15 mai 2006, 23:47
par Isaya
Deecy a sans aucun doute raison pour le END manquant. Tu devrais aussi vérifier les doubles END par la suite, qui pourraient aussi créer des problèmes.

La documentation de WeiDU indique bien qu'il n'est pas toujours possible de recompiler un fichier décompilé (ça dépend notamment des options utilisées pour décompiler).
Tu aurais donc vraiment intérêt à utiliser comme modèle un autre mod ou un exemple de fichier D plutôt que de partir d'un fichier D décompilé.
En particulier, il vaut mieux utiliser des noms plutôt que les numéros 0, 1, ... pour les BEGIN ou les GOTO, ce qui a pour effet de rendre les choses plus lisibles (GOTO DEBRELANCEQUETE est plus parlant pour toi, quand tu devras faire des modifications que GOTO 12, sans compter que tu n'as pas à t'embêter à t'assurer que tes nombres sont bien tous différents, quand c'est bien plus facile avec un nom explicite). WeiDU les convertira en nombre à la compilation en fonction de ses règles.

Posté : mar. 16 mai 2006, 17:18
par Manchot Empereur multiclassé
Je vais probablement partir d'un exemple de fichier D, vu que même en faisant le ménage dans les END et en en mettant là où il faut, weidu continue à m'embêter...
Enfin bon merci du conseil