Sign in to follow this  
wsieffert

XML-placed helipad Library Object

Recommended Posts

Hi all.I've been able to make a Gmaxed invisible 20 meter helipad that is a Library object... and can be XML-placed anywhere over the planet to provide a hard landable surface:http://www.flatface.net/~rhumba/Zips/20MeterPlatform.zipIn the above zip, I have all the sourcecode, the Library BGL ( best placed in "C:Program FilesMicrosoft GamesFlight Simulator 9SceneryGenericscenery" ), an example placement XML and BGL, and the gmax file, as well as BGLC_9.exe to compile FS9 MDL files ( just drag'n'drop the ASM file onto the icon, and then rename the extension to .MDLThe gmaxed pad is an attached platform... but there is no material assigned to the object ( a plane ) it is attached to. ;) The surface is concrete and no crashing.Dick

Share this post


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

One thing which never took off with GMAX was the concept of the reusable library -- I guess because you needed to distribute the actual GMAX file, merge it, have two sets of textures to view it both in the simulator and in GMAX. You also ended up with duplicates wherever the objects were used.Now it's possible to build up a library of compiled objects, having only to keep track of the GUIDs.I see a few problems with this, so any ideas would be appreciated.First, you don't get to see the object in GMAX, only the placeholder. I've found that if I don't make the placeholder roughly the size and shape of the actual object I keep losing it!Distribution is a sort of chicken and egg problem. This sort of thing is tidier if the library comes first, like Gerrish Gray's trees, but from a designer's point of view it needs to be a dynamic process, with a continually growing library.There's also the added steps in installing -- I prefer to have one project in one folder, even the AFCAD2 file, as this makes a simple, manual installation possible. I've always thought that we need a single, accepted automatic installation process -- any ideas :) ?

Share this post


Link to post
Share on other sites

Hi toprob.There is a problem in that we can now attach Library Objects to other objects, either from within Gmax, or through XML/BGLComp code ( by using named "empty" attachpoints ).Actually, we can nest Library Object attachments, but MS warns they don't support this. Object A can have Object B as an attachment, which in turn uses Object C as an attachment....The whole problem of attachments can be sidestepped if we just place objects separately. Effects could also simply be placed to XYZ coordinates, instead of attaching them. My 20 meter platform was meant to be a separately placed object... not attached to a building, but placed to give a hard surface in space that can be used with sceneries having older objects.The best use of the Attach Point Tool script would be for adding platforms to new objects, perhaps attached default effects, using the no crash directive for parts of a MDL. The use of "empty" named attach points would help in adding default Library object items like beacons.Any use beyond this, could lead to problems, as we don't know if the end-user would have new Library Objects or Custom Effects installed correctly.A Library Object BGL can be used if it exists in the same folder as the scenery placement BGL. But I'm not sure if that would cause problems with the Scenery Library priority, or if repeats of the same GUID are used because someone else decide to also include the Library BGL in their package ( although my experiments seem to show this is not a problem ).Attached platforms become a permanent part of the object's MDL. Nothing else is called or referenced outside the MDL. MS should have probably used a different script for platforms, because they actually aren't attached at all, but an integral part of the ASM code of the object.Dick

Share this post


Link to post
Share on other sites

Panos,I seem to recognize your house! Did you do the GMAX building tutorial? I never did get through it! Pulling tha roof was rough for me! I think I could have actually built a real house in the time it took me to shape the roof?W. Sieffert

Share this post


Link to post
Share on other sites

Hi Martin.For platforms, you need an object and a plane...removing the crashbox from the object, and converting the plane to a platform. You can make the object invisible by assigning a 0% opacity texture to it.I'm attaching a zip file that has a platform like this, the ASM files and the XML files.I made a 20x20x0.5 meter box in Gmax and assigned a 0% opacity to it's texture. I then used the attachtool to remove it's crashbox.I then made a 20x20 plane, and used attachtool to convert it to a platform.That's it.I made it a Library Object using the XML file, and then made a placement XML for it as an example.Dick

Share this post


Link to post
Share on other sites

Hello Dick,as always, many thanks!My ultimate objective was the famous one of making an elevated helipad landable (in FS2002!), and I have now figured it out via using the "zero height advanced building" approach. I suceeded only thanks to your and J.R.Morgan's earlier messages here on this forum -- I sure do admire and appreciate not only the genius of you guys to come up with all this stuff, but almost even more the amount of patience and effort you then put into explaining it to the Common Man. I know this tutoring and supporting is harder for the pioneers as it is much less fun, but without that, it would all be no good to us mere mortals... :-). So, thanks!It appears to me that the direct gmax/XML approach, as demonstrated in your ZIP file, applies only to FS2004 (FS9), but I'm still keen to have a look. On one hand, I have used gmax so far only for (newbie style) "building", not for integrated "functionality", so it will be an instructive example for that. On the other hand, I know my way around XML from work, so am much interested to see it put to use to something [em]really[/em] useful such as flightsimming. :-)Cheers,Martin

Share this post


Link to post
Share on other sites

Hi Dick,I am trying to use the new XML pad on a piece of scenery that I did not create and have no idea what was used to create it. It happens to be a floating patio off shore of a lakeside cabin on Lake Michigan.... Everything goes smooth through the DOS build of BGLC_9 and the BGL file is created at about 2K in size. Moving the file to FS9 though creates an error that is total falsehood. As you may be able to see down in the lower right corner there is over 200MB of memory available and about 30GB of hard drive. However, with that BGL file in FS9, she refuses to load. Have you seen any problems with the BGLC_9 along this line or have any clues as to why it thinks it needs so much memory?For info, the library BGL and a copy of the library XML reside in the SceneryGenericScenery directory. I am baffled (but then, what's new)Al

Share this post


Link to post
Share on other sites

Sorry about that, I grabbed the wrong attachment (wrong directory) if you saw a strange scenery picture. I have edited the message to include the correct attachment.It has been one of those days.Al

Share this post


Link to post
Share on other sites

Hi AL.The file: "20MeterPlatform_Library.BGL" is the Library Object BGL... it doesn't need compiling. That Library Object needs to be in a "scenery" folder to add it to FS9.The Library Object then needs to be placed by a placement BGL. To place it, open "20MeterPlatform_Placement.XML", and change the coordinates, altitude, and heading to your requirements, and compile with bglcpmp.exe... That placement BGL needs to be in the "scenery" folder, too, and make sure the Scenery Library has the scenery added and activated.BGLC_9 doesn't need to be used at all.Dick

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