00001 00033 #ifndef LL_LLAGENTCONSTANTS_H 00034 #define LL_LLAGENTCONSTANTS_H 00035 00036 const U32 CONTROL_AT_POS_INDEX = 0; 00037 const U32 CONTROL_AT_NEG_INDEX = 1; 00038 const U32 CONTROL_LEFT_POS_INDEX = 2; 00039 const U32 CONTROL_LEFT_NEG_INDEX = 3; 00040 const U32 CONTROL_UP_POS_INDEX = 4; 00041 const U32 CONTROL_UP_NEG_INDEX = 5; 00042 const U32 CONTROL_PITCH_POS_INDEX = 6; 00043 const U32 CONTROL_PITCH_NEG_INDEX = 7; 00044 const U32 CONTROL_YAW_POS_INDEX = 8; 00045 const U32 CONTROL_YAW_NEG_INDEX = 9; 00046 const U32 CONTROL_FAST_AT_INDEX = 10; 00047 const U32 CONTROL_FAST_LEFT_INDEX = 11; 00048 const U32 CONTROL_FAST_UP_INDEX = 12; 00049 const U32 CONTROL_FLY_INDEX = 13; 00050 const U32 CONTROL_STOP_INDEX = 14; 00051 const U32 CONTROL_FINISH_ANIM_INDEX = 15; 00052 const U32 CONTROL_STAND_UP_INDEX = 16; 00053 const U32 CONTROL_SIT_ON_GROUND_INDEX = 17; 00054 const U32 CONTROL_MOUSELOOK_INDEX = 18; 00055 const U32 CONTROL_NUDGE_AT_POS_INDEX = 19; 00056 const U32 CONTROL_NUDGE_AT_NEG_INDEX = 20; 00057 const U32 CONTROL_NUDGE_LEFT_POS_INDEX = 21; 00058 const U32 CONTROL_NUDGE_LEFT_NEG_INDEX = 22; 00059 const U32 CONTROL_NUDGE_UP_POS_INDEX = 23; 00060 const U32 CONTROL_NUDGE_UP_NEG_INDEX = 24; 00061 const U32 CONTROL_TURN_LEFT_INDEX = 25; 00062 const U32 CONTROL_TURN_RIGHT_INDEX = 26; 00063 const U32 CONTROL_AWAY_INDEX = 27; 00064 const U32 CONTROL_LBUTTON_DOWN_INDEX = 28; 00065 const U32 CONTROL_LBUTTON_UP_INDEX = 29; 00066 const U32 CONTROL_ML_LBUTTON_DOWN_INDEX = 30; 00067 const U32 CONTROL_ML_LBUTTON_UP_INDEX = 31; 00068 const U32 TOTAL_CONTROLS = 32; 00069 00070 const U32 AGENT_CONTROL_AT_POS = 0x1 << CONTROL_AT_POS_INDEX; 00071 const U32 AGENT_CONTROL_AT_NEG = 0x1 << CONTROL_AT_NEG_INDEX; 00072 const U32 AGENT_CONTROL_LEFT_POS = 0x1 << CONTROL_LEFT_POS_INDEX; 00073 const U32 AGENT_CONTROL_LEFT_NEG = 0x1 << CONTROL_LEFT_NEG_INDEX; 00074 const U32 AGENT_CONTROL_UP_POS = 0x1 << CONTROL_UP_POS_INDEX; 00075 const U32 AGENT_CONTROL_UP_NEG = 0x1 << CONTROL_UP_NEG_INDEX; 00076 const U32 AGENT_CONTROL_PITCH_POS = 0x1 << CONTROL_PITCH_POS_INDEX; 00077 const U32 AGENT_CONTROL_PITCH_NEG = 0x1 << CONTROL_PITCH_NEG_INDEX; 00078 const U32 AGENT_CONTROL_YAW_POS = 0x1 << CONTROL_YAW_POS_INDEX; 00079 const U32 AGENT_CONTROL_YAW_NEG = 0x1 << CONTROL_YAW_NEG_INDEX; 00080 00081 const U32 AGENT_CONTROL_FAST_AT = 0x1 << CONTROL_FAST_AT_INDEX; 00082 const U32 AGENT_CONTROL_FAST_LEFT = 0x1 << CONTROL_FAST_LEFT_INDEX; 00083 const U32 AGENT_CONTROL_FAST_UP = 0x1 << CONTROL_FAST_UP_INDEX; 00084 00085 const U32 AGENT_CONTROL_FLY = 0x1 << CONTROL_FLY_INDEX; 00086 const U32 AGENT_CONTROL_STOP = 0x1 << CONTROL_STOP_INDEX; 00087 const U32 AGENT_CONTROL_FINISH_ANIM = 0x1 << CONTROL_FINISH_ANIM_INDEX; 00088 const U32 AGENT_CONTROL_STAND_UP = 0x1 << CONTROL_STAND_UP_INDEX; 00089 const U32 AGENT_CONTROL_SIT_ON_GROUND = 0x1 << CONTROL_SIT_ON_GROUND_INDEX; 00090 const U32 AGENT_CONTROL_MOUSELOOK = 0x1 << CONTROL_MOUSELOOK_INDEX; 00091 00092 const U32 AGENT_CONTROL_NUDGE_AT_POS = 0x1 << CONTROL_NUDGE_AT_POS_INDEX; 00093 const U32 AGENT_CONTROL_NUDGE_AT_NEG = 0x1 << CONTROL_NUDGE_AT_NEG_INDEX; 00094 const U32 AGENT_CONTROL_NUDGE_LEFT_POS = 0x1 << CONTROL_NUDGE_LEFT_POS_INDEX; 00095 const U32 AGENT_CONTROL_NUDGE_LEFT_NEG = 0x1 << CONTROL_NUDGE_LEFT_NEG_INDEX; 00096 const U32 AGENT_CONTROL_NUDGE_UP_POS = 0x1 << CONTROL_NUDGE_UP_POS_INDEX; 00097 const U32 AGENT_CONTROL_NUDGE_UP_NEG = 0x1 << CONTROL_NUDGE_UP_NEG_INDEX; 00098 const U32 AGENT_CONTROL_TURN_LEFT = 0x1 << CONTROL_TURN_LEFT_INDEX; 00099 const U32 AGENT_CONTROL_TURN_RIGHT = 0x1 << CONTROL_TURN_RIGHT_INDEX; 00100 00101 const U32 AGENT_CONTROL_AWAY = 0x1 << CONTROL_AWAY_INDEX; 00102 00103 const U32 AGENT_CONTROL_LBUTTON_DOWN = 0x1 << CONTROL_LBUTTON_DOWN_INDEX; 00104 const U32 AGENT_CONTROL_LBUTTON_UP = 0x1 << CONTROL_LBUTTON_UP_INDEX; 00105 const U32 AGENT_CONTROL_ML_LBUTTON_DOWN = 0x1 << CONTROL_ML_LBUTTON_DOWN_INDEX; 00106 const U32 AGENT_CONTROL_ML_LBUTTON_UP = ((U32)0x1) << CONTROL_ML_LBUTTON_UP_INDEX; 00107 00108 const U32 AGENT_CONTROL_AT = AGENT_CONTROL_AT_POS 00109 | AGENT_CONTROL_AT_NEG 00110 | AGENT_CONTROL_NUDGE_AT_POS 00111 | AGENT_CONTROL_NUDGE_AT_NEG; 00112 00113 const U32 AGENT_CONTROL_LEFT = AGENT_CONTROL_LEFT_POS 00114 | AGENT_CONTROL_LEFT_NEG 00115 | AGENT_CONTROL_NUDGE_LEFT_POS 00116 | AGENT_CONTROL_NUDGE_LEFT_NEG; 00117 00118 const U32 AGENT_CONTROL_UP = AGENT_CONTROL_UP_POS 00119 | AGENT_CONTROL_UP_NEG 00120 | AGENT_CONTROL_NUDGE_UP_POS 00121 | AGENT_CONTROL_NUDGE_UP_NEG; 00122 00123 const U32 AGENT_CONTROL_HORIZONTAL = AGENT_CONTROL_AT 00124 | AGENT_CONTROL_LEFT; 00125 00126 const U32 AGENT_CONTROL_NOT_USED_BY_LSL = AGENT_CONTROL_FLY 00127 | AGENT_CONTROL_STOP 00128 | AGENT_CONTROL_FINISH_ANIM 00129 | AGENT_CONTROL_STAND_UP 00130 | AGENT_CONTROL_SIT_ON_GROUND 00131 | AGENT_CONTROL_MOUSELOOK 00132 | AGENT_CONTROL_AWAY; 00133 00134 const U32 AGENT_CONTROL_MOVEMENT = AGENT_CONTROL_AT 00135 | AGENT_CONTROL_LEFT 00136 | AGENT_CONTROL_UP; 00137 00138 const U32 AGENT_CONTROL_ROTATION = AGENT_CONTROL_PITCH_POS 00139 | AGENT_CONTROL_PITCH_NEG 00140 | AGENT_CONTROL_YAW_POS 00141 | AGENT_CONTROL_YAW_NEG; 00142 00143 const U32 AGENT_CONTROL_NUDGE = AGENT_CONTROL_NUDGE_AT_POS 00144 | AGENT_CONTROL_NUDGE_AT_NEG 00145 | AGENT_CONTROL_NUDGE_LEFT_POS 00146 | AGENT_CONTROL_NUDGE_LEFT_NEG; 00147 00148 00149 // move these up so that we can hide them in "State" for object updates 00150 // (for now) 00151 const U32 AGENT_ATTACH_OFFSET = 4; 00152 const U32 AGENT_ATTACH_MASK = 0xf << AGENT_ATTACH_OFFSET; 00153 const U32 AGENT_ATTACH_CLEAR = 0x00; 00154 00155 // RN: this method swaps the upper and lower nibbles to maintain backward 00156 // compatibility with old objects that only used the upper nibble 00157 #define ATTACHMENT_ID_FROM_STATE(state) ((S32)((((U8)state & AGENT_ATTACH_MASK) >> 4) | (((U8)state & ~AGENT_ATTACH_MASK) << 4))) 00158 00159 // test state for use in testing grabbing the camera 00160 const U32 AGENT_CAMERA_OBJECT = 0x1 << 3; 00161 00162 const F32 MAX_ATTACHMENT_DIST = 3.5f; // meters? 00163 00164 #endif