Jump to content
Sign in to follow this  
Guest

Arno's "Bumpy"

Recommended Posts

Guest

Hi,Arno and the rest. The program Bumpy removes the autogen from my airport in a really wide area, so I though I'd be smart and insert a dummy RotatedCall in the end of the code. That did no good, no difference at all. I attach the sca-file exported by bumpy and with my dummy RotatedCall inserted in the end, so you can check if there possibly is something wrong there, or if it is impossible to use a dummy RotatedCall with the source asm Bumpy creates./Sebastian

Share this post


Link to post
Share on other sites
Guest gorchi

Hi Sebastian!I don't know what program do YOu use for scenry creation but I am sure Airport does have some kind of smoothing under polygons. FSSC does have it and it produces code like this in SCA file:

; Apron smoothArea( 5 N46:13:45.3298 E014:27:29.4233 12 )	RefPoint( rel : 1 N46:13:45.3298 E014:27:29.4233 )	RotatedCall( :lblRotated 0 0 36.0 )	Jump( : ):lblRotated	SurfaceType( 0 1450 400 0 )	ReturnEndA

This is actual snipet from my code for LJLJ airport and it really works. Okay, I think it is needles to say taht I have also made flatten around the airport. Try SurfaceType command; it is easy to use.Hope this will help You.Best regards,Goran BrumenFS Slovenija 2002 teamhttp://slovenia.avsim.net

Share this post


Link to post
Share on other sites
Guest

>Hi Sebastian! >I don't know what program do YOu use for scenry creation but >I am sure Airport does have some kind of smoothing under >polygons. FSSC does have it and it produces code like this >in SCA file: >

 >; Apron smooth >Area( 5 N46:13:45.3298 E014:27:29.4233 12 ) >	RefPoint( rel : 1 N46:13:45.3298 E014:27:29.4233 ) >	RotatedCall( :lblRotated 0 0 36.0 ) >	Jump( : ) >:lblRotated >	SurfaceType( 0 1450 400 0 ) >	Return >EndA >

>>This is actual snipet from my code for LJLJ airport and it >really works. Okay, I think it is needles to say taht I have >also made flatten around the airport. Try SurfaceType >command; it is easy to use. >>Hope this will help You. >>Best regards, >Goran Brumen >FS Slovenija 2002 team >http://slovenia.avsim.net Hi!I think the problem is the autogen, or autogen trees, not the bumpy appron. It isn't so difficult to make the appron smooth but to save the the trees seems to be more of a problem. Especially in a land that is only lakes and forests. ;-) There you go, keeping the autogen and drawing endless LWM coastlines, lakes and rivers....338,000 square kilometres, of which 10% is water and 69% forest;187,888 lakes, 5,100 rapids and 179,584 islands; Europe's largest archipelago:-DTatu

Share this post


Link to post
Share on other sites

Hi all.Goran appears to have the correct code... but watch your v2 settings!

; RussianSurfaceType.sca  N64* 10.923'   E49* 10.277'Header( 1 N65:00:00.0000 N64:00:00.0000 E050:00:00.0000 E049:0:00.0000 )LatRange( N64:00:00.0000 N65:00:00.0000 )Area( 5 N64:10:55.3800 E049:10:13.6200 )	RefPoint( rel :Surface_Fail  1.00  N64:10:55.3800  E049:10:13.6200  V1= 6000 V2= 1000 );	the v2 can control the area of autogen excluded!;	a v2 of 999 will exclude autogen in a rectangle of 500 x 999 (?);	a v2 of 500 will exclude autogen in a square of 500;	a v2 of 1000 will not exclude autogen at all;	so the v2 should be equal to or greater than the surface rectangle;	this also suggests v2 is not a round radius, but square x,y with dimensions dependant on the refpoint scaling.	RotatedCall( :Surface_Area 0 0 0 )	Jump( : ):Surface_Area	SurfaceType( 0 500 1000 0 ); 0 = smooth   1= rough   2 = water	Return:Surface_Fail	ReturnEndA

You can easily check the surface by making it water and using an amphibian plane. Use full throttle. At the edges of the rectangle, you'll jump out of the "water"!Dick

Share this post


Link to post
Share on other sites
Guest

Hi,Yes Gorchi, Airport has the same function. Using them just causes my dear autogen trees to disappear. :) Someone pointed out that giving it a (x=0,y=0) distance in Airport check boxes would make it work and also not really touch autogen, but that does not seem to be the case. So whatever the method, I'd like to use a dummy RotatedCall for it so that it would not interfere with my autogen, as every single little tree is so important in my current project.Arno is yet to reply to this thread. Do you know if this RotatedCall I inserted in the attached sca-file should work, or is there something that needs to be done?/Sebastian

Share this post


Link to post
Share on other sites

Hi Sebastian.The above example proves that the autogen exclusion, concerning SurfaceType, is caused by an undersized v2.To test the code properly, you must install the scenery, then restart the sim... or else you are fooled by a bug in the terrain engine that gives false autogen exclusion.That's why I started a thread on just this problem... so we can separate what actually excludes autogen, from what only appears to exclude it. I have made the same false assumptions myself, concerning the exclusion of autogen. If you don't restart after adding scenery, you risk this mistake.I have noted some display oddities with dummy RotatedCalls, and some types of objects ( library objects, and the old FS98 Building objects ). So I think we should avoid the Dummy calls if possible, until we are able to explore them in detail, with all types of objects.In this case, I'm sure Dummy calls are unneeded.==========It is possible that Airport is giving you bad code for the surfacetype. If you supply a SCASM example of what you see as autogen exclusion, we determine what the cause is.Dick

Share this post


Link to post
Share on other sites
Guest

Dick,I did not get you there. What code should I show you? The sca-file Airport creates?

Share this post


Link to post
Share on other sites

Hi Sebastian.Yes, post a SCASM example of "SurfaceType" that comes out of Airport, that you believe excludes autogen.Dick

Share this post


Link to post
Share on other sites
Guest

Here it is:I took this code from within Airport, selected the polygon in question and pressed "SCASM Code" button. Is this the code you requested, or did I misunderstand you again? :)----------STARTS HERE; Polygon with Surface Smoothing2;original macro credit: © Peter Werlitz;Thanks to Joerg Dannenberg for help on the rough taxiway problem;Thanks for John Morgan for improvements from his extensive testingArea( b 62:39.5554 029:36.80823 30 ) LayerCall( :Taglayer 12 ) Jump( : ):Taglayer RefPoint( 7 :TagPoly .1 62:39.5554 029:36.80823 V1= 40000 V2= 733 ) LoadBitmap( 0 W5 E0 0 0 0 "asph1.bmp" ) Smoothing( 1 ) Points( 1 -03010 0 00550 ; 001 -03020 0 00340 ; 002 -03010 0 00250 ; 003 -02990 0 00200 ; 004 -02960 0 00160 ; 005 -02930 0 00140 ; 006 -02870 0 00120 ; 007 -02810 0 00110 ; 008 -00740 0 -00010 ; 009 -00610 0 -00020 ; 010 -00540 0 -00030 ; 011 00440 0 -00370 ; 012 00770 0 -00480 ; 013 00830 0 -00490 ; 014 00900 0 -00490 ; 015 00960 0 -00480 ; 016 01020 0 -00450 ; 017 01070 0 -00400 ; 018 01120 0 -00330 ; 019 01840 0 01710 ; 020 01850 0 01770 ; 021 01850 0 01820 ; 022 01840 0 01870 ; 023 01810 0 01920 ; 024 01770 0 01970 ; 025 01710 0 02030 ; 026 01560 0 02140 ; 027 02500 0 01790 ; 028 02370 0 01780 ; 029 02290 0 01760 ; 030 02240 0 01740 ; 031 02190 0 01710 ; 032 02140 0 01660 ; 033 02110 0 01610 ; 034 01090 0 -01240 ; 035 01080 0 -01290 ; 036 01080 0 -01340 ; 037 01100 0 -01380 ; 038 01140 0 -01420 ; 039 01180 0 -01440 ; 040 02030 0 -01730 ; 041 02090 0 -01990 ; 042 01850 0 -02690 ; 043 01270 0 -02490 ; 044 01520 0 -01860 ; 045 -01010 0 -01060 ; 046 -00880 0 -00700 ; 047 -00860 0 -00630 ; 048 -00860 0 -00580 ; 049 -00880 0 -00510 ; 050 -00910 0 -00440 ; 051 -00950 0 -00380 ; 052 -00990 0 -00340 ; 053 -01050 0 -00300 ; 054 -01110 0 -00280 ; 055 -01450 0 -00230 ; 056 -01800 0 -00200 ; 057 -02830 0 -00150 ; 058 -02890 0 -00160 ; 059 -02940 0 -00180 ; 060 -02980 0 -00220 ; 061 -03010 0 -00280 ; 062 ) ConcavePoly StartSurface MoveToPt( 1 ) DrawToPt( 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 ) EndSurface Smoothing( 0 ):TagPoly RotatedCall( :B2 0 0 0 ):B2 SurfaceType( 0 0 0 0 ) ReturnEndA----------ENDS HEREI must remember you that I have selected the "x-width" and "y-height" values in Airport for the smoothening to be 0 and 0, as some document/tutorial told there is no difference in having them any higher, and that this would make my autogen still be there./Sebastian

Share this post


Link to post
Share on other sites

Hi Sebastian.I'll look at this tonight. :)I see this is derived from a macro.. and as such is not a characteristic of Airport... but rather of the macro... and is copyrighted, apparently, "© Peter Werlitz".There may very well be some troublesome coding::TagPolyRotatedCall( :B2 0 0 0 ):B2SurfaceType( 0 0 0 0 )ReturnEndAThe code "falls through" after drawing the poly, and executes a RotatedCall to a SurfaceType that has a smooth designation, but no x_width, or y_width, as well as no elevation. I think that may be a problem... the x and y should be the rectangular bounds of the poly.And I have seen that the v2 of the Refpoint should be equal to or greater than the size of the SurfaceType.Maybe some characterisitcs of the Refpoint are 'used up' with the first usage of the Refpoint in the defined Area ( the poly drawing here ), and can't be relied on for any other usage in the Area. So, I'm guessing the v2 is not available for the SurfaceType, and it now cannot be ( at least ) equal to the x,y... it will destroy the autogen.. or else the v2 isn't large enough.Ideally, another Area structure should have been made for the SurfaceType, with it's own Refpoint, and having an x,y size big enough to cover the poly.I'll play with it some.Dick

Share this post


Link to post
Share on other sites

Hi Sebastian.Here's the revised code.I changed the Refpoint a little farther north, to get away from the default airfield, as I didn't want it to influence the test. I added a header. I changed the v2, so it actually encloses the poly... your original code did not. I then altered the SurfaceType to an actual x,y dimension, as it needs to define a size ( wasn't working in the original code! ) I also got rid of the Smoothing() commands, as they aren't needed.You can change the SurfaceType to water, and use an amphibian plane to verify the SurfaceType is actually working... or just use spot view to look at the wheels, and note how they change from smooth to bumpy.; ============== Header( 1 N63:00:00.0000 N62:00:00.0000 E030:00:00.0000 E029:0:00.0000 )LatRange( N62:00:00.0000 N63:00:00.0000 ); ============== Area( b N62:41.44 E029:37.40 30 ) ; area and refpoint changed to get away from old airfieldLayerCall( :Taglayer 12 )Jump( : ):Taglayer RefPoint( 7 :TagPoly .1 N62:41.44 E029:37.40 V1= 40000 V2= 6050 ) ; v2 increasedLoadBitmap( 0 W5 E0 0 0 0 "asph1.bmp" ); Smoothing( 1 ) ; unneededPoints( 1-03010 0 00550 ; 001-03020 0 00340 ; 002-03010 0 00250 ; 003-02990 0 00200 ; 004-02960 0 00160 ; 005-02930 0 00140 ; 006-02870 0 00120 ; 007-02810 0 00110 ; 008-00740 0 -00010 ; 009-00610 0 -00020 ; 010-00540 0 -00030 ; 01100440 0 -00370 ; 01200770 0 -00480 ; 01300830 0 -00490 ; 01400900 0 -00490 ; 01500960 0 -00480 ; 01601020 0 -00450 ; 01701070 0 -00400 ; 01801120 0 -00330 ; 01901840 0 01710 ; 02001850 0 01770 ; 02101850 0 01820 ; 02201840 0 01870 ; 02301810 0 01920 ; 02401770 0 01970 ; 02501710 0 02030 ; 02601560 0 02140 ; 02702500 0 01790 ; 02802370 0 01780 ; 02902290 0 01760 ; 03002240 0 01740 ; 03102190 0 01710 ; 03202140 0 01660 ; 03302110 0 01610 ; 03401090 0 -01240 ; 03501080 0 -01290 ; 03601080 0 -01340 ; 03701100 0 -01380 ; 03801140 0 -01420 ; 03901180 0 -01440 ; 04002030 0 -01730 ; 04102090 0 -01990 ; 04201850 0 -02690 ; 04301270 0 -02490 ; 04401520 0 -01860 ; 045-01010 0 -01060 ; 046-00880 0 -00700 ; 047-00860 0 -00630 ; 048-00860 0 -00580 ; 049-00880 0 -00510 ; 050-00910 0 -00440 ; 051-00950 0 -00380 ; 052-00990 0 -00340 ; 053-01050 0 -00300 ; 054-01110 0 -00280 ; 055-01450 0 -00230 ; 056-01800 0 -00200 ; 057-02830 0 -00150 ; 058-02890 0 -00160 ; 059-02940 0 -00180 ; 060-02980 0 -00220 ; 061-03010 0 -00280 ; 062)ConcavePolyStartSurfaceMoveToPt( 1 )DrawToPt( 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 )EndSurface; Smoothing( 0 ) ; unneeded:TagPolyRotatedCall( :B2 0 0 0 ); This RotatedCall is essentially a DummyCall!:B2SurfaceType( 0 6050 6050 0 ) ; area defined ( the scale is 0.1 in the refpoint ); SurfaceType( 2 6050 6050 0 ) ; changed to water ( 2 ) for demonstrationReturnEndA; ========================As I note in the code, the RotatedCall at :TagPoly is essentially a Dummy call. Comment it out, and you'll see the autogen disappear!This could have been coded a little better, by making the SurfaceType in it's own defined Area, with it's own refpoint. Leave the Dummy call pointing to the Return.As long as the v2 is equal to the size of the SurfaceType, the autogen is unaffected.Dick

Share this post


Link to post
Share on other sites
Guest JR Morgan

Hi Dick & Sebastian..Here's Apt26 code for the textured ground poly (with seperately added surface type code) that's used in the scenery from which the screenshots of the added 200m helipad on the (Other) Autogen thread were used. It did not kill a single tree. The reason for the added surface type is that I also use that area to fly STOL planes in-and-out-of. Yes, the Smoothing( 1 ) and ( 0 ) are still there BUT keep in mind that in Apt26, Tom Hiscox strives to keep the code compatible with the earlier sims. However, if I thought I detected any hit on frame rates I'd remove them and manually compile.The textured poly:Area( b 38:58.47296 -089:6.33356 30 ) LayerCall( :Taglayer 8 ) Jump( : ):Taglayer RefPoint( 7 :TagPoly 1 38:58.47296 -089:6.33356 V1= 40000 V2= 947 ) LoadBitmap( 0 FLSW5 EF 0 0 0 "GPcomp.bmp" ) Smoothing( 1 ) Points( 1 -00449 0 00151 ; 001 00447 0 00151 ; 002 00448 0 -00150 ; 003 -00447 0 -00150 ; 004 ) StartSurface MoveToPt( 1 ) DrawToPt( 2 3 4 ) EndSurface Smoothing( 0 ):TagPoly RotatedCall( :B2 0 0 0 ); <-- Woops, another one :-) -- and no Return?:B2 SurfaceType( 1 0 0 0 ) ReturnEndA------------------------------------The Surface Type (Macro):; *** MACRO TO PLACE SURFACE TYPES WITHIN SCENERY TO ELIMINATE BUMPY, DUSTY; *** TAXI CHARACTERISTICS by J.R. Morgan Jr. 3/8/2002; **************************************************************************;;%1=Latitude;%2=Longitude;%3=Not Used;%4=Scale;%5=Not Used;%6=X Axis Width of Smoothed Area;%7=Y Axis Width of Smoothed Area;%8=Not Used;%9=Type of Surface; 0=Smooth Surface, 1=Rough Surface, 2=Water Surface;%11=Not Used;NOTE: VARYING THE VALUE FOR SCALE CAN CHANGE SMOOTHING AREA SIZE ACCORDINGLY;COPYRIGHT SCASM; Macro by J.R. Morgan Jr.; **************************************************************************** Area( b %1 %2 30 ); DO NOT USE AREA 5 RefPoint( 7 :TagPoly %4 %1 %2 V1= 40000 V2= 1000 ); See NOTE below!; Smooth Area if %6 & %7 > 0 SurfaceType( %9 %6 %7 0 ) :TagPoly ReturnEndA---------------------------------NOTE: I've noticed that when using Apt26's automatic (compile button on toolbar) compile feature, the V2 numeric values don't always survive as entered in the called macro. Example: V2 above calls for a numeric value of 1000. Viewing Apt26's source code for the scenery shows the V2 value has been changed to 250. This may mean that Apt uses some 'baseline' values for such? I suspect (but not sure) that its a result of some hard coding in Apt's VB interface used to write the *.sca source code?I'm not criticising Apt here because considering the overall scope of it's GUI features and it's ease of modifying and manually compiling source code it's served me well. Also, it's possible that if I used the SCASM include feature of Apt that the numbers would be correct --- 'haven't tried that approach..Finally, I notice that sometimes I must decrease V2= values to the lowest possible for good visibility of an object being worked, in order to preserve nearby AGN. Phew -- I wonder how many different conditions there are to cope with in this 'save the trees' game?J.R.

Share this post


Link to post
Share on other sites

Hi Sebastian,I think you will have noticed that I have no internet in the weekends in Brussels :).I haven't tested Bumpy yet for autogen exclusion. You know state that I does remove autogen so then I should have a second look at the code it makes.Bumpy does take the RefPoint from the origional source, so if the v2 value is set correct there, that should also be the case in the Bumpy source.When I reached the end of this thread I was a little bit lost :), so I don't know if you have solved your problem already?Arno


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

Arno

If the world should blow itself up, the last audible voice would be that of an expert saying it can't be done.

FSDeveloper.com | Former Microsoft FS MVP | Blog

Share this post


Link to post
Share on other sites
Guest

Arno, I have yet to try the revised codes kindly posted by Dick and J.R. - I haven't had the time to do it due to studies etc. But soon... :)So you mean one could get rid of the autogen exclusion by editing the V2 value for the polygon itself? And forget my stupidity, how to make the polygons Airport create (probably the ones Arno calls "old style SCASM polygons" in the Autogen-thread) not exclude autogen? I just wondered, do you think a RotatedCall would work there as well as it seems to do with API-macros?/Sebastian

Share this post


Link to post
Share on other sites

From that disucssion it shows that they only exclude autogen in the rectangle fitting around the polygon. I assume this is what you want (you don't want autogen on your polygon I assume).Or do you want all autogen to show, also on your polygon?Arno


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

Arno

If the world should blow itself up, the last audible voice would be that of an expert saying it can't be done.

FSDeveloper.com | Former Microsoft FS MVP | Blog

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...