home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Phase 1
/
phase1.bin
/
Utilities
/
DrawMap
/
ReadMe1
< prev
next >
Wrap
Text File
|
1995-07-19
|
10KB
|
240 lines
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.