llagentconstants.h

Go to the documentation of this file.
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;                      // 0x00000001
00071 const U32 AGENT_CONTROL_AT_NEG              = 0x1 << CONTROL_AT_NEG_INDEX;                      // 0x00000002
00072 const U32 AGENT_CONTROL_LEFT_POS            = 0x1 << CONTROL_LEFT_POS_INDEX;            // 0x00000004
00073 const U32 AGENT_CONTROL_LEFT_NEG            = 0x1 << CONTROL_LEFT_NEG_INDEX;            // 0x00000008
00074 const U32 AGENT_CONTROL_UP_POS              = 0x1 << CONTROL_UP_POS_INDEX;                      // 0x00000010
00075 const U32 AGENT_CONTROL_UP_NEG              = 0x1 << CONTROL_UP_NEG_INDEX;                      // 0x00000020
00076 const U32 AGENT_CONTROL_PITCH_POS           = 0x1 << CONTROL_PITCH_POS_INDEX;           // 0x00000040
00077 const U32 AGENT_CONTROL_PITCH_NEG           = 0x1 << CONTROL_PITCH_NEG_INDEX;           // 0x00000080
00078 const U32 AGENT_CONTROL_YAW_POS             = 0x1 << CONTROL_YAW_POS_INDEX;                     // 0x00000100
00079 const U32 AGENT_CONTROL_YAW_NEG             = 0x1 << CONTROL_YAW_NEG_INDEX;                     // 0x00000200
00080 
00081 const U32 AGENT_CONTROL_FAST_AT             = 0x1 << CONTROL_FAST_AT_INDEX;                     // 0x00000400
00082 const U32 AGENT_CONTROL_FAST_LEFT           = 0x1 << CONTROL_FAST_LEFT_INDEX;           // 0x00000800
00083 const U32 AGENT_CONTROL_FAST_UP             = 0x1 << CONTROL_FAST_UP_INDEX;                     // 0x00001000
00084 
00085 const U32 AGENT_CONTROL_FLY                                     = 0x1 << CONTROL_FLY_INDEX;                             // 0x00002000
00086 const U32 AGENT_CONTROL_STOP                            = 0x1 << CONTROL_STOP_INDEX;                    // 0x00004000
00087 const U32 AGENT_CONTROL_FINISH_ANIM                     = 0x1 << CONTROL_FINISH_ANIM_INDEX;             // 0x00008000
00088 const U32 AGENT_CONTROL_STAND_UP                        = 0x1 << CONTROL_STAND_UP_INDEX;                // 0x00010000
00089 const U32 AGENT_CONTROL_SIT_ON_GROUND           = 0x1 << CONTROL_SIT_ON_GROUND_INDEX;   // 0x00020000
00090 const U32 AGENT_CONTROL_MOUSELOOK                       = 0x1 << CONTROL_MOUSELOOK_INDEX;               // 0x00040000
00091 
00092 const U32 AGENT_CONTROL_NUDGE_AT_POS        = 0x1 << CONTROL_NUDGE_AT_POS_INDEX;        // 0x00080000
00093 const U32 AGENT_CONTROL_NUDGE_AT_NEG        = 0x1 << CONTROL_NUDGE_AT_NEG_INDEX;        // 0x00100000
00094 const U32 AGENT_CONTROL_NUDGE_LEFT_POS      = 0x1 << CONTROL_NUDGE_LEFT_POS_INDEX;      // 0x00200000
00095 const U32 AGENT_CONTROL_NUDGE_LEFT_NEG      = 0x1 << CONTROL_NUDGE_LEFT_NEG_INDEX;      // 0x00400000
00096 const U32 AGENT_CONTROL_NUDGE_UP_POS        = 0x1 << CONTROL_NUDGE_UP_POS_INDEX;        // 0x00800000
00097 const U32 AGENT_CONTROL_NUDGE_UP_NEG        = 0x1 << CONTROL_NUDGE_UP_NEG_INDEX;        // 0x01000000
00098 const U32 AGENT_CONTROL_TURN_LEFT               = 0x1 << CONTROL_TURN_LEFT_INDEX;               // 0x02000000
00099 const U32 AGENT_CONTROL_TURN_RIGHT              = 0x1 << CONTROL_TURN_RIGHT_INDEX;              // 0x04000000
00100 
00101 const U32 AGENT_CONTROL_AWAY                            = 0x1 << CONTROL_AWAY_INDEX;                    // 0x08000000
00102 
00103 const U32 AGENT_CONTROL_LBUTTON_DOWN            = 0x1 << CONTROL_LBUTTON_DOWN_INDEX;    // 0x10000000
00104 const U32 AGENT_CONTROL_LBUTTON_UP                      = 0x1 << CONTROL_LBUTTON_UP_INDEX;              // 0x20000000
00105 const U32 AGENT_CONTROL_ML_LBUTTON_DOWN         = 0x1 << CONTROL_ML_LBUTTON_DOWN_INDEX; // 0x40000000
00106 const U32 AGENT_CONTROL_ML_LBUTTON_UP           = ((U32)0x1) << CONTROL_ML_LBUTTON_UP_INDEX;    // 0x80000000
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

Generated on Fri May 16 08:32:01 2008 for SecondLife by  doxygen 1.5.5