@database poing6.guide
@node main "Poing6.02 manual"

   @{b}Poing 6.02 manual@{ub}

   @{" Overview     " link overview }
   @{" Legal bits   " link disclaimerp }
   @{" Installation " link installationp }             --------------------------------
   @{" Main Menu    " link mainmenu }                                     ###     |
   @{" In-game keys " link ingamekeysp }                                     ###     |
   @{" CLI Options  " link cliopts }                                     ###     |
   @{" Misc Stuff   " link stuffp }                  o                    #     |
   @{" Level Editor " link editor }             I                               |
   @{" History      " link history }             I                        ##     |
   @{" Future       " link future }                                     ###     |
   @{" Feedback     " link feedback }             --------------------------------

@endnode

@node overview "Overview"

Poing is a horizontal breakout clone, with lots of variation.

Version 6 adds a number of new options, and is more fool proof to
game lockups in any given levelsets. New options include a spinning
wheel, a squah mode, and 2 new bricktypes.


See also @{" History " link history }.

@endnode

@node flux_6_00 "Poing 6.00 summary"

* 13-feb-98

  - Poing 5 used "poing5.levels" as default. Poing 6 uses "default.levels".
    This name aestethically decouples the poing executable from a specific
    levelset.

    In practise you'll keep several levelfiles in the POING: directory,
    each of which can be started with the -f option (or from an icon
    with IconX). You might want to copy or rename the most used 
    levelfile to default.levels, so that poing started without arguments
    will use this levelset.

    Poing 6 ships with a levelset by Jostein Bergsvik (bergsvik@online.no)
    -- "Mathematics" -- which happens to be my favourite one of the moment.
    This file (default.levels) has been converted to poing 6 format with
    some modified visuals, but is otherwise identical to the original
    'jb2' levelset.

  - Added a cool two player squash team mode. Play with a friend or 
    with the droid!

  - Mouse ports are now selectable. Required for squash mode, but
    handy for classical two player mode as well if you are picky about
    input devices.

  - The droid uses the last entries in the highscore history to 
    adjust it's skill. If it scores better than the human average,
    it's skill will be lowered (refered to as IQ in the highscores), 
    else the skill is raised. In effect, the droid will score on
    average about the same as the human player. In practise you'll
    end up with a fair computer controled opponent/compagnion in 
    two player/squash mode. 
    
  - Newly created  highscorefiles now have the tables prefilled with
    values from 10,000 upto 100,000. You want some challenge right? :)

  - When the computer makes a highscore entry, it mentions it's skill
    (IQ-) level in the scoretable.

  - Fixed a bug in the (R)andom game option, that could cause empty levels
    on levelsets with less than 8 levels per stage.

  - In degrade mode, the eyes and hype display amusement trigger value
    is halved. 

  - Major source code cleanup and a complete objectfile rebuild.

  - Fixed a nasty bug that would result in stack overflow (= crashing
    machine) if 100 or so games were started in succession.

  - The "+BONUS" value is kept on screen a bit longer.

  - For some reason the stage/level indicators were swapped in 5.20. Fixed.

  - The arrow that indicates a promoted ball is more distinguishable.

  - Several other cosmetical modifications.

  - In poing 5, when a block group consisted of only 1 block, the game
    could hang (loop) on that block. It is basicly a leveldesign fault
    to create a single-block group. However, with the introduction of
    mobile blocks in poing 5, a group could theoretically end up with
    one effective block because mobile blocks might block the rest.
    
    Poing 6 is protected against size 1 (and 0 for that matter) groups.
    If such situation is detected, the group will remain offscreen for 
    that game session.

  - In prior versions, the ball could get trapped in indestructable blocks
    in some rare cases, especially if magnets or gravity is involved.

    Poing 6 detects such situations, and will hyperspace the ball
    to a random location after a couple of seconds of being stuck.

  - The title screen automatically cycles through the high scores and
    other screens (as in poing 4). It syncs to the music too :-) The 
    game will also enter automatic demo mode after some time. Useful
    for letting the droid catching up with your skill, by simply letting
    the program run unattended :)

  - A @{" Spinning Wheel " link spins } mode.

  - The blocktype info screen has been reprogrammed from scratch.

  - Poing 6 now extensively keeps track of fileversions, creation
    and last update dates and more. Most of this info is hidden.
    However:

  - The highscores contain entry dates.

  - Highscores are protected with a "match-key", which identifies
    a given highscorefile to belong to a certain levelset. This means 
    that you can't rename an existing highscore file to be used for
    another levelset anymore. 

  - The editor has been polished up: 
      o Fixed a bad key in the helpscreen. 
      o Help now fits on one screen (small font). 
      o Tab-Q block is visually fixed (it suggested another block). 
      o Pressing Tabs for special blocks brings up a help on the bottom 
        of the screen (I always forgot those codes).
      o No more title music when entering the editor. 
      o Scores are cleared before testplay. 
      o No more annoying eyes and anims in testplay mode. 
      o Added conformation check before leaving the editor.
      o Font test accesible from editor option screen. 
      o Pressing an invalid key in the option menu doesn't exit that menu 
        anymore (use Escape now).

  - New extra-ball-based-on-score @{" method " link scexbal}. 

  - High contrast color palette.

  - The number of 'gambles' (= random digit match at end of game), and 
    the number of spins for that matter, are on display.

  - The speed of the gamble sequence is proportional to the number
    of gambles collected. In practise: the gamble-sequence is less
    boring when more than 3 or so gambles have been collected.

  - The eye bonus us a tad faster too.

  - The v5.20 info display modes 4 & 5 are redesigned. Especially mode 4
    is attractive now (led display feel).

  - The rather ugly italic font (font# 4) has been replaced by a new
    good looking (IMHO) font.

  - Two new blocktypes have been added: Teleport and Shoot Left.
    Especially the Teleporter adds new perspectives to leveldesign, but
    you'll have to design your own levels with it :-)

  - When creating a new level, the program initializes with reasonable
    default parameters.

  - Poing 6 is year 2000 compiant :)

@endnode

@node flux_5_20 "Poing 5.20 summary"

Poing 5.20 summary

  - Two new info-display modes:
	o double height/width with grid.
	o double height/width without grid.

  - The end-digit gig is now guaranteed to never pick two identical
    succesive random numbers.

  - The end-digit gig can be sequential instead of random. It's a bit
    faster than poing 5.0x too.

  - Some screen elements can be configured for a different layout. This 
    is required for the new double width info display modes.

  - The poing5 levelset has been reworked. It is meant as a replacement 
    for the 5.0x levelset. The changes are:

      o Level 1.6: (diagonal wall) this was a somawhat annoying level.
        Some blocks have been removed to make it easier.

      o Level 3.3: (pathfinder). This level has been reported to almost
        endlessly keep the balls into play with those magnets and traps.
        The traps have been removed.

      o Some cosmetic changes (new 5.20 features are utilized).

  - Fixed a bug in the top-right hilighted value display, that 
      sometimes produced graphical trash.

  - The 'hurry up' messages are re-introduced (they were disabled
      in some version) and reworked, and made configurable (initial
      and repeat time).

  - Neater centering of title screen menu text, in relation to
      the auto-centered title.

  - The poing 4 levelset (recolored, due to a difference in poing4/poing5
    palette) is included. The shuffle method is set to 'full'.

@endnode

@node flux_5_02 "Poing 5.02 summary"

Poing 5.02 summary

  - levels included (this was accidently forgotten in the 5.00 archive ;))
  - fixed a keyfile issue.

@endnode

@node flux_5 "Poing 5 summary"

Summary of changes from poing4 to poing5
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Built in editor.

 * Configurable cosmetica (fonts/colors).

 * Endgame-random-digit-match-extra-ball-chance :P :)

 * New blocktypes (mobile, exploding, magnetic).

 * A new levelset (18 levels).


Complete list of changes
~~~~~~~~~~~~~~~~~~~~~~~~
 * Builtin level editor.

 * New level set.

 * 4 builtin fonts, selectable by the level designer: old font (poing 1-2-3),
   poing 4 font, and 2 new fonts (bold & italic style).

 * Extensive error checking with appropriate error/warning screens.

 * Endgame-random-digit-match-extra-ball-chance thingy. (remember pinball?)

 * Info display (top of screen) made adjustable: old style (single height), 
   poing 4 style (double height bars) and new style (double height solid).

 * Solved a bug in the bonus reward: points above 10,000 were not added 
   to the score in poing 4 !

 * Titlescreen completely rewritten, being subject to text/font/color
   choice of leveldesigner. Also multithreads :)

 * User-option screen rewritten from scratch.

 * Added several configuration screens to the editor.

 * Variable title screen font/colors/text.

 * Variable in-game font/colors.

 * Variable number of stages (1 upto 8).

 * Variable number of levels (1 upto 8).

 * Variable stage bonus (0 upto 1590)

 * Variable level-shuffle method (poing 2 or poing 4 style).

 * Mobile block type.

 * Indestructable/exploding block type.

 * Exploding bomb block type.

 * Magnetic block type.

 * Less solid looking energy bar.

 * Trapped ball now generates a peak-shape in the line-art 'lasershow'.

 * New titlemusic.

 * Removed a bug in the audio code that could produce an enforcer read-hit.

 * Removed a bug in the audio handling resulting in short dropouts.

 * Reworked some of the audio instruments.

 * Several small code optimizations.

 * Eye-amusement factors have been slightly retuned.

 * Acceleration of accelerating blocktypes is slightly dimmed.

 * Time between natural ball speedups is slightly stretched.

 * 'degradation' ball speed is somewhat slower.

 * Amiguide documentation.


@endnode

@node disclaimerp "Copyright and Disclaimer"

Poing 6 is copyright (c) 1997 by Paul van der Valk. 

This program comes without warranty. Use it on you own risk.

This program may be distributed in unmodified form if:
  - no profit is made
  - this document (poing6.guide) is included

@endnode

@node installationp "Installation"

Installation:

 - If you install poing for the first time you should make a drawer somewhere
   and assign POING: to it. This is where the leveldata and scores will be
   stored.

 - Once this assignment is made, copy *.levels to this drawer.

 - Copy the poing6 executable and it's icon to a suitable location.

That's it folks. Click the poing6 icon to start.

If you want to play a levelset other then the default set (default.levels)
you must start the program from CLI with th -f argument. For example:

   poing6 -fPOING:poing4

Will use the poing4 levelset.

See also @{" Commandline Options " link cliopts }

@endnode

@node ingamekeysp "In-game keys"

 S         toggle AI  music.
 L         toggle audiofilter.
 Esc       abort game.
 numpad -  pause and scroll screen up.
 numpad +  pause and scroll screen down.
 numpad *  screen to back / to front.

Any other key (un)pauses, or launches the ball when in serving stage.

@endnode

@node cliopts "Commandline Options"

 -o     No ai-music music.
 -ao    No sound at all.
 -ad    Audio dirty: use sound even if audio.device locking failed.
 -an    Audio nolock: don't lock audio.device.
 -0     Disable bottom screen line art. Saves some CPU cycles.

 -fFilename
        Specifies the path and filename of the levelset. Example:

           poing5 -fWORK:data/mypoing

        will use the levelset WORK:data/mypoing.leves (and the highscorefile
        WORK:data/mypoing.scores and optional keyfile WORK:data/mypoing.key).


@endnode

@node stuffp "Misc Stuff"

 @{" Eyes " link eyes}
 @{" Energy " link energy}
 @{" Balltrap " link balltrap}
 @{" Star Bonus " link starbonus}
 @{" Extra Balls " link scexbal}
 @{" Known Issues " link knis }
 @{" Spinning Wheel" link spins}

@endnode

@node future "Future"

Poing Future.

Poing is in a semi active development state. New revisions with fixes
and/or additions are expected on an irregular base.

New versions will not be shockingly different from previous ones. The main
idea behind new versions is that they are functionally backward compatible
with older versions (read: levelsets). 

Minor revisions will be put on the poing homepage at 
http://www.casema.met/~falcon. Major updates will probably make it through
traditional distribution channels like Aminet.

@endnode

@node spins Spins

New in poing 6 is the addition of a 'spinning wheel' mode. This mode
is activated by hitting a balltrap, and having collected at least one 
spin. A spin is rewarded at 10,000, and every further 20,000 points
(30,000 - 50,000 etc).

The spinning wheel in this version is rather primitive - just a 
sequence of predefined values to be scored. The longterm plan
is to have loads of other options in here.


@endnode

@node knis "Known Issues"

Known Issues:

 - When leaving the editor without saving the levels first (assuming they
   are modified ofcourse), you can't re-enter the editor anymore. In such
   case the program will report an "Invallid Keyfile" error and kick you
   back to shell/wb.

   This 'feature' has not been removed because it's very hard to get around 
   all the security checks, even when owning the source code :-)

   Bottom line is that you should be making a habit of saving the levelset
   before leaving the editor. As an extra safety, the Poing 6 editor
   now asks whether you really want to quit. Hitting Esc one time too many
   was too easy after all.

 - You should back up your data (highscores, levels and keyfiles). Poing 6
   has an extended fileformat for both level and score files. Upgrades 
   from old to new versions are made automatically. To be frank, I haven't
   experienced a single problem so far with this, but in practise things
   could go wrong. Having a corruption of a level / keyfile is very
   annoying, because there is no way to fix this. Period. 

 - Poing 5 has a nice level version check to ensure it doesn't load 
   and misinterpret files it doesn't understand completely. It doesn't
   check highscore version though. It is technically possible to use
   a poing 6 highscore in poing 5, but this will downgrade the score
   file. In practise this will leave you with the score-data only. 
   All extended information like entry dates and droid IQ level will
   be lost.

   Poing 6 contains a score version check so it won't repeat this behaviour
   on future versions. It also contains a construction that will inform you
   when a degraded highscore file is detected. 

   It is adviced that you dump poing 5 in favour of 6. There is nothing 
   that poing 5 can do and poing 6 can't.

 - Regardless of what port is selected, only the mousebutton on port 0
   can be used for serving. This will have to be fixed one day. In the
   meantime use the keyboard to serve.

@endnode

@node eyes "Eyes"

  The game has virtual spectators in the form of eyes. When some relevant 
  action takes place the eyes will open and follow the action. If a lot is 
  going on the eyes become amused (they flash) and will reward a bonus after 
  the ball has gone.

 - There are four eyes, and a maximum of 4 simultanious balls in play.
   Each eye is especially amused by a certain ball. In addition:

 - Top-left eye is especially amused by frequency of bat hitting bat,
   and by top-info display.

 - Top-right eye is especially amused by right scoreboard, and by
   top-info display.

 - Right eye is especially amused by the bonus counter, the scoreboard
   and by hitting the right border.

 - Bottom eye is especially amused by the bottom score counters.

@endnode

@node energy "Energy"

   The right side of the screen contains an energybar. Whenever the
   field is open (i.e. right border is hit 10 times) the energy level
   will slowly raise (there is some radioactive radiation involved or
   something - include you favourite class-B movie script here).
   The energy level will also raise a bit whenever the right border is
   hit, and will raise a lot whenever you lose a ball and degrade to
   the previous level.

   When the energylevel reaches maximum, and the ball hits the bat
   with a certain minimum speed, the bat will explode and be out of
   service for about 2 seconds.

   The purpose of this energy-mumbo is to prevent longthreaded
   loose-and-recover-ball sitations that sometimes occured in
   poing 3 and before.

   A high energy level has the side-effect of releasing energy-bolts
   when the ball hits something. This has no particulair function
   besides looking cool :^) Actually, from poing 5 onwards these
   sparkles can destroy "energetic wall" blocks.

@endnode

@node balltrap "Balltrap"

 - When a ball is trapped in a trap-block during multiball, that ball
   will be trapped until the other ball is gone. During this balltrap,
   a continious bonus (5 pts) is rewarded every 'tick' (~0.7 seconds).

 - If a ball hits a trap while one or more other balls are traped, 
   one of those other balls will be released first.

 - If a ball is trapped and no other ball is in play and the player has 
   collected a spin,  the wheel will  @{" Spin " link spins }.

@endnode

@node starbonus "Star bonus"

 The star bonus is rewarded when the last ball is lost, or when a
 star-bonus block (double arrow up) is hit. The bonus collected is
 100 for the first star, and 20 more for each succesive star.
 For example: 3 stars = 100 + 120 + 140 = 360 points.


@endnode

@node editor "The Level Editor"

The Level Editor

 @{ "Read me first! " link knis }
 @{ "Introduction " link edintro }
 @{ "Overview " link edoverv }
 @{ "Tutorial (sort of) " link edtutor }
 @{ "Advanced Options " link adved }

@endnode

@node edintro "Editor Introduction"

The poing level editor is relatively easy to work with, but some 
background knowledge is required. Hexadecimal data is used for example. 
If you're uncomfortable with this: sorry.

@endnode

@node edoverv "Editor Overview"

The level editor allows you to create your own (surprise) levelsets. 
This levelset will be protected by a keyfile, which is generated
each time a levelset is saved.

The keyfile is a permit to modify a levelset. You typically distribute
*.levels and keep *.key for yourself.

@endnode

@node edtutor "Editor Tutorial"

To begin with, you cannot edit a levelset if you don't own the keyfile. 
For this tutorial we'll use a new levelfile. Start poing with:

   poing6 -fMyLevels

This will create MyLevels.levels (and MyLevels.scores & MyLevels.key) in
the current directory. Pressing E from the main menu takes you to the
editor, which looks something like:


               xxxxxxxxxxxxxxxx                      C  A
  -----------------------------------------------------  ---------
                                                      | | PQR VVV |
                                                      | | PQR VVV |
                                                      | | PQR VVV |
                                                      | | PQR VVV |
                                                      | | PQR VVV |
                                                      | | PQR VVV |
                                                      |  ---------
                                                      |   \
                                                      |    blocklist 
                                                      |  
                                                      |-- playfield
                                                      |
  -----------------------------------------------------
  STAGE S          LEVEL L       GROUP G         BONUS BBBB

Legenda:
  xxxx    Message display.
  C       Current block for drawing.
  A       Armour (number of hits required) of grey blocks.
  PQR     3 blocktype (plus 2 hidden) in 6 colors.
  VVV     Scoring value associated to a block of this color.
  S       The current stage (A..H).
  L       The current level (1..8) within this stage.
  G       The current group within this level (A..P).
  B       The bonus value associated with the current group.



-=-= Drawing Blocks =-=-

To draw a block select a block from the blocklist with the left
mouse button (LMB). Click anywhere in the playfield with the LMB to
place the block. Use the right mouse button (RMB) to erase a block.

* Note: the leftmost column can't be used. The editor will display blocks
        here, but they won't be stored in the level database.



-=-= About Groups =-=-

When putting a block in the playfield you'll notice a black spot on the
block. This is the group mark. When - during play - all the blocks in
a group have gone, the group will re-appear and a bonus will be rewarded.
This bonus can be defined from the editor screen by pressing B followed
by a 4-digit value (use leading zeroes if needed, i.e. 0250).

There are 16 groups per level, named A upto P. To select a group press
G followed by the groupletter. As an alternative use '>' to select the
next, or '<' to select the previous group.


-=-= Block Values =-=-

The value that a block scores depends on it's color. There are seven
colorgroups (actually 6 + 1, the 1st color is always grey). To associate
a score value to a color, click the desired colorgroup in the blocklist
and press V followed by a 3-digit value (use leading zeroes if needed).


-=-= Colors =-=-

To modify the block colors click on the desired colorgroup and press C.
Numeric keypad 4 and 6 will select the previos/next color out of a palette
of 64. As an alternative you can enter the character associated with this
color. This character is shown in the message display, and consists of
the ascii value of the color (0..63) + 64. Numeric keypad 8 and 2 will
select the previous/next color group.

The first colorgroup can't be altered, it's always grey.


-=-= Storing a level =-=-

To store the fruits of your work press S. This will store the level 
in the memory resident database. Use Shift-S to actually save the levels 
to disk. This will create/update <file>.levels and <file>.key, where 
<file> stands for the name specified with the commandline option -f.

NOTE: make regular backup of your levelsets (including the keyfile)
prior to editing them. If anything goes wrong (tm) during the datasave
with either the level- or keyfile, you can start over again. You have
been warned.

If you make a fatal mistake in a leveldesign, you can go back to the 
previous stored version by pressing U (for Undo).


-=-= Da Bugs =-=-

If you play around with groups and stuff a bit, you'll notice that
certain blocks transform into mobile ones. Don't worry, this is a
visul bug only - the data is still intact.


-=-= Block Types =-=-

Ok, take a deep breath before reading on because the following section
is boring :-)


There are 3 columns of blockts visible in the blocklist. 

Basic block #1
--------------

The leftmost block is the plain simple hit-and-disappear block. 
It is however one of the most important blocks, because this is the only 
block that can cover option blocks (like [S]low, [B]all, etc.)

Exception for grey block here (colorgroup 1): this block needs to be hit
several times before it disappears. How many depends depends on the
armour settings. To define the armour setting press A followed by 1-9.
A grey block can't cover option blocks.


Basic block #2
--------------

This one needs two hits before it disappears.

Exception for grey block (colorgroup 1): this block is indestructable!
@{" Note " link indes }

Basic block #3
--------------

Score a bonus instead of a direct score.


There are two more basic blocktypes (added in poing 2). The first can be 
selected by clicking on the first digit of the block value, the second one 
by clickin on the second digit.


Basic block #4
--------------

This block is initially invisible. When hit it will appear as a normal 
block (#1).


Basic block #5
--------------

This brick-wall alike block needs several hits. It does however break
neighbour-bricks when hit. The intensity of this domino effect depends
on the number of stars that a player has collected.


From poing 3 on, more blocks are introduced. They can be selected from
witihin the editor by pressing Tab, followed by the appropriate letter.
Note the new special-block help list in the bottom of the screen (you 
still have to use the keyboard for data entry).


Special block #1 - Mobile Block (Tab-A)
---------------------------------------

This block will move depending on the side on which is was hit. If it 
can't move any further it will explode.


Special block #2 - Ball Trap (Tab-B)
------------------------------------

This block temporarily holds a ball and relaunches it in a random 
direction. If there are other balls in play the ball will be kept
and score a bonus for as long as it's held.


Special block #3 - Accelerate (Tab-C)
-------------------------------------

This block temporarily accelerates the ball. 


Special block #4 - Potential Accelerate (Tab-D)
-----------------------------------------------

This is the potential version of special block #3. Potential blocks
don't appear until an entire group has gone. Potential blocks can be
identified in the editor screen by having a darker bottom half.


Special block #5 - SwapXY (Tab-E)
---------------------------------

This block swaps the X-speed of a ball with it's Y-speed, effectively
modifying the ball direction by a 45 degree angle.


Special block #6 - Potential SwapXY (Tab-F)
-------------------------------------------

Potential version of #5.


Special block #7 - Diamond (Tab-G)
----------------------------------

Diamonds are the only 'move-through' blocks. They score both a bonus 
and a direct score.


Special block #8 - Potential Diamond (Tab-H)
--------------------------------------------

Potential version of #7.


Special block #9 - Expander (Tab-I)
-----------------------------------

When hit, this block expands diagonal in 4 normal (Basic type #1) blocks.


Special block #10 - Closed Trap (Tab-J)
---------------------------------------

This is a closed-balltrap block. Used internally, although it may serve
as an indestructable wall.


Special block #11 - Indestructable (Tab-K)
------------------------------------------

This block can only be killed by sparkles from nearby explosions. This
block itself explodes, usually generating a snowball effect.


Special block #12 - Power Bounce (Tab-L)
----------------------------------------

Accelerates and bounces the ball back in a random direction.


Special block #13 - Potential Power Bounce (Tab-M)
--------------------------------------------------

Potential version of #12.


Special block #14 - Potential Balltrap (Tab-N)
----------------------------------------------

Potential version of #2.


Special block #15 - Potential Expander (Tab-O)
----------------------------------------------

Potential version of #9.


Special block #16 - Potential Invisible block (Tab-P)
-----------------------------------------------------

Potential version of basic block #4.


Special block #17 - Potential Mobile block (Tab-Q)
-----------------------------------------------------

Potential version of #1.


Special block #18 - Potential Brick block (Tab-R)
-------------------------------------------------

Potential version of basic block #5.


Special block #19 - One-way block (Tab-S)
-----------------------------------------

Can only be killed by being hit from the right side.


Special block #20 - Magnet (Tab-T)
----------------------------------

This block attracts the ball. Upto 8 magnets may be defined per level.


Special block #21 - Bomb (Tab-U)
--------------------------------

Explodes heavily when hit. Can usually be found near 'indestructable' 
blocks (#11).


Special block #22 - Teleporter (Tab-W)   (v6.00)
--------------------------------------

Moves from one teleporter to the other. Teleporters should be defined
in pairs: no more or less than two of the same type should be placed
in a given level. Teleporters are of the same type if:
   - the colors match
   - the group to which they belong match

You should be careful to not place corresponding teleporters too close 
to each other, or they may loop. There is some randomizing of the ball
angle with teleporters to prevent systematic loops. Still, about 5 or 6 
blocks distance between teleporters is a recomended minimum.

Also, don't enclose a (target) teleporter on it's 4 orthogonal sides
with bricks or walls. This will in practise loose you a ball. In the
current version anyway.



Special block #23 - Shoot Left (Tab-X)   (v6.00)
--------------------------------------

Accelerates heavily in a straight horizontal line towards the left.



Still reading this? On to the @{" Advanced Editor Options " link adved }.

@endnode

@node indes "A note about indestructable blocks"

Do not place indestructable blocks in the rightmost part of the 
playfield, because a degraded ball can easily get trapped there.

Poing 6 will recover from this situation, but I will still call it
a leveldesign fault, unless it is ment as a special effect :-)

Indestructable blocks can also produce seemingly endless 
situations, for example when an Y-option is hit. The game engine
however detects such loops after some time, and will respond with
a new random ball angle in such cases. 


@endnode

@node adved "Advanced Editor Options"

Pressing 'O' within the editor screen takes you to the option menu:


 @{"1. Global visual settings " link edopt1}
 @{"2. Game visual settings " link edopt2}
 @{"3. Game functional settings " link edopt3}
 @{"4. Text " link edopt4}

 @{"F. Font Test " link FontTest}

 @{"M. More... " link moremenu}


@endnode

@node edopt1 "Global Visual Settings"

You find color and font settings here. Colors apply mostly to the 
titlescreen and are pretty self explanatory. 

Click here for an explanation of the @{" fonts " link fonts}.

As with all/most menus, the data-entry is in hex. Numpad 8 and 2 move
the cursor up and down. Numpad 6 and 4 increment/decrement the value
by 1. You can also enter a 2-digit hex number manually. If this doesn't
work you probably have the CapcLock enabled ;)

Values of 00 will result in internal hardcoded values. Some of these 
factory setting may change in a future version, so don't rely on them 
for sure.

@endnode

@node fonts "Fonts"

The following fonts are available:

 01   The Poing 4 font.

 02   The original Poing 1..3 font. Thin and square.

 03   Bold, with 'tech-digits'.

 04   Newstyle poing6 font. This used to be an unattractive italic font.


@endnode

@node fonttest "Font Test"

The Font Test displays the internal fonts. FYI.

@endnode

@node edopt2 "Game Visual Settings"

 Score Digit Font
    Font used for numeric data.

 Score Label Font
    Font used for "1UP", "BONUS" etc.

 Info Display Font
    Font used for the animated info display.

 Info Display Mode
    01   Poing 4 mode: double height horizontal bar display.
    02   Poing 5 mode: double height solid display.
    03   Poing 1 mode: single height.
    04   Double width/height with grid.      (v5.20)
    05   Double width/height without grid.   (v5.20)

 Layout  (v5.20)
   upper nibble
      0  Normal eyes position.
      1  Wide eyes position. You must set this mode when using a double-width
         info-display mode. 

         If this option is enabled you'll need to set alternative level/stage
         markesrs as well (see below).

   lower nibble
      0   Standard level/stage markers position.
      1   Alternative level/stage markers position. You must set this mode 
          when using a double-width info-display mode.

 Hurry Up Time  (v5.20)
    Defines the time (in seconds) before the first hurry-up message appears. 
    A value of 0 disables the hurry-up messages.

 Hurry Up Repeat Time  (v5.20)
    Defines the time (in seconds) for succesive hurry up messages.    

@endnode

@node edopt3 "Game Functional Settings"

 Levels Per Stage
    Since Poing 5 selectable from 1 upto 8.

 Number Of Stages
    Since Poing 5 selectable from 1 upto 8.

 Stage Bonus Value
    This is a tricky hexadecimal/bcd value. Treat this value as a
    'binary coded decimal value', with the addition that the leftmost
    digit may be above 9. Multiply the result by 10 and you have the
    stage bonus value :)

    Examples:

    01 -> 10
    0A -> Illegal!
    12 -> 120
    A2 -> 1020
    F9 -> 1590, the maximum bonus value. 

 Level Randomizer Method.
    Selects whether the shuffle is global, i.e. applies to all levels,
    or apllies only to the levels played so far.

       00   Global
       01   Up to played

 XB Challenge Mode  (v5.20)
    Determines in which way the gamble at the end of the game behaves:

       00   Random order.
       01   In sequence.

@endnode

@node edopt4 "Text"

 LEVEL NAME
    Specifies the name for this levelset. This will be displayed on 
    the titlescreen.

 AUTHOR
    Specifies the name of the levelset author.  This will be displayed
    on the titlescreen.

@endnode

@node mainmenu "Main Menu"

Main Menu Options


 S - Starts the game.

 R - Randomizes the levels, then starts the game. 
     Note: this randomizing is permanent. If you play a normal after
     a random game, the levels will be in the last played order.

 O - @{ "Options " link mainopts}.

 E - @{" Editor " link editor}. You need a valid keyfile for this else no go.

 1 - Highscore table for skill level 1.

 2 - Highscore table for skill level 2.

 3 - Highscore table for skill level 3.

 4 - Highscore table for skill level 4.

 5 - Highscore table for skill level 5.

 6 - Block types info.

 7 - Option blocks info.

 8 - Human vs computer score history. The computer will adjust its skill
     according to this table!

 Q - Quit program.

@endnode

@node moremenu "More..."

The more menu currently contains a single option:

 @{"#. Generate New Highscore Key " link genkey}

@endnode

@node genkey "Generate New Highscore Key"

The Generate New Highscore Key option assigns a new unique key to
the levelset. This key is recorded in the highscore file(s) as 
well, as a verification that a given highscorefile indeed belongs
to a given levelset. This eliminates the possibility of cheating
by playing an easy levelset, and renaming the scorefile afterwards
to be used by another levelset.

There are three reasons why you might want to regenerate this key:

  - You have created a levelset in poing 5. Such levelsets do
    not contain a key.

  - You have written a levelset that is based on a copy of another 
    levelset.

  - You have a levelset which has been modified drastically enough
    (probably with different score value settings) to justify the
    need of declaring existing highscorefiles invalid.

@endnode

@node scexbal "Extra Balls"

Before poing 6, an extra ball was rewarded every 20,000 points. This could
sometimes lead to situations where you (or usually the droid :)) ended up
with 7 balls, and the challenge was basicly gone. In random game mode,
the game tended to get *easier* the further you played, because there
are usually more rewarding option blocks in the later levels.

To compensate, it now increasingly gets harder to score an extra ball.
After every 3 extra balls earned, the gap to score the next extra
ball widens by 10,000 points. Thus, extra balls are rewarded at:

   20,000; 40,000; 60,000 points. 

   Then at:

   90,000; 120,000; 150,000 points.

   Then at:

   190,000; 230,000; 270,000 points.

   Etc.

@endnode

@node mainopts "Main Options"

Main Options


 M - Mode. Cycles through one player, two player and squash mode.

 A - Player 1 skill. Basicly defines the initial speed. Setting ranges
     from 1 to 5.

 B - Player 2 skill.

 1 - Player 1 control. Mouse or computer controlled.

 2 - Player 2 control.

 P - Player 1 mouse: port 1 or 2.

 Q - Player 2 mouse.

 Space, Enter or Esc to leave this menu.

@endnode

@node feedback "Feedback"

Feedback/support (note the change in email/web address):

   Paul van der Valk
   @{i}falcon@casema.net@{ui}
   @{i}http://www.casema.net/~falcon@{ui}


@endnode

@node history "History"

* 21-feb-98   Poing 6.02

 - Fixed two minor bugs:

     * Mousebutton events are cleared before serving. It is no more
       possible to have a 'spontanious' serve if you have been playing
       with the mousebuttons before the serving starts.

     * In v6.00, IF squash mode is selected AND one player is mouse
       controlled AND one player is computer controlled AND the
       computer player is the one to make it to the next level THEN
       the computer controlled player was controlled for 1 turn by mouse.
       This is fixed in this version.

 - The highscore competition is now official. You can send in highscore
   files (see @{" feedback " link feedback}) and compete with the world!


* 13-feb-98   Poing 6.00
  - @{" Summary " link flux_6_00}

* 10-dec-97   Poing 5.20
  - @{" Summary " link flux_5_20}

* 17-aug-97   Poing 5.02
  - @{" Summary " link flux_5_02}

* 14-aug-97   Poing 5.00
  - @{" Summary " link flux_5 }

* 01-jan-97   Poing 4

* 14-jan-95   Poing 3

* 03-dec-94   Poing 2.2

* 15-oct-94   Poing 2.1

* 13-feb-94   Poing 2.0

* ??-???-92   Poing 1

@endnode
