r8443 - packages/trunk/xlife/debian/patches

Peter De Wachter pdewacht-guest at alioth.debian.org
Sat Nov 22 21:59:34 UTC 2008


Author: pdewacht-guest
Date: 2008-11-22 21:59:34 +0000 (Sat, 22 Nov 2008)
New Revision: 8443

Added:
   packages/trunk/xlife/debian/patches/40_lifesrc_manpage.diff
Modified:
   packages/trunk/xlife/debian/patches/20_xlife_manpage.diff
   packages/trunk/xlife/debian/patches/series
Log:
fresh manpage patches


Modified: packages/trunk/xlife/debian/patches/20_xlife_manpage.diff
===================================================================
--- packages/trunk/xlife/debian/patches/20_xlife_manpage.diff	2008-11-22 21:58:07 UTC (rev 8442)
+++ packages/trunk/xlife/debian/patches/20_xlife_manpage.diff	2008-11-22 21:59:34 UTC (rev 8443)
@@ -1,5 +1,75 @@
 --- a/xlife/xlife.man
 +++ b/xlife/xlife.man
+@@ -1,15 +1,15 @@
+ .TH Xlife 6 
+ .SH NAME
+-Xlife - the Game of Life and other cellular automata for X
++Xlife \- Game of Life and other cellular automata for X
+ .SH SYNTAX
+ .BR xlife
+-[\fB-display \fIdisp\fR] [\fB-geometry \fIgeom\fR] [\fB-bw \fIwidth\fR] [\fB-?\fR]
++[\fB\-display \fIdisp\fR] [\fB\-geometry \fIgeom\fR] [\fB\-bw \fIwidth\fR] [\fB\-?\fR]
+ .in +6
+-[\fB-rv\fR] [\fB-grid\fR \fIn\fR] [\fI\fIfile\fR]
++[\fB\-rv\fR] [\fB\-grid\fR \fIn\fR] [\fI\fIfile\fR]
+ .in -6
+ .PP
+ .BR lifeconv
+-[\fB-ACDIMPRSv\fR] [-p \fIpatternfile\fR] [\fB-g\fR \fIn\fR] \fIfile\fR
++[\fB\-ACDIMPRSv\fR] [\-p \fIpatternfile\fR] [\fB\-g\fR \fIn\fR] \fIfile\fR
+ .SH DESCRIPTION
+ .NXR "xlife"
+ .B xlife
+@@ -22,7 +22,7 @@
+ screen.  This window is a viewport on a universe which is effectively unbounded
+ (4.2 billion cells on a side).
+ 
+-The -geometry option sets the Xlife window size and position as per usual for
++The \-geometry option sets the Xlife window size and position as per usual for
+ X applications.
+ 
+ If an initial pattern is specified, it will be loaded and started evolving
+@@ -32,31 +32,31 @@
+ is a format-conversion utility that translates between several different
+ file formats for saving patterns.  It takes a pattern file argument and
+ writes the conversion to standard output.  Conversion options are described
+-in the LOAD FILE FORMAT section below.  The `-g' option permits you to evolve 
+-a loaded pattern for a given number of generations before saving.  The `-v'
+-option enables verbose progress messages to stanard error.  The -p option
++in the LOAD FILE FORMAT section below.  The `\-g' option permits you to evolve 
++a loaded pattern for a given number of generations before saving.  The `\-v'
++option enables verbose progress messages to stanard error.  The \-p option
+ allows you to specify a pattern list file for name matching.
+ 
+ .SH OPTIONS
+-.IP \fB-display\fR 15
++.IP \fB\-display\fR 15
+ Set the display to use; overrides the DISPLAY environment variable.
+-.IP \fB-geometry\fR 15
++.IP \fB\-geometry\fR 15
+ Set xlife's window geometry as in the Xt toolkit option.  If either
+ window size value is negative, it will be subtracted from the value
+ computed by the grabFraction, and the result used as a size.
+-.IP \fB-rv\fR 15
++.IP \fB\-rv\fR 15
+ Reverse the Life board to black on white.  Equivalent to setting the
+ \fBreverseBoard\fR resource to true.
+-.IP \fB-bw\fR 15
++.IP \fB\-bw\fR 15
+ Set the border width used for window-size calculations.  This is normally
+ zero; you may want to set it under window managers that don't create
+ frame windows themselves. Overrides the \fBborderWidth\fR resource.
+-.IP -grid
++.IP \-grid
+ Set the grid interval for the `L' command mesh; overrides the
+ \fBgridInterval\fR resource. A positive value for this option turns the
+ grid on by default; a negative one does not, but sets the interval
+ to its absolute value.
+-.IP \fB-?\fR 15
++.IP \fB\-?\fR 15
+ Emit a usage message and quit.
+ 
+ .SH COMMANDS
 @@ -191,7 +191,7 @@
  cells changed from the previous generation are shown (whether alive or dead).
  Your display mode is reset to zero by the `l' command or by selecting a
@@ -9,6 +79,59 @@
  Change tentative-display mode.  By default the tentative-pattern cells are
  displayed in normal state colors but with a bounding box.  In the alternate
  (`wireframe') mode, tentative-pattern cells are displayed as open rectangles
+@@ -317,14 +317,14 @@
+ .SS \fBA\fR -- Absolute.
+ Each following line is interpreted as an absolute (x,y) coordinate pair for a
+ cell to be put in state 1.  This format is deprecated. and should not be used
+-for new patterns.  The -A option of 
++for new patterns.  The \-A option of 
+ .B lifeconv
+ emits it.
+ 
+ .SS \fBD\fR -- Relative to the previous coordinate pair.
+ Each following line is interpreted as a (x,y) coordinate pair relative to the
+ previous one, for a cell to be put in state 1. The first is relative to the
+-current mouse postion.  The -D option of 
++current mouse postion.  The \-D option of 
+ .B lifeconv
+ emits it.
+ 
+@@ -336,7 +336,7 @@
+ character. If this is done, these will be interpreted as a pair of x and y
+ offsets, and the image section will be drawn with its upper left corner
+ displaced from the cursor position by those offsets. This facility can be used
+-to write image files that will load patterns centered on the cursor. The -R
++to write image files that will load patterns centered on the cursor. The \-R
+ option of
+ .B lifeconv
+ emits this format.
+@@ -353,7 +353,7 @@
+ position. The \fB!\fR terminates all these data. Each of the three characters
+ \fBob$\fR can be led ahead by a positive integer, not staring with a \fB0\fR,
+ which then is interpretated as the repetation of that character. Any illegal
+-character will be interpretated as \fB!\fR and terminates the scan.  The -M
++character will be interpretated as \fB!\fR and terminates the scan.  The \-M
+ option of
+ .B lifeconv
+ emits this format.
+@@ -362,7 +362,7 @@
+ Each line in the section is interpreted as a scan line of a relative image.
+ Each \fB*\fR character turns the corresponding cell on. All other characters
+ leave the corresponding cell off.  For multi-state automata, characters may
+-be digits, with '*' corresponding to 1.   The -P option of 
++be digits, with '*' corresponding to 1.   The \-P option of 
+ .B lifeconv
+ emits this format.
+ 
+@@ -399,7 +399,7 @@
+ .P
+ The include facility is useful for assembling `sampler'
+ collections of interesting patterns, as well as maintaining structured
+-representations of complex patterns.  The -I and -C options of 
++representations of complex patterns.  The \-I and \-C options of 
+ .B lifeconv
+ may be useful for collecting inclusions from multiple files into a single
+ self-contained file.
 @@ -440,14 +440,14 @@
  This line contains information on the person who wrote the file, it is written
  in the form: `id at machine date (name)', for example.
@@ -35,3 +158,85 @@
  
  .SS \fBU\ filename\fR -- Use ruleset
  Format is #U followed by a filename. This directive is ignored if Xlife is in
+@@ -809,26 +809,26 @@
+ pattern that used to reside in a single file may now be spread over several
+ files.  There may be too many to easily keep track of them.  For the user who
+ wishes only to use #I as a means of collecting a structured pattern into a
+-single file, however, the -I and -C options of `lifeconv' utility are provided.
++single file, however, the \-I and \-C options of `lifeconv' utility are provided.
+ 
+ The lifeconv utility takes a pattern name as an argument (with the same default
+ directories as in the `l' command).  It writes a file to standard output that
+ contains an equivalent version of the pattern in a different format. Usage is:
+ 
+-              lifeconv pattern [-ACDIMPRS] >destination
++              lifeconv pattern [\-ACDIMPRS] >destination
+ 
+ where destination is any valid file name (a .l extension is recommended).  The
+ option controls the format in which the destination file is written.  These
+ formats are identical to those described under the `S' (save) command,
+ except for C.
+ 
+-Either -C or -I will suffice to convert a pattern with inclusions into
++Either \-C or \-I will suffice to convert a pattern with inclusions into
+ a single-file pattern with all the inclusions resolved.  The difference
+-between them is that -I does an automatic scene analysis of the file
+-after merging all inclusions into one big picture, while -C just resolves
++between them is that \-I does an automatic scene analysis of the file
++after merging all inclusions into one big picture, while \-C just resolves
+ the inclusions textually.  The one advantage of the latter method is that it
+ preserves any pattern name and structure information present in the input
+-file: -I renames all the pattern fragments.
++file: \-I renames all the pattern fragments.
+ 
+ Try these options on any of the files written by `W' in examples 1, 2, and 3.
+ 
+@@ -891,7 +891,7 @@
+ this behavior.
+ .IP \fBborderWidth\fR 20
+ Set the border width for Xlife's windows (may be visually useful when running
+-without a window manager).  May be overridden by the -bw command-line option.
++without a window manager).  May be overridden by the \-bw command-line option.
+ .IP \fBstateColor0\fR 20
+ X color to use for displaying state 0.  There is also a \fBstateColor1\fR
+ and so forth, up to \fBstateColor\fRN where N is the maximum supported
+@@ -910,7 +910,7 @@
+ .IP \fBreverseBoard\fR 20
+ Reverse the Life board to black-on-white.  When this option is enabled and
+ "Black" and "White" are in the stateColor list, they are swapped.  Enabling
+-this is equivalent to the -rv command-line option.
++this is equivalent to the \-rv command-line option.
+ .IP \fBfalseColorMode\fR 20
+ If the value of this resource is "true", XLife when simulating a 2-state
+ automaton defaults to the false-color display mode toggled by the `*' command.
+@@ -924,7 +924,7 @@
+ .IP \fBsoupDensity\fR 20
+ Density for primordial soups generated by the `%' command.   Defaults to 30%.
+ .IP \fBgridInterval\fR 20
+-Set the grid interval for the `L' command mesh; overriden by the \fB-grid\fR
++Set the grid interval for the `L' command mesh; overriden by the \fB\-grid\fR
+ command-line option. A positive value for this option turns the grid on by
+ default; a negative one does not, but sets the interval to its absolute value.
+ .IP \fBsaveFormat\fR 20
+@@ -955,7 +955,7 @@
+ will not be refreshed. 
+ .P
+ Old files in #P format may not have same y coordinate when read by the
+-new release.  For best results, use "lifeconv -p name ..." on old files. 
++new release.  For best results, use "lifeconv \-p name ..." on old files. 
+ .P
+ The I save format does not yet detect duplicate blobs when they are rotated
+ or reflected.
+@@ -983,10 +983,10 @@
+ <esr at snark.thyrsus.com>.
+ 
+ Many new commands, subpixel resolution, M format:
+-Achim Flammenkamp <achim at mathematik.uni-bielefeld.de>.
++Achim Flammenkamp <achim at mathematik.uni\-bielefeld.de>.
+ 
+ .SH SEE ALSO   
+-lifesearch(1), lifeconv(1). 
++lifesrc(6)
+ .\"
+ .\"The following sets edit modes for GNU EMACS
+ .\"Local Variables:

Added: packages/trunk/xlife/debian/patches/40_lifesrc_manpage.diff
===================================================================
--- packages/trunk/xlife/debian/patches/40_lifesrc_manpage.diff	                        (rev 0)
+++ packages/trunk/xlife/debian/patches/40_lifesrc_manpage.diff	2008-11-22 21:59:34 UTC (rev 8443)
@@ -0,0 +1,540 @@
+--- /dev/null
++++ b/lifesrc-3.5/lifesrc.man
+@@ -0,0 +1,537 @@
++.TH lifesrc 6 "2008-11-22"
++.\" Please adjust this date whenever revising the manpage.
++.
++.SH "NAME"
++.
++lifesrc \- search for Life oscillators or spaceships
++.
++.SH "SYNOPSIS"
++.
++.B lifesrc
++\fI\-r# \-c# \-g#\fR [\fIother options\fR]
++.br
++.B lifesrc
++\fI\-l[n] file \-v# \-o# file \-d# file\fR
++.
++.SH "DESCRIPTION"
++.
++This program attempts to find Life objects which are periodic, which are
++spaceships, or which are parents of an object.
++You specify a region to search in, the number of generations of
++interest, and some initial cells.
++The program then searches for all objects which satisfy the conditions.
++The search applies transition and implication rules which restrict the number
++of possible objects considered to a small fraction of the total number.
++This makes it practical to find these objects in a reasonable amount
++of time.
++(Reasonable ranges from a few minutes to many days, depending on the size
++of the search.)
++.PP
++The algorithm used here is based on the one described by Dean
++Hickerson in his document that was included with the xlife program,
++and which is also included with this distribution.
++Reading that document will explain how the search in this program
++works, except for minor changes.
++.PP
++The program usually looks for an object which is periodic in the
++number of generations specified by the \-g option.
++For example, use \-g3 to look for period 3 oscillators or spaceships.
++The program is pretty fast for period 2, satisfactory for period 3,
++long for period 4, and very long for period 5.
++.PP
++By default, the program only finds objects which have the full period
++specified by the \-g option.
++Objects having subperiods of the full period are skipped.
++For example, when using \-g4, all stable objects or period 2
++oscillators will not be found.
++The \-a command line option disables this skipping, thus finding all
++objects, even those with subperiods.
++You probably want to use \-a if you use any of the \-tr, \-tc, or \-p
++options.
++.PP
++The object is limited to the number of rows and columns specified by
++the \-r and \-c options.
++Cells outside of this boundary are assumed OFF.
++Thus if any generation of the object would expand out of the box, then
++the object will not be found.
++The program finds things quicker for a smaller number of rows and
++columns.
++Searching proceeds from left to right column by column, and within a
++column from middle to edge.
++It is quicker to search when there are less rows than columns.
++.PP
++The three command line options \-r, \-c, and \-g are always required
++(unless you are continuing a search using \-l or \-ln).
++If you do not specify these options, or give them illegal arguments, a
++brief message will be output and the program will exit.
++All other options are truly optional.
++.PP
++If you want to find a symmetric object, then use the \-sr or \-sc
++options.
++The \-sr option enforces symmetry around the middle row if the number
++of rows is odd, or the middle two rows if the number of rows is even.
++The \-sc option does the same thing for columns.
++You can specify both options to look for fourfold symmetry.
++These options will speed up the search since fewer cells need
++examining, but of course will miss all unsymmetric objects.
++If you give a numeric argument to these options, then the symmetry
++will only apply from the specified row or column.
++For example, using \-sr10 means force symmetry only from column 10
++onwards.
++.PP
++Other forms of symmetry can be specified by \-sp, \-sf, or \-sb.
++Using \-sp forces symmetry around the central point of the search
++area.
++Using \-sf forces symmetry around the forwards diagonal (/) of the
++search area.
++Using \-sb forces symmetry around the backwards diagonal (\) of the
++search area.
++When using \-sf or \-sb, the number of rows and columns must be the
++same.
++These options don't accept any numeric argument.
++.PP
++Another way to speed up the search is to use the \-mt option to limit
++the total number of ON cells in generation 0.
++This will of course miss any objects which have too many cells.
++.PP
++Another way to speed up the search is to use the \-mc option to limit
++the number of ON cells in any column in generation 0.
++For example, using \-mc5 means skip over all objects which have more
++than 5 cells in any column.
++Cells initially set before the search begins are not subject to this
++restriction.
++.PP
++Another way to speed up the search is to the use \-wc option to limit the
++width of each column.
++The width of a column is the distance from the first ON cell in the
++column to the last ON cell in that column plus 1.
++For example, using \-wc5 means that for each column, the topmost and
++the bottommost ON cell in each column must occupy the ends of 5 or
++less adjacent cells.
++The difference between this option and the \-mc option is that using
++\-mc restricts the number of cells in a column, but still allows them
++to appear anywhere within the column, whereas this option forces the
++cells to be near each other in the column.
++This option is therefore good for looking for objects which are thin,
++but which wander over many rows.
++If the \-sr or \-fr options are used, the meaning of \-wc is modified
++for the affected columns so that the width limit is applied to the top
++and bottom halves of the column independently.
++Therefore an object which splits into upper and lower halves which are
++both thin can be searched for.
++Cells initially set before the search begins are not affected by the
++\-wc restriction.
++.PP
++Another way to speed up the search is to use the \-nc option to force
++cells to be near the cells in previous columns.
++This option takes the number of cells up, down, and leftwards from the
++current cell to check.
++Thus a cell can only be ON if there is another ON cell within the
++specified distance in a previous column.
++For example, using \-nc1 forces cells to be connected to cells in the
++previous column, whereas \-nc2 forces cells to be near enough to cells
++in the previous two columns to probably immediately affect each other.
++Cells in column 1 are not affected by this check, nor are cells
++initially set before the search begins.
++.PP
++Another way to speed up the search is to use the 'f' command to
++specify cells which are "frozen".
++Frozen cells can be either ON or OFF, but their value cannot change,
++so that the cell will have the same value in all generations.
++This is useful to look for "billiard table" areas surrounding volatile
++regions.
++.PP
++The final way to speed up the search is to use the \-f option to
++change the order of setting ON cells in a column.
++Normally, cells are set from the middle row outwards.
++But when using this option, cells are set first from the row nearest
++the average position of the ON cells in the nearest previous column
++which has any ON cells.
++This option thus makes it easier to find wandering objects in a large
++area, without eliminating any possibilities.
++A failed search will be no faster using this option, but a successful
++search may be quicker.
++.PP
++By default, the program tries cells that are OFF first.
++The \-fg option changes this so that a cell tries to be ON if the
++previous or next generation is ON, and to be OFF otherwise.
++This is useful when looking for mostly stable objects.
++.PP
++By default, the program looks for purely periodic objects.
++To find a spaceship, you must use the \-tr or \-tc options to specify
++a translation.
++This makes generation N\-1 shift right or down by the specified number
++of cells in order to become generation 0.
++Thus this finds spaceships which move leftwards or upwards.
++Use \-tc to translate columns (thus making horizontal ships), and \-tr
++to translate rows (thus making vertical ships), or a combination (thus
++making diagonal spaceships).
++The slowest ship for any period uses a translation of 1, as for
++example \-tc1.
++Remember that the fastest horizontal speed is C/2 and the fastest
++diagonal speed is C/4, so that for example, using \-tc2 for a period 3
++spaceship will find nothing.
++You can specify negative translations if convenient.
++.PP
++You can also change the mapping between generation N\-1 and generation
++0 by using the \-fr, \-fc, or \-fq options.
++These flip the cells around the middle row, the middle column, or by a
++90 degrees rotation around the center.
++By flipping rows or columns, you can search for objects which have
++actual periods of 2N instead of just N, and which flip over.
++By flipping quadrants, you can look for objects with actual periods of
++4N instead of just N, and which rotate.
++The \-fr and \-tc options can be used together, and \-fc and \-tr can
++also be used together.
++This allows searching for spaceships with glide symmetry.
++For \-fq, the number of rows and columns must be the same.
++Using \-fr and \-fc together provides flipping around the central
++point.
++.PP
++By default, the program looks for objects such that generation N\-1
++implies generation 0, so that periodic objects can be found.
++The \-p command line option disables this circular dependency, so that
++generation 0 has no past and generation N\-1 has no future.
++This enables you to search for the parents of any object you desire.
++Commonly you specify \-g2 with this option, to look only one
++generation back.
++To look for parents of an object, you specify the cells of the object
++in generation N\-1, and leave the earlier generations unknown.
++The 'c' command is useful with this option to completely specify the
++last generation (see below).
++.PP
++By default, the program makes sure that every cell in the rectangular
++area is consistent.
++That is, all objects found are sure to correctly work in an infinite
++area according to the Life rules.
++But it is possible to remove this guarantee of consistency for a
++selected area of the search area.
++The reason this might be useful is that this allows searching for
++puffers.
++Puffers move like spaceships, but leave debris behind.
++Such objects cannot be found by default because the debris is not
++periodic, and thus the ship creating it will not be found.
++By allowing some cells at the back of an object to remain unchecked,
++then the search might find an object which is actually a puffer.
++There is no guarantee about this result, however, and commonly the
++unchecked area will destroy the ship completely.
++To maximize the chances of finding a puffer, you can set ON cells
++adjacent to the unchecked area to create something in that area, and
++otherwise surround the unchecked area with several layers of OFF cells
++to protect the rest of the ship from its influence.
++Finally, in a later generation, you can set the cells that were ON to
++be OFF, to guarantee that the object found will separate into two
++parts.
++You might also have to scatter some OFF cells on the edges of the the
++unchecked area to prevent long rows of ON cells there from affecting
++the search result.
++.PP
++Another use of unchecked cells is to enable searching from a fragment
++of an object.
++For example, when looking for a tagalong to a large ship, you don't
++have to have the complete ship involved in the search.
++Instead, you only initialize the search area with the small area where
++you want the tagalong to grow from.
++When doing this, make sure you specify enough cells of the ship to
++prevent wrong results.
++For example, with a period 3 ship it is probably a good idea to
++provide a 4 cell thick area of known cells around the location to
++attach the tagalong to.
++.PP
++Another use of unchecked cells occurs when an object splits into two
++pieces.
++You can temporarily ignore one half of the object by setting it to be
++unchecked, and concentrate the search on the other half, which can
++then be much more practical.
++Then after finding that half, you can go back and search for the first
++half.
++Once again, it is good to buffer the unknown area with layers of known
++ON or OFF cells to prevent unanticipated reactions between the areas.
++.PP
++Unchecked cells are not set on the command line, but are set either
++when reading in an initial object, or else manually.
++.PP
++By default the search program looks for objects using the standard
++Life rule of 3 live neighbors to be born, and 2 or 3 live neighbors to
++stay alive.
++You can change the Life rule to look for objects in other universes by
++using the \-R command line option.
++It accepts two sets of digits separated by a slash or comma character.
++The first set of digits is the number of live neighbors for birth.
++The second set of digits is the number of live neighbors for staying
++alive.
++For example, \-R3/23 specifies the default Life rule.
++You can also label these numbers using the 'B' and 'S' letters, as in
++\-RB3/S23.
++An alternative method of specifying the rules is to use Wolfram
++format, which uses a hex number.
++In the number, every pair of bits from the rightmost bit specifies
++birth and life for a certain number of neighbors, with zero neighbors
++being the rightmost two bits.
++As an example, specifying \-R8c8 is the same as specifying \-R3/135.
++.PP
++The search program is always in one of two modes.
++It is either in command mode, or in search mode.
++When first started, it is in command mode.
++Command mode is indicated by the presence of a "> " prompt.
++When in command mode, you can enter commands to the program, one per
++line.
++To leave command mode and begin searching, you simply enter a blank
++line.
++You can get back to command mode again by generating the SIGINT
++signal.
++When this is done, the program will stop searching at a convenient
++place, display the latest status of the search, and read commands
++again.
++Do not forget to later type the blank line to continue searching
++again!
++.PP
++When first started, you may wish to specify the state of some cells to
++guide the search.
++You can specify that any cell in any generation should be either ON or
++OFF.
++Cells that you do not specify remain unknown.
++As an example, if you were looking for a period 3 oscillator, you
++might want to specify the middle cell as being ON in generation 0, and
++OFF in generation 1.
++This would force period 3 behavior.
++Note that when you specify cells, the state specified is permanent.
++The program will not reverse your settings, and therefore can not find
++any objects which do not match your settings.
++Also note that settings unfortunately cannot be corrected, so if you
++set the wrong cell by mistake, you must leave the program and start
++again.
++.PP
++To specify a cell, you use the 's' command when in command mode.
++This command takes 2 or 3 arguments.
++The first two arguments are the row and column numbers of the cell to
++set.
++The third number is either 1 for setting the cell ON, or 0 for setting
++the cell OFF.
++If the third number is omitted, then ON is assumed.
++The cell is always set in the current generation, which is the one
++last displayed.
++If necessary, you use the 'n' or 'p' commands to change the current
++generation to the desired one before using the 's' command.
++For example, if the currently displayed generation is generation 0,
++entering "s 5 6" would set the cell at row 5 column 6 of generation 0
++to ON, whereas "s 2 7 0" would set the cell at row 2 column 7 to OFF.
++As a shortcut, you can omit the 's' letter, so that the command "5 6"
++would set the cell at row 5 column 6 ON.
++If you are using any of the options for symmetry, you don't have to
++enter the symmetric cells since the program does that for you.
++.PP
++If you want to specify unchecked cells, then you can use the 'x'
++command.
++This command takes either one pair of numbers for a single cell, or
++else two pairs of numbers for selection the corners of a rectangular
++area to be unchecked.
++Setting cells as ON or OFF later will override this setting.
++.PP
++You can use the \-i or \-in options to input the initial settings for
++either generation 0 or the last generation instead of typing in their
++coordinates manually as above.
++The setting is normally for generation 0, but if the \-p option was
++also used, then the setting is for the last generation.
++The specified file contains a picture of the cells, with 'O' or '*'
++indicating ON, '.' indicating OFF, '?' indicating unknown, and 'X'
++indicating unchecked.
++If you use \-i, then only the ON and unchecked cells are set, making
++the OFF cells stay unknown.
++If you use \-i, then both ON and OFF cells are set, whereas using \-in
++will only set the ON cells.
++You can still specify additional cells after the ones in the file have
++been read.
++.PP
++The 'c' command is used to set all currently unknown cells in a
++rectangular area of the current generation to the OFF state.
++If no arguments are specified, then (after confirmation) all unknown
++cells are set to the OFF state.
++This is useful when searching for parents of an object that you have
++entered, and you know exactly what the object in the last generation
++looks like.
++Alternatively, the 'c' command can accept four numeric arguments,
++which are the beginning row and column numbers, and ending row and
++column numbers of a rectangular area to be cleared.
++All unknown cells in that specified area are set to the OFF state.
++No confirmation is required in this case.
++.PP
++The 'cg' command works just like the 'c' command, except that it
++clears the specified cells in all generations, not just the current
++generation.
++.PP
++The 'f' command is used for setting frozen cells.
++It accepts either one row and column number to set just one cell, or a
++pair of row and column numbers to set a rectangular region.
++.PP
++Just before entering command mode, or occasionally if automatic
++viewing is enabled, the program will display the current status of the
++search.
++Cells marked as 'O' are ON, cells marked as '.' are OFF, and cells
++marked as '?' are currently unknown.
++Cells where have been excluded from the search are marked as 'X', and
++cells which are frozen are marked as '+'.
++(Excluded or frozen cell are not shown if the cell is ON or OFF.)
++The generation number and the number of ON cells are also given, along
++with some of the command line options that were used to start the
++program.
++If the \-o option is used to save results, then following the file
++name in the status line will optionally be a number in square
++brackets, as in "\-o file [2]".
++If this appears, than this is the number of successful results which
++have been saved in the file.
++If this does not appear, then the search has not yet succeeded.
++This count does not include partial results saved in the file.
++.PP
++If you don't like to keep hitting interrupt in order to see the
++progress of a search, you can tell the program to automatically
++display the object every so often.
++This is done either with the \-v command line option, or the 'v'
++command.
++The numeric argument is how many thousand search iterations to perform
++between displays.
++As an example, the command line option \-v1 displays about every 5
++seconds for a 20MHz 386.
++.PP
++Normally if the program finds something, it will display the object and
++wait for commands.
++At this point you can write out the object if desired.
++Typing 'N' will continue looking for further objects which work.
++If you specified the \-a command line option, then the 'N' command
++will be needed immediately after starting a search with no initial
++settings, since the state of all OFF cells obviously satisfies all
++conditions.
++.PP
++However, if you specify the \-o option on the command line, the
++program will NOT stop when it finds an object.
++Instead, it will append the found object to the specified file name,
++and automatically keep looking for further objects which work.
++The objects stored in the output file are separated with blank lines.
++When no more objects have been found, the program will print a final
++status message and exit.
++.PP
++You can also specify a numeric argument to the \-o option, which also
++dumps partial results to the file.
++What this means is that every time the search successfully progresses
++to any multiple of the indicated number of columns, then the current
++object is written to the file.
++If the search then fails, and the number of successful columns falls
++again (very common), then when a new pattern is found which again
++becomes successful enough, then that pattern will then be saved too.
++Doing this records near misses during the search, which you can later
++examine and use as input for further searches with less constraints.
++As an example, using "\-o8 file" saves partial results every 8
++successful columns.
++When you examine the file, you can distinguish the successes from
++failures because the failures will have question marks in the object.
++.PP
++When stopped, the 'b' command can be used to back up the search.
++Backing up means that the most recent choice of a cell is reversed.
++Doing this will avoid searching through a whole set of possibilities
++(thus possibly missing something).
++Backing up is useful when you definitely want to skip searching on a
++path which you know is useless.
++The 'b' command takes an argument, which is the number of levels to be
++backed up.
++Because this command is irreversible, it always requires a numeric
++argument.
++.PP
++The following is a summary of all the commands available.
++The 's' command sets cells and has already been described above.
++The 'n' command displays the next generation of the current object,
++and will wrap around from the last generation back to generation 0.
++The 'p' command displays the previous generation, also wrapping
++around.
++The 'w' command writes out a picture of the current generation out to
++the specified file.
++The 'd' command dumps the state of the search out to the specified
++file (see below).
++The 'N' command will continue searching for the next object after an
++object has been found.
++The 'v' option specifies the frequency of automatic viewing.
++The 'c' command turns some unknown cells in the current generation OFF.
++The 'b' option backs up the search.
++The 'x' command sets cells as being unchecked.
++Finally, the 'q' command quits the program (confirmation is usually
++required).
++.PP
++Since it can take a very long time to find something (days or even
++weeks!), the current state of a search can be dumped to a file and
++read again later.
++You can explicitly dump the status to a file by using the 'd' command.
++After this has been done, you can use 'q' to quit the program.
++Then later, you can use the \-l command line option to continue
++searching.
++.PP
++More useful and safer, however, is the autodump feature of the
++program.
++Using the \-d command line option causes a dump status file to be
++automatically written after every so many search iterations.
++Thus every so often the specified file will contain the latest status
++of the search.
++Then if your machine crashes, you will not have lost days of work.
++The \-d option takes a numeric operand, which is how many thousand
++searches to perform between dumps.
++The option also takes a filename as an argument, and if it isn't
++given, defaults to "lifesrc.dmp".
++As an example, the option "\-d100 foo" results in automatically
++dumping status about every 10 minutes to the file "foo".
++.PP
++To load the dumped state that has been saved to a file, use the \-l or
++\-ln command line options.
++Since the status file contains all information about the search
++configuration, you do not need to specify the number of rows, columns,
++generations, translations, symmetries, or initial settings again.
++However, if you wish autodumps, an output file, or automatic viewing,
++then you have to specify those options again.
++.PP
++After the state has been loaded, generation 0 is displayed and either
++the program enters command mode if \-l was used, or else the search
++immediately continues where it left off if \-ln was used.
++The \-ln option is provided so that continuing the search program
++within shell scripts is easy.
++.PP
++There are two versions of the program, called lifesrc and lifesrcdumb.
++They perform the same functions, but the user interfaces are slightly
++different.
++Lifesrc uses the curses display routines to display the objects
++prettily, whereas lifesrcdumb assumes nothing fancy and just prints
++objects simply.
++.PP
++As you can see, finding something requires skill, luck, and patience.
++Since you are limiting the search by specifying a rectangle, symmetry,
++maximum cells, and initial cells, you probably have to keep varying
++these parameters in order to come across something.
++.
++.SH "EXAMPLES"
++.
++Example searches are the following:
++.TP 40
++\fBlifesrc \-r5 \-c5 \-g2 \-a\fR
++stable and period 2 oscillators
++.TP 40
++\fBlifesrc \-r10 \-c10 \-g3 \-sr \-sc \-v1\fR
++period 3 oscillator
++.TP 40
++\fBlifesrc \-r4 \-c4 \-g4 \-tr1 \-tc1\fR
++glider
++.TP 40
++\fBlifesrc \-r5 \-c7 \-g4 \-tc2\fR
++usual small spaceship
++.TP 40
++\fBlifesrc \-r5 \-c16 \-g3 \-tr1 \-v1\fR
++period 3 spaceship
++.TP 40
++\fBlifesrc \-r5 \-c5 \-g2 \-p \-a\fR
++parents of glider (needs input)
++.PP
++Enjoy searching!
++.
++.SH "AUTHOR"
++.
++David I. Bell.
++Based on an algorithm description by Dean Hickerson.
++.
++.SH "SEE ALSO"
++.
++xlife(6)

Modified: packages/trunk/xlife/debian/patches/series
===================================================================
--- packages/trunk/xlife/debian/patches/series	2008-11-22 21:58:07 UTC (rev 8442)
+++ packages/trunk/xlife/debian/patches/series	2008-11-22 21:59:34 UTC (rev 8443)
@@ -1,3 +1,4 @@
 10_fixes.diff
 20_xlife_manpage.diff
 30_wireworld.diff
+40_lifesrc_manpage.diff




More information about the Pkg-games-commits mailing list