DI-Guy SDK Documentation  13.8
diguy_constants.h File Reference
#include <declspec_bdiutil.h>

Go to the source code of this file.

Macros

#define CPLUSPLUS_ONLY
 
Misc. Constants
#define DIGUY_PI   (3.14159265358979323f)
 DI-Guy radians and degrees conversion factors. More...
 
#define DIGUY_RAD2DEG   (180.0f / DIGUY_PI)
 
#define DIGUY_DEG2RAD   (DIGUY_PI / 180.0f)
 
#define DIGUY_DEFAULT_FLOAT   (-16384.0f)
 This value is a magic number that, when passed to certain functions, means that the function should use or compute an appropriate default value for the argument. More...
 
#define DIGUY_DEFAULT_INT   (-16384)
 This value is a magic number that, when passed to certain functions, means that the function should use or compute an appropriate default value for the argument. More...
 

Enumerations

DI-Guy Shader Enumerations
enum  diguyGraphicsShaderLanguage { DIGUY_GRAPHICS_SHADER_LANGUAGE_GLSL = 0, DIGUY_GRAPHICS_SHADER_LANGUAGE_HLSL = 1 }
 This enumeration lists supported shader languages. More...
 

Variables

comment line count1comment line count1comment line count1comment line count1comment line count1comment line count1comment line count1comment line count1
 

General Enumerations

enum  diguyCallbackReturn { DIGUY_CALLBACK_STOP = 0, DIGUY_CALLBACK_CONTINUE }
 DI-Guy callbacks return a value of type diguyCallbackReturn, which will be DIGUY_CALLBACK_STOP or DIGUY_CALLBACK_CONTINUE. More...
 
enum  diguyCharacterTypeMapField {
  DIGUY_CHARACTER_TYPE_MAP_FIELD_UNKNOWN = -1, DIGUY_CHARACTER_TYPE_MAP_FIELD_CHARACTER_CLASS = 0, DIGUY_CHARACTER_TYPE_MAP_FIELD_CATEGORY, DIGUY_CHARACTER_TYPE_MAP_FIELD_SUBCATEGORY,
  DIGUY_CHARACTER_TYPE_MAP_FIELD_SEX, DIGUY_CHARACTER_TYPE_MAP_FIELD_AGE, DIGUY_CHARACTER_TYPE_MAP_FIELD_RACE, DIGUY_CHARACTER_TYPE_MAP_FIELD_COUNTRY,
  DIGUY_CHARACTER_TYPE_MAP_FIELD_MILITARY_BRANCH, DIGUY_CHARACTER_TYPE_MAP_FIELD_CARRIED_OBJECT, DIGUY_CHARACTER_TYPE_MAP_FIELD_COUNT
}
 This enumeration allows type map fields to be queried using a numerical value rather than a string name of the field. More...
 
enum  diguyCharacterClass {
  DIGUY_CHARACTER_CLASS_UNKNOWN = 0, DIGUY_CHARACTER_CLASS_HUMAN, DIGUY_CHARACTER_CLASS_VEHICLE, DIGUY_CHARACTER_CLASS_OBJECT,
  DIGUY_CHARACTER_CLASS_EFFECT, DIGUY_CHARACTER_CLASS_ANIMAL, DIGUY_CHARACTER_CLASS_HUMAN_ON_VEHICLE, DIGUY_CHARACTER_CLASS_HUMAN_ON_OBJECT,
  DIGUY_CHARACTER_CLASS_HUMAN_ON_ANIMAL, DIGUY_CHARACTER_CLASS_OTHER, DIGUY_CHARACTER_CLASS_COUNT
}
 DI-Guy character classes. More...
 
enum  diguyCharacterAppearanceTypes {
  DIGUY_APPEARANCE_BODY = 0, DIGUY_APPEARANCE_HEAD, DIGUY_APPEARANCE_EXPRESSIVE_HEAD, DIGUY_APPEARANCE_HAND_ITEM,
  DIGUY_APPEARANCE_TYPES_COUNT
}
 DI-Guy character appearance query API, this is for diguyCharacter::get_num_appearances_of_type() More...
 
enum  diguyTextureUniformPatchLocations { DIGUY_TEXTURE_ARM_PATCH = 0, DIGUY_TEXTURE_RANK_PATCH = 1 }
 This enumeration lists various types of texture atlases. More...
 
enum  diguyCharacterMode { DIGUY_CHARACTER_MODE_PATH = 0, DIGUY_CHARACTER_MODE_FREE, DIGUY_CHARACTER_MODE_COUNT }
 This is an enumeration of the different modes a DI-Guy character can be in. More...
 
enum  diguyParameterComparison {
  DIGUY_PARAMETER_COMPARISON_NEAREST = 0, DIGUY_PARAMETER_COMPARISON_EQUAL, DIGUY_PARAMETER_COMPARISON_GREATER, DIGUY_PARAMETER_COMPARISON_LESS,
  DIGUY_PARAMETER_COMPARISON_COUNT
}
 This is an enumeration of the different parameter comparison options that can be specified to various DI-Guy function calls, such as diguyCharacter::get_action_from_description(). More...
 
enum  diguyMuzzle {
  DIGUY_MUZZLE_DEFAULT = 0, DIGUY_MUZZLE_RIFLE, DIGUY_MUZZLE_GRENADE_LAUNCHER, DIGUY_MUZZLE_ACCESSORY1,
  DIGUY_MUZZLE_TURRET1, DIGUY_MUZZLE_COUNT
}
 This is an enumeration of the different muzzles that can be specified to various DI-Guy function calls, such as diguyCharacter::set_default_weapon_muzzle() and diguyCharacter::fire_weapon(). More...
 
enum  diguyImpactType {
  DIGUY_IMPACT_DIRECT_HIT = 0, DIGUY_IMPACT_NEARBY_DETONATION, DIGUY_IMPACT_VEHICLE_COLLISION, DIGUY_IMPACT_NO_IMPACT,
  DIGUY_IMPACT_USER_GENERATED
}
 This is an enumeration of the different impact types that are found in diguyImpact. More...
 
enum  diguyViewCameraMoveMode {
  DIGUY_CAMERA_MOVE_DRAG = 0, DIGUY_CAMERA_MOVE_ORBIT, DIGUY_CAMERA_MOVE_FORWARD, DIGUY_CAMERA_MOVE_SIDEWAYS,
  DIGUY_CAMERA_MOVE_VERTICAL, DIGUY_CAMERA_MOVE_FLY
}
 DI-Guy camera move modes. More...
 
enum  diguyViewCameraServoTarget { DIGUY_CAMERA_SERVO_POSITION = 0, DIGUY_CAMERA_SERVO_ORIENTATION, DIGUY_CAMERA_SERVO_FIX }
 Aspects of the DI-Guy camera that can be servoed. More...
 
enum  diguyViewCameraProjectionMode { DIGUY_CAMERA_PROJECTION_PERSPECTIVE = 0, DIGUY_CAMERA_PROJECTION_PLANVIEW_XY, DIGUY_CAMERA_PROJECTION_PLANVIEW_XZ, DIGUY_CAMERA_PROJECTION_PLANVIEW_YZ }
 DI-Guy camera projection modes. More...
 
enum  diguyViewFogMode {
  DIGUY_FOG_MODE_DISABLED = 0, DIGUY_FOG_MODE_EXP = 1, DIGUY_FOG_MODE_EXP2 = 2, DIGUY_FOG_MODE_LINEAR = 3,
  DIGUY_FOG_MODE_PIX_EXP = 4, DIGUY_FOG_MODE_PIX_EXP2 = 5, DIGUY_FOG_MODE_PIX_LINEAR = 6
}
 DI-Guy fog modes. More...
 
enum  diguyHistoryType {
  DIGUY_HISTORY_TYPE_NONE = 0, DIGUY_HISTORY_TYPE_COMPLETE, DIGUY_HISTORY_TYPE_FIRST, DIGUY_HISTORY_TYPE_LAST,
  DIGUY_HISTORY_TYPE_PARTIAL
}
 DI-Guy history types. More...
 
enum  {
  DIGUY_CLASSID_START = 0x400, DIGUY_CLASSID_CREATURE, DIGUY_CLASSID_LINK, DIGUY_CLASSID_SHAPE,
  DIGUY_CLASSID_CHARACTER, DIGUY_CLASSID_SCENE_OBJECT, DIGUY_CLASSID_PATH, DIGUY_CLASSID_PATH_SHAPE,
  DIGUY_CLASSID_SENSOR_REGION
}
 DI-Guy renderer class ids. More...
 
enum  diguyRenderPassFlags {
  DIGUY_RENDER_PASS_SKIP_PARTICLES = 0x00000001, DIGUY_RENDER_PASS_USE_STORED_LOD_SETTINGS = 0x00000002, DIGUY_RENDER_PASS_REFLECTION = 0x00000004, DIGUY_RENDER_PASS_SHADOW = 0x00000008,
  DIGUY_RENDER_PASS_INTERSECTION = 0x00000010, DIGUY_RENDER_PASS_DEBUGGING = 0x00000020, DIGUY_RENDER_PASS_TRANSPARENCY_DEBUGGING = 0x00000040, DIGUY_RENDER_PASS_WIREFRAME_PASS = 0x00000080,
  DIGUY_RENDER_PASS_TEXTURE_SIZE_DEBUGGING = 0x00000100
}
 DI-Guy renderer pass masks, set via diguyApp::set_render_pass_flags(). More...
 
const char * diguy_character_class_enum_to_string (diguyCharacterClass character_class)
 
diguyCharacterClass diguy_character_class_enum_from_string (const char *string)
 

DI-Guy Asynchronous Texture Load Enumerations

This enumeration is used for diguyCharacter::set_texture_load_behavior() and diguySceneObject::set_texture_load_behavior()

DIGUY_LOAD_INSTANTLY

 Textures are loaded instantly when the object is loaded, this is a
 blocking behavior and represents the pre 12.5 DI-Guy default behavior.

DIGUY_LOAD_PRIORITY_ASYNC

 Textures are paged-in when they are drawn, closer diffuse textures are prioritized.

DIGUY_LOAD_ASYNC

 Textures are paged-in in the order that they were loaded, all textures will
 eventually load.
#define DIGUY_LOAD_MANAGER_NUM_ZONES   (4)
 
#define DIGUY_LOAD_MANAGER_NUM_NONVISIBLE_ZONE_INDEX   (3)
 
enum  diguyGraphicsTextureLoadingBehavior { DIGUY_LOAD_INSTANTLY = 0, DIGUY_LOAD_PRIORITY_ASYNC = 1, DIGUY_LOAD_ASYNC = 2 }
 
enum  {
  DIGUY_ERROR = -1, DIGUY_ERROR_LICENSE_FAILURE = -100, DIGUY_ERROR_LICENSE_SOFTWARE_INITIALIZATION_ERROR = -101, DIGUY_ERROR_LICENSE_NOT_FOUND = -102,
  DIGUY_ERROR_LICENSE_EXPIRED = -103, DIGUY_ERROR_LICENSE_VERSION_MISMATCH = -104, DIGUY_ERROR_LICENSE_COUNT_TOO_LOW = -105, DIGUY_ERROR_LICENSE_FILE_NOT_FOUND = -106,
  DIGUY_ERROR_LICENSE_SERVER_ERROR = -107, DIGUY_ERROR_LICENSE_NO_DONGLE = -108, DIGUY_ERROR_LICENSE_NO_DONGLE_DRIVER = -109, DIGUY_ERROR_LICENSE_UNKNOWN_ERROR = -199,
  DIGUY_ERROR_GRAPHICS_SUBSYSTEM_INIT_FAILED = -200, DIGUY_ERROR_SIMULATION_SUBSYSTEM_INIT_FAILED = -201, DIGUY_ERROR_DATA_INSTALLATION_MISSING = -202, DIGUY_ERROR_DATA_VERSION_TOO_LOW = -203,
  DIGUY_ERROR_RENDERER_LICENSE_CHECK_FAILED = -204
}
 DI-Guy error codes. More...
 
enum  {
  DIGUY_VEC_X = 0, DIGUY_VEC_Y, DIGUY_VEC_Z, DIGUY_VEC_W,
  DIGUY_VEC_RZ = 0, DIGUY_VEC_RX, DIGUY_VEC_RY, DIGUY_VEC_QX = 0,
  DIGUY_VEC_QY, DIGUY_VEC_QZ, DIGUY_VEC_QW
}
 DI-Guy vector indices. More...
 
enum  diguyGraphicsJointType {
  DIGUY_GRAPHICS_JOINT_TYPE_UNKNOWN = 0, DIGUY_GRAPHICS_JOINT_TYPE_FROZEN, DIGUY_GRAPHICS_JOINT_TYPE_PIN, DIGUY_GRAPHICS_JOINT_TYPE_SLIDER,
  DIGUY_GRAPHICS_JOINT_TYPE_CYLINDER, DIGUY_GRAPHICS_JOINT_TYPE_UNIVERSAL, DIGUY_GRAPHICS_JOINT_TYPE_PLANAR, DIGUY_GRAPHICS_JOINT_TYPE_GIMBAL,
  DIGUY_GRAPHICS_JOINT_TYPE_BALL, DIGUY_GRAPHICS_JOINT_TYPE_6DOF, DIGUY_GRAPHICS_JOINT_TYPE_TRANSLATION_AND_PIN, DIGUY_GRAPHICS_JOINT_TYPE_TRANSLATION_AND_GIMBAL,
  DIGUY_GRAPHICS_JOINT_TYPE_COUNT
}
 DI-Guy graphics joint types. More...
 
enum  {
  DIGUY_TYPE_UID_BASE_NOTHING = 0, DIGUY_TYPE_UID_BASE_CHARACTER, DIGUY_TYPE_UID_BASE_CHARACTER_LINK, DIGUY_TYPE_UID_BASE_CHARACTER_SHAPE,
  DIGUY_TYPE_UID_BASE_CHARACTER_PATH, DIGUY_TYPE_UID_BASE_CHARACTER_PATH_WAYPOINT, DIGUY_TYPE_UID_BASE_CHARACTER_BEAD, DIGUY_TYPE_UID_BASE_CROWD,
  DIGUY_TYPE_UID_BASE_REGION, DIGUY_TYPE_UID_BASE_LABEL, DIGUY_TYPE_UID_BASE_PATH_SHAPE, DIGUY_TYPE_UID_BASE_PATH_SHAPE_WAYPOINT,
  DIGUY_TYPE_UID_BASE_SCENE_OBJECT, DIGUY_TYPE_UID_BASE_SENSOR_REGION, DIGUY_TYPE_UID_BASE_OTHER, DIGUY_TYPE_UID_BASE_USER,
  DIGUY_TYPE_UID_BASE_COUNT
}
 When a scene is rendered in order to select a DI-Guy object from, say, a mouse click, the type of object selected is identified by this enumeration. More...
 
enum  diguyScenarioPlaybackMode {
  DIGUY_SCENARIO_PLAYBACK_MODE_STOP = 0, DIGUY_SCENARIO_PLAYBACK_MODE_PLAY, DIGUY_SCENARIO_PLAYBACK_MODE_PLAY_REVERSE, DIGUY_SCENARIO_PLAYBACK_MODE_FF,
  DIGUY_SCENARIO_PLAYBACK_MODE_FF_REVERSE, DIGUY_SCENARIO_PLAYBACK_MODE_SS, DIGUY_SCENARIO_PLAYBACK_MODE_SS_REVERSE, DIGUY_SCENARIO_PLAYBACK_MODE_REWIND,
  DIGUY_SCENARIO_PLAYBACK_MODE_COUNT
}
 This enumeration identifies which playback mode time should follow. More...
 
enum  diguyVisibleFlag { DIGUY_VISIBLE_NONE = 0, DIGUY_VISIBLE_CURRENT, DIGUY_VISIBLE_ALL, DIGUY_VISIBLE_PER_OBJECT }
 This enumeration lists the visibility options for various objects in the DI-Guy Scenario environment. More...
 
enum  diguyAuthorVisualUpdateFlag {
  DIGUY_GRAPHICS_VISUAL_UPDATE_NONE = 0, DIGUY_GRAPHICS_VISUAL_UPDATE_GEOMETRY = 1, DIGUY_GRAPHICS_VISUAL_UPDATE_POSITION = 2, DIGUY_GRAPHICS_VISUAL_UPDATE_MATERIAL = 4,
  DIGUY_GRAPHICS_VISUAL_UPDATE_ALL = 255
}
 This enumeration lists which parts of a visual object may need to be updated. More...
 
enum  diguyEulerAngleOrder {
  DIGUY_EULER_ANGLE_ORDER_ZXY = 0, DIGUY_EULER_ANGLE_ORDER_ZYZ, DIGUY_EULER_ANGLE_ORDER_XYZ, DIGUY_EULER_ANGLE_ORDER_XZY,
  DIGUY_EULER_ANGLE_ORDER_YXZ, DIGUY_EULER_ANGLE_ORDER_YZX, DIGUY_EULER_ANGLE_ORDER_ZYX
}
 DI-Guy Euler angle orders. More...
 
enum  diguyScenarioMergeFlag {
  DIGUY_MERGE_FLAG_DONT_MERGE = 0, DIGUY_MERGE_FLAG_OVERWRITE_EXISTING, DIGUY_MERGE_FLAG_KEEP_BOTH, DIGUY_MERGE_FLAG_KEEP_EXISTING_ONLY,
  DIGUY_MERGE_FLAG_KEEP_EXISTING_ONLY_AND_WARN, DIGUY_MERGE_FLAG_RENAME_MERGED, DIGUY_MERGE_FLAG_RENAME_MERGED_AND_WARN, DIGUY_MERGE_FLAG_RENAME_MERGED_IF_NOT_EQUAL
}
 This enumeration is used for various variables in the diguyScenarioMergeSettings object. More...
 
enum  diguyScenarioMergeInitialSettings {
  DIGUY_MERGE_INITIAL_SETTINGS_DEFAULT = 0, DIGUY_MERGE_INITIAL_SETTINGS_MERGE_EVERYTHING, DIGUY_MERGE_INITIAL_SETTINGS_MERGE_NOTHING, DIGUY_MERGE_INITIAL_SETTINGS_DIGUY6_COMPATIBLE,
  DIGUY_MERGE_INITIAL_SETTINGS_PASTE
}
 This enumeration tells DI-Guy what values to use as defaults when the diguyScenario::create_merge_settings() functions is called. More...
 
enum  diguyScenarioMergeResetFlag { DIGUY_MERGE_RESET_NONE = 0, DIGUY_MERGE_RESET_MERGED, DIGUY_MERGE_RESET_ALL }
 This enumeration tells DI-Guy which scenario elements should be reset after the merge is complete. More...
 
enum  diguyPluginMouseCursor {
  DIGUY_PLUGIN_MOUSE_CURSOR_NONE = 0, DIGUY_PLUGIN_MOUSE_CURSOR_LEFT_ARROW, DIGUY_PLUGIN_MOUSE_CURSOR_CROSSHAIR, DIGUY_PLUGIN_MOUSE_CURSOR_POINTING_HAND,
  DIGUY_PLUGIN_MOUSE_CURSOR_FORBIDDEN
}
 This enumeration lists the cursors returnable by the plugin function get_cursor(). More...
 
enum  diguyChainCrossSection { DIGUY_CHAIN_CROSS_SECTION_SQUARE = 0, DIGUY_CHAIN_CROSS_SECTION_PLUS, DIGUY_CHAIN_CROSS_SECTION_COIL }
 This enumeration lists which cross-sections are available for DI-Guy chain simulation visuals. More...
 
enum  diguyScenarioInputMode {
  DIGUY_SCENARIO_INPUT_MODE_NONE = 0, DIGUY_SCENARIO_INPUT_MODE_CAMERA, DIGUY_SCENARIO_INPUT_MODE_PEOPLE_BLITZER, DIGUY_SCENARIO_INPUT_MODE_WAYPOINT_MOVE,
  DIGUY_SCENARIO_INPUT_MODE_WAYPOINT_CREATE, DIGUY_SCENARIO_INPUT_MODE_BEAD_MOVE, DIGUY_SCENARIO_INPUT_MODE_BEAD_CREATE, DIGUY_SCENARIO_INPUT_MODE_SENSOR_REGION_MOVE,
  DIGUY_SCENARIO_INPUT_MODE_SENSOR_REGION_CREATE, DIGUY_SCENARIO_INPUT_MODE_PLUGIN, DIGUY_SCENARIO_INPUT_MODE_POINT_SELECT, DIGUY_SCENARIO_INPUT_MODE_POINT_SELECT_WITH_CAMERA,
  DIGUY_SCENARIO_INPUT_MODE_GROUP_MOVE, DIGUY_SCENARIO_INPUT_MODE_CHARACTER_MOVE, DIGUY_SCENARIO_INPUT_MODE_IGUY, DIGUY_SCENARIO_INPUT_MODE_CROWD_EDITOR,
  DIGUY_SCENARIO_INPUT_MODE_CROWD_BLITZER, DIGUY_SCENARIO_INPUT_MODE_REGION_PAINTER, DIGUY_SCENARIO_INPUT_MODE_NAVMESH_PAINTER, DIGUY_SCENARIO_INPUT_MODE_COUNT
}
 This enumeration lists the input modes available in DI-Guy Scenario views (3D windows) and for DI-Guy Author. More...
 
enum  diguyScenarioWindowId {
  DIGS_WINDOW_ALL_WINDOWS = 0, DIGS_WINDOW_TIME_CONTROL, DIGS_WINDOW_INPUT_MODE, DIGS_WINDOW_ACTION_SPREADSHEET,
  DIGS_WINDOW_SIGNAL_PALETTE, DIGS_WINDOW_SCENARIO_ELEMENTS, DIGS_WINDOW_CHARACTER_ELEMENTS, DIGS_WINDOW_DIGUY_AI_ELEMENTS,
  DIGS_WINDOW_CROWD_ELEMENTS = DIGS_WINDOW_DIGUY_AI_ELEMENTS, DIGS_WINDOW_VIEW_SETTINGS, DIGS_WINDOW_EVENT_HANDLERS, DIGS_WINDOW_NETWORK_SETTINGS,
  DIGS_WINDOW_LOG, DIGS_WINDOW_MOVIE_SETTINGS, DIGS_WINDOW_SECONDARY_3D_VIEW_0, DIGS_WINDOW_SECONDARY_3D_VIEW_1,
  DIGS_WINDOW_SECONDARY_3D_VIEW_2, DIGS_WINDOW_SECONDARY_3D_VIEW_3, DIGS_WINDOW_SECONDARY_3D_VIEW_4, DIGS_WINDOW_SECONDARY_3D_VIEW_5,
  DIGS_WINDOW_SECONDARY_3D_VIEW_6, DIGS_WINDOW_SECONDARY_3D_VIEW_7, DIGS_WINDOW_SECONDARY_3D_VIEW_8, DIGS_WINDOW_COUNT
}
 This enumeration lists the windows that can be shown in the DI-Guy Scenario application. More...
 
enum  diguyScenarioEditAction {
  DIGS_EDIT_ACTION_FILE_OPEN = 0, DIGS_EDIT_ACTION_FILE_MERGE, DIGS_EDIT_ACTION_FILE_SAVE, DIGS_EDIT_ACTION_FILE_SAVE_AS,
  DIGS_EDIT_ACTION_FILE_CLOSE, DIGS_EDIT_ACTION_FILE_SAVE_REVIEW_DATA, DIGS_EDIT_ACTION_FILE_LOAD_REVIEW_DATA, DIGS_EDIT_ACTION_FILE_EXIT,
  DIGS_EDIT_ACTION_EDIT_UNDO, DIGS_EDIT_ACTION_EDIT_CUT, DIGS_EDIT_ACTION_EDIT_COPY, DIGS_EDIT_ACTION_EDIT_PASTE,
  DIGS_EDIT_ACTION_EDIT_DELETE, DIGS_EDIT_ACTION_EDIT_PREFERENCES, DIGS_EDIT_ACTION_HELP_KEY_MAPPINGS, DIGS_EDIT_ACTION_HELP_ABOUT,
  DIGS_EDIT_ACTION_HELP_API_DOCS, DIGS_EDIT_ACTION_COUNT
}
 This enumeration lists different types of editing actions that can be performed in the DI-Guy Scenario application. More...
 
enum  {
  DIGUY_SPECIAL_KEY_MIN = 0x1000000, DIGUY_SPECIAL_KEY_ESC = 0x1000000, DIGUY_SPECIAL_KEY_TAB = 0x1000001, DIGUY_SPECIAL_KEY_BACKTAB = 0x1000002,
  DIGUY_SPECIAL_KEY_BACKSPACE = 0x1000003, DIGUY_SPECIAL_KEY_RETURN = 0x1000004, DIGUY_SPECIAL_KEY_ENTER = 0x1000005, DIGUY_SPECIAL_KEY_INSERT = 0x1000006,
  DIGUY_SPECIAL_KEY_DELETE = 0x1000007, DIGUY_SPECIAL_KEY_PAUSE = 0x1000008, DIGUY_SPECIAL_KEY_PRINT = 0x1000009, DIGUY_SPECIAL_KEY_HOME = 0x1000010,
  DIGUY_SPECIAL_KEY_END = 0x1000011, DIGUY_SPECIAL_KEY_LEFT = 0x1000012, DIGUY_SPECIAL_KEY_UP = 0x1000013, DIGUY_SPECIAL_KEY_RIGHT = 0x1000014,
  DIGUY_SPECIAL_KEY_DOWN = 0x1000015, DIGUY_SPECIAL_KEY_PAGE_UP = 0x1000016, DIGUY_SPECIAL_KEY_PAGE_DOWN = 0x1000017, DIGUY_SPECIAL_KEY_SHIFT = 0x1000020,
  DIGUY_SPECIAL_F1 = 0x1000030, DIGUY_SPECIAL_F2 = 0x1000031, DIGUY_SPECIAL_F3 = 0x1000032, DIGUY_SPECIAL_F4 = 0x1000033,
  DIGUY_SPECIAL_F5 = 0x1000034, DIGUY_SPECIAL_F6 = 0x1000035, DIGUY_SPECIAL_F7 = 0x1000036, DIGUY_SPECIAL_F8 = 0x1000037,
  DIGUY_SPECIAL_F9 = 0x1000038, DIGUY_SPECIAL_F10 = 0x1000039, DIGUY_SPECIAL_F11 = 0x100003A, DIGUY_SPECIAL_F12 = 0x100003B,
  DIGUY_SPECIAL_KEY_MAX = 0x10000FF
}
 This enumeration lists "special" (non-ASCII) keys that DI-Guy plugins may respond to. More...
 
enum  diguyAimAlgorithm { DIGUY_AIM_ALGORITHM_7 = 7, DIGUY_AIM_ALGORITHM_8 = 8 }
 DI-Guy aim algorithms. More...
 
const char * diguy_playback_mode_to_string (diguyScenarioPlaybackMode playback_mode)
 
diguyScenarioPlaybackMode diguy_playback_mode_from_string (const char *string)
 
const char * diguy_input_mode_to_string (diguyScenarioInputMode input_mode)
 
diguyScenarioInputMode diguy_input_mode_from_string (const char *string)
 

DI-Guy AI Enumerations

enum  diguyDynamicAvoidanceMethod { DIGUY_DYNAMIC_AVOIDANCE_METHOD_DISABLED = 0, DIGUY_DYNAMIC_AVOIDANCE_METHOD_REPULSION_ZONES, DIGUY_DYNAMIC_AVOIDANCE_METHOD_REPULSION_ZONES_AND_PROJECTED_FORCES }
 This enumeration lists the methods available for collision detection and avoidance against dynamic objects. More...
 
enum  diguyStaticAvoidanceMethod { DIGUY_STATIC_AVOIDANCE_METHOD_DISABLED = 0, DIGUY_STATIC_AVOIDANCE_METHOD_FEELERS }
 This enumeration lists the methods available for collision detection and avoidance against static objects in the environment. More...
 
enum  {
  DIGUY_CHARACTER_FEELER_F = 0, DIGUY_CHARACTER_FEELER_FR, DIGUY_CHARACTER_FEELER_FL, DIGUY_CHARACTER_FEELER_L,
  DIGUY_CHARACTER_FEELER_R, DIGUY_CHARACTER_FEELER_BL, DIGUY_CHARACTER_FEELER_BR, DIGUY_CHARACTER_FEELER_B,
  DIGUY_CHARACTER_FEELER_COUNT
}
 
enum  diguyCharacterFeelerStatus { DIGUY_CHARACTER_FEELER_STATUS_NO_CONTACT = 0, DIGUY_CHARACTER_FEELER_STATUS_CONTACT_TURN = 1, DIGUY_CHARACTER_FEELER_STATUS_CONTACT_COLLIDE = 2, DIGUY_CHARACTER_FEELER_STATUS_CONTACT_TURN_AND_COLLIDE = 3 }
 This enumeration lists the state character feelers may be in. More...
 
enum  diguyCharacterFeelerTurnDirection { DIGUY_CHARACTER_FEELER_TURN_DIRECTION_NONE = 0, DIGUY_CHARACTER_FEELER_TURN_DIRECTION_L, DIGUY_CHARACTER_FEELER_TURN_DIRECTION_R, DIGUY_CHARACTER_FEELER_TURN_DIRECTION_L_OR_R }
 This enumeration lists the turn directions a feeler can use when its status is DIGUY_CHARACTER_FEELER_STATUS_CONTACT_TURN. More...
 
enum  diguyNavPathDirection { DIGUY_NAV_PATH_DIRECTION_UNKNOWN = 0, DIGUY_NAV_PATH_DIRECTION_FORWARD, DIGUY_NAV_PATH_DIRECTION_BACKWARD, DIGUY_NAV_PATH_DIRECTION_COUNT }
 Directions a character can be traveling on a navigation path (nav path). More...
 
enum  diguyNavPathAtEnd {
  DIGUY_NAV_PATH_AT_END_UNKNOWN = 0, DIGUY_NAV_PATH_AT_END_REVERSE, DIGUY_NAV_PATH_AT_END_LOOP, DIGUY_NAV_PATH_AT_END_STOP,
  DIGUY_NAV_PATH_AT_END_TELEPORT, DIGUY_NAV_PATH_AT_END_SWITCH_BEHAVIOR, DIGUY_NAV_PATH_AT_END_COUNT
}
 What a character following a nav path will do once it reaches the end of a nav path. More...
 
enum  diguyNavPathSearchResults {
  DIGUY_NAV_PATH_ERROR_NONE = 0, DIGUY_NAV_PATH_ERROR_OUT_OF_TIME = 1, DIGUY_NAV_PATH_ERROR_SEARCH_QUEUED = 2, DIGUY_NAV_PATH_ERROR_UNKNOWN = -1,
  DIGUY_NAV_PATH_ERROR_INVALID_CANVAS_OR_REGION = -2, DIGUY_NAV_PATH_ERROR_INVALID_START_POINT = -3, DIGUY_NAV_PATH_ERROR_INVALID_END_POINT = -4, DIGUY_NAV_PATH_ERROR_INVALID_LENGTH = -5,
  DIGUY_NAV_PATH_ERROR_FAILED_TO_FIND_PATH = -6
}
 Errors various nav path functions may return. More...
 
enum  diguyCrowdProfileSelectionMethod { DIGUY_CROWD_PROFILE_SELECTION_METHOD_RANDOM = 0, DIGUY_CROWD_PROFILE_SELECTION_METHOD_SEQUENTIAL, DIGUY_CROWD_PROFILE_SELECTION_METHOD_NUM_METHODS }
 Selection methods for records from crowd profiles. More...
 
enum  diguyAgentRepulsionZone {
  DIGUY_AGENT_REPULSION_NONE = 0, DIGUY_AGENT_REPULSION_LOW, DIGUY_AGENT_REPULSION_MEDIUM, DIGUY_AGENT_REPULSION_HIGH,
  DIGUY_AGENT_REPULSION_SOLID, DIGUY_AGENT_REPULSION_NUM_ZONES
}
 DI-Guy agent repulsion zones for characters with dynamic avoidance method DIGUY_DYNAMIC_AVOIDANCE_METHOD_REPULSION_ZONES. More...
 
enum  diguyAgentBehavior {
  DIGUY_AGENT_BEHAVIOR_UNKNOWN = -1, DIGUY_AGENT_BEHAVIOR_NONE = 0, DIGUY_AGENT_BEHAVIOR_TRAVEL, DIGUY_AGENT_BEHAVIOR_PATH_FOLLOW,
  DIGUY_AGENT_BEHAVIOR_WANDER, DIGUY_AGENT_BEHAVIOR_FLEE, DIGUY_AGENT_BEHAVIOR_PURSUE, DIGUY_AGENT_BEHAVIOR_MINGLE,
  DIGUY_AGENT_BEHAVIOR_ATTACK, DIGUY_AGENT_BEHAVIOR_IDLE, DIGUY_AGENT_BEHAVIOR_NUM_BEHAVIORS
}
 DI-Guy agent behaviors. More...
 
enum  diguyAgentUntrapMethod {
  DIGUY_AGENT_UNTRAP_METHOD_NONE = 0, DIGUY_AGENT_UNTRAP_METHOD_NAV_PATH, DIGUY_AGENT_UNTRAP_METHOD_RANDOM_TURN, DIGUY_AGENT_UNTRAP_METHOD_GHOST,
  DIGUY_AGENT_UNTRAP_METHOD_TELEPORT, DIGUY_AGENT_UNTRAP_METHOD_STOP_MOVING, DIGUY_AGENT_UNTRAP_METHOD_NUM_METHODS
}
 DI-Guy agent untrap methods. More...
 
enum  diguyRegionPaintbrushMode {
  DIGUY_REGION_PAINTBRUSH_MODE_ADDITIVE = 0, DIGUY_REGION_PAINTBRUSH_MODE_ERASE, DIGUY_REGION_PAINTBRUSH_MODE_UNGROUND_CLAMP, DIGUY_REGION_PAINTBRUSH_MODE_MOVE_MESH,
  DIGUY_REGION_PAINTBRUSH_MODE_REACHABLE, DIGUY_REGION_PAINTBRUSH_INTERNAL_MODE_UPDATE_BEHAVIOR_PATH, DIGUY_REGION_PAINTBRUSH_INTERNAL_MODE_REPLACE, DIGUY_REGION_PAINTBRUSH_NUM_MODES
}
 DI-Guy region painting modes. More...
 
enum  diguySubregionIndex {
  DIGUY_SUBREGION_BASE = 0, DIGUY_SUBREGION_POPULATE, DIGUY_SUBREGION_RED, DIGUY_SUBREGION_GREEN,
  DIGUY_SUBREGION_BLUE, DIGUY_SUBREGION_YELLOW, DIGUY_SUBREGION_ORANGE, DIGUY_SUBREGION_WHITE,
  DIGUY_SUBREGION_ROAD, DIGUY_SUBREGION_SIDEWALK, DIGUY_SUBREGION_CROSSWALK, DIGUY_SUBREGION_NUM_SUBREGIONS
}
 DI-Guy subregions. More...
 
enum  diguySubregionMask {
  DIGUY_SUBREGION_MASK_NONE = 0x00000000, DIGUY_SUBREGION_MASK_BASE = 0x00000020, DIGUY_SUBREGION_MASK_POPULATE = 0x00000040, DIGUY_SUBREGION_MASK_RED = 0x00000080,
  DIGUY_SUBREGION_MASK_GREEN = 0x00000100, DIGUY_SUBREGION_MASK_BLUE = 0x00000200, DIGUY_SUBREGION_MASK_YELLOW = 0x00000400, DIGUY_SUBREGION_MASK_ORANGE = 0x00000800,
  DIGUY_SUBREGION_MASK_WHITE = 0x00001000, DIGUY_SUBREGION_MASK_ROAD = 0x00002000, DIGUY_SUBREGION_MASK_SIDEWALK = 0x00004000, DIGUY_SUBREGION_MASK_CROSSWALK = 0x00008000
}
 DI-Guy subregions mask values. More...
 
enum  diguyNavMeshPathPlannerCostMask {
  DIGUY_NAVMESH_SHORTEST_PATH = 0x00000001, DIGUY_NAVMESH_LEAST_VISIBLE = 0x00000002, DIGUY_NAVMESH_MESH_EDGE = 0x00000004, DIGUY_NAVMESH_MESH_EDGE_AND_LEAST_VIS = 0x00000006,
  DIGUY_NAVMESH_MESH_AVOID_EDGES = 0x00000008
}
 DI-Guy navigation mesh path planner cost masks. More...
 
enum  diguyTacticsUnitType {
  DIGUY_TACTICS_UNIT_TYPE_UNKNOWN = 0, DIGUY_TACTICS_UNIT_TYPE_MARINE, DIGUY_TACTICS_UNIT_TYPE_MARINE_FIRETEAM, DIGUY_TACTICS_UNIT_TYPE_MARINE_SQUAD,
  DIGUY_TACTICS_UNIT_TYPE_MARINE_PLATOON, DIGUY_TACTICS_UNIT_TYPE_MARINE_COMPANY, DIGUY_TACTICS_UNIT_TYPE_MARINE_BATTALION, DIGUY_TACTICS_UNIT_TYPE_MARINE_REGIMENT,
  DIGUY_TACTICS_UNIT_TYPE_MARINE_DIVISION, DIGUY_TACTICS_UNIT_TYPE_MARINE_MARINE_CORPS, DIGUY_TACTICS_UNIT_TYPE_ARMY_SOLDIER, DIGUY_TACTICS_UNIT_TYPE_ARMY_SQUAD,
  DIGUY_TACTICS_UNIT_TYPE_ARMY_PLATOON, DIGUY_TACTICS_UNIT_TYPE_ARMY_COMPANY, DIGUY_TACTICS_UNIT_TYPE_ARMY_BATTALION, DIGUY_TACTICS_UNIT_TYPE_ARMY_BRIGADE,
  DIGUY_TACTICS_UNIT_TYPE_ARMY_DIVISION, DIGUY_TACTICS_UNIT_TYPE_ARMY_CORPS, DIGUY_TACTICS_UNIT_TYPE_ARMY
}
 
enum  diguyDatetimeAdvanceMethod { DIGUY_DATETIME_ADVANCE_METHOD_MANUAL = 0, DIGUY_DATETIME_ADVANCE_METHOD_REAL_TIME_RATE, DIGUY_DATETIME_ADVANCE_METHOD_SIMULATION_TIME_RATE }
 This enumeration lists the methods in which the datetime of a scenario can advance. More...
 
enum  diguyDatetimeNetworkMode { DIGUY_DATETIME_NETWORK_MODE_LOCAL_ONLY = 0, DIGUY_DATETIME_NETWORK_MODE_BROADCAST, DIGUY_DATETIME_NETWORK_MODE_RECEIVE }
  DIGUY_DATETIME_NETWORK_MODE_LOCAL_ONLY More...
 
typedef int diguyCharacterFeelerNumber
 This enumeration lists the standard feelers used for static object avoidance used by I-Guy and agent characters. More...
 
const char * diguy_subregion_index_to_string (diguySubregionIndex subregion_index)
 
diguySubregionIndex diguy_subregion_index_from_string (const char *string)
 

DI-Guy Physics Enumerations

enum  diguySpeedUnits { DIGUY_SPEED_UNITS_METERS_PER_SECOND = 0, DIGUY_SPEED_UNITS_KILOMETERS_PER_HOUR, DIGUY_SPEED_UNITS_MILES_PER_HOUR }
 This enumeration lists units of speed that can be passed to some DI-Guy API functions. More...
 
enum  diguyCharacterSimulator {
  DIGUY_CHARACTER_SIMULATOR_UNSET = 0, DIGUY_CHARACTER_SIMULATOR_DIGUY_MOTION_ENGINE, DIGUY_CHARACTER_SIMULATOR_DIGUY_CHAIN_SIMULATOR, DIGUY_CHARACTER_SIMULATOR_DIGUY_VEHICLE_SIMULATOR,
  DIGUY_CHARACTER_SIMULATOR_PHYSICS_SIM_MODULE
}
 This enumeration lists the ways that data can be generated for DI-Guy characters. More...
 
enum  diguyPhysicsSimulationMode { DIGUY_PHYSICS_SIMULATION_MODE_UNSET = 0, DIGUY_PHYSICS_SIMULATION_MODE_SIM_DRIVES_CHARACTER, DIGUY_PHYSICS_SIMULATION_MODE_CHARACTER_DRIVES_SIM, DIGUY_PHYSICS_SIMULATION_MODE_CHARACTER_DRIVES_SIM_GOAL_DATA }
 This enumeration lists the modes that a DI-Guy character physics sim can be in, when the character simulator is set to DIGUY_CHARACTER_SIMULATOR_PHYSICS_SIM_MODULE. More...
 
enum  diguyPhysicsCollisionGroup {
  DIGUY_PHYSICS_COLLISION_GROUP_CHARACTER0, DIGUY_PHYSICS_COLLISION_GROUP_CHARACTER1, DIGUY_PHYSICS_COLLISION_GROUP_CHARACTER2, DIGUY_PHYSICS_COLLISION_GROUP_CHARACTER3,
  DIGUY_PHYSICS_COLLISION_GROUP_CHARACTER_EVERYTHING, DIGUY_PHYSICS_COLLISION_GROUP_CHARACTER_GHOST, DIGUY_PHYSICS_COLLISION_GROUP_PROP0, DIGUY_PHYSICS_COLLISION_GROUP_PROP1,
  DIGUY_PHYSICS_COLLISION_GROUP_PROP2, DIGUY_PHYSICS_COLLISION_GROUP_PROP3, DIGUY_PHYSICS_COLLISION_GROUP_SCENE_OBJECT0, DIGUY_PHYSICS_COLLISION_GROUP_SCENE_OBJECT1,
  DIGUY_PHYSICS_COLLISION_GROUP_SCENE_OBJECT2, DIGUY_PHYSICS_COLLISION_GROUP_SCENE_OBJECT3, DIGUY_PHYSICS_COLLISION_GROUP_EFFECT0, DIGUY_PHYSICS_COLLISION_GROUP_COUNT
}
 This enumeration lists the collision groups that a DI-Guy physics sim object can be in. More...
 
enum  diguyVehicleSimulationMode {
  DIGUY_VEHICLE_SIMULATION_MODE_DEFAULT = 0, DIGUY_VEHICLE_SIMULATION_MODE_NONE, DIGUY_VEHICLE_SIMULATION_MODE_REAR_AXLE_FOLLOWING, DIGUY_VEHICLE_SIMULATION_MODE_WHEELS,
  DIGUY_VEHICLE_SIMULATION_MODE_STEERING, DIGUY_VEHICLE_SIMULATION_MODE_FULL_PHYSICS
}
 This enumeration lists the modes that the DI-Guy vehicle simulator can be in. More...
 
const char * diguy_vehicle_simulation_mode_to_string (diguyVehicleSimulationMode mode)
 
diguyVehicleSimulationMode diguy_vehicle_simulation_mode_from_string (const char *string)
 

Macro Definition Documentation

#define CPLUSPLUS_ONLY
#define DIGUY_PI   (3.14159265358979323f)

DI-Guy radians and degrees conversion factors.

#define DIGUY_RAD2DEG   (180.0f / DIGUY_PI)
#define DIGUY_DEG2RAD   (DIGUY_PI / 180.0f)
#define DIGUY_DEFAULT_FLOAT   (-16384.0f)

This value is a magic number that, when passed to certain functions, means that the function should use or compute an appropriate default value for the argument.

#define DIGUY_DEFAULT_INT   (-16384)

This value is a magic number that, when passed to certain functions, means that the function should use or compute an appropriate default value for the argument.

#define DIGUY_LOAD_MANAGER_NUM_ZONES   (4)
#define DIGUY_LOAD_MANAGER_NUM_NONVISIBLE_ZONE_INDEX   (3)

Typedef Documentation

This enumeration lists the standard feelers used for static object avoidance used by I-Guy and agent characters.

Enumeration Type Documentation

DI-Guy callbacks return a value of type diguyCallbackReturn, which will be DIGUY_CALLBACK_STOP or DIGUY_CALLBACK_CONTINUE.

If the callback returns DIGUY_CALLBACK_STOP, the default handler of the function will not be called; the callback is asserting that it has done everything necessary for the function call. If the callback returns DIGUY_CALLBACK_CONTINUE, the default handler for the function will be called after the callback.

Enumerator
DIGUY_CALLBACK_STOP 
DIGUY_CALLBACK_CONTINUE 

This enumeration allows type map fields to be queried using a numerical value rather than a string name of the field.

See the top-level description of the diguyCharacterTypeMap for information about what each field means.

These enumerated values are equivalent to the following field names: "unknown" "character_class" "category" "subcategory" "sex" "age" "race" "country" "military_branch" "carried_object" (Number of fields)

Enumerator
DIGUY_CHARACTER_TYPE_MAP_FIELD_UNKNOWN 
DIGUY_CHARACTER_TYPE_MAP_FIELD_CHARACTER_CLASS 
DIGUY_CHARACTER_TYPE_MAP_FIELD_CATEGORY 
DIGUY_CHARACTER_TYPE_MAP_FIELD_SUBCATEGORY 
DIGUY_CHARACTER_TYPE_MAP_FIELD_SEX 
DIGUY_CHARACTER_TYPE_MAP_FIELD_AGE 
DIGUY_CHARACTER_TYPE_MAP_FIELD_RACE 
DIGUY_CHARACTER_TYPE_MAP_FIELD_COUNTRY 
DIGUY_CHARACTER_TYPE_MAP_FIELD_MILITARY_BRANCH 
DIGUY_CHARACTER_TYPE_MAP_FIELD_CARRIED_OBJECT 
DIGUY_CHARACTER_TYPE_MAP_FIELD_COUNT 

DI-Guy character classes.

This is a high-level description of the type of thing a character represents.

Enumerator
DIGUY_CHARACTER_CLASS_UNKNOWN 
DIGUY_CHARACTER_CLASS_HUMAN 
DIGUY_CHARACTER_CLASS_VEHICLE 
DIGUY_CHARACTER_CLASS_OBJECT 
DIGUY_CHARACTER_CLASS_EFFECT 
DIGUY_CHARACTER_CLASS_ANIMAL 
DIGUY_CHARACTER_CLASS_HUMAN_ON_VEHICLE 
DIGUY_CHARACTER_CLASS_HUMAN_ON_OBJECT 
DIGUY_CHARACTER_CLASS_HUMAN_ON_ANIMAL 
DIGUY_CHARACTER_CLASS_OTHER 
DIGUY_CHARACTER_CLASS_COUNT 

DI-Guy character appearance query API, this is for diguyCharacter::get_num_appearances_of_type()

Enumerator
DIGUY_APPEARANCE_BODY 
DIGUY_APPEARANCE_HEAD 
DIGUY_APPEARANCE_EXPRESSIVE_HEAD 
DIGUY_APPEARANCE_HAND_ITEM 
DIGUY_APPEARANCE_TYPES_COUNT 

This enumeration lists various types of texture atlases.

Enumerator
DIGUY_TEXTURE_ARM_PATCH 
DIGUY_TEXTURE_RANK_PATCH 

This is an enumeration of the different modes a DI-Guy character can be in.

See diguyCharacter::get_action_mode(), diguyCharacter::get_position_mode().

Enumerator
DIGUY_CHARACTER_MODE_PATH 
DIGUY_CHARACTER_MODE_FREE 
DIGUY_CHARACTER_MODE_COUNT 

This is an enumeration of the different parameter comparison options that can be specified to various DI-Guy function calls, such as diguyCharacter::get_action_from_description().

Enumerator
DIGUY_PARAMETER_COMPARISON_NEAREST 
DIGUY_PARAMETER_COMPARISON_EQUAL 
DIGUY_PARAMETER_COMPARISON_GREATER 
DIGUY_PARAMETER_COMPARISON_LESS 
DIGUY_PARAMETER_COMPARISON_COUNT 

This is an enumeration of the different muzzles that can be specified to various DI-Guy function calls, such as diguyCharacter::set_default_weapon_muzzle() and diguyCharacter::fire_weapon().

Enumerator
DIGUY_MUZZLE_DEFAULT 
DIGUY_MUZZLE_RIFLE 
DIGUY_MUZZLE_GRENADE_LAUNCHER 
DIGUY_MUZZLE_ACCESSORY1 
DIGUY_MUZZLE_TURRET1 
DIGUY_MUZZLE_COUNT 

This is an enumeration of the different impact types that are found in diguyImpact.

Enumerator
DIGUY_IMPACT_DIRECT_HIT 
DIGUY_IMPACT_NEARBY_DETONATION 
DIGUY_IMPACT_VEHICLE_COLLISION 
DIGUY_IMPACT_NO_IMPACT 
DIGUY_IMPACT_USER_GENERATED 

DI-Guy camera move modes.

In DI-Guy Scenario in Camera Input Mode, the movement mode of the camera determines what will happen when mouse buttons are pressed in the view window.

Enumerator
DIGUY_CAMERA_MOVE_DRAG 
DIGUY_CAMERA_MOVE_ORBIT 
DIGUY_CAMERA_MOVE_FORWARD 
DIGUY_CAMERA_MOVE_SIDEWAYS 
DIGUY_CAMERA_MOVE_VERTICAL 
DIGUY_CAMERA_MOVE_FLY 

Aspects of the DI-Guy camera that can be servoed.

Servoing can also be disabled on each of these.

Enumerator
DIGUY_CAMERA_SERVO_POSITION 
DIGUY_CAMERA_SERVO_ORIENTATION 
DIGUY_CAMERA_SERVO_FIX 

DI-Guy camera projection modes.

Enumerator
DIGUY_CAMERA_PROJECTION_PERSPECTIVE 
DIGUY_CAMERA_PROJECTION_PLANVIEW_XY 
DIGUY_CAMERA_PROJECTION_PLANVIEW_XZ 
DIGUY_CAMERA_PROJECTION_PLANVIEW_YZ 

DI-Guy fog modes.

Enumerator
DIGUY_FOG_MODE_DISABLED 
DIGUY_FOG_MODE_EXP 
DIGUY_FOG_MODE_EXP2 
DIGUY_FOG_MODE_LINEAR 
DIGUY_FOG_MODE_PIX_EXP 
DIGUY_FOG_MODE_PIX_EXP2 
DIGUY_FOG_MODE_PIX_LINEAR 

DI-Guy history types.

Enumerator
DIGUY_HISTORY_TYPE_NONE 
DIGUY_HISTORY_TYPE_COMPLETE 
DIGUY_HISTORY_TYPE_FIRST 
DIGUY_HISTORY_TYPE_LAST 
DIGUY_HISTORY_TYPE_PARTIAL 
anonymous enum

DI-Guy renderer class ids.

Enumerator
DIGUY_CLASSID_START 
DIGUY_CLASSID_CREATURE 
DIGUY_CLASSID_LINK 
DIGUY_CLASSID_SHAPE 
DIGUY_CLASSID_CHARACTER 
DIGUY_CLASSID_SCENE_OBJECT 
DIGUY_CLASSID_PATH 
DIGUY_CLASSID_PATH_SHAPE 
DIGUY_CLASSID_SENSOR_REGION 

DI-Guy renderer pass masks, set via diguyApp::set_render_pass_flags().

DIGUY_RENDER_PASS_SKIP_PARTICLES

 Particle rendering is skipped.

DIGUY_RENDER_PASS_USE_STORED_LOD_SETTINGS

 LOD recalculation is skipped (for built-in OGL pipeline).

DIGUY_RENDER_PASS_REFLECTION

 Internal use; water reflection objects are skipped.

DIGUY_RENDER_PASS_SHADOW

 Shadow pass assumed; water, environmental effects are skipped.

DIGUY_RENDER_PASS_INTERSECTION

 Pick pass assumed; link and shape colors are sent.

DIGUY_RENDER_PASS_DEBUGGING

Used for Shader debugging visualization

DIGUY_RENDER_PASS_TRANSPARENCY_DEBUGGING ,

Used to skip the 2nd render pass optimizations. Assumes that work normally done in pass1 needs to be redone.
Enumerator
DIGUY_RENDER_PASS_SKIP_PARTICLES 
DIGUY_RENDER_PASS_USE_STORED_LOD_SETTINGS 
DIGUY_RENDER_PASS_REFLECTION 
DIGUY_RENDER_PASS_SHADOW 
DIGUY_RENDER_PASS_INTERSECTION 
DIGUY_RENDER_PASS_DEBUGGING 
DIGUY_RENDER_PASS_TRANSPARENCY_DEBUGGING 
DIGUY_RENDER_PASS_WIREFRAME_PASS 
DIGUY_RENDER_PASS_TEXTURE_SIZE_DEBUGGING 
Enumerator
DIGUY_LOAD_INSTANTLY 
DIGUY_LOAD_PRIORITY_ASYNC 
DIGUY_LOAD_ASYNC 
anonymous enum

DI-Guy error codes.

Enumerator
DIGUY_ERROR 
DIGUY_ERROR_LICENSE_FAILURE 
DIGUY_ERROR_LICENSE_SOFTWARE_INITIALIZATION_ERROR 
DIGUY_ERROR_LICENSE_NOT_FOUND 
DIGUY_ERROR_LICENSE_EXPIRED 
DIGUY_ERROR_LICENSE_VERSION_MISMATCH 
DIGUY_ERROR_LICENSE_COUNT_TOO_LOW 
DIGUY_ERROR_LICENSE_FILE_NOT_FOUND 
DIGUY_ERROR_LICENSE_SERVER_ERROR 
DIGUY_ERROR_LICENSE_NO_DONGLE 
DIGUY_ERROR_LICENSE_NO_DONGLE_DRIVER 
DIGUY_ERROR_LICENSE_UNKNOWN_ERROR 
DIGUY_ERROR_GRAPHICS_SUBSYSTEM_INIT_FAILED 
DIGUY_ERROR_SIMULATION_SUBSYSTEM_INIT_FAILED 
DIGUY_ERROR_DATA_INSTALLATION_MISSING 
DIGUY_ERROR_DATA_VERSION_TOO_LOW 
DIGUY_ERROR_RENDERER_LICENSE_CHECK_FAILED 
anonymous enum

DI-Guy vector indices.

Enumerator
DIGUY_VEC_X 
DIGUY_VEC_Y 
DIGUY_VEC_Z 
DIGUY_VEC_W 
DIGUY_VEC_RZ 
DIGUY_VEC_RX 
DIGUY_VEC_RY 
DIGUY_VEC_QX 
DIGUY_VEC_QY 
DIGUY_VEC_QZ 
DIGUY_VEC_QW 

DI-Guy graphics joint types.

Enumerator
DIGUY_GRAPHICS_JOINT_TYPE_UNKNOWN 
DIGUY_GRAPHICS_JOINT_TYPE_FROZEN 
DIGUY_GRAPHICS_JOINT_TYPE_PIN 
DIGUY_GRAPHICS_JOINT_TYPE_SLIDER 
DIGUY_GRAPHICS_JOINT_TYPE_CYLINDER 
DIGUY_GRAPHICS_JOINT_TYPE_UNIVERSAL 
DIGUY_GRAPHICS_JOINT_TYPE_PLANAR 
DIGUY_GRAPHICS_JOINT_TYPE_GIMBAL 
DIGUY_GRAPHICS_JOINT_TYPE_BALL 
DIGUY_GRAPHICS_JOINT_TYPE_6DOF 
DIGUY_GRAPHICS_JOINT_TYPE_TRANSLATION_AND_PIN 
DIGUY_GRAPHICS_JOINT_TYPE_TRANSLATION_AND_GIMBAL 
DIGUY_GRAPHICS_JOINT_TYPE_COUNT 
anonymous enum

When a scene is rendered in order to select a DI-Guy object from, say, a mouse click, the type of object selected is identified by this enumeration.

Enumerator
DIGUY_TYPE_UID_BASE_NOTHING 
DIGUY_TYPE_UID_BASE_CHARACTER 
DIGUY_TYPE_UID_BASE_CHARACTER_LINK 
DIGUY_TYPE_UID_BASE_CHARACTER_SHAPE 
DIGUY_TYPE_UID_BASE_CHARACTER_PATH 
DIGUY_TYPE_UID_BASE_CHARACTER_PATH_WAYPOINT 
DIGUY_TYPE_UID_BASE_CHARACTER_BEAD 
DIGUY_TYPE_UID_BASE_CROWD 
DIGUY_TYPE_UID_BASE_REGION 
DIGUY_TYPE_UID_BASE_LABEL 
DIGUY_TYPE_UID_BASE_PATH_SHAPE 
DIGUY_TYPE_UID_BASE_PATH_SHAPE_WAYPOINT 
DIGUY_TYPE_UID_BASE_SCENE_OBJECT 
DIGUY_TYPE_UID_BASE_SENSOR_REGION 
DIGUY_TYPE_UID_BASE_OTHER 
DIGUY_TYPE_UID_BASE_USER 
DIGUY_TYPE_UID_BASE_COUNT 

This enumeration identifies which playback mode time should follow.

Only valid inside DI-Guy Scenario.

Enumerator
DIGUY_SCENARIO_PLAYBACK_MODE_STOP 
DIGUY_SCENARIO_PLAYBACK_MODE_PLAY 
DIGUY_SCENARIO_PLAYBACK_MODE_PLAY_REVERSE 
DIGUY_SCENARIO_PLAYBACK_MODE_FF 
DIGUY_SCENARIO_PLAYBACK_MODE_FF_REVERSE 
DIGUY_SCENARIO_PLAYBACK_MODE_SS 
DIGUY_SCENARIO_PLAYBACK_MODE_SS_REVERSE 
DIGUY_SCENARIO_PLAYBACK_MODE_REWIND 
DIGUY_SCENARIO_PLAYBACK_MODE_COUNT 

This enumeration lists the visibility options for various objects in the DI-Guy Scenario environment.

Enumerator
DIGUY_VISIBLE_NONE 
DIGUY_VISIBLE_CURRENT 
DIGUY_VISIBLE_ALL 
DIGUY_VISIBLE_PER_OBJECT 

This enumeration lists which parts of a visual object may need to be updated.

The values can be or-ed together.

DIGUY_GRAPHICS_VISUAL_UPDATE_NONE

 Nothing in the visual needs to be updated.

DIGUY_GRAPHICS_VISUAL_UPDATE_GEOMETRY

 The overall geometry of the visual needs to be updated.  This means
 that vertices and other parts of polygons need to be recalculated.

DIGUY_GRAPHICS_VISUAL_UPDATE_POSITION

 The position and/or orientation of the visual needs to be updated.
 The overall geometry of the visual (polygons, lines, etc.) remains
 unchanged.

DIGUY_GRAPHICS_VISUAL_UPDATE_MATERIAL

 The material of the visual needs to be updated.  This can include
 color, fill options, line width, etc.  The geometry and position of
 the visual remain the same.

DIGUY_GRAPHICS_VISUAL_UPDATE_ALL

 All aspects of the visual need to be updated.
Enumerator
DIGUY_GRAPHICS_VISUAL_UPDATE_NONE 
DIGUY_GRAPHICS_VISUAL_UPDATE_GEOMETRY 
DIGUY_GRAPHICS_VISUAL_UPDATE_POSITION 
DIGUY_GRAPHICS_VISUAL_UPDATE_MATERIAL 
DIGUY_GRAPHICS_VISUAL_UPDATE_ALL 

DI-Guy Euler angle orders.

ZXY is the order most commonly used in DIGuy. The meaning is: "rotate around object's z axis (yaw), then its x axis (roll), then its y axis (pitch)."

However, the DI-Guy camera system uses ZYX, since that's more intuitive.

Enumerator
DIGUY_EULER_ANGLE_ORDER_ZXY 
DIGUY_EULER_ANGLE_ORDER_ZYZ 
DIGUY_EULER_ANGLE_ORDER_XYZ 
DIGUY_EULER_ANGLE_ORDER_XZY 
DIGUY_EULER_ANGLE_ORDER_YXZ 
DIGUY_EULER_ANGLE_ORDER_YZX 
DIGUY_EULER_ANGLE_ORDER_ZYX 

This enumeration is used for various variables in the diguyScenarioMergeSettings object.

In general it tells the diguyScenario::merge() function whether to load objects of a specified type at all, and if so, what to do if a merged object conflicts with an existing object.

DIGUY_MERGE_FLAG_DONT_MERGE

 Objects in the merged scenario are not loaded.

DIGUY_MERGE_FLAG_OVERWRITE_EXISTING

 Objects in the merged scenario are loaded.

 In the case of a conflict, the exiting object is overwritten
 with the values of the merge object.

DIGUY_MERGE_FLAG_KEEP_BOTH

 Objects in the merged scenario are loaded.

 In the case of a conflict, both the exiting object
 and the merge object are kept, with no modifications.
 Note that this will leave some ambiguity of referencing
 objects by name.  A warning will be printed.

 Note that this value is here to allow for backward
 compatibility; it is not recommended for general use.

DIGUY_MERGE_FLAG_KEEP_EXISTING_ONLY

 Objects in the merged scenario are loaded.

 In the case of a conflict, the exiting object is kept
 as is and the merge object is discarded.

DIGUY_MERGE_FLAG_KEEP_EXISTING_ONLY_AND_WARN

 Same as DIGUY_MERGE_FLAG_KEEP_EXISTING, but also prints
 a warning.

DIGUY_MERGE_FLAG_RENAME_MERGED

 Objects in the merged scenario are loaded.

 In the case of a conflict, both the exiting object
 and the merge object are kept, but the merged object
 is renamed.

DIGUY_MERGE_FLAG_RENAME_MERGED_AND_WARN

 Same as DIGUY_MERGE_FLAG_RENAME_MERGED, but also prints
 a warning.

DIGUY_MERGE_FLAG_RENAME_MERGED_IF_NOT_EQUAL

 Objects in the merged scenario are loaded.

 In the case of a conflict, the existing object and merged
 object are checked for "equality".  If they are the same,
 the existing object will be kept and the merge object will
 be discarded.  If they are different, both objects will
 be kept, but the merge object will be renamed.
Enumerator
DIGUY_MERGE_FLAG_DONT_MERGE 
DIGUY_MERGE_FLAG_OVERWRITE_EXISTING 
DIGUY_MERGE_FLAG_KEEP_BOTH 
DIGUY_MERGE_FLAG_KEEP_EXISTING_ONLY 
DIGUY_MERGE_FLAG_KEEP_EXISTING_ONLY_AND_WARN 
DIGUY_MERGE_FLAG_RENAME_MERGED 
DIGUY_MERGE_FLAG_RENAME_MERGED_AND_WARN 
DIGUY_MERGE_FLAG_RENAME_MERGED_IF_NOT_EQUAL 

This enumeration tells DI-Guy what values to use as defaults when the diguyScenario::create_merge_settings() functions is called.

See the documentation for that function for details on what the different values mean.

Enumerator
DIGUY_MERGE_INITIAL_SETTINGS_DEFAULT 
DIGUY_MERGE_INITIAL_SETTINGS_MERGE_EVERYTHING 
DIGUY_MERGE_INITIAL_SETTINGS_MERGE_NOTHING 
DIGUY_MERGE_INITIAL_SETTINGS_DIGUY6_COMPATIBLE 
DIGUY_MERGE_INITIAL_SETTINGS_PASTE 

This enumeration tells DI-Guy which scenario elements should be reset after the merge is complete.

Enumerator
DIGUY_MERGE_RESET_NONE 
DIGUY_MERGE_RESET_MERGED 
DIGUY_MERGE_RESET_ALL 

This enumeration lists the cursors returnable by the plugin function get_cursor().

DIGUY_PLUGIN_MOUSE_CURSOR_NONE

 Plugin takes responsibility for drawing cursor, if any.

DIGUY_PLUGIN_MOUSE_CURSOR_LEFT_ARROW

 The standard window-system left arrow cursor is shown.

DIGUY_PLUGIN_MOUSE_CURSOR_CROSSHAIR

 Crosshair (plus-shaped) cursor is shown.

DIGUY_PLUGIN_MOUSE_CURSOR_POINTING_HAND

 Pointing hand cursor is shown.

DIGUY_PLUGIN_MOUSE_CURSOR_FORBIDDEN

 Action forbidden cursor is shown.
Enumerator
DIGUY_PLUGIN_MOUSE_CURSOR_NONE 
DIGUY_PLUGIN_MOUSE_CURSOR_LEFT_ARROW 
DIGUY_PLUGIN_MOUSE_CURSOR_CROSSHAIR 
DIGUY_PLUGIN_MOUSE_CURSOR_POINTING_HAND 
DIGUY_PLUGIN_MOUSE_CURSOR_FORBIDDEN 

This enumeration lists which cross-sections are available for DI-Guy chain simulation visuals.

DIGUY_CHAIN_CROSS_SECTION_SQUARE

 The square cross-section is good for tube-like visuals, such as
 hoses.  The normals of the square cross-section point radially
 outward from the center, giving the visual a rounded, tube-like
 appearance.

DIGUY_CHAIN_CROSS_SECTION_PLUS

 The plus cross-section is good for thin, chain-like visuals.

DIGUY_CHAIN_CROSS_SECTION_COIL

 The coil cross-section is good for wires.  The chain masses are
 connected by line segments.
Enumerator
DIGUY_CHAIN_CROSS_SECTION_SQUARE 
DIGUY_CHAIN_CROSS_SECTION_PLUS 
DIGUY_CHAIN_CROSS_SECTION_COIL 

This enumeration lists the input modes available in DI-Guy Scenario views (3D windows) and for DI-Guy Author.

Enumerator
DIGUY_SCENARIO_INPUT_MODE_NONE 
DIGUY_SCENARIO_INPUT_MODE_CAMERA 
DIGUY_SCENARIO_INPUT_MODE_PEOPLE_BLITZER 
DIGUY_SCENARIO_INPUT_MODE_WAYPOINT_MOVE 
DIGUY_SCENARIO_INPUT_MODE_WAYPOINT_CREATE 
DIGUY_SCENARIO_INPUT_MODE_BEAD_MOVE 
DIGUY_SCENARIO_INPUT_MODE_BEAD_CREATE 
DIGUY_SCENARIO_INPUT_MODE_SENSOR_REGION_MOVE 
DIGUY_SCENARIO_INPUT_MODE_SENSOR_REGION_CREATE 
DIGUY_SCENARIO_INPUT_MODE_PLUGIN 
DIGUY_SCENARIO_INPUT_MODE_POINT_SELECT 
DIGUY_SCENARIO_INPUT_MODE_POINT_SELECT_WITH_CAMERA 
DIGUY_SCENARIO_INPUT_MODE_GROUP_MOVE 
DIGUY_SCENARIO_INPUT_MODE_CHARACTER_MOVE 
DIGUY_SCENARIO_INPUT_MODE_IGUY 
DIGUY_SCENARIO_INPUT_MODE_CROWD_EDITOR 
DIGUY_SCENARIO_INPUT_MODE_CROWD_BLITZER 
DIGUY_SCENARIO_INPUT_MODE_REGION_PAINTER 
DIGUY_SCENARIO_INPUT_MODE_NAVMESH_PAINTER 
DIGUY_SCENARIO_INPUT_MODE_COUNT 

This enumeration lists the windows that can be shown in the DI-Guy Scenario application.

Enumerator
DIGS_WINDOW_ALL_WINDOWS 
DIGS_WINDOW_TIME_CONTROL 
DIGS_WINDOW_INPUT_MODE 
DIGS_WINDOW_ACTION_SPREADSHEET 
DIGS_WINDOW_SIGNAL_PALETTE 
DIGS_WINDOW_SCENARIO_ELEMENTS 
DIGS_WINDOW_CHARACTER_ELEMENTS 
DIGS_WINDOW_DIGUY_AI_ELEMENTS 
DIGS_WINDOW_CROWD_ELEMENTS 
DIGS_WINDOW_VIEW_SETTINGS 
DIGS_WINDOW_EVENT_HANDLERS 
DIGS_WINDOW_NETWORK_SETTINGS 
DIGS_WINDOW_LOG 
DIGS_WINDOW_MOVIE_SETTINGS 
DIGS_WINDOW_SECONDARY_3D_VIEW_0 
DIGS_WINDOW_SECONDARY_3D_VIEW_1 
DIGS_WINDOW_SECONDARY_3D_VIEW_2 
DIGS_WINDOW_SECONDARY_3D_VIEW_3 
DIGS_WINDOW_SECONDARY_3D_VIEW_4 
DIGS_WINDOW_SECONDARY_3D_VIEW_5 
DIGS_WINDOW_SECONDARY_3D_VIEW_6 
DIGS_WINDOW_SECONDARY_3D_VIEW_7 
DIGS_WINDOW_SECONDARY_3D_VIEW_8 
DIGS_WINDOW_COUNT 

This enumeration lists different types of editing actions that can be performed in the DI-Guy Scenario application.

Enumerator
DIGS_EDIT_ACTION_FILE_OPEN 
DIGS_EDIT_ACTION_FILE_MERGE 
DIGS_EDIT_ACTION_FILE_SAVE 
DIGS_EDIT_ACTION_FILE_SAVE_AS 
DIGS_EDIT_ACTION_FILE_CLOSE 
DIGS_EDIT_ACTION_FILE_SAVE_REVIEW_DATA 
DIGS_EDIT_ACTION_FILE_LOAD_REVIEW_DATA 
DIGS_EDIT_ACTION_FILE_EXIT 
DIGS_EDIT_ACTION_EDIT_UNDO 
DIGS_EDIT_ACTION_EDIT_CUT 
DIGS_EDIT_ACTION_EDIT_COPY 
DIGS_EDIT_ACTION_EDIT_PASTE 
DIGS_EDIT_ACTION_EDIT_DELETE 
DIGS_EDIT_ACTION_EDIT_PREFERENCES 
DIGS_EDIT_ACTION_HELP_KEY_MAPPINGS 
DIGS_EDIT_ACTION_HELP_ABOUT 
DIGS_EDIT_ACTION_HELP_API_DOCS 
DIGS_EDIT_ACTION_COUNT 
anonymous enum

This enumeration lists "special" (non-ASCII) keys that DI-Guy plugins may respond to.

(These enumerations currently match the Qt 4 Qt::Key_* values.)

Enumerator
DIGUY_SPECIAL_KEY_MIN 
DIGUY_SPECIAL_KEY_ESC 
DIGUY_SPECIAL_KEY_TAB 
DIGUY_SPECIAL_KEY_BACKTAB 
DIGUY_SPECIAL_KEY_BACKSPACE 
DIGUY_SPECIAL_KEY_RETURN 
DIGUY_SPECIAL_KEY_ENTER 
DIGUY_SPECIAL_KEY_INSERT 
DIGUY_SPECIAL_KEY_DELETE 
DIGUY_SPECIAL_KEY_PAUSE 
DIGUY_SPECIAL_KEY_PRINT 
DIGUY_SPECIAL_KEY_HOME 
DIGUY_SPECIAL_KEY_END 
DIGUY_SPECIAL_KEY_LEFT 
DIGUY_SPECIAL_KEY_UP 
DIGUY_SPECIAL_KEY_RIGHT 
DIGUY_SPECIAL_KEY_DOWN 
DIGUY_SPECIAL_KEY_PAGE_UP 
DIGUY_SPECIAL_KEY_PAGE_DOWN 
DIGUY_SPECIAL_KEY_SHIFT 
DIGUY_SPECIAL_F1 
DIGUY_SPECIAL_F2 
DIGUY_SPECIAL_F3 
DIGUY_SPECIAL_F4 
DIGUY_SPECIAL_F5 
DIGUY_SPECIAL_F6 
DIGUY_SPECIAL_F7 
DIGUY_SPECIAL_F8 
DIGUY_SPECIAL_F9 
DIGUY_SPECIAL_F10 
DIGUY_SPECIAL_F11 
DIGUY_SPECIAL_F12 
DIGUY_SPECIAL_KEY_MAX 

DI-Guy aim algorithms.

Enumerator
DIGUY_AIM_ALGORITHM_7 
DIGUY_AIM_ALGORITHM_8 

This enumeration lists the methods available for collision detection and avoidance against dynamic objects.

DIGUY_DYNAMIC_AVOIDANCE_METHOD_DISABLED

 Dynamic objects are not detected or avoided.  In effect this means
 that characters will walk through each other.

 If a crowd is far away from the viewpoint, it is not obvious that
 this is happening.  Disabling the crowd's dynamic avoidance can
 reduce the overhead of the crowd on performance.

DIGUY_DYNAMIC_AVOIDANCE_METHOD_REPULSION_ZONES

 Characters are surrounded by zones of repulsion.  Other characters
 that enter these zones have their position, orientation, and/or
 action changed to try to get out of the zones.

DIGUY_DYNAMIC_AVOIDANCE_METHOD_SIMPLE

 This is an experimental method that is still being developed.
 It should not be used for now.
Enumerator
DIGUY_DYNAMIC_AVOIDANCE_METHOD_DISABLED 
DIGUY_DYNAMIC_AVOIDANCE_METHOD_REPULSION_ZONES 
DIGUY_DYNAMIC_AVOIDANCE_METHOD_REPULSION_ZONES_AND_PROJECTED_FORCES 

This enumeration lists the methods available for collision detection and avoidance against static objects in the environment.

These are usually scene objects and non-moving props.

DIGUY_STATIC_AVOIDANCE_METHOD_DISABLED

 Static objects are not detected or avoided.  In effect this means
 that characters can walk through walls.

 If a crowd is not near any buildings, walls, or solid objects,
 disabling static avoidance can reduce the overhead of the crowd
 on performance.

DIGUY_STATIC_AVOIDANCE_METHOD_FEELERS

 The character uses 'feelers' to detect static objects and turn
 away from them.
Enumerator
DIGUY_STATIC_AVOIDANCE_METHOD_DISABLED 
DIGUY_STATIC_AVOIDANCE_METHOD_FEELERS 
anonymous enum
Enumerator
DIGUY_CHARACTER_FEELER_F 
DIGUY_CHARACTER_FEELER_FR 
DIGUY_CHARACTER_FEELER_FL 
DIGUY_CHARACTER_FEELER_L 
DIGUY_CHARACTER_FEELER_R 
DIGUY_CHARACTER_FEELER_BL 
DIGUY_CHARACTER_FEELER_BR 
DIGUY_CHARACTER_FEELER_B 
DIGUY_CHARACTER_FEELER_COUNT 

This enumeration lists the state character feelers may be in.

DIGUY_CHARACTER_FEELER_STATUS_NO_CONTACT

 Feeler is not in contact with anything.

DIGUY_CHARACTER_FEELER_STATUS_CONTACT_TURN

 Feeler is in contact with an object just enough to cause the
 character to begin to turn.

DIGUY_CHARACTER_FEELER_STATUS_CONTACT_COLLIDE

 Feeler is in close contact with an object.  The object should be
 pushing the character away.

DIGUY_CHARACTER_FEELER_STATUS_CONTACT_TURN_AND_COLLIDE

 Feeler is within both turn and contact distances of an object.
Enumerator
DIGUY_CHARACTER_FEELER_STATUS_NO_CONTACT 
DIGUY_CHARACTER_FEELER_STATUS_CONTACT_TURN 
DIGUY_CHARACTER_FEELER_STATUS_CONTACT_COLLIDE 
DIGUY_CHARACTER_FEELER_STATUS_CONTACT_TURN_AND_COLLIDE 

This enumeration lists the turn directions a feeler can use when its status is DIGUY_CHARACTER_FEELER_STATUS_CONTACT_TURN.

DIGUY_CHARACTER_FEELER_TURN_DIRECTION_NONE

 Feeler does not turn the character.

DIGUY_CHARACTER_FEELER_TURN_DIRECTION_L

 Feeler turns the character to the left.

DIGUY_CHARACTER_FEELER_TURN_DIRECTION_R

 Feeler turns the character to the right.

DIGUY_CHARACTER_FEELER_TURN_DIRECTION_L_OR_R

 Feeler turns the character to the left or right, whichever
 will result in the turn behavior ending more quickly.
Enumerator
DIGUY_CHARACTER_FEELER_TURN_DIRECTION_NONE 
DIGUY_CHARACTER_FEELER_TURN_DIRECTION_L 
DIGUY_CHARACTER_FEELER_TURN_DIRECTION_R 
DIGUY_CHARACTER_FEELER_TURN_DIRECTION_L_OR_R 

Directions a character can be traveling on a navigation path (nav path).

The travel behavior of agents use nav paths.

Enumerator
DIGUY_NAV_PATH_DIRECTION_UNKNOWN 
DIGUY_NAV_PATH_DIRECTION_FORWARD 
DIGUY_NAV_PATH_DIRECTION_BACKWARD 
DIGUY_NAV_PATH_DIRECTION_COUNT 

What a character following a nav path will do once it reaches the end of a nav path.

The travel behavior of agents use nav paths.

DIGUY_NAV_PATH_AT_END_REVERSE

 Agent reverses direction on the nav path, going through waypoints
 in opposite order.

DIGUY_NAV_PATH_AT_END_LOOP

 Agent's next waypoint is waypoint 0.  Best when last waypoint and
 first waypoint are close to each other, as in a loop path.

DIGUY_NAV_PATH_AT_END_STOP

 Stop at the end, switching to behavior none.

DIGUY_NAV_PATH_AT_END_TELEPORT

 Teleport to the beginning.  In general agents should be out of view
 at the beginning and end of the path, if possible.
Enumerator
DIGUY_NAV_PATH_AT_END_UNKNOWN 
DIGUY_NAV_PATH_AT_END_REVERSE 
DIGUY_NAV_PATH_AT_END_LOOP 
DIGUY_NAV_PATH_AT_END_STOP 
DIGUY_NAV_PATH_AT_END_TELEPORT 
DIGUY_NAV_PATH_AT_END_SWITCH_BEHAVIOR 
DIGUY_NAV_PATH_AT_END_COUNT 

Errors various nav path functions may return.

Enumerator
DIGUY_NAV_PATH_ERROR_NONE 
DIGUY_NAV_PATH_ERROR_OUT_OF_TIME 
DIGUY_NAV_PATH_ERROR_SEARCH_QUEUED 
DIGUY_NAV_PATH_ERROR_UNKNOWN 
DIGUY_NAV_PATH_ERROR_INVALID_CANVAS_OR_REGION 
DIGUY_NAV_PATH_ERROR_INVALID_START_POINT 
DIGUY_NAV_PATH_ERROR_INVALID_END_POINT 
DIGUY_NAV_PATH_ERROR_INVALID_LENGTH 
DIGUY_NAV_PATH_ERROR_FAILED_TO_FIND_PATH 

Selection methods for records from crowd profiles.

Enumerator
DIGUY_CROWD_PROFILE_SELECTION_METHOD_RANDOM 
DIGUY_CROWD_PROFILE_SELECTION_METHOD_SEQUENTIAL 
DIGUY_CROWD_PROFILE_SELECTION_METHOD_NUM_METHODS 

DI-Guy agent repulsion zones for characters with dynamic avoidance method DIGUY_DYNAMIC_AVOIDANCE_METHOD_REPULSION_ZONES.

Enumerator
DIGUY_AGENT_REPULSION_NONE 
DIGUY_AGENT_REPULSION_LOW 
DIGUY_AGENT_REPULSION_MEDIUM 
DIGUY_AGENT_REPULSION_HIGH 
DIGUY_AGENT_REPULSION_SOLID 
DIGUY_AGENT_REPULSION_NUM_ZONES 

DI-Guy agent behaviors.

Following is a short description of each behavior. See the DI-Guy AI documentation for more details.

DIGUY_AGENT_BEHAVIOR_NONE

 Agent functionality is completely inactive.  The character's actions
 are determined by its character path or direct DI-Guy API calls.

DIGUY_AGENT_BEHAVIOR_TRAVEL

 Agent attempts to travel close to a path shape.  Many agents can use
 the same path shape for the travel behavior.

DIGUY_AGENT_BEHAVIOR_PATH_FOLLOW

 Similar to DIGUY_AGENT_BEHAVIOR_TRAVEL, but agent follows a
 character path instead of a path shape, and attempts to match the
 timing of the character path in addition to the path shape.  If the
 agent is interrupted from the path, it will attempt to resume it
 where it left off.

DIGUY_AGENT_BEHAVIOR_WANDER

 Agent wanders a region.  In this case wander means it will select a
 random point within the region and move close to it, and then wait
 there for a period of time before selecting a new point in the
 region.

DIGUY_AGENT_BEHAVIOR_MINGLE

 Similar to wander, but agents attempt to move together to various
 places in the region.

DIGUY_AGENT_BEHAVIOR_FLEE

 Agent attempts to move away from a specified character or point.

DIGUY_AGENT_BEHAVIOR_PURSUE

 Agent attempts to stay close to a specified character or member of a
 group.

DIGUY_AGENT_BEHAVIOR_ATTACK

 Similar to pursue, but once agents are close enough they will attack
 the target.

DIGUY_AGENT_BEHAVIOR_IDLE

 Agent has no particular automatic behavior; it follows its path or
 moves toward its desired position as set by
 diguyCharacter::set_desired_position().  It will affect other agents
 in its crowd, and if pushed away from its desired position it will
 move back to it.
Enumerator
DIGUY_AGENT_BEHAVIOR_UNKNOWN 
DIGUY_AGENT_BEHAVIOR_NONE 
DIGUY_AGENT_BEHAVIOR_TRAVEL 
DIGUY_AGENT_BEHAVIOR_PATH_FOLLOW 
DIGUY_AGENT_BEHAVIOR_WANDER 
DIGUY_AGENT_BEHAVIOR_FLEE 
DIGUY_AGENT_BEHAVIOR_PURSUE 
DIGUY_AGENT_BEHAVIOR_MINGLE 
DIGUY_AGENT_BEHAVIOR_ATTACK 
DIGUY_AGENT_BEHAVIOR_IDLE 
DIGUY_AGENT_BEHAVIOR_NUM_BEHAVIORS 

DI-Guy agent untrap methods.

Following is a short description of each untrap method. See the DI-Guy AI documentation for more details.

DIGUY_AGENT_UNTRAP_METHOD_NONE

 The agent makes no attempt to become untrapped.  This can result in
 the agent blindly walking into a wall until its desired position
 changes.

DIGUY_AGENT_UNTRAP_METHOD_NAV_PATH

 The agent will try to create a nav path in its current region to its
 desired position.  If the desired position is not inside the region,
 a valid nav path may not be able to be found.

DIGUY_AGENT_UNTRAP_METHOD_RANDOM_TURN

 The agent will stop moving and turn a random amount.  This minor
 course change can sometimes move a character around a small
 obstacle.

DIGUY_AGENT_UNTRAP_METHOD_GHOST

 Agent feelers will stop having an effect for a short time.  This
 allows the agent to walk through a wall toward its desired
 position.

DIGUY_AGENT_UNTRAP_METHOD_TELEPORT

 This is an extreme method, typically used as a last resort.  The
 agent abruptly teleports to its desired position.

DIGUY_AGENT_UNTRAP_METHOD_STOP_MOVING

 Somewhat similar to DIGUY_AGENT_UNTRAP_METHOD_NONE, but the current
 behavior of the agent is set to none, and the agent character's
 desired position is set to its current position.
Enumerator
DIGUY_AGENT_UNTRAP_METHOD_NONE 
DIGUY_AGENT_UNTRAP_METHOD_NAV_PATH 
DIGUY_AGENT_UNTRAP_METHOD_RANDOM_TURN 
DIGUY_AGENT_UNTRAP_METHOD_GHOST 
DIGUY_AGENT_UNTRAP_METHOD_TELEPORT 
DIGUY_AGENT_UNTRAP_METHOD_STOP_MOVING 
DIGUY_AGENT_UNTRAP_METHOD_NUM_METHODS 

DI-Guy region painting modes.

Painting modes identify what happens when a region paintbrush is used in some of the DI-Guy input modes.

DIGUY_REGION_PAINTBRUSH_MODE_ADDITIVE

 Painting will add area to the current subregion.  This may end up
 adding area to the base subregion, as well, as it contains at
 least the areas of all subregions.

DIGUY_REGION_PAINTBRUSH_MODE_ERASE

 Painting will remove area from the current subregion.  If the base
 subregion is erased, all matching areas in other subregions will be
 erased, as well.

DIGUY_REGION_PAINTBRUSH_MODE_UNGROUND_CLAMP

 Painting will remove area from the current subregion, will also remove
 the height value from the region and the next time the area is painted
 it will adopt the height values of the new paint command.

DIGUY_REGION_PAINTBRUSH_MODE_MOVE_MESH

 Moves the mesh to a new location in space and re-ground clamps

DIGUY_REGION_PAINTBRUSH_MODE_REACHABLE

 Painting reachable will indicate that this is a spot the path planner
 should be willing to traverse. Erasing Reachable colors the spot black
 and indicates that it's not crossable or paint-able.

DIGUY_REGION_PAINTBRUSH_INTERNAL_MODE_UPDATE_BEHAVIOR_PATH

 Internal use only.

DIGUY_REGION_PAINTBRUSH_INTERNAL_MODE_REPLACE

 Internal use only.
Enumerator
DIGUY_REGION_PAINTBRUSH_MODE_ADDITIVE 
DIGUY_REGION_PAINTBRUSH_MODE_ERASE 
DIGUY_REGION_PAINTBRUSH_MODE_UNGROUND_CLAMP 
DIGUY_REGION_PAINTBRUSH_MODE_MOVE_MESH 
DIGUY_REGION_PAINTBRUSH_MODE_REACHABLE 
DIGUY_REGION_PAINTBRUSH_INTERNAL_MODE_UPDATE_BEHAVIOR_PATH 
DIGUY_REGION_PAINTBRUSH_INTERNAL_MODE_REPLACE 
DIGUY_REGION_PAINTBRUSH_NUM_MODES 

DI-Guy subregions.

Regions are irregularly shaped areas in the scene that can be used in a number of ways.

Regions contain a number of subregions. Each subregion is represented by a different color, and most often the subregions are referred to by their color. Subregions are not mutually exclusive; a point in the scene may be in all of the base, populate, and green subregions, for example.

Many functions that take one subregion as an argument use the string name of the subregion.

Functions that can have multiple subregions specified use a subregion mask made up of diguySubregionMask values that can be or'ed together to indicate multiple valid subregions. See diguySubregionMask for more information.

DIGUY_SUBREGION_BASE

 This subregion is really a "super-region", in that its bounds contain
 all of the other subregions, and possibly more.

 If any subregion of a top-level region is expanded beyond the bounds
 of the base subregion, the base subregion will be expanded until
 it encompasses the expansion.

 If, however, a non-base subregion is subsequently shrunk, the base
 subregion will not shrink.

 If the base subregion is shrunk, any portion of each non-base
 subregion that is no longer in the base subregion will be removed.

DIGUY_SUBREGION_POPULATE

 The subregion into which new crowd agents will be placed if the
 region is populated or repopulated.  This subregion is typically
 purple.

DIGUY_SUBREGION_[color]

The "color" subregions are free to be used in any way a scenario designer wants. Their colors are based on their name.

DIGUY_SUBREGION_ROAD

 Road subregions are commonly used as preferred subregions for vehicle
 travel, and repulsion subregions for human travel.  This subregion
 is typically gray.

DIGUY_SUBREGION_SIDEWALK

 Sidewalk subregions are commonly used as preferred subregions for
 human travel, and repulsion subregions for vehicles.  This subregion
 is typically white.

DIGUY_SUBREGION_CROSSWALK

 Humans will tend to prefer crosswalk subregions over road subregions,
 but prefer sidewalk subregions over crosswalk subregions.  This
 subregion is typically a light yellow.
Enumerator
DIGUY_SUBREGION_BASE 
DIGUY_SUBREGION_POPULATE 
DIGUY_SUBREGION_RED 
DIGUY_SUBREGION_GREEN 
DIGUY_SUBREGION_BLUE 
DIGUY_SUBREGION_YELLOW 
DIGUY_SUBREGION_ORANGE 
DIGUY_SUBREGION_WHITE 
DIGUY_SUBREGION_ROAD 
DIGUY_SUBREGION_SIDEWALK 
DIGUY_SUBREGION_CROSSWALK 
DIGUY_SUBREGION_NUM_SUBREGIONS 

DI-Guy subregions mask values.

Example:

To specify that a function can use either the red or blue subregions, the following syntax is used.

In Perl or C++:

1 DIGUY_SUBREGION_MASK_RED | DIGUY_SUBREGION_MASK_BLUE

In Lua:

1 bit.bor( DIGUY_SUBREGION_MASK_RED, DIGUY_SUBREGION_MASK_BLUE,...)

Lua does not natively support bitfields, but support is automatically added via the "LuaBit" library located in $DIGUY/bin/lua/bit.lua.

Enumerator
DIGUY_SUBREGION_MASK_NONE 
DIGUY_SUBREGION_MASK_BASE 
DIGUY_SUBREGION_MASK_POPULATE 
DIGUY_SUBREGION_MASK_RED 
DIGUY_SUBREGION_MASK_GREEN 
DIGUY_SUBREGION_MASK_BLUE 
DIGUY_SUBREGION_MASK_YELLOW 
DIGUY_SUBREGION_MASK_ORANGE 
DIGUY_SUBREGION_MASK_WHITE 
DIGUY_SUBREGION_MASK_ROAD 
DIGUY_SUBREGION_MASK_SIDEWALK 
DIGUY_SUBREGION_MASK_CROSSWALK 

DI-Guy navigation mesh path planner cost masks.

These masks are used for handling navigation costs for path planning modes.

Enumerator
DIGUY_NAVMESH_SHORTEST_PATH 
DIGUY_NAVMESH_LEAST_VISIBLE 
DIGUY_NAVMESH_MESH_EDGE 
DIGUY_NAVMESH_MESH_EDGE_AND_LEAST_VIS 
DIGUY_NAVMESH_MESH_AVOID_EDGES 
Enumerator
DIGUY_TACTICS_UNIT_TYPE_UNKNOWN 
DIGUY_TACTICS_UNIT_TYPE_MARINE 
DIGUY_TACTICS_UNIT_TYPE_MARINE_FIRETEAM 
DIGUY_TACTICS_UNIT_TYPE_MARINE_SQUAD 
DIGUY_TACTICS_UNIT_TYPE_MARINE_PLATOON 
DIGUY_TACTICS_UNIT_TYPE_MARINE_COMPANY 
DIGUY_TACTICS_UNIT_TYPE_MARINE_BATTALION 
DIGUY_TACTICS_UNIT_TYPE_MARINE_REGIMENT 
DIGUY_TACTICS_UNIT_TYPE_MARINE_DIVISION 
DIGUY_TACTICS_UNIT_TYPE_MARINE_MARINE_CORPS 
DIGUY_TACTICS_UNIT_TYPE_ARMY_SOLDIER 
DIGUY_TACTICS_UNIT_TYPE_ARMY_SQUAD 
DIGUY_TACTICS_UNIT_TYPE_ARMY_PLATOON 
DIGUY_TACTICS_UNIT_TYPE_ARMY_COMPANY 
DIGUY_TACTICS_UNIT_TYPE_ARMY_BATTALION 
DIGUY_TACTICS_UNIT_TYPE_ARMY_BRIGADE 
DIGUY_TACTICS_UNIT_TYPE_ARMY_DIVISION 
DIGUY_TACTICS_UNIT_TYPE_ARMY_CORPS 
DIGUY_TACTICS_UNIT_TYPE_ARMY 

This enumeration lists the methods in which the datetime of a scenario can advance.

DIGUY_DATETIME_ADVANCE_METHOD_MANUAL

 Datetime does not advance automatically.  It can only be set
 manually, e.g. by a diguyScenario::set_current_datetime() call.

DIGUY_DATETIME_ADVANCE_METHOD_REAL_TIME_RATE

 Datetime advances at the same rate as realtime.

DIGUY_DATETIME_ADVANCE_METHOD_SIMULATION_TIME_RATE

 Datetime advances at the same rate as simulation time.
Enumerator
DIGUY_DATETIME_ADVANCE_METHOD_MANUAL 
DIGUY_DATETIME_ADVANCE_METHOD_REAL_TIME_RATE 
DIGUY_DATETIME_ADVANCE_METHOD_SIMULATION_TIME_RATE 

DIGUY_DATETIME_NETWORK_MODE_LOCAL_ONLY

Datetime data will be handled locally on this host. No data will be sent on the netword, and no data will be read from the network.

DIGUY_DATETIME_NETWORK_MODE_BROADCAST

 Datetime data will be sent from this host to other hosts in the
 network.  The datetime will be encoded in a custom
 DIGUY_CUSTOM_PDU_ID_BROADCAST_EXERCISE_DATETIME PDU.  In general
 there should be only one host on the network broadcasting datetime
 data; all others should receive or ignore it.

DIGUY_DATETIME_NETWORK_MODE_RECEIVE

 Datetime data will be read from the network from custom
 DIGUY_CUSTOM_PDU_ID_BROADCAST_EXERCISE_DATETIME PDUs.
Enumerator
DIGUY_DATETIME_NETWORK_MODE_LOCAL_ONLY 
DIGUY_DATETIME_NETWORK_MODE_BROADCAST 
DIGUY_DATETIME_NETWORK_MODE_RECEIVE 

This enumeration lists units of speed that can be passed to some DI-Guy API functions.

Note that if one of these values is used specifying an acceleration, add an implicit "per second" to the end. e.g., if 10.0 is passed as an acceleration, with units DIGUY_SPEED_UNITS_MILES_PER_HOUR, the resulting acceleration would be 10.0 miles per hour per second; or in other words, every 1 second speed would increase by 10.0 miles per hour.

Enumerator
DIGUY_SPEED_UNITS_METERS_PER_SECOND 
DIGUY_SPEED_UNITS_KILOMETERS_PER_HOUR 
DIGUY_SPEED_UNITS_MILES_PER_HOUR 

This enumeration lists the ways that data can be generated for DI-Guy characters.

Data typically comes from the DI-Guy motion engine, but at times may be generated by other simulation methods.

Enumerator
DIGUY_CHARACTER_SIMULATOR_UNSET 
DIGUY_CHARACTER_SIMULATOR_DIGUY_MOTION_ENGINE 
DIGUY_CHARACTER_SIMULATOR_DIGUY_CHAIN_SIMULATOR 
DIGUY_CHARACTER_SIMULATOR_DIGUY_VEHICLE_SIMULATOR 
DIGUY_CHARACTER_SIMULATOR_PHYSICS_SIM_MODULE 

This enumeration lists the modes that a DI-Guy character physics sim can be in, when the character simulator is set to DIGUY_CHARACTER_SIMULATOR_PHYSICS_SIM_MODULE.

Enumerator
DIGUY_PHYSICS_SIMULATION_MODE_UNSET 
DIGUY_PHYSICS_SIMULATION_MODE_SIM_DRIVES_CHARACTER 
DIGUY_PHYSICS_SIMULATION_MODE_CHARACTER_DRIVES_SIM 
DIGUY_PHYSICS_SIMULATION_MODE_CHARACTER_DRIVES_SIM_GOAL_DATA 

This enumeration lists the collision groups that a DI-Guy physics sim object can be in.

Characters in different collision groups may not have collisions calculated between them.

Enumerator
DIGUY_PHYSICS_COLLISION_GROUP_CHARACTER0 
DIGUY_PHYSICS_COLLISION_GROUP_CHARACTER1 
DIGUY_PHYSICS_COLLISION_GROUP_CHARACTER2 
DIGUY_PHYSICS_COLLISION_GROUP_CHARACTER3 
DIGUY_PHYSICS_COLLISION_GROUP_CHARACTER_EVERYTHING 
DIGUY_PHYSICS_COLLISION_GROUP_CHARACTER_GHOST 
DIGUY_PHYSICS_COLLISION_GROUP_PROP0 
DIGUY_PHYSICS_COLLISION_GROUP_PROP1 
DIGUY_PHYSICS_COLLISION_GROUP_PROP2 
DIGUY_PHYSICS_COLLISION_GROUP_PROP3 
DIGUY_PHYSICS_COLLISION_GROUP_SCENE_OBJECT0 
DIGUY_PHYSICS_COLLISION_GROUP_SCENE_OBJECT1 
DIGUY_PHYSICS_COLLISION_GROUP_SCENE_OBJECT2 
DIGUY_PHYSICS_COLLISION_GROUP_SCENE_OBJECT3 
DIGUY_PHYSICS_COLLISION_GROUP_EFFECT0 
DIGUY_PHYSICS_COLLISION_GROUP_COUNT 

This enumeration lists the modes that the DI-Guy vehicle simulator can be in.

Enumerator
DIGUY_VEHICLE_SIMULATION_MODE_DEFAULT 
DIGUY_VEHICLE_SIMULATION_MODE_NONE 
DIGUY_VEHICLE_SIMULATION_MODE_REAR_AXLE_FOLLOWING 
DIGUY_VEHICLE_SIMULATION_MODE_WHEELS 
DIGUY_VEHICLE_SIMULATION_MODE_STEERING 
DIGUY_VEHICLE_SIMULATION_MODE_FULL_PHYSICS 

This enumeration lists supported shader languages.

Enumerator
DIGUY_GRAPHICS_SHADER_LANGUAGE_GLSL 
DIGUY_GRAPHICS_SHADER_LANGUAGE_HLSL 

Function Documentation

const char* diguy_character_class_enum_to_string ( diguyCharacterClass  character_class)
diguyCharacterClass diguy_character_class_enum_from_string ( const char *  string)
const char* diguy_playback_mode_to_string ( diguyScenarioPlaybackMode  playback_mode)
diguyScenarioPlaybackMode diguy_playback_mode_from_string ( const char *  string)
const char* diguy_input_mode_to_string ( diguyScenarioInputMode  input_mode)
diguyScenarioInputMode diguy_input_mode_from_string ( const char *  string)
const char* diguy_subregion_index_to_string ( diguySubregionIndex  subregion_index)
diguySubregionIndex diguy_subregion_index_from_string ( const char *  string)
const char* diguy_vehicle_simulation_mode_to_string ( diguyVehicleSimulationMode  mode)
diguyVehicleSimulationMode diguy_vehicle_simulation_mode_from_string ( const char *  string)

Variable Documentation

comment line count1comment line count1comment line count1comment line count1comment line count1comment line count1comment line count1comment line count1