SL-694 - stub support for ObjectAnimation message type
parent
4d68945595
commit
55612611c6
|
|
@ -236,6 +236,14 @@
|
|||
<boolean>false</boolean>
|
||||
</map>
|
||||
|
||||
<key>ObjectAnimation</key>
|
||||
<map>
|
||||
<key>flavor</key>
|
||||
<string>template</string>
|
||||
<key>trusted-sender</key>
|
||||
<boolean>false</boolean>
|
||||
</map>
|
||||
|
||||
<key>AvatarAppearance</key>
|
||||
<map>
|
||||
<key>flavor</key>
|
||||
|
|
|
|||
|
|
@ -818,6 +818,7 @@ char const* const _PREHASH_StateSave = LLMessageStringTable::getInstance()->getS
|
|||
char const* const _PREHASH_RoleData = LLMessageStringTable::getInstance()->getString("RoleData");
|
||||
char const* const _PREHASH_AgentAnimation = LLMessageStringTable::getInstance()->getString("AgentAnimation");
|
||||
char const* const _PREHASH_AvatarAnimation = LLMessageStringTable::getInstance()->getString("AvatarAnimation");
|
||||
char const* const _PREHASH_ObjectAnimation = LLMessageStringTable::getInstance()->getString("ObjectAnimation");
|
||||
char const* const _PREHASH_LogDwellTime = LLMessageStringTable::getInstance()->getString("LogDwellTime");
|
||||
char const* const _PREHASH_ParcelGodMarkAsContent = LLMessageStringTable::getInstance()->getString("ParcelGodMarkAsContent");
|
||||
char const* const _PREHASH_UsePhysics = LLMessageStringTable::getInstance()->getString("UsePhysics");
|
||||
|
|
|
|||
|
|
@ -818,6 +818,7 @@ extern char const* const _PREHASH_StateSave;
|
|||
extern char const* const _PREHASH_RoleData;
|
||||
extern char const* const _PREHASH_AgentAnimation;
|
||||
extern char const* const _PREHASH_AvatarAnimation;
|
||||
extern char const* const _PREHASH_ObjectAnimation;
|
||||
extern char const* const _PREHASH_LogDwellTime;
|
||||
extern char const* const _PREHASH_ParcelGodMarkAsContent;
|
||||
extern char const* const _PREHASH_UsePhysics;
|
||||
|
|
|
|||
|
|
@ -2384,6 +2384,7 @@ void register_viewer_callbacks(LLMessageSystem* msg)
|
|||
msg->setHandlerFuncFast(_PREHASH_NameValuePair, process_name_value);
|
||||
msg->setHandlerFuncFast(_PREHASH_RemoveNameValuePair, process_remove_name_value);
|
||||
msg->setHandlerFuncFast(_PREHASH_AvatarAnimation, process_avatar_animation);
|
||||
msg->setHandlerFuncFast(_PREHASH_ObjectAnimation, process_object_animation);
|
||||
msg->setHandlerFuncFast(_PREHASH_AvatarAppearance, process_avatar_appearance);
|
||||
msg->setHandlerFuncFast(_PREHASH_CameraConstraint, process_camera_constraint);
|
||||
msg->setHandlerFuncFast(_PREHASH_AvatarSitResponse, process_avatar_sit_response);
|
||||
|
|
|
|||
|
|
@ -103,6 +103,7 @@
|
|||
#include "llviewerwindow.h"
|
||||
#include "llvlmanager.h"
|
||||
#include "llvoavatarself.h"
|
||||
#include "llvovolume.h"
|
||||
#include "llworld.h"
|
||||
#include "pipeline.h"
|
||||
#include "llfloaterworldmap.h"
|
||||
|
|
@ -4976,12 +4977,15 @@ void process_avatar_animation(LLMessageSystem *mesgsys, void **user_data)
|
|||
LLUUID animation_id;
|
||||
LLUUID uuid;
|
||||
S32 anim_sequence_id;
|
||||
LLVOAvatar *avatarp;
|
||||
LLVOAvatar *avatarp = NULL;
|
||||
|
||||
mesgsys->getUUIDFast(_PREHASH_Sender, _PREHASH_ID, uuid);
|
||||
|
||||
//clear animation flags
|
||||
avatarp = (LLVOAvatar *)gObjectList.findObject(uuid);
|
||||
LLViewerObject *objp = gObjectList.findObject(uuid);
|
||||
if (objp)
|
||||
{
|
||||
avatarp = objp->asAvatar();
|
||||
}
|
||||
|
||||
if (!avatarp)
|
||||
{
|
||||
|
|
@ -4993,6 +4997,7 @@ void process_avatar_animation(LLMessageSystem *mesgsys, void **user_data)
|
|||
S32 num_blocks = mesgsys->getNumberOfBlocksFast(_PREHASH_AnimationList);
|
||||
S32 num_source_blocks = mesgsys->getNumberOfBlocksFast(_PREHASH_AnimationSourceList);
|
||||
|
||||
//clear animation flags
|
||||
avatarp->mSignaledAnimations.clear();
|
||||
|
||||
if (avatarp->isSelf())
|
||||
|
|
@ -5063,6 +5068,58 @@ void process_avatar_animation(LLMessageSystem *mesgsys, void **user_data)
|
|||
}
|
||||
}
|
||||
|
||||
void process_object_animation(LLMessageSystem *mesgsys, void **user_data)
|
||||
{
|
||||
LLUUID animation_id;
|
||||
LLUUID uuid;
|
||||
#if 0
|
||||
S32 anim_sequence_id;
|
||||
#endif
|
||||
|
||||
mesgsys->getUUIDFast(_PREHASH_Sender, _PREHASH_ID, uuid);
|
||||
|
||||
LLViewerObject *objp = gObjectList.findObject(uuid);
|
||||
if (!objp)
|
||||
{
|
||||
LL_WARNS("Messaging") << "Received animation state for unknown object" << uuid << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
|
||||
LLVOVolume *volp = dynamic_cast<LLVOVolume*>(objp);
|
||||
if (!volp)
|
||||
{
|
||||
LL_WARNS("Messaging") << "Received animation state for non-volume object" << uuid << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!volp->isAnimatedMesh())
|
||||
{
|
||||
LL_WARNS("Messaging") << "Received animation state for non-animated object" << uuid << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
|
||||
LL_WARNS() << "ADD SUPPORT FOR OBJECT ANIMATION HERE" << LL_ENDL;
|
||||
#if 0
|
||||
S32 num_blocks = mesgsys->getNumberOfBlocksFast(_PREHASH_AnimationList);
|
||||
S32 num_source_blocks = mesgsys->getNumberOfBlocksFast(_PREHASH_AnimationSourceList);
|
||||
|
||||
avatarp->mSignaledAnimations.clear();
|
||||
|
||||
for( S32 i = 0; i < num_blocks; i++ )
|
||||
{
|
||||
mesgsys->getUUIDFast(_PREHASH_AnimationList, _PREHASH_AnimID, animation_id, i);
|
||||
mesgsys->getS32Fast(_PREHASH_AnimationList, _PREHASH_AnimSequenceID, anim_sequence_id, i);
|
||||
avatarp->mSignaledAnimations[animation_id] = anim_sequence_id;
|
||||
}
|
||||
|
||||
if (num_blocks)
|
||||
{
|
||||
avatarp->processAnimationStateChanges();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void process_avatar_appearance(LLMessageSystem *mesgsys, void **user_data)
|
||||
{
|
||||
LLUUID uuid;
|
||||
|
|
|
|||
|
|
@ -95,6 +95,7 @@ void process_health_message(LLMessageSystem *mesgsys, void **user_data);
|
|||
void process_sim_stats(LLMessageSystem *mesgsys, void **user_data);
|
||||
void process_shooter_agent_hit(LLMessageSystem* msg, void** user_data);
|
||||
void process_avatar_animation(LLMessageSystem *mesgsys, void **user_data);
|
||||
void process_object_animation(LLMessageSystem *mesgsys, void **user_data);
|
||||
void process_avatar_appearance(LLMessageSystem *mesgsys, void **user_data);
|
||||
void process_camera_constraint(LLMessageSystem *mesgsys, void **user_data);
|
||||
void process_avatar_sit_response(LLMessageSystem *mesgsys, void **user_data);
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ version 2.0
|
|||
// for each type is listed below:
|
||||
// Low: 423
|
||||
// Medium: 18
|
||||
// High: 29
|
||||
// High: 30
|
||||
// PLEASE UPDATE THIS WHEN YOU ADD A NEW MESSAGE!
|
||||
|
||||
|
||||
|
|
@ -3571,7 +3571,6 @@ version 2.0
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
// AvatarAppearance - Update visual params
|
||||
{
|
||||
AvatarAppearance Low 158 Trusted Zerocoded
|
||||
|
|
@ -7285,6 +7284,33 @@ version 2.0
|
|||
}
|
||||
|
||||
|
||||
// *************************************************************************
|
||||
// Object animation messages
|
||||
// *************************************************************************
|
||||
|
||||
// Note this is basically identical to AvatarAnimation.
|
||||
// Needs to be a different message because existing viewers
|
||||
// have insufficiently smart handler functions.
|
||||
|
||||
// ObjectAnimation - Update animation state
|
||||
// simulator --> viewer
|
||||
{
|
||||
ObjectAnimation High 30 Trusted Unencoded
|
||||
{
|
||||
Sender Single
|
||||
{ ID LLUUID }
|
||||
}
|
||||
{
|
||||
AnimationList Variable
|
||||
{ AnimID LLUUID }
|
||||
{ AnimSequenceID S32 }
|
||||
}
|
||||
{
|
||||
AnimationSourceList Variable
|
||||
{ ObjectID LLUUID }
|
||||
}
|
||||
}
|
||||
|
||||
// *************************************************************************
|
||||
// Asset storage messages
|
||||
// *************************************************************************
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
337f351910b0c8821cb3d447bc6578516a043c80
|
||||
428700550e70f611b632e3bb6422fe1d093a0313
|
||||
Loading…
Reference in New Issue