llanimationstates.cpp
上传用户:king477883
上传日期:2021-03-01
资源大小:9553k
文件大小:19k
源码类别:
游戏引擎
开发平台:
C++ Builder
- /**
- * @file llanimationstates.cpp
- * @brief Implementation of animation state related functions.
- *
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2010, Linden Research, Inc.
- *
- * Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- *
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
- *
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- *
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
- * $/LicenseInfo$
- */
- //-----------------------------------------------------------------------------
- // Agent Animation State
- //-----------------------------------------------------------------------------
- #include "linden_common.h"
- #include "llanimationstates.h"
- #include "llstring.h"
- LLUUID AGENT_WALK_ANIMS[] = {ANIM_AGENT_WALK, ANIM_AGENT_RUN, ANIM_AGENT_CROUCHWALK, ANIM_AGENT_TURNLEFT, ANIM_AGENT_TURNRIGHT};
- S32 NUM_AGENT_WALK_ANIMS = LL_ARRAY_SIZE(AGENT_WALK_ANIMS);
- 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};
- S32 NUM_AGENT_GUN_HOLD_ANIMS = LL_ARRAY_SIZE(AGENT_GUN_HOLD_ANIMS);
- 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};
- S32 NUM_AGENT_GUN_AIM_ANIMS = LL_ARRAY_SIZE(AGENT_GUN_AIM_ANIMS);
- LLUUID AGENT_NO_ROTATE_ANIMS[] = {ANIM_AGENT_SIT_GROUND, ANIM_AGENT_SIT_GROUND_CONSTRAINED, ANIM_AGENT_STANDUP};
- S32 NUM_AGENT_NO_ROTATE_ANIMS = LL_ARRAY_SIZE(AGENT_NO_ROTATE_ANIMS);
- LLUUID AGENT_STAND_ANIMS[] = {ANIM_AGENT_STAND, ANIM_AGENT_STAND_1, ANIM_AGENT_STAND_2, ANIM_AGENT_STAND_3, ANIM_AGENT_STAND_4};
- S32 NUM_AGENT_STAND_ANIMS = LL_ARRAY_SIZE(AGENT_STAND_ANIMS);
- LLAnimationLibrary gAnimLibrary;
- //-----------------------------------------------------------------------------
- // LLAnimationLibrary()
- //-----------------------------------------------------------------------------
- LLAnimationLibrary::LLAnimationLibrary() :
- mAnimStringTable(16384)
- {
- //add animation names to animmap
- mAnimMap[ANIM_AGENT_AFRAID]= mAnimStringTable.addString("express_afraid");
- mAnimMap[ANIM_AGENT_AIM_BAZOOKA_R]= mAnimStringTable.addString("aim_r_bazooka");
- mAnimMap[ANIM_AGENT_AIM_BOW_L]= mAnimStringTable.addString("aim_l_bow");
- mAnimMap[ANIM_AGENT_AIM_HANDGUN_R]= mAnimStringTable.addString("aim_r_handgun");
- mAnimMap[ANIM_AGENT_AIM_RIFLE_R]= mAnimStringTable.addString("aim_r_rifle");
- mAnimMap[ANIM_AGENT_ANGRY]= mAnimStringTable.addString("express_anger");
- mAnimMap[ANIM_AGENT_AWAY]= mAnimStringTable.addString("away");
- mAnimMap[ANIM_AGENT_BACKFLIP]= mAnimStringTable.addString("backflip");
- mAnimMap[ANIM_AGENT_BELLY_LAUGH]= mAnimStringTable.addString("express_laugh");
- mAnimMap[ANIM_AGENT_BLOW_KISS]= mAnimStringTable.addString("blowkiss");
- mAnimMap[ANIM_AGENT_BORED]= mAnimStringTable.addString("express_bored");
- mAnimMap[ANIM_AGENT_BOW]= mAnimStringTable.addString("bow");
- mAnimMap[ANIM_AGENT_BRUSH]= mAnimStringTable.addString("brush");
- mAnimMap[ANIM_AGENT_BUSY]= mAnimStringTable.addString("busy");
- mAnimMap[ANIM_AGENT_CLAP]= mAnimStringTable.addString("clap");
- mAnimMap[ANIM_AGENT_COURTBOW]= mAnimStringTable.addString("courtbow");
- mAnimMap[ANIM_AGENT_CROUCH]= mAnimStringTable.addString("crouch");
- mAnimMap[ANIM_AGENT_CROUCHWALK]= mAnimStringTable.addString("crouchwalk");
- mAnimMap[ANIM_AGENT_CRY]= mAnimStringTable.addString("express_cry");
- mAnimMap[ANIM_AGENT_CUSTOMIZE]= mAnimStringTable.addString("turn_180");
- mAnimMap[ANIM_AGENT_CUSTOMIZE_DONE]= mAnimStringTable.addString("turnback_180");
- mAnimMap[ANIM_AGENT_DANCE1]= mAnimStringTable.addString("dance1");
- mAnimMap[ANIM_AGENT_DANCE2]= mAnimStringTable.addString("dance2");
- mAnimMap[ANIM_AGENT_DANCE3]= mAnimStringTable.addString("dance3");
- mAnimMap[ANIM_AGENT_DANCE4]= mAnimStringTable.addString("dance4");
- mAnimMap[ANIM_AGENT_DANCE5]= mAnimStringTable.addString("dance5");
- mAnimMap[ANIM_AGENT_DANCE6]= mAnimStringTable.addString("dance6");
- mAnimMap[ANIM_AGENT_DANCE7]= mAnimStringTable.addString("dance7");
- mAnimMap[ANIM_AGENT_DANCE8]= mAnimStringTable.addString("dance8");
- mAnimMap[ANIM_AGENT_DEAD]= mAnimStringTable.addString("dead");
- mAnimMap[ANIM_AGENT_DRINK]= mAnimStringTable.addString("drink");
- mAnimMap[ANIM_AGENT_EMBARRASSED]= mAnimStringTable.addString("express_embarrased");
- mAnimMap[ANIM_AGENT_EXPRESS_AFRAID]= mAnimStringTable.addString("express_afraid_emote");
- mAnimMap[ANIM_AGENT_EXPRESS_ANGER]= mAnimStringTable.addString("express_anger_emote");
- mAnimMap[ANIM_AGENT_EXPRESS_BORED]= mAnimStringTable.addString("express_bored_emote");
- mAnimMap[ANIM_AGENT_EXPRESS_CRY]= mAnimStringTable.addString("express_cry_emote");
- mAnimMap[ANIM_AGENT_EXPRESS_DISDAIN]= mAnimStringTable.addString("express_disdain");
- mAnimMap[ANIM_AGENT_EXPRESS_EMBARRASSED]= mAnimStringTable.addString("express_embarrassed_emote");
- mAnimMap[ANIM_AGENT_EXPRESS_FROWN]= mAnimStringTable.addString("express_frown");
- mAnimMap[ANIM_AGENT_EXPRESS_KISS]= mAnimStringTable.addString("express_kiss");
- mAnimMap[ANIM_AGENT_EXPRESS_LAUGH]= mAnimStringTable.addString("express_laugh_emote");
- mAnimMap[ANIM_AGENT_EXPRESS_OPEN_MOUTH]= mAnimStringTable.addString("express_open_mouth");
- mAnimMap[ANIM_AGENT_EXPRESS_REPULSED]= mAnimStringTable.addString("express_repulsed_emote");
- mAnimMap[ANIM_AGENT_EXPRESS_SAD]= mAnimStringTable.addString("express_sad_emote");
- mAnimMap[ANIM_AGENT_EXPRESS_SHRUG]= mAnimStringTable.addString("express_shrug_emote");
- mAnimMap[ANIM_AGENT_EXPRESS_SMILE]= mAnimStringTable.addString("express_smile");
- mAnimMap[ANIM_AGENT_EXPRESS_SURPRISE]= mAnimStringTable.addString("express_surprise_emote");
- mAnimMap[ANIM_AGENT_EXPRESS_TONGUE_OUT]= mAnimStringTable.addString("express_tongue_out");
- mAnimMap[ANIM_AGENT_EXPRESS_TOOTHSMILE]= mAnimStringTable.addString("express_toothsmile");
- mAnimMap[ANIM_AGENT_EXPRESS_WINK]= mAnimStringTable.addString("express_wink_emote");
- mAnimMap[ANIM_AGENT_EXPRESS_WORRY]= mAnimStringTable.addString("express_worry_emote");
- mAnimMap[ANIM_AGENT_FALLDOWN]= mAnimStringTable.addString("falldown");
- mAnimMap[ANIM_AGENT_FEMALE_WALK]= mAnimStringTable.addString("female_walk");
- mAnimMap[ANIM_AGENT_FINGER_WAG]= mAnimStringTable.addString("angry_fingerwag");
- mAnimMap[ANIM_AGENT_FIST_PUMP]= mAnimStringTable.addString("fist_pump");
- mAnimMap[ANIM_AGENT_FLY]= mAnimStringTable.addString("fly");
- mAnimMap[ANIM_AGENT_FLYSLOW]= mAnimStringTable.addString("flyslow");
- mAnimMap[ANIM_AGENT_HELLO]= mAnimStringTable.addString("hello");
- mAnimMap[ANIM_AGENT_HOLD_BAZOOKA_R]= mAnimStringTable.addString("hold_r_bazooka");
- mAnimMap[ANIM_AGENT_HOLD_BOW_L]= mAnimStringTable.addString("hold_l_bow");
- mAnimMap[ANIM_AGENT_HOLD_HANDGUN_R]= mAnimStringTable.addString("hold_r_handgun");
- mAnimMap[ANIM_AGENT_HOLD_RIFLE_R]= mAnimStringTable.addString("hold_r_rifle");
- mAnimMap[ANIM_AGENT_HOLD_THROW_R]= mAnimStringTable.addString("hold_throw_r");
- mAnimMap[ANIM_AGENT_HOVER]= mAnimStringTable.addString("hover");
- mAnimMap[ANIM_AGENT_HOVER_DOWN]= mAnimStringTable.addString("hover_down");
- mAnimMap[ANIM_AGENT_HOVER_UP]= mAnimStringTable.addString("hover_up");
- mAnimMap[ANIM_AGENT_IMPATIENT]= mAnimStringTable.addString("impatient");
- mAnimMap[ANIM_AGENT_JUMP]= mAnimStringTable.addString("jump");
- mAnimMap[ANIM_AGENT_JUMP_FOR_JOY]= mAnimStringTable.addString("jumpforjoy");
- mAnimMap[ANIM_AGENT_KISS_MY_BUTT]= mAnimStringTable.addString("kissmybutt");
- mAnimMap[ANIM_AGENT_LAND]= mAnimStringTable.addString("land");
- mAnimMap[ANIM_AGENT_LAUGH_SHORT]= mAnimStringTable.addString("laugh_short");
- mAnimMap[ANIM_AGENT_MEDIUM_LAND]= mAnimStringTable.addString("soft_land");
- mAnimMap[ANIM_AGENT_MOTORCYCLE_SIT]= mAnimStringTable.addString("motorcycle_sit");
- mAnimMap[ANIM_AGENT_MUSCLE_BEACH]= mAnimStringTable.addString("musclebeach");
- mAnimMap[ANIM_AGENT_NO]= mAnimStringTable.addString("no_head");
- mAnimMap[ANIM_AGENT_NO_UNHAPPY]= mAnimStringTable.addString("no_unhappy");
- mAnimMap[ANIM_AGENT_NYAH_NYAH]= mAnimStringTable.addString("nyanya");
- mAnimMap[ANIM_AGENT_ONETWO_PUNCH]= mAnimStringTable.addString("punch_onetwo");
- mAnimMap[ANIM_AGENT_PEACE]= mAnimStringTable.addString("peace");
- mAnimMap[ANIM_AGENT_POINT_ME]= mAnimStringTable.addString("point_me");
- mAnimMap[ANIM_AGENT_POINT_YOU]= mAnimStringTable.addString("point_you");
- mAnimMap[ANIM_AGENT_PRE_JUMP]= mAnimStringTable.addString("prejump");
- mAnimMap[ANIM_AGENT_PUNCH_LEFT]= mAnimStringTable.addString("punch_l");
- mAnimMap[ANIM_AGENT_PUNCH_RIGHT]= mAnimStringTable.addString("punch_r");
- mAnimMap[ANIM_AGENT_REPULSED]= mAnimStringTable.addString("express_repulsed");
- mAnimMap[ANIM_AGENT_ROUNDHOUSE_KICK]= mAnimStringTable.addString("kick_roundhouse_r");
- mAnimMap[ANIM_AGENT_RPS_COUNTDOWN]= mAnimStringTable.addString("rps_countdown");
- mAnimMap[ANIM_AGENT_RPS_PAPER]= mAnimStringTable.addString("rps_paper");
- mAnimMap[ANIM_AGENT_RPS_ROCK]= mAnimStringTable.addString("rps_rock");
- mAnimMap[ANIM_AGENT_RPS_SCISSORS]= mAnimStringTable.addString("rps_scissors");
- mAnimMap[ANIM_AGENT_RUN]= mAnimStringTable.addString("run");
- mAnimMap[ANIM_AGENT_SAD]= mAnimStringTable.addString("express_sad");
- mAnimMap[ANIM_AGENT_SALUTE]= mAnimStringTable.addString("salute");
- mAnimMap[ANIM_AGENT_SHOOT_BOW_L]= mAnimStringTable.addString("shoot_l_bow");
- mAnimMap[ANIM_AGENT_SHOUT]= mAnimStringTable.addString("shout");
- mAnimMap[ANIM_AGENT_SHRUG]= mAnimStringTable.addString("express_shrug");
- mAnimMap[ANIM_AGENT_SIT]= mAnimStringTable.addString("sit");
- mAnimMap[ANIM_AGENT_SIT_FEMALE]= mAnimStringTable.addString("sit_female");
- mAnimMap[ANIM_AGENT_SIT_GROUND]= mAnimStringTable.addString("sit_ground");
- mAnimMap[ANIM_AGENT_SIT_GROUND_CONSTRAINED]= mAnimStringTable.addString("sit_ground_constrained");
- mAnimMap[ANIM_AGENT_SIT_GENERIC]= mAnimStringTable.addString("sit_generic");
- mAnimMap[ANIM_AGENT_SIT_TO_STAND]= mAnimStringTable.addString("sit_to_stand");
- mAnimMap[ANIM_AGENT_SLEEP]= mAnimStringTable.addString("sleep");
- mAnimMap[ANIM_AGENT_SMOKE_IDLE]= mAnimStringTable.addString("smoke_idle");
- mAnimMap[ANIM_AGENT_SMOKE_INHALE]= mAnimStringTable.addString("smoke_inhale");
- mAnimMap[ANIM_AGENT_SMOKE_THROW_DOWN]= mAnimStringTable.addString("smoke_throw_down");
- mAnimMap[ANIM_AGENT_SNAPSHOT]= mAnimStringTable.addString("snapshot");
- mAnimMap[ANIM_AGENT_STAND]= mAnimStringTable.addString("stand");
- mAnimMap[ANIM_AGENT_STANDUP]= mAnimStringTable.addString("standup");
- mAnimMap[ANIM_AGENT_STAND_1]= mAnimStringTable.addString("stand_1");
- mAnimMap[ANIM_AGENT_STAND_2]= mAnimStringTable.addString("stand_2");
- mAnimMap[ANIM_AGENT_STAND_3]= mAnimStringTable.addString("stand_3");
- mAnimMap[ANIM_AGENT_STAND_4]= mAnimStringTable.addString("stand_4");
- mAnimMap[ANIM_AGENT_STRETCH]= mAnimStringTable.addString("stretch");
- mAnimMap[ANIM_AGENT_STRIDE]= mAnimStringTable.addString("stride");
- mAnimMap[ANIM_AGENT_SURF]= mAnimStringTable.addString("surf");
- mAnimMap[ANIM_AGENT_SURPRISE]= mAnimStringTable.addString("express_surprise");
- mAnimMap[ANIM_AGENT_SWORD_STRIKE]= mAnimStringTable.addString("sword_strike_r");
- mAnimMap[ANIM_AGENT_TALK]= mAnimStringTable.addString("talk");
- mAnimMap[ANIM_AGENT_TANTRUM]= mAnimStringTable.addString("angry_tantrum");
- mAnimMap[ANIM_AGENT_THROW_R]= mAnimStringTable.addString("throw_r");
- mAnimMap[ANIM_AGENT_TRYON_SHIRT]= mAnimStringTable.addString("tryon_shirt");
- mAnimMap[ANIM_AGENT_TURNLEFT]= mAnimStringTable.addString("turnleft");
- mAnimMap[ANIM_AGENT_TURNRIGHT]= mAnimStringTable.addString("turnright");
- mAnimMap[ANIM_AGENT_TYPE]= mAnimStringTable.addString("type");
- mAnimMap[ANIM_AGENT_WALK]= mAnimStringTable.addString("walk");
- mAnimMap[ANIM_AGENT_WHISPER]= mAnimStringTable.addString("whisper");
- mAnimMap[ANIM_AGENT_WHISTLE]= mAnimStringTable.addString("whistle");
- mAnimMap[ANIM_AGENT_WINK]= mAnimStringTable.addString("express_wink");
- mAnimMap[ANIM_AGENT_WINK_HOLLYWOOD]= mAnimStringTable.addString("wink_hollywood");
- mAnimMap[ANIM_AGENT_WORRY]= mAnimStringTable.addString("express_worry");
- mAnimMap[ANIM_AGENT_YES]= mAnimStringTable.addString("yes_head");
- mAnimMap[ANIM_AGENT_YES_HAPPY]= mAnimStringTable.addString("yes_happy");
- mAnimMap[ANIM_AGENT_YOGA_FLOAT]= mAnimStringTable.addString("yoga_float");
- }
- //-----------------------------------------------------------------------------
- // ~LLAnimationLibrary()
- //-----------------------------------------------------------------------------
- LLAnimationLibrary::~LLAnimationLibrary()
- {
- }
- //-----------------------------------------------------------------------------
- // Return the text name of an animation state
- //-----------------------------------------------------------------------------
- const char *LLAnimationLibrary::animStateToString( const LLUUID& state )
- {
- if (state.isNull())
- {
- return NULL;
- }
- if (mAnimMap.count(state))
- {
- return mAnimMap[state];
- }
- return NULL;
- }
- //-----------------------------------------------------------------------------
- // Return the animation state for a given name
- //-----------------------------------------------------------------------------
- LLUUID LLAnimationLibrary::stringToAnimState( const std::string& name, BOOL allow_ids )
- {
- std::string lower_case_name(name);
- LLStringUtil::toLower(lower_case_name);
- char *true_name = mAnimStringTable.checkString(lower_case_name.c_str());
- LLUUID id;
- id.setNull();
- if (true_name)
- {
- for (anim_map_t::iterator iter = mAnimMap.begin();
- iter != mAnimMap.end(); iter++)
- {
- if (iter->second == true_name)
- {
- id = iter->first;
- break;
- }
- }
- }
- else if (allow_ids)
- {
- // try to convert string to LLUUID
- id.set(name, FALSE);
- }
- return id;
- }
- // Animation states that the user can trigger as part of a gesture
- // See struct LLAnimStateEntry in header for label location information
- const LLAnimStateEntry gUserAnimStates[] = {
- LLAnimStateEntry("express_afraid", ANIM_AGENT_AFRAID),
- LLAnimStateEntry("express_anger", ANIM_AGENT_ANGRY),
- LLAnimStateEntry("away", ANIM_AGENT_AWAY),
- LLAnimStateEntry("backflip", ANIM_AGENT_BACKFLIP),
- LLAnimStateEntry("express_laugh", ANIM_AGENT_BELLY_LAUGH),
- LLAnimStateEntry("express_toothsmile", ANIM_AGENT_EXPRESS_TOOTHSMILE),
- LLAnimStateEntry("blowkiss", ANIM_AGENT_BLOW_KISS),
- LLAnimStateEntry("express_bored", ANIM_AGENT_BORED),
- LLAnimStateEntry("bow", ANIM_AGENT_BOW),
- LLAnimStateEntry("clap", ANIM_AGENT_CLAP),
- LLAnimStateEntry("courtbow", ANIM_AGENT_COURTBOW),
- LLAnimStateEntry("express_cry", ANIM_AGENT_CRY),
- LLAnimStateEntry("dance1", ANIM_AGENT_DANCE1),
- LLAnimStateEntry("dance2", ANIM_AGENT_DANCE2),
- LLAnimStateEntry("dance3", ANIM_AGENT_DANCE3),
- LLAnimStateEntry("dance4", ANIM_AGENT_DANCE4),
- LLAnimStateEntry("dance5", ANIM_AGENT_DANCE5),
- LLAnimStateEntry("dance6", ANIM_AGENT_DANCE6),
- LLAnimStateEntry("dance7", ANIM_AGENT_DANCE7),
- LLAnimStateEntry("dance8", ANIM_AGENT_DANCE8),
- LLAnimStateEntry("express_disdain", ANIM_AGENT_EXPRESS_DISDAIN),
- LLAnimStateEntry("drink", ANIM_AGENT_DRINK),
- LLAnimStateEntry("express_embarrased", ANIM_AGENT_EMBARRASSED),
- LLAnimStateEntry("angry_fingerwag", ANIM_AGENT_FINGER_WAG),
- LLAnimStateEntry("fist_pump", ANIM_AGENT_FIST_PUMP),
- LLAnimStateEntry("yoga_float", ANIM_AGENT_YOGA_FLOAT),
- LLAnimStateEntry("express_frown", ANIM_AGENT_EXPRESS_FROWN),
- LLAnimStateEntry("impatient", ANIM_AGENT_IMPATIENT),
- LLAnimStateEntry("jumpforjoy", ANIM_AGENT_JUMP_FOR_JOY),
- LLAnimStateEntry("kissmybutt", ANIM_AGENT_KISS_MY_BUTT),
- LLAnimStateEntry("express_kiss", ANIM_AGENT_EXPRESS_KISS),
- LLAnimStateEntry("laugh_short", ANIM_AGENT_LAUGH_SHORT),
- LLAnimStateEntry("musclebeach", ANIM_AGENT_MUSCLE_BEACH),
- LLAnimStateEntry("no_unhappy", ANIM_AGENT_NO_UNHAPPY),
- LLAnimStateEntry("no_head", ANIM_AGENT_NO),
- LLAnimStateEntry("nyanya", ANIM_AGENT_NYAH_NYAH),
- LLAnimStateEntry("punch_onetwo", ANIM_AGENT_ONETWO_PUNCH),
- LLAnimStateEntry("express_open_mouth", ANIM_AGENT_EXPRESS_OPEN_MOUTH),
- LLAnimStateEntry("peace", ANIM_AGENT_PEACE),
- LLAnimStateEntry("point_you", ANIM_AGENT_POINT_YOU),
- LLAnimStateEntry("point_me", ANIM_AGENT_POINT_ME),
- LLAnimStateEntry("punch_l", ANIM_AGENT_PUNCH_LEFT),
- LLAnimStateEntry("punch_r", ANIM_AGENT_PUNCH_RIGHT),
- LLAnimStateEntry("rps_countdown", ANIM_AGENT_RPS_COUNTDOWN),
- LLAnimStateEntry("rps_paper", ANIM_AGENT_RPS_PAPER),
- LLAnimStateEntry("rps_rock", ANIM_AGENT_RPS_ROCK),
- LLAnimStateEntry("rps_scissors", ANIM_AGENT_RPS_SCISSORS),
- LLAnimStateEntry("express_repulsed", ANIM_AGENT_EXPRESS_REPULSED),
- LLAnimStateEntry("kick_roundhouse_r", ANIM_AGENT_ROUNDHOUSE_KICK),
- LLAnimStateEntry("express_sad", ANIM_AGENT_SAD),
- LLAnimStateEntry("salute", ANIM_AGENT_SALUTE),
- LLAnimStateEntry("shout", ANIM_AGENT_SHOUT),
- LLAnimStateEntry("express_shrug", ANIM_AGENT_SHRUG),
- LLAnimStateEntry("express_smile", ANIM_AGENT_EXPRESS_SMILE),
- LLAnimStateEntry("smoke_idle", ANIM_AGENT_SMOKE_IDLE),
- LLAnimStateEntry("smoke_inhale", ANIM_AGENT_SMOKE_INHALE),
- LLAnimStateEntry("smoke_throw_down", ANIM_AGENT_SMOKE_THROW_DOWN),
- LLAnimStateEntry("express_surprise", ANIM_AGENT_SURPRISE),
- LLAnimStateEntry("sword_strike_r", ANIM_AGENT_SWORD_STRIKE),
- LLAnimStateEntry("angry_tantrum", ANIM_AGENT_TANTRUM),
- LLAnimStateEntry("express_tongue_out", ANIM_AGENT_EXPRESS_TONGUE_OUT),
- LLAnimStateEntry("hello", ANIM_AGENT_HELLO),
- LLAnimStateEntry("whisper", ANIM_AGENT_WHISPER),
- LLAnimStateEntry("whistle", ANIM_AGENT_WHISTLE),
- LLAnimStateEntry("express_wink", ANIM_AGENT_WINK),
- LLAnimStateEntry("wink_hollywood", ANIM_AGENT_WINK_HOLLYWOOD),
- LLAnimStateEntry("express_worry", ANIM_AGENT_EXPRESS_WORRY),
- LLAnimStateEntry("yes_happy", ANIM_AGENT_YES_HAPPY),
- LLAnimStateEntry("yes_head", ANIM_AGENT_YES),
- };
- const S32 gUserAnimStatesCount = LL_ARRAY_SIZE(gUserAnimStates);
- // End