343 lines
19 KiB
C++
343 lines
19 KiB
C++
/**
|
|
* @file llanimationstates.cpp
|
|
* @brief Implementation of animation state related functions.
|
|
*
|
|
* $LicenseInfo:firstyear=2001&license=viewergpl$
|
|
*
|
|
* Copyright (c) 2001-2009, 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
|
|
|