Affichage des résultats 1 à 4 sur 4

Discussion: [WeiDU] STRING_EQUAL_CASE. Ca sert à quoi ?

  1. #1
    Date d'inscription
    September 2003
    Localisation
    Bordeaux
    Messages 
    951

    [WeiDU] STRING_EQUAL_CASE. Ca sert à quoi ?

    Salut


    J'ai un ancien mod sous la main qui modifie les portraits des pnj. Il utilise toujours ce même bloc pour chaque cre :

    Code:
    //AATAQAH=Aataqah
    COPY ~BG2CPM/portraits/creatures/BKgeni1.bmp~  ~portraits~
    
    COPY_EXISTING ~AATAQAH.cre~ ~Override~
    
      READ_ASCII 0x34 ~smp~ //Small portrait
    
      PATCH_IF ((~%smp%~ STRING_EQUAL ~~) OR (~%smp%~ STRING_EQUAL_CASE ~none~)) BEGIN
        WRITE_ASCII 0x34 ~BKgeni1~ #8
      END
    
    BUT_ONLY_IF_IT_CHANGES
    Je ne comprends pas trop le fonctionnement des 3 lignes suivantes :

    1- READ_ASCII 0x34 ~smp~ //Small portrait
    2- PATCH_IF ((~%smp%~ STRING_EQUAL ~~) OR (~%smp%~ STRING_EQUAL_CASE ~none~)) BEGIN
    3- WRITE_ASCII 0x34 ~BKgeni1~ #8

    Je pense que weidu cherche à vérifier s'il n'y a pas déjà un portrait en place mais je vois pas trop comment. Quelle est la différence entre STRING_EQUAL et STRING_EQUAL_CASE ?
    La documentation de weidu , c'est du chinois pour moi
    Dernière modification par Freddy_Gwendo ; 21/03/2016 à 10h26. Motif: Modification du titre de la discussion et mise en page
    Faites comme moi, jouez FP

    Mon Mod : BuTcHeRY

    Ma châine Youtube

  2. #2
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages 
    6 827
    Citation Envoyé par DrAzTiK Voir le message
    La documentation de weidu , c'est du chinois pour moi
    C'est dommage de la considérer en bloc comme compliquée parce que dans ce cas précis, elle est plutôt explicite :
    String STRING_EQUAL_CASE String : As STRING_EQUAL, but the comparison ignores case. That is, "ANOMEN" and "aNoMeN" are considered equal.
    STRING_EQUAL_CASE fait une comparaison de chaines de caractères en ignorant les différences entre minuscules et majuscules, contrairement à STRING_EQUAL, de sorte qu'elle considère que "ANOMEN" et "aNoMeN" sont identiques.

    Quant à savoir pourquoi le mod considère que le nom NONE ou none indiqué comme portrait signifie qu'il n'y en a pas, mystère.

    Autrement le mod lit le nom de fichier actuellement indiqué pour le portrait du personnage (l'offset 0x34 correspond au portrait de petite taille dans la structure CRE, cf IESDP), le compare à une chaine vide ou à none/NONE/None/etc. et si l'une des deux comparaisons indique qu'il n'y a pas de portrait, elle écrit le nom de fichier que, je suppose, le mod prévoit d'attribuer à la créature. Le #8 à la fin du write précise à WeiDU d'écrire exactement 8 caractères, soit en comblant par des valeurs 0 (valeur de BYTE et non pas le caractère 0) si le nom indiqué en comporte moins, soit en tronquant à 8 si le nom indiqué s'avérait trop long. C'est une précaution pour s'assurer de ne pas déborder sur la suite de la structure à cause d'un mauvais nom. Ce n'est peut-être pas indispensable ici puisque le nom est indiqué directement mais ça peut servir pour de la manipulation via une variable où on ne peut pas présumer qu'elle ne débordera pas.
    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 645
    Citation Envoyé par Isaya Voir le message
    Quant à savoir pourquoi le mod considère que le nom NONE ou none indiqué comme portrait signifie qu'il n'y en a pas, mystère.
    J'imagine que c'est un test pour éviter les erreurs de codage dans les créatures vanilla (ce mod est assez vieux). Par exemple, certains champs des variables de dialogue et de scripts dans les créatures ont la valeur "NONE". Peut-être l'auteur a-t-il voulu rajouter ce contrôle pour être certain de pouvoir rajouter son portrait...
    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
    September 2003
    Localisation
    Bordeaux
    Messages 
    951
    ha merçi, je comprends mieux, c'est ce mot "case" qui me bloquait..

    Je vais surement me pencher un peu sur cette documentation weidu quand même car j'ai quelques trucs à modder. @bientôt donc
    Faites comme moi, jouez FP

    Mon Mod : BuTcHeRY

    Ma châine Youtube

Discussions similaires

  1. [BG1] Volo, à quoi sert-il ?
    Par Ildieren Corsonnant dans le forum La Taverne de Château-Suif (Baldur's Gate 1)
    Réponses: 12
    Dernier message: 30/07/2015, 16h29
  2. A quoi sert Access?
    Par Ugo dans le forum Informatik'
    Réponses: 1
    Dernier message: 01/06/2012, 20h30
  3. À quoi sert l'intelligence d'un sorcier ?
    Par Yo'P'lait dans le forum Le Comptoir d'Amn
    Réponses: 12
    Dernier message: 29/06/2008, 15h25
  4. À quoi sert cette section ?
    Par Egrevyn dans le forum Présentation des membres
    Réponses: 0
    Dernier message: 24/11/2005, 08h39
  5. Les livres, à quoi ça sert ???
    Par Arundel dans le forum La Taverne du Berceau de l'Hiver (Icewind Dale 1)
    Réponses: 9
    Dernier message: 10/09/2004, 12h13

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