00001
00032
00033
00034
00035
00036 #include "linden_common.h"
00037
00038 #include "llanimationstates.h"
00039 #include "llstring.h"
00040
00041 LLUUID AGENT_WALK_ANIMS[] = {ANIM_AGENT_WALK, ANIM_AGENT_RUN, ANIM_AGENT_CROUCHWALK, ANIM_AGENT_TURNLEFT, ANIM_AGENT_TURNRIGHT};
00042 S32 NUM_AGENT_WALK_ANIMS = sizeof(AGENT_WALK_ANIMS) / sizeof(LLUUID);
00043
00044 LLUUID AGENT_GUN_HOLD_ANIMS[] = {ANIM_AGENT_HOLD_RIFLE_R, ANIM_AGENT_HOLD_HANDGUN_R, ANIM_AGENT_HOLD_BAZOOKA_R, ANIM_AGENT_HOLD_BOW_L};
00045 S32 NUM_AGENT_GUN_HOLD_ANIMS = sizeof(AGENT_GUN_HOLD_ANIMS) / sizeof(LLUUID);
00046
00047 LLUUID AGENT_GUN_AIM_ANIMS[] = {ANIM_AGENT_AIM_RIFLE_R, ANIM_AGENT_AIM_HANDGUN_R, ANIM_AGENT_AIM_BAZOOKA_R, ANIM_AGENT_AIM_BOW_L};
00048 S32 NUM_AGENT_GUN_AIM_ANIMS = sizeof(AGENT_GUN_AIM_ANIMS) / sizeof(LLUUID);
00049
00050 LLUUID AGENT_NO_ROTATE_ANIMS[] = {ANIM_AGENT_SIT_GROUND, ANIM_AGENT_SIT_GROUND_CONSTRAINED, ANIM_AGENT_STANDUP};
00051 S32 NUM_AGENT_NO_ROTATE_ANIMS = sizeof(AGENT_NO_ROTATE_ANIMS) / sizeof(LLUUID);
00052
00053 LLUUID AGENT_STAND_ANIMS[] = {ANIM_AGENT_STAND, ANIM_AGENT_STAND_1, ANIM_AGENT_STAND_2, ANIM_AGENT_STAND_3, ANIM_AGENT_STAND_4};
00054 S32 NUM_AGENT_STAND_ANIMS = sizeof(AGENT_STAND_ANIMS) / sizeof(LLUUID);
00055
00056
00057 LLAnimationLibrary gAnimLibrary;
00058
00059
00060
00061
00062 LLAnimationLibrary::LLAnimationLibrary() :
00063 mAnimStringTable(16384)
00064 {
00065
00066 mAnimMap[ANIM_AGENT_AFRAID]= mAnimStringTable.addString("express_afraid");
00067 mAnimMap[ANIM_AGENT_AIM_BAZOOKA_R]= mAnimStringTable.addString("aim_r_bazooka");
00068 mAnimMap[ANIM_AGENT_AIM_BOW_L]= mAnimStringTable.addString("aim_l_bow");
00069 mAnimMap[ANIM_AGENT_AIM_HANDGUN_R]= mAnimStringTable.addString("aim_r_handgun");
00070 mAnimMap[ANIM_AGENT_AIM_RIFLE_R]= mAnimStringTable.addString("aim_r_rifle");
00071 mAnimMap[ANIM_AGENT_ANGRY]= mAnimStringTable.addString("express_anger");
00072 mAnimMap[ANIM_AGENT_AWAY]= mAnimStringTable.addString("away");
00073 mAnimMap[ANIM_AGENT_BACKFLIP]= mAnimStringTable.addString("backflip");
00074 mAnimMap[ANIM_AGENT_BELLY_LAUGH]= mAnimStringTable.addString("express_laugh");
00075 mAnimMap[ANIM_AGENT_BLOW_KISS]= mAnimStringTable.addString("blowkiss");
00076 mAnimMap[ANIM_AGENT_BORED]= mAnimStringTable.addString("express_bored");
00077 mAnimMap[ANIM_AGENT_BOW]= mAnimStringTable.addString("bow");
00078 mAnimMap[ANIM_AGENT_BRUSH]= mAnimStringTable.addString("brush");
00079 mAnimMap[ANIM_AGENT_BUSY]= mAnimStringTable.addString("busy");
00080 mAnimMap[ANIM_AGENT_CLAP]= mAnimStringTable.addString("clap");
00081 mAnimMap[ANIM_AGENT_COURTBOW]= mAnimStringTable.addString("courtbow");
00082 mAnimMap[ANIM_AGENT_CROUCH]= mAnimStringTable.addString("crouch");
00083 mAnimMap[ANIM_AGENT_CROUCHWALK]= mAnimStringTable.addString("crouchwalk");
00084 mAnimMap[ANIM_AGENT_CRY]= mAnimStringTable.addString("express_cry");
00085 mAnimMap[ANIM_AGENT_CUSTOMIZE]= mAnimStringTable.addString("turn_180");
00086 mAnimMap[ANIM_AGENT_CUSTOMIZE_DONE]= mAnimStringTable.addString("turnback_180");
00087 mAnimMap[ANIM_AGENT_DANCE1]= mAnimStringTable.addString("dance1");
00088 mAnimMap[ANIM_AGENT_DANCE2]= mAnimStringTable.addString("dance2");
00089 mAnimMap[ANIM_AGENT_DANCE3]= mAnimStringTable.addString("dance3");
00090 mAnimMap[ANIM_AGENT_DANCE4]= mAnimStringTable.addString("dance4");
00091 mAnimMap[ANIM_AGENT_DANCE5]= mAnimStringTable.addString("dance5");
00092 mAnimMap[ANIM_AGENT_DANCE6]= mAnimStringTable.addString("dance6");
00093 mAnimMap[ANIM_AGENT_DANCE7]= mAnimStringTable.addString("dance7");
00094 mAnimMap[ANIM_AGENT_DANCE8]= mAnimStringTable.addString("dance8");
00095 mAnimMap[ANIM_AGENT_DEAD]= mAnimStringTable.addString("dead");
00096 mAnimMap[ANIM_AGENT_DRINK]= mAnimStringTable.addString("drink");
00097 mAnimMap[ANIM_AGENT_EMBARRASSED]= mAnimStringTable.addString("express_embarrased");
00098 mAnimMap[ANIM_AGENT_EXPRESS_AFRAID]= mAnimStringTable.addString("express_afraid_emote");
00099 mAnimMap[ANIM_AGENT_EXPRESS_ANGER]= mAnimStringTable.addString("express_anger_emote");
00100 mAnimMap[ANIM_AGENT_EXPRESS_BORED]= mAnimStringTable.addString("express_bored_emote");
00101 mAnimMap[ANIM_AGENT_EXPRESS_CRY]= mAnimStringTable.addString("express_cry_emote");
00102 mAnimMap[ANIM_AGENT_EXPRESS_DISDAIN]= mAnimStringTable.addString("express_disdain");
00103 mAnimMap[ANIM_AGENT_EXPRESS_EMBARRASSED]= mAnimStringTable.addString("express_embarrassed_emote");
00104 mAnimMap[ANIM_AGENT_EXPRESS_FROWN]= mAnimStringTable.addString("express_frown");
00105 mAnimMap[ANIM_AGENT_EXPRESS_KISS]= mAnimStringTable.addString("express_kiss");
00106 mAnimMap[ANIM_AGENT_EXPRESS_LAUGH]= mAnimStringTable.addString("express_laugh_emote");
00107 mAnimMap[ANIM_AGENT_EXPRESS_OPEN_MOUTH]= mAnimStringTable.addString("express_open_mouth");
00108 mAnimMap[ANIM_AGENT_EXPRESS_REPULSED]= mAnimStringTable.addString("express_repulsed_emote");
00109 mAnimMap[ANIM_AGENT_EXPRESS_SAD]= mAnimStringTable.addString("express_sad_emote");
00110 mAnimMap[ANIM_AGENT_EXPRESS_SHRUG]= mAnimStringTable.addString("express_shrug_emote");
00111 mAnimMap[ANIM_AGENT_EXPRESS_SMILE]= mAnimStringTable.addString("express_smile");
00112 mAnimMap[ANIM_AGENT_EXPRESS_SURPRISE]= mAnimStringTable.addString("express_surprise_emote");
00113 mAnimMap[ANIM_AGENT_EXPRESS_TONGUE_OUT]= mAnimStringTable.addString("express_tongue_out");
00114 mAnimMap[ANIM_AGENT_EXPRESS_TOOTHSMILE]= mAnimStringTable.addString("express_toothsmile");
00115 mAnimMap[ANIM_AGENT_EXPRESS_WINK]= mAnimStringTable.addString("express_wink_emote");
00116 mAnimMap[ANIM_AGENT_EXPRESS_WORRY]= mAnimStringTable.addString("express_worry_emote");
00117 mAnimMap[ANIM_AGENT_FALLDOWN]= mAnimStringTable.addString("falldown");
00118 mAnimMap[ANIM_AGENT_FEMALE_WALK]= mAnimStringTable.addString("female_walk");
00119 mAnimMap[ANIM_AGENT_FINGER_WAG]= mAnimStringTable.addString("angry_fingerwag");
00120 mAnimMap[ANIM_AGENT_FIST_PUMP]= mAnimStringTable.addString("fist_pump");
00121 mAnimMap[ANIM_AGENT_FLY]= mAnimStringTable.addString("fly");
00122 mAnimMap[ANIM_AGENT_FLYSLOW]= mAnimStringTable.addString("flyslow");
00123 mAnimMap[ANIM_AGENT_HELLO]= mAnimStringTable.addString("hello");
00124 mAnimMap[ANIM_AGENT_HOLD_BAZOOKA_R]= mAnimStringTable.addString("hold_r_bazooka");
00125 mAnimMap[ANIM_AGENT_HOLD_BOW_L]= mAnimStringTable.addString("hold_l_bow");
00126 mAnimMap[ANIM_AGENT_HOLD_HANDGUN_R]= mAnimStringTable.addString("hold_r_handgun");
00127 mAnimMap[ANIM_AGENT_HOLD_RIFLE_R]= mAnimStringTable.addString("hold_r_rifle");
00128 mAnimMap[ANIM_AGENT_HOLD_THROW_R]= mAnimStringTable.addString("hold_throw_r");
00129 mAnimMap[ANIM_AGENT_HOVER]= mAnimStringTable.addString("hover");
00130 mAnimMap[ANIM_AGENT_HOVER_DOWN]= mAnimStringTable.addString("hover_down");
00131 mAnimMap[ANIM_AGENT_HOVER_UP]= mAnimStringTable.addString("hover_up");
00132 mAnimMap[ANIM_AGENT_IMPATIENT]= mAnimStringTable.addString("impatient");
00133 mAnimMap[ANIM_AGENT_JUMP]= mAnimStringTable.addString("jump");
00134 mAnimMap[ANIM_AGENT_JUMP_FOR_JOY]= mAnimStringTable.addString("jumpforjoy");
00135 mAnimMap[ANIM_AGENT_KISS_MY_BUTT]= mAnimStringTable.addString("kissmybutt");
00136 mAnimMap[ANIM_AGENT_LAND]= mAnimStringTable.addString("land");
00137 mAnimMap[ANIM_AGENT_LAUGH_SHORT]= mAnimStringTable.addString("laugh_short");
00138 mAnimMap[ANIM_AGENT_MEDIUM_LAND]= mAnimStringTable.addString("soft_land");
00139 mAnimMap[ANIM_AGENT_MOTORCYCLE_SIT]= mAnimStringTable.addString("motorcycle_sit");
00140 mAnimMap[ANIM_AGENT_MUSCLE_BEACH]= mAnimStringTable.addString("musclebeach");
00141 mAnimMap[ANIM_AGENT_NO]= mAnimStringTable.addString("no_head");
00142 mAnimMap[ANIM_AGENT_NO_UNHAPPY]= mAnimStringTable.addString("no_unhappy");
00143 mAnimMap[ANIM_AGENT_NYAH_NYAH]= mAnimStringTable.addString("nyanya");
00144 mAnimMap[ANIM_AGENT_ONETWO_PUNCH]= mAnimStringTable.addString("punch_onetwo");
00145 mAnimMap[ANIM_AGENT_PEACE]= mAnimStringTable.addString("peace");
00146 mAnimMap[ANIM_AGENT_POINT_ME]= mAnimStringTable.addString("point_me");
00147 mAnimMap[ANIM_AGENT_POINT_YOU]= mAnimStringTable.addString("point_you");
00148 mAnimMap[ANIM_AGENT_PRE_JUMP]= mAnimStringTable.addString("prejump");
00149 mAnimMap[ANIM_AGENT_PUNCH_LEFT]= mAnimStringTable.addString("punch_l");
00150 mAnimMap[ANIM_AGENT_PUNCH_RIGHT]= mAnimStringTable.addString("punch_r");
00151 mAnimMap[ANIM_AGENT_REPULSED]= mAnimStringTable.addString("express_repulsed");
00152 mAnimMap[ANIM_AGENT_ROUNDHOUSE_KICK]= mAnimStringTable.addString("kick_roundhouse_r");
00153 mAnimMap[ANIM_AGENT_RPS_COUNTDOWN]= mAnimStringTable.addString("rps_countdown");
00154 mAnimMap[ANIM_AGENT_RPS_PAPER]= mAnimStringTable.addString("rps_paper");
00155 mAnimMap[ANIM_AGENT_RPS_ROCK]= mAnimStringTable.addString("rps_rock");
00156 mAnimMap[ANIM_AGENT_RPS_SCISSORS]= mAnimStringTable.addString("rps_scissors");
00157 mAnimMap[ANIM_AGENT_RUN]= mAnimStringTable.addString("run");
00158 mAnimMap[ANIM_AGENT_SAD]= mAnimStringTable.addString("express_sad");
00159 mAnimMap[ANIM_AGENT_SALUTE]= mAnimStringTable.addString("salute");
00160 mAnimMap[ANIM_AGENT_SHOOT_BOW_L]= mAnimStringTable.addString("shoot_l_bow");
00161 mAnimMap[ANIM_AGENT_SHOUT]= mAnimStringTable.addString("shout");
00162 mAnimMap[ANIM_AGENT_SHRUG]= mAnimStringTable.addString("express_shrug");
00163 mAnimMap[ANIM_AGENT_SIT]= mAnimStringTable.addString("sit");
00164 mAnimMap[ANIM_AGENT_SIT_FEMALE]= mAnimStringTable.addString("sit_female");
00165 mAnimMap[ANIM_AGENT_SIT_GROUND]= mAnimStringTable.addString("sit_ground");
00166 mAnimMap[ANIM_AGENT_SIT_GROUND_CONSTRAINED]= mAnimStringTable.addString("sit_ground_constrained");
00167 mAnimMap[ANIM_AGENT_SIT_GENERIC]= mAnimStringTable.addString("sit_generic");
00168 mAnimMap[ANIM_AGENT_SIT_TO_STAND]= mAnimStringTable.addString("sit_to_stand");
00169 mAnimMap[ANIM_AGENT_SLEEP]= mAnimStringTable.addString("sleep");
00170 mAnimMap[ANIM_AGENT_SMOKE_IDLE]= mAnimStringTable.addString("smoke_idle");
00171 mAnimMap[ANIM_AGENT_SMOKE_INHALE]= mAnimStringTable.addString("smoke_inhale");
00172 mAnimMap[ANIM_AGENT_SMOKE_THROW_DOWN]= mAnimStringTable.addString("smoke_throw_down");
00173 mAnimMap[ANIM_AGENT_SNAPSHOT]= mAnimStringTable.addString("snapshot");
00174 mAnimMap[ANIM_AGENT_STAND]= mAnimStringTable.addString("stand");
00175 mAnimMap[ANIM_AGENT_STANDUP]= mAnimStringTable.addString("standup");
00176 mAnimMap[ANIM_AGENT_STAND_1]= mAnimStringTable.addString("stand_1");
00177 mAnimMap[ANIM_AGENT_STAND_2]= mAnimStringTable.addString("stand_2");
00178 mAnimMap[ANIM_AGENT_STAND_3]= mAnimStringTable.addString("stand_3");
00179 mAnimMap[ANIM_AGENT_STAND_4]= mAnimStringTable.addString("stand_4");
00180 mAnimMap[ANIM_AGENT_STRETCH]= mAnimStringTable.addString("stretch");
00181 mAnimMap[ANIM_AGENT_STRIDE]= mAnimStringTable.addString("stride");
00182 mAnimMap[ANIM_AGENT_SURF]= mAnimStringTable.addString("surf");
00183 mAnimMap[ANIM_AGENT_SURPRISE]= mAnimStringTable.addString("express_surprise");
00184 mAnimMap[ANIM_AGENT_SWORD_STRIKE]= mAnimStringTable.addString("sword_strike_r");
00185 mAnimMap[ANIM_AGENT_TALK]= mAnimStringTable.addString("talk");
00186 mAnimMap[ANIM_AGENT_TANTRUM]= mAnimStringTable.addString("angry_tantrum");
00187 mAnimMap[ANIM_AGENT_THROW_R]= mAnimStringTable.addString("throw_r");
00188 mAnimMap[ANIM_AGENT_TRYON_SHIRT]= mAnimStringTable.addString("tryon_shirt");
00189 mAnimMap[ANIM_AGENT_TURNLEFT]= mAnimStringTable.addString("turnleft");
00190 mAnimMap[ANIM_AGENT_TURNRIGHT]= mAnimStringTable.addString("turnright");
00191 mAnimMap[ANIM_AGENT_TYPE]= mAnimStringTable.addString("type");
00192 mAnimMap[ANIM_AGENT_WALK]= mAnimStringTable.addString("walk");
00193 mAnimMap[ANIM_AGENT_WHISPER]= mAnimStringTable.addString("whisper");
00194 mAnimMap[ANIM_AGENT_WHISTLE]= mAnimStringTable.addString("whistle");
00195 mAnimMap[ANIM_AGENT_WINK]= mAnimStringTable.addString("express_wink");
00196 mAnimMap[ANIM_AGENT_WINK_HOLLYWOOD]= mAnimStringTable.addString("wink_hollywood");
00197 mAnimMap[ANIM_AGENT_WORRY]= mAnimStringTable.addString("express_worry");
00198 mAnimMap[ANIM_AGENT_YES]= mAnimStringTable.addString("yes_head");
00199 mAnimMap[ANIM_AGENT_YES_HAPPY]= mAnimStringTable.addString("yes_happy");
00200 mAnimMap[ANIM_AGENT_YOGA_FLOAT]= mAnimStringTable.addString("yoga_float");
00201 }
00202
00203
00204
00205
00206 LLAnimationLibrary::~LLAnimationLibrary()
00207 {
00208 }
00209
00210
00211
00212
00213 const char *LLAnimationLibrary::animStateToString( const LLUUID& state )
00214 {
00215 if (state.isNull())
00216 {
00217 return NULL;
00218 }
00219 if (mAnimMap.count(state))
00220 {
00221 return mAnimMap[state];
00222 }
00223
00224 return NULL;
00225 }
00226
00227
00228
00229
00230
00231 LLUUID LLAnimationLibrary::stringToAnimState( const char *name, BOOL allow_ids )
00232 {
00233 LLString lower_case_name(name);
00234 LLString::toLower(lower_case_name);
00235
00236 char *true_name = mAnimStringTable.checkString(lower_case_name.c_str());
00237
00238 LLUUID id;
00239 id.setNull();
00240
00241 if (true_name)
00242 {
00243 for (anim_map_t::iterator iter = mAnimMap.begin();
00244 iter != mAnimMap.end(); iter++)
00245 {
00246 if (iter->second == true_name)
00247 {
00248 id = iter->first;
00249 break;
00250 }
00251 }
00252 }
00253 else if (allow_ids)
00254 {
00255
00256 id.set(name, FALSE);
00257 }
00258
00259 return id;
00260 }
00261
00262
00263 const LLAnimStateEntry gUserAnimStates[] = {
00264 LLAnimStateEntry("Afraid", "express_afraid", ANIM_AGENT_AFRAID),
00265 LLAnimStateEntry("Angry", "express_anger", ANIM_AGENT_ANGRY),
00266 LLAnimStateEntry("Away", "away", ANIM_AGENT_AWAY),
00267 LLAnimStateEntry("Backflip", "backflip", ANIM_AGENT_BACKFLIP),
00268 LLAnimStateEntry("Belly Laugh", "express_laugh", ANIM_AGENT_BELLY_LAUGH),
00269 LLAnimStateEntry("BigSmile", "express_toothsmile", ANIM_AGENT_EXPRESS_TOOTHSMILE),
00270 LLAnimStateEntry("Blow Kiss", "blowkiss", ANIM_AGENT_BLOW_KISS),
00271 LLAnimStateEntry("Bored", "express_bored", ANIM_AGENT_BORED),
00272 LLAnimStateEntry("Bow", "bow", ANIM_AGENT_BOW),
00273 LLAnimStateEntry("Clap", "clap", ANIM_AGENT_CLAP),
00274 LLAnimStateEntry("Court Bow", "courtbow", ANIM_AGENT_COURTBOW),
00275 LLAnimStateEntry("Cry", "express_cry", ANIM_AGENT_CRY),
00276 LLAnimStateEntry("Dance 1", "dance1", ANIM_AGENT_DANCE1),
00277 LLAnimStateEntry("Dance 2", "dance2", ANIM_AGENT_DANCE2),
00278 LLAnimStateEntry("Dance 3", "dance3", ANIM_AGENT_DANCE3),
00279 LLAnimStateEntry("Dance 4", "dance4", ANIM_AGENT_DANCE4),
00280 LLAnimStateEntry("Dance 5", "dance5", ANIM_AGENT_DANCE5),
00281 LLAnimStateEntry("Dance 6", "dance6", ANIM_AGENT_DANCE6),
00282 LLAnimStateEntry("Dance 7", "dance7", ANIM_AGENT_DANCE7),
00283 LLAnimStateEntry("Dance 8", "dance8", ANIM_AGENT_DANCE8),
00284 LLAnimStateEntry("Disdain", "express_disdain", ANIM_AGENT_EXPRESS_DISDAIN),
00285 LLAnimStateEntry("Drink", "drink", ANIM_AGENT_DRINK),
00286 LLAnimStateEntry("Embarrassed", "express_embarrased", ANIM_AGENT_EMBARRASSED),
00287 LLAnimStateEntry("Finger Wag", "angry_fingerwag", ANIM_AGENT_FINGER_WAG),
00288 LLAnimStateEntry("Fist Pump", "fist_pump", ANIM_AGENT_FIST_PUMP),
00289 LLAnimStateEntry("Floating Yoga", "yoga_float", ANIM_AGENT_YOGA_FLOAT),
00290 LLAnimStateEntry("Frown", "express_frown", ANIM_AGENT_EXPRESS_FROWN),
00291 LLAnimStateEntry("Impatient", "impatient", ANIM_AGENT_IMPATIENT),
00292 LLAnimStateEntry("Jump For Joy", "jumpforjoy", ANIM_AGENT_JUMP_FOR_JOY),
00293 LLAnimStateEntry("Kiss My Butt", "kissmybutt", ANIM_AGENT_KISS_MY_BUTT),
00294 LLAnimStateEntry("Kiss", "express_kiss", ANIM_AGENT_EXPRESS_KISS),
00295 LLAnimStateEntry("Laugh", "laugh_short", ANIM_AGENT_LAUGH_SHORT),
00296 LLAnimStateEntry("Muscle Beach", "musclebeach", ANIM_AGENT_MUSCLE_BEACH),
00297 LLAnimStateEntry("No (Unhappy)", "no_unhappy", ANIM_AGENT_NO_UNHAPPY),
00298 LLAnimStateEntry("No", "no_head", ANIM_AGENT_NO),
00299 LLAnimStateEntry("Nya-nya-nya", "nyanya", ANIM_AGENT_NYAH_NYAH),
00300 LLAnimStateEntry("One-Two Punch", "punch_onetwo", ANIM_AGENT_ONETWO_PUNCH),
00301 LLAnimStateEntry("Open Mouth", "express_open_mouth", ANIM_AGENT_EXPRESS_OPEN_MOUTH),
00302 LLAnimStateEntry("Peace", "peace", ANIM_AGENT_PEACE),
00303 LLAnimStateEntry("Point at Other", "point_you", ANIM_AGENT_POINT_YOU),
00304 LLAnimStateEntry("Point at Self", "point_me", ANIM_AGENT_POINT_ME),
00305 LLAnimStateEntry("Punch Left", "punch_l", ANIM_AGENT_PUNCH_LEFT),
00306 LLAnimStateEntry("Punch Right", "punch_r", ANIM_AGENT_PUNCH_RIGHT),
00307 LLAnimStateEntry("RPS count", "rps_countdown", ANIM_AGENT_RPS_COUNTDOWN),
00308 LLAnimStateEntry("RPS paper", "rps_paper", ANIM_AGENT_RPS_PAPER),
00309 LLAnimStateEntry("RPS rock", "rps_rock", ANIM_AGENT_RPS_ROCK),
00310 LLAnimStateEntry("RPS scissors", "rps_scissors", ANIM_AGENT_RPS_SCISSORS),
00311 LLAnimStateEntry("Repulsed", "express_repulsed", ANIM_AGENT_EXPRESS_REPULSED),
00312 LLAnimStateEntry("Roundhouse Kick", "kick_roundhouse_r", ANIM_AGENT_ROUNDHOUSE_KICK),
00313 LLAnimStateEntry("Sad", "express_sad", ANIM_AGENT_SAD),
00314 LLAnimStateEntry("Salute", "salute", ANIM_AGENT_SALUTE),
00315 LLAnimStateEntry("Shout", "shout", ANIM_AGENT_SHOUT),
00316 LLAnimStateEntry("Shrug", "express_shrug", ANIM_AGENT_SHRUG),
00317 LLAnimStateEntry("Smile", "express_smile", ANIM_AGENT_EXPRESS_SMILE),
00318 LLAnimStateEntry("Smoke Idle", "smoke_idle", ANIM_AGENT_SMOKE_IDLE),
00319 LLAnimStateEntry("Smoke Inhale", "smoke_inhale", ANIM_AGENT_SMOKE_INHALE),
00320 LLAnimStateEntry("Smoke Throw Down","smoke_throw_down", ANIM_AGENT_SMOKE_THROW_DOWN),
00321 LLAnimStateEntry("Surprise", "express_surprise", ANIM_AGENT_SURPRISE),
00322 LLAnimStateEntry("Sword Strike", "sword_strike_r", ANIM_AGENT_SWORD_STRIKE),
00323 LLAnimStateEntry("Tantrum", "angry_tantrum", ANIM_AGENT_TANTRUM),
00324 LLAnimStateEntry("TongueOut", "express_tongue_out", ANIM_AGENT_EXPRESS_TONGUE_OUT),
00325 LLAnimStateEntry("Wave", "hello", ANIM_AGENT_HELLO),
00326 LLAnimStateEntry("Whisper", "whisper", ANIM_AGENT_WHISPER),
00327 LLAnimStateEntry("Whistle", "whistle", ANIM_AGENT_WHISTLE),
00328 LLAnimStateEntry("Wink", "express_wink", ANIM_AGENT_WINK),
00329 LLAnimStateEntry("Wink (Hollywood)","wink_hollywood", ANIM_AGENT_WINK_HOLLYWOOD),
00330 LLAnimStateEntry("Worry", "express_worry", ANIM_AGENT_EXPRESS_WORRY),
00331 LLAnimStateEntry("Yes (Happy)", "yes_happy", ANIM_AGENT_YES_HAPPY),
00332 LLAnimStateEntry("Yes", "yes_head", ANIM_AGENT_YES),
00333 };
00334
00335 const S32 gUserAnimStatesCount = sizeof(gUserAnimStates) / sizeof(gUserAnimStates[0]);
00336
00337
00338
00339
00340