Cocrane a écrit :Je pense simplement que les 100 et plus échanges que nous avons eu dans cette rubrique contiennent un grand nombres d'informations techniques sur BG qu'il serait intéressant de résumer et classer. Concrètement, je n'ai pas d'idée claire sur le meilleur choix concernant la mise en forme.
Le problème est toujours le même : qui va faire ce boulot de synthèse ? Si ce doit être le modérateur (i.e. moi), bof...
Il faudrait trouver une meilleure solution, d'autant qu'un forum n'est pas du tout adapté à des liens hypertextes, alors que des pages HTML ou un Wiki permettent des liens vers un chapitre particulier. Je vais en discuter avec les administrateurs.
Cocrane a écrit :L'éditeur te devra une fière chandelle! Cependant n'oublies pas que je ne dois pas être poursuivi par une facture!
J'ai changé d'avis sur ce point. Je vais désormais exiger un pourcentage sur les bénéfices, comme dans toute bonne startup ! Pas sûr que ça donne grand chose.
Cocrane a écrit :Je confirme que pour moi, un fichier CRE avec effets sauvegardé avec l'éditeur présente des anomalies sur cette section. En comparant, le fichier source et sauvegardé, je constate des différences.
> il faut que j'enquête sur ce point.
J'aurais dû vérifier avant de demander un essai. Désolé pour le temps perdu.
Je n'ai pas compris tes explications, qui sont sans doute liés au fonctionnement interne de l'éditeur. Aucune importance. L'essentiel est que tu saches comment corriger le problème.
Cocrane a écrit :> J'ai refait un test avec mon nouvel écran 23 pouces (fini le tube
), les positions ne me gênent pas. Mais je peux modifier l'agencement comme tu le proposes.
J'ai un 24 pouces. Et en plein écran, mes yeux doivent parcourir plus de 30 cm pour passer de l'information du sort à l'indication 1/N et presque autant pour atteindre les boutons de déplacement en bas de l'écran. Même si c'est faisable, ce n'est pas du tout ergonomique. Quoi que le programmeur (dieu) en pense !
Je t'invite à te méfier de ne pas concevoir une interface qui nécessite un 23 pouces. Tu as tout intérêt à t'assurer que ça fonctionne bien en 1280x1024 qui est encore probablement la résolution type de la plupart des gens avec des PC de bureau, voire encore moins étant donné que la moitié des ordinateurs vendus sont des portables (avec du 1280x800 ou 1366x768 selon leur âge).
Cocrane a écrit :> oui, il faut que je bosse la correspondance des classes et Kit pour les PNJ. J'ai bien fait de ne pas aborder le sujet trop vite finalement car je me suis aperçu que Class.IDS est très chargé. J'ai complètement zappé les class créatures type 'monstres'.
Oui, un éditeur de créature ne sert pas qu'à la création de PNJ recrutable.
Le cas échéant, tu pourrais envisager de réduire la liste aux classes "normales" si la race est une de celles qui sont jouables (voilà que je suggère des fioritures, maintenant
).
Cocrane a écrit :Pour le défilement, c'est beaucoup plus compliqué à gérer avec ascenseur et multilangues.
Donc pour garder les graphismes du jeu, j'ai opté pour des pages pour avoir un champ affichable par information à gérer.
Je suis un peu étonné que tu évoques une grande complication, mais je te fais confiance. Et ce n'est pas moi qui vais t'inciter à perdre du temps sur une chose dispensable.
Cocrane a écrit :> non c'est pas un bug. Tu es simplement un très mauvais voleur!
Bien au contraire ! Il avait réussi à s'attribuer davantage de points qu'il n'avait droit !
Cocrane a écrit :> Tiens voilà un nouveau fichier. Le GAM. Hum hum
C'est noté que même pour le personnage principal c'est inutile de le gérer dans le CRE.
Conclusion, en gros je le supprime définitivement?
Oui, tu peux supprimer. Un éditeur comme Shadow Keeper le fait apparaître car il faut bien qu'il permette au joueur tricheur de modifier aussi ce paramètre.
Le fichier GAM contient l'état en cours du jeu (temps écoulé, endroit où se trouve les personnages recrutables, toutes les statistiques ainsi que des structures CRE pour tous les personnages recrutables afin de garder trace de leur état au moment de la sauvegarde.
Un moddeur n'a jamais besoin d'y toucher, à moins qu'il ne veuille créer une toute nouvelle aventure avec des personnages tout à fait différent (les fameuses mais rares "Total Conversion").
Cocrane a écrit :1- Le nom du fichier est à lire est contenu la section "resource entries" à 'Resource name'
A noter: 'Resource type' me donne des valeurs numériques comme '1014'. Je m'attendais à l'extension du nom du fichier. Il y a une table de correspondance?
La table est tout simplement
sur IESDP.
Pour constituer un index unique, il faut tenir compte du nom de ressource et de son type. Tu trouveras beaucoup de "resource name" identique : la créature, le dialogue, le script, ..., qui vont se distinguer par des types différents.
Cocrane a écrit :2-à un 'Resource name' correspond un 'Resource locator ' qui me donne la position à lire dans Bif entries.
"0x000a 4 (dword) Resource locator. The IE resource manager uses 32-bit values as a 'resource index',
* which codifies the source of the resource as well as which source it refers to. The layout of this value is below.
* bits 31-20: source index (the ordinal value giving the index of the corresponding BIF entry)
* bits 19-14: tileset index
* bits 13- 0: non-tileset file index (any 12 bit value, so long as it matches the value used in the BIF file)"
Je n'ai pas compris la signification des éléments issus du découpage du champ mais on obtient un lien avec la section 'Bif entries' me permettant de connaitre le nom du fichier bif à traiter et sa localisation sur le disque.
La partie "source index" indique, dans la table "KEY V1 Bif Entries", le numéro du fichier BIF (ce qui permettra d'obtenir son nom et le répertoire dans lequel il se trouve). Le fait qu'il y ait 12 bits signifie qu'on ne peut pas avoir plus de 4096 fichiers BIF (il y a de la marge).
La notion de "tileset" est lié au fichier TIS qui constitue l'image de fond d'une carte du jeu (là ou tu déplaces le groupe). Ces fichiers sont traités de façon particulière à l'intérieur des fichiers BIF. La valeur "tileset index" n'a de sens que si le fichier est de type TIS.
La valeur "non-tileset file index" sert pour tous les autres types de fichiers.
Ces deux valeurs, "tileset index" et "non-tileset file index" servent à faire la recherche de la structure dans les tables du fichier BIF, soit "BIFF V1 Tileset Entries", soit "BIFF V1 File Entries", qui correspond à ce que tu souhaites (on y retrouve cet index, qu'il faudra comparer). Un fois trouvé la structure de même valeur d'index dans le fichier BIF, cela permettra de savoir où commencent les données du fichier à extraire et leur taille dans le fichier BIF.
Remarque sur l'emplacement des fichiers : les emplacements de type CD renvoient à ce qui est indiqué pour CD1..6 dans le fichier Baldur.ini, qu'il faudra donc avoir interprété pour connaître le répertoire de départ pour la recherche. Sachant que les fichiers seront ensuite toujours dans un sous-répertoire Data ou Movies (cas particulier que tu pourras ignorer).
Tu pourras aussi sans doute ignorer le cas du bit "Cache" : je pense que c'est une donnée uniquement gérée en mémoire par le jeu, qui lui permet de savoir s'il a copié le fichier dans le répertoire cache (le jeu y copie le fichier depuis un CD ou y décompresse les fichiers de type BIFC). Il n'est probablement jamais actif dans le fichier KEY.
Cocrane a écrit :Si je charge tout le contenu du fichier KEY, j'en ai pour un bon bou de temps. Resource entries contient plus de 47 000 lignes.
WeiDU crée ta liste de fichiers en plusieurs secondes (environ sur ma machine). Comment crois-tu qu'il fait pour obtenir cette liste ? Ton défi est donc de faire à peu-près aussi bien que lui.
Etant entendu que charger le fichier KEY signifie juste constituer la liste des fichiers contenus dans les fichiers BIF du jeu, qu'il faudra compléter par ceux trouvés dans le répertoire Override. Inutile pour cela d'ouvrir les fichiers BIF eux-même.
L'objectif est de constituer en mémoire une table de fichiers, avec les éléments pour les trouver dans le bon fichier BIF. Le plus simple est sans doute d'avoir en mémoire une image assez fidèle du fichier KEY. Par contre, pour aller vite, il te faudrait vraiment constituer un index performant sur les noms de fichiers, donc classé alphabétiquement : quand tu charges un fichier CRE et que tu veux trouver un objet qu'il porte, il faudrait éviter de parcourir les 47000 noms de fichiers pour trouver AXE.ITM, sous prétexte que dans le fichier KEY c'était le tout dernier nom (exemple bidon, mais tu vois l'idée).