Sign in to follow this  
badderjet

How TO global.DLL

Recommended Posts

Hi All,many wondered how to grab some information not available from the panel SDK variables. Many of them are only accessible with FSUIPC. Well, I've already written a little about this with the example about how to determine if you are in slew mode or not. Here is the general approach to fetch most of FSUIPC offsets from a gauge without FSUIPC and the IPC overhead.Most of this offsets are offsets in a data section of the FS global.dll loaded in memory from the modules folder. To access the data, here is an example:=================================================================here is an example to fetch the current daylight condition (day / dusk-dawn / night) which is not available as a FSVar. It is documented as offset 0x115E in the FSUIPC documentation.// vars to fetch the infoHMODULE RXPGLOBALHANDLE; // handle to the DLLUINT32 LIGHTINGDAYNIGHTMEM; // memory location of the byte we want to read// regular FS variables - only used when a dawn-dusk or night condition is foundMODULE_VAR MMLIGHTS = {PANEL_LIGHTS};MODULE_VAR MMAVIONICSON = {AVIONICS_CIRCUIT_ON};UINT32 MLIGHTS;FLOAT64 MAVIONICSON;[

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

Hi there,the information you gave the communitiy is quite interesting and easy to use.A bit more interesting are the functions which you can find deep in the FS system. They make you able to create 3D objects, move them around, move the aircraft (without beeing in slew mode), or p.e. show the message window (red) which is there if you are in multiplayer session and a new player enters.I give you a tip: to find these functions, you have to have a big knowledge in reverse engineering as well as in DirectX.As developers, we now have to find our own ways as FSUIPC is becoming payware - and this is OK.King Regards,Marcel Burrchief programmingbluesky software development

Share this post


Link to post
Share on other sites

Marcel & JeanLuc,Thanks for the information :-) While it does not apply directly to what I'm capable of ( XML only so far ) It does indeed open the doors up for some more radical I.E. Very new stuff to happen. I'm glad that you share these tidbits with those that could exploit it.. There is another thread also ( http://forums.avsim.com/dcboard.php?az=sho...10935&mode=full ) which opens up some new things......... We're all waiting for FS04...( DUH ) I hope XML opens up to some new things also for 04' ,,, Ideas, Ideas... As for MR. Dowson and FSUIPC and being payware,,, The site has an oppurtunity to be donationware, I for one say use it... Keep it free ware ( with donations, he deserves it 4 fold ( Pete has worked his butt off )) BUT I can also see where he is coming from also. 7/8 of all payware rape the fact that FSUIPC is there ( whether or not this payware is paying for a license ).. It's a tense time,,, make it right. P.S. It's been a long time since seeing what's going on in the developers world, so if my opinions/statements are not correct just correct my thoughts and put the flame out, I am not a troll, just need a break to get back into it. Regards,RomanGREEN BAY PACKERS][/i :-ukliam :-beerchug

Share this post


Link to post
Share on other sites

Exactly. And this is even easy ;-)Don't you know FS Scenery Enhancer of LAGO?

Share this post


Link to post
Share on other sites

Hi Jean,what I forgot...I think I do not have to tell you where you find a complete nice list with all offsets ... If so, contact me via emailmarcel.burr@bluesky-net.deKing Regards,Marcel Burrchief programmerbluesky software development

Share this post


Link to post
Share on other sites

Many thanks to Jean-Luc for this interesting information !!Can anyone tell me why it does not work when I try to read/write the autopilot heading value?FSUIPC documentation indicates it is located at offset 0x77C, but it always reads 0 when I try to read it using Jean-Luc's method.Any clue?Thanks !!Eric

Share this post


Link to post
Share on other sites

This is because the FSUIPC offsets are very likely not exactly the FS offsets. The FS offsets might change (but not necessarily the "old ones" (lower addresses)), the FSUIPC offsets stay the same. FSUIPC does not map exactly the FS offsets (that isn't from me, it's in the FSUIPC doc), so you can't use the FSUIPC offsets to access global.dll or at least only few. Apart from that, I think that there is also data from some other modules mapped in FSUIPC.dll, not only global.dll.Arne Bartels

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this