Noble Ape
The Central Directories of the Noble Ape Simulation.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Data Structures | Macros | Functions | Variables
being.c File Reference

Historically this represented the Noble Ape but moreso now it represents the Noble Ape's interface to something external. being.c also now connects to the social, brain, body and metabolim simulations through to external simulations. More...

#include "entity.h"
#include "entity_internal.h"
#include <stdio.h>
#include <stdlib.h>
Include dependency graph for being.c:

Go to the source code of this file.

Data Structures

struct  being_draw
struct  being_from_name_loop_struct
struct  being_find_closest_struct
struct  being_find_child_struct
struct  being_find_name_struct
struct  being_listen_struct
struct  being_index_loop_struct

Macros

#define VISIBILITY_MAXIMUM   (2000)
#define VISIBILITY_SPAN   (VISIBILITY_MAXIMUM / ((15+16) >> 1))
#define WALK_ON_WATER(pz, w)   (((pz)<w) ? w : (pz))
#define GENE_SWIM(gene)   GENE_VAL_REG(gene, 9, 11, 13, 7)
#define GENE_SPEED(gene)   GENE_VAL_REG(gene, 14, 5, 12, 10)
#define GENE_STAGGER(gene)   GENE_VAL_REG(gene, 12, 14, 3, 11)
#define GENE_HILL_CLIMB(gene)   GENE_VAL_REG(gene, 4, 6, 5, 2)
#define NAMES_SURNAMES   64
#define NAMES_FIRST   256
#define FAMILY_NAME_AND_MOD   (NAMES_SURNAMES - 1)
#define FIRST_NAME_AND_MOD   (NAMES_FIRST - 1)
#define UNPACK_FAMILY_FIRST_NAME(packed_family_name)   (packed_family_name & FAMILY_NAME_AND_MOD)
#define UNPACK_FAMILY_SECOND_NAME(packed_family_name)   ((packed_family_name / NAMES_SURNAMES)&FAMILY_NAME_AND_MOD)
#define GET_NAME_FAMILY(f0, f1)   ((n_byte2)((f0&FAMILY_NAME_AND_MOD)|((f1&FAMILY_NAME_AND_MOD)*NAMES_SURNAMES)))

Functions

n_bytebeing_braincode_external (noble_being *value)
n_bytebeing_braincode_internal (noble_being *value)
void being_set_state (noble_being *value, being_state_type state)
void being_add_state (noble_being *value, being_state_type state)
n_byte2 being_state (noble_being *value)
n_byte2 being_random (noble_being *value)
n_int being_memory (noble_simulation *local, n_byte *buffer, n_uint *location, n_int memory_available)
n_int being_brainstates (noble_being *value, n_int asleep, n_byte2 *states)
void being_erase (noble_being *value)
n_byte being_honor (noble_being *value)
void being_honor_inc_dec (noble_being *inc, noble_being *dec)
void being_honor_swap (noble_being *victor, noble_being *vanquished)
n_int being_honor_compare (noble_being *first, noble_being *second)
n_byte being_posture (noble_being *value)
void being_set_posture (noble_being *value, n_byte post)
n_int being_posture_under (noble_being *value, enum posture_type post)
n_bytebeing_brain (noble_being *value)
noble_episodicbeing_episodic (noble_being *value)
noble_socialbeing_social (noble_being *value)
n_int being_location_x (noble_being *value)
n_int being_location_y (noble_being *value)
n_byte2being_location (noble_being *value)
void being_set_location (noble_being *value, n_byte2 *from)
n_byte being_speed (noble_being *value)
void being_set_speed (noble_being *value, n_byte sp)
void being_delta (noble_being *primary, noble_being *secondary, n_vect2 *delta)
n_int being_dob (noble_being *value)
void being_facing_towards (noble_being *value, n_vect2 *vector)
void being_wander (noble_being *value, n_int wander)
void being_facing_vector (noble_being *value, n_vect2 *vect, n_int divisor)
n_byte being_facing (noble_being *value)
n_geneticsbeing_genetics (noble_being *value)
n_int being_pregnant (noble_being *value)
n_geneticsbeing_fetal_genetics (noble_being *value)
n_int being_energy (noble_being *value)
n_int being_energy_less_than (noble_being *value, n_int less_than)
void being_dead (noble_being *value)
void being_living (noble_being *value)
void being_energy_delta (noble_being *value, n_int delta)
n_int being_drive (noble_being *value, enum drives_definition drive)
void being_inc_drive (noble_being *value, enum drives_definition drive)
void being_dec_drive (noble_being *value, enum drives_definition drive)
void being_reset_drive (noble_being *value, enum drives_definition drive)
n_int being_height (noble_being *value)
n_int being_mass (noble_being *value)
enum inventory_type being_carried (noble_being *value, enum BODY_INVENTORY_TYPES location)
void being_drop (noble_being *value, enum BODY_INVENTORY_TYPES location)
void being_take (noble_being *value, enum BODY_INVENTORY_TYPES location, enum inventory_type object)
void being_loop_no_thread (noble_simulation *sim, noble_being *being_not, being_loop_fn bf_func, void *data)
void being_loop (noble_simulation *sim, being_loop_fn bf_func, n_int beings_per_thread)
noble_beingbeing_from_name (noble_simulation *sim, n_string name)
 return the being array index with the given name
void being_set_select_name (noble_simulation *sim, n_string name)
n_string being_get_select_name (noble_simulation *sim)
n_byte being_los (n_land *land, noble_being *local, n_byte2 lx, n_byte2 ly)
void being_ingest_pathogen (noble_being *local, n_byte food_type)
void being_immune_transmit (noble_being *meeter_being, noble_being *met_being, n_byte transmission_type)
n_uint being_genetic_comparison (n_genetics *primary, n_genetics *secondary, n_int parse_requirements)
noble_beingbeing_find_name (noble_simulation *sim, n_byte2 first_gender, n_byte2 family)
n_uint being_affect (noble_simulation *local_sim, noble_being *local, n_byte is_positive)
n_string being_body_inventory_description (n_int index)
void being_relationship_description (n_int index, n_string description)
void being_remains_init (noble_simulation *sim)
void being_remains (noble_simulation *sim, noble_being *dead)
n_int episode_description (noble_simulation *sim, noble_being *local_being, n_int index, n_string description)
void being_unpack_family (n_byte2 name, n_byte *values)
n_byte being_first_name (noble_being *value)
void being_set_family_name (noble_being *value, n_byte first, n_byte last)
n_byte2 being_gender_name (noble_being *value)
n_byte2 being_family_name (noble_being *value)
n_int being_name_comparison (noble_being *value, n_byte2 gender_name, n_byte2 family_name)
n_byte being_family_first_name (noble_being *value)
n_byte being_family_second_name (noble_being *value)
void being_name_simple (noble_being *value, n_string str)
void being_name_byte2 (n_byte2 first, n_byte2 family, n_string name)
void being_state_description (n_byte2 state, n_string result)
void being_move (noble_being *local, n_int rel_vel, n_byte kind)
void being_change_selected (noble_simulation *sim, n_byte forwards)
n_byte being_awake (noble_simulation *sim, noble_being *local)
void being_cycle_universal (noble_simulation *sim, noble_being *local, n_byte awake)
void being_listen (noble_simulation *local_sim, noble_being *local_being, void *data)
void being_index_loop (noble_simulation *local_sim, noble_being *local_being, void *data)
n_int being_index (noble_simulation *sim, noble_being *local)
void being_cycle_awake (noble_simulation *sim, noble_being *local)
void being_init_braincode (noble_being *local, noble_being *other, n_byte friend_foe, n_byte internal)
n_int being_init (n_land *land, noble_being *beings, n_int number, noble_being *local, noble_being *mother, n_byte2 *random_factor)
void being_tidy_loop (noble_simulation *local_sim, noble_being *local_being, void *data)
void being_recalibrate_honor_loop (noble_simulation *local, noble_being *value, void *data)
n_int being_remove_internal (void)
void being_remove_external_set (n_int value)
void being_remove_loop1 (noble_simulation *local_sim, noble_being *local_being, void *data)
void being_remove_loop2 (noble_simulation *local_sim, noble_being *local, void *data)
being_remove_loop2_structbeing_remove_initial (noble_simulation *local_sim)
void being_remove_final (noble_simulation *local_sim, being_remove_loop2_struct **brls)

Variables

const n_string body_inventory_description [INVENTORY_SIZE]
const n_string relationship_description [RELATIONSHIPS]
const n_string EnglishNames [576]

Detailed Description

Historically this represented the Noble Ape but moreso now it represents the Noble Ape's interface to something external. being.c also now connects to the social, brain, body and metabolim simulations through to external simulations.

Definition in file being.c.


Macro Definition Documentation

#define FAMILY_NAME_AND_MOD   (NAMES_SURNAMES - 1)

Definition at line 1844 of file being.c.

#define FIRST_NAME_AND_MOD   (NAMES_FIRST - 1)

Definition at line 1845 of file being.c.

#define GENE_HILL_CLIMB (   gene)    GENE_VAL_REG(gene, 4, 6, 5, 2)

Hill climbing - improved energy use for climbing

Definition at line 71 of file being.c.

#define GENE_SPEED (   gene)    GENE_VAL_REG(gene, 14, 5, 12, 10)

Speed on land - faster v. slower

Definition at line 63 of file being.c.

#define GENE_STAGGER (   gene)    GENE_VAL_REG(gene, 12, 14, 3, 11)

Control on random wander - more or less random wander

Definition at line 67 of file being.c.

#define GENE_SWIM (   gene)    GENE_VAL_REG(gene, 9, 11, 13, 7)

Swim - better or worse at swimming both speed and energy use

Definition at line 59 of file being.c.

#define GET_NAME_FAMILY (   f0,
  f1 
)    ((n_byte2)((f0&FAMILY_NAME_AND_MOD)|((f1&FAMILY_NAME_AND_MOD)*NAMES_SURNAMES)))

Definition at line 1849 of file being.c.

#define NAMES_FIRST   256

Definition at line 1793 of file being.c.

#define NAMES_SURNAMES   64

Definition at line 1792 of file being.c.

#define UNPACK_FAMILY_FIRST_NAME (   packed_family_name)    (packed_family_name & FAMILY_NAME_AND_MOD)

Definition at line 1847 of file being.c.

#define UNPACK_FAMILY_SECOND_NAME (   packed_family_name)    ((packed_family_name / NAMES_SURNAMES)&FAMILY_NAME_AND_MOD)

Definition at line 1848 of file being.c.

#define VISIBILITY_MAXIMUM   (2000)

Definition at line 51 of file being.c.

#define VISIBILITY_SPAN   (VISIBILITY_MAXIMUM / ((15+16) >> 1))

Definition at line 53 of file being.c.

#define WALK_ON_WATER (   pz,
 
)    (((pz)<w) ? w : (pz))

Definition at line 55 of file being.c.


Function Documentation

void being_add_state ( noble_being value,
being_state_type  state 
)

Definition at line 113 of file being.c.

Here is the caller graph for this function:

n_uint being_affect ( noble_simulation local_sim,
noble_being local,
n_byte  is_positive 
)

returns the total positive and negative affect within memory

Definition at line 1278 of file being.c.

Here is the call graph for this function:

n_byte being_awake ( noble_simulation sim,
noble_being local 
)

This checks to see if the Noble Ape is awake

Parameters:
simThe simulation pointer
referenceThe specific Noble Ape checked for being awake
Returns:
2 is fully awake, 1 is slightly awake to eat, 0 is asleep

if it is not night, the being is fully awake

if it night the being is...

... fully awake to swim

... slightly awake to eat

... slightly awake to slow down

... asleep

Definition at line 2076 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_string being_body_inventory_description ( n_int  index)

Definition at line 1312 of file being.c.

Here is the caller graph for this function:

n_byte* being_brain ( noble_being value)

Definition at line 275 of file being.c.

Here is the caller graph for this function:

n_byte* being_braincode_external ( noble_being value)

Definition at line 94 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_byte* being_braincode_internal ( noble_being value)

Definition at line 100 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_int being_brainstates ( noble_being value,
n_int  asleep,
n_byte2 states 
)

Definition at line 196 of file being.c.

enum inventory_type being_carried ( noble_being value,
enum BODY_INVENTORY_TYPES  location 
)

Definition at line 487 of file being.c.

Here is the caller graph for this function:

void being_change_selected ( noble_simulation sim,
n_byte  forwards 
)

Definition at line 2040 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_cycle_awake ( noble_simulation sim,
noble_being local 
)

tmp_speed is the optimum speed based on the gradient

delta_energy is the energy required for movement

amount of body fat in kg

If it sees water in the distance then turn

horizontally oriented posture

When swimming drop everything except what's on your head or back. Note that the groomed flag is also cleared

swimming proficiency

bathing removes parasites

adjust speed using genetics

is the being to which we are paying attention within view?

Find the closest beings

eating when stopped

remember eating

grow

orient towards a goal

a certain time after giving birth females become receptive again

zero value indicates ready to conceive

A mother could have multiple children, so only find the youngest

Birth

mother carries the child

Compute the mass of the unborn child. This will be added to the mass of the mother

child follows the mother

orient towards the mother

suckling

child moves from back to front

sucking causes loss of grooming

hungry mothers stop producing milk

mother loses energy

child gains energy

set child state to suckling

child acquires immunity from mother

no longer carrying the child

rescale familiarity values

Definition at line 2698 of file being.c.

Here is the call graph for this function:

void being_cycle_universal ( noble_simulation sim,
noble_being local,
n_byte  awake 
)

stuff still goes on during sleep

may need to add external probe linking too

Definition at line 2215 of file being.c.

Here is the call graph for this function:

void being_dead ( noble_being value)

Definition at line 385 of file being.c.

Here is the caller graph for this function:

void being_dec_drive ( noble_being value,
enum drives_definition  drive 
)

Definition at line 420 of file being.c.

void being_delta ( noble_being primary,
noble_being secondary,
n_vect2 delta 
)

Definition at line 323 of file being.c.

Here is the caller graph for this function:

n_int being_dob ( noble_being value)

Definition at line 329 of file being.c.

Here is the caller graph for this function:

n_int being_drive ( noble_being value,
enum drives_definition  drive 
)

Definition at line 407 of file being.c.

Here is the caller graph for this function:

void being_drop ( noble_being value,
enum BODY_INVENTORY_TYPES  location 
)

Definition at line 492 of file being.c.

Definition at line 375 of file being.c.

void being_energy_delta ( noble_being value,
n_int  delta 
)

Definition at line 395 of file being.c.

Here is the caller graph for this function:

n_int being_energy_less_than ( noble_being value,
n_int  less_than 
)

Definition at line 380 of file being.c.

Here is the caller graph for this function:

noble_episodic* being_episodic ( noble_being value)

Definition at line 281 of file being.c.

Here is the caller graph for this function:

void being_erase ( noble_being value)

Definition at line 207 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_byte being_facing ( noble_being value)

Definition at line 354 of file being.c.

Here is the caller graph for this function:

void being_facing_towards ( noble_being value,
n_vect2 vector 
)

Definition at line 334 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_facing_vector ( noble_being value,
n_vect2 vect,
n_int  divisor 
)

Definition at line 349 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_byte being_family_first_name ( noble_being value)

Definition at line 1905 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_byte2 being_family_name ( noble_being value)

Definition at line 1891 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_byte being_family_second_name ( noble_being value)

Definition at line 1917 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_genetics* being_fetal_genetics ( noble_being value)

Definition at line 369 of file being.c.

Here is the caller graph for this function:

noble_being* being_find_name ( noble_simulation sim,
n_byte2  first_gender,
n_byte2  family 
)

Definition at line 1267 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_byte being_first_name ( noble_being value)

Definition at line 1858 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

noble_being* being_from_name ( noble_simulation sim,
n_string  name 
)

return the being array index with the given name

Parameters:
simPointer to the simulation object
nameName of the being
Returns:
Array index of the being within the simulation object

Definition at line 738 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_byte2 being_gender_name ( noble_being value)

Definition at line 1882 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_uint being_genetic_comparison ( n_genetics primary,
n_genetics secondary,
n_int  parse_requirements 
)

Definition at line 1135 of file being.c.

n_genetics* being_genetics ( noble_being value)

Definition at line 359 of file being.c.

Here is the caller graph for this function:

n_string being_get_select_name ( noble_simulation sim)

Definition at line 759 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_int being_height ( noble_being value)

Definition at line 433 of file being.c.

n_byte being_honor ( noble_being value)

Definition at line 212 of file being.c.

Here is the caller graph for this function:

n_int being_honor_compare ( noble_being first,
noble_being second 
)

Definition at line 234 of file being.c.

Here is the caller graph for this function:

void being_honor_inc_dec ( noble_being inc,
noble_being dec 
)

Definition at line 217 of file being.c.

Here is the caller graph for this function:

void being_honor_swap ( noble_being victor,
noble_being vanquished 
)

swap social status

Definition at line 223 of file being.c.

Here is the caller graph for this function:

void being_immune_transmit ( noble_being meeter_being,
noble_being met_being,
n_byte  transmission_type 
)

pathogen obtained from environment

pathogen transmitted between beings

does the other being already carry this pathogen ?

spread pathogen

Definition at line 916 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_inc_drive ( noble_being value,
enum drives_definition  drive 
)

Definition at line 412 of file being.c.

n_int being_index ( noble_simulation sim,
noble_being local 
)

Definition at line 2686 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_index_loop ( noble_simulation local_sim,
noble_being local_being,
void *  data 
)

Definition at line 2667 of file being.c.

Here is the caller graph for this function:

void being_ingest_pathogen ( noble_being local,
n_byte  food_type 
)

Definition at line 910 of file being.c.

Here is the caller graph for this function:

n_int being_init ( n_land land,
noble_being beings,
n_int  number,
noble_being local,
noble_being mother,
n_byte2 random_factor 
)

Initialise the ape's variables and clear its brain

Parameters:
simPointer to the simulation object
motherPointer to the mother
random_factorRandom seed
Returns:
0

this is the being to be born

Set learned preferences to 0.5 (no preference in either direction. This may seem like tabla rasa, but there are genetic biases

clear the generation numbers for mother and father

initially seed the brain with instructions which are genetically biased

has no social connections initially

default type of entity

friend_or_foe can be positive or negative, with SOCIAL_RESPECT_NORMAL as the zero point

randomly initialize registers

initialize brainprobes

this is the same as equals

ascribed social status

produce an initial distribution of heights and masses

These magic numbers were found in March 2001 - feel free to change them!

Definition at line 3287 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_init_braincode ( noble_being local,
noble_being other,
n_byte  friend_foe,
n_byte  internal 
)

initialise inner or outer braincode

initially seed the brain with instructions which are random but genetically biased

initialise based upon a similar being

Find the entry in the social graph with the most similar friend or foe value. The FOF value is used because when two beings meet for the first time this value is calculated based upon a variety of genetic and learned dispositions. Notice also that the search includes index zero, which is the self.

Copy braincode for the most similar individual

Definition at line 3084 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_listen ( noble_simulation local_sim,
noble_being local_being,
void *  data 
)

Listen for shouts

Parameters:
simPointer to the simulation
current_being_indexArray index of the current being

clear shout values

Definition at line 2500 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_living ( noble_being value)

Definition at line 390 of file being.c.

Here is the caller graph for this function:

n_byte2* being_location ( noble_being value)

Definition at line 302 of file being.c.

Here is the caller graph for this function:

n_int being_location_x ( noble_being value)

Definition at line 292 of file being.c.

Here is the caller graph for this function:

n_int being_location_y ( noble_being value)

Definition at line 297 of file being.c.

Here is the caller graph for this function:

void being_loop ( noble_simulation sim,
being_loop_fn  bf_func,
n_int  beings_per_thread 
)

Definition at line 537 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_loop_no_thread ( noble_simulation sim,
noble_being being_not,
being_loop_fn  bf_func,
void *  data 
)

Definition at line 504 of file being.c.

Here is the caller graph for this function:

n_byte being_los ( n_land land,
noble_being local,
n_byte2  lx,
n_byte2  ly 
)

This checks to see if a Noble Ape can see a particular point

Parameters:
simThe simulation pointer
referenceThe specific Noble Ape checked for being awake
lxThe x location of the point to be seen.
lyThe y location of the point to be seen.
Returns:
1 can see, 0 can not see

Definition at line 783 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_int being_mass ( noble_being value)

Definition at line 438 of file being.c.

n_int being_memory ( noble_simulation local,
n_byte buffer,
n_uint location,
n_int  memory_available 
)

Definition at line 149 of file being.c.

Here is the call graph for this function:

void being_move ( noble_being local,
n_int  rel_vel,
n_byte  kind 
)

This moves the specified Noble Ape outside the core simulation movement interface - think mouse movement or keyboard movement.

Parameters:
localThe pointer to the noble_being being moved.
rel_velThe movement variable used - historically the velocity hence the variable name.
kindThe kind of movement used - 0 = turning around pivoting on the z-axis (ie a standing turn), 1 = move forwards or backwards based on the direction facing, 2 = cursor like movements along the X and Y axis useful when operating the arrow keys (but not much else).

Definition at line 2010 of file being.c.

Here is the call graph for this function:

void being_name_byte2 ( n_byte2  first,
n_byte2  family,
n_string  name 
)

Definition at line 1958 of file being.c.

Here is the caller graph for this function:

n_int being_name_comparison ( noble_being value,
n_byte2  gender_name,
n_byte2  family_name 
)

Definition at line 1900 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_name_simple ( noble_being value,
n_string  str 
)

Definition at line 1953 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_byte being_posture ( noble_being value)

Definition at line 259 of file being.c.

Here is the caller graph for this function:

n_int being_posture_under ( noble_being value,
enum posture_type  post 
)

Definition at line 269 of file being.c.

n_int being_pregnant ( noble_being value)

Definition at line 364 of file being.c.

Here is the caller graph for this function:

n_byte2 being_random ( noble_being value)

Definition at line 128 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_recalibrate_honor_loop ( noble_simulation local,
noble_being value,
void *  data 
)

Definition at line 3662 of file being.c.

Here is the caller graph for this function:

void being_relationship_description ( n_int  index,
n_string  description 
)

Definition at line 1327 of file being.c.

Here is the call graph for this function:

void being_remains ( noble_simulation sim,
noble_being dead 
)

Definition at line 1506 of file being.c.

Here is the caller graph for this function:

void being_remains_init ( noble_simulation sim)

Definition at line 1498 of file being.c.

Here is the caller graph for this function:

void being_remove_external_set ( n_int  value)

Definition at line 3675 of file being.c.

void being_remove_final ( noble_simulation local_sim,
being_remove_loop2_struct **  brls 
)

Definition at line 3730 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

being_remove_loop2_struct* being_remove_initial ( noble_simulation local_sim)

Definition at line 3711 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

n_int being_remove_internal ( void  )

Definition at line 3670 of file being.c.

void being_remove_loop1 ( noble_simulation local_sim,
noble_being local_being,
void *  data 
)

Definition at line 3680 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_remove_loop2 ( noble_simulation local_sim,
noble_being local,
void *  data 
)

Definition at line 3688 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_reset_drive ( noble_being value,
enum drives_definition  drive 
)

Definition at line 428 of file being.c.

Here is the caller graph for this function:

void being_set_family_name ( noble_being value,
n_byte  first,
n_byte  last 
)

Definition at line 1876 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_set_location ( noble_being value,
n_byte2 from 
)

Definition at line 307 of file being.c.

Here is the caller graph for this function:

void being_set_posture ( noble_being value,
n_byte  post 
)

Definition at line 264 of file being.c.

Here is the caller graph for this function:

void being_set_select_name ( noble_simulation sim,
n_string  name 
)

Definition at line 748 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_set_speed ( noble_being value,
n_byte  sp 
)

Definition at line 318 of file being.c.

Here is the caller graph for this function:

void being_set_state ( noble_being value,
being_state_type  state 
)

Definition at line 108 of file being.c.

Here is the caller graph for this function:

noble_social* being_social ( noble_being value)

Definition at line 287 of file being.c.

Here is the caller graph for this function:

n_byte being_speed ( noble_being value)

Definition at line 313 of file being.c.

Here is the caller graph for this function:

n_byte2 being_state ( noble_being value)

Definition at line 118 of file being.c.

Here is the caller graph for this function:

void being_state_description ( n_byte2  state,
n_string  result 
)

Definition at line 1967 of file being.c.

Here is the call graph for this function:

void being_take ( noble_being value,
enum BODY_INVENTORY_TYPES  location,
enum inventory_type  object 
)

Definition at line 498 of file being.c.

void being_tidy_loop ( noble_simulation local_sim,
noble_being local_being,
void *  data 
)

the more body fat, the less energy is lost whilst swimming

going uphill

hairy creatures are better insulated

this simulates natural death or at least some trauma the ape may or may not be able to recover from

Definition at line 3557 of file being.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void being_unpack_family ( n_byte2  name,
n_byte values 
)

Definition at line 1852 of file being.c.

void being_wander ( noble_being value,
n_int  wander 
)

Definition at line 339 of file being.c.

Here is the caller graph for this function:

n_int episode_description ( noble_simulation sim,
noble_being local_being,
n_int  index,
n_string  description 
)

Definition at line 1521 of file being.c.

Here is the call graph for this function:


Variable Documentation

const n_string body_inventory_description[INVENTORY_SIZE]
Initial value:
{
"Head","Teeth","Back","Front","Left hand","Right hand","Left foot","Right foot"
}

Definition at line 1307 of file being.c.

const n_string EnglishNames[576]
Initial value:
{
"Adams","Allen","Bailey","Baker","Barnes","Bell","Brooks","Brown","Butler","Clark","Cook","Cooper","Davies","Davis","Evans",
"Fisher","Foster","Graham","Gray","Green","Hall","Harris","Hill","Howard","Hughes","James","Jones","Kelly","King","Lewis",
"Long","Mason","Matine","Miller","Moore","Morgan","Munroe","Murphy","Mutz","Myers","Nelson","Owen","Parker","Perry",
"Powell","Price","Quinn","Reed","Reid","Rogers","Rose","Reis","Scrim","Smith","Taylor","Thiel","Turner","Walker","Ward",
"Watson","White","Wilson","Wood","Young",
"Ada","Agatha","Agnes","Aileen","Aimee","Alanna","Alda","Alice","Alina","Alison","Alma","Amanda","Amber","Andrea","Angela",
"Anita","Anthea","April","Ariana","Arleen","Astrid","Audrey","Beata","Becky","Beryl","Bess","Bianca","Blair","Blythe",
"Bonnie","Brenda","Briana","Brooke","Carla","Carly","Carmen","Cheryl","Chloe","Coral","Daphne","Davida","Dawn","Denise",
"Donna","Dora","Doris","Echo","Eda","Edana","Edith","Edlyn","Edna","Edwina","Effie","Eileen","Elaine","Elena","Elga",
"Elise","Eliza","Ella","Ellen","Eloise","Elsie","Elvira","Emily","Emma","Erika","Erin","Estra","Ethel","Eudora","Eunice",
"Faith","Fannie","Fawn","Faye","Fedora","Fern","Fiona","Flora","Gale","Gaye","Geneva","Gilda","Gladys","Gloria","Grace",
"Gwynne","Harley","Hattie","Hazel","Hetty","Hilda","Holly","Honey","Hope","Ingrid","Irene","Iris","Ivory","Ivy","Jade",
"Jane","Janet","Janice","Jeanne","Jemima","Jewel","Joan","Joanna","Joy","June","Kacey","Kara","Kate","Kay","Keely","Kelsey",
"Kendra","Kerri","Kyla","Lacey","Lane","Lara","Larina","Leanne","Leslie","Linda","Livia","Lizzie","Lois","Lorena","Lulu",
"Luna","Lynn","Mabel","Madge","Maggie","Maia","Maisie","Mandy","Marcia","Margot","Marnia","Mary","Maude","Maura","Mavis",
"Maxine","Megan","Melody","Mercy","Meris","Merle","Miriam","Misty","Moira","Molly","Mona","Monica","Mora","Morgan","Muriel",
"Myra","Myrtle","Nancy","Naomi","Nell","Nerita","Nina","Noelle","Nola","Norma","Nydia","Odette","Olga","Opal","Oprah","Orva",
"Page","Pamela","Pansy","Patty","Pearl","Phoebe","Polly","Quenna","Questa","Rachel","Ramona","Regina","Rhea","Rhoda","Rita",
"Robin","Rosa","Rowena","Ruby","Ruth","Sacha","Sadie","Salena","Sally","Salome","Sandra","Sarah","Serena","Shana","Sharon",
"Sheila","Sibley","Silver","Sirena","Talia","Tamara","Tammy","Tanya","Tara","Tasha","Tatum","Tess","Thalia","Thea","Thelma",
"Thora","Tilda","Tina","Tracy","Trina","Trista","Tyne","Udele","Ula","Ulrica","Ulva","Una","Unity","Ursa","Ursula","Valda",
"Vania","Veleda","Vera","Verda","Violet","Vita","Wanda","Wilda","Willa","Willow","Wynne","Zea","Zelda","Zera","Zoe",
"Aaron","Abbott","Abel","Adam","Albern","Albert","Alfie","Alfred","Alvin","Amery","Amos","Andrew","Angus","Ansel","Arlen",
"Arnold","Arvel","Austin","Axel","Baird","Barry","Basil","Bert","Blair","Blake","Boris","Brent","Brian","Brice","Brock",
"Bruce","Bruno","Bryant","Buck","Bud","Burton","Byron","Calvin","Carl","Carter","Carver","Cary","Casey","Casper","Cecil",
"Cedric","Claude","Clive","Clyde","Colin","Conan","Connor","Conrad","Conroy","Conway","Corwin","Craig","Crosby","Culver",
"Curt","Curtis","Cyril","Damon","Daniel","Darcy","David","Dean","Declan","Dennis","Derek","Dermot","Derwin","Dexter",
"Dillon","Dion","Dirk","Donald","Dorian","Drew","Dudley","Duncan","Dwayne","Dwight","Dylan","Earl","Edgar","Edwin","Efrain",
"Egbert","Elbert","Elmer","Elroy","Elton","Elvis","Emmett","Emrick","Ernest","Errol","Esmond","Eugene","Evan","Ezra","Fabian",
"Farley","Felix","Fenton","Ferris","Finbar","Floyd","Foster","Fox","Frank","Gale","Galvin","Garret","Garth","Gavin","George",
"Gideon","Giles","Gilroy","Glenn","Godwin","Graham","Grant","Guy","Hadden","Hadley","Hadwin","Hale","Hall","Hamlin","Hardy",
"Harley","Hector","Henry","Herman","Homer","Howard","Hubert","Hunter","Ian","Isaac","Isaiah","Ivan","Ives","Jack","Jacob",
"Jarvis","Jason","Jasper","Jed","Jerome","Jesse","John","Joshua","Justin","Keaton","Keith","Kelsey","Kelvin","Kent","Kerry",
"Kevin","Kirby","Kirk","Kit","Kody","Konrad","Kurt","Kyle","Lamont","Landon","Lane","Lars","Lee","Leroy","Leslie","Lester",
"Lionel","Lloyd","Logan","Lowell","Lyndon","Marcus","Marlon","Martin","Marvin","Medwin","Melvin","Merlin","Miles","Morgan",
"Morris","Morton","Murray","Neal","Nigel","Noel","Norman","Olaf","Olin","Oliver","Oscar","Oswald","Otis","Owen","Paul",
"Perry","Peter","Philip","Pierce","Quincy","Quinn","Ralph","Rex","Riley","Rodney","Roger","Roland","Rolf","Ronald","Rory",
"Ross","Roy","Rufus","Rupert","Ryan","Samson","Samuel","Scott","Sean","Seth","Shawn","Sidney","Simon","Sloane","Stacy",
"Thomas","Toby","Todd","Tony","Trent","Trevor","Troy","Tyler","Unwin","Vance","Victor","Walter","Warren","Wayne","Wilbur",
"Willis","Wyatt","Wylie"
}

Surname = 64, Male = 256, Female = 256

Definition at line 1796 of file being.c.

const n_string relationship_description[RELATIONSHIPS]
Initial value:
{
"Associate","Self","Mother","Father","Daughter",
"Son","Granddaughter","Grandson","Sister","Brother",
"Maternal Grandmother","Maternal Grandfather","Paternal Grandmother","Paternal Grandson", "Mother",
"Father","Daughter","Son","Granddaughter","Grandson",
"Sister","Brother","Maternal Grandmother","Maternal Grandfather","Paternal Grandmother",
"Paternal Grandson"
}

Definition at line 1317 of file being.c.