How To Add Objects to FS2004 Scenery
I’m
assuming you’ve installed Microsoft XML on your PC and dropped the MakeScene folder somewhere convenient (so you can get to it
easily) in your system. If not, go back to the Read_First
doc and carry out the instructions it contains.
If you’re
reading this (and you are!) you’re already in the MakeScene
folder, where apart from How_To items there are 6 other
objects taken from or based on the new FS9 Scenery SDK. The SDK contains more
stuff than this but this is all you need for the current purpose. When you’ve
mastered the (simple) methods described below you may want to read the enclosed
FS2004BGLCompSDK.doc, obtain the full SDK package and get more involved in
FS2004 scenery design, but there’s no need for you to do so at all.
Now you
don’t need any scenery design know-how, just simple savvy to follow the steps
set out below.
Step 1
=====
So you
think you'd like to add a group of small boats just off The Needles (
You check
the map (or fly/slew to the area in Flight Simulator) and roughly the area is
around N50 36.00, W1 38.00. Each boat you add will therefore need to have
slightly different co-ordinates close to those figures.
Step 2
=====
Every
available object is in the 'library' with a unique index (called its GUID). You
check the Excel spreadsheet called MyObjects.xls and find several boats as
follows.
VEH_water_sailboat1
GUID =
c545a29d11d2e2ec1000849c2ae60c5a
VEH_water_sailboat3
GUID =
c545a29b11d2e2ec1000849c2ae60c5a
VEH_water_smallboat1
GUID =
c545a29811d2e2ec1000849c2ae60c5a
VEH_water_smallboat4
GUID =
c545a29511d2e2ec1000849c2ae60c5a
(There
are several more as well)
Step 3
=====
You then
take the 'standard' code file (no need to understand why it works) which
I’ve called scen_obj.txt and open it up in Notepad as follows.
<?xml version="1.0"?>
<FSData
version="9.0"
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:noNamespaceSchemaLocation="bglcomp.xsd"
>
<SceneryObject
lat="N47
25.89"
lon="W122 18.42"
alt="0"
altitudeIsAgl="TRUE"
pitch="0"
bank="0"
heading="0"
imageComplexity="NORMAL">
<LibraryObject
name="4a5ceec84f2a9e27f12ee7a40f0c856c"
scale="1.0"/>
</SceneryObject>
</FSData>
Step4
====
Every FS9
scenery object uses a piece of code identical in format to the above - you just
paste its numbers in at the right places. Let’s say we want to place the first
boat in our FS9 scenery at latitude N50 36.00, longitude W1 38.00. Obviously it
must be at sea level and we decide to put it on a heading of 220 degrees. The
code for this would be as follows.
<?xml version="1.0"?>
<FSData
version="9.0"
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:noNamespaceSchemaLocation="bglcomp.xsd"
>
<SceneryObject
lat="N50
36.00"
lon="W1 38.00"
alt="0"
altitudeIsAgl="FALSE"
pitch="0"
bank="0"
heading="220"
imageComplexity="NORMAL">
<LibraryObject
name="c545a29d11d2e2ec1000849c2ae60c5a"
scale="1.0"/>
</SceneryObject>
</FSData>
So what
has to be pasted into each bold bit (the bits that must be amended for each
object)? The answers are more or less self-explanatory.
Latitude
and longitude (lat and lon) give the exact position
where the object will be placed. You can find the EXACT numbers by selecting
the
Altitude
(alt) is how high above ground or sea level the object should be. Buildings,
vehicles and vessels are obviously usually at 0 (metres
is the default). Effects like smoke will be above ground level eg a smokestack 180 metres high
will have a smoke effect at 180.
Land-based
objects have TRUE in the next line, sea-based have FALSE. That's all you need
to know about that.
Usually
you can leave pitch and bank at 0, but not heading, which rotates the view of
the object. You need to start at 0 and experiment because you don't want all
your ships facing in exactly the same direction and buildings often have to be
aligned with the coastline, a road or a river.
Now imageComplexity. This can be left at
Finally,
you paste the object's previously identified GUID into the name section.
So what
do you have to be careful of? Simple. Be exact. Make
sure you keep all the " and < and / and > marks in place. If you
accidentally delete any it WILL NOT work!
Step 5
=====
So that’s
the first object done. We can add more objects into the same piece of code just
by adding more <SceneryObject sections. Note that
we don’t need to duplicate the code ‘header’ and ‘footer’ sections for the
additional objects. So after we’ve pasted in the code for the
other 3 objects, our final code file looks like this.
<?xml version="1.0"?>
<FSData
version="9.0"
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:noNamespaceSchemaLocation="bglcomp.xsd"
>
<SceneryObject
lat="N50
36.00"
lon="W1 38.00"
alt="0"
altitudeIsAgl="FALSE"
pitch="0"
bank="0"
heading="220"
imageComplexity="NORMAL">
<LibraryObject
name="c545a29d11d2e2ec1000849c2ae60c5a"
scale="1.0"/>
</SceneryObject>
<SceneryObject
lat="N50
35.80"
lon="W1 38.10"
alt="0"
altitudeIsAgl="FALSE"
pitch="0"
bank="0"
heading="200"
imageComplexity="NORMAL">
<LibraryObject
name="c545a29b11d2e2ec1000849c2ae60c5a"
scale="1.0"/>
</SceneryObject>
<SceneryObject
lat="N50
36.20"
lon="W1 38.30"
alt="0"
altitudeIsAgl="FALSE"
pitch="0"
bank="0"
heading="180"
imageComplexity="NORMAL">
<LibraryObject
name="c545a29811d2e2ec1000849c2ae60c5a"
scale="1.0"/>
</SceneryObject>
<SceneryObject
lat="N50
35.90"
lon="W1 37.80"
alt="0"
altitudeIsAgl="FALSE"
pitch="0"
bank="0"
heading="240"
imageComplexity="NORMAL">
<LibraryObject
name="c545a29511d2e2ec1000849c2ae60c5a"
scale="1.0"/>
</SceneryObject>
</FSData>
Step 6
=====
There’s
practically no limit to the number of objects you can include in your file.
When you’ve finished adding all the objects you want, think of a name for your
file and save it in plain text format (eg
myukobj.txt).
After
you’ve saved your file, this is how the contents of your MakeScene
folder should look.
Step 7
=====
Well
done! The hard bit is over. Now it’s down-hill all the rest of the way. Now the
following may sound weird if you’ve never done it before, but trust me!
Place your
mouse pointer over your scenery file (myukobj.txt), click and hold down your
left mouse button and drag your file over the top of bglcomp.exe in the folder.
What you do should look like the following.
Now
release your mouse button and if all is well, you will see a
scenery BGL file named after your file, appear before your eyes!
Step 8
=====
Now
you’ll be dying to check your file out in FS so create a folder in your main
FS9 ADDON SCENERY folder. Call your new folder something like ….. er….MYUKOBJ. Then create a
sub-folder inside it called SCENERY and move or copy the new BGL file into it.
Then start FS2004, activate the scenery in the usual way and fly or slew to the
area.
With the
above file, this is what you’ll find.
OK, not
that spectacular but it’s just a start and shows what can be done in a few
quick and easy steps. The World’s your Lobster (can’t afford oysters around
here). MyObjects.xls, the spreadsheet in MakeScene,
is a ‘cut down’ version of the full MS library spreadsheet contained in the
SDK. This was done to take out all the objects that were put in by mistake and
do not actually exist in FS2004 (if you place an object and can’t see it, you
may have discovered another one – seriously). However, it still contains dozens
and dozens of useful objects, like schools, factories, warehouses, shopping
malls and so on, as well as lots of airport related objects.
Oh – but
don’t expect to be able to place the
What Can
Go Wrong?
================
Not a lot
other than what I’ve just mentioned if you follow the instructions carefully.
If you get a BGL file, your code is ‘acceptable’ and should work. If you don’t,
you’ve been careless and cut off a necessary sign (like < or / or > ) or allowed blank spaces to creep in between text and
signs. You must go back and check.
In the
example the objects were placed close to each other in a small area, but that
doesn’t need to be so. They can be miles apart if you want.
Happy
scenery building! If you take care and place objects in the right locations at
the right scale, email your txt file with a key (ie
what objects have been placed at which lat/lon) to flightsim@ukgo.com. I’ll give ‘em the once over and if everything’s OK, I’ll incorporate
your objects into a ‘master’ UK BGL. I would prefer people to concentrate
initially in specific regions, so it would be useful if you could let me know
where you’d like to start.
The BGL
will therefore grow like Topsy and if indeed it does,
I’ll upload it to Simv as a monthly update.
Roger
Mole
January
2004