* AFTMAPED * Map File Editor for Chuck Yeager's Advanced Flight Simulator/Trainer by Electronic Arts COPYRIGHT (c) 1988 Bill Crow Release A.00.00 4/23/88 Bill Crow 1681 Grizilo Drive San Jose, CA 95124 CompuServe: [76703,632] MCI Mail: BCROW THE REQUISITE LEGAL STUFF The files in this ARChive are for use with Electronic Art's "Chuck Yeager's Advanced Flight Trainer" and "Chuck Yeager's Advanced Flight Simulator" for PC compatibles. Users are free to use this for any non-commercial purpose, and distribute it to others as long as the complete ARChive file is distributed, including this documentation. The ARChive file may be uploaded to other non-commercial bulletin boards, and may be distributed via public domain software libraries, as long as no fees are charged other than a reasonable disc duplication fee. Any other use of the material in this ARChive file requires the express written consent of the author. THE AUTHOR MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHOR SHALL NOT BE LIABLE FOR ERRORS CONTAINED HERIN OR FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH THE FURNISHING, PERFORMANCE, OR USE OF THIS MATERIAL. CONTRIBUTING TO THE CAUSE This software is copyrighted by the author. You are free to use it for any non-commercial purpose. There is no required registration or license fees. It's free! There is also no restriction on what you do with the new or modified mapfiles you create with this program. If you like AFTMAPED, and you would like to encourage me to continue to improve this program, and work on other related tools and utilities, you are welcome to send me a contribution of $20.00 to the address listed above. In return for your $20.00, I'll send you the Microsoft QuickBASIC 4.0 source code to the latest version of AFTMAPED, laserset documentation, and additional documentation and utilities that I have created while working and playing with AFT. SUPPORT If you have questions, comments, bug reports or enhancement requests for AFTMAPED, leave me an electronic message on CompuServe either via EasyPlex or in the message area of the HP Forum (GO HP). I'll do my best to respond to reported errors with updated versions uploaded to CompuServe. INTRODUCTION Chuck Yeager's Advanced Flight Trainer (a.k.a. Chuck Yeager's Advanced Flight Simulator) has to be one of the best pieces of entertainment software I have ever found. Not only is it a a tour-de-force of graphics animation and flight dynamics simulation, its design allows for lots of customization and expansion. As many have discovered the aircraft specification files (.FLY) and the race course definition files (.RAC) are easily modifiable with a simple ASCII editor. The program also allows you to create your own stunts for training and formation flying. Also, when flying the races, your own best flights are saved and used to control the competitive airplanes in subsequent races. The one thing that I wanted to be able to change, but could not, was the scenery and obstacles available. While AFT provides a good variety of obstacles and scenery variations, I had my own ideas about how I would like to arrange buildings, gates, runways, mountains and other scenery components to create my own special environment. All the information to control the specific scenery is contained in the sixteen MAPxx files. These are binary files, and not editable with a standard ASCII editor. However, after several hours spent with DEBUG, I was able to decode the formats of the MAPxx files and start creating my own scenery. While it was possible to do so using DEBUG, it was a slow, tedious and error-prone procedure. So, I created AFTMAPED, an editor to display, print and edit the contents of the AFT MAPxx files. THE AFT WORLD The AFT world is 40 miles square, made up of sixteen 10x10 mile squares. Each of the MAPxx files corresponds to one square as follows: +-----------+-----------+-----------+-----------+ | | | | | | | | | | | MAP21 | MAP31 | MAP01 | MAP11 | | | | | | | | | | | +-----------+-----------+-----------+-----------+ | | | | | N | | | | | | | MAP20 | MAP30 | MAP00 | MAP10 | W -+- E | | | | | | | | | | | S +-----------+-----------+-----------+-----------+ | | | | | | | | | | | MAP23 | MAP33 | MAP03 | MAP13 | | | | | | | | | | | +-----------+-----------+-----------+-----------+ | | | | | | | | | | | MAP22 | MAP32 | MAP02 | MAP12 | | | | | | | | | | | +-----------+-----------+-----------+-----------+ The world "wraps around" in both dimensions. If you fly off any edge, you reappear at the same point on the opposite edge. For example, if you leave the home airport and fly North for forty miles, you will be right back where you started. The home airport (where all flights begin) is located in the lower left corner of MAP00, near the center of the world. Actually, the balloon to the southwest of the airport is in the exact lower left corner of MAP00. INSIDE THE MAPxx FILE Each MAPxx is 256 bytes in size. It contains a list of up to 85 3-byte object definition records. Each 3-byte record consists of an object code, X coordinate and Y coordinate. There are 31 usable object codes, described in more detail in the tables that follow. The X and Y coordinates can be any integer value from 0 through 255. (0,0) specifies the lower left (Southwest) corner of the square, and (255,255) is almost at the upper right (Northeast) corner. The X value specifies the East-West longitudinal position and the Y coordinate specifies the North-South latitudinal position. Since the 10x10 mile square is divided into 256 steps in each direction, each addressable step represents approximately 200 feet. (206' 3" to be precise.) By the way, the spots displayed on the ground are spaced approximately 100 feet apart (103' 1.5" for those who really care), meaning that there are 2 spots for every addressable step. In other words, two objects cannot be placed any closer together than 2 spots in either dimension. All objects are placed on the ground (at 0' elevation) with the exception of one of the balloons, which is fixed at 300' elevation. STARTING AFTMAPED Before editing a map file, make a copy! Whatever you do, don't edit the files on your original AFT diskette. Copy the files to another diskette or to your hard disc. I have AFT installed on a hard disc, and before I started any editing, I made copies of all the MAPxx files using the following MS-DOS command: COPY MAP??. MAP??.SAV Then if I ever accidentally corrupt a MAPxx file, I can copy the corresponding MAPxx.SAV file without having to go back to the original program diskette. Start AFTMAPED with the following command: [d:][path]AFTMAPED [mapfile] If AFTMAPED is in your current directory or in a directory specified your current PATH, there is no need to specify the drive and path. If you are using MS-DOS 2.x, you CANNOT specify the drive and path, so you must place AFTMAPED in the current directory or in a directory specified by your current PATH. If you do not specify a mapfile as a command line argument, you will be prompted for the file. If the file does not exist, you will be asked if you want to create a new file. If for any reason AFTMAPED cannot open the specified file, an appropriate error will be displayed and you will be prompted for another mapfile filename. If a mapfile is specified on the command line, AFTMAPED will terminate, returning to the MS-DOS command prompt when you exit from the map list. However, if the mapfile is specified when AFTMAPED prompts for the filename, exiting from the map list will return you to the mapfile prompt to select another file. If you press without entering a filename at the mapfile prompt, AFTMAPED will exit, returning to the MS-DOS command prompt. THE AFTMAPED DISPLAY The primary display for AFTMAPED is a list of mapfile records, starting with the first twenty. A typical display looks like this: IDX OBJ DESCRIPTION X Y FILE 1 [30] Balloon, Green, at 300' [ 0] [ 0] 00: 01 00 00 2 23 Mountain, Large White Pyramid 64 64 03: 1F 40 40 3 23 Mountain, Large White Pyramid 192 192 06: 1F C0 C0 4 23 Mountain, Large White Pyramid 64 192 09: 1F 40 C0 5 23 Mountain, Large White Pyramid 192 64 0C: 1F C0 40 6 3 Building, Small White 5 6 0F: 37 05 06 7 4 Building, Large White 14 5 12: 3F 0E 05 8 2 Building, Green Blockhouse 17 8 15: 05 11 08 9 1 Building, Blue House w/Roof 1 4 18: 03 01 04 10 1 Building, Blue House w/Roof 1 10 1B: 03 01 0A 11 5 Hangar, N/S, Blue/White 2 4 1E: 11 02 04 12 5 Hangar, N/S, Blue/White 3 4 21: 11 03 04 13 5 Hangar, N/S, Blue/White 4 4 24: 11 04 04 14 7 Wall, N/S, Black/White 0 7 27: 0B 00 07 15 7 Wall, N/S, Black/White 18 2 2A: 0B 12 02 16 7 Wall, N/S, Black/White 18 7 2D: 0B 12 07 17 9 Runway, N/S, Blue/Green 1 7 30: 15 01 07 18 9 Runway, N/S, Blue/Green 4 7 33: 15 04 07 19 11 Runway, E/W, Blue/Green 4 4 36: 19 04 04 20 11 Runway, E/W, Blue/Green 4 7 39: 19 04 07 For each record, the following information is displayed: IDX: The integer object index within this file. OBJ: The integer object code, in decimal. DESCRIPTION: A brief description of the scenery object. X: The X coordinate (longitude), in decimal. Y: The Y coordinate (latitude), in decimal. FILE: The hexidecimal offset and contents for this record as it is actually stored in the mapfile. SCENERY OBJECTS Here is a table of the scenery objects available, and their decimal object codes, as used in AFTMAPED. The colors listed in the description are based on AFT's default RGB color settings with a CGA or EGA display. These colors will be different when using a different display or palette setting. See the description of the "D" command later in this document to instruct AFTMAPED to list alternate color combinations. OBJ CODE DESCRIPTION ---- ----------------------------- 1 Building, Blue House w/Roof 2 Building, Green Blockhouse 3 Building, Small White 4 Building, Large White 5 Hangar, N/S, Blue/White 6 Gate, N/S, Blue/White 7 Wall, N/S, Black/White 8 Wall, N/S, Blue/White 9 Runway, N/S, Blue/Green 10 Runway, SW/NE, Blue/Green 11 Runway, E/W, Blue/Green 12 Runway, NW/SE, Blue/Green 13 Runway, N/S, Black 14 Runway, SW/NE, Black 15 Runway, E/W, Black 16 Runway, NW/SE, Black 17 River, N/S, Blue/Black 18 River, SW/NE, Blue/Black 19 River, E/W, Blue/Black 20 River, NW/SE, Blue/Black 21 Lake, Blue/Black Hexagon 22 Mountain, Small White Pyramid 23 Mountain, Large White Pyramid 24 Mountain, E/W Green Wedge 25 Field, Blue/Green on Black 26 Field, Blue/Black on Green 27 Field, Blue/Green on White 28 Field, Blue/Black 29 Field, Blu/Grn/Blk, Raised 30 Balloon, Green, at 300' 31 Balloon, Green, on Ground NAVIGATING IN THE AFTMAPED DISPLAY The current record is always indicated by a highlight line, and brackets surrounding the object code and coordinate values. You can change the current record, and display additional records in the file using the following single-key commands: Up Arrow: Move back one record. Down Arrow: Move forward one record. Pg Up: Move back one page (20 records). Pg Dn: Move forward one page (20 records). Home: Move to the first record in the list. End: Move to the last record in the list. EDITING COMMANDS The following single-key commands are used to change the contents of the mapfile, based on the current record selected. E: Edit the current record. You are prompted at the bottom of the display to enter new decimal values for the object code and X and Y coordinates. Pressing without providing a new value will leave the current value unchanged. Del: Cut the current record. The current record is "cut" from the list, but preserved in a temporary "clipboard". It can be restored using the Ins key. Ins: Paste a new record at the current position. The record contained on the temporary "clipboard" (from a previous Cut command) is inserted at the current record position, moving all subsequent records down one position. If there has been no previous Cut command, a blank record is inserted. The blank record will serve as a placeholder until it is edited with the E command. If blank records are left in the file, they will be ignored by AFT. OTHER COMMANDS The following single-key commands can be used any time the object list is displayed (other than while editing the current record): H: HELP - Displays a brief description of all commands. O: OBJECT LIST - Displays a list of the different objects available, including the object code, hex file code and object description. This is a useful reference, since objects must be specified by their object code when editing a record. D: DISPLAY - Changes the colors listed in the object descriptions based on what type of display is used when running AFT. By default, the colors listed are based on AFT's default RGB setting with a CGA or EGA display. AFTMAPED can also display the descriptions based on the colors that are shown when running AFT using the "New Palette" choice from the "SYS" menu and an EGA display, or when connected to a monochrome display using a Hercules Graphics Adapter. The display color mapping currently selected is indicated by the code displayed in brackets in the lower-right of the object list: [CGA] - "RGB" with a CGA or EGA display [EGA] - "New Palette" with an EGA display [MDA] - Hercules display NOTE: This command does not change the values stored in the file. It only changes the descriptions that AFTMAPED shows, to more accurately reflect what is displayed when running AFT. S: SAVE - The current map list is saved to the file. Q: QUIT - The current map list is saved to the file and AFTMAPED prompts for a new file (if no file was specified on the command line) or exits. Esc: The current map list is discarded and AFTMAPED prompts for a new file (if no file was specified on the command line) or exits. P: The current map list is listed to LPT1. C: Temporarily suspend AFTMAPED and access the MS-DOS command prompt. This is very handy to rename the file you are currently editing if you want to save the changed version in memory without losing the previous file. Use the MS-DOS EXIT command to return to AFTMAPED. ADDITIONAL TECHNICAL NOTES While it is possible to pack the 85 objects stored in a mapfile in a close region of the ten mile square, some care must be exersized. The more three dimensional objects located in a close reason, the slower the simulator will operate. Placing several mountains or buildings close togther may slow operation to an unacceptable level. Use three dimensional objects judicially, and spread scenery objects throughout the ten mile square. Keep this in mind as you design your ultimate scenery environment! AFTMAPED allows you to insert and delete records while editing a file. While editing, you can create up to 170 records -- twice the number that can be saved. However, when saving the file, only the first 85 records will be recorded. If there are less than 85 records, the remaining bytes in the file will be filled with nulls, which AFT interprets as the end of file. -##- END OF DOCUMENTATION FILE -##-