Serious fix for the Tintable tattoos!
Signed-off-by: Beeks <HgDelirium@gmail.com>
This commit is contained in:
@@ -378,7 +378,7 @@ void LLCharacter::clearVisualParamWeights()
|
||||
param;
|
||||
param = getNextVisualParam())
|
||||
{
|
||||
if (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE)
|
||||
if (param->isTweakable())
|
||||
{
|
||||
param->setWeight( param->getDefaultWeight(), FALSE );
|
||||
}
|
||||
@@ -394,7 +394,7 @@ BOOL LLCharacter::visualParamWeightsAreDefault()
|
||||
param;
|
||||
param = getNextVisualParam())
|
||||
{
|
||||
if (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE)
|
||||
if (param->isTweakable())
|
||||
{
|
||||
if (param->getWeight() != param->getDefaultWeight())
|
||||
return false;
|
||||
|
||||
@@ -238,7 +238,7 @@ void LLVisualParam::setAnimationTarget(F32 target_value, BOOL set_by_user)
|
||||
{
|
||||
if (mInfo)
|
||||
{
|
||||
if (getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE)
|
||||
if (isTweakable())
|
||||
{
|
||||
mTargetWeight = llclamp(target_value, mInfo->mMinWeight, mInfo->mMaxWeight);
|
||||
}
|
||||
@@ -282,7 +282,7 @@ void LLVisualParam::animate( F32 delta, BOOL set_by_user )
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLVisualParam::stopAnimating(BOOL set_by_user)
|
||||
{
|
||||
if (mIsAnimating && getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE)
|
||||
if (mIsAnimating && isTweakable())
|
||||
{
|
||||
mIsAnimating = FALSE;
|
||||
setWeight(mTargetWeight, set_by_user);
|
||||
|
||||
@@ -51,6 +51,7 @@ enum EVisualParamGroup
|
||||
{
|
||||
VISUAL_PARAM_GROUP_TWEAKABLE,
|
||||
VISUAL_PARAM_GROUP_ANIMATABLE,
|
||||
VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT,
|
||||
NUM_VISUAL_PARAM_GROUPS
|
||||
};
|
||||
|
||||
@@ -124,7 +125,7 @@ public:
|
||||
void setMaxDisplayName(const std::string& s) { mInfo->mMaxName = s; }
|
||||
void setMinDisplayName(const std::string& s) { mInfo->mMinName = s; }
|
||||
|
||||
EVisualParamGroup getGroup() { return mInfo->mGroup; }
|
||||
EVisualParamGroup getGroup() const { return mInfo->mGroup; }
|
||||
F32 getMinWeight() { return mInfo->mMinWeight; }
|
||||
F32 getMaxWeight() { return mInfo->mMaxWeight; }
|
||||
F32 getDefaultWeight() { return mInfo->mDefaultWeight; }
|
||||
@@ -133,7 +134,8 @@ public:
|
||||
F32 getWeight() { return mIsAnimating ? mTargetWeight : mCurWeight; }
|
||||
F32 getCurrentWeight() { return mCurWeight; }
|
||||
F32 getLastWeight() { return mLastWeight; }
|
||||
BOOL isAnimating() { return mIsAnimating; }
|
||||
BOOL isAnimating() { return mIsAnimating; }
|
||||
BOOL isTweakable() { return (getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE) || (getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT); }
|
||||
|
||||
LLVisualParam* getNextParam() { return mNext; }
|
||||
void setNextParam( LLVisualParam *next );
|
||||
|
||||
@@ -1099,7 +1099,7 @@
|
||||
camera_distance=".8"
|
||||
camera_angle="15">
|
||||
<param_skeleton>
|
||||
<bone name="mNeck" scale="0 0 .5" />
|
||||
<bone name="mNeck" scale="0 0 .5" />
|
||||
</param_skeleton>
|
||||
</param>
|
||||
</skeleton>
|
||||
@@ -11424,7 +11424,7 @@
|
||||
id="876" />
|
||||
</param_driver>
|
||||
</param>
|
||||
<param id="1071" group="0" wearable="tattoo" edit_group="colorpicker" name="tattoo_red"
|
||||
<param id="1071" group="2" wearable="tattoo" edit_group="colorpicker" name="tattoo_red"
|
||||
value_min="0" value_max="1" value_default="1">
|
||||
<param_driver>
|
||||
<driven id="1062" min1="0" max1="1" max2="1" min2="1" />
|
||||
@@ -11432,7 +11432,7 @@
|
||||
<driven id="1068" min1="0" max1="1" max2="1" min2="1" />
|
||||
</param_driver>
|
||||
</param>
|
||||
<param id="1072" group="0" wearable="tattoo" edit_group="colorpicker" name="tattoo_green"
|
||||
<param id="1072" group="2" wearable="tattoo" edit_group="colorpicker" name="tattoo_green"
|
||||
value_min="0" value_max="1" value_default="1">
|
||||
<param_driver>
|
||||
<driven id="1063" min1="0" max1="1" max2="1" min2="1" />
|
||||
@@ -11440,7 +11440,7 @@
|
||||
<driven id="1069" min1="0" max1="1" max2="1" min2="1" />
|
||||
</param_driver>
|
||||
</param>
|
||||
<param id="1073" group="0" wearable="tattoo" edit_group="colorpicker" name="tattoo_blue"
|
||||
<param id="1073" group="2" wearable="tattoo" edit_group="colorpicker" name="tattoo_blue"
|
||||
value_min="0" value_max="1" value_default="1">
|
||||
<param_driver>
|
||||
<driven id="1064" min1="0" max1="1" max2="1" min2="1" />
|
||||
|
||||
@@ -7586,7 +7586,7 @@ void LLAgent::sendAgentSetAppearance()
|
||||
param;
|
||||
param = (LLViewerVisualParam*)mAvatarObject->getNextVisualParam())
|
||||
{
|
||||
if (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE)
|
||||
if (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE) // do not transmit params of group VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT
|
||||
{
|
||||
msg->nextBlockFast(_PREHASH_VisualParam );
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ Rewritten by Hg Beeks
|
||||
#include "llviewercontrol.h"
|
||||
#include "llvoavatar.h"
|
||||
//this is for debugging ;D
|
||||
#define AO_DEBUG
|
||||
//#define AO_DEBUG
|
||||
|
||||
//static variables
|
||||
std::list<std::string> LLAO::mStandOverrides;
|
||||
|
||||
@@ -547,7 +547,7 @@ void LLPanelEditWearable::setSubpart( ESubpart subpart )
|
||||
param = (LLViewerVisualParam *)avatar->getNextVisualParam())
|
||||
{
|
||||
if (param->getID() == -1
|
||||
|| param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE
|
||||
|| !param->isTweakable()
|
||||
|| param->getEditGroup() != part->mEditGroup
|
||||
|| !(param->getSex() & avatar_sex))
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2968,7 +2968,7 @@ void LLVOAvatar::idleUpdateAppearanceAnimation()
|
||||
param;
|
||||
param = getNextVisualParam())
|
||||
{
|
||||
if (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE)
|
||||
if (param->isTweakable())
|
||||
{
|
||||
param->stopAnimating(mAppearanceAnimSetByUser);
|
||||
}
|
||||
@@ -3007,7 +3007,7 @@ void LLVOAvatar::idleUpdateAppearanceAnimation()
|
||||
param;
|
||||
param = getNextVisualParam())
|
||||
{
|
||||
if (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE)
|
||||
if (param->isTweakable())
|
||||
{
|
||||
param->animate(morph_amt, mAppearanceAnimSetByUser);
|
||||
}
|
||||
@@ -6252,6 +6252,7 @@ BOOL LLVOAvatar::loadAvatar()
|
||||
if (sAvatarXmlInfo->mLayerInfoList.empty())
|
||||
{
|
||||
llwarns << "avatar file: missing <layer_set> node" << llendl;
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -6292,23 +6293,21 @@ BOOL LLVOAvatar::loadAvatar()
|
||||
}
|
||||
|
||||
// avatar_lad.xml : <driver_parameters>
|
||||
LLVOAvatarXmlInfo::driver_info_list_t::iterator iter;
|
||||
for (iter = sAvatarXmlInfo->mDriverInfoList.begin();
|
||||
iter != sAvatarXmlInfo->mDriverInfoList.end(); iter++)
|
||||
{
|
||||
LLVOAvatarXmlInfo::driver_info_list_t::iterator iter;
|
||||
for (iter = sAvatarXmlInfo->mDriverInfoList.begin();
|
||||
iter != sAvatarXmlInfo->mDriverInfoList.end(); iter++)
|
||||
LLDriverParamInfo *info = *iter;
|
||||
LLDriverParam* driver_param = new LLDriverParam( this );
|
||||
if (driver_param->setInfo(info))
|
||||
{
|
||||
LLDriverParamInfo *info = *iter;
|
||||
LLDriverParam* driver_param = new LLDriverParam( this );
|
||||
if (driver_param->setInfo(info))
|
||||
{
|
||||
addVisualParam( driver_param );
|
||||
}
|
||||
else
|
||||
{
|
||||
delete driver_param;
|
||||
llwarns << "avatar file: driver_param->parseData() failed" << llendl;
|
||||
return FALSE;
|
||||
}
|
||||
addVisualParam( driver_param );
|
||||
}
|
||||
else
|
||||
{
|
||||
delete driver_param;
|
||||
llwarns << "avatar file: driver_param->parseData() failed" << llendl;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9147,7 +9146,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
|
||||
for( S32 i = 0; i < num_blocks; i++ )
|
||||
{
|
||||
|
||||
while( param && (param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE) )
|
||||
while( param && (!param->isTweakable()) )
|
||||
{
|
||||
param = getNextVisualParam();
|
||||
}
|
||||
@@ -9155,7 +9154,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
|
||||
if( !param )
|
||||
{
|
||||
llwarns << "Number of params in AvatarAppearance msg does not match number of params in avatar xml file for " << getFullname() << " (Too many)." << llendl;
|
||||
return;
|
||||
break;
|
||||
}
|
||||
|
||||
U8 value;
|
||||
@@ -9198,7 +9197,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
|
||||
}
|
||||
}
|
||||
|
||||
while( param && (param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE) )
|
||||
while( param && (!param->isTweakable()) )
|
||||
{
|
||||
param = getNextVisualParam();
|
||||
}
|
||||
@@ -9476,8 +9475,8 @@ void LLVOAvatar::dumpArchetypeXML( void* )
|
||||
for( LLVisualParam* param = avatar->getFirstVisualParam(); param; param = avatar->getNextVisualParam() )
|
||||
{
|
||||
LLViewerVisualParam* viewer_param = (LLViewerVisualParam*)param;
|
||||
if( (viewer_param->getWearableType() == type) &&
|
||||
(viewer_param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE) )
|
||||
if( (viewer_param->getWearableType() == type) &&
|
||||
(viewer_param->isTweakable() ) )
|
||||
{
|
||||
apr_file_printf( file, "\t\t<param id=\"%d\" name=\"%s\" value=\"%.3f\"/>\n",
|
||||
viewer_param->getID(), viewer_param->getName().c_str(), viewer_param->getWeight() );
|
||||
|
||||
@@ -494,7 +494,7 @@ BOOL LLWearable::isOldVersion()
|
||||
param;
|
||||
param = (LLViewerVisualParam*) avatar->getNextVisualParam() )
|
||||
{
|
||||
if( (param->getWearableType() == mType) && (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE ) )
|
||||
if( (param->getWearableType() == mType) && (param->isTweakable()) )
|
||||
{
|
||||
param_count++;
|
||||
if( !is_in_map(mVisualParamMap, param->getID() ) )
|
||||
@@ -550,7 +550,7 @@ BOOL LLWearable::isDirty()
|
||||
param;
|
||||
param = (LLViewerVisualParam*) avatar->getNextVisualParam() )
|
||||
{
|
||||
if( (param->getWearableType() == mType) && (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE ) )
|
||||
if( (param->getWearableType() == mType) && (param->isTweakable()) )
|
||||
{
|
||||
F32 weight = get_if_there(mVisualParamMap, param->getID(), param->getDefaultWeight());
|
||||
weight = llclamp( weight, param->getMinWeight(), param->getMaxWeight() );
|
||||
@@ -651,7 +651,7 @@ void LLWearable::setParamsToDefaults()
|
||||
mVisualParamMap.clear();
|
||||
for( LLVisualParam* param = avatar->getFirstVisualParam(); param; param = avatar->getNextVisualParam() )
|
||||
{
|
||||
if( (((LLViewerVisualParam*)param)->getWearableType() == mType ) && (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE ) )
|
||||
if( (((LLViewerVisualParam*)param)->getWearableType() == mType ) && (param->isTweakable()) )
|
||||
{
|
||||
mVisualParamMap[param->getID()] = param->getDefaultWeight();
|
||||
}
|
||||
@@ -685,7 +685,7 @@ void LLWearable::writeToAvatar( BOOL set_by_user )
|
||||
// Pull params
|
||||
for( LLVisualParam* param = avatar->getFirstVisualParam(); param; param = avatar->getNextVisualParam() )
|
||||
{
|
||||
if( (((LLViewerVisualParam*)param)->getWearableType() == mType) && (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE ) )
|
||||
if( (((LLViewerVisualParam*)param)->getWearableType() == mType) && (param->isTweakable()) )
|
||||
{
|
||||
S32 param_id = param->getID();
|
||||
F32 weight = get_if_there(mVisualParamMap, param_id, param->getDefaultWeight());
|
||||
@@ -786,7 +786,7 @@ void LLWearable::removeFromAvatar( EWearableType type, BOOL set_by_user )
|
||||
// Pull params
|
||||
for( LLVisualParam* param = avatar->getFirstVisualParam(); param; param = avatar->getNextVisualParam() )
|
||||
{
|
||||
if( (((LLViewerVisualParam*)param)->getWearableType() == type) && (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE ) )
|
||||
if( (((LLViewerVisualParam*)param)->getWearableType() == type) && (param->isTweakable()) )
|
||||
{
|
||||
S32 param_id = param->getID();
|
||||
avatar->setVisualParamWeight( param_id, param->getDefaultWeight(), set_by_user );
|
||||
@@ -834,7 +834,7 @@ void LLWearable::readFromAvatar()
|
||||
mVisualParamMap.clear();
|
||||
for( LLVisualParam* param = avatar->getFirstVisualParam(); param; param = avatar->getNextVisualParam() )
|
||||
{
|
||||
if( (((LLViewerVisualParam*)param)->getWearableType() == mType) && (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE ) )
|
||||
if( (((LLViewerVisualParam*)param)->getWearableType() == mType) && (param->isTweakable()) )
|
||||
{
|
||||
|
||||
//pretty sure is right
|
||||
@@ -899,7 +899,7 @@ void LLWearable::copyDataFrom( LLWearable* src )
|
||||
param;
|
||||
param = (LLViewerVisualParam*) avatar->getNextVisualParam() )
|
||||
{
|
||||
if( (param->getWearableType() == mType) && (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE ) )
|
||||
if( (param->getWearableType() == mType) && (param->isTweakable()) )
|
||||
{
|
||||
S32 id = param->getID();
|
||||
F32 weight = get_if_there(src->mVisualParamMap, id, param->getDefaultWeight() );
|
||||
|
||||
Reference in New Issue
Block a user