Affichage des résultats 1 à 8 sur 8

Discussion: [INI] Comment modifier facilement un fichier ini ?

  1. #1
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    4 660

    [INI] Comment modifier facilement un fichier ini ?

    Contrairement aux versions classiques, les versions Enhanced n'utilisent pas le fichier ANISND.ids et les fichiers 2da d'attribution de sons aux animations de créatures, mais regroupent ces données dans un fichier ini dédié à chaque animation.

    Malheureusement, je me suis aperçu que certains sont erronés, par exemple ceux des animations CHICKEN_BROWN et CHICKEN_WHITE qui mentionnent les fichiers bam MCHB et MCHW alors que ce sont les fichiers ACHB et ACHW qu'il faut utiliser.
    Je dois donc les modifier et je me demande si la fonction REPLACE_TEXTUALLY fonctionne aussi avec ces fichiers qui ne sont que des fichiers txt à la base.

    Bref, est-ce qu'une commande WeiDU du style

    Code:
    REPLACE_TEXTUALLY ~resref=MCHB~ ~resref=ACHB~
    fonctionne ou bien doit-on procéder autrement ?
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  2. #2
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages 
    6 839
    Oui, ça fonctionne. Je pense l'avoir vu utilisé dans BG2 Tweaks pour des fichiers 2DA.

    Et je m'en suis servi pour le mod de traduction partielle de BG2EE afin d'ajouter la langue française au menu du jeu, où il m'a fallu modifier un fichier .lua :
    Code:
    			COPY_EXISTING ~BGEE.lua~ ~override/BGEE.lua~
    				REPLACE_TEXTUALLY ~\(	{'en_US', 99385, 99386, 'English'},\)~ ~\1
    	{'fr_FR', %transDesc1%, %transDesc2%, 'Français'},~
    				UNLESS ~'fr_FR'~
    Nota : la mise en forme est due au format du fichier à modifier, il faut ajouter une ligne avec un certain format à la suite de celui recherché.
    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 !

  3. #3
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    4 660
    Génial, en plus ton exemple vient de me donner l'idée de modifier l'ensemble des fichiers ini concernés d'un coup en utilisant des variables définies dans un array.
    Je testerai ça demain.

    Je ne sais pas comment les devs s'y sont pris, ni pourquoi personne ne semble s'en être aperçu, mais une bonne douzaine de ces fichiers ne sont pas corrects.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  4. #4
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    4 660
    J'ai réussi à pondre un truc qui fonctionne :

    Code:
    ACTION_DEFINE_ASSOCIATIVE_ARRAY GW_ini_files BEGIN
    MCHB,	ACHB	=> 7d02
    MCHW,	ACHW	=> 7d03
    MGVE,	MGHI	=> e293
    ...
    END
    
    ACTION_PHP_EACH GW_ini_files AS donnees => inifile BEGIN
    
    	ACTION_IF (FILE_EXISTS_IN_GAME ~%inifile%.ini~) THEN BEGIN
    		OUTER_SPRINT bamold EVAL "%donnees_0%"
    		OUTER_SPRINT bamnew EVAL "%donnees_1%"
    		OUTER_SPRINT headerold EVAL "// %donnees_0%"
    		OUTER_SPRINT headernew EVAL "// %donnees_1%"
    		COPY_EXISTING ~%inifile%.ini~ ~override/%inifile%.ini~
    			REPLACE_TEXTUALLY ~\(resref=\)%bamold%~ ~\1%bamnew%~
    			REPLACE_TEXTUALLY ~%headerold%~ ~%headernew%~
    		BUT_ONLY
    	END
    
    END
    Comme d'hab, puisque je suis fâché avec les expressions régulières, il a fallu que je me replonge dans la doc.

    Seul souci : je n'ai pas réussi à trouver une formulation avec /1 /2 pour effectuer un remplacement d'une traite dans un seul REPLACE_TEXTUALLY. Il faut jongler avec les caractères spéciaux et avec les %WNL% et compagnie...
    J'aurais aussi pu intégrer "resref =" dans les variables. Mais bon...
    Dernière modification par Freddy_Gwendo ; 13/11/2016 à 23h41.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  5. #5
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages 
    6 839
    Ma foi, il y a une bonne dizaine de lignes entre les deux éléments à remplacer, dont des débuts de section. Faire une expression régulière qui couvre précisément ce qui est entre les deux, sans risque d'attraper autre chose au passage, c'est une folie. Mieux vaut deux recherches sans ambiguïté qu'on monstre incompréhensible dès les jours qui suivent sa réalisation.
    Toujours pour la lisibilité, il vaut mieux que tu réserves bien tes variables à quelque chose qui a un sens et que le resref n'en fasse pas partie.
    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 !

  6. #6
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    4 660
    Et en plus, selon le format de l'animation, le nombre de lignes renseignées n'est pas le même !

    C'est après avoir été fouiller dans quelques tp2 de mods que j'ai fini par renoncer.
    Si tu me dis que c'est "une folie", alors je prends ! Tu maîtrises beaucoup mieux ce genre de point que moi.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  7. #7
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages 
    6 839
    J'ai écrit "de la folie", car c'est faire compliqué pour la beauté de l'art (écrire une seule expression) au détriment de la facilité de mise au point et de la lisibilité. Et il y a toujours le risque qu'une évolution du contenu du fichier casse l'expression et que ça ne fonctionne plus. Bref, comme le dit le "zen" du langage Python, "simple is better than complex", "readability counts" ou encore "if the implementation is hard to explain, it's a bad idea".
    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 !

  8. #8
    Date d'inscription
    April 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    4 660
    Effectivement.

    D'ailleurs j'ai suivi à la lettre ces conseils le week-end dernier. Après avoir commencé à pondre une usine à gaz pour éviter d'avoir à fournir deux fichiers de description d'objets pour les versions classiques et enhanced en supprimant les références inusabilité des objets, j'ai fini par me dire qu'au moins un mod avait sûrement déjà eu la même idée.
    Et poum ! J'ai trouvé mon bonheur dans Item Revision. Je n'ai eu qu'à adapter le code - qui ne fait que quelques lignes - à mes descriptions.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

Discussions similaires

  1. Réponses: 10
    Dernier message: 10/04/2016, 05h02
  2. Réponses: 7
    Dernier message: 12/02/2016, 00h32
  3. [BGEE] Comment modifier un fichier BMP d'icône de description ?
    Par Aalkaor dans le forum Fichiers images
    Réponses: 17
    Dernier message: 25/01/2016, 18h38
  4. [SCRIPT] Comment modifier un fichier .baf d'un mod ?
    Par Gariounette dans le forum Scripts
    Réponses: 4
    Dernier message: 24/03/2013, 08h32
  5. [CRE] Comment modifier un fichier CRE avec NearInfinity ?
    Par Medji dans le forum Créatures, Monstres et NPC
    Réponses: 9
    Dernier message: 02/12/2009, 20h53

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256