DESCRIPTION DU FICHIER   (Partie 2, où nous rencontrons des données volatiles)
Toutes les données de statut sont à considérer comme optionnelles. Le fait que l'une soit présente ou non, dépend d'un bit des champs de bits de statut. En conséquence, il est impossible de donner des offsets explicites où les données pourraient êtres trouvées. Par exemple, quand vous montez de niveau, vous avez 5 points de statut et 1 point d'aptitude à répartir. Mais la plupart du temps vous n'avez pas de points de statut : la donnée points de statut ne sera pas égale à zéro : le bit correspondant sera oté, et la donnée ne sera pas présente du tout ! Un autre exemple facile : si tout votre or est dans votre bourse, alors la donnée Argent dans la bourse sera présente, mais la donnée Argent (sur soi) sera absente. Encore un dernier exemple (pas évident celui-là) : si le joueur est en mode hardcore ET est mort, alors la donnée vie actuelle sera absente.
Pour le moment, seuls les 2 premiers champs de bits sont utilisés. Ils fournissent un total de 16 bits, et chacun d'entre eux correspond à une donnée. C'est la raison pour laquelle j'appelle l'octet qui suit les 2 premiers champs de bits, le champ de bits réservé. Il est toujours égal à zéro, comme si Blizzard avait projeté de l'utiliser plus tard. Les champs de bits sont nommés d'après les données qui ont le plus de chance d'être absentes. Le premier d'entre eux (à l'offset 232h) est le Statut / aptitudes. Les données correspondantes sont :
Le bit 0 est le bit de poid faible et le bit 7 le bit de poid fort, évidemment.
Tout serait parfait si les données avaient la même taille. Et bien, ce n'est pas le cas. Certaines font 4 octets, d'autres 2 octets, et il existe même 2 données qui ne font qu'un seul octet chacune. Regardons ça de plus près. En général, toutes les données ont une taille de 4 octets. Comme toujours, elles sont dans l'ordre d'Intel. En commençant à partir de l'offfset 235h, voici les données que l'on peut trouver, mais SEULEMENT si leurs bits respectifs sont posés !
On peut maintenant continuer la lecture normale des données, à une exeption près : ces données ont une taille de 2 octets. Juste après on trouve 2 autres octets avec parfois zéro, parfois de drôles de valeurs. Encore une fois, je n'ai pas compris leurs significations. On dirait qu'elles apparaissent quand certaines données actuelles sont supérieures à leur maximum. Par exemple quand la Vie actuelle est supérieure à la Vie maximum (à cause d'objets magiques).
Après ça, toutes les données ont de nouveau une taille de 4 octets.
Retour à la Partie 1 : Modifications faciles |