                             WORLDS OF WETSPOT
                         The WetSpot 2 World Editor

                                version 1.0

                       by Enhanced Creations 1997-98

                             Documentation file

INDEX _______________________________________________________________________

1 - What is Worlds of WetSpot
 1.1 - General info
 1.2 - WetSpot 2 worlds
 1.3 - Editors inside the editor
2 - The area set editor
 2.1 - Introduction
 2.2 - Tiles
 2.3 - Palette
 2.4 - Other stuff
3 - The level editor
 3.1 - Introduction
 3.2 - Editing the level
4 - The world table editor
 4.2 - Introduction
 4.3 - World credits
 4.4 - Compiling worlds
5 - Now it's up to you...
 5.1 - Publishing a world
 5.2 - Program limits
APPENDIX A - Hints on making your own world
APPENDIX B - Compiling messages
APPENDIX C - The WWD file structure

-----------------------------------------------------------------------------


=============================================================================
1 - WHAT IS WORLDS OF WETSPOT
=============================================================================

1.1 - General info

Worlds of WetSpot is a world editor made for WetSpot 2. At the beginning it
was thought to be only for internal development, but day after day it became
a more professional program, so now you can see it as is.
The world editor requires to be in the same directory of WetSpot 2. If you
don't have such a game, what are you doing here? Go now to my site and take
it! My page is the QuickBasic Enhanced Programming Page, and it's located at:

http://www.geocities.com/SiliconValley/Lakes/7303

If you have any comment, suggestion or you simply want to contact me, send a
message to:

angelillo@geocities.com   -or-   angelillo@usa.net

As the game, this editor requires some free EMS memory (196 Kbytes) to run,
so if you don't have it and you don't know how to do, take a look at the
README.TXT file provided within the game packet. A standard mouse is also
needed.
The first time you'll run the program (you must be in the game directory!),
it will create four directories for you, containing data files; later you'll
understand what's the purpose of each of them.


1.2 - WetSpot 2 worlds

WetSpot 2 was thought to allow the user to build his own levels, so here we
are; a world file (with extension ".WWD") contains all the levels data,
excluding the MIDI musics.
A world is devided into areas, each of them containing five levels with the
same graphics and the same music (if available); up to 20 areas can be stored
into an unique world file. For more informations, see the README.TXT file of
the game.
Once you create a world, all its files (including musics, if available) must
be in the same directory of WetSpot 2. Run the game and select the LOAD
EXTERNAL WORLD option on the main menu: select your world and you'll be able
to play with it.


1.3 - Editors inside the editor

As said, a world is devided into areas, each divided into five levels. An area
contains the tiles graphics, a title, the MIDI music file name to play during
the game and other things. All this stuff is handled by a single editor, which
saves it into a data file named "area set"; you can have as much area sets as
you wish, and you'll need them to edit a level with. Then there's the level
editor, which allows you to build the shape of your levels, adding enemies
and much more; this saves your level into another data file, needless to say,
named "level". Once you've made your area sets and levels, you'll need to put
all them together into an unique world file; this is the purpose of the third
editor: the world table editor. This allows you to select the world title,
the area set file for each area, the levels files and more; it's from here
that you'll build the final version of your world.
So let's examine each editor to see their features...


=============================================================================
2 - THE AREA SET EDITOR
=============================================================================

2.1 - Introduction

Before attempting to make a level, you'll need an area set to edit it with.
Area set files are stored into the "SETS" directory; they have extension
".SET". To enter the editor, select the NEW AREA SET or LOAD AREA SET options
in the main menu; in the last case, you must choose a set from the list (a
preview of the selected one is shown on the small right window), and then
press the OK button.


2.2 - Tiles

The main purpose of the area set editor is the making of the tiles. Each
level (and therefore each area) can have up to 5 different tiles: the first
is used as the fixed block tile, the second as the moveable one, and the other
three are used as background floor tiles. To select which tile to edit, click
with the right mouse button the thin window on the left of the screen: a
bright blue box will surround the selected tile and it'll be shown zoomed into
the bigger window, with its name above it. To edit a tile, you must choose a
color from the current palette window (on the upper-right side of the screen),
and then left-click on the zoomed tile to draw a single pixel. There are a lot
of special tools for tile editing on the left-bottom corner of the screen:
the first four buttons can shift the tile, the fifth can duplicate it (it'll
be asked to select a destination slot: click on a small tile on the thin tiles
window, or CANCEL to abort operation). Then there is a tool to rotate the
current tile by 90 degrees, and two others to horizontally or vertically flip
it. Be careful, because there's no UNDO button, and your changes will be saved
to disk.


2.3 - Palette

When you start a new area, the default palette is set to a blank one, with one
white color only; but 16 of the available colors can be easily changed,
according to the use you want to do with them. Left-click on the RED, GREEN
or BLUE bars to change the current color hues. Only the last color cannot be
modified, because it represents the transparent color; you'll notice it
because the hue bars get gray when you select it. Remember that the background
tiles MUST NOT contain transparent pixels, otherwise you'll get an error while
compiling your world.


2.4 - Other stuff

An area set also allows you to define the area title (the one which waves when
you reach a new area); left-click on the CHANGE TITLE button to edit it. If
you want your area to have its own music, click the CHANGE MUSIC button;
you'll be prompted to select a MIDI file from a list (MIDI files are kept into
the \MIDI directory). Musics can also not be present into a world, it's just
up to you. In addition, each area prints game informations (PAUSE text, frame
rate and other messages) with a particular color; well, you can choose this
color according to the tiles you made. There are lots of available colors,
and when you choose the TEXT COLORS... button, a preview of each color up on
your current tiles will be shown, allowing you to select the best one.
Once you've done the area set, you can exit and save your work by pressing the
SAVE AND EXIT button; you'll then return to the main menu.


=============================================================================
3 - THE LEVEL EDITOR
=============================================================================

3.1 - Introduction

If you haven't yet made any area set, you'll not be able to access this
editor. Infact, a set of tiles is required to successfully display the level,
so when you try to create a new level or to load one (from the main menu of
course), you'll be first prompted to select an area set.
Well, when you enter the editor, you'll see the current level shape on the
screen, drawn with the selected tile set. All the level files have extension
".LVL" and are stored into the "LEVELS" directory.


3.2 - Editing the level

By pressing the right mouse button, a window will appear on the center of the
screen: it's the tools window. A tool can be any kind of object you can place
into the level, from simple bricks up to players, enemies and hidden bonuses.
The current selected tool is surrounded by a bright blue box; select a new
tool with the left mouse button, and then press the right button again to
come back to the level editor. Here you can use the selected tool by pressing
the left mouse button; in this way you'll place bricks and every object.
There are a few rules to keep in mind:
 When you want to replace a player or an enemy, you must first delete it with
the eraser tool.
 A maximum of 16 enemies per level is allowed.
 Every bonus can be placed only over a moveable block.
From the tools window you can also change the level time, as well as exit and
save you work, by clicking on the SAVE AND EXIT button.


=============================================================================
4 - THE WORLD TABLE EDITOR
=============================================================================

4.1 - Introduction

If you have created area sets and levels, you'll probably want to put all
together and create an unique world file. This is the main purpose of the
world table editor; a table file is mainly a list of existing files (area sets
and levels) plus other informations, it has extesion ".TBL" and it's stored
into the "TABLES" directory.
As said, a world contains from 1 up to 20 areas, so you'll have to select
each area set file, and for each area five level files. If a file has not been
yet selected, the "????????.???" string will be displayed in the list, and
you'll have to press the button near it; this will bring you to the usual
file selection window, with a preview on the right.
To change area, click on the NEXT AREA and PREV AREA buttons. If you want to
clear all the current area entries, just click on the CLEAR button; remember
also that each area MUST have a password made of 4 characters, so click on
the PASSWORD button to edit it.
At the end, you can edit the world title and author, by clicking on the
respective EDIT buttons; clicking on the CREDITS button will bring you to
another window...


4.2 - World credits

The CREDITS button opens a new window, allowing you to edit the ending credits
that will be displayed at the end of the game; clicking on a line of text will
let you edit it. Remember that these lines of text will be centered on the
screen...
Once you've done, click on the OK button to return editing the world table.


4.3 - Compiling worlds

The COMPILE TO WWD button on the table editor lets you build your own world
file (with the table file name but with extension ".WWD") that's ready to be
loaded from the game. Once you click on this button, the program will examine
the current world files (area sets, levels and table) to ensure that the new
world contains no errors. With "errors" I mean a lot of small oversights, such
as that an area doesn't contain a valid password, or that the table doesn't
contain a complete area... See "APPENDIX B - Compiling messages" for details.
When compiling, the program will find the last area which has all the five
level files successfully selected; this will be the number of areas of the
current world, and every uncompleted area following it will not be considered.


=============================================================================
5 - NOW IT'S UP TO YOU...
=============================================================================

5.1 - Publishing a world

I'll be glad to publish your world up on my page. All you have to do is to
send it to me, possibly together with a text file with world informations, in
ZIP format via E-Mail attachment.
My E-Mail address is at the beginning of this document, as well as my page
address.

*** I'm waiting for your works!! ***


5.2 - Program limits

Worlds of WetSpot isn't the best program out there. As it was thought for
internal development, isn't pretty simple to make worlds with it; if you can,
I suggest you to build your own world (if you can do better than me), and to
send it to me so that I can put it up on my site; I'm giving you the WWD file
structure (see APPENDIX C) for this purpose. A great improvement would be to
avoid the multiple files (.SET, .LVL and .TBL), and to allow the user to edit
directly the world file, but this is only a hint.

Currently the editor (v1.0) has these limits:
1) No undo buttons in all the editors: if you make a trouble, you can't come
        back on your steps.
2) Multiple small files that makes your directories full of stuff
3) The editors look a bit hard to work with



=============================================================================
APPENDIX A - HINTS ON MAKING YOUR OWN WORLD
=============================================================================

Here follows a list of the few things you should keep in mind while creating
a new world:

 The background tiles look better if they're composed of dark colors
 The shark enemy is very special. It cannot move into passages with the
        width of one cell only, it needs two free cells; so always put it
        aiming towards free cells
 Put minimum 10 moveable blocks in all your levels, because a player mus
        be able to kill all the enemies
 Remember to adjust the difficulty
 Don't put too much bonuses
 The music .MID files MUST be put into the wetspot 2 main directory, as well
        as into the MIDI directory created by this editor; infact the midis
        found in the main directory are used by the compiled world, but the
        editor searches for them into that second directory when you select
        a music for each area. -> You'll have to make two copies of the same
        file, sorry!


=============================================================================
APPENDIX B - COMPILING MESSAGES
=============================================================================

When you compile a world, your work is examined, and if all is ok, a WWD file
is written to disk, otherwise there should be some warning or error messages.
Warnings are messages to advice you something MAY be wrong, errors stop the
compiling process; anyway most of them shows in which file is the problem.

Warning messages:

 "World has no title."
      You have a blank world title; set it into the world table editor.
 "World author's name not specified."
      Same as the world title.
 "World does not contain credits."
      All the credit lines are blank; set them into the world table editor.
 "Area #xx (<filename.SET>) has no title."
      Area 'xx' has a blank title; set it into the area set editor.
 "Tile #n of area #xx (<filename.SET>) is a blank tile."
      The specified tile has not been drawn; look this in the area set editor.
 "Area #xx (<filename.SET>) has no music selected."
      If you want, select a new music in the area set editor.
 "Time too low on area #xx-x (<filename.LVL>)"
      The level time seems to low for the number of enemies on it. You can
      check this in the level editor.

Error messages:

 "World does not contain completed areas!"
      The world compiler was not able to find an area with all the files
      correctly selected in the world table; this may also occur if the first
      area is not complete. Select at least all the files for an area.
 "Area #xx has a bad password; it must be 4 characters long!"
      The password selected on the world table for the given area is not
      valid: it must not be blank and it must contain 4 character, so check it
      on the world table editor.
 "Floor tile #n of area #xx (<filename.SET>) contains transparent pixels!"
      Background tiles cannot contain transparent pixels, so check this out
      in the area set editor.
 "Player #n position not set on area #xx-x (<filename.LVL>)"
      On each level must be set the starting positions of players, otherwise
      you'll have to check it into the level editor.
 "Cells next to a shark must be blank on area #xx-x (<filename.LVL>)"
      As said, the shark enemy is special, and must have free all the 3 cells
      in the direction it's aiming. Suppose the shark to be going in the
      bottom-right direction: the 'O' is the shark, and the # are the cells
      that must be free:
                                     O#
                                     ##
      Check this in the level editor.
 "Area #xx-x (<filename.LVL>) has no enemies!"
      No enemies were found in the given level, and this must be fixed in the
      level editor.


=============================================================================
APPENDIX C - THE WWD FILE STRUCTURE
=============================================================================

This section contains a description of the WetSpot World Datafile (WWD) file
format. Each data is characterized by a number of bytes (the first value is
the file position, the second - if available - shows where the data ends),
a data type (in QB format) and a description.

bytes       data type         description
1-5         STRING*5          File identintification string: must be "W2WD"
6-7         INTEGER           Number of world areas
8-37        STRING*30         World title
38-57       STRING*20         World author
58-137      (STRING*4)*20     20 passwords for up to 20 areas. Each password
                              is made of 4 characters
138-737     (STRING*30)*20    Ending text. It's formed of 20 lines, each made
                              of 30 characters
-----------------------------------------------------------------------------
Here ends the world header. The following data represent each area contained
in the world, so it can be repeated up to 20 times; an area (together with
all its 5 levels) is 5738 bytes long, so to access one, just add an offset
to the 'bytes' value like "((numarea-1)*5738&)+byte&".

bytes       data type         description
738-767     STRING*30         Area title
768-815     STRING*48         Palette data. Contains 16 colors available for
                              the tiles, each stored as an RGB string (each
                              color is formed of 3 bytes, each representing a
                              hue, for a total of 48 bytes)
816-2095    (INTEGER*128)*5   Data for the five tiles of the current area.
                              Each tile is a 16x16 pixels sprite, for a total
                              of 256 bytes. The pixels are stored line after
                              line.
2096-2103   STRING*8          Area music MIDI file name without extension.
                              If the file cannot be loaded during the game,
                              no music is played.
2104-2105   INTEGER           Area text color index in the game palette
-----------------------------------------------------------------------------
From here begins the levels data. This section is repeated five times for each
area, and each level data is 874 bytes long. So as the areas, add an offset
specifying which level to load data from.

bytes       data type         description
2106-2585   INTEGER*240       Level map. A level is made of 20 columns and
                              12 rows, for a total of 240 cells. Each cell
                              contains the data for its background tile, the
                              block over it (if present) and its bonus. See
                              the "GetBlockInfo" function on the game code
                              for details. The cells data are stored row after
                              row as the tiles data
2586-2587   INTEGER           Level time
2588-2971   EnemyType*16      Data for the enemies of the current level. See
                              the EnemyType description on the WETSPOT2.BI
                              include file provided with the game
2972-2973   INTEGER           Player one x starting position given in
                              horizontal cell coordinate
2974-2975   INTEGER           Player one y starting position
2976-2977   INTEGER           Player two x starting position
2978-2979   INTEGER           Player two y starting position
-----------------------------------------------------------------------------

End of document

