Jump to content

Scenery variables with FSUIPC


Recommended Posts

I was wondering would it be possible to read and write scenery variables via FSUIPC? I mean those variables used in scenery designing for example animating objects and so on. Is it somehow possible?

Not in any way I know, sorry. It's an area I know little to nothing about I'm afraid. Way back in FS4 and maybe FS5 the BGL commands had facilities to access parts of the GLOBALS.DLL, which is withing the area normally addressable by FSUIPC, but that direct access from BGLs disappeared long ago.

Pete

Link to comment
Share on other sites

  • 2 months later...

I was also searching for a way to work with the scenery variables and I have had some success until now. I have made a little program that can write to some of the user variables that are used by the scenery. Here are their FSUIPC addresses (the names are taken from the fs98 SDK):

0DD6 - usrvar

0DD8 - usrvr2

0DDA - usrvr3

0DDC - usrvr4

0DDE - usrvr5

0DE2 - spar10

0DE4 - spar11

0DE6 - spar12

0DE8 - spar13

0DEA - spar14

0DEC - spar15

0DEE - spar16

0DF0 - spar17

0DF2 - spar18

I haven't tried other scenery variables yet, but I think the ones listed in the global variable section of the Fs2000 Scenery SDK should also work, if we know which address they have in FSUIPC.

Link to comment
Share on other sites

IHere are their FSUIPC addresses (the names are taken from the fs98 SDK)

I know nothing about scenery, scenery design, or variables, but I would be delighted to add details of your findings to the FSUIPC SDK if I can understand them better.

Is this list of yours understandable to scenery designers? Are all variables 16-bit signed or unsigned values? Is the list applicable to FS2000, FS2002 and FS2004 or only some of these?

Just checking my mapping tables, I see that the whole range of offsets, from 0D0E to 0E49 inclusive are still "virgin" in that they remain unmolested from FS98 days, so presumably your findings may also even apply to FS98?

I am planning (again!) to get to work on the update to the SDK next week, so I could add such details, when you verify.

Thanks!

Pete

Link to comment
Share on other sites

Is this list of yours understandable to scenery designers? Are all variables 16-bit signed or unsigned values? Is the list applicable to FS2000, FS2002 and FS2004 or only some of these?

I could make the list a bit more clear. Now I gave the BGLC alias names, nut maybe the FS hex values that are listed in the SDK are more clear to some designers.

0DD6 - usrvar = 0312h
0DD8 - usrvr2 = 0314h
0DDA - usrvr3 = 0316h
0DDC - usrvr4 = 0318h
0DDE - usrvr5 = 031Ah

0DE2 - spar10 = 031Eh
0DE4 - spar11 = 0320h
0DE6 - spar12 = 0322h
0DE8 - spar13 = 0324h
0DEA - spar14 = 0326h
0DEC - spar15 = 0328h
0DEE - spar16 = 032Ah
0DF0 - spar17 = 032Ch
0DF2 - spar18 = 032Eh

I have no idea of they are 16 bit, how can I find that? I am not really into that kind of stuff, I found this with some trial and error.

I have tested most things in Fs2002 now, but I think (rather sure) that it should work from Fs98 till Fs2004.

I want to try to find some other scenery variables listed in the SDK as well. I will post it here when I can find them.

Link to comment
Share on other sites

[quote name="arno_nl2000

I have no idea of they are 16 bit' date=' how can I find that?[/quote]

Well, they can't be MORE than 16-bit as the offsets are at intervals of 2 (2 bytes = 16 bits). So they are either single byte or 16bit values. Most likely the latter, but the clue would be in how they are used, what they contain. If they never contain values other than 0 or 1 then they are just BOOLeans, and so the size doesn't really matter much. If they can never have values larger than 255 (or -128 to +127 if signed) then they are bytes.

Since I don't know scenery design I couldn't even hazard a guess, but anyone who actually uses these variables should presumably know what they are used for and therefore how much they can contain.

I want to try to find some other scenery variables listed in the SDK as well. I will post it here when I can find them.

Great! Thanks!

Pete

Link to comment
Share on other sites

OK, that makes it more clear. They are user variables, so they have no fixed use. The designer can use them to store something he wants to store. In animations made with GMax one of them is for example used to store the frame number. I know that value can be bigger then 256, so I guess it will be singles then.

Link to comment
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
 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.