Jump to content
Sign in to follow this  
rhumbaflappy

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

Recommended Posts

Guest flightsimstudios

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
Guest cwright

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
Guest flightsimstudios

>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
Guest flightsimstudios

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  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...