File formats
http://psoup.math.wisc.edu/mcell/ca_files_formats.html


From http://www.ibiblio.org/lifepatterns/life105.html

This document is especially written for anyone who is writing a Life program that reads the patterns in the lifep.zip collection. Note that while it is easy to read Life 1.05 formatted files, it is difficult when writing the files to choose appropriate cell blocks. Life 1.05 therefore does not make an easy output file format, except for small patterns.

Details of the Life 1.05 file format:

The extension should be ".lif".

The first line always identifies the kind of format it uses, for compatibility purposes:

#Life 1.05

where 1.05 is the current format version number. A lower number is acceptable, and a higher number means that something may be outside these specifications. 1.05 is the latest.

The "#Life" line is followed by optional description lines, which begin with "#D" and are followed by no more than 78 characters of text. Leading and trailing spaces are ignored, so the following two "#D" lines are equivalent:

#D This is a Description line
#D    This is a Description line   

There should be no more than 22 "#D" lines in a .lif file.

Next comes an optional rule specification. If no rules are specified, then the pattern will run with whatever rules the Life program is currently set to. The patterns in the collection here enforce "Normal" Conway rules using the "#N" specifier. Alternate rules use "#R" ("#N" is exactly the same as "#R 23/3").

Rules are encoded as Survival/Birth, each list being a string of digits representing neighbor counts. Since there are exactly eight possible neighbors in a Conway-like rule, there is no need to separate the digits, and "9" is invalid in both lists.

For example,

#R 125/36

means that the pattern should be run in a universe where 1, 2, or 5 neighbors are necessary for a cell's survival, and 3 or 6 neighbors allows a cell to come alive.

Next come the cell blocks. Each cell block begins with a "#P" line, followed by "x y" coordinates of the upper-left hand corner of the block, assuming that 0 0 is the center of the current window to the Life universe.

This is followed by lines that draw out the pattern in a visual way, using the "." and "*" characters (off, on). Each line must be between 1 and 80 characters wide, inclusive; therefore, a blank line is represented by a single dot, whereas any other line may truncate all dots to the right of the last "*". There is no limit to the number of lines in a cell block.

Any line of zero length (just another carriage return) is completely ignored. Carriage returns are MSDOS-style (both 10 and 13).

About Xlife compatibility:

Xlife recognizes the symbol "#C" for a comment, instead of "#D". The default extension is ".life" instead of ".lif". Wlife (a port of Xlife for Microsoft Windows 3.1) does not have these compatibility problems. 



*************************************************************************
from http://groups.google.com/group/comp.theory.cell-automata/tree/browse_frm/month/1998-12/4b4bce2fd9a7a90d?rnum=1&_done=%2Fgroup%2Fcomp.theory.cell-automata%2Fbrowse_frm%2Fmonth%2F1998-12%3F
=== extract from Biglife documentation ===

Biglife supports the following section formats, X, L or XL indicates
that the format is used by Xlife3, Life16 or both:

#A                          X  absolute coordinates
#B name                     X  begin block
#C text                     X  comment
#D text                      L description
#E                          X  end block
#I name x y rot flip delay  X  include section
#Life version                L Life16 version
#N name                     X  pattern name
#N                           L ? found after #D before #P
#O text                     X  originator
#P [x y]                    XL picture  
#R [x y]                    X  relative co-ordinates
#R [s]n*/[b]n*               L rule as survive/birth counts

Section descriptions:

#A -- Absolute. The header is followed by lines consisting of a pair
of
numbers that specify absolute (x,y) coordinates. For example, a row of
three cells centred on (10,10) would appear as:

#A
9 10
10 10
11 10

#R -- Relative (in Xlife3). Like absolute but with an offset specified
on the header line. If the offset is omitted it is taken to be 0 0.
The same row of three cells could be specified as:

#R 10 10
-1 0
0 0
1 0

#R -- Rule (in Life16). The rest of the line consists of two sets of
digits separated by '/'. The first set of digits are neighbour counts
for survival, the second set are neighbour counts for birth. The
standard rules would be written:

#R 23/3

The rule for 'HighLife' would be written:

#R 23/36

The two forms of #R are distinguished by the presence of the '/'.

#P -- Picture. Each following line down to a line that starts with #
or
to the end of the file is interpreted as a scan line of an image
starting at an offset specified on the header line. If the offset is
omitted it is taken to be 0 0. A '*' causes the corresponding cell to
be live, any other character leaves it alone.  Note that it does not
force the cell to be dead, the cell may have been specified as a live
cell in another section. It is conventional to use '.' because this
makes it easier to count cells without obscuring the pattern.

The leftmost column has the specified x value, with x increasing to
the right. The line starting #P has the specified y value but is not
taken as part of the picture: y increases down the file. Therefore, y
values effectively start at the specified offset plus one. (N.B. In
biglife versions 1 and 2, the line following the #P was taken to have
the specified y offset. This consistent offset did not matter unless
the input contained both #P and other pattern formats. This offset had
to be corrected for #I to work in the same way as Xlife.)

The row of three in picture format could be represented as:

#P 9 9
*** and this text would be ignored
and this is equivalent to a blank line.

#B -- Block. Start of a named block for use with #I.
#E -- End of block. End of the block named by a preceeding #B.

Sections between a #B and a #E line form a named pattern.  These are
not loaded as part of the main pattern, but may be included by the use
of #I. The pattern name follows the #B, e.g.

#B oscil
#P
..*...
.*.*..
*...**
*...**
*...**
.*.*..
..*...
#E

Pattern block definitions may not be nested. In other words, after a
#B there must be a #E before the next #B. Note that #I may occur in a
named block, and may refer to a block that contains further #Is,
provided that a block does not directly or indirectly include itself.

#I -- Include. Include a named pattern with transformation.
A #I is followed by up to 6 values as follows:

#I patname x y  rotate  flip  delay

The patname value must be given: defaults for the other values are
#I patname  0 0 0 1 0

patname - the name of the pattern to be included; this takes one of
the forms
file:pattern    the .LIF extension is added to the file name and the
                named pattern is loaded from that file.
file            as above except that the main pattern from the file is
                loaded (i.e. the one outside #B #E).
:pattern        the named pattern is loaded from the current file.

x y   - the offset at which the pattern is to be loaded; this offset
is
        applied after the other transformations. In an attempt at
        consistency with Xlife, the offset is not applied to sections
        introduced by #A. There are no examples of this usage and it
        is best avoided.

rotate- the number of clockwise quarter (i.e. 90 degree) turns to
        apply to the included pattern; this rotation is applied after
        the flip has been processed.
        Note that Y values increase down the screen so a cell at (1,0)
        will be rotated to (0,1) if the rotate value is 1 - this is
        the opposite of the usual sense of rotation in cartesian
        coordinates.

flip  - if this value is -1, the Y values in the pattern are negated,
        otherwise they are left alone. This is the first
        transformation applied to the named pattern.

delay - if the delay value is positive, then the include is delayed
        for that number of generations. In other words, the rest of
        the pattern is run for the specified number of generations
        before the included pattern is merged into it.

For example, the file SHUTTLE.LIF contains the named pattern 'oscil'
shown above, and the following three includes.

#I :oscil 12 0 0 1 0
#I still:block 21 3 0 1 4
#I still:block 1 3 0 1 19

The first include causes the pattern 'oscil' to be loaded with offset
(12,0) - it is not rotated or reflected. That pattern is then run for
four generations, and the pattern 'block' from the file STILL.LIF is
merged in with offset (21,3). The merged pattern is then run for a
further 15 generations (i.e. a total of 19 since 'oscil' was loaded)
and another copy of 'block' is merged in with offset (1,3). Since
there are no outstanding includes, the load is complete.

The file still.lif includes the following:

#B block
#P
**
**
#E

Patterns defined with #I can take a long time to load. For example,
the breeder script involves running the pattern for 965 generations
before the load is complete. This took 196 seconds (3 min 16 sec) on
my STe last time I measured it, but it is interesting to watch the
pattern being built up. All the usual controls are available during
the load.

#N -- Name of pattern (Xlife). If specified, it appears in the "About
Life..."  dialog. For example, the row of three cells:

#N blinker

Also occurs in Life1.6 files with no argument after the #D
descriptions and before the #P patterns. Purpose unknown.

#O -- Originator. Information about the person first known to have
created the pattern. The form should be: 'id "name"@machine date',
which doesn't necessarily make a lot of sense for a home computer. If
specified, this appears in the "About Life..." dialog too. If I was
going to put one of these on a file I would use something from which
you can probably deduce my Internet email address:

#O rtor "Owen Rees"@ansa.co.uk Mon 15 Mar 1993 21:00

#C -- Comment. The first three such lines are saved and appear in the
"About Life..." dialog. Use these for comments about the pattern. For
example:

#C This is a very common oscillator of period two

#D -- Description. Treated exactly the same as #C.

Any other line starting # is ignored.

For compatibility with the original Xlife format, a file consisting
only of lines with coordinate pairs will be read as a single absolute
section.
=== end of extract === 

See this for all!
http://www.mirwoj.opus.chelm.pl/ca/ca_files_formats.html


/*
 * .RLE files are ASCII text files with a one-line header,
 * and followed by a variable-length run-length encoded image.
 *
 * The header may be preceded by any number of blank lines and/or
 * comment lines beginning with a pound sign '#'.
 *
 * The header consists of several fields separated by commas,
 * and ending in a newline.
 * The first two fields are "x = nnn" and "y = nnn", (where nnn
 * is an integer) respectively specifying the pattern width and height.
 * These fields are required.
 *
 * An optional rule field, of the form "rule = Bnnn/Snnn" may follow,
 * encoding totalistic rules.  By convention, this field is required
 * a rule different from Life (B3/S23) is used.
 *
 * The data portion consists of one or more runs, terminated by
 * an exclamation mark '!'.
 * The runs are defined by a single character, preceded by an optional
 * integer repeat factor (which defaults to 1 if omitted).
 * The character may be one of the following:
 *	$	Newline
 *	b	Dead cell
 *	o	Living cell, or first living state in multi-state Life
 *	x*	Second living state in multi-state Life
 *	y*	Third living state in multi-state Life
 *	z*	Fourth living state in multi-state Life
 *	other	Unrecognized codes should be interpreted as living cells
 * (NOTE: characters marked * above are extensions used by this program,
 *  but not part of the generally accepted de-facto RLE standard;
 *  however, x, y, and z behave correctly when treated as 'other')
 * Embedded white space is ignored.
 *
 * The de-facto RLE standard adds the following additional stipulations:
 * Lines should not exceed 70 characters to avoid confusing brain-damaged
 * e-mail programs, so newlines should be added as required.
 * Newlines and other white-space may not be inserted in the middle of a
 * repeat factor, nor between a character and its repeat factor.
 * This program can, however, read files which violate these stipulations.
 *
 */



Nice site - http://pentadecathlon.com/lifenews/index.php

Fast Image in .net http://www.codeproject.com/useritems/pointerlessimageproc.asp
http://www.codeproject.com/cs/media/csharpgraphicfilters11.asp

nice screensavers http://www.codeproject.com/cpp/holsavers.asp

END OF FILE

