Sign in to follow this  
rhumbaflappy

Exclude small areas?

Recommended Posts

I have been having some fun creating scenery for Wycombe Air Park (Booker, UK) Unfortunately, the control tower in the default scenery is in the wrong place as is the refueling area and a fuel tower. They are actually on one of the major taxi ways for the airport.I want to exclude just those features as the runways seem fine. However, the exclude command uses the syntax :-Exclude=North Latitude,West Longitude, South Latitude, East Longitude, category.with the maximum size of an Exclude area is 90 degrees of longitude and 45 degrees of latitude. But I want a much smaller area so whats the minimum size? I have tried to use the decimal but it dosn't seem to work. These are the small areas I would like to exclude.Exclude=N51 36.75,W0 48.55,N51 36.78,W0 48.54,objectsExclude=N51 36.61,W0 48.61,N51 36.73,W0 48.37,objectsAny help gratefully accepted.

Share this post


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

Its easy to do...unfortunately, my posts on this subject get overridden by a guy named Barney. He has his own thoughts on the subject and may well offer to help. If you wish, you can email me at bob@blarg.net and I'd be happy to help also.Bob Bernstein

Share this post


Link to post
Share on other sites

Hi Bob and colinlitster.I'm going to risk the wrath of Barney here.Step 1) This is an example text-scasm file I named "exclude.sca"

Header( 1 24:00:00.0000 22:00:00.0000 26:00:00.0000 22:00:00.0000 ) GenExcl( excludeit.bgl 1	23:14.52 23:14.49 25:17.19 25:17.26	23:14.52 23:14.49 25:17.19 25:17.26	)

This will produce a BGL named "excludeit.bgl". Note the bounds of the exclude are written twice. Note the Header bounds are wider than the actual exclude. The 'mask' is "1", to exclude visual scenery.Step 2) Create a folder named "test", and place "scasm.exe" and "exclude.sca" in it.Step 3) You can't drag'n'drop this onto the SCASM icon like other scasm code. In fact, you need to fool SCASM into thinking you are compiling to a different directory. I don't know why, but's that is how it works for me with WindowsXP. In a command line window ( DOS ), defaulted to the directory "test", where "scasm.exe", and the "exclude.sca" file exist:scasm exclude.sca dummyexclude.bglThe dos box will tell you there is an error...the actual error was that SCASM tired to place a dummy named "exclude.bgl" in a subfolder named "dummy", that didn't exist! It did produce the correct BGL file named "excludeit.bgl", in the current folder ( "test" )It seems odd, but that's how the recent version of scasm works for me in making excludes.

Share this post


Link to post
Share on other sites

Colin...Follow Rhumba, such a small little bit of code, works great. Only thing that I'd ask Rhumba is that I'd expect the Header type to be 3, as 1 is for section 9 visual scenery. Perhaps a typo? Here's what I think it should look like:Set( areamx 64 )Header( 3 44:00:00.0000 42:00:00.0000 -079:30:00.0000 -084:00:00.0000 ) GenExcl( exclude.bgl 143:2:48 43:2:0 -081:9:24 -081:10:3643:2:48 43:2:0 -081:9:24 -081:10:36 )btw, topdown view in slew gives you a cursor that seems quite precise for deciding what coordinates I want to exclude. I've excluded elements as small as a fuel box!B

Share this post


Link to post
Share on other sites

Yes, I did, to remove the textureless Crystal Cathedral in Garden Grove. I think it was a 200 meter sq. Again you have to figure where you think the ref points might be.

Share this post


Link to post
Share on other sites

Hi Bob.I used type 1, and it was for visual scenery... I thought 3 was for navaids? Is 3 more inclusive than just visual scenery?I checked the 2000 Scenery SDK, and 1 for objects... 00000001b2 for VORs... 00000010b4 for NDBS... 00000100b8 for COMS... 00001000b15 for all... 00001111b ( BGLC again? ):-eek An exception is supposed to "knock out" a specific object at a Lat-Long location... never done one, but might be handy.

Share this post


Link to post
Share on other sites

r, I use 3 just because an exclude is not visual scenery. I guess if they both work then the difference is probably nothing.B

Share this post


Link to post
Share on other sites

I think the exclusion type ( "mask" in scasm ) should be 1 ( yours is also 1 ). The Header type no longer matters, if I read it right... so both ways should work. Your way will certainly work.

Share this post


Link to post
Share on other sites

Thanks to all of you for your help. I have successfully excluded the objects from the default scenery. Just about to set to work and put the tower and refuel area in its right location.Thanks again

Share this post


Link to post
Share on other sites

Hi all.I've read in the latest docs for SCASM (2.88), and found there has been a newer command for exclusions:

Header( 1 43:00:00.0000 41:00:00.0000 13:00:00.0000 11:00:00.0000 )exclude( F 41:54:04.8000 41:53:27.0000 12:29:06.0000 12:27:52.8000 )

This will exclude everything that's excludable in a small area of Rome. You can copy the text in notepad, and save as RomeEx.txt... then drag'n'drop over the SCASM icon. Much easier than the old way! Learn something every day.Here's the code in asm format for BGLC:

; Exception Test; ===================================================================; DefinitionsEXCLUSION 	MACRO	  types, north, south, east, west	db	3	dw	types	dd	north	dd	south	dd	east	dd	west	ENDMEXECPTION 	MACRO	  lat, lon, types, near_size, near_size, near_far_size	db	4	dd	lat	dd	lon	db	types	db	near_size	db	near_size	db	near_far_size	ENDMEXCLUSION_OBJECTS equ 001h; exclusion applies to objectsEXCLUSION_VORS equ 002h; exclusion applies to VORsEXCLUSION_NDBS equ 004h; exclusion applies to NDBsEXCLUSION_COMS equ 008h; exclusion applies to COMsEXCLUSION_ALL equ 00fh; excludes everythingEXCLUSION_NEAR equ 001h; near exclusion filter maskEXCLUSION_FAR equ 002h; far exclusion filter maskEXCLUSION_NEAR_FAR equ 004h; near_far exclusion filter mask; ===================================================================; BGL Headerstart_header	label	word	dw	1			; world set number	dd	4778613 	; North Bound	dd	4667483 	; South Bound	dd	155096041 	; East Bound	dd	131235111 	; West Bound	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	exception_data - start_header; exception and exclusion data address	dd	0	dd	0	dw	0; ===================================================================; EXCEPTION_DATAexception_data	label	wordEXCLUSION 	EXCLUSION_ALL, 4656518  , 4655351  , 148951851  , 148709265 ; ===================================================================EOL

Share this post


Link to post
Share on other sites

nice find...now, bglc....is that code really the same as the exclude written in scasm?How could there need to be so much bglc? B

Share this post


Link to post
Share on other sites

Hi Bob.The code is long because I defined variables, created macros, and created the header... SCASM does this during compilation. The actual exception code is:

;===================================================================; EXCEPTION_DATA	exception_data		label		wordEXCLUSION	 	EXCLUSION_ALL, 4656518, 4655351, 148951851, 148709265 ; ==================================================================EOL

The whole thing is now cut'n'paste, except for the latitudes and longitudes. Those may be entered in a more readable manner, if you run the TXT file through txt2asm, by Christian Stock found in his 'masm.zip' here at AVSIM.Here's the pre-txt2asm code:

; Exception Test; ===================================================================; DefinitionsEXCLUSION 	MACRO	  types, north, south, east, west	db	3	dw	types	dd	north	dd	south	dd	east	dd	west	ENDMEXECPTION 	MACRO	  lat, lon, types, near_size, near_size, near_far_size	db	4	dd	lat	dd	lon	db	types	db	near_size	db	near_size	db	near_far_size	ENDMEXCLUSION_OBJECTS equ 001h; exclusion applies to objectsEXCLUSION_VORS equ 002h; exclusion applies to VORsEXCLUSION_NDBS equ 004h; exclusion applies to NDBsEXCLUSION_COMS equ 008h; exclusion applies to COMsEXCLUSION_NEAR equ 001h; near exclusion filter maskEXCLUSION_FAR equ 002h; far exclusion filter maskEXCLUSION_NEAR_FAR equ 004h; near_far exclusion filter mask; ===================================================================; BGL Headerstart_header	label	word	dw	1			; world set number	dd	LAT32_N43:00:00.00	; North Bound	dd	LAT32_N42:00:00.00	; South Bound	dd	LON32_E13:00:00.00	; East Bound	dd	LON32_E11:00:00.00	; West Bound	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	0	dd	exception_data - start_header; exception and exclusion data address	dd	0	dd	0	dw	0; ===================================================================; EXCEPTION_DATAexception_data	label	wordEXCLUSION	 	EXCLUSION_OBJECTS, LAT32_N41:54:04.80 , LAT32_N41:53:27.00 , LON32_E12:29:06.00 , LON32_E12:27:52.80; ===================================================================EOL

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