/* * PROJECT: * SUBSYSTEM: * MODULE: * * FILE: $RCSfile: vcdefs.h,v $ * REVISION: $Revision: 1.1 $ * Date: $Date: 95/05/18 10:24:10 $ * Author: $Author: john $ * RCS Ident: $Id: vcdefs.h,v 1.3 1995/03/22 12:23:51 jeff Exp $ * * FUCTION: * * * * * Copyright (c) 1992 Division Ltd. * * All Rights Reserved. * * This Document may not, in whole or in part, be copied, * photocopied, reproduced, translated, or reduced to any * electronic medium or machine readable form without prior * written consent from Division Ltd. */ /*--- Local sizing constants */ #define VC_RED 0 #define VC_GREEN 1 #define VC_BLUE 2 #define VC_MAX_OBJECT_ATTRIBUTES 6 #define VC_ERRTYPE_NONE 0 #define VC_ERRTYPE_VL 1 #define VC_ERRTYPE_DM 2 #define VC_ERRTYPE_VC 3 #define VC_ERRTYPE_SYSTEM 4 #define VC_MAX_SIGNALS 32 #define VC_MAX_SENSORS 4 #define VC_RADIATOR_MAX_POINTS 36 #define VC_RADIATOR_NAME_LENGTH 16 #define VC_LIGHT_ENABLE 0x00000004 #define VC_LIGHT_MODE_MASK 0x00000003 #define VC_LIGHT_MODE_DIRECTIONAL 0x00000000 #define VC_LIGHT_MODE_POINT 0x00000001 #define VC_LIGHT_MODE_AMBIENT 0x00000002 #define VC_LIGHT_MODE_SPOT 0x00000003 #define VC_LOD_NAME_LENGTH 8 #define VC_NO_INSTANCES -1 #define VC_ALL_INSTANCES 0 #define VC_FIRST_ATTRIBUTE -1 #define VC_ALL_ATTRIBUTES -1 #define VC_ALL_ELEMENTS 0 /* * Values for Visible field in Visual object */ #define VC_ALL_MODES 0xffffffff #define VC_VISIBLE 0x01 #define VC_VISUAL_ENABLE 0x01 #define VC_RMODE_POLYGONAL 0x00 #define VC_RMODE_WIREFRAME 0x02 #define VC_RMODE_SPARE1 0x04 #define VC_RMODE_SPARE2 0x06 #define VC_VISUAL_BILLBOARD 0x08 #define VC_VISUAL_NOVECTINTERSECT 0x10 #define VC_RMODE_MASK 0x06 #define VC_VISUALVIEW_MODE_MASK 0x03 #define VC_VISUALVIEW_RELATIVE_MODE_MASK 0x04 #define VC_VISUALVIEW_MODE_MONO 0x00 #define VC_VISUALVIEW_MODE_LEFT 0x01 #define VC_VISUALVIEW_MODE_RIGHT 0x02 #define VC_VISUALVIEW_RELATIVE_MODE_HEAD 0x00 #define VC_VISUALVIEW_RELATIVE_MODE_EYE 0x04 #define VC_VISUALVIEW_ENABLE 0x08 #define VC_VISUALRESOURCE_FOG_MASK 0x00070000 #define VC_VISUALRESOURCE_FOG_MODE_MASK 0x00000010 #define VC_VISUALRESOURCE_PHASE_MODE_MASK 0x00003000 #define VC_VISUALRESOURCE_RENDERMODE_MASK 0x00000001 #define VC_VISUALRESOURCE_MODE_POLYGONAL 0x00000000 #define VC_VISUALRESOURCE_MODE_WIREFRAME 0x00000001 #define VC_VISUALRESOURCE_MODE_STATISTICS 0x00000002 #define VC_VISUALRESOURCE_MODE_TEXTURE 0x00000004 #define VC_VISUALRESOURCE_MODE_SINGLE_BUF 0x00000008 #define VC_VISUALRESOURCE_FOG_MODE_PIXEL 0x00000000 #define VC_VISUALRESOURCE_FOG_MODE_VERTEX 0x00000010 #define VC_VISUALRESOURCE_PHASE_MODE_LOCK 0x00000000 #define VC_VISUALRESOURCE_PHASE_MODE_FLOAT 0x00001000 #define VC_VISUALRESOURCE_PHASE_MODE_FREE 0x00002000 #define VC_VISUALRESOURCE_PHASE_MODE_LIMIT 0x00003000 #define VC_VISUALRESOURCE_ENABLE 0x00008000 #define VC_VISUALRESOURCE_FOG_DISABLED 0x00000000 #define VC_VISUALRESOURCE_FOG_LINEAR 0x00010000 #define VC_VISUALRESOURCE_FOG_EXP 0x00020000 #define VC_VISUALRESOURCE_FOG_EXP_SQUARED 0x00030000 #define VC_VISUALRESOURCE_Z_CLEAR_ONLY 0x00080000 #define VC_NOT_PICKED 3 #define VC_NOT_DROPPED VC_NOT_PICKED #define VC_FOUND_DEFAULT 2 #define VC_FOUND_EXPLICIT 1 #define VC_OK 0 #define VC_ERR -1 #define VC_NOT_FOUND -1 #define VC_EXISTS -2 #define VC_BAD_ARGS -3 #define VC_BAD_ACTOR VL_BAD_ACTOR /* * flags to VCAddInstance */ #define VC_ADD 0 #define VC_OVERRIDE 1 #define VC_FAIL 2 #define VC_X 0 #define VC_Y 1 #define VC_Z 2 #define VC_W 3 #define VC_MIN_X 0 #define VC_MIN_Y 1 #define VC_MIN_Z 2 #define VC_MAX_X 3 #define VC_MAX_Y 4 #define VC_MAX_Z 5 #define VC_BOUND_ROT_X 6 #define VC_BOUND_ROT_Y 7 #define VC_BOUND_ROT_Z 8 #define VC_BOUND_SIZE 9 #define VC_MIN_PITCH 0 #define VC_MIN_YAW 1 #define VC_MIN_ROLL 2 #define VC_MAX_PITCH 3 #define VC_MAX_YAW 4 #define VC_MAX_ROLL 5 #define VC_RADIUS 3 #define VC_CONSTRAIN_ENABLE 0x80000000 #define VC_CONSTRAIN_MODE_MASK 0x7fffffff #define VC_CONSTRAIN_NORMAL 0 #define VC_CONSTRAIN_HINGE_X 1 #define VC_CONSTRAIN_HINGE_Y 2 #define VC_CONSTRAIN_HINGE_Z 3 #define VC_PICK_CONSTRAINED 0x00000000 #define VC_PICK_NON_CONSTRAINED 0x00000001 #define VC_PICK_DROP 0x00000002 #define VC_PICK_IDLE 0x00000003 #define VC_PICK_COMMAND_MASK 0x0000000f /* * Mice input port types */ #define VC_SERIAL 1 #define VC_PARALLEL 2 #define VC_PIO 3 #define VC_PV100_MOUSE 1 #define VC_PV200_MOUSE 2 #define VC_LOGITECH_MOUSE 3 #define VC_SPACEBALL_MOUSE 4 #define VC_HOOK_ATTACH_MASK 0x0000000f #define VC_HOOK_DETACH_MASK 0x000000f0 #define VC_ATTACH_ABSOLUTE 0x00000001 #define VC_ATTACH_RELATIVE 0x00000002 #define VC_DETACH_ABSOLUTE 0x00000010 #define VC_DETACH_RELATIVE 0x00000020 #define VC_LINK_LEAVE_POSITION 0x00000000 #define VC_LINK_ADJUST_POSITION 0x00000001 #define VC_LINK_QUIET 0x00000002 #define VC_UNLINK_LEAVE_POSITION 0x00000000 #define VC_UNLINK_ADJUST_POSITION 0x00000001 #define VC_UNLINK_QUIET 0x00000002 #define VC_UNLINK_DONT_FIX_PARENT_INTEREST 0x00000010 #define VC_LOCK_X_VAL 0x00000001 #define VC_LOCK_Y_VAL 0x00000002 #define VC_LOCK_Z_VAL 0x00000004 #define VC_LOCK_X 0x00000010 #define VC_LOCK_Y 0x00000020 #define VC_LOCK_Z 0x00000040 #define VC_LOCK_ROLL_VAL 0x00000100 #define VC_LOCK_PITCH_VAL 0x00000200 #define VC_LOCK_YAW_VAL 0x00000400 #define VC_LOCK_ROLL 0x00001000 #define VC_LOCK_PITCH 0x00002000 #define VC_LOCK_YAW 0x00004000 #define VC_LOCK_FIXED 0x00010000 /* * Body Values */ #define VC_BODY_USE_ENTITY_TRANSLATION 0x00000001 #define VC_ALL_BODIES -1 #define VC_BODY_FLY_ENABLED 0x00000001 #define VC_BODY_FLY_VERTICAL 0x00000002 #define VC_BODY_FLY_VERTICAL_ALWAYS 0x00000004 #define VC_BODY_FLY_FORWARD_SLOW 0x00000008 #define VC_BODY_FLY_FORWARD_FAST 0x00000010 #define VC_BODY_FLY_FORWARD_ACCELERATE 0x00000020 #define VC_BODY_FLY_BACKWARD_SLOW 0x00000040 #define VC_BODY_FLY_BACKWARD_FAST 0x00000080 #define VC_BODY_FLY_BACKWARD_ACCELERATE 0x00000100 #define VC_BODY_ROT_LEFT_SLOW 0x00000200 #define VC_BODY_ROT_LEFT_FAST 0x00000400 #define VC_BODY_ROT_LEFT_ACCELERATE 0x00000800 #define VC_BODY_ROT_RIGHT_SLOW 0x00001000 #define VC_BODY_ROT_RIGHT_FAST 0x00002000 #define VC_BODY_ROT_RIGHT_ACCELERATE 0x00004000 #define VC_BODY_FLY_LEFT_SLOW 0x00008000 #define VC_BODY_FLY_LEFT_FAST 0x00010000 #define VC_BODY_FLY_LEFT_ACCELERATE 0x00020000 #define VC_BODY_FLY_RIGHT_SLOW 0x00040000 #define VC_BODY_FLY_RIGHT_FAST 0x00080000 #define VC_BODY_FLY_RIGHT_ACCELERATE 0x00100000 #define VC_BODY_FLY_UP_SLOW 0x00200000 #define VC_BODY_FLY_UP_FAST 0x00400000 #define VC_BODY_FLY_UP_ACCELERATE 0x00800000 #define VC_BODY_FLY_DOWN_SLOW 0x01000000 #define VC_BODY_FLY_DOWN_FAST 0x02000000 #define VC_BODY_FLY_DOWN_ACCELERATE 0x04000000 /* * Flags for new VCActorInit call - MG, March 23, '94 * */ #define VC_INIT_NOUSER 0x001 /* Don't get user information */ #define VC_INIT_NOCONFIG 0x002 /* Don't do actor configuration */ /* * Sensor Resource update Mode values */ #define VC_MODE_IMMEDIATE 1 #define VC_MODE_INDIRECT 2 /* * VCObject Update Modes */ #define VC_REPORT_LOCAL_UPDATES 0x00000001 #define VC_REPORT_REMOTE_UPDATES 0x00000002 /* * flags for VCPosition mode bit */ #define VC_DEAD_RECKON 0x00000001 /* * Flags passed into VCRelocateHandler & relocate functions */ #define VC_REPORT_ABSOLUTE_POSITION 0x00000000 #define VC_REPORT_RELATIVE_POSITION 0x00000001 #define VC_REPORT_DONT_DEAD_RECKON 0x00000002 #define VC_REPORT_DELAY_RELOCATE 0x00000004 #define VC_REPORT_POSITION_IN_ENTITY 0x00000010 #define VC_REPORT_ALL_ENTITIES 0x00000020 /* * Flags to VCDestruct */ #define VC_DESTRUCT_FORCE 0x00000001 #define VC_DESTRUCT_ATTRIBUTES 0x00000002 #define VC_DESTRUCT_CHILDREN 0x00000004 #define VC_RELOCATE_FIRST_REPORT 0x00000001 #define VC_RELOCATE_ABSOLUTE 0x00000002 #define VC_RELOCATE_RELATIVE 0x00000004 #define VC_RELOCATE_LINKAGE_CHANGE 0x00000008 #define VC_HANDLED 0 #define VC_NOT_HANDLED 1 #define VC_COLLISION_ENABLE 0x01 /* * Don't know what to do with this #define VC_COLLISION_SOLID 0x02 */ #define VC_COLLISION_HIERACHY_DISABLE 0x04 #define VC_COLLISION_PICKABLE 0x08 #define VC_COLLISION_PICKING 0x10 #define VC_COLLISION_QUIET 0x20 #define VC_COLLISION_INV_QUIET 0x40 #define VC_COLLISION_SIMPLE 0x000 #define VC_COLLISION_RADIUS 0x100 #define VC_COLLISION_GEOMETRY 0x200 #define VC_COLLISION_BBOX 0x300 #define VC_COLLISION_MODE_MASK 0x300 #define VC_COLLISION_BOUNDS_VALID 0x400 #define VC_COLLISION_ZONE 0x800 #define VC_COLLISION_NO_POSITION 0x1000 #define VC_COLLISION_NO_VECTOR 0x2000 #define VC_COLLISION_NO_TIME 0x4000 #define VC_COLLISION_RETURN_MASK 0xf0000 #define VC_COLLISION_RETURN_NONE 0x00000 #define VC_COLLISION_RETURN_BBOX 0x10000 #define VC_COLLISION_RETURN_RADIUS 0x20000 #define VC_COLLISION_RETURN_VALID 0x100000 #define VC_ATTRIBUTE_MODE_DONT_CACHE 0x000 #define VC_ATTRIBUTE_MODE_CACHE 0x001 #define VC_AUDIORESOURCE_SPREADINGROLLOFF_VALID 0x00000010 #define VC_AUDIORESOURCE_ATMOSPHERICABSORPTION_VALID 0x00000020 #define VC_AUDIO_ENABLE 0x01 #define VC_AUDIO_ZONED 0x02 #define VC_AUDIO_SPATIAL_OFF 0x04 #define VC_AUDIO_PRIORITY_LOCKED -1 #define VC_AUDIO_MAX_PRIORITY 127 #define VC_SENSOR_ENABLE 0x00000001 #define VC_SENSOR_MODE_RELATIVE 0x00000002 #define VC_SENSOR_FILTER_ENABLE 0x00000004 #define VC_SENSOR_POSITION_SHARED 0x00000008 #define VC_SENSOR_REPORT_MASK 0x000000f0 #define VC_SENSOR_REPORT_NORMAL 0x00000010 #define VC_SENSOR_REPORT_INTERPOLATE 0x00000020 #define VC_SENSOR_REPORT_DEADRECKON_1 0x00000030 #define VC_SENSOR_REPORT_DEADRECKON_2 0x00000040 #define VC_SENSOR_REPORT_ENABLE 0x00000100 #define VC_MATERIAL_ENABLE 0x00000001 /* * Value for texture mode */ #define VC_TEXTURE_ENABLE 0x00000001 /* * Values fot texture minify field */ #define VC_TEXTURE_MIN_POINT_SAMPLED 0x01 #define VC_TEXTURE_MIN_BILINEAR 0x02 #define VC_TEXTURE_MIN_TRILINEAR 0x03 #define VC_TEXTURE_MIN_MIP_MAP_POINT_SAMPLED 0x04 #define VC_TEXTURE_MIN_MIP_MAP_LINEAR 0x05 #define VC_TEXTURE_MIN_MIP_MAP_BILINEAR 0x06 #define VC_TEXTURE_MIN_MIP_MAP_TRILINEAR 0x07 #define VC_TEXTURE_MIN_MIP_MAP_QUADLINEAR 0x08 /* * Values fot texture magnify field */ #define VC_TEXTURE_MAG_POINT_SAMPLED 0x01 #define VC_TEXTURE_MAG_BILINEAR 0x02 #define VC_TEXTURE_MAG_TRILINEAR 0x03 #define VC_TEXTURE_MAG_BICUBIC 0x04 #define VC_TEXTURE_MAG_SHARPEN 0x05 /* * Values fot texture alpha field */ #define VC_TEXTURE_ALPHA_BLEND 0x01 #define VC_TEXTURE_ALPHA_CUT 0x02 #define VC_TEXTURE_ALPHA_BLEND_CUT 0x03 /* * Values fot texture wrapu/wrapv fields */ #define VC_TEXTURE_WRAP_REPEAT 0x00 #define VC_TEXTURE_WRAP_CLAMP 0x01 #define VC_TEXTURE_WRAP_SELECT 0x02 /* * Values fot texture detailType field */ #define VC_TEXTURE_DETAIL_ADD 0x01 #define VC_TEXTURE_DETAIL_MODULATE 0x02 /* * Viz query status values */ #define VC_VISUALQUERY_OK 0x00000001 #define VC_VISUALQUERY_FAIL 0x00000002 #define VC_VISUALQUERY_MASK 0xffffff00 #define VC_VISUALQUERY_NO_SUBJECT 0x00000100 #define VC_VISUALQUERY_NOT_FOUND 0x00000200 /* * Viz query modes */ #define VC_VISUALQUERY_OFF 0x00000000 #define VC_VISUALQUERY_MATERIAL_NAMES 0x00000001 #define VC_VISUALQUERY_TEXTURE_NAMES 0x00000002 #define VC_VISUALQUERY_RAMP_NAMES 0x00000003 #define VC_VISUALQUERY_LOD_NAMES 0x00000004 #define VC_VISUALQUERY_PATCH_NAMES 0x00000005 #define VC_VISUALQUERY_MATERIAL 0x00000006 #define VC_VISUALQUERY_TEXTURE 0x00000007 #define VC_VISUALQUERY_LOD 0x00000008 #define VC_VECTORINTERSECT_ENABLE 0x00000001 #define VC_VECTORINTERSECT_REPORT_CONTINUOUS 0x00000002 #define VC_VECTORINTERSECT_REPORT_RELATIVE 0x00000004 #define VC_VISUALEFFECT_ENABLE 0x0001 #define VC_VISUALEFFECT_MODE_MASK 0x0ff0 #define VC_VISUALEFFECT_MODE_EXPLOSION 0x0010 #define VC_VERBOSE 0x00010000 #define VC_VERBOSE_MATSPLIT 0x00020000 #define VC_ZONE_ALL_ACTORS -1 #define VC_ZONE_VISUAL 0x00000001 #define VC_ZONE_COLLIDE 0x00000002 #define VC_ZONE_PHYSICS 0x00000004 #define VC_ZONE_AUDIO 0x00000008 #define VC_ZONE_BODY 0x00000010 #define VC_ZONE_ENABLE_MASK 0x0000000F #define VC_ZONE_ENABLED 0x00000000 #define VC_ZONE_DISABLED 0x00000001 /* * turn on things in a VCDynamics */ #define VC_DYNAMICS_ENABLE 0x00000001 #define VC_DYNAMICS_INERTIA_MASK 0x6 #define VC_DYNAMICS_INERTIA_POINT_MASS 0x2 #define VC_DYNAMICS_INERTIA_DISTRIBUTED_MASS 0x4 #define VC_DYNAMICS_BOUNCE_MASK 0x00000018 #define VC_DYNAMICS_BOUNCE_DISBALED 0 #define VC_DYNAMICS_BOUNCE_SIMPLE 0x00000008 #define VC_DYNAMICS_BOUNCE_COMPLEX 0x00000010 #define VC_DYNAMICS_GRAVITATIONAL_MASS 0x00000020 /* * indecies into arrays of * values from an inertial tensor */ #define VC_I_XX 0 #define VC_I_YY 1 #define VC_I_ZZ 2 #define VC_I_XY 3 #define VC_I_YZ 4 #define VC_I_XZ 5 /* * turn on a VCForce as a force or pure torque (mutually exclusive). * define whether it acts in local coordinante space (default) * or world coordinate space. */ #define VC_FORCE_MODE_MASK 0x00000003 #define VC_FORCE_FORCE 0x00000001 #define VC_FORCE_TORQUE 0x00000002 #define VC_FORCE_WCS 0x00000004 /* * enable a pseudo-gravitational field */ #define VC_PSEUDO_GRAVITY_ENABLE 0x00000001 #define VC_LOD_ENABLE 0x000000001 #define VC_LOD_DYNAMIC 0x000000002 #define VC_GEOGROUP_ENABLE 0x00000001 #define VC_GEOGROUP_DYNAMIC 0x00000002 #define VC_GEOGROUP_VERTEX_ONLY 0x00000000 #define VC_GEOGROUP_VERTEX_NORMALS 0x00000001 #define VC_GEOGROUP_VERTEX_RGBA 0x00000002 #define VC_GEOGROUP_VERTEX_LUMINANCE 0x00000004 #define VC_GEOGROUP_VERTEX_2D_TEXTURE 0x00000008 #define VC_GEOGROUP_VERTEX_3D_TEXTURE 0x00000010 #define VC_GEOGROUP_VERTEX_RADIUS 0x00000020 #define VC_GEOGROUP_DRAWMODE_SOLID 0x00000000 #define VC_GEOGROUP_DRAWMODE_WIREFRAME 0x00000001 #define VC_GEOGROUP_DRAWMODE_DOTTED 0x00000002 #define VC_GEOGROUP_LOCK_OFF 0x00000000 #define VC_GEOGROUP_LOCK_ON 0x00000001 #define VC_GEOMETRY_ENABLE 0x00000040 #define VC_GEOMETRY_TYPE_MASK 0x0000003f #define VC_GEOMETRY_TYPE_TRISTRIP 0x00000000 #define VC_GEOMETRY_TYPE_POLYSTRIP 0x00000001 #define VC_GEOMETRY_TYPE_POLYGON 0x00000002 #define VC_GEOMETRY_TYPE_LINE 0x00000003 #define VC_GEOMETRY_TYPE_SPHERELIST 0x00000004 #define VC_GEOMETRY_TYPE_PMESH 0x00000005 #define VC_GEOMETRY_TYPE_TEXT 0x00000006 #define VC_GEOMETRY_SPHERELIST_DICE_U 0xfff00000 #define VC_GEOMETRY_SPHERELIST_DICE_U_SHIFT 20 #define VC_GEOMETRY_SPHERELIST_DICE_V 0x000fff00 #define VC_GEOMETRY_SPHERELIST_DICE_V_SHIFT 8 #define VC_GEOMETRY_LINE_THICKNESS 0x0000ff00 #define VC_GEOMETRY_LINE_THICKNESS_SHIFT 8 #define VC_CONNECTION_PCOUNT_SHIFT 8 #define VC_CONNECTION_PCOUNT_MASK 0x0000ff00 #define VC_GROUP_START 0 #define VC_GROUP_END 1 #define VC_RAMP_ENABLE 0x00000001 #define VC_INPUTRESOURCE_ENABLE 0x00000001 #define VC_CACHEMODE_DEFAULT 0 #define VC_CACHEMODE_DO_CACHE 1 #define VC_CACHEMODE_DONT_CACHE 2 #define VC_DEBUG_HARCHY 0x00020000 #define VC_DEBUG_HARCHY_EXTRA 0x00040000 #define VC_DEBUG_RESOURCE 0x00080000 #define VC_DEBUG_ENTITY 0x00100000 #define VC_DEBUG_PICK 0x00200000 #define VC_DEBUG_BODY_TRAVERSE 0x00400000 #define VC_DEBUG_ATTRIBUTE 0x00800000 #define VC_DEBUG_INPUT 0x01000000 #define VC_DEBUG_TIMER 0x02000000 #define VC_DEBUG_BODY_RESOURCE 0x04000000 #if defined (_TRANSPUTER) || defined (_IRIX) #define VCWARNING(x) VC_Warn ( #x" at line %d of %s\n",__LINE__, __FILE__) #else #define VCWARNING(x) {int WARNING = #x; \ VC_Warn ( #x" at line %d of %s\n",__LINE__, __FILE__);} #endif #define VCAwaitEvent(a,m) {_VCDoneWaitEvent = 1;VLAwaitEvent(a,m); }