home *** CD-ROM | disk | FTP | other *** search
- /*
- * The original copyright owners of the accompanying source code files have
- * agreed to place such code into the public domain. Accordingly, anyone
- * who receives or obtains a copy of such source code is freely entitled to
- * reproduce, use and otherwise exploit such code (including the right to
- * make derivative works), at his/her own risk and expense, without any
- * obligation or liability to the original copyright owners.
- *
- * We would appreciate (but do not require) that the following message be
- * included in any derivative works:
- *
- * "Portions of this program were developed by Peter Broadwell, Rob Myers
- * and Robin Schaufler while working in Silicon Valley."
- *
- * The accompanying source code files and related documentation materials
- * are distributed on an "AS IS" basis, without any warranties or
- * guarantees of any kind. All implied warranties, including the implied
- * warranties of merchantability and of fitness for any particular purpose,
- * are expressly disclaimed.
- */
- typedef struct {
- behavior me;
- long offsetFactor;
- } wiggler;
-
- typedef struct {
- subscr sentry;
- long angle;
- long magnitude;
- unsigned long wiggleClock;
- } wigglerVars;
-
- typedef struct {
- subscr sentry;
- point stake;
- long tether;
- unsigned long circleClock;
- long circleIncr;
- } circlerVars;
-
- typedef struct {
- subscr sentry;
- point maxvelocity;
- } swerverVars;
-
- typedef struct {
- subscr sentry;
- long inited;
- long influenced;
- rgbcolor nativeColor;
- rgbcolor importColor;
- } chameleonVars;
-
- typedef struct {
- subscr sentry;
- rgbcolor exportColor;
- } colorizerVars;
-
- typedef struct {
- behavior me;
- int surface;
- } surfaceDie;
-
- typedef struct {
- subscr sentry;
- float scaleMax;
- float scaleIncr;
- } expanderVars;
-
- typedef struct {
- subscr sentry;
- int lifeSpan; /* in tics */
- int age; /* in tics */
- } faderVars;
-
- typedef struct {
- subscr sentry;
- int frequency; /* in tics */
- int tic;
- } trailGhostVars;
-
- typedef struct {
- subscr sentry;
- unsigned int clock; /* time since subscription */
- unsigned int alarm; /* metamorphosis time */
- individual *embryo; /* metamorphize into one of these */
- } metamorphVars;
-
- typedef struct {
- subscr sentry;
- int n_girls; /* number of girls to lay */
- int n_boys; /* number of boys to lay */
- int max_population; /* for population control */
- inst *mate; /* points to mate while they share a voxel */
- } femaleVars;
-
- typedef struct {
- subscr sentry;
- int interest; /* how interested am I in finding a mate? */
- int rate; /* tics per increment in interest */
- int tics; /* tics since last change in interest */
- int min_int; /* minimum interest */
- int max_int; /* maximum interest */
- float eyescale; /* how wide his eyes get */
- unsigned flags;
- #define FOUND_THIS_TIC 01 /* found a female this tic */
- #define FOUND_LAST_TIC 02 /* found a female last tic */
- } maleVars;
-
- typedef struct {
- subscr sentry;
- int interest; /* how interested am I in finding food? */
- int rate; /* tics per increment in interest */
- int tics; /* tics since last change in interest */
- int min_int; /* minimum interest */
- int max_int; /* maximum interest */
- int cannibal; /* TRUE for cannibalistic species */
- float bubscale; /* how big a bubble he burps */
- } feederVars;
-
- typedef struct {
- subscr sentry;
- long inited;
- long influenced;
- float scalefactor;
- } wideyeVars;
-
- #define UNINITED 0 /* chameleon has not saved its native color */
- #define INITED 1 /* chameleon has saved its native color */
- #define UNINFLUENCED 2 /* chameleon has absorbed last influence */
- #define INFLUENCED 3 /* chameleon has influence pending */
-