Je n'ai pas la réponse mais je peux te donner 2 3 généralité qui t'aideront peut être à comprendre
- En général les opérations en assembleur sont tronquées par nature (Enfin sur les nombres entiers comme sous D2) et donc le résultat est toujours arrondis à l'inférieur à chaque étapes de l'opération.
Les seules exceptions c'est quand nous inversons la formule pour la comprendre comme pour la plupart des vitesses du jeu.
- Les divisions étant les opérations les plus lentes en assembleur, on préfère les éviter (je dis on, je parle des programmeur et des compilateurs
). Si cela est possible on les fait en dernier, et si c'est possible on utilise une division par un multiple de 2 ce qui se fait par un Shift vers la droite qui lui est très rapide.
Ensuite il faudrait regarder le code qui fait le calcul des fonctions DM pour mieux cibler la différence que tu peux voir.
Message édité par Myrdinn le 13-05-2005 à 22:14:35
---------------
Le savoir ne vaut que s'il est partagé :Lien vers les posts techniques Diablo2/LOD