Particle
========
+0   Pointer to particle's manager (0=free space; 1=last in the list)
     if bit0 is set, then this is the first time the particle exists
     after it has been created ==> no evolution
+4   rotation: (0-9 Xangle 10-19 Yangle 20-29 Zangle) *32 (max 32 deg)
+8   pointer to first point used for the particle   (if 0, the particle is a newborn, and +24 is meaningless)
+12  pointer to first polygon used for the particle
+16  0 -15 current X direction *2^10
     16-31 current Y direction
+20  0 -15 current Z direction
     16-31 speed               *2^9
+24  0 -1  particle type (0=triangle 1=square 2=cube)
     2 -20 Lifetime of the particle (if 0 then it's etern)
     21-31 Random component for the death (if 0 then no random death)

Particles' Manager
==================
+0   0 -15 number of live particles
    *16-31 maximum number of particles
+4  *number-of-particles' bezier curve: 0 -15 X1  16-31 Y1 *2^12
+8  *                                   0 -15 X2  16-31 Y2 *2^12
+12 *                                   0 -15 X3  16-31 Y3 *2^12
+16 *                                   0 -15 X4  16-31 Y4 *2^12
+20 *0 -18 initial frame in which manager is initialized
    *19-31 number of repetition of the curve
+24 *0 -18 final frame in which manager dies
    *19-31 maximum percentage of particles generated at one time *2^10
+28 *0 -15 maximum dimension *2^9
    *16-31 maximum speed     *2^9
+32 *dimension bezier curve: 0 -15 X1  16-31 Y1 *2^12 the dimension is general for the system (no repetition)
+36 *                        0 -15 X2  16-31 Y2 *2^12
+40 *                        0 -15 X3  16-31 Y3 *2^12
+44 *                        0 -15 X4  16-31 Y4 *2^12
+48 *speed bezier curve:     0 -15 X1  16-31 Y1 *2^12 the speed is general for the system (no repetition)
+52 *                        0 -15 X2  16-31 Y2 *2^12
+56 *                        0 -15 X3  16-31 Y3 *2^12
+60 *                        0 -15 X4  16-31 Y4 *2^12
+64 *0 -3  born shape:        0=cube  1=sphere 2=ring 3=explosion
     4     born type :        0=fixed 1=linked (for the center)
     5     born shape size:   0=fixed 1=linked (for dimcube, radius sphere, radius#1 ring)
     6     born ring radius#2:0=fixed 1=linked
     7 -8  0=no attraction 1=attracted to point 2=attracted to linked point
    *9 -10 rotation:   0=none  1=fixed  2=random
    *11    X rotation lock: 0= no rotation
    *12    Y rotation lock: 0= no rotation
    *13    Z rotation lock: 0= no rotation
    *14-15 particle type (0=triangle 1=square 2=cube)
    *16    born direction: 0=//given vector 1=radial from center
    *17-21 noise size on direction (0=none)
    *22-31 particle's colour
+68  X center coordinate or pointer to centre link point
+72  Y center coordinate or pointer to radius#1 or pointer to sphere radius or pointer to cube dimensions
+76  Z center coordinate or pointer to radius#2
+80  0 -15 radius of sphere   *2^6, or
     0 -15 height of ring     *2^6
     16-31 X cube dimension (or ring radius#2)     *2^6
+84  0 -15 Y cube dimension                        *2^6
     16-31 Z cube dimension  or 0-31 ring radius#1 *2^6 (*2^17 ring)
+88 *rotation: (0-9 Xangle 10-19 Yangle 20-29 Zangle) *32 (max 32 deg)
+92  0 -15 X direction *2^10
     16-31 Y direction
+96  0 -15 Z direction
     16    1=selected 0=unselected
     17-31 ***********
+100*initial seed
+104*current seed
+108*0 -18 maximum lifetime of a particle (0-->is etern)
    *19-29 random component in death (0-->none)
     30-31 ***********
+112*0 -9  material
    *10    1=luminous
    *11    1=flat
    *12    1=wireframe
     13-31 ***********
+116*0 -15 X wind direction *2^10
    *16-31 Y wind direction
+120*0 -15 Z wind direction
    *16-20 noise on current particle direction*31
     21-22 0=no attraction 1=attracted to point 2=attracted to linked point
     23-28 strenght of attraction (0=max)
     29-31 ***********
+124 X attractor (or link to attractor point)
+128 Y attractor
+132 Z attractor
+136-147 12 bytes generator name (!136 --> 1=posto libero   2=terminatore lista altrimenti occupato)
+148 reserved- set to 0
+152 reserved- set to 0
+156 reserved- set to 0

INIT MANAGER
============
+104=+100
zero the number of live particles
zero the points and primis areas (set terminators at the start of the areas)
reset partprimifree,partpointfree and particlefree

LOCATIONS
=========
particlestart    pointer to particles array
particlefree     first (possible) available place to create a new particle
particleend      pointer to the last location of particles array

partpointstart   pointer to particles' points array
partpointfree    first (possible) available place to create a new point
partpointend     pointer to the last location of particles' points array

partprimistart   pointer to particles' primis array
partprimifree    first (possible) available place to create a new primis
partprimiend     pointer to the last location of particles' primis array

LIMITS:
=======
65535     particles/system:                   manager!0
524287    maximum number of animation frames: particle!36; manager!20; manager!24
