• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Scenery objects via dll

Messages
482
Country
hungary
Hello there,


I would like to create a module to give my sceneries a basic copyprotection.

Is it possible to create a dll which controls if scenery object should be shown or not?

I do know e.g. AES makes an exclude area to get rid the scenerys jetways and to place it's own jetways.

This is exactly what I need.

Somebody has any experience? Any hint how to start? Any example?

Thanks for all your help!
 
You could use simconnect if your Target is fsx/p3D

Edit:

Sorry didn't work with sceneryobjects.. Only Ai Objects...

But you could show a big red X or a text with this solution...

Like the rings or arrows in a fsx mission..
 
Last edited:
Yes thanks. I need for fs9 as well. I was looking for explanations and tutorials but almost all of them are for aircraft.
 
You might contact Umberto over at FS Dreamteam, as they use a system of rendering through DLL and Python programming. Or something like that?
 
Thanks for the hints.

Yes FSDreamteam does very similar to that. Question is if they are willing to share know-how.
 
I have sent an email to fsdreamteam, I could not find any contact to Umberto. But to be honest I doubt they'll answer, I think that is a know-how they do not intend to share.
I have tried to check everything here at fsdeveloper in sdk and other sites but I could not find any hint.
If I get the solution I would share this information here.
 
I would think that the first problem with sharing that information is the potential that would exist of using that know-how to circumvent it.
I don't think anybody would want that, hence the tight-lipped-ness.
 
For FSX, you could create your models as SimObjects, then use SimConnect to add your models as AI. I believe this is similar to (if not) what FSDreamTeam does with their Addon Manager, and Lamont Clark (lc0277)'s Whisplacer tool does for live object placement.
 
Last edited:
Whisplacer has a very simple simobjects, if I remember correctly, that just references the guid from the library bgl.

Send from my phone using Tapatalk, so excuse the short sentences and possible typos
 
Oh, thanks. That's sounds interesting. I need to dig in in SimConnect, I have never delat with it before. Question will be how to do it in FS9 later.
 
So if I Understand correctly I have to create a dummy simobjects container in Simobjects folder with an empty mdl, empty texture folder and with sim.cfg where the following is defined:

Code:
[fltsim.0]
title=SceneContainer VEH_Air_PickupUS_Blue
model=
texture=
visual_model_guid={AAC710F6-68FB-4E7B-BF1D-458843B34C56}
ui_type=SceneryObject

[General]
category=SimpleObject

[contact_points]
destroy_on_impact=0

having a visual model guid.

Now my question is in the modules dll file what command line I have to create to place this simobjects on a defined lat/lon/alt?
 
Thanks. Obviously I lack a lot of knowledge in simconnect. Unfortunately I have time pressure, I don't have time to learn the whole thing. I opened a topic at project recruiting, I would be glad if somebody could help, I would pay for the services.
The goal is to create such a protection that copiing the scenery and texture folder is not enough to steal our product.
We have some basic experience in programming we did already some small programs like season channger and such. The know-how we are looking for is related programming in FS.
We need a simple source code which is communicating with fs the rest we can do.
The installer what we use is able to add values in files or in the registry. We would create huge X shape which cover the runways an aprons. The task of the copyprotection dll is to check the value in the registry, if the value is okay than it should remove the big X objects from the scenery. This is the function what we are looking for but not only for fsx butt fs9..
 
Last edited:
I have found something interesting in SCASM :

GenExcl and Exclude:

GenExcl( name.BGL mask
TopLat1 BottomLat1 RightLon1 LeftLon1
TopLat2 BottomLat2 RightLon2 LeftLon2
)

Generates a small BGL file for suppressing specified scenery areas. Exclude files have only effects to other scenery files which are located in FS scenery folders of lower scenery levels.
You can define more than one exclude file for the same scenerie but be very carefull when defining the boundaries. Move these file(s) to the same subdirectory as your other BGL files.
Note 1: you cannot disable any synthetic scenery tiles (including mountains) with these file(s).
Note 2: The original version of FS6/FS95 has some problems with these files (The ABOUT MENU for this version shows Version 6.00 Build 117). Microsoft ™ released a patch to solve this problem. The file name is FEPATCH.EXE.
Note3: Exclude files do not work in FS2K without the first patch.

name name of the generated *.BGL file (ie. MY_INCL.BGL)
LL1 Lat/Lon boundaries for the BGL file header of the exclude file. same as -> Header()
LL2 Lat/Lon boundaries for the scenery area to be excluded. (usually equal or larger to LL1)
mask 16 bit hex value to indicate the scenery data to be suppressed. Any combination of the below bits allowed.
01 no visual scenery, runways
02 no VOR, ILS
04 no NDB
08 no ATIS (COM), not supported in FS2K and later.
to exclude all foreign scenery simply enter F for the mask.

TOP

Older FS versions only can handle one exclude data record per BGL file. If your scenery needs many exclude areas, this results in a large number of small files. Since FS2K can handle more exclude records per file I implemented new commands to generate exclude and exception data. It is not recommendet to mix these data with other sections. So your source file should only contain Header(), Exclude() and Exception() commands.

2.52 / FS5 - ?
Exclude( msk TopLat BottomLat RightLon LeftLon )

same as GenExcl() but in the current BGL file.

I think that is the way how Oliver Pabst from AES excludes the jetway from the original scenery (he requests that jetway are on a separate position, no other object shares the same location /lat, lon/). He mentioned somewhere that he is using FS2002 and FS2000 format bgl files. It seems he found the way to activate these exlude files and that is the reason that AES folder has to be top priority in the scenery library.
 
Last edited:
I am not sure those SCASM excludes still work correctly with new XML style scenery. But it is very simple to make a small exlcude with BGLComp as well of course if you know the coordinates of the object.
 
Yes sure, making an exclude is relatively easy the question how to switch off or on that exclude with the module / dll.
 
Last edited:
Are you sure the exclude is enabled/disabled? This SCASM code you showed just makes a BGL, it has nothing conditional in it. So I don't think it can be toggled from code.
 
I'm not sure Arno. I'm just trying to figure out how to make such a dll which removes an object from our scenery. Any hint appreciated.
 
Oliver just rename the BGL files.
Thats why you need to restart the fs after changes in Aes help ....
 
Back
Top