___    ____________  _________   __ __
\  \  /  /|__   __| / _______/  / //_/  __
 \  \/  /    | |   / /____ ____/ /_____/ /__
  \    /     | |  / _____// __  // /__  ___/
   \  /      | | / /____ / /_/ // /  / /
    \/       |_|/______//_____//_/  /_/   Copyright 2000 Mike Behrens

                       ----{[((( introduction )))]}----

VTEDIT is a level editor for Vampiric Tower. It is actually the program that I
used to make the levels for the game. I decided to include it along with the
game in order to make the level creation process easier. However, please keep
in mind that this program was not designed to be user-friendly. The interface
can be confusing if you don't understand what you're doing. Therefore, I
suggest that you read through this file before you start. It will probably
make things easier.

               ----{[((( game-related background info )))]}----

Loading Levels

Level files must be loaded from the command line. There is no in-game function
to load them. The command line parameter for this is "load". So for example,
if you want to load the file "JACKHOLE.VTL", then type this on the command 
line:

vtower load jackhole.vtl

Filenames need to be 8 characters. This is because the original version of the
game was made entirely in MS-DOS, where only 8 characters are allowed. The 
.vtl extension is not required, but I would recommend that you use it anyway.
The whole point of the .vtl extension was to differentiate the level files
from the other files in the game.

NOTE: There is a bug in the game that occurs when an external level file is
loaded. Basically, what happens is that the Esc and F6 keys get reversed.
When an external level is being played, Esc restarts the level, and F6 quits
the game. It's backward.

                       ----{[((( using vtedit )))]}----

Basic Controls

Arrow Keys: Move the "cursor" around the grid.
Z: Decrease the CV by 1
X: Increase the CV by 1
Enter: Input the CV at the cursor location.
1: Increment / Decrement Floor Number value.
2: Increment / Decrement Room Number value.
3: Increment / Decrement Transforms value.
4: Increment / Decrement Playerxc value.
5: Increment / Decrement Playeryc value.
6: Increment / Decrement Facing value.
~: Switch between Increment and Decrement for 1-6 keys.
S: Save level.
L: Load level.
Esc: Quit.

How to Use VTEDIT

When you start VTEDIT, you should see a lot of gray numbers and text. The one
number written in white is the currently selected number (the "cursor"). By
using the arrow keys, you can move the cursor around the grid. This grid
represents the game room. By editing the numbers, you can create your own
level.

On the left, you should see written "CV:0". "CV" stands for "current value."
By using the "z" and "x" keys you can change the CV. Then, by hitting Enter,
you can replace the value at the cursor position with whatever the CV is.
For a list of what each CV value represents in the actual game, see the 
"number - tile list", below.

One thing you need to make sure of is that the values on the grid are within
the range of 0 - 46. Any other number will result in a black square. This 
square will function like a rock, except that it will look like a black
square. It won't crash the game, but it will look out of place.

Another thing that you need to make sure of is that you have a border of
"1"'s around the perimeter of the grid. The "1" is the gray outer wall of
each room. Without it, the player can walk to the very edge of the grid, 
which can cause problems.

At the bottom of the screen you will see six other values. These can be 
changed by using the 1-6 keys. To test this, try hitting "1" a few times. 
You should see the number next to "Floor" increase each time you hit the key. 
The ~ key is used to switch between incrementing and decrementing. To test 
this, hit the ~ key, and then hit "1" a few times. You should notice the 
number decrease each time you hit the key. You should also see the word 
"Incrementing" change to "Decrementing" when the ~ key is hit. Not too
difficult.

The "Floor" and "Room" values don't really matter. These were used for the
main game levels. In an external level, you can make them whatever you want.

The "Transforms" value is used to set the number of transforms that the 
player starts the room with. This is usually 0, but it can be changed, if
you are so inclined.

"Playerxc" is the starting x-coordinate of the player on the grid. The values
range from 0 - 12. However, since the outer gray wall has to go around the
room, the values should be between 1 - 11. 0 is the left side of the room, and
12 is the right side.

"Playeryc" is the starting y-coordinate of the player on the grid. Again, the
values range from 0 -12, but should be between 1 - 11. 0 is the top side of
the room, and 12 is the bottom side.

"Facing" affects the direction that the player is facing when they start the 
room. The values are 2, 4, 6, 8. 2 is down, 4 is left, 6 is right, and 8 is up.

When you want to save, press the "s" key. The words "Save Level:" should appear
next to the word "(In/De)crementing". Type in the file name to save the level
as, and press Return. If you don't want to save, then backspace over what you 
wrote, and then press Return.

To load a level file, press the "l" key, and type in the name of the level to
load.

When you're done, press the Esc key to quit. 

                      ----{[((( file structure )))]}----

Each Vampiric Tower level consists of 175 bytes of data. The first 169 bytes 
of data represent the individual tiles of the room. This is because each room 
is a 13 x 13 grid (13x13 = 169). The data goes down by columns. So the first 
byte is the upper-left corner of the room, the 13th byte is the lower-left 
corner of the room, the 27th byte is two spaces right of the upper-left corner,
etc. Then, after the first 169 bytes, there are 6 more bytes that have various 
functions. Below I have listed each byte and what it represents:

170th byte - Floor Number
171st byte - Room Number
172nd byte - The Starting X-Coordinate. Must be between 0 - 12
173rd byte - The Starting Y-Coordinate. Must be between 0 - 12
174th byte - Number of transforms player starts the room with (usually 0)
175th byte - Direction player is facing. It is either 2, 4, 6, or 8.
             2 - down, 4 - left, 6- right, 8 - up
             If it isn't one of those numbers, it defaults to 2.

For the starting x coordinates, 0 is the left side, 12 is the right side.
For the starting y coordinates, 0 is the top side, 12 is the bottom side.

                    ----{[((( number - tile list )))]}----

The first column on the left is the actual number, the second column shows 
the number in hexadecimal notation, and on the right is the description of 
what that number represents in the game. 

0   00  - Floor
1   01  - Outer Wall
2   02  - Grey Block over Floor
3   03  - Blood Vial
4   04  - Raised Spikes
5   05  - Pillar
6   06  - Closed Door
7   07  - Open Door
8   08  - Clay Pot over Floor
9   09  - Enchanted Block over Floor
10  0A  - Enchanted Potion over Floor
11  0B  - Rock
12  0C  - Blood Vial that gives a Transform
13  0D  - Jack-O-Lantern
14  0E  - Depressed Spikes
15  0F  - Down Arrow
16  10  - Left Arrow
17  11  - Right Arrow
18  12  - Up Arrow
19  13  - Ghost, Facing Down, Asleep
20  14  - Ghost, Facing Left, Asleep
21  15  - Ghost, Facing Right, Asleep
22  16  - Ghost, Facing Up, Asleep
23  17  - Ghost, Facing Down, Awake
24  18  - Ghost, Facing Left, Awake
25  19  - Ghost, Facing Right, Awake
26  1A  - Ghost, Facing Up, Awake
27  1B  - Grey Block over Depressed Spikes
28  1C  - Grey Block over Down Arrow
29  1D  - Grey Block over Left Arrow
30  1E  - Grey Block over Right Arrow
31  1F  - Grey Block over Up Arrow
32  20  - Enchanted Block over Depressed Spikes
33  21  - Enchanted Block over Down Arrow
34  22  - Enchanted Block over Left Arrow
35  23  - Enchanted Block over Right Arrow
36  24  - Enchanted Block over Up Arrow
37  25  - Clay Pot over Depressed Spikes
38  26  - Clay Pot over Down Arrow
39  27  - Clay Pot over Left Arrow
40  28  - Clay Pot over Right Arrow
41  29  - Clay Pot over Up Arrow
42  2A  - Enchanted Potion over Depressed Spikes
43  2B  - Enchanted Potion over Down Arrow
44  2C  - Enchanted Potion over Left Arrow
45  2D  - Enchanted Potion over Right Arrow
46  2E  - Enchanted Potion over Up Arrow

                         ----{[((( example )))]}----

The following is a screenshot (sort of) of Floor 1, Room 1 loaded in VTEDIT. 
This is for reference purposes, if you're interested.

--------------------------------------------------------------------------------
                    Vampiric Tower Level Editor Version 1.0

CV:0     1    1    1    1    1    1    6    1    1    1    1    1    1
         1    5    5    5    5    5    0    5    5    5    5    5    1
         1    5    5    5    0    0    0    0    0    5    5    5    1
         1    5    5    0    0    0    0    0    0    0    5    5    1
         1    5    0    0    0    0    0    0    0    0    0    5    1
         1    0    0    0    5    0    0    0    5    0    0    0    1
         1    0    0    0    0    0    0    0    0    0    0    0    1
         1    0    0    3    0    0    0    0    0    3    0    0    1
         1    5    0    0    0    5    0    5    0    0    0    5    1
         1    5    5    0    0    0    0    0    0    0    5    5    1
         1    5    5    5    0    0    0    0    0    5    5    5    1
         1    5    5    5    5    5    3    5    5    5    5    5    1
         1    1    1    1    1    1    1    1    1    1    1    1    1

Floor:      1                Room:           1             Transform: 0
Playerxc:   6                Playeryc:       9             Facing:    2

Incrementing

z/x Set CV, 1-6 I/D Last 6, ~ Switch I/D, S/L Save/Load, Arrows/Return Set #'s
--------------------------------------------------------------------------------

END OF FILE
