
Readme-File for Blinkensisters
==============================

Index:
A) Licensing
B) Exporting
C) Creation of Levels

For installation, please read the included INSTALL file

A) ========== LICENSING ===============

Please read the file LICENSE for information about Licensing this software.

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

    See attached LICENSE file for details

    In case of doubt, Austrian law applies. 

    Some files may have other (open source) licenses, if so, the license is written
    in the source files.

level10.jpg, level11.jpg, level12.jpg and level13.jpg are taken from NASA-material.

B) ========== EXPORTING ===============

This program may be exported to ALL countries, as long as the following
guidelines is followed:
   *) The GNU General Public License is backed up by local law
   *) The program and/or its content does not violate local law.
   *) Neither the program nor any of its files are used
      for any war-like purpose. (Country of origin is Austria; our local
      law does not allow to export products that support war).


C) ========== CREATION OF LEVELS ===============

see also http://www.blinkensisters.org/wiki/index.php/Simple_Level

You can create your own levels with a text editor. A level consist of a 

Config-File: e.g. level1.conf
-----------

These are simple "Variable-assignments", you define the following levels:

# a background picture (jpg or bmp format, put the file in the GFX directory) 
bg=level1.jpg
# a background music (ogg Format, put the file in the SND directory)
snd=menuMusic.ogg
# Pictures of the tiles, predefined are now: bathtiles.bmp and weirdtiles.bmp
tiles=bathtiles.bmp
# the level data file (how does the level look like (see below))
leveldata=level1.dat
# The time in which the level must be solved (in seconds) (0 = no time limit)
leveltime=90

Optional:
# script=levelN.bsl - See http://www.blinkensisters.org/wiki/index.php/Scripting
# magictile=3:1 - If this option is set, tiles of the first type, here "3",
                  magically change to a tile of the second type, here "1", as
                  soon as the Player touches the tile the first time. For example,
                  tiles of type "3" could be invisible tiles which change to
                  visible tiles after first contact.
# timebonuspixel=20 - how many time will a player get, if a timebonuspixel is collected
                      (this can also be < 0 - for example if there is a easy way so solve
                      a level (but the player will lose a lot of time - less timebonus at the
                      end of the level) and a hard way to solve the level (where the player
                      can omit the "T"-Pixel.)
# timebonusmultiplicator=10 - how many points will a player get for every second at the end
# timemalusifkatedies=1000 - how many points will a player lose, if a live is lost
nextlevels = { 2, 3 } - If there is more than one exit-pixel, a list of the number of levels,
                        where the player will continue, if he uses exit pixel X 
                        (the exit pixels are counted from left to right and top to bottom).
                        In that example he will continue in level 2 on the first exit-pixel and
                        in level 3 if he uses the second exit-pixel.
# # - Comments (C/C++-style and shell-script-style) are allowed.


Data-File, e.g. level1.dat
---------

This is a text file which looks like something like this:

1                         1
1                         1
1                         1
1                         1
1     # B            C #  1
1   11111           1111111
1                         1
1+  ##  A           C   - 1
111111111111111111111111111

Every character is a tile of 32x32 pixels in size. The
characters have the following meanings:

+ ... Start point. Here starts the player (Blue)
- ... End point. After collecting the pixels, the player must arrive here.
      (Red = not all pixels collected / Green = Player can exit)
~ ... Optional special tile which becomes the start point after the player
      touches the tile. Use it in large levels to avoid the player to be
      back to square one whenever he loses a live.

# ... A pixel. You have to collect all pixels to solve the level.
P ... A power pixel. Must be collected; scares blue datenkraken away
* ... A bonus live. 
$ ... Bonus points
T ... A timebonus pixel. The player will get a timebonus (or malus) if collected.

A ... Monster (the brown Datenkrake)
B ... Monster (the blue Datenkrake)
C ... Monster (the yellow Datenkrake)
D ... Monster (the Eye-Monster)
E ... Monster (the Buggy)

1-9 ... different wall types / availability depends on the tiles-setting in config

NOTE: Do NOT use tabs; always use spaces!!!
