diff options
Diffstat (limited to 'linden/indra/llcharacter/llanimationstates.cpp')
-rw-r--r-- | linden/indra/llcharacter/llanimationstates.cpp | 338 |
1 files changed, 338 insertions, 0 deletions
diff --git a/linden/indra/llcharacter/llanimationstates.cpp b/linden/indra/llcharacter/llanimationstates.cpp new file mode 100644 index 0000000..8687dfb --- /dev/null +++ b/linden/indra/llcharacter/llanimationstates.cpp | |||
@@ -0,0 +1,338 @@ | |||
1 | /** | ||
2 | * @file llanimationstates.cpp | ||
3 | * @brief Implementation of animation state related functions. | ||
4 | * | ||
5 | * Copyright (c) 2001-2007, Linden Research, Inc. | ||
6 | * | ||
7 | * The source code in this file ("Source Code") is provided by Linden Lab | ||
8 | * to you under the terms of the GNU General Public License, version 2.0 | ||
9 | * ("GPL"), unless you have obtained a separate licensing agreement | ||
10 | * ("Other License"), formally executed by you and Linden Lab. Terms of | ||
11 | * the GPL can be found in doc/GPL-license.txt in this distribution, or | ||
12 | * online at http://secondlife.com/developers/opensource/gplv2 | ||
13 | * | ||
14 | * There are special exceptions to the terms and conditions of the GPL as | ||
15 | * it is applied to this Source Code. View the full text of the exception | ||
16 | * in the file doc/FLOSS-exception.txt in this software distribution, or | ||
17 | * online at http://secondlife.com/developers/opensource/flossexception | ||
18 | * | ||
19 | * By copying, modifying or distributing this software, you acknowledge | ||
20 | * that you have read and understood your obligations described above, | ||
21 | * and agree to abide by those obligations. | ||
22 | * | ||
23 | * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO | ||
24 | * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, | ||
25 | * COMPLETENESS OR PERFORMANCE. | ||
26 | */ | ||
27 | |||
28 | //----------------------------------------------------------------------------- | ||
29 | // Agent Animation State | ||
30 | //----------------------------------------------------------------------------- | ||
31 | |||
32 | #include "linden_common.h" | ||
33 | |||
34 | #include <string.h> | ||
35 | |||
36 | #include "llanimationstates.h" | ||
37 | #include "llstring.h" | ||
38 | |||
39 | LLUUID AGENT_WALK_ANIMS[] = {ANIM_AGENT_WALK, ANIM_AGENT_RUN, ANIM_AGENT_CROUCHWALK, ANIM_AGENT_TURNLEFT, ANIM_AGENT_TURNRIGHT}; | ||
40 | S32 NUM_AGENT_WALK_ANIMS = sizeof(AGENT_WALK_ANIMS) / sizeof(LLUUID); | ||
41 | |||
42 | 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}; | ||
43 | S32 NUM_AGENT_GUN_HOLD_ANIMS = sizeof(AGENT_GUN_HOLD_ANIMS) / sizeof(LLUUID); | ||
44 | |||
45 | 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}; | ||
46 | S32 NUM_AGENT_GUN_AIM_ANIMS = sizeof(AGENT_GUN_AIM_ANIMS) / sizeof(LLUUID); | ||
47 | |||
48 | LLUUID AGENT_NO_ROTATE_ANIMS[] = {ANIM_AGENT_SIT_GROUND, ANIM_AGENT_SIT_GROUND_CONSTRAINED, ANIM_AGENT_STANDUP}; | ||
49 | S32 NUM_AGENT_NO_ROTATE_ANIMS = sizeof(AGENT_NO_ROTATE_ANIMS) / sizeof(LLUUID); | ||
50 | |||
51 | LLUUID AGENT_STAND_ANIMS[] = {ANIM_AGENT_STAND, ANIM_AGENT_STAND_1, ANIM_AGENT_STAND_2, ANIM_AGENT_STAND_3, ANIM_AGENT_STAND_4}; | ||
52 | S32 NUM_AGENT_STAND_ANIMS = sizeof(AGENT_STAND_ANIMS) / sizeof(LLUUID); | ||
53 | |||
54 | |||
55 | LLAnimationLibrary gAnimLibrary; | ||
56 | |||
57 | //----------------------------------------------------------------------------- | ||
58 | // LLAnimationLibrary() | ||
59 | //----------------------------------------------------------------------------- | ||
60 | LLAnimationLibrary::LLAnimationLibrary() : | ||
61 | mAnimStringTable(16384) | ||
62 | { | ||
63 | //add animation names to animmap | ||
64 | mAnimMap[ANIM_AGENT_AFRAID]= mAnimStringTable.addString("express_afraid"); | ||
65 | mAnimMap[ANIM_AGENT_AIM_BAZOOKA_R]= mAnimStringTable.addString("aim_r_bazooka"); | ||
66 | mAnimMap[ANIM_AGENT_AIM_BOW_L]= mAnimStringTable.addString("aim_l_bow"); | ||
67 | mAnimMap[ANIM_AGENT_AIM_HANDGUN_R]= mAnimStringTable.addString("aim_r_handgun"); | ||
68 | mAnimMap[ANIM_AGENT_AIM_RIFLE_R]= mAnimStringTable.addString("aim_r_rifle"); | ||
69 | mAnimMap[ANIM_AGENT_ANGRY]= mAnimStringTable.addString("express_anger"); | ||
70 | mAnimMap[ANIM_AGENT_AWAY]= mAnimStringTable.addString("away"); | ||
71 | mAnimMap[ANIM_AGENT_BACKFLIP]= mAnimStringTable.addString("backflip"); | ||
72 | mAnimMap[ANIM_AGENT_BELLY_LAUGH]= mAnimStringTable.addString("express_laugh"); | ||
73 | mAnimMap[ANIM_AGENT_BLOW_KISS]= mAnimStringTable.addString("blowkiss"); | ||
74 | mAnimMap[ANIM_AGENT_BORED]= mAnimStringTable.addString("express_bored"); | ||
75 | mAnimMap[ANIM_AGENT_BOW]= mAnimStringTable.addString("bow"); | ||
76 | mAnimMap[ANIM_AGENT_BRUSH]= mAnimStringTable.addString("brush"); | ||
77 | mAnimMap[ANIM_AGENT_BUSY]= mAnimStringTable.addString("busy"); | ||
78 | mAnimMap[ANIM_AGENT_CLAP]= mAnimStringTable.addString("clap"); | ||
79 | mAnimMap[ANIM_AGENT_COURTBOW]= mAnimStringTable.addString("courtbow"); | ||
80 | mAnimMap[ANIM_AGENT_CROUCH]= mAnimStringTable.addString("crouch"); | ||
81 | mAnimMap[ANIM_AGENT_CROUCHWALK]= mAnimStringTable.addString("crouchwalk"); | ||
82 | mAnimMap[ANIM_AGENT_CRY]= mAnimStringTable.addString("express_cry"); | ||
83 | mAnimMap[ANIM_AGENT_CUSTOMIZE]= mAnimStringTable.addString("turn_180"); | ||
84 | mAnimMap[ANIM_AGENT_CUSTOMIZE_DONE]= mAnimStringTable.addString("turnback_180"); | ||
85 | mAnimMap[ANIM_AGENT_DANCE1]= mAnimStringTable.addString("dance1"); | ||
86 | mAnimMap[ANIM_AGENT_DANCE2]= mAnimStringTable.addString("dance2"); | ||
87 | mAnimMap[ANIM_AGENT_DANCE3]= mAnimStringTable.addString("dance3"); | ||
88 | mAnimMap[ANIM_AGENT_DANCE4]= mAnimStringTable.addString("dance4"); | ||
89 | mAnimMap[ANIM_AGENT_DANCE5]= mAnimStringTable.addString("dance5"); | ||
90 | mAnimMap[ANIM_AGENT_DANCE6]= mAnimStringTable.addString("dance6"); | ||
91 | mAnimMap[ANIM_AGENT_DANCE7]= mAnimStringTable.addString("dance7"); | ||
92 | mAnimMap[ANIM_AGENT_DANCE8]= mAnimStringTable.addString("dance8"); | ||
93 | mAnimMap[ANIM_AGENT_DEAD]= mAnimStringTable.addString("dead"); | ||
94 | mAnimMap[ANIM_AGENT_DRINK]= mAnimStringTable.addString("drink"); | ||
95 | mAnimMap[ANIM_AGENT_EMBARRASSED]= mAnimStringTable.addString("express_embarrased"); | ||
96 | mAnimMap[ANIM_AGENT_EXPRESS_AFRAID]= mAnimStringTable.addString("express_afraid_emote"); | ||
97 | mAnimMap[ANIM_AGENT_EXPRESS_ANGER]= mAnimStringTable.addString("express_anger_emote"); | ||
98 | mAnimMap[ANIM_AGENT_EXPRESS_BORED]= mAnimStringTable.addString("express_bored_emote"); | ||
99 | mAnimMap[ANIM_AGENT_EXPRESS_CRY]= mAnimStringTable.addString("express_cry_emote"); | ||
100 | mAnimMap[ANIM_AGENT_EXPRESS_DISDAIN]= mAnimStringTable.addString("express_disdain"); | ||
101 | mAnimMap[ANIM_AGENT_EXPRESS_EMBARRASSED]= mAnimStringTable.addString("express_embarrassed_emote"); | ||
102 | mAnimMap[ANIM_AGENT_EXPRESS_FROWN]= mAnimStringTable.addString("express_frown"); | ||
103 | mAnimMap[ANIM_AGENT_EXPRESS_KISS]= mAnimStringTable.addString("express_kiss"); | ||
104 | mAnimMap[ANIM_AGENT_EXPRESS_LAUGH]= mAnimStringTable.addString("express_laugh_emote"); | ||
105 | mAnimMap[ANIM_AGENT_EXPRESS_OPEN_MOUTH]= mAnimStringTable.addString("express_open_mouth"); | ||
106 | mAnimMap[ANIM_AGENT_EXPRESS_REPULSED]= mAnimStringTable.addString("express_repulsed_emote"); | ||
107 | mAnimMap[ANIM_AGENT_EXPRESS_SAD]= mAnimStringTable.addString("express_sad_emote"); | ||
108 | mAnimMap[ANIM_AGENT_EXPRESS_SHRUG]= mAnimStringTable.addString("express_shrug_emote"); | ||
109 | mAnimMap[ANIM_AGENT_EXPRESS_SMILE]= mAnimStringTable.addString("express_smile"); | ||
110 | mAnimMap[ANIM_AGENT_EXPRESS_SURPRISE]= mAnimStringTable.addString("express_surprise_emote"); | ||
111 | mAnimMap[ANIM_AGENT_EXPRESS_TONGUE_OUT]= mAnimStringTable.addString("express_tongue_out"); | ||
112 | mAnimMap[ANIM_AGENT_EXPRESS_TOOTHSMILE]= mAnimStringTable.addString("express_toothsmile"); | ||
113 | mAnimMap[ANIM_AGENT_EXPRESS_WINK]= mAnimStringTable.addString("express_wink_emote"); | ||
114 | mAnimMap[ANIM_AGENT_EXPRESS_WORRY]= mAnimStringTable.addString("express_worry_emote"); | ||
115 | mAnimMap[ANIM_AGENT_FALLDOWN]= mAnimStringTable.addString("falldown"); | ||
116 | mAnimMap[ANIM_AGENT_FEMALE_WALK]= mAnimStringTable.addString("female_walk"); | ||
117 | mAnimMap[ANIM_AGENT_FINGER_WAG]= mAnimStringTable.addString("angry_fingerwag"); | ||
118 | mAnimMap[ANIM_AGENT_FIST_PUMP]= mAnimStringTable.addString("fist_pump"); | ||
119 | mAnimMap[ANIM_AGENT_FLY]= mAnimStringTable.addString("fly"); | ||
120 | mAnimMap[ANIM_AGENT_FLYSLOW]= mAnimStringTable.addString("flyslow"); | ||
121 | mAnimMap[ANIM_AGENT_HELLO]= mAnimStringTable.addString("hello"); | ||
122 | mAnimMap[ANIM_AGENT_HOLD_BAZOOKA_R]= mAnimStringTable.addString("hold_r_bazooka"); | ||
123 | mAnimMap[ANIM_AGENT_HOLD_BOW_L]= mAnimStringTable.addString("hold_l_bow"); | ||
124 | mAnimMap[ANIM_AGENT_HOLD_HANDGUN_R]= mAnimStringTable.addString("hold_r_handgun"); | ||
125 | mAnimMap[ANIM_AGENT_HOLD_RIFLE_R]= mAnimStringTable.addString("hold_r_rifle"); | ||
126 | mAnimMap[ANIM_AGENT_HOLD_THROW_R]= mAnimStringTable.addString("hold_throw_r"); | ||
127 | mAnimMap[ANIM_AGENT_HOVER]= mAnimStringTable.addString("hover"); | ||
128 | mAnimMap[ANIM_AGENT_HOVER_DOWN]= mAnimStringTable.addString("hover_down"); | ||
129 | mAnimMap[ANIM_AGENT_HOVER_UP]= mAnimStringTable.addString("hover_up"); | ||
130 | mAnimMap[ANIM_AGENT_IMPATIENT]= mAnimStringTable.addString("impatient"); | ||
131 | mAnimMap[ANIM_AGENT_JUMP]= mAnimStringTable.addString("jump"); | ||
132 | mAnimMap[ANIM_AGENT_JUMP_FOR_JOY]= mAnimStringTable.addString("jumpforjoy"); | ||
133 | mAnimMap[ANIM_AGENT_KISS_MY_BUTT]= mAnimStringTable.addString("kissmybutt"); | ||
134 | mAnimMap[ANIM_AGENT_LAND]= mAnimStringTable.addString("land"); | ||
135 | mAnimMap[ANIM_AGENT_LAUGH_SHORT]= mAnimStringTable.addString("laugh_short"); | ||
136 | mAnimMap[ANIM_AGENT_MEDIUM_LAND]= mAnimStringTable.addString("soft_land"); | ||
137 | mAnimMap[ANIM_AGENT_MOTORCYCLE_SIT]= mAnimStringTable.addString("motorcycle_sit"); | ||
138 | mAnimMap[ANIM_AGENT_MUSCLE_BEACH]= mAnimStringTable.addString("musclebeach"); | ||
139 | mAnimMap[ANIM_AGENT_NO]= mAnimStringTable.addString("no_head"); | ||
140 | mAnimMap[ANIM_AGENT_NO_UNHAPPY]= mAnimStringTable.addString("no_unhappy"); | ||
141 | mAnimMap[ANIM_AGENT_NYAH_NYAH]= mAnimStringTable.addString("nyanya"); | ||
142 | mAnimMap[ANIM_AGENT_ONETWO_PUNCH]= mAnimStringTable.addString("punch_onetwo"); | ||
143 | mAnimMap[ANIM_AGENT_PEACE]= mAnimStringTable.addString("peace"); | ||
144 | mAnimMap[ANIM_AGENT_POINT_ME]= mAnimStringTable.addString("point_me"); | ||
145 | mAnimMap[ANIM_AGENT_POINT_YOU]= mAnimStringTable.addString("point_you"); | ||
146 | mAnimMap[ANIM_AGENT_PRE_JUMP]= mAnimStringTable.addString("prejump"); | ||
147 | mAnimMap[ANIM_AGENT_PUNCH_LEFT]= mAnimStringTable.addString("punch_l"); | ||
148 | mAnimMap[ANIM_AGENT_PUNCH_RIGHT]= mAnimStringTable.addString("punch_r"); | ||
149 | mAnimMap[ANIM_AGENT_REPULSED]= mAnimStringTable.addString("express_repulsed"); | ||
150 | mAnimMap[ANIM_AGENT_ROUNDHOUSE_KICK]= mAnimStringTable.addString("kick_roundhouse_r"); | ||
151 | mAnimMap[ANIM_AGENT_RPS_COUNTDOWN]= mAnimStringTable.addString("rps_countdown"); | ||
152 | mAnimMap[ANIM_AGENT_RPS_PAPER]= mAnimStringTable.addString("rps_paper"); | ||
153 | mAnimMap[ANIM_AGENT_RPS_ROCK]= mAnimStringTable.addString("rps_rock"); | ||
154 | mAnimMap[ANIM_AGENT_RPS_SCISSORS]= mAnimStringTable.addString("rps_scissors"); | ||
155 | mAnimMap[ANIM_AGENT_RUN]= mAnimStringTable.addString("run"); | ||
156 | mAnimMap[ANIM_AGENT_SAD]= mAnimStringTable.addString("express_sad"); | ||
157 | mAnimMap[ANIM_AGENT_SALUTE]= mAnimStringTable.addString("salute"); | ||
158 | mAnimMap[ANIM_AGENT_SHOOT_BOW_L]= mAnimStringTable.addString("shoot_l_bow"); | ||
159 | mAnimMap[ANIM_AGENT_SHOUT]= mAnimStringTable.addString("shout"); | ||
160 | mAnimMap[ANIM_AGENT_SHRUG]= mAnimStringTable.addString("express_shrug"); | ||
161 | mAnimMap[ANIM_AGENT_SIT]= mAnimStringTable.addString("sit"); | ||
162 | mAnimMap[ANIM_AGENT_SIT_FEMALE]= mAnimStringTable.addString("sit_female"); | ||
163 | mAnimMap[ANIM_AGENT_SIT_GROUND]= mAnimStringTable.addString("sit_ground"); | ||
164 | mAnimMap[ANIM_AGENT_SIT_GROUND_CONSTRAINED]= mAnimStringTable.addString("sit_ground_constrained"); | ||
165 | mAnimMap[ANIM_AGENT_SIT_GENERIC]= mAnimStringTable.addString("sit_generic"); | ||
166 | mAnimMap[ANIM_AGENT_SIT_TO_STAND]= mAnimStringTable.addString("sit_to_stand"); | ||
167 | mAnimMap[ANIM_AGENT_SLEEP]= mAnimStringTable.addString("sleep"); | ||
168 | mAnimMap[ANIM_AGENT_SMOKE_IDLE]= mAnimStringTable.addString("smoke_idle"); | ||
169 | mAnimMap[ANIM_AGENT_SMOKE_INHALE]= mAnimStringTable.addString("smoke_inhale"); | ||
170 | mAnimMap[ANIM_AGENT_SMOKE_THROW_DOWN]= mAnimStringTable.addString("smoke_throw_down"); | ||
171 | mAnimMap[ANIM_AGENT_SNAPSHOT]= mAnimStringTable.addString("snapshot"); | ||
172 | mAnimMap[ANIM_AGENT_STAND]= mAnimStringTable.addString("stand"); | ||
173 | mAnimMap[ANIM_AGENT_STANDUP]= mAnimStringTable.addString("standup"); | ||
174 | mAnimMap[ANIM_AGENT_STAND_1]= mAnimStringTable.addString("stand_1"); | ||
175 | mAnimMap[ANIM_AGENT_STAND_2]= mAnimStringTable.addString("stand_2"); | ||
176 | mAnimMap[ANIM_AGENT_STAND_3]= mAnimStringTable.addString("stand_3"); | ||
177 | mAnimMap[ANIM_AGENT_STAND_4]= mAnimStringTable.addString("stand_4"); | ||
178 | mAnimMap[ANIM_AGENT_STRETCH]= mAnimStringTable.addString("stretch"); | ||
179 | mAnimMap[ANIM_AGENT_STRIDE]= mAnimStringTable.addString("stride"); | ||
180 | mAnimMap[ANIM_AGENT_SURF]= mAnimStringTable.addString("surf"); | ||
181 | mAnimMap[ANIM_AGENT_SURPRISE]= mAnimStringTable.addString("express_surprise"); | ||
182 | mAnimMap[ANIM_AGENT_SWORD_STRIKE]= mAnimStringTable.addString("sword_strike_r"); | ||
183 | mAnimMap[ANIM_AGENT_TALK]= mAnimStringTable.addString("talk"); | ||
184 | mAnimMap[ANIM_AGENT_TANTRUM]= mAnimStringTable.addString("angry_tantrum"); | ||
185 | mAnimMap[ANIM_AGENT_THROW_R]= mAnimStringTable.addString("throw_r"); | ||
186 | mAnimMap[ANIM_AGENT_TRYON_SHIRT]= mAnimStringTable.addString("tryon_shirt"); | ||
187 | mAnimMap[ANIM_AGENT_TURNLEFT]= mAnimStringTable.addString("turnleft"); | ||
188 | mAnimMap[ANIM_AGENT_TURNRIGHT]= mAnimStringTable.addString("turnright"); | ||
189 | mAnimMap[ANIM_AGENT_TYPE]= mAnimStringTable.addString("type"); | ||
190 | mAnimMap[ANIM_AGENT_WALK]= mAnimStringTable.addString("walk"); | ||
191 | mAnimMap[ANIM_AGENT_WHISPER]= mAnimStringTable.addString("whisper"); | ||
192 | mAnimMap[ANIM_AGENT_WHISTLE]= mAnimStringTable.addString("whistle"); | ||
193 | mAnimMap[ANIM_AGENT_WINK]= mAnimStringTable.addString("express_wink"); | ||
194 | mAnimMap[ANIM_AGENT_WINK_HOLLYWOOD]= mAnimStringTable.addString("wink_hollywood"); | ||
195 | mAnimMap[ANIM_AGENT_WORRY]= mAnimStringTable.addString("express_worry"); | ||
196 | mAnimMap[ANIM_AGENT_YES]= mAnimStringTable.addString("yes_head"); | ||
197 | mAnimMap[ANIM_AGENT_YES_HAPPY]= mAnimStringTable.addString("yes_happy"); | ||
198 | mAnimMap[ANIM_AGENT_YOGA_FLOAT]= mAnimStringTable.addString("yoga_float"); | ||
199 | } | ||
200 | |||
201 | //----------------------------------------------------------------------------- | ||
202 | // ~LLAnimationLibrary() | ||
203 | //----------------------------------------------------------------------------- | ||
204 | LLAnimationLibrary::~LLAnimationLibrary() | ||
205 | { | ||
206 | } | ||
207 | |||
208 | //----------------------------------------------------------------------------- | ||
209 | // Return the text name of an animation state | ||
210 | //----------------------------------------------------------------------------- | ||
211 | const char *LLAnimationLibrary::animStateToString( const LLUUID& state ) | ||
212 | { | ||
213 | if (state.isNull()) | ||
214 | { | ||
215 | return NULL; | ||
216 | } | ||
217 | if (mAnimMap.count(state)) | ||
218 | { | ||
219 | return mAnimMap[state]; | ||
220 | } | ||
221 | |||
222 | return NULL; | ||
223 | } | ||
224 | |||
225 | |||
226 | //----------------------------------------------------------------------------- | ||
227 | // Return the animation state for a given name | ||
228 | //----------------------------------------------------------------------------- | ||
229 | LLUUID LLAnimationLibrary::stringToAnimState( const char *name, BOOL allow_ids ) | ||
230 | { | ||
231 | LLString lower_case_name(name); | ||
232 | LLString::toLower(lower_case_name); | ||
233 | |||
234 | char *true_name = mAnimStringTable.checkString(lower_case_name.c_str()); | ||
235 | |||
236 | LLUUID id; | ||
237 | id.setNull(); | ||
238 | |||
239 | if (true_name) | ||
240 | { | ||
241 | for (anim_map_t::iterator iter = mAnimMap.begin(); | ||
242 | iter != mAnimMap.end(); iter++) | ||
243 | { | ||
244 | if (iter->second == true_name) | ||
245 | { | ||
246 | id = iter->first; | ||
247 | break; | ||
248 | } | ||
249 | } | ||
250 | } | ||
251 | else if (allow_ids) | ||
252 | { | ||
253 | // try to convert string to LLUUID | ||
254 | id.set(name, FALSE); | ||
255 | } | ||
256 | |||
257 | return id; | ||
258 | } | ||
259 | |||
260 | // Animation states that the user can trigger as part of a gesture | ||
261 | const LLAnimStateEntry gUserAnimStates[] = { | ||
262 | LLAnimStateEntry("Afraid", "express_afraid", ANIM_AGENT_AFRAID), | ||
263 | LLAnimStateEntry("Angry", "express_anger", ANIM_AGENT_ANGRY), | ||
264 | LLAnimStateEntry("Away", "away", ANIM_AGENT_AWAY), | ||
265 | LLAnimStateEntry("Backflip", "backflip", ANIM_AGENT_BACKFLIP), | ||
266 | LLAnimStateEntry("Belly Laugh", "express_laugh", ANIM_AGENT_BELLY_LAUGH), | ||
267 | LLAnimStateEntry("BigSmile", "express_toothsmile", ANIM_AGENT_EXPRESS_TOOTHSMILE), | ||
268 | LLAnimStateEntry("Blow Kiss", "blowkiss", ANIM_AGENT_BLOW_KISS), | ||
269 | LLAnimStateEntry("Bored", "express_bored", ANIM_AGENT_BORED), | ||
270 | LLAnimStateEntry("Bow", "bow", ANIM_AGENT_BOW), | ||
271 | LLAnimStateEntry("Clap", "clap", ANIM_AGENT_CLAP), | ||
272 | LLAnimStateEntry("Court Bow", "courtbow", ANIM_AGENT_COURTBOW), | ||
273 | LLAnimStateEntry("Cry", "express_cry", ANIM_AGENT_CRY), | ||
274 | LLAnimStateEntry("Dance 1", "dance1", ANIM_AGENT_DANCE1), | ||
275 | LLAnimStateEntry("Dance 2", "dance2", ANIM_AGENT_DANCE2), | ||
276 | LLAnimStateEntry("Dance 3", "dance3", ANIM_AGENT_DANCE3), | ||
277 | LLAnimStateEntry("Dance 4", "dance4", ANIM_AGENT_DANCE4), | ||
278 | LLAnimStateEntry("Dance 5", "dance5", ANIM_AGENT_DANCE5), | ||
279 | LLAnimStateEntry("Dance 6", "dance6", ANIM_AGENT_DANCE6), | ||
280 | LLAnimStateEntry("Dance 7", "dance7", ANIM_AGENT_DANCE7), | ||
281 | LLAnimStateEntry("Dance 8", "dance8", ANIM_AGENT_DANCE8), | ||
282 | LLAnimStateEntry("Disdain", "express_disdain", ANIM_AGENT_EXPRESS_DISDAIN), | ||
283 | LLAnimStateEntry("Drink", "drink", ANIM_AGENT_DRINK), | ||
284 | LLAnimStateEntry("Embarrassed", "express_embarrased", ANIM_AGENT_EMBARRASSED), | ||
285 | LLAnimStateEntry("Finger Wag", "angry_fingerwag", ANIM_AGENT_FINGER_WAG), | ||
286 | LLAnimStateEntry("Fist Pump", "fist_pump", ANIM_AGENT_FIST_PUMP), | ||
287 | LLAnimStateEntry("Floating Yoga", "yoga_float", ANIM_AGENT_YOGA_FLOAT), | ||
288 | LLAnimStateEntry("Frown", "express_frown", ANIM_AGENT_EXPRESS_FROWN), | ||
289 | LLAnimStateEntry("Impatient", "impatient", ANIM_AGENT_IMPATIENT), | ||
290 | LLAnimStateEntry("Jump For Joy", "jumpforjoy", ANIM_AGENT_JUMP_FOR_JOY), | ||
291 | LLAnimStateEntry("Kiss My Butt", "kissmybutt", ANIM_AGENT_KISS_MY_BUTT), | ||
292 | LLAnimStateEntry("Kiss", "express_kiss", ANIM_AGENT_EXPRESS_KISS), | ||
293 | LLAnimStateEntry("Laugh", "laugh_short", ANIM_AGENT_LAUGH_SHORT), | ||
294 | LLAnimStateEntry("Muscle Beach", "musclebeach", ANIM_AGENT_MUSCLE_BEACH), | ||
295 | LLAnimStateEntry("No (Unhappy)", "no_unhappy", ANIM_AGENT_NO_UNHAPPY), | ||
296 | LLAnimStateEntry("No", "no_head", ANIM_AGENT_NO), | ||
297 | LLAnimStateEntry("Nya-nya-nya", "nyanya", ANIM_AGENT_NYAH_NYAH), | ||
298 | LLAnimStateEntry("One-Two Punch", "punch_onetwo", ANIM_AGENT_ONETWO_PUNCH), | ||
299 | LLAnimStateEntry("Open Mouth", "express_open_mouth", ANIM_AGENT_EXPRESS_OPEN_MOUTH), | ||
300 | LLAnimStateEntry("Peace", "peace", ANIM_AGENT_PEACE), | ||
301 | LLAnimStateEntry("Point at Other", "point_you", ANIM_AGENT_POINT_YOU), | ||
302 | LLAnimStateEntry("Point at Self", "point_me", ANIM_AGENT_POINT_ME), | ||
303 | LLAnimStateEntry("Punch Left", "punch_l", ANIM_AGENT_PUNCH_LEFT), | ||
304 | LLAnimStateEntry("Punch Right", "punch_r", ANIM_AGENT_PUNCH_RIGHT), | ||
305 | LLAnimStateEntry("RPS count", "rps_countdown", ANIM_AGENT_RPS_COUNTDOWN), | ||
306 | LLAnimStateEntry("RPS paper", "rps_paper", ANIM_AGENT_RPS_PAPER), | ||
307 | LLAnimStateEntry("RPS rock", "rps_rock", ANIM_AGENT_RPS_ROCK), | ||
308 | LLAnimStateEntry("RPS scissors", "rps_scissors", ANIM_AGENT_RPS_SCISSORS), | ||
309 | LLAnimStateEntry("Repulsed", "express_repulsed", ANIM_AGENT_EXPRESS_REPULSED), | ||
310 | LLAnimStateEntry("Roundhouse Kick", "kick_roundhouse_r", ANIM_AGENT_ROUNDHOUSE_KICK), | ||
311 | LLAnimStateEntry("Sad", "express_sad", ANIM_AGENT_SAD), | ||
312 | LLAnimStateEntry("Salute", "salute", ANIM_AGENT_SALUTE), | ||
313 | LLAnimStateEntry("Shout", "shout", ANIM_AGENT_SHOUT), | ||
314 | LLAnimStateEntry("Shrug", "express_shrug", ANIM_AGENT_SHRUG), | ||
315 | LLAnimStateEntry("Smile", "express_smile", ANIM_AGENT_EXPRESS_SMILE), | ||
316 | LLAnimStateEntry("Smoke Idle", "smoke_idle", ANIM_AGENT_SMOKE_IDLE), | ||
317 | LLAnimStateEntry("Smoke Inhale", "smoke_inhale", ANIM_AGENT_SMOKE_INHALE), | ||
318 | LLAnimStateEntry("Smoke Throw Down","smoke_throw_down", ANIM_AGENT_SMOKE_THROW_DOWN), | ||
319 | LLAnimStateEntry("Surprise", "express_surprise", ANIM_AGENT_SURPRISE), | ||
320 | LLAnimStateEntry("Sword Strike", "sword_strike_r", ANIM_AGENT_SWORD_STRIKE), | ||
321 | LLAnimStateEntry("Tantrum", "angry_tantrum", ANIM_AGENT_TANTRUM), | ||
322 | LLAnimStateEntry("TongueOut", "express_tongue_out", ANIM_AGENT_EXPRESS_TONGUE_OUT), | ||
323 | LLAnimStateEntry("Wave", "hello", ANIM_AGENT_HELLO), | ||
324 | LLAnimStateEntry("Whisper", "whisper", ANIM_AGENT_WHISPER), | ||
325 | LLAnimStateEntry("Whistle", "whistle", ANIM_AGENT_WHISTLE), | ||
326 | LLAnimStateEntry("Wink", "express_wink", ANIM_AGENT_WINK), | ||
327 | LLAnimStateEntry("Wink (Hollywood)","wink_hollywood", ANIM_AGENT_WINK_HOLLYWOOD), | ||
328 | LLAnimStateEntry("Worry", "express_worry", ANIM_AGENT_EXPRESS_WORRY), | ||
329 | LLAnimStateEntry("Yes (Happy)", "yes_happy", ANIM_AGENT_YES_HAPPY), | ||
330 | LLAnimStateEntry("Yes", "yes_head", ANIM_AGENT_YES), | ||
331 | }; | ||
332 | |||
333 | const S32 gUserAnimStatesCount = sizeof(gUserAnimStates) / sizeof(gUserAnimStates[0]); | ||
334 | |||
335 | |||
336 | |||
337 | // End | ||
338 | |||