Sign in to follow this  
rhumbaflappy

FS2004 Experiment: FS98 or FS2000 Dynamic Scenery BGL's?

Recommended Posts

Anyone know what the BGL names and locations were for the old FS2000 or FS98 BGL's?I'm hoping to experiment with some of these old BGL files to see if I can call some FS2004 GUID's and regain some of the old animated boats and airport ground vehicles.Also does anyone know of the old GUID codes for the FS98 or FS2000 dynamic sceneryd default objects? I'm wondering if they are using the same GUID codes as in FS2004.Also I'm curious as to whether or not any default aircraft in FS2004 have GUID codes.Any help would be both fun and appreciated... ;)

Share this post


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

Hi,The following is from SCASM docs (www.scasm.de)The ID's are 32 bit hex numbers. These are used to specify the library file and the wanted object in this fileThe following ID's are used in FS98 DYNLIB.BGL:id0 00C2CdA9 for FS98 DYNLIB.BGL id1 A9E100AA for FS98 DYNLIB.BGL id2 596711D0 for FS98 DYNLIB.BGL id3 ... B1A18300 Cessna B1A18301 Lear45 B1A18305 Helicopter, color parts 0 ... 7 B1A18307 G_Truck 1 (gas truck) B1A18308 G_Truck 2, color parts 0 .. 7 ------ end of SCASM citation ----These IDs still work in FS2004 as far as I know. I found the small and very simple dynamic sail boat in one of my dynamic macros. Here it is:CallDLibObj( :SAIL 3 %1 00C2CDA9 A9E100AA 596711D0 B1A18306 )Regards, Luis

Share this post


Link to post
Share on other sites

Thanks, any idea which scenery bgl's though actually contain the dynamic tracks (i.e. not the objects?)I'm hoping to just port the dynamic motion paths into FS2004 and see how they go, just out of curiosity. I'd like to try and get some ground vehicles moving again in the sim...I looked at FS2000 last night and noticed that the dynamic scenery had been smoothed out very significantly since FS98. FS98 the motion paths were kind of jerky... The interpolation in FS2000 was much nicer and seemed to be as smooth as AI aircraft movements.I'll be calling the FS2004 objects, but for simplicity sake I'm hoping to just grab the BGL and reassign codes and see how the animated paths look in FS2004 before I try and record any of my own paths...The above information should help though... But further information about specific BGL files that contain the animation paths for the dynamic objects would be very cool.Now if I could only decompile my FDIII carrier, I could have a moving carrier to land the Tomcat on ;)I'm also wondering if there's a way to port the CFS2 AI ship DLL's to FS2004, and if there's a way to port the weapons and combat systems DLL's to FS2004.That would be really cool... To have a more realistic world in FS2004, where you can shoot weapons... I'm still dreaming a day they might *hope hope* merge the two technologies...I'm surprised the MS guys haven't come up with an Aircraft Carrier, F-14 US Navy based flight sim. They'd sell more copies of that than CFS I'm sure.I also dream of the day that space is modelled in Flight Sim, where you can achieve orbit. Maybe one day, but now I'm getting off topic.

Share this post


Link to post
Share on other sites

Okay I just used FS Action scenery to track these down...In both FS98 and FS2000 the dynamic paths are in the files:Chicago5.bglDallas5.bglDenver5.bglKanci5.bglLosAng5.bglMiami5.bglNewOr5.bglNewYork5.bglSaltLk5.bglSeaTac5.bglSF5.bglStLouis5.bglThe Library is:dynlib.bgl (pretty common knowledge)I'll do some more experimentation, and see what happens in FS2004...

Share this post


Link to post
Share on other sites

YES!!!I just dropped all the FS2000 dynamic scenery libraries and sceneries into FS2004, and they worked immediately...All the aircraft and ground objects are FS98 defaults (if I remember right), but they all show up and they all animate... Only thing is the yachts are about 10-20 feet in the air...The animations are liquid smooth.This discovery after about 5 years of simming is probably an oldie but a goodie, and its like opening up a while new world to flight sim again...Many people have wanted animated aircraft carriers, this is possible, many people have wanted flying birds without relying on the AI engine, this is possible, many people have wanted moving ships that are not AI, this is possible.It's kinda funny how a gem of an old flight sim scenery engine that dates back to the days of FS4 can inject new life into FS2004...If anyone is interested: Buy the downloadable old FS Action Scenery for FS98/2000 from abacuspub.com and install it. Download the FSASM recorder for FS9.0 or FS8 if you're running FS2002, and record a flightpath/track you want the object to follow...Generate your objects in GMAX as a scenery object, there's tools around to make them into libary objects with GUID codes. Use these to creata a dynamic scenery library (even a RWY library object can be called with this), and add the GUID code to an assignment in FS Action scenery. Oh and don't forget to import your FSASM track/flightpath into FS Action Scenery and compile the BGL...It's a very simple way of getting non-AI based animations into the sim... I can't believe a long forgotten technology has been forgotten in the FS world.Here's what you can do with FS Action Scenery...1. You can record an aircraft/vehicle path for a long period of time, like 1 hour or more and you can loop the object's path indefinitely.2. You can get the various dynamic objects to interact with each other, so one will 'awaken' when another hits a certain point in the animation path. You could potentially make moving aerobridges with this...3. You can call any 'free range' (i.e. not geocached) FS2004 library object and make it move in the scenery... You could make the Lincoln Aviator move around. You could make the ships move...4. Anything else your mind could imagineI'm posting this in the hopes of keeping the dynamic scenery engine alive for FS2006. If anyone from the MSFS team is lurking, please keep the dynamic scenery engine... I have some new ideas for scenery design in FS and it involves the use of dynamic scenery.The technique I am thinking of would create a revolution in the scenery engine in FS... I can't give anything away, but I can tell you it won't be herd that it's a cow of a project ;) I guess I'm just horsing around, just for effects. I'm a little animated tonight over this idea. It sure won't be a white elephant I can tell you!

Share this post


Link to post
Share on other sites

Hello,have a look at the MS Scenery SDK 2000/2002 document - it contains a part about Dynamic Sceneries with all necessary information including the GUIDs of the provided default library objects.Alternativly you could have a look at my 'Dynamic Scenery Design notes' (dynsctut.zip in the Avsim library), which condensed this information a little bit and provides bgl macros and some working code samples.However, in times of FS2002 I was not satisfied by the smoothness of the dynamic movement: Objects sometimes stopped short in mid-air, when reaching a new leg of the course and orienting the objects into the correct direction was not always easy (if I remember correctly: they always turn clockwise or so...). Maybe it depended on the density of the scenery and the power of the computer.On the other hand, it is pretty impressive, what could be done at this time (conditional courses, when the the path is blocked, start of movements, when objects get closer etc...).Well, the code is 16bit and the question remains, how long will MS support Windows 3.11 compatible stuff.Best regards,Edgar

Share this post


Link to post
Share on other sites

Thanks for the heads up about the SDK's... I'll go grab them tomorrow...I guess my hope is that the MSFS team will continue to develop the dynamic scenery engine if enough people make use of it... Problem is, no one has been making use of it, but I've got a concept that will help create a huge paradigm shift in FS that I am sure the MSFS team would generate new code to further expand what is already possible within the sim...My only concern is if they kill off the dynamic scenery engine and don't build a replacement for the next version of FS...Orientation was never an issue for me, and I've been looking at the paths, for what I'm planning on using it for, any lag in a turn would barely be noticible, and all objects would be on the ground.I suspect that the issue you had above was due to dynamic scenery boundary conflicts, but that is just an uneducated guess...All I can say is that if I can get a qualified person on board with me you should see a paradigm shift in the FS world soon... What I have planned will change FS forever, and that's not just a wild claim... The moment you see the final product your jaw will drop open..Back to dynamic scenery, I'm not sure I follow with the clockwise turns but I've never experienced that, it all pertains to the data relating to the objects orientation... It can be hand coded and smoothed out... All I can say is in FS2004 with a P4 2.4 GHz computer the dynamic scenery was like liquid...More news to come, hopefully sooner rather than later...

Share this post


Link to post
Share on other sites

I tried using the old FS Action Scenery with the FSASM recorder and got all my tracks and generated the BGL...I went in to fire up Flight Sim and the dynamic scenery doesn't show up... The default stuff does, but the FSA generated stuff doesn't.I tried with the default Cessna Codes as well as creating BGL's calling FS2004 GUID objects....Any clues?

Share this post


Link to post
Share on other sites

FSDyn and DKHanger still work fine for FS9 (and they're free). The only problem is that one must record the paths in FS2002 and the models must be FS2000 or earlier. I've had a Hawk, Canberra, Nimrod and even a Concord as dynamic scenery in FS9.George

Share this post


Link to post
Share on other sites

Thanks George but some people have actually got FS Action Scenery working, and you can record tracks in FS2004 with it... I'll have to track down my other thread...

Share this post


Link to post
Share on other sites

>Alternativly you could have a look at my 'Dynamic Scenery>Design notes' (dynsctut.zip in the Avsim library), which>condensed this information a little bit and provides bgl>macros and some working code samples.Edgar, This was very useful, as previously I knew virtually nothing about creating animated objects. Many thanks. However, I created dyn_eddi.asm, compiled it and placed the bgl file in addon sceneryscenery, but nothing showed up. Should this work in FS2004? Best regards, Chris

Share this post


Link to post
Share on other sites

> However, I created dyn_eddi.asm, compiled it and placed the>bgl file in addon sceneryscenery, but nothing showed up.>Should this work in FS2004?Hello Chris,I did a quick check and it worked in my FS2004. I used an extra directory, but this should make no difference.Stupid question, but did you enabled dynamic sceneries in the FS? (Options->display->scenery : Addon dynamic scenery)Otherwise you could try to decompile the bgl file with BGLAnalyze to see, if the bgl file is valid. But then the compilation should fail in the first place...Best regards,Edgar

Share this post


Link to post
Share on other sites

Anyone interested in getting back to the FS Action Scenery problem I've been trying to solve with the GUID calls not showing up in the sim?

Share this post


Link to post
Share on other sites

I just did.FS2004 library objects will not show as dynamic scenery because they are not dynamic-scenery-library-objects... they are FS2004 static objects.FS2002 library objects will not show, because they are FS2002 static objects.You can create objects as Gmaxed FS2002 static objects, and then alter their ASM code to create dynamic-scenery-library-objects.Alternately, you can use FSREGEN to create a dynamic-scenery-library-object from Gmaxed FS2002 static objects.I'm not sure about FSDS-designed FSS2002 static objects, but I'm sure there is a ( relatively ) simple way to alter the SCASM code to create a dynamic-scenery-object-library from them as well.Dick

Share this post


Link to post
Share on other sites

Actually I've been calling FS2000 dynamic scenery objects which show when I use the default FS2000 BGL's, but if I call it through FSA then it doesn't show up...I think I need to probably go back and see if I can get it to display in FS2000 to see if something has been coded wrong...I'll take a deeeper look into the ASM code and MDL tweaks...Two steps forward one step back *groan*Thanks for the info Dick...

Share this post


Link to post
Share on other sites

Edgar, in the immortal words of Homer Simpson: "Doh!" I hadn't used dynamic objects for years and years and I had completely forgotten about that. Now it works fine. Many thanks! Best regards, Chris

Share this post


Link to post
Share on other sites

>I just did.>>FS2004 library objects will not show as dynamic scenery>because they are not dynamic-scenery-library-objects... they>are FS2004 static objects.>>FS2002 library objects will not show, because they are FS2002>static objects.>>>You can create objects as Gmaxed FS2002 static objects, and>then alter their ASM code to create>dynamic-scenery-library-objects.>Okay, further to this, there is a tool I have which I'll have to look up that will convert an FS2004 object back to FS2002... I know it works for aircraft, I'll have to try it on the scenery...I'll look into it some more now I've got my retro AI package pretty much complete...

Share this post


Link to post
Share on other sites

Here's some code that will make a Dynamic scenery library:

; BlueBox_Dynamic.asmlibrary_header label word	dw  0001	dd   000A00000h	; North Bound	dd   0FF600000h	; South Bound	dd   000000000h	; East Bound	dd   0FFFFFFFFh	; West Bound	dw  22 dup(0)	dd  library_data - library_header	dw  10 dup(0)	dd  05E65DB45h	dd  0490C570Ah	dd  05E65DB45h	dd  0490C570Ah	dw  13 dup(0); =================================================================library_data label word; =================================================================; Library List:rel_base = $	LIBRARY_OBJECT_PTR   library_start_0000, 05E65DB45h, 0490C570Ah, 065A6B6A3h, 0FBA8B09Ah		dd  (offset library_end_0000); add additional LIBRARY_OBJECT_PTRs and end offsets to the list here; =================================================================library_start_0000 label word	BGL_LIBRARY_OBJECT  05E65DB45h, 0490C570Ah, 065A6B6A3h, 0FBA8B09Ah, 100, 62, 1024, 2, 0, library_end_0000, 'BlueBox'	include BlueBox_Dynamic_0.asmlibrary_end_0000 label word; add additional Dynamic library objects here; =================================================================EOF

; BlueBox_Dynamic_0.asm; Modeling units = 2.0000; Radius = 61.2372; Radius in meters = 61.2372; Radius in modeling units = 123;BlueBox_topG0 label BGLCODE	BGL_BEGIN 0800h; version = 8.00; ==============================================================; Start of Dynamic CodeSETWRD 2Ch, 62; Dynamic object radius in meters;	SHADOW_VPOSITION 0; anchors the shadow ( varying position );	SUPER_SCALE Call_DynoCode, 2048, 15000, 15;	SHADOW_VICALL Draw_DynoCode, 18hCall_DynoCode label word	VPOSITION Return_DynoCode, 10000, 62, 0	SUPER_SCALE Call_DynoCode, 2048, 15000, 15	VINSTANCE_CALL Draw_DynoCode, 18hReturn_DynoCode label wordBGL_RETURNDraw_DynoCode label word; End of Dynamic Code; ==============================================================	MATERIAL_LIST_BEGIN	MATERIAL_DEF 0.376471,0.333333,0.952941,1.000000,  0.376471,0.333333,0.952941,  0.000000,0.000000,0.000000,  0.000000,0.000000,0.000000,  0.000000; 0	MATERIAL_LIST_END	VERTEX_LIST_BEGIN	VERTEX_DEF   -50.000004,	0.000000,   50.000004,  -1.000000, 0.000000, 0.000000,   0.000000,1.000000;   0 part=  1 prim=0	VERTEX_DEF   -50.000004,	0.000000,   50.000004,   0.000000,-1.000000, 0.000000,   0.000000,1.000000;   1 part=  1 prim=0	VERTEX_DEF   -50.000004,	0.000000,   50.000004,   0.000000, 0.000000, 1.000000,   0.000000,1.000000;   2 part=  1 prim=0	VERTEX_DEF   -50.000004,	0.000000,  -50.000004,  -1.000000, 0.000000, 0.000000,   0.000000,1.000000;   3 part=  1 prim=0	VERTEX_DEF   -50.000004,	0.000000,  -50.000004,   0.000000,-1.000000, 0.000000,   0.000000,1.000000;   4 part=  1 prim=0	VERTEX_DEF   -50.000004,	0.000000,  -50.000004,   0.000000, 0.000000,-1.000000,   0.000000,1.000000;   5 part=  1 prim=0	VERTEX_DEF   -50.000004,  100.000008,   50.000004,  -1.000000, 0.000000, 0.000000,   0.000000,1.000000;   6 part=  1 prim=0	VERTEX_DEF   -50.000004,  100.000008,   50.000004,   0.000000, 0.000000, 1.000000,   0.000000,1.000000;   7 part=  1 prim=0	VERTEX_DEF   -50.000004,  100.000008,   50.000004,   0.000000, 1.000000, 0.000000,   0.000000,1.000000;   8 part=  1 prim=0	VERTEX_DEF   -50.000004,  100.000008,  -50.000004,  -1.000000, 0.000000, 0.000000,   0.000000,1.000000;   9 part=  1 prim=0	VERTEX_DEF   -50.000004,  100.000008,  -50.000004,   0.000000, 0.000000,-1.000000,   0.000000,1.000000;  10 part=  1 prim=0	VERTEX_DEF   -50.000004,  100.000008,  -50.000004,   0.000000, 1.000000, 0.000000,   0.000000,1.000000;  11 part=  1 prim=0	VERTEX_DEF	50.000004,	0.000000,   50.000004,   0.000000,-1.000000, 0.000000,   0.000000,1.000000;  12 part=  1 prim=0	VERTEX_DEF	50.000004,	0.000000,   50.000004,   0.000000, 0.000000, 1.000000,   0.000000,1.000000;  13 part=  1 prim=0	VERTEX_DEF	50.000004,	0.000000,   50.000004,   1.000000, 0.000000, 0.000000,   0.000000,1.000000;  14 part=  1 prim=0	VERTEX_DEF	50.000004,	0.000000,  -50.000004,   0.000000,-1.000000, 0.000000,   0.000000,1.000000;  15 part=  1 prim=0	VERTEX_DEF	50.000004,	0.000000,  -50.000004,   0.000000, 0.000000,-1.000000,   0.000000,1.000000;  16 part=  1 prim=0	VERTEX_DEF	50.000004,	0.000000,  -50.000004,   1.000000, 0.000000, 0.000000,   0.000000,1.000000;  17 part=  1 prim=0	VERTEX_DEF	50.000004,  100.000008,   50.000004,   0.000000, 0.000000, 1.000000,   0.000000,1.000000;  18 part=  1 prim=0	VERTEX_DEF	50.000004,  100.000008,   50.000004,   0.000000, 1.000000, 0.000000,   0.000000,1.000000;  19 part=  1 prim=0	VERTEX_DEF	50.000004,  100.000008,   50.000004,   1.000000, 0.000000, 0.000000,   0.000000,1.000000;  20 part=  1 prim=0	VERTEX_DEF	50.000004,  100.000008,  -50.000004,   0.000000, 0.000000,-1.000000,   0.000000,1.000000;  21 part=  1 prim=0	VERTEX_DEF	50.000004,  100.000008,  -50.000004,   0.000000, 1.000000, 0.000000,   0.000000,1.000000;  22 part=  1 prim=0	VERTEX_DEF	50.000004,  100.000008,  -50.000004,   1.000000, 0.000000, 0.000000,   0.000000,1.000000;  23 part=  1 prim=0	VERTEX_LIST_END; NonAlphaBlueBox_NonAlphaG0 label BGLCODE	BGL_FTAG "MasterScale", 0.00			  ; Node 1 	MATERIAL 0; <96,85,243,255> 	DRAW_TRI_BEGIN 0, 24	DRAW_TRI   17,  14,  20; poly=7 part=1	DRAW_TRI   12,  15,   4; poly=2 part=1	DRAW_TRI   11,  22,  19; poly=3 part=1	DRAW_TRI   19,   8,  11; poly=4 part=1	DRAW_TRI	5,  16,  21; poly=5 part=1	DRAW_TRI   21,  10,   5; poly=6 part=1	DRAW_TRI	4,   1,  12; poly=1 part=1	DRAW_TRI   20,  23,  17; poly=8 part=1	DRAW_TRI   13,   2,   7; poly=9 part=1	DRAW_TRI	7,  18,  13; poly=10 part=1	DRAW_TRI	0,   3,   9; poly=11 part=1	DRAW_TRI	9,   6,   0; poly=12 part=1	DRAW_TRI_END	BGL_END	BGL_RETURN; 

The first file creates the Dynamic Library, then lists the objects, then includes the object code from the '*_0.asm'The second file ( the traditional '*_0,.asm' code ) is an altered FS2002 Gmax-made object code, to which I inserted a Dynamic code section.The easiest way to then use this object would be to make a SCASM code to call:CallDLibObj( :L000045 4 1 5E65DB45 490C570A 65A6B6A3 FBA8B09A )( instead of the Pattern() command ).Dick

Share this post


Link to post
Share on other sites

The conversion of FS2004 object MDL code to FS2002 BGL code will probably not work. If you have the Gmax file, just load it to GMAX FS2002 instead of GMAX FS2004, and re-export it.The SCASM docs (

Share this post


Link to post
Share on other sites

lol, hmmm, maybe I should just wait and get word to MSFS about reworking the dynamic scenery and porting it over to XML... ;)I've got too many projects on the burner, time to put a few on the backburner I think, this might have to be one of them...:)

Share this post


Link to post
Share on other sites

The Dynamic Scenery is very old... probably fs2000 since an update. It's an area Flight Simulator could definitely improve.For instance, there's really no reason we could not be allowed to move any scenery object, not just those in a dynamic object library file. And restricting the number of moving objectsis currently a little too severe.BusyObjects was developed to overcome some of these limitations, but it will only work wth FS2002 scenery objects. ( And it's implementation is a bit complicated ). I don't know if BusyObjects still works alright with FS9, using FS2002 objects.DickEDITED--BusyObjects does indeed work with FS9 using FS2002 scenery objects. :)

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