Affichage des résultats 1 à 11 sur 11

Discussion: CRE et choix du son

  1. #1
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    768

    CRE et choix du son

    Le fichier CRE contient les caractéristiques de votre créature. Il existe 100 places pour définir un texte s'affichant à l'écran et/ou un son à produire en fonction d'un évènement pendant le jeu.

    Exemple: vous placez un des compagnons du Charname en position 1 (Leader) et vous entendez la voix du personnage réagissant à son nouveau statut dans le groupe.

    Extrait de la structure du fichier CRE

    "
    0x00a4 4x100 (Strref) Strrefs pertaining to the character
    * Most are connected with the sound-set (see SOUNDOFF.IDS (BG1) and SNDSLOT.IDS for (BG2)).
    "


    Le fichier SNDSLOT et SOUNDOFF contiennent le libellé de chaque événement paramétrable. La liste étant inférieure à 100 on peut imaginer que tout n'est pas utilisé ou utilisable dans le jeu.


    Contenu SNDSLOT.IDS
    "
    0 INITIAL_MEETING
    1 MORALE
    2 HAPPY
    3 UNHAPPY_ANNOYED
    4 UNHAPPY_SERIOUS
    5 UNHAPPY_BREAKING_POINT
    6 LEADER
    7 TIRED
    8 BORED
    9 BATTLE_CRY_1
    10 BATTLE_CRY_2
    11 BATTLE_CRY_3
    12 BATTLE_CRY_4
    13 BATTLE_CRY_5
    14 ATTACK_1
    15 ATTACK_2
    16 ATTACK_3
    17 ATTACK_4
    18 DAMAGE
    19 DYING
    20 HURT
    21 AREA_FOREST
    22 AREA_CITY
    23 AREA_DUNGEON
    24 AREA_DAY
    25 AREA_NIGHT
    26 SELECT_COMMON_1
    27 SELECT_COMMON_2
    29 SELECT_COMMON_3
    30 SELECT_COMMON_4
    31 SELECT_COMMON_5
    32 SELECT_ACTION_1
    33 SELECT_ACTION_2
    34 SELECT_ACTION_3
    35 SELECT_RARE_1
    36 SELECT_RARE_2
    37 SELECT_RARE_3
    38 SELECT_RARE_4
    39 INTERACTION_1
    40 INTERACTION_2
    41 INTERACTION_3
    42 INTERACTION_4
    43 INTERACTION_5
    44 INSULT_1
    45 INSULT_2
    46 INSULT_3
    47 COMPLIMENT_1
    48 COMPLIMENT_2
    49 COMPLIMENT_3
    50 SPECIAL_1
    51 SPECIAL_2
    52 SPECIAL_3
    53 REACT_TO_DIE_GENERAL
    54 REACT_TO_DIE_SPECIFIC
    55 RESPONSE_TO_COMPLIMENT_1
    56 RESPONSE_TO_COMPLIMENT_2
    57 RESPONSE_TO_COMPLIMENT_3
    58 RESPONSE_TO_INSULT_1
    59 RESPONSE_TO_INSULT_2
    60 RESPONSE_TO_INSULT_3
    61 DIALOG_HOSTILE
    62 DIALOG_DEFAULT
    69 IDLE_1
    70 IDLE_2
    71 IDLE_3
    72 IDLE_4
    73 IDLE_5
    74 BIOGRAPHY_TEXT"


    Chaque case du fichier CRE mémorise un indice du fichier dialog.tlk. Cet indice permet d'accéder aux informations suivantes:

    Structure de la section entrée du fichier dialog.tlk
    "
    Offset Size (data type) Description
    0x0000 2 (word)

    * 00 - No message data
    * 01 - Text exists
    * 02 - Sound exists
    * 03 - Standard message. Ambient message. Used for sound without text (BG1) or message displayed over characters head (BG2) , Message with tags (for instance <CHARNAME>) for all games except BG2
    * 07 - Message with tags (for instance <CHARNAME> ) in BG2 only

    0x0002 8 (resref) Resource name of associated sound
    0x000a 4 (dword) Volume variance
    0x000e 4 (dword) Pitch variance
    0x0012 4 (dword) Offset of this string relative to the strings section
    0x0016 4 (dword) Length of this string
    "


    On a donc grâce à cet indice:
    - le nom du fichier son associé avec le paramétrage de la variance (volume et pitch).
    > je n'ai pas encore vu des valeurs différentes de 0. Je suppose que le paramétrage joue sur les caractéristiques du son produit.

    - la position du texte à afficher à l'écran.

    - le type d'entrée (Son, Son + texte, texte seul, texte à afficher au dessus de la tête du personnage).

    Exemple Edwin BG2 sur l'événement Leader
    Indice: 3972
    Fichier son (wav): Edwin07
    Volume: 0
    Pitch: 0
    Type info: 3
    Texte: " Ils finissent par comprendre quelle est ma véritable place !"

    Conclusion
    On peut paramétrer de l'affichage texte ou la production de son en rapport avec la créature suite à un événement existant.

    Je connais au moins NI qui le permet à l'heure actuelle.


    A noter:
    - les fichiers Wav du jeu sont pour la plupart compressé en "WAVC". On ne peut écouter le fichier via un lecteur multimédia.

    Il faut à partir du fichier source créer un nouveau fichier en copiant le fichier source du 28ième octets jusqu'à sa fin.

    Le fichier obtenu est à mettre sous l'extention .ACM.

    Il doit ensuite être décrompressé par "acm2wav.exe".Deux méthodes:
    - à partir d'une fenêtre explorateur, on fait glisser le fichier ACM sur l'exe. L'exe se lance et produit un fichier WAV avec le nom du fichier ACM. Le fichier obtenu peut être écouté.

    - lancement d'une ligne de commande du type:
    chemin de l'exe\acm2wav.exe "chemin du fichier cible\nom fichier cible.ACM" -m

    Coco
    Dernière modification par Cocrane ; 06/03/2011 à 11h28.

  2. #2
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    768

    Re : CRE et choix du son

    L'interface est faite. J'ai un problème pour proposer l'écoute des sons des voix des personnages.

    Des informations que j'ai:
    - BG stocke le son dans des fichiers ACM.
    - acm2wav.exe permet de les convertir en .WAV que l'on peut écouter.

    Existe t'il un exécutable que je pourrais lancer dans mon éditeur me permettant d'écouter le son.

    Exemple de lancement
    Chemin\Exe_WAV.exe "chemin du fichier à écouter"

    Coco

  3. #3
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 325

    Re : CRE et choix du son

    A mon avis, tu as deux solutions plus simples que de trouver un programme en ligne de commandes capable de jouer le son.

    Near Infinity utilise manifestement une fonction type PlaySound incluse dans les bibliothèques ou dans la machine virtuelle Java. Vu l'orientation de WinDev vers le multimédia, on peut penser qu'une fonction similaire pour jouer un fichier WAV existe quelque part dans WinDev.

    L'autre façon de faire, c'est de déléguer le travail à Windows. Il existe une fonction [url=http://support.microsoft.com/kb/224816/fr]ShellExecute[url] dont le rôle est d'exploiter les mécanismes d'association des types de fichier aux outils capables de les afficher/jouer. Si tu appelles cette fonction avec le nom d'un fichier txt, Windows lancera Notepad ou l'éditeur que tu auras associé aux fichiers txt. WeiDU utilise notamment ce mécanisme pour afficher les readme des mods sans se soucier du type de document : fichier txt, html ou encore chm. C'est ainsi que les html s'affichent chez moi avec Firefox, puisque c'est mon navigateur par défaut.
    En pratique, avec un fichier WAV, c'est Media Player ou le remplaçant choisi par l'utilisateur qui sera exploité.


    Je n'avais pas fait attention à ce sujet avant. J'avais eu l'impression que tu avais simplement extrait le contenu de messages du le long sujet et fait une synthèse.

    Dans tous les fichiers IDS, ce qui compte est le numéro. S'il apparaît deux fois, les deux noms associés sont considérés comme identiques à la valeur quand ils sont utilisés dans des scripts, par exemple. C'est comme si tu crées deux #define en C avec des noms différents mais la même valeur. Au final, la seule chose qui importe, c'est la valeur.

    Tous les doublages sons ont forcément un texte associé, qui apparaît si le joueur active l'option sous-titre dans le jeu. C'est utile pour les langues qui n'ont pas bénéficié d'une traduction des voix.
    Par conséquent, toutes les répliques sont forcément associées au fichier dialog.tlk, puisque c'est lui qui stocke les textes. Chaque texte peut être associé à une ressource son, par le nom du fichier WAV/ACM qui contient le doublage sonore. Ceci ne concerne pas uniquement ces répliques. Les dialogues utilisent aussi des doublages sonores pour certains personnages ou certaines répliques (souvent seulement la toute première), de même que les textes affichés au changement de chapitre.

    Dans ton éditeur, tu peux te contenter de proposer seulement les sons et textes (bio) qui sont vraiment exploités dans le jeu. Le fichier IDS les identifient tous, et même un peu trop. A ma connaissance les 39 à 62 ne sont pas utilisés dans BG 2. Le meilleur moyen de découvrir lesquels sont vraiment utiles est de consulter plusieurs fichiers de personnages recrutables. Ou d'étudier ceux utilisés dans le fichier TP2 d'un mod de PNJ avec voix.
    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 !

  4. #4
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    768

    Re : CRE et choix du son

    Salut Isaya,

    ton analyse est bonne, j'ai vu compliqué alors que Windev propose de lire des fichiers sons en donnant le chemin.

    J'arrive à lire des fichiers wav mais pas ceux de BG...

    J'exporte via Weidu ou NI des fichiers Wav de BG et ensuite je n'obtiens rien. Si j'écoute le fichier via NI ca marche.

    C'est lié au fait que le fichier est au format ACM? Pourant à l'exportation, je suppose qu'il est converti via "acm2wav.exe" en un vrai Wav.

    As tu une idée du problème?

    Coco

  5. #5
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 325

    Re : CRE et choix du son

    NI a aussi besoin de acm2wav pour convertir un fichier WAV de type ACM (la plupart de ceux utilisés dans le jeu, mais il y a aussi des "vrais" WAV non compressés) en format WAV non compressé, avant de le jouer. Si tu retires acm2wav du répertoire du jeu et de celui où est Near Infinity, NI sera lui-aussi incapable de jouer le son.

    NI ne convertit que quand tu appuies sur le bouton "Play" du magnétophone de NI et le fichier converti est effacé à chaque fois après. Near Infinity lui-même se contente d'exporter le fichier WAV brut, donc au format ACM la plupart du temps. Il fait pareil pour les autres fichiers, il se contente d'extraire du fichier BIF ou de recopier depuis l'Override, sans transformation.

    Bref, si tu veux jouer un fichier WAV de type ACM, il te faut l'extraire, le convertir avec acm2wav et enfin tu peux le restituer par un moyen standard.
    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
    March 2010
    Localisation
    Paris
    Messages
    768

    Re : CRE et choix du son

    la ligne de commande trouvé sur le net est la suivante:

    chemin\acm2wav.exe "chemin\fichier.acm" -m

    Tu obtiens un fichier wav si le fichier source convient à l'exe.

    J'ai pris un fichier du rep music du jeu et le wav peut être écouté.

    Par contre si je prends le fichier de NI annoncé WAV ou celui extrait via weidu. Je n'obtiens rien.

    J'ai cherché des fichiers ACM dans la liste des fichiers de weidu, il ne les mentionne pas.

    Si les wav obtenus sont compressés, comment on les décompresse?

    Coco

  7. #7
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 325

    Re : CRE et choix du son

    Le jeu exploite le format ACM pour plusieurs types de fichiers, pas uniquement ceux de type ACM. Bien des fichiers de type "WAV" du jeu peuvent exister sous deux forme : "vrai" WAV (non compressé), tels que les sons pour le personnage principal (répertoire Sounds) mais pas uniquement, ou "faux" WAV - "vrai ACM".

    Plus de précisions dans IESDP. Notamment la partie concernant WAV(0x0004)
    Sounds. Note that 'WAVC' and 'RIFF' .wav files are used interchangeably throughout the engine; WAVC is an internal format -- more precisely, an ACM file with a header attached to simplify buffer estimation during file decompression.
    Tout fichier WAV extrait par NI ou WeiDU que tu ne peux pas écouter directement doit correspondre à ce cas.

    A ma connaissance, NI lit l'en-tête du fichier WAV. S'il trouve WAVC au début (cf définition du format WAVC), il extrait la partie propre de données ACM vers un fichier qu'il fait convertit à acm2wav.
    Quand tu sélectionnes un fichier WAV dans NI qui est de type WAVC, Near Infinity crée un fichier WAV normal (suite à traitement par acm2wav) dans le répertoire du jeu. Si tu le mets de côté (NI l'efface automatiquement dès que tu choisis un autre fichier), tu auras un WAV "simple". Par ce moyen, tu pourras comparer si tu arrives à effectuer le même travail d'extraction du ACM depuis un WAVC et à le faire convertir par acm2wav.
    Near Infinity a deux méthodes d'export : Export ou Export & Convert. La seconde n'est disponible que si le fichier est de type WAVC. Utilise la première pour obtenir le fichier WAVC.
    Le principe de traitement devrait être tout à fait similaire à celui employé pour les fichiers BAMC. Si je comprends bien, il faudra utiliser Zlib et les informations de l'en-tête pour décompresser le contenu ACM, qu'il faudra ensuite écrire dans un fichier temporaire pour le convertir avec acm2wav.
    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
    March 2010
    Localisation
    Paris
    Messages
    768

    Re : CRE et choix du son

    J'ai pris le fichier 'MINSC02.wav' exporté du jeu via NI ou Weidu (je ne sais plus).

    Je lis le fichier via la structure du fichier WAVC pour obtenir les données suivantes

    0x0000 4 (char array) Signature ('WAVC')
    WAVC

    0x0004 4 (char array) Version (V1.0)
    V1.0

    0x0008 4 (dword) Uncompressed size of file
    244020

    0x000a 4 (dword) Compressed size of file
    38544

    0x0010 4 (dword) Pointer to ACM data (usu. 0x1c)
    28

    0x0014 2 (word) Number of sound channels (usu. 1)
    1

    0x0016 2 (word) Number of bits per sample (usu. 16-bit)
    16

    0x0018 2 (word) Sample rate (usu. 22050 Hz)
    22050

    0x001a 2 (word) Unused (usu. 0x777e)
    30695

    0x001c 4 (bytes) Standard ACM header (0x97280301)
    227



    TOTAL des octets 'infos' 32 octets
    Taille du fichier 38572 octets

    38572 - 32 = 38540
    38572 - 38544 = 28

    Les données WAV commencent t'elle réellement au 28ième octet ou au 32 ième?

    Je continue l'enquête.

    Suite:
    Ca ne marche pas pour le moment.

    Je réutilise le code de BAMC en l'adaptant.

    Que je décompresse à partir de la position 28 ou 32 avec une taille compressée de 38540 ou 38544 ne change rien. J'ai retour de la dll à -3.

    J'ai raté quoi?

    Coco
    Dernière modification par Cocrane ; 04/03/2011 à 20h51.

  9. #9
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 325

    Re : CRE et choix du son

    Mon hypothèse qu'il fallait utiliser Zlib pour la décompression était fausse. Les indications de l'en-tête du fichier WAVC sont trompeuses.

    En bricolant un fichier bat converti en exécutable afin d'observer la façon dont Near Infinity appelait acm2wav, j'ai pu récupérer le fichier ACM obtenu par Near Infinity et voir quelle était sa taille.
    Dans le cas de MINSC02, le fichier ACM que Near Infinity fait convertir a une taille de 38544. Ce qui correspond à la taille restante dans le fichier après les 28 premiers octets. Il suffit donc de recopier de l'offset 28 à la fin du fichier dans un fichier ACM, que tu pourras alors donner à acm2wav.

    A noter qu'après conversion, le fichier WAV a une taille de 244152, donc je ne sais pas trop à quoi correspond la taille décompressé indiqué dans l'en-tête WAVC.
    Il est possible que les outils officiels de l'éditeur diffèrent d'acm2wav et que le résultat après conversion soit conforme à l'indication avec l'algorithme intégré dans le jeu.

    Comme l'indique le "Pointer to ACM data", qui a la valeur 28, la partie ACM commence à la position 28. Le fait que l'auteur de la description ait fait figurer "Standard ACM header" à cet endroit veut simplement dire que, comme tout bon fichier qui se respecte, le fichier ACM doit commencer par sa partie en-tête et qu'elle doit avoir la valeur indiquée.

    A noter que Near Infinity n'utilise l'option -m d'acm2wav que si le fichier est indiqué comme étant mono et non stéréo (Number of sound channels = 1).
    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 !

  10. #10
    Date d'inscription
    March 2010
    Localisation
    Paris
    Messages
    768

    Re : CRE et choix du son

    J'ai suivi tes conseils sur le mode opératoire et ca fonctionne.

    J'avoue que je trouve super agréable de cliquer et t'entendre le son associé au texte.

    Il reste une question concernant le type de l'entrée dans dialogue.tlk

    "
    TLK V1 Entries

    This section is hardcoded to start at byte 18 from the beginning of the file. The string offsets are relative to the strings section.

    Offset Size (data type) Description
    0x0000 2 (word)

    * 00 - No message data
    * 01 - Text exists
    * 02 - Sound exists
    * 03 - Standard message. Ambient message. Used for sound without text (BG1) or message displayed over characters head (BG2) , Message with tags (for instance <CHARNAME>) for all games except BG2
    * 07 - Message with tags (for instance <CHARNAME> ) in BG2 only
    "


    J'ai consulté plusieurs CRE BG2, ils ont tous la valeur "03" avec des cas différents. conclusion la valeur est elle réellement importante?

    Coco

  11. #11
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 325

    Re : CRE et choix du son

    Comme tous les doublages sonores ont forcément un son et une version texte, affichée si tu actives l'option sous-titre dans le jeu, il est normal que tu trouves toujours la valeur 3.
    Pour le reste, le mieux est de faire comme ce que tu trouves dans le jeu. S'il y a 3 même pour des textes sans son, alors mets 3. Mais alors assure-toi que la référence au fichier son est bien vide (des 0 binaires), sinon le jeu va chercher (pour rien) à trouver le fichier correspondant.

    Ce qui ne veut pas dire que tu dois mettre 3 pour tous les textes. Pour des dialogues ou des descriptions d'objets où des mots-clés tels que <CHARNAME> apparaîtrait, il faudrait impérativement mettre la valeur 7 pour Baldur's Gate II.
    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 !

Discussions similaires

  1. [BG1][SOLUCE] Choix des PNJs
    Par ptinabot dans le forum La Taverne de Château-Suif (Baldur's Gate 1)
    Réponses: 11
    Dernier message: 09/03/2010, 12h58
  2. [BGT] Choix de la classe.
    Par Yoshi dans le forum Baldur's Gate Reloaded : les mods TUTU et Baldur's Gate Trilogy
    Réponses: 6
    Dernier message: 18/11/2009, 09h34
  3. [BG1][SOLUCE] Choix de compagnons
    Par Cheksa dans le forum La Taverne de Château-Suif (Baldur's Gate 1)
    Réponses: 7
    Dernier message: 04/11/2008, 16h00
  4. Choix d'une formation
    Par Bufobufo dans le forum Le Monastère du Corbeau Noir (Icewind Dale 2)
    Réponses: 8
    Dernier message: 02/04/2004, 19h49
  5. Est-ce qu'il y a plusieurs choix de jeu ?
    Par Habdo dans le forum Le Monastère du Corbeau Noir (Icewind Dale 2)
    Réponses: 10
    Dernier message: 13/10/2003, 12h49

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