Le point sur les offset

Questions de programmation / Offset FSUIPC et IOCP

Le point sur les offset

Messagede FiX » Ven 27 Aoû 2010 19:02

J'aimerais être sûre de bien comprendre:

Un offset c'est une fonction d'un avion de FS qui correspond à une commande ou une gauge (ex: les trains) et qui peut prendre une valeur, valeur qui détermine son état (ex: trains sortis), c'est bien ça?

A chaque commande de FS, on a donc un offset. Et chaque offset porte un nom (ex: 08DC)
P.Dawson a donc fait la liste de tous les offset qu'utilise FS pour faire fonctionner ses avions et on peut avoir une action sur ces offset via FSUIPC en leur donnant (ou en récupérant) une valeur grâce à un programme comme SIOC.
Toujours bon?


Dans le cas d'un add-on d'avion, on a des commandes qui n'existent pas dans les avions de FS, mais pourtant dans l'add-on cette commande existe bel et bien et elle fonctionne.
Donc ça veut dire que l'editeur de l'add-on utilise un nouvel offset non présent dans les avions habituels de FS?
Et cet offset "inconnu" est exactement comme ceux que l'on connait de FS, avec un nom et une valeur? C'est le même principe , mais juste qu'on ne le connait pas?


Concernant ces add-on, je suppose que l'on peut donc se retrouver devant 3 cas:
-->L'add on utilise toutes les fonctions que l'on retrouve dans FS et les mêmes offset que les avions de FSX => Tout va bien
-->L'add on utilise, pour les fonctions que l'on retrouve dans FS, les mêmes offset que ceux de FS. Mais il y a des fonctions supplémentaires que l'on a pas d'origine dans FS, donc des offset inconnus.
-->L'add on n'utilise que des offset qui ne correspondent pas à ceux d'origine de FS, même pour les fonctions que l'on retrouve d'origine dans FS => on ne peut rien en faire...

C'est bien cela?

Maintenant,si l'editeur de l'add-on nous donnait le nom des offset inconnus en question, on pourrait avoir une action dessus et l'utiliser comme on le fait avec ceux de FS listé par P.Dawson ?


Merci!!
i7 2600k/P8P67pro/16Go PC3 17000/RX 580/SSD 250 Go et 120Go/W10x64
https://www.facebook.com/cessna150.sim
Avatar de l’utilisateur
FiX
 
Messages: 4664
Inscription: 8/01/10
Localisation: Reims/Maubeuge

Re: Le point sur les offset

Messagede ganlhi » Ven 27 Aoû 2010 21:37

Tu as tout bon !
En fait un offset (décalage, en anglais) c'est juste l'emplacement dans la zone de mémoire qu'utilise FS pendant qu'il s'exécute, où il stocke l'information correspondant à cet offset. Donc logiquement TOUT ce que manipule FS est dans cette zone. Mais comme les combinaisons de point de départ et de longueur de chaque offset sont infinies, on ne peut pas deviner ces emplacements...
Guilhem

Image
Avatar de l’utilisateur
ganlhi
 
Messages: 734
Inscription: 19/04/09
Localisation: Castelnaudary

Re: Le point sur les offset

Messagede JeeHell » Sam 28 Aoû 2010 01:53

Pas tout à fait Ganhli, ce que tu décris c'est sur les vielles versions de FS où FSUIPC s'appelait encore FS6IPC, était freeware et développé par un autre "hackeur de mémoire"...
Maintenant, les offsets de FSUIPC référencent des emplacements dans un "fichier mappé en mémoire" peuplé par FSUIPC qui récupère lui même les donnés de FS par Simconnect! Ce n'est en gros qu'un emballage cadeau très utile car il simplifie grandement certaines fonctions de simconnect par du code interne.

Tout ça pour dire que non, toute fonction/inter d'un avion n'a PAS forcément d'offset FSUIPC. Scanner tout FSUIPC ne te permettra pas éventuellement de le trouver, car FSUIPC est une organisation artificielle des données répertoriées de base de Fs.

Suis je clair? lolaffiche
JeeHell
 
Messages: 1853
Inscription: 18/05/09

Re: Le point sur les offset

Messagede ganlhi » Sam 28 Aoû 2010 09:58

Merci pour ces précisions ! Je n'avais pas de certitude absolue sur ce que je disais, c'était juste de l'intuition de programmeur ^^

Quelque part c'est un peu "dommage" puisque ça veut dire que certaines fonctions sont définitivement inaccessibles...
Guilhem

Image
Avatar de l’utilisateur
ganlhi
 
Messages: 734
Inscription: 19/04/09
Localisation: Castelnaudary

Re: Le point sur les offset

Messagede JeeHell » Sam 28 Aoû 2010 14:19

ganlhi a écrit:Quelque part c'est un peu "dommage" puisque ça veut dire que certaines fonctions sont définitivement inaccessibles...

Ben oui et non, ça dépend des efforts de reverse engineering que tu es prêt à faire. Maintenant faut tâter de la programmation pour trouver dans la pile les adresses utilisées par les DLL des avions "complexes" comme PMDG puis trouver quoi correspond à quoi. Donc je pense qu'effectivement, c'est mal barré pour la plupart des addons commerciaux...
JeeHell
 
Messages: 1853
Inscription: 18/05/09

Re: Le point sur les offset

Messagede ganlhi » Sam 28 Aoû 2010 14:57

Oui c'est ce que je disais : c'est faisable mais tellement à tâtons, que c'est un travail de titan.
Guilhem

Image
Avatar de l’utilisateur
ganlhi
 
Messages: 734
Inscription: 19/04/09
Localisation: Castelnaudary


Retourner vers Programmation Sioc





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 27 invités