Oyez, oyez !

Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !

Merci à toutes et à tous pour votre participation !

N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...

[BGT] Comment compiler des parties d'un dialogue seulement si BGT est installé ?

Répondre
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne

[BGT] Comment compiler des parties d'un dialogue seulement si BGT est installé ?

.

Message par Freddy_Gwendo »

J'ai écrit un dialogue dont certaines parties se passent dans la Porte de Baldur si BGT est installé. Sinon, elles ne sont jamais lancées.

Par facilité, je compile tout dans le même fichier.

Je me demandais s'il existait une commande simple qui permettait de zapper des blocs à compiler selon certains critères (en l’occurrence ici l’installation de BGT) ? Par principe, je préfère éviter de scinder le dialogue en deux parties, la première n'étant compilée que si BGT est installé. ;)
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Je ne connais pas de tel mécanisme. Il me semble peu probable qu'un développeur se soit embêté à coder une chose pareille alors qu'il existe quelques façons de s'y prendre avec l'existant (compiler les blocs BGT, qui seront inaccessibles pour cause de condition non respectée, ou découper en deux fichiers, voire avoir deux fichiers d selon le type de jeu), pourvu qu'on n'ait pas autant de principes que toi. ;)
Autrement tu concatènes les deux fichiers avant de compiler le dialogue, et le tour est joué : une seule compilation. :whistle3:
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Isaya a écrit :Autrement tu concatènes les deux fichiers avant de compiler le dialogue, et le tour est joué : une seule compilation. :whistle3:
Ça, ça me plaît ! :)

Je vais me jeter sur la doc, histoire de vérifier que des trucs genre "EXTEND_TOP" fonctionnent bien avec les fichiers .d, dans ce cas de figure.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

EXTEND_TOP traite des fichiers au format du jeu. Ici il s'agit plutôt que modifier un fichier texte. Voici une solution possible (non testée) :

Code : Tout sélectionner

COPY ~monmod/dialogues/dlgBG2.d~ ~override/dlgComplet.d~
APPEND ~monmod/dialogues/dlgBGT.d~ ~override/dlgComplet.d~
COMPILE ~override/dlgComplet.d~
APPEND ne travaille qu'avec des fichiers du jeu, il faudrait donc que le fichier auquel ajouter soit déjà dans override.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Merci pour l'info : j'allais justement m'y plonger.

C'est vrai que j'ai déjà un peu galéré pour compléter des fichiers non gérés par le jeu (cf. ici).

Je teste ce point ce soir et je vous tiens au courant.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Ça fonctionne, mais j'ai préféré utiliser la commande WeiDU APPEND_FILE :

Code : Tout sélectionner

ACTION_IF GW_BGT BEGIN

	COPY ~%MOD_FOLDER%/temp/GWGwendy_BGT.d~ ~%MOD_FOLDER%/dlg/GWGwendy.d~

    		APPEND_FILE ~%MOD_FOLDER%/temp/GWGwendy.d~

	BUT_ONLY

	OUTER_SET strref_Gwendolynette = RESOLVE_STR_REF(@3590000)

END ELSE BEGIN

	COPY ~%MOD_FOLDER%/temp/GWGwendy.d~ ~%MOD_FOLDER%/dlg/GWGwendy.d~

	OUTER_SET strref_Gwendolynette = RESOLVE_STR_REF(@3590001)

END

COMPILE  ~%MOD_FOLDER%/dlg/GWGwendy.d~
Merci pour ton concours, comme toujours fructueux. ;)
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Ah oui, c'est beaucoup plus souple ainsi. J'ignorais l'existence de ce patch.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Moi non plus ! Sinon je n'aurais pas ouvert ce topic. ;)

Il faut dire que la doc WeiDU est un vrai pavé et que la plupart des commandes ne sont pas documentées, sans compter les ajouts des nouvelles versions.

De plus, on est tous pareils : s'y plonger près d'une heure pour vérifier toutes les commandes, ça gonfle un peu... ^^

Mais j'ai voulu en avoir le cœur net et voilà ! En fait si j'ai bien compris, elle a été ajoutée pour éviter certaines utilisations lourdes de DECOMPILE_DLG_TO_D, puis de DECOMPILE_AND_PATCH qui l'a remplacée.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

J'ai encore affiné le code pour mieux gérer les "BEGIN" :

Code : Tout sélectionner

<<<<<<<< .../inlined/blank
BEGIN GWGwendy
BEGIN GWDucon

> >> >> >> >
COPY ~.../inlined/blank~ ~%MOD_FOLDER%/GWGwendy.d~

   PATCH_IF (GW_BGT) BEGIN

      APPEND_FILE ~%MOD_FOLDER%/dlg/GWGwendy_BGT.d~
      APPEND_FILE ~%MOD_FOLDER%/dlg/GWGwendy.d~
      SET strref_Gwendolynette = RESOLVE_STR_REF(@3590000)

   END ELSE BEGIN

      APPEND_FILE ~%MOD_FOLDER%/dlg/GWGwendy.d~
      SET strref_Gwendolynette = RESOLVE_STR_REF(@3590001)

   END

BUT_ONLY

ACTION_GET_STRREF strref_Gwendolynette desc_Gwendolynette
COMPILE ~%MOD_FOLDER%/GWGwendy.d~	EVALUATE_BUFFER
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Répondre

Retourner vers « Dialogues »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité