#pragma ident "@(#)elbowssocial.html 1.1 08/01/99 elboid.h" struct activity { char *name; /* name of activity */ unsigned char phys; /* physical demands (0-100) */ unsigned char ment; /* mental demands (0-100) */ unsigned char psyc; /* psychic demands (0-100) */ unsigned flags; /* flags */ struct activity *next; /* ptr to next */ }; /* note: "requires strength" or "requires brains" are subsumed into * the demands variables. */ /* bit definitions for activity flags */ /* Note: "requires a head" below refers to use of a head as * a manipulative organ, not a mental requirement. */ #define ARM 0x00000001 /* requires an arm */ #define ARMS 0x00000002 /* requires arms */ #define LEG 0x00000004 /* requires a leg */ #define LEGS 0x00000008 /* requires legs */ #define HAND 0x00000010 /* requires a hand */ #define HANDS 0x00000020 /* requires hands */ #define FOOT 0x00000040 /* requires a foot */ #define FEET 0x00000080 /* requires feet */ #define HEAD 0x00000100 /* requires a head */ #define VISION 0x00000200 /* requires vision */ #define HEARING 0x00000400 /* requires hearing */ #define BALANCE 0x00000800 /* requires balance */ #define WATER 0x00001000 /* involves water */ #define DANGER 0x00002000 /* involves danger */ #define BELOWGROUND 0x00010000 /* includes going below ground */ #define ABOVEGROUND 0x00020000 /* includes going above ground */ #define PROPS 0x00100000 /* props, tools, or equipment req'd */ #define CLOTHING 0x00200000 /* special clothing desirable */ #define SOLITARY 0x01000000 /* can be done alone */ #define PAIR 0x02000000 /* can by done in pairs */ #define SMALLGROUP 0x04000000 /* can be done in small groups */ #define LARGEGROUP 0x08000000 /* can be done in large groups */ #define EXPLANATION 0x10000000 /* requires explanation */ #define TRAINING 0x20000000 /* requires training to do */ #define PRACTICE 0x40000000 /* requires practice to do */ #define SIMULATION 0x80000000 /* requires simulation to do */ /* some example activity flag bits (non-PC) */ #define CHESS 0x12000000 #define SPELUNKING 0x3e112004 #define SKYDIVING 0xfc32200c #define BIKING 0x3f100a55 struct coord { char dir; /* N, E, W, or S */ unsigned char latd; /* degrees */ unsigned char latm; /* minutes */ double lats; /* seconds */ }; struct latlong { struct coord lat; /* latitude */ struct coord long; /* longitude */ }; struct addr { char *mname; /* USPS mail name */ char *name; /* real name */ char *nick; /* nick name */ char *street1; /* street address line 1 */ char *street2; /* street address line 2 */ char *city; /* city */ char *state; /* state/province */ char *postco; /* zip or postal code */ struct latlong latlong; /* latitude and longitude */ }; struct elboid { struct elboid *curso; /* current significant other list */ struct elboid *lastso; /* previous SO list */ struct elboid *friends; /* friends list */ struct elboid *enemies; /* enemies list */ unsigned ggender; /* genetic gender */ unsigned pgender; /* physical gender */ unsigned mgender; /* mental gender */ unsigned genderp; /* gender preference (sexual) */ unsigned sexuality /* sexuality */ long age; /* age (in earth solar years) */ unsigned short height; /* height (millimetres) */ unsigned short weight; /* weight (grammes) */ unsigned char skincolor; /* skin color (pantone) */ unsigned char eyecolor; /* eye color (pantone) */ unsigned char haircolor; /* hair color (pantone) */ unsigned char hairlen; /* hair length (millimetres) */ struct geek geek; /* geek code */ struct activity *hobby; /* hobby list */ unsigned homeno; /* home phone */ unsigned workno; /* work phone */ unsigned pagerno; /* pager number */ unsigned cellno; /* cellular number */ struct addr home; /* home address */ struct addr work; /* work address */ char *name; /* real life name */ char *nick; /* nickname */ char *emailp; /* email address (personal) */ char *emailw; /* email address (work) */ struct elboid *next; /* pointer to next */ }; /* gender bits (incredibly non-PC) */ #define MALE 0x01 /* male property */ #define FEMALE 0x02 /* female property */ #define NEUTER 0x00 /* neither gender property */ #define GENDERMASK 0x03 /* mask for gender bits */ #define GENITALIA 0x10 /* pertains to genitalia (vagina) */ #define SECONDARY 0x20 /* secondary characteristics (tits) */ #define DRESS 0x40 /* clothing (dress) */ #define TERTIARY 0x80 /* tertiary (baldness, body fat %) */ /* sexuality bits */ /* bits are laid out like NpNaDpDa, where: * Np is nude passive activity bits (being kissed nude) * Na is nude active activity bits (kissing nude) * Dp is dressed passive activity bits (being kissed) * Da is dressed active activity bits (kissing) */ #define LOOKING 0x01 /* doesn't squick at a glance */ #define TOUCHING 0x02 /* handholding */ #define HUGGING 0x04 /* hugging */ #define KISSING 0x08 /* kissing */ #define TONGUEKISSING 0x10 /* "french" kissing */ #define GENITAL_GENITAL 0x20 /* intercourse */ #define ORAL_GENITAL 0x40 /* cunnilingus, fellatio */ #define ANAL 0x80 /* anal intercourse, rimming */ /* macros to position sexuality bits */ #define ACTIVE(sex) (sex) #define PASSIVE(sex) (sex << 8) #define DRESSED(sex) (sex) #define NUDE(sex) (sex << 16)
Naturally, the friends in question had comments...
You left out facial hair... (just the first thing that came to mind...) Cute, though.
really bored one night, spam? :)
He must have been, or he'd have noticed that one needs a non-intrusive list for current and previous S.O.'s; many elboids have several of each at any one time, so a single pointer is insufficient, and an intrusive list would run into trouble when the lists overlap, as they so often do. Also, it would be much more useful if it were in SQL. :-)#
Yah... I bet... Now PROGRAM IT! Hee hee... Client Response SUCKS!!! Love, The completely insane...
> Subject: elboid database structure > > #include <noflame.h> That trick NEVER works!! > long age; /* age (in earth solar years) */ > unsigned char hairlen; /* hair length (millimetres) */ BZZZT!!! *My* hair is > 255 mm long, and I'm not even *close* to having the longest...
>> long age; /* age (in earth solar years) */ >> unsigned char hairlen; /* hair length (millimetres) */ > BZZZT!!! *My* hair is > 255 mm long, and I'm not even *close* to > having the longest... Obviously, "hairlen" should be a long variable.