home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Black Box 4
/
BlackBox.cdr
/
gamefly
/
asdmov.arj
/
ASDMOVE.DOC
< prev
next >
Wrap
Text File
|
1991-12-14
|
24KB
|
566 lines
ASDMOVE - Bulk Scenery Mover
Copyright 1991, Steve Wigginton
All Rights Reserved
INTRODUCTION:
The ASDMOVE program enhances the capability of Microsoft's Flight
Simulator Aircraft and Scenery Designer (A&SD) program. Currently
A&SD only allows you to manipulate a single object at a time. This
works well until you have build a complex structure (i.e. airport
facility, complex building, etc) consisting of multiple A&SD
"objects". To manipulate this complex structure requires you to work
with a single object at a time. This can get very tedious.
The program came into being as a result of this problem. A friend of
mine was designing a complex building made up of of many A&SD objects.
When this building was complete, he discovered that it had been placed
in the wrong location (by about 200 feet). The only way to move it
using A&SD was one object at a time.
So, after tinkering with a bunch of scenery files, I managed to break
the code necessary to build this program. Now I offer you the
benefits of bulk scenery processing.
OVERVIEW:
ASDMOVE lets you do the following 6 things to A&SD objects: 1-Move a
group of A&SD objects from one location to another in an A&SD scenery
file (.SC1 file), 2-Delete a group of objects, 3-Copy a group of
objects into a .CUT file for later use in another file, 4-Cut (remove)
a block of objects from a file and store in a .CUT file for later use
in another file, 5-Paste objects from a .CUT file into a scenery file,
and 6-Reorder the objects so that the area of the scenery file you are
most interested in is the first group of objects to appear when you
TAB through the list of objects.
I've tried to make the program as simple as possible to use. In fact,
most of the real work that you do with this program is done from
within A&SD. This makes it easy, since you don't have to learn a
bunch of stuff to use this program.
Note: ASDMOVE only works with files created by A&SD (.SC1 extension).
It does not process SubLogic scenery files.
HARDWARE/MEMORY REQUIREMENTS:
If your PC is capable of running A&SD, it should be capable of running
ASDMOVE <grin>.
ASDMOVE - Page 1
COST:
This program is copyrighted, so don't sell it to your friends unless
you give me the money. And don't modify it or put a virus in it, or
something foolish like that. It's not Shareware, it's not Freeware,
and it's not public domain. I don't know what it is, so I'll call it
"Wiggi-Ware". But, here's how it works:
You are under no moral or legal obligation to pay for this program. I
did this as both a hobby and to keep my programming skills honed. I
put a lot of time and effort into it, and would like to know your
opinion of the program. The best way for you to let me know what you
think of the program is to send a check for $10 (or more) to:
Steve Wigginton
6895 Olive Tree Way
Citrus Heights, CA 95610
In the MEMO line of the check, write the words, "Steve, I think your
program is really cool", or any other comments you wish to share.
TECHNICAL SUPPORT:
This program is supported using the "Ya Gets Whatcha Pays For" policy.
If you are not familiar with this policy, it works like this: If you
don't send me any money, go ahead and offer suggestions and let me
know about bugs. I'll see what I can do. Send me $10 and I'll very
seriously try to enhance the program to include features you request.
Send me $20 and I'll try even harder. Send $10,000 and you'll receive
preferential treatment which includes: Unlimited (or until my wife
gets tired of it) phone support between the hours of 7pm and 11pm
Pacific time Mon.-Fri. (hey, I work for a living. I can only do this
on my own time). You'll also receive my sincere gratitude (what more
could you ask for?).
You can get in touch with me at the above address, or on Compuserve
at 73507,2467. You can find the latest version of this program in
the Flight Simulation forum (GO FSFORUM) on Compuserve. That's where
all the really cool Flight Simulator people hang out!
PROTECTING YOUR SCENERY FILES (BACKUP FILES): ASDMOVE will always
create a backup of the original file. It opens the original file in
"read-only" mode to insure that a program bug will not contaminate
your files. The last thing ASDMOVE does is rename your .SC1 file to
<filename>.BAK and rename the new scenery file to <filename>.SC1. So,
if the program bombs for any reason, your original .SC1 file will be
untouched.
Even though I have taken very careful measures to protect your scenery
files, it's still a good idea to save a copy of them.
ASDMOVE - Page 2
PROGRAM LIMITATIONS:
While ASDMOVE lets you process groups of objects, it does not allow
you to rotate the group. I've tried and tried to figure out how to
do this, but it's just too much effort. Maybe it will happen
later.
Objects created by Laemming Wheeler's Special Effects Editor (SEE) are
only processed by the DELETE functions. Otherwise they are simply
processed as though they were outside of the selected boundary.
Scenery files or objects which have been tampered with using DEBUG, or
some other bizarre form of bit twiddling are not guaranteed to be
processed correctly by ASDMOVE. In many cases, it will work, but I
don't guarantee anything. For example, the MONLTH.SC1 file on
Compuserve is a damaged scenery file. A&SD cannot process the polygon
section properly and neither can I. The simple test is to use A&SD
and TAB through each of the objects in the file. If A&SD can do it
without locking up, I should be able to as well. An even better test
is to run the ASDLIST program (included with ASDMOVE) on the file to
be sure it is ok.
QUICK START:
If you can't wait to try this program out, and don't want to read the
rest of these instructions, here's the 3-step Quick Reference:
1. For all ASDMOVE functions except PASTE, mark a boundary in your
scenery file by placing 2 opposing corners of a rectangle using
Radio Towers. You should be facing FS-North when you do this.
See "Setting Boundary Markers:" for more information.
2. Mark the key points using Windsocks. If you are doing CUT, COPY,
or PASTE you only need to mark one key point. If you are doing
MOVE, you need to mark a "from" and a "to" key point. If you are
doing DELETE or REORDER, you don't need any key points. See
"Setting Key Points:" for more information.
3. Run the ASDMOVE program. Select the option and objects to be
processed. The program will create a new .SC1 file and rename
your original file with a .BAK extension. See "RUNNING THE
ASDMOVE PROGRAM" for more information.
TEMPORARY FILES:
ASDMOVE uses temporary files to build the new scenery file. These
files will have the name <filename>.$$$ and <filename>.### where
<filename> is the name of your scenery file. If ASDMOVE bombs, it
might leave one or more of these files on the disk. You can safely
delete them since your original file will still be named
<filename>.SC1. Generally, ASDMOVE is very good about cleaning up
after itself and you won't see any of these files.
ASDMOVE - Page 3
GETTING READY TO RUN ASDMOVE:
You can place the ASDMOVE.EXE program in the same directory as your
scenery files or in any subdirectory which is included in your DOS
path. Choose whichever is most convenient for you.
Most of the work you will do with ASDMOVE will actually be done from
within the A&SD program. You choose the area you want to work with
using familiar A&SD objects and techniques.
Setting Boundary Markers:
All options of ASDMOVE except Paste and Move All objects require an
area boundary to be defined in your scenery file. This is done from
within A&SD and before running the ASDMOVE program.
Important: Boundary markers should always be placed while you are
facing FS-North. This is different than turning to a heading of 000
and varies with different geographic areas. The easiest way to
orient yourself to FS-North is to press the <Alt> key while editing
in A&SD. You will then be rotated to face FS-North.
The markers used to define the boundary for ASDMOVE are Radio Towers.
These are listed as "Tower" in A&SD. It doesn't matter if your
scenery file already has Radio Towers in it. ASDMOVE only looks for
the last ones entered and uses them as the boundary markers. You
place 2 Radio Towers to mark opposite corners of an invisible
rectangle. For example, place one Radio Tower at the upper-left
corner of the area you wish to process, and place another in the lower
right corner. It is usually helpful to zoom out using the minus key
or using <Shift-F4> to get a better view. The invisible rectangle
formed by these 2 points will be the area to be processed. This area
can be small (i.e. a building made up of multiple objects) or very
large (an entire airport area, or even an entire city). Hint: it is
sometimes useful to turn on the grid in A&SD to help visualize the
rectangle marked by these 2 points. This is done in the Preferences
menu.
Note: Objects made with multiple points (polygons, rivers, roads,
mountains, and lines) use a geometric "center" point as their
location. You can find this "center" point by selecting the object
while in A&SD. The cursor will be placed at the center point. This
"center" point must be included within the rectangle in order for the
object to be processed by ASDMOVE.
ASDMOVE - Page 4
Setting Key Points:
The CUT, COPY, and PASTE options require one "key point". The MOVE
options requires 2 key points. DELETE and REORDER do not use key
points. A key point marks a specific location in the area to be
processed. These key points are marked using Windsocks. It doesn't
matter if your scenery file already contains Windsocks. ASDMOVE only
cares about the last one or two placed. See the instructions for the
respective options to determine the meaning of the key point marker.
RUNNING THE ASDMOVE PROGRAM:
To start the program, simply type:
ASDMOVE <filename>
where <filename> is the name of the scenery file you wish to process.
This file should be in the current subdirectory. If you don't specify
a filename, you will be prompted to enter one. You don't need to
specify the file extension (.SC1). If ASDMOVE can't open the file you
specified, an error will be displayed and the program will terminate.
After ASDMOVE opens your source file, a menu is displayed of the
various operations. Simply press the letter representing the option
to be run ('M' for MOVE, 'A' for Move All, 'D' for Delete, 'C' for
COPY, 'T' for CUT, 'P' for PASTE, and 'R' for REORDER). You do not
need to press <Enter>. Each of these options is displayed in more
detail in the section "PROGRAM OPTIONS". To exit the program instead
of choosing an option, press the <Esc> key.
If you choose CUT, COPY or PASTE, you will be asked for the name of
the CUT file. This can be any name up to 8 characters (using the
standard DOS naming convention). Do not specify an extension.
ASDMOVE will automatically append .CUT to your file name. Choose a
meaningful name which represents the object group. The PASTE option
requires the .CUT file to be in the current directory. If it can't be
found, you will get an error message.
After choosing the option, you will be asked if you want to save the
markers. If you press 'Y', ASDMOVE will keep the markers when it
builds the new scenery file. This can be useful if you wish to
perform another operation on the same area. If you press 'N', the
markers will not be included in the new file.
ASDMOVE - Page 5
Choosing Object Types:
The next screen lets you choose which object types to process. You
can choose the type of objects to be processed for any of the program
options. Simply press the number or letter of the object type to
toggle its selection. If a plus sign ('+') appears next to the object
type, it will be processed. If no plus sign appears, it will not be
processed. This allows you to choose only specific types of objects.
For example, you can choose to only process Rivers, Runways,
Automobiles, and Polygons. The program default is to process all
objects. Note: if you choose number 3 (Objects), objects A through X
will all toggle to match the current state of "Objects" (i.e. if
"Objects" is currently selected, pressing '3' will deselect the
"Objects" category as well as types A through X).
If you wish to exit the program without continuing, press the <Esc>
key.
For DELETE, CUT, PASTE, and REORDER, you will be asked if you wish to
create a MAP file. A MAP file is a cross-reference showing how the
operation affected the order of the objects in your scenery file.
This is important if you are using Laemming Wheeler's Special Effects
Editor (SEE) or other programs which rely on the object number within
an object category. The MAP file will show which objects were
deleted, added, or moved. The file has the same file name as the
scenery file and has an extension of .MAP. The MAP file consists of 2
columns of information. The left column lists the object numbers in
the original file. The right column list the object numbers for the
new file. Objects added by the PASTE function will have the word
"NEW" in the left column. Objected deleted by the DELETE and CUT
functions have the word "DELETED" in the right column. Objects
rearranged by the REORDER function have the original number in the
left column and the new number in the right column.
The program will then perform the requested function. A count of the
different object types will be displayed on the screen. This count is
simply the number of objects encountered during processing. During
processing, you will also see several messages displayed. These
messages will inform you of the progress of the program as well as any
errors encountered. The messages will probably be displayed too
quickly to be read, but any errors will remain on the screen. When
the program is finished, you will return to DOS.
ASDMOVE - Page 6
PROGRAM OPTIONS:
MOVE - The MOVE option moves a group of objects in a scenery file from
one area to another within the same file. Before running ASDMOVE,
mark the 2 boundary points for the area to be moved using Radio
Towers. Mark a "from" key point using a Windsock. You can place this
marker anywhere you want. Usually it is best to place it near (or on
top of) an object whose position is critical. Next, place a "to"
marker using another Windsock. This is the location where the object
group will be moved. The order in which you place these markers is
very important. The "from" marker must be placed prior to the "to"
marker. The move process will move the objects within the marked
boundary relative to the "from" and "to" markers. For example:
suppose you want to move an airport facility, including all of its
buildings, roads, etc. place 2 boundary markers (Radio Towers) at
opposite corners to form an imaginary rectangle around the airport
area. Place a "from" marker (Windsock) in the center of the Control
Tower. Then place a "to" marker (another Windsock) in the spot where
you want the Control Tower to be after the move. Run the ASDMOVE
program and the objects within the boundary (your airport) will be
moved to the new location.
MOVE ALL OBJECTS- The MOVE ALL OBJECTS option moves all objects in a
scenery file from one area to another. Before running ASDMOVE, mark
a "from" key point using a Windsock. You can place this marker
anywhere you want. Usually it is best to place it near (or on top of)
an object whose position is critical. Next, place a "to" marker using
another Windsock. This is the location where the object group will be
moved. The order in which you place these markers is very important.
The "from" marker must be placed prior to the "to" marker. The move
process will move all objects relative to the "from" and "to" markers.
You will be asked if you want to also move the Scenery File Center
Coordinates. If you answer 'Y', the center point of your scenery file
will also be moved according to the "from" and "to" markers.
ASDMOVE - Page 7
DELETE - The DELETE option removes a group of objects from your
scenery file. This can be used to remove a large area of a file or to
remove specific types of objects (polygons, roads, etc.) from an area.
Before running ASDMOVE, mark the 2 boundary points for the area to be
deleted using Radio Towers. Then run the ASDMOVE program. The
objects specified will be removed. Note: if your file includes
objects inserted by SEE, you may need to modify your .DAT file to
correctly match the new scenery file.
COPY - The COPY option allows you to copy an area of your scenery file
into a .CUT file. This .CUT file can then be PASTEd into any location
within the same or different scenery file. Before running ASDMOVE,
mark the 2 boundary points using Radio Towers to specify the area
being copied. Mark a key point using a Windsock. This key point will
match the key point used when PASTE-ing the object group. Then run
the ASDMOVE program. Specify the name of the .CUT file. The object
group will still be in your scenery file. Note: even though you are
not changing the original file, it is still renamed to .BAK. This is
because the markers can be deleted which would modify the file.
CUT - The CUT option removes a group of objects from your file. It
places these objects into a .CUT file for later PASTE-ing. Before
running ASDMOVE, mark the 2 boundary points using Radio Towers to
specify the area being cut. Mark a key point using a Windsock. This
key point will match the key point used when PASTE-ing the object
group. Then run the ASDMOVE program. Specify the name of the .CUT
file. The object group will be removed from your scenery file and
placed into the .CUT file. Note: if your file includes objects
inserted by SEE, you may need to modify your .DAT file to correctly
match the new scenery file.
PASTE - The PASTE option takes objects from a .CUT file and places
them into a scenery file. The new objects are placed at the beginning
of the list (similar to the REORDER function). Before running
ASDMOVE, place a "to" marker (Windsock) at the key point. This key
point will match the key point used when the object group was CUT or
COPYed the object group. Then run ASDMOVE. Specify the name of the
.CUT file. The object group will be inserted at the location of the
marker (Windsock). Note: if your file includes objects inserted by
SEE, you may need to modify your .DAT file to correctly match the new
scenery file.
REORDER - The REORDER option rearranges the objects in the scenery
file so that the area specified appears first when tabbing through the
objects. Before running ASDMOVE, mark the 2 boundary points using
Radio Towers to specify the area you are interested in. Then run
ASDMOVE. The new scenery file will be arranged so that the objects
within the boundary are now at the beginning. When you TAB through
the objects from within A&SD, these objects will appear first.
Note: The order of the polygons in the scenery file determines how
they overlap. The polygon entered last will be displayed on top. You
should keep this in mind when reordering since the polygons to be
ASDMOVE - Page 8
moved to the beginning of the list will now be displayed underneath
others which overlap them.
EXTRA TIPS:
ASDMOVE uses the markers (Radio Towers and Windsocks) which were
entered last. You can use this knowledge to your advantage. For
example, suppose you have a .CUT file which you wish to place is
several locations in your scenery file. From within A&SD, place a
Windsock at each location. Then run ASDMOVE and answer 'Y' when
asked, "Delete Markers When Done (Y/N)?". Then repeat the process for
each of the markers you placed. With each run of the program, the
.CUT file information will be inserted and the last marker deleted.
The next time you run it, the previous marker will now be the last.
Get the idea??? This same technique can be used for deleting multiple
areas, CUT/COPY of multiple areas, etc. Let your imagination take
control. Remember that your original file is renamed to .BAK. This
.BAK file is overwritten with the next run of the program, so save an
extra copy somewhere.
The .CUT files are really just slightly modified .SC1 files. If you
want to edit a .CUT file, simply rename it to a .SC1 file and edit it
using A&SD. When you are finished, rename it back to a .CUT file and
you can PASTE it using ASDMOVE. The center coordinates of the .CUT
file are the key point location. You can change this if you want to
change the key point location.
Since .CUT files are really .SC1 files, you can also rename a .SC1
file to a .CUT file and paste it into another .SC1 file. This is like
merging the files, except that the .CUT file is placed at the "to"
marker. I don't know how big a .SC1 file can get, but someone is
bound to find out using this technique. Be careful!
You don't really have to face FS-North when placing boundary markers.
You can also face FS-South, FS-West, or FS-East. The idea is to make
the 2 boundary markers form a correct rectangle.
It doesn't matter which boundary marker is placed first, and they
don't have to be upper-left and lower-right. They can be upper-right
and lower-left if that's easier for you. However, the order of the
"to" and "from" markers is very important. The last one placed will
always be the "to" marker.
Key points for the MOVE, CUT, and COPY don't have to be within the
boundary area. However, when the objects are placed, they will be
placed according to the key points. This can be useful when using an
object outside of the area being moved as the reference point.
ASDMOVE - Page 9
ASDLIST PROGRAM:
While I was researching the format of the scenery files, I wrote this
little utility to list objects in the file. I thought it was handy,
so I'm including it as a freebie (sorta like the plastic juicer you
get with Ginsu Knives). It simply lists all of the objects in your
scenery file as well as their location. If you are having trouble
editing your scenery file in A&SD, run this program and it may help
you identify where the problem is. You'll probably also be surprised
to find see that you have more stuff in your scenery file than you
remember putting there. The object number listed next to the each
object is useful if you are using the SEE program.
To run the program, simply type ASDLIST <filename>. You don't have to
specify the .SC1 extension. The program assumes this.
You can redirect the output to a printer or disk file using standard
DOS redirection. For example ASDLIST MYFILE >LPT1: will send the
list to the printer. ASDLIST MYFILE >JUNK will send the list to the
disk file "JUNK" in the current subdirectory.
Legal Stuff: Flight Simulator and Aircraft and Scenery Designer are
registered trademarks of Microsoft Corporation.
Special Thanks to those who tested and offered suggestions on these
programs:
Jim Ross, Hans van Wyhe, Scott Langdoc, E.J. Peiker, Laemming Wheeler.
Thanks to Ariel Maisonet for catching the VOR bug.
ASDMOVE - Page 10