Sign in to follow this  
Guest

Does SCASM has a future?...

Recommended Posts

Well, I was reading some posts and I've been able to figure out that BGLC is the new key to FS2K2 programming.My question is, what about SCASM? Isn't it the same? SCASM only "translates" the BGLC language, I thought?In the end, both throw out a bgl file...But what makes a Gmax/BGLC object so more fps friendly? That's the most interesting point...What code does Gmax actually generate? BGLC-Code??What about that plug-in from M$? Is this the fps wonder?Hope to get some answers :)GreetsJeff, who wants to stick with SCASM ;)

Share this post


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

Hi Jeff! Nice to see ya here. :-)Well, I'm using Scasm with Airport to place my Gmax objects using the library API method with FSRegen to generate the library. Find it easier than to figure out the lat/lon to put in the Gmax export window.I think it is the way MakeMDL writes the bgl code for gmax objects that makes these objects fps friendly. If you look at the code generated, the objects are drawn in triangles in contrast to the TexPoly's we were accustomed to in Scasm.I don't know if Scasm supports the command, but if it does then maybe we can write the same code in a txt file and compile with scasm. Draw back is the file for a simple cube would be quite lengthy to be practical.Besides, gmax makes it so easy to model the objects I don't even make sketches of my objects anymore. I draw them right on the gmax work window. :-)I could make a terminal in 2 hours (not including texture development)that has separate posts,inside walls, floors and ceiling, with a 2-layer slanted roof also having ceilings inside them with about 15 transparent smoked glass windows in metallic frames (this one without textures). To me that makes scenery design more of a design work rather than a programming procedure and is more fun. And you don't have to worry so much about frame rate. If your objects become framerate hungry, you can make lower detail versions that display when you are further away and improve framerate.I think if you try to learn everything about gmax it will be a steep learning curve. But I didn't. The tutorial released by Microsoft and some following in the discussions in this forum has helped me to make a small provincial airport with a quite detailed control tower including an "atomic clock" (you know what i mean) inside. :-)Well, just my 2 cents. Cheers! :-beerchug Manny AquinoPFSG-Surabaya

Share this post


Link to post
Share on other sites

Yo Manny tres!Yeah, I see. Gmax makes the designing part really easy and fun!But it's only for designing static object by now..except never ending animations, as I've seen in some posts.But if you have to program animation, etc, I think you won't come around tweaking the code...But maybe there will be some kind of plug-in or so for Gmax to build in switches (NAV Freq, COM, etc) right into the code!Then Gmax will be THE tool! I really hope that such a "programming" plug-in would be possible to create.I think the newest SCASM has such triangle stuff, there's a command which is named like that...So then, next step: Gmax! :)JeffP.S. yeah an atomic clock ;) with mini mesh-terrain I guess...hehehe

Share this post


Link to post
Share on other sites

Hi Jeff,First I will give my opinion on your origional post.I have used SCASM for some years, I even made some sceneries with only SCASM, but right now I think it is dead. The latest version of SCASM does support some of the new commands, like the triangles. But not all, for reflective textures for example you need to use GMax. Maybe in the future all new features will be added to SCASM, but I am not sure about that.BGLC already has these features, we only need to learn how to use it :). Scenery design programs like Airport are also switching over to BGLC, so I think that is the future.>But if you have to program animation, etc, I think you won't >come around tweaking the code... I think that was also true before GMax was there. I don't know any design program that can make the nice animations GMax can and can also add conditions like frequency, etc.Now I have found out how to make that gate animate correct, I am thinking about a way to make the source code changes easier. But I am afraid that it will always be some source editing (just like for advanced SCASM animations).>Then Gmax will be THE tool! I really hope that such a >"programming" plug-in would be possible to create. Nice idea. Does anyone know a link or so to more information about making plugins?Arno


Member Netherlands 2000 Scenery Team[a href=http://home.wanadoo.nl/arno.gerretsen]http://home.wanadoo.nl/arno.gerretsen/banner.jpg[/a]

Share this post


Link to post
Share on other sites

Hi Jeff.I think the combo of Gmax, resample, and BGLC will be the way to go in the future. We should have learned BGLC a long time ago, and our neglect is coming back to haunt us now. BGLC is a superset of MASM, Microsoft's Assembly language compiler, geared towards making BGLs. BGLC can get programming right down to the bit level, if needed. It's incredibly flexible, and yet incredibly primitive. Outside of Microsoft, nobody knows how to use it well. So, we need to learn.We've pushed resample, also from MS, about as far as it will go. I hope MS will release a new version of it, if they decide to release a new terrain SDK.Gmax ( provided by MS ) has a lot of potential for a graphical interface... not only for objects, but possibly for terrain elements as well ( fsregen, by George Ioannu, is a good step in increasing Gmax's flexibility ).SCASM filled a void, helping designers make BGLs before BGLC was even made available. But it was designed for a pre-FS2000 ( pre-TMF ) environment. Now that Terrain Model Files are the future, SCASM's future is looking a little dimmer. SCASM might actually benefit if it's command style/structure were made into a macro 'include' for BGLC! Then SCASM users could continue to use the language commands they are familiar with, while having the flexibility of assembly language.Dick

Share this post


Link to post
Share on other sites

I think, I was originally the one who started off the BGLC 'craze', so you get an answer here from one of the original BGLC supporters.In principle there is nothing wrong with SCASM. You could do every thing with SCASM that you can do with BGLC. It's just a different approach.I think the original problem was that SCASM was discontinued, because Manfred wasn't happy with the new registration policy of M$ for Windows XP. After FS2K2 was released we got lots of new stuff, but SCASM was lagging behind. On the other hand we had the BGLC scenery SDK from Microsoft, which is written for someone who understands BGLC already, but for the novice (and I was one back than) it's just a nightmare. In the end, there was SCASM, so why bother learning BGLC?Because I wanted to use the new FS2K2 stuff, I was stuck. SCASM was dead, and I didn't understand BGLC, and it was for the old FS2000 anyway. Well, I decided to tackle the big task and write a new SCASM, called MakeBGL. A huge pain, but it would allow me to do new FS2K2 things. Several things happened then. I discovered in the makemdl that ships with FS2K2 that there were BGLC include files that document all the new FS2K2 commands. This meant 2 things: I didn't have to crack the new codes myself (as I started already, I cracked the effects and new taxilines myself, I couldn't believe I didn't really need to). And there was a way to define new commands using BGLC.Now the main difference between BGLC and SCASM is this: Everyone can contribute to BGLC, SCASM is closed source, we are depended on Manfred to release new SCASM versions. I think this is really the main difference between BGLC and SCASM. If Manfred would decide to make SCASM an open-source project, and everyone could contribute code, SCASM actually may have a future! However, BGLC is way ahead of SCASM at the moment, basically all BGL and AFD codes are documented and can be used, and we are getting close with TMF also. So it would be more of an effort to bring SCASM where BGLC is now...I liked the flexible approach of BGLC and that's why I scrapped MakeBGL and decided to go with BGLC. The disadvantage of BGLC is that it is based on MASM (and not C or C++), so you have to learn a few new commands (fortunately you don't have to learn assembly language, you only have to learn a few basic macros!). In effect, you have to learn a new programming language if you want to write new 'opcodes', if SCASM would be open-source, and you would know the language it's written in (I assume C), you could contribute right away. That only concerns few scenery designers though, because most people aren't involved in cracking BGLC style code. On the other hand, learning BGLC or SCASM to create scenery is not really that different. And yes gmax actually gives you the BGLC code straight away, so you can edit those files by hand and compile then. Another advantage.Cheers, Christian

Share this post


Link to post
Share on other sites

Where in all of this then does FreeSC fit in. This is what Architect2002 prefers to compile code.

Share this post


Link to post
Share on other sites

Hi Guys!Thanks alot for your opinions!Yeah, I go with the idea that SCASM is ideal for the "before FS2000" designing!So I'll start learning BGLC then when I have some time.Til then, there'll be alot of BGLC Pros here, I guess :)So Gmax puts out BGLC code for tweaking? That's what I wanted to know!Yeah, that's a great advantage!A framerate friendly, easy made (without alot of calculations, drawings, etc) visual object, which can be tuned up to with functions!Man, this will save up time! I've been into "only-SCASM" designed sceneries lately and this is really a fulltime job! But you have full control and you're able to add functions, that's why I made sceneries "the Notepad way" :)Take care!Jeff

Share this post


Link to post
Share on other sites

Hi ChristianYou really have started something here. I've been following all the posts but I haven't yet delved directly into the full details and possibilities for using BGLC instead of SCASM myself.What is worrying me is how does one replace all the added-value compile-time stuff that SCASM has to offer, such as the pseudo variables, calculations (including floating point), functions, type casting, automatic vector calculation, conversions between Lat/Lon and local scaled coordinates, and so on ... Can MASM support equivalent facilities in a user-friendly form?For the moment, at least, I need a fair bit of convincing that SCASM is "dead" and BGLC/MASM is the way to go.It seems to me that the only real problem with SCASM is the reliance on Manfred updating it with new commands, but even when he doesn't give us updates it is still possible to write parameterised .scm macros to implement ANY command(s) whose opcodes, argument syntax, and data structures are properly understood (SCASM macros have far more possibilities than the rigid structure of the .API interface).I know that there is also the problem about using SCASM to support terrain mesh data etc. because this is not one of the BGL 'sections' that SCASM presently knows how to deal with. But that is a separate issue and if Manfred had the information on how to write the necessary BGL header structure etc. I expect that he would be only too happy to enhance SCASM accordingly.FreeSC was an interesting possibility which adopted the open-code policy and looked like it would be the solution to the problem of relying on Manfred to update SCASM, but it never seems to have been finished off properly and appears to have some internal problems with handling macros etc. Perhaps one could get the code for that and cure the problems? Then we would have the perfect tool.Your research is fantastic and invaluable and I hope that before long you (and your colleagues) will be able to turn it into something like a fully documented SDK for the new commands that will enable us all to use them properly. Keep up the superb work and the effort you are putting in on everyone's behalf. I await developments eagerly.Kind RegardsGerrish

Share this post


Link to post
Share on other sites

Hi Gerrish,Those are valid points. I think it boils down to what you want to do. If you want to write scenery from scratch without any GUI tools, SCASM is indeed the better option as it allows more user friendly commands as you pointed out (if we ignore the fact that you are dependent on Manfred to keep updating SCASM).From my point of view I find writing BGLC code from scratch rather tedious. I have a whole set of geographical data for New Zealand, and I'm currently programming some tools that will autogenerate me some BGLC code, so I don't need to worry about user-friendly BGLC code. Also, I have started a small tool called TXT2ASM, which allows me to place some more user friendly commands and txt2asm will process the file and give me some straight BGLC code...Cheers, Christian

Share this post


Link to post
Share on other sites

Hi Christian.That raises a good point.BGLC may be fun to play with when we're discovering how TMF works, but no one will want to program TMF using it! Without a friendly interface ( BGLC frontend ), you could spend weeks redesigning a fairly small area. Each LOD13 area could have water, flattens, streams, roads, mesh alterations, decals, and the evil shorelines. So one LOD13 area could take several days of a designer's freetime. Re-designing a 10x10 area 'by hand' could possibly take weeks to months, to get it 'just right'. And if you're not going to get it 'just right'... why not leave the default.We simply need better tooling, both for using data sources ( like resample, and Christian's project ) and for visually altering scenery ( as is done with Airport or ASD, for example... drawing lines and polygons in a GUI ).And where would SCASM fit into this? It doesn't. There would be no advantage to using SCASM for TMF files. SCASM isn't a GUI, and it won't process a data file. Microsoft has said it will abandon the older ways of creating scenery... and that means SCASM generated BGLs may not work in the next version of FS... In fact, the BGL format may not even be used. Microsoft's tools produce a TMF directly, and that then had a BGL header slapped onto the front of the file ( tmf2bgl.exe )... perhaps not needed for future sims. It will be interesting to see how CFS3 handles objects, airfields, animation.... A preview of things to come, perhaps.But even if SCASM doesn't have a bright future, it has an ovewhelmingly important present for scenery designers. It's what we have right now. An understanding of BGLC will become increasingly useful as a tool to tweak files produced by Gmax, and other tools in the future.

Share this post


Link to post
Share on other sites

>We simply need better tooling, both for using data sources ( >like resample, and Christian's project ) and for visually >altering scenery ( as is done with Airport or ASD, for >example... drawing lines and polygons in a GUI ). This might interest you, we of the Netherlands 2000 Team have a own tool to place all the cities and roads and so on in the scenery. At the moment we are testing it with BGLC code to make decal and flatten polygons with it.>Microsoft has said it will abandon the older ways of >creating scenery... and that means SCASM generated BGLs may >not work in the next version of FS...I don't agree here. OK, they can change the BGL format, but then all BGL files that work now won't work. No matter if BGLC or SCASM made them. Both tools would then need an update to make the newer format. I don't see any difference in which tools makes the file.>An understanding of >BGLC will become increasingly useful as a tool to tweak >files produced by Gmax, and other tools in the future. I agree here. I am learning how to tweak the GMax object every time and I must say it's fun to learn :).Arno


Member Netherlands 2000 Scenery Team[a href=http://home.wanadoo.nl/arno.gerretsen]http://home.wanadoo.nl/arno.gerretsen/banner.jpg[/a]

Share this post


Link to post
Share on other sites

Hi Arno,What sort of input data do you have? Shapefiles? I'm working on some algorithms to place the new decal stuff. I think Lee and George are also working on that. Although my tools are tied to ArcGIS, which I doubt anyone here can afford unless they use it for work (which I do), the algorithms to generate scenery should be similar. I think rather than to invent the wheel twise, we should share some code. I just finished programming a generic tool that places 3D objects. I'll publish the BGLC code in a seperate thread...Cheers, Christian

Share this post


Link to post
Share on other sites

Hi Christian,I am not sure in what format we have them. We have our own type of database that is connected to the tool. We first used the tool to generate the SCASM scenery out of it.I would have to ask the person who is making the tool how far he is exactly. I know he yesterday had put all the LOD quadrant calculation into it and was working on the actual decal and flatten polygon code now.But I agree it might be smart to share some knowlegde :). I'll ask him and let you know.Arno


Member Netherlands 2000 Scenery Team[a href=http://home.wanadoo.nl/arno.gerretsen]http://home.wanadoo.nl/arno.gerretsen/banner.jpg[/a]

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