April 2, 200521 yr 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...
April 4, 200521 yr 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
April 4, 200521 yr >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...
April 4, 200521 yr Author 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
April 4, 200521 yr Author 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 (
April 4, 200521 yr 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...:)
April 4, 200521 yr Author 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. :)
Create an account or sign in to comment