DESCRIPTION DE FICHIER   (Partie 5, Cadavre & Mercenaire)
(depuis le patch 1.08)

Juste après les Objets nous trouvons l'état du cadavre, les données du mercenaire, et depuis le patch 1.08 de bizzares données inconnues. Jusqu'au patch 1.06 c'était facile, mais le patch 1.08 a introduit une structure un peu plus complexe (essentiellement due au fait que l'on peut équiper les mercenaires dans l' Expansion set : Lord of Destruction).

Cette page expliquera le patch 1.08 (de même que l'extension) mais, si vous le voulez, vous pouvez encore lire comment c'était avant le patch 1.08.


CADAVRE

Juste après le dernier objet de l'inventaire du joueur, on trouve l'état du Cadavre.

  • Si le joueur est en vie, cet état est représenté par les octets 4A 4D 00 00
  • Si le joueur est mort, ces octets ne sont "simplement" pas présent !




MERCENAIRE

Juste après, nous trouvons la (nouvelle) structure de mercenaire.

  • Si le joueur n'a JAMAIS pris de mercenaire, nous trouvons seulement l'octet 00, et se sera TOUT pour les données du mercenaire

  • Si le joueur a un mercenaire (vivant ou mort), nous trouvons les octets 4A 4D 00 00 (oui, c'est la même séquence d'octets que pour l'état du cadavre, et cela peut être trompeur, tout spécialement si le joueur est mort), suivis d'autres données :

      • Tout d'abord nous trouvons 2 octets qui indiquent si le mercenaire est vivant ou mort :
          • Si le mercenaire est mort, nous trouvons les octets 01 00
          • Si le mercenaire est vivant, nous trouvons les octets 00 00

      • Les 8 octets suivants decrivent le mercenaire : son nom, son type, et l'aptitude qu'il maîtrise. Je ne sais pas vraiment comment ça marche (et pour dire la vérité, je pense que ce n'est pas important)

      • Les 4 octets suivants sont son nombre de points d'expérience total. Les connaissant, on peut en déduire son niveau, et par conséquent ses points de statuts (comme la force, la défense, la dextérité et ainsi de suite)

      • Les 4 octets suivants indiquent le nombre d'objets dont le mercenaire est équipé (entre 0 et 4). 4A 4D 04 00 signifie qu'il y a 4 objets, et 4A 4D 00 00 qu'il n'y en a aucun. Note : dans le patch 1.08 on ne peut pas équiper le mercenaire (nous avons besoin du pack d'extension), donc nous trouverons toujours 4A 4D 00 00. Ce n'est que dans l'extension que l'on peut trouver d'autres valeurs.

      • Juste après, il y a un nombre variable d'octets : ce sont les objets que le mercenaire porte. Chaque objet commence par les octets 4A 4D 10 00 (ce qui semblent être une constante dans le format des objets). Evidemment, si ce n'est pas une sauvegarde de jeu qui utilise l'extension, ces octets ne sont pas là (du tout).




Je viens juste de trouver que les données inconnues suivantes sont utilisées pour les racourcis-clavier additionnels de l'extension. Si le joueur utilise plus que les raccourcis F1 à F8 habituels, le format change, donc ce que je décris ci-dessous est incorrect. J'analyserai plus tard.

DONNEES INCONNUES 1

Les données du mercenaire sont maintenant finies, mais pas le fichier. Nous trouvons 8 curieuses séquences d'octets. Les 2 premiers octets de chaque séquence sont FF 00 et les 4 suivants sont tirés d'octets précédents dans le fichier ! Ils sont pris exactement 4A octets avant (74 en décimal). Quelques examples :

  • Si les données inconnues 1 commencent en 987, alors les octets sont pris depuis 93D (987 - 4A = 93D)
  • Si les données inconnues 1 commencent en 73B, alors les octets sont pris depuis 6F1 (73B - 4A = 6F1)
Et ils suivent un shéma de répétition : 4 octets pris, 2 octets sautés, 4 octets pris, 2 octets sautés, et ainsi de suite. Bizzare. Quelle utilité ? Une forme de protection ? Imposible : c'est trop évident.

C'est comme si un bloc entier de 48 octets était pris depuis les 76 octets précédents, puis que 8 séquences d'octets FF 00 étaient collées dedans à intervalles réguliers, et que le bloc résultant était finalement recopié tel quel dans le fichier.




DONNEES INCONNUES 2

Et finalement nous trouvons 8 autres octets. Avec le patch 1.08 sans l'extension ils sont toujours égaux à 00 00 00 00 00 00 00 00, mais avec l'extension, ils peuvent changer. Par exemple, j'ai trouvé les valeurs 00 00 00 00 DC 00 00 00. Je n'ai pas encore compris ce que cela pouvait être.




Retour à la
Partie 1 : Modifications faciles
Retour à la Partie 2 : Données de Statut
Retour à la Partie 3 : Niveaux d'aptitude
Retour à la Partie 4 : Objets
Retour à la Page de menu