home *** CD-ROM | disk | FTP | other *** search
- Drawmap
-
- Version 3.1
-
- A program for drawing representations of the Earth's surface.
-
- by
-
- Bryan Brown & Ulrich Denker
-
- 09/08/91
-
-
- I. Abstract
-
- This program gives the user the ability to generate representations of the
- Earth's surface, including national boundaries. Representations such as a
- Mercator projection, hemispherical views, and orbital views can be generated.
- The user has full control of the 16-color palette, with user specified colors
- for flood fills, line drawing and text. Screens can be printed or saved to
- disk as standard IFF files. A fully user-configurable online help facility
- is also provided.
-
-
- II. Disclaimer
-
- No guarantee is made as to the accuracy of the national boundaries
- represented by this product. Recent political events have already made the
- map file out of date.
-
-
- III. Distribution
-
- As with version 1.0 (on Fish disk 229), Version 2.0 (on Fish disk 315), and
- Version 2.24d (on Fish disk 485), this program is released into the public
- domain (FREEWARE), and is freely distributable as long as this document file,
- source code, header files, binary files, IFF file and text files are included
- in their entirety. The source may be modified for personal use, but is NOT
- for commercial use. The program was originally developed with Aztec C
- version 3.6a. The enhancements that lead to Version 2.24 were compiled with
- the SAS (Lattice) C compiler V5.10. The modifications resulting in version
- 3.1 were again compiled with Aztec C version 3.6a.
-
-
- Files included:
-
- drawmap3.1 - executable code
- drawmap3.1.info - icon file for workbench users
- drawmap3.1.020 - executable code requiring at least a 68020
- CPU and 68881 FPU
- drawmap3.1.020.info - icon file for workbench users
- drawmap3.1.info - icon file for workbench users
- drawmap3.1.doc - documentation file
- drawmap3.1.doc.info - icon file for workbench users
- drawmap.c - source code
- drawmap.h - header file
- drawmap-help.h - header file for help option
- drawmap-menu.h - header file for menu selections
- drawmap-req.h - header file for string requester
- reqglue.asm - glue file for accessing req.library
- (from Fish disk 419, where the object
- file is named areqglue.o)
- reqbase.h - header file for accessing req.library
- (from Fish disk 419)
- ILBM_lib.h - header file for accessing ilbm.library
- (from Fish disk 463)
- IlbmInterface.asm - interface file for accessing ilbm.library
- (from Fish disk 463)
- map.bin - map file containing 84,800 points
- map-trig.bin - auxiliary file containing packed values
- for trig functions of the latitude of
- each point in map.bin
- map.config - configuration file containing user
- palette
- map.limits.bin - auxiliary file containing max and min
- values of latitude and longitude for
- each arc in map.bin
- map.flat.pic - IFF file containing a flat map for
- initial display
- drawmap.help - simple text file containing help
- information for each menu item
- req.library - library for general requesters
- (from Fish disk 419)
- ilbm.library - library for saving IFF pictures
- (from Fish disk 463)
- make3.1 - simple batch file for building the
- executable code
- Reqlibrary.lzh - compressed version of Reqlibrary
- materials from Fish disk 419
- ilbm.lzh - compressed version of ILBMLibrary
- materials from Fish disk 463
- InstallLibs - simple batch file for installing
- req.library and ilbm.library into
- the user's LIBS: directory
- InstallLibs.info - icon file for workbench users
-
-
- IV. Differences from version 2.24
-
- o Now requires 1.2 megabytes of memory
-
- o Requires req.library (from Fish disk 419) and ilbm.library (from
- Fish disk 463)
-
- o 16 colors available instead of 4, with full palette control
- via req.library
-
- o User option to save palette in configuration file
-
- o Auto-load of user palette from configuration file at program
- startup
-
- o User option to load default palette
-
- o User selection of colors for flood fills, lines, and user-selected
- text via menu options
-
- o Auto-load of a flat map IFF at program startup
-
- o File requester from req.library, thereby eliminating the need for the
- ARP library and the associated inline code
-
- o Redesigned Help option, with a separate Help entry for each menu
- item using features from req.library. Text for Help entries is stored
- in a separate text file, which can be fully modified by the user.
-
- o Maps saved to disk using ilbm.library rather than inline code
-
- o MUCH larger map file containing more detail as well as national
- boundaries
-
- o No automatic flood fills
-
- o Close screen gadget removed, replaced by menu selection
-
- o Redesigned, less obtrusive "busy" mouse pointer
-
- o Title bar may be toggled on and off
-
- o Faster user selection of an area for a Box view and the center point
- for a Globe and Orbital view, using the blitter to move a previously-
- generated flat map into view
-
- o New Box Zoom In and Box Zoom Out options for exploring small regions
- more efficiently
-
- o User-selectable view height for Orbital view
-
- o General tightening and cleaning up of the source code
-
- o Compiled with Aztec C v. 3.6a, since I do not own SAS (Lattice) C.
-
-
-
- V. Notes
-
- o To build the program from source, the user will first have to assemble
- the files reqglue.asm and ILBMInterface.asm to generate areqglue.o and
- ilbminterface.o, respectively. The batch file "make3.1" may then be
- executed to build the actual executable program. (The reqglue object
- file is named "areqglue.o" instead of "reqglue.o" to signify that the
- file is for Aztec C, and not SAS (Lattice) C. On Fish disk 463 the SAS
- (Lattice) object file is named "lreqglue.o".)
-
- o For those users (including myself) who prefer pop-up menus to the
- standard Amiga menus, try the pop-up menu system on Fish disk 422.
- This background program (apparently) works with any normal program that
- uses standard Amiga menus.
-
- o The sheer size of the new map file unavoidably results in slower
- drawing of the maps. The auxiliary files were developed to speed up
- the drawing, but drawing is still slower than would be ideally
- desirable. Unfortunately, the size of these files also means that the
- program will no longer run in 500k. Note that the national boundaries
- in the map file do NOT reflect the currently changing political
- situation.
-
- o The map file contains 1409 different arcs defining region boundaries,
- but region boundaries are not defined by contiguous arcs in the map
- file. This means that a closed region may not be completely outlined
- all at once, thus eliminating the ability to automatically flood fill
- at the end of an arc. In any case, the user would probably want
- different colors for adjacent regions anyway.
-
- o The map file as originally obtained contained gaps in the boundaries,
- e.g., not all islands were closed figures, continental outlines
- consisted of disconnected arcs, etc. Considerable effort was spent
- trying to ensure closure of all areas, but a few may have been missed.
- In addition, some of the boundaries extend beyond where they should
- end, resulting in unterminated lines extending into blank areas when
- viewed in detail. An inordinate amount of effort would be required to
- correct these outliers, considering the nature and intended use of this
- program.
-
- o The text for each help entry may be modified by the user using any
- normal text editor. Note that the Help entries MUST remain in the
- original order, or else the help text will not match the Help gadget
- name.
-
- o Each entry in the help file MUST remain delimited by a form feed
- character (12 hexadecimal). At program startup the program reads the
- help file and looks for the formfeed character, replacing it with 0
- hexadecimal (the normal end-of-string character in C). The help
- display option needs this end-of-string character to function properly.
-
- o The file "map.limits.bin" contains upper and lower bounds on the
- information in each of the 1409 arcs. If this file cannot be found at
- program startup, it is built from scratch, and an attempt is made to
- save the file to disk. Whether or not the save is successful, the
- program continues.
-
-
-
- VI. Limitations
-
- o The mouse pointers in the file requester, palette and Help item display
- windows revert to the user's own mouse pointer image rather than the
- arrowhead used in drawmap. It would be beneficial if the programmer
- were able to specify to req.library and ilbm.library the imagery to use
- for the mouse pointer.
-
-
- VII. Correspondence
-
- This program was originally developed by:
-
- Bryan Brown
- 13129 Collingwood Terrace
- Silver Spring, MD 20904, USA
-
-
- Enhancements for version 2.4 were written by:
-
- Ulrich Denker
- Nienort 46
- 4500 Osnabrück, GERMANY
-
-
- Modifications for version 3.1 were written by Bryan Brown.
-