The AMAZINGLY, ASTONISHINGLY, ASTOUNDINGLY,
W O N D E R F U L
DUNGEON MASTER / CHAOS STRIKES BACK EDITOR
(Version 1.0, or some large number if you count all the versions that
were written in STOS BASIC)
A few weeks ago, my good friend Antony Burden, with whom I wrote the
original version of this program (in STOS BASIC), told me that he had
had a request for an updated version which was STE compatible. That
shows how long it was since we last did any work on this program --
roughly 3 years.
Anyway, I managed to dig out a copy of the source code from the bottom
of a disk box, and set about compiling it with the most recent version
of STOS which I possessed.
There was a slight hitch. After compiling, it simply didn't run.
So, faced with the choice of picking my way through the old version to
find out why it didn't work, and re-writing it from scratch, I decided
to do a complete re-write.
So, a few weeks later, this is the result. This program is now
written completely in C, and compiled with the GNU C compiler with all
the optimisation settings on.
It isn't very pretty, it doesn't use GEM, and control is by keyboard
only, but it works. (Having said that, I haven't had the opportunity
to test it on any other machine than my 5-year-old STFM, with TOS 1.2,
but it ought to work on any TOS version).
The one big restriction is that it runs in low (320 x 200) resolution
only, and it takes up the whole screen.
Enough waffling, on to the instructions.
Run the editor. You will be faced with a simple title screen; press a
key to clear it.
You will now see my simple file selector. You can either type a
filename in directly, or press ESC to switch to a list of files which
you can scroll through with the cursor keys. Pressing RETURN will
select the currently highlighted file or directory. You can change
drive by pressing SHIFT + the drive letter. Undo will quit without
returning a result.
When you select a file, the editor will load it and attempt to
identify what type of file it is by its length. If it cannot tell what
type of file it is, it will ask for another.
The editor will recognise several types of file: game positions saved
from within DM and CSB, as well as game positions saved from the CSB
Prison (useful if you want to get both of the hidden characters in
your team) and the DUNGEON.DAT and MINI.DAT files which are used as
the initial state of the dungeon for DM and CSB respectively.
I should mention here that there are 2 versions of Dungeon Master. The
original version (sold by Mirrorsoft) creates saved game files of
47914 bytes, and as far as I can remember the later version (which I
believe is included in the DM/CSB double pack sold by Psygnosis) makes
saved game files of 47916 bytes. The extra 2 bytes are used as a
checksum, and since I don't know how to calculate it, Dungeon Master
will complain about damaged files when you try to reload a file that
has been edited.
Having loaded a file, the editor will display a map of the top level
of the dungeon contained in that file.
The following keys now come into effect:
Move the pointer around the screen. As it moves across the map, a
brief description of the current map square will be displayed in the
top-right of the screen.
Changes the map square currently pointed at to something relevant --
e.g. doors open and close; walls change to empty spaces and vice
versa. For full details, see the list at the end of this file.
Asks for a new byte value for the square currently pointed at. A
full list appears at the end of this file.
Read another file from disk for editing.
Save the current file back to disk under its original name.
Ask for a new file name and save the current file under that name.
Ask for a file name and save the current screen image under that
name in DEGAS .PI1 format.
Move up 1 level.
Move down 1 level.
Ask for a level number to display.
Toggle whether descriptions of map squares are displayed.
Quit (asks for confirmation first).
Meanings of byte values
Value(s) Represents Changes to
======== ========== ==========
0-15: WALL EMPTY SPACE
16-31: OBJECT ON WALL WALL
32/40: EMPTY SPACE WALL
48/56: OBJECT OR MONSTER EMPTY SPACE
64/80: PIT (CLOSED) PIT (OPEN)
68/84: INVISIBLE PIT (CLOSED) INVISIBLE PIT (OPEN)
72/88: PIT (OPEN) PIT (CLOSED)
73: FALSE PIT EMPTY SPACE
76/92: INVISIBLE PIT (OPEN) INVISIBLE PIT (CLOSED)
96/112: EAST-WEST FACING STAIRS (DOWN) unchanged
100/116: EAST-WEST FACING STAIRS (UP) unchanged
104/120: NORTH-SOUTH FACING STAIRS (DOWN) unchanged
108/124: NORTH-SOUTH FACING STAIRS (UP) unchanged
144: EAST-WEST FACING DOOR (OPEN) EAST-WEST FACING DOOR (CLOSED)
146: EAST-WEST FACING DOOR (HALF-OPEN) unchanged
148: EAST-WEST FACING DOOR (CLOSED) EAST-WEST FACING DOOR (OPEN)
149: EAST-WEST FACING DOOR (HACKED) unchanged
152: NORTH-SOUTH FACING DOOR (OPEN) NORTH-SOUTH FACING DOOR (CLOSED)
155: NORTH-SOUTH FACING DOOR (HALF-OPEN) unchanged
156: NORTH-SOUTH FACING DOOR (CLOSED) NORTH-SOUTH FACING DOOR (OPEN)
157: NORTH-SOUTH FACING DOOR (HACKED) unchanged
176: SPINNER (OFF) SPINNER (ON)
180: TRANSPORTER (OFF) TRANSPORTER (ON)
184: SPINNER (ON) SPINNER (OFF)
188: TRANSPORTER (ON) TRANSPORTER (OFF)
192/200: DISAPPEARING WALL (CLOSED) DISAPPEARING WALL (OPEN)
193/201: FALSE WALL EMPTY SPACE
196/204/ DISAPPEARING WALL (OPEN) DISAPPEARING WALL (CLOSED)
All other byte values are, as far as I know, undefined, and the editor
will change them to empty spaces.
Please feel free to send any comments, bug reports, job offers, large
sums of money, marriage proposals, etc. to:
10 Symn Lane,