Comment mettre une valeur intermédiaire en hexa ?

Comment mettre une valeur intermédiaire en hexa ? - Divers - Programmation

Marsh Posté le 12-05-2015 à 13:54:22    

Bonjour  :)  
 
J'ai un léger souci. Je ne suis pas un gros connaisseur en hexadécimal, mais il faudrait que je modifie une valeur dans un programme. Cette valeur sert à effectuer la mise au point de la caméra dans un jeu. Le problème c'est qu'il faudrait que je sois entre une valeur de 81 et 82 en hexa pour que ce soit parfait, ou entre 129 et 130 en décimal.
 
Donc si maintenant je voulais rentrer une valeur équivalente à 81,5 en hexa ou 129,5 en décimal (je sais que je ne peux pas en le faire, d'où le fait que je parle d'équivalence) dans quel mode est-ce que je devrais me mettre pour gagner plus de précision ? Et surtout, comment convertir les valeurs en hexa à la fin  :pt1cable:  
 
Je vous remercie d'avance pour votre aide  ;)


---------------
PC portable (Windows 7 Pro x64) : TOSHIBA Satellite L50-A-1DG
Reply

Marsh Posté le 12-05-2015 à 13:54:22   

Reply

Marsh Posté le 12-05-2015 à 14:03:35    

D'un 81.5 en hexa ça donne 129,3125 en décimal (81.5(16) c'est 8 * 16 + 1 + 5 * 1/16)
De deux, tu peux pas si ta valeur est stockée en entier.
Si c'est en flottant simple précision (float):
http://www.binaryconvert.com/resul [...] 0057046053
La valeur décimale 129.5 ça donne le mot 32bits hexadécimal 0x43018000


Message édité par bjone le 12-05-2015 à 14:04:59
Reply

Marsh Posté le 12-05-2015 à 14:10:38    

Merci pour ta réponse  ;)  
 
Et du penses que je peux trouver les lignes en binaires et en faire l'équivalent d'un chiffre à virgule ?


---------------
PC portable (Windows 7 Pro x64) : TOSHIBA Satellite L50-A-1DG
Reply

Marsh Posté le 12-05-2015 à 14:17:52    

Trop vague comme question.
Tu as quoi ? Un fichier de config en texte ? en binaire ?
 
Rien (tu ne sais pas où est l'information) => search & replace avec winhex, debugger => tu es parti pour 3 ans d'apprentissage.

Reply

Marsh Posté le 12-05-2015 à 14:33:55    

Désolé pour le manque de précision. C'est que vu mes connaissances limitées je ne sais pas forcément de quelles informations vous avez besoin  ;)

 

En fait c'est un exécutable. Pour être plus clair c'est celui de Tomb Raider 2  :whistle:

 

Il s'appelle : "Tomb2.exe"

 


En fait j'avais patché l'EXE pour changer la caméra et le FOV. Sauf que là je voulais finir d'ajuster la caméra et je vois que mon idéal tomberait entre 2 valeurs.

 

En hexa c'est à 82 aux offsets suivants :

 

0000F9E0 -> colonne 07

 

00010C40 -> colonne 08

 

00011310 -> colonne 01

 


Sauf que comme dit, je veux voir pour pouvoir trouver l'équivalence à un chiffre entre 81 et 82 en hexa ou dans n'importe quel autre mode, binaire ou autres  :(


Message édité par SuperLumberjack le 12-05-2015 à 14:35:16

---------------
PC portable (Windows 7 Pro x64) : TOSHIBA Satellite L50-A-1DG
Reply

Marsh Posté le 12-05-2015 à 14:59:24    

Si le stockage est sous forme entière, tu ne peux rien faire à ton niveau (il faudrait patcher la chaine de code).


Message édité par bjone le 12-05-2015 à 15:00:14
Reply

Marsh Posté le 12-05-2015 à 15:17:28    

Ouch ! Dommage  :(  
 
Bon, ce n'est pas trop grave. Merci encore à toi bjone  ;) Et si tu me permets ce petit jeu de mot : bjone journée  :D


---------------
PC portable (Windows 7 Pro x64) : TOSHIBA Satellite L50-A-1DG
Reply

Marsh Posté le 12-05-2015 à 15:21:22    

:D

Reply

Marsh Posté le 12-05-2015 à 15:24:38    

Par contre, regarde bien si la valeur n'est pas en flottant, car 130° c'est pas vraiment un champ de vision typique.
Où as-tu eu l'info pour ces offsets dans l’exécutable ?


Message édité par bjone le 12-05-2015 à 15:24:47
Reply

Marsh Posté le 12-05-2015 à 19:02:41    

Pour les offsets, j'ai comparer avec l'EXE original, donc non patché.
 
A mon avis ça n'a rien à voir avec le FOV si c'est ce que tu penses  ;) J'avais testé en flottant, mais ça me donne des longs chiffres avec lesquels je ne peux pas vraiment faire de lien  :(


---------------
PC portable (Windows 7 Pro x64) : TOSHIBA Satellite L50-A-1DG
Reply

Marsh Posté le 12-05-2015 à 19:02:41   

Reply

Marsh Posté le 13-05-2015 à 10:53:22    

Tu peux tenter de voir, si en prenant les 4 octets entourant tes offsets (en utilisant un alignement sur 4 octets), ils donnent une valeur cohérente de champ de vision en degrés ou plutôt en radians.

Reply

Marsh Posté le 13-05-2015 à 13:10:55    

OK, je vais regarder  ;)  
 
Sinon j'ai de nouveau comparer les EXE. L'un où j'ai mis une valeur de caméra à 1040, l'autre à 500.
 
Et aux offsets que j'avais cité + la colonne suivante, j'obtiens ça en héxa :
 
- Pour 1040 : "04 06"
 
- Pour 500 : "E8 03"
 
 
Si t'arrives à comprendre le lien  :pt1cable:  
 
Merci encore  :)


---------------
PC portable (Windows 7 Pro x64) : TOSHIBA Satellite L50-A-1DG
Reply

Marsh Posté le 13-05-2015 à 14:49:52    

J'ai pas compris, tu utilises un tweaker pour patcher le binaire ?

Reply

Marsh Posté le 13-05-2015 à 15:35:08    

Moi non plus je j'ai pas compris ce que tu viens de dire  :lol:  
 
En fait j'utilise simplement un patch pour corriger la caméra et le FOV et avoir le bon ratio d'image dans le jeu.
 
Donc j'ai juste comparé ensuite l'EXE patché avec celui non patché  ;)


---------------
PC portable (Windows 7 Pro x64) : TOSHIBA Satellite L50-A-1DG
Reply

Marsh Posté le 13-05-2015 à 16:59:09    

Ton patch il vient d'où, c'est quoi ?

Reply

Marsh Posté le 13-05-2015 à 21:59:18    

C'est ce patch, la version advanced  :) :

 

http://tombraiders.net/stella/down [...] creen.html


Message édité par SuperLumberjack le 14-05-2015 à 10:49:35

---------------
PC portable (Windows 7 Pro x64) : TOSHIBA Satellite L50-A-1DG
Reply

Marsh Posté le 14-05-2015 à 21:53:22    

SuperLumberjack a écrit :

OK, je vais regarder  ;)  
 
Sinon j'ai de nouveau comparer les EXE. L'un où j'ai mis une valeur de caméra à 1040, l'autre à 500.
 
Et aux offsets que j'avais cité + la colonne suivante, j'obtiens ça en héxa :
 
- Pour 1040 : "04 06"
 
- Pour 500 : "E8 03"
 
 
Si t'arrives à comprendre le lien  :pt1cable:  
 
Merci encore  :)


 
04 06, en little endian c'est 604(16) soit 1540(10)
E8 03 => 3E8(16), 1000(10)
 
Y'a un offset de 500, pourquoi pas.
 
----------
 
Par contre vu la tête du tweaker, pour le fov, ils font ça à l'ancienne, façon x,y*focale/z, vu que ça devait être un moteur T&L software, peut-être en virgule fixe.
 
Essaye d'email le gars qui a fait le tweaker, mais je pense que c'est mort ;)

Reply

Marsh Posté le 14-05-2015 à 22:44:06    

Ça doit être ça, vu qu'il y a une différence de 540  :)

 

Par contre je ne comprends pas tous les termes que tu emploies, car mes connaissances sont beaucoup plus limités  :D

 

Je me souviens juste que T&L veut dire Transform & Lighting je crois, car on entendait souvent ce terme il y a de cela plus de 10 ans avec tous ce qui tourne autour des cartes graphiques, les 3dfx, etc., mais en fait je ne sais plus du tout ce que ça signifie en réalité. Il n'y a plus que des fragments éparpillés par ci par là  :pt1cable: Ça veut dire quoi en virgule fixe au fait ?  :)

 

Pour le FOV, tu veux dire que ça agit comme un zoom c'est ça ? Si c'est le cas, oui c'est de cette manière que ça agit.

 

Mais en fait, finalement c'est bon, j'ai trop cherché dans le détail, mais je crois que j'ai craqué  :lol: En faisait je ne savais pas trop ce que je recherchais et j'ai expérimenté une tonne de réglages. J'avais vraiment du mal à me faire au 16/9 pour ces vieux jeux.

 

Et finalement j'en suis resté à un réglage équivalent à de l'HOR+.

 

En tout cas je te remercie encore pour ton aide et l'intérêt que tu portes à la chose. C'est sympa  ;)


Message édité par SuperLumberjack le 14-05-2015 à 22:44:49

---------------
PC portable (Windows 7 Pro x64) : TOSHIBA Satellite L50-A-1DG
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed