home *** CD-ROM | disk | FTP | other *** search
-
- WOLFMAP - Wolfenstein 3D Map Processor. (c) 1992 Sysma Automatisering
-
-
-
- Disclaimer
- ----------
-
- The program is delivered to you as is. Although copyrighted, we are not
- liable for any damage whatsoever when using this program, either in it's
- origional form or any altered form.
-
- Although distributed freely, this is copyrighted material. You are hereby
- granted the rights to use and/or modify the program for your personal use.
- You may (re)distribute this program or your own modifications, PROVIDED you
- distribute the complete set of origional files with your own modified ones
- and you distribute them without charging any money or any other form of
- compensation.
-
-
- History
- -------
-
- 06/10/92 Version 1.0 After a few weeks of beta testing and adding some
- functionality is this the first public release.
- 07/10/92 Version 1.01 Added automatic renaming of the game maps file
- when using the shareware version and converting
- maps between Wolf3D version 1.0, 1.1 and 1.2
- 11/10/92 Version 1.05 To allow for more efficient memory management and
- to accomodate certain non-Borland C++ compilers,
- all explicit far pointers were removed and replaced
- by normal pointers and functions using them. At
- the same time the memory model was changed to
- Large to keep a large heap.
- 12/10/92 Version 1.5 Out of dissatisfaction about the functioning of
- existing map editors, we added our own graphical
- map editor to WolfMap.
- 29/10/92 Version 1.6 Added the feature of creating a specified version
- of the map files when this version is not present.
- Also fixed a bug causing system crashes when
- creating maps that never existed in the map file.
- Maps, created from scratch now get the same titles
- as the same map number would get in the origional
- version of Wolf3D.
- Also, adjusted the drawing mode in the editor so
- you can move the mouse cursor outside the map area
- without losing the drawing mode when moving the
- cursor back in.
-
-
- Brief description
- -----------------
-
- The idea for wolfmap came in july 1992. After playing Wolf-3D for a while,
- I started creating my own levels using the MapEdit program, written by Bill
- Kirby. The problem arose when the Wolf3D version 1.1 came out. The maps,
- generated by the MapEdit program, were unusable. It turned out that the 1.1
- version of Wolf3D uses a different compression format than version 1.0
-
- The origional purpose of the Wolfmap program was to convert the map file
- back and forth between the Wolf3D versions 1.0 and 1.1. At a later stage
- functions were added to make a printout of a map to a file or printer and to
- display statistics about each map (such as how many secret doors there are,
- etc.)
-
- The resulting program was the version 1.0 of Wolfmap. It takes a command, a
- set of Wolf3D map files and executes the command. Whenever changes are to be
- made to the maps, Wolfmap first backs up the origional files before making
- those changes.
-
- The updated version 1.01 of Wolfmap adds support for Wolf3D version 1.2,
- and automatically renames the game maps file whenever converting to or
- from Wolf3D version 1.0 format files using the shareware version.
-
- The updated version 1.5 adds an interactive, graphical editor. This is done
- because the existing map editors do not either fully implement the storage
- indirections used in the data files, or are limited to only one version of
- Wolf3D.
-
-
- Usage
- -----
-
- The Wolfmap program accepts one command, together with optional flags and
- map numbers. Map numbers and flags may appear anywhere on the command line.
- Note that a command must be present. When more than one command is issued,
- only the first one will be executed.
-
- When several different flags for the same basic function (format, version,
- number of columns, output destination) are specified, only the last one
- will be used. The other ones will be ignored.
-
- Map numbers may be specified in two ways. The first one is to simply give a
- list of map numbers, separated by spaces. The second one is to specify a
- range of map numbers. A range is given by a map number, immediately followed
- by a minus sign ('-') and a second map number. In this secuence no spaces
- may be used and the first number must be less or equal to the second. All
- numbers within and including the range will be selected. When no map numbers
- are specifies, all maps are assumed.
-
- Wolfmap executes it's commands on a set of Wolf3D map files. For the
- shareware version these files have the extention .WL1, for the commercial
- version .WL6. Wolfmap uses a third set (.LOC) of it's own when executing
- certain commands. Wolfmap contains autodetection logic to determine which
- version you have, so normally you don't have to specify a version explicitly.
-
- When Wolfmap executes a command requiring changes to the origional map
- files, it will write the changes first to a set of work files. These files
- will have the extention .WRK, but normally these files will not be visible
- when Wolfmap returns to DOS, since Wolfmap tries to delete them before
- terminating. When the changes are made, the origional files will first be
- copied to backup files (.BAK), overwriting any previous backups. When this
- is successfull, it then copies the work files to the origional ones. This
- ensures that you don't loose your origional map files when fatal errors
- occur.
-
- Wolf3D version 1.1 uses a different compression format for the map files
- than Wolf3D version 1.0. Normally, though, you don't have to specify the
- format, since Wolfmap contains autodetection logic to determine which
- compression format was used and will adjust to this format automatically.
- The compression format of Wolf3D version 1.2 is identical to that of
- version 1.1, since version 1.2 is only a bugfix release.
-
-
- Commands
- --------
-
- Wolfmap can execute several commands. A detailed description of each
- command follows below.
-
- h (or ?) Show usage information on the screen.
-
- c0 Convert all maps to Wolf3D version 1.0 compression format.
-
- c1 Convert all maps to Wolf3D version 1.1 compression format.
-
- c2 Convert all maps to Wolf3D version 1.2 compression format. This
- command is the same as c1, but is added for convenience.
-
- e Export a selection of maps to a special set of map files. These
- files have the extention .LOC
-
- i Import a selection of maps from the special set of map files.
- The import and export commands can be used to transfer maps from
- one set of Wolf3D map files to another.
-
- m Start the interactive, graphical editor / viewer. This command
- ignores any given mapnumbers and enables editing of all maps, one
- map at a time. See the editor section below for more details.
-
- dt Display the map numbers plus map titles of every map in the map
- files.
-
- ds Display the map number, map title and statistics of every map in
- the map files. The statistics are listed in 9 columns. Each
- column is listed below.
-
- Door The number of normal doors in the map.
- Lock The number of locked doors in the map.
- Secr The number of secret doors in the map.
- Elev The number of elevators to other levels in the map.
- Trea The number of treasures in the map. For this count all
- treasures (Cross, Chalace, Jewels, Crowns and Spheres)
- are added together.
- Lvl1 The total number of actors when playing difficulty
- level 1 (Can I play, daddy) or 2 (Don't hurt me).
- Lvl3 The total number of actors when playing difficulty
- level 3 (bring 'em on).
- Lvl4 The total number of actors when playing difficulty
- level 4 (I am death incarnate).
- Huge The total number of huge guards in this map.
-
- pm Prints a selection of maps.
-
- ps Prints more detailed statistics of a selection of maps.
-
- pl Prints the legend for symbols, used in maps generated by the pm
- command.
-
-
- Flags
- -----
-
- Many Wolfmap commands can be modified using flags. Below follows a list of
- flags which can be used.
-
- -s Use the shareware version of the map files (ie. .WL1 files)
-
- -c Use the commercial version of the map files (ie. .WL6 files).
- These files are the default when both sets are present.
-
- -l Use the special version of the map files (ie. .LOC files). This
- version cannot be used in conjunction with the import or export
- command, since these commands use this version implicitly.
-
- -f0 Override the autodetection logic for determining the format and
- force Wolf3D version 1.0 compression. For the import, export or
- modify command this flag specifies that the transferred / edited
- maps must be converted to Wolf3D version 1.0 compression format.
- For these three commands, therefore, the autodetection cannot be
- overridden.
-
- -f1 Override the autodetection logic for determining the format and
- force Wolf3D version 1.1 compression. For the import, export or
- modify command this flag specifies that the transferred / edited
- maps must be converted to Wolf3D version 1.1 compression format.
- For these three commands, therefore, the autodetection cannot be
- overridden.
-
- -f2 Override the autodetection logic for determining the format and
- force Wolf3D version 1.2 compression. For the import, export or
- modify command this flag specifies that the transferred / edited
- maps must be converted to Wolf3D version 1.2 compression format.
- For these three commands, therefore, the autodetection cannot be
- overridden.
- This flag specifies the same format as -f1, but is added for
- convenience.
-
- -ou Used in conjuction with the print commands only. This flag
- specifies that each map output must be directed to a separate,
- unique file, either LEVEL???.MAP for the pm command,
- LEVEL???.STA for the ps command or LEGEND.MAP for the pl
- command. In these names the ??? represents the map number.
-
- -os Used in conjunction with the print commands only. This flag
- specifies that every map output will be directed to one file,
- either LEVELS.MAP for the pm command, LEVELS.STA for the ps
- command or LEGEND.MAP for the pl command. When no output flag
- is specified, this is the default setting.
-
- -oo Used in conjunction with the print commands only. This flag
- specifies that the map output will be directed to stdout. This
- means that the output can be redirected to any file or device,
- using the standard DOS redirect command, or '>'.
-
- -ol Used in conjunction with the pm command. It specifies that after
- the maps are printed, the legend must be printed as well.
-
- -w Used in conjunction with the dt command. It specifies wide (or
- three columns) display of the map titles.
-
- -2 Used in conjunction with the dt command. It specifies two column
- display of the map titles.
-
-
- The Editor
- ----------
-
- The buildin graphical editor (from version 1.5 upwards) is based upon the
- Borland BGI graphics system and is designed for VGA systems only. Therefore,
- only the EGAVGA.BGI driver is supplied. If this driver is not in the current
- directory, the editor won't start. Since Wolf3D itself was written for VGA
- systems only, this shouldn't cause any problems.
-
- Besides the graphics driver two other files MUST be present in the current
- directory, MAPDATA.DEF and OBJDATA.DEF. These are the same files with the
- same format as Bill Kirby used for his MapEdit program.
-
- The design of the editor display is based upon the screen design used by Bill
- Kirby for his MapEdit program, but differs on several minor points. The
- screen is divided into two major areas, the map viewer and the legend
- (or key) viewer.
-
- The map viewer contains a graphical, colored represenation of a map. The
- legend viewer contains of three other sections. The top section contains the
- selected legend (or key). This is the item which will be written into the map
- when editing. The large section contains a (partial) list of the available
- legends, either from the map values or from the object values. On the bottom
- there are four buttons. The 'MAP' button selects the map legend, the 'OBJECT'
- button selects the object legend, while the 'UP' and 'DOWN' buttons scroll
- up and down the selected legend list, respectively.
-
- The editor accepts the following commands:
-
- f Toggles whether or not the floor values should be made visible.
-
- o Toggles whether or not the object values should be made visible.
- Note that the object representing secret doors will always be
- visible, as it is considered part of the map itself.
-
- C Clears the current map, so a new one can be started.
-
- D Discards any changes made to this map during this session and
- reloads the map stored in the map file.
-
- S Saves all modifications to the current map in the map storage, so
- they can be recalled with the <Esc> key. This command can be used
- before making large changes to an already changed map as a sort of
- undo feature. All changes from the saved point on can be rolled
- back if you make mistakes. Remember that with the D command you
- can roll back ALL changes and restore the map saved in the map
- files.
-
- 0 .. 9 Go directly to the selected map number in the current episode,
- saving changes to the current map.
-
- e Save all changes to all changed maps and exit from the editor.
-
- q Discard all changes to all maps and terminate the edit session.
-
- <Break> Same as the 'q' command.
-
- <Esc> Discards any changes made during the editing of the current map.
- This command differs from the discard command in that any
- changes made during this session before the last save will
- remain in effect. It just cancels out the changes after the last
- save.
-
- <->> Save the current map and go to the next one in the current
- episode. If the current one is the last one, wraps to the first
- map.
-
- <<-> Save the current map and go to the previous one in the current
- episode. If the current one is the first one, wraps to the last
- map.
-
- <PageUp> Save the current map and go to the next episode. If the current
- episode is the last one, wraps to the first episode.
-
- <PageDown> Save the current map and go to the previous episode. If the
- current episode is the first one, wraps to the last episode.
-
-
- Definition file format
- ----------------------
-
- The current known objects are stored in two text files, MAPDATA.DEF and
- OBJDATA.DEF. Since these files are in text format, you can edit them using
- any normal ASCII editor. If you figure out a new object, you can add it's
- description to the map / object list respectively. Each line in the two files
- contains 3 items (you MUST follow this exact format):
-
- 0000 0000 Objectname
-
- The first four digits are HEX for the object number. Right now, even though
- there are 4 digits, you are restricted in the values to use. For MAPDATA.DEF
- the largest value is 00ff and for OBJDATA.DEF the largest value is 01ff.
-
- The second four digits define how the object will look in the map. The first
- two digits are the primary / secondary colors. The third digit is the graphic
- type, and the fourth digit is the character string to use if the graphic type
- is "text".
-
- Colors:
- 0 - black
- 1 - blue
- 2 - green
- 3 - cyan
- 4 - red
- 5 - magenta
- 6 - brown
- 7 - light grey
- 8 - dark grey
- 9 - light blue
- a - light green
- b - light cyan
- c - light red
- d - light magenta
- e - yellow
- f - white
-
- Graphic types:
- 0 - text (uses fourth character of graphic definition)
- 1 - solid box
- 2 - checkered
- 3 - solid box (primary) with decoration (secondary)
- 4 - checkered box (primary) with decoration (secondary)
- 5 - large filled circle (primary) with smaller circle (secondary)
- 6 - horizontal bar
- 7 - vertical bar
- 8 - two color box (used for landscape view)
- 9 - single pixel centered
- a - 3x3 pixel block
- b - 5x5 pixel block
- c - 7x7 pixel block (or a complete box)
- d - X (primary)
- e - rectangle
- f - arrow (secondary color indicates direction: 0=n,1=ne,2=e,3=se,
- 4=s,5=sw,6=w,7=nw)
-
-
- Memory Requirements
- -------------------
-
- The Wolfmap program uses very little memory. Besides the code and data, stored
- in the executable itself, it only uses about 30K as intermediate memory during
- processing of the commands. Given the current size of the program (about 70K),
- this means that Wolfmap will operate with as little as 100K of free memory.
-
- The only exception is the buildin editor. The editor itself loads several
- files into memory. With the supplied definition files this totals to about
- 20K of extra memory needed. Furthermore, every MODIFIED map is kept in memory
- until the editor session is terminated, or modified maps are discarded. In
- compressed form, each map uses about 6K of memory. When modifying all 60 maps
- at the same time you must expect a memory usage of around 500K.
-
-
- Comments
- --------
-
- When you have comments or find bugs, please do not hesitate to contact us.
- Also, if you have ideas on how to expand the program or have suggestions for
- new commands or options, please contact us.
-
-
-
- Our email address is:
-
- FIDO: 'Jan Peter Dijkstra' at 2:283/303.0
-
-
-
- We can also me contacted by mail. Our mail address is:
-
- Sysma Automatisering
- tav. J.P. Dijkstra
- Fazantstraat 169
- 7523 DP Enschede
- The Netherlands
-
- Phone: +31 53 337410
- Fax: +31 53 311090
-
-
-
- Please do not modify Wolfmap and make those modifications public. This
- interferes with regular updates, coming from us. Use modifications only for
- yourself. If you think it is worthwile, contact us using the listed methods.
- If we agree, we will incorporate your changes in a next release.
-