Merge viewer-baking-updates

master
Ansariel 2018-05-22 17:23:58 +02:00
commit 31b62685f2
14 changed files with 894 additions and 16 deletions

View File

@ -1498,6 +1498,14 @@ BOOL LLAvatarAppearance::teToColorParams( ETextureIndex te, U32 *param_name )
case TEX_HEAD_TATTOO:
case TEX_LOWER_TATTOO:
case TEX_UPPER_TATTOO:
case TEX_SKIRT_TATTOO:
case TEX_HAIR_TATTOO:
case TEX_EYES_TATTOO:
case TEX_LEFT_ARM_TATTOO:
case TEX_LEFT_LEG_TATTOO:
case TEX_AUX1_TATTOO:
case TEX_AUX2_TATTOO:
case TEX_AUX3_TATTOO:
param_name[0] = 1071; //"tattoo_red";
param_name[1] = 1072; //"tattoo_green";
param_name[2] = 1073; //"tattoo_blue";

View File

@ -65,6 +65,15 @@ LLAvatarAppearanceDictionary::Textures::Textures()
addEntry(TEX_HEAD_TATTOO, new TextureEntry("head_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_TATTOO));
addEntry(TEX_UPPER_TATTOO, new TextureEntry("upper_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_TATTOO));
addEntry(TEX_LOWER_TATTOO, new TextureEntry("lower_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_TATTOO));
addEntry(TEX_SKIRT_TATTOO, new TextureEntry("skirt_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_TATTOO));
addEntry(TEX_HAIR_TATTOO, new TextureEntry("hair_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_TATTOO));
addEntry(TEX_EYES_TATTOO, new TextureEntry("eyes_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_TATTOO));
addEntry(TEX_LEFT_ARM_TATTOO, new TextureEntry("leftarm_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_TATTOO));
addEntry(TEX_LEFT_LEG_TATTOO, new TextureEntry("leftleg_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_TATTOO));
addEntry(TEX_AUX1_TATTOO, new TextureEntry("aux1_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_TATTOO));
addEntry(TEX_AUX2_TATTOO, new TextureEntry("aux2_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_TATTOO));
addEntry(TEX_AUX3_TATTOO, new TextureEntry("aux3_tattoo", TRUE, BAKED_NUM_INDICES, "", LLWearableType::WT_TATTOO));
addEntry(TEX_HEAD_BAKED, new TextureEntry("head-baked", FALSE, BAKED_HEAD, "head"));
addEntry(TEX_UPPER_BAKED, new TextureEntry("upper-baked", FALSE, BAKED_UPPER, "upper"));
@ -72,6 +81,11 @@ LLAvatarAppearanceDictionary::Textures::Textures()
addEntry(TEX_EYES_BAKED, new TextureEntry("eyes-baked", FALSE, BAKED_EYES, "eyes"));
addEntry(TEX_HAIR_BAKED, new TextureEntry("hair-baked", FALSE, BAKED_HAIR, "hair"));
addEntry(TEX_SKIRT_BAKED, new TextureEntry("skirt-baked", FALSE, BAKED_SKIRT, "skirt"));
addEntry(TEX_LEFT_ARM_BAKED, new TextureEntry("leftarm-baked", FALSE, BAKED_LEFT_ARM, "leftarm"));
addEntry(TEX_LEFT_LEG_BAKED, new TextureEntry("leftleg-baked", FALSE, BAKED_LEFT_LEG, "leftleg"));
addEntry(TEX_AUX1_BAKED, new TextureEntry("aux1-baked", FALSE, BAKED_AUX1, "aux1"));
addEntry(TEX_AUX2_BAKED, new TextureEntry("aux2-baked", FALSE, BAKED_AUX2, "aux2"));
addEntry(TEX_AUX3_BAKED, new TextureEntry("aux3-baked", FALSE, BAKED_AUX3, "aux3"));
}
LLAvatarAppearanceDictionary::BakedTextures::BakedTextures()
@ -96,18 +110,43 @@ LLAvatarAppearanceDictionary::BakedTextures::BakedTextures()
addEntry(BAKED_EYES, new BakedEntry(TEX_EYES_BAKED,
"eyes", "27b1bc0f-979f-4b13-95fe-b981c2ba9788",
2, TEX_EYES_IRIS, TEX_EYES_ALPHA,
2, LLWearableType::WT_EYES, LLWearableType::WT_ALPHA));
3, TEX_EYES_IRIS, TEX_EYES_TATTOO, TEX_EYES_ALPHA,
3, LLWearableType::WT_EYES, LLWearableType::WT_TATTOO, LLWearableType::WT_ALPHA));
addEntry(BAKED_SKIRT, new BakedEntry(TEX_SKIRT_BAKED,
"skirt", "03e7e8cb-1368-483b-b6f3-74850838ba63",
1, TEX_SKIRT,
1, LLWearableType::WT_SKIRT));
2, TEX_SKIRT, TEX_SKIRT_TATTOO,
2, LLWearableType::WT_SKIRT, LLWearableType::WT_TATTOO ));
addEntry(BAKED_HAIR, new BakedEntry(TEX_HAIR_BAKED,
"hair", "a60e85a9-74e8-48d8-8a2d-8129f28d9b61",
2, TEX_HAIR, TEX_HAIR_ALPHA,
2, LLWearableType::WT_HAIR, LLWearableType::WT_ALPHA));
3, TEX_HAIR, TEX_HAIR_TATTOO, TEX_HAIR_ALPHA,
3, LLWearableType::WT_HAIR, LLWearableType::WT_TATTOO, LLWearableType::WT_ALPHA));
addEntry(BAKED_LEFT_ARM, new BakedEntry(TEX_LEFT_ARM_BAKED,
"leftarm", "9f39febf-22d7-0087-79d1-e9e8c6c9ed19",
1, TEX_LEFT_ARM_TATTOO,
1, LLWearableType::WT_TATTOO));
addEntry(BAKED_LEFT_LEG, new BakedEntry(TEX_LEFT_LEG_BAKED,
"leftleg", "054a7a58-8ed5-6386-0add-3b636fb28b78",
1, TEX_LEFT_LEG_TATTOO,
1, LLWearableType::WT_TATTOO));
addEntry(BAKED_AUX1, new BakedEntry(TEX_AUX1_BAKED,
"aux1", "790c11be-b25c-c17e-b4d2-6a4ad786b752",
1, TEX_AUX1_TATTOO,
1, LLWearableType::WT_TATTOO));
addEntry(BAKED_AUX2, new BakedEntry(TEX_AUX2_BAKED,
"aux2", "d78c478f-48c7-5928-5864-8d99fb1f521e",
1, TEX_AUX2_TATTOO,
1, LLWearableType::WT_TATTOO));
addEntry(BAKED_AUX3, new BakedEntry(TEX_AUX3_BAKED,
"aux3", "6a95dd53-edd9-aac8-f6d3-27ed99f3c3eb",
1, TEX_AUX3_TATTOO,
1, LLWearableType::WT_TATTOO));
}
LLAvatarAppearanceDictionary::MeshEntries::MeshEntries()
@ -272,7 +311,8 @@ LLWearableType::EType LLAvatarAppearanceDictionary::getTEWearableType(ETextureIn
// static
BOOL LLAvatarAppearanceDictionary::isBakedImageId(const LLUUID& id)
{
if ((id == IMG_USE_BAKED_EYES) || (id == IMG_USE_BAKED_HAIR) || (id == IMG_USE_BAKED_HEAD) || (id == IMG_USE_BAKED_LOWER) || (id == IMG_USE_BAKED_SKIRT) || (id == IMG_USE_BAKED_UPPER))
if ((id == IMG_USE_BAKED_EYES) || (id == IMG_USE_BAKED_HAIR) || (id == IMG_USE_BAKED_HEAD) || (id == IMG_USE_BAKED_LOWER) || (id == IMG_USE_BAKED_SKIRT) || (id == IMG_USE_BAKED_UPPER)
|| (id == IMG_USE_BAKED_LEFTARM) || (id == IMG_USE_BAKED_LEFTLEG) || (id == IMG_USE_BAKED_AUX1) || (id == IMG_USE_BAKED_AUX2) || (id == IMG_USE_BAKED_AUX3) )
{
return TRUE;
}
@ -307,6 +347,26 @@ EBakedTextureIndex LLAvatarAppearanceDictionary::assetIdToBakedTextureIndex(cons
{
return BAKED_UPPER;
}
else if (id == IMG_USE_BAKED_LEFTARM)
{
return BAKED_LEFT_ARM;
}
else if (id == IMG_USE_BAKED_LEFTLEG)
{
return BAKED_LEFT_LEG;
}
else if (id == IMG_USE_BAKED_AUX1)
{
return BAKED_AUX1;
}
else if (id == IMG_USE_BAKED_AUX2)
{
return BAKED_AUX2;
}
else if (id == IMG_USE_BAKED_AUX3)
{
return BAKED_AUX3;
}
return BAKED_NUM_INDICES;
}
@ -336,6 +396,21 @@ LLUUID LLAvatarAppearanceDictionary::localTextureIndexToMagicId(ETextureIndex t)
case LLAvatarAppearanceDefines::TEX_HAIR_BAKED:
id = IMG_USE_BAKED_HAIR;
break;
case LLAvatarAppearanceDefines::TEX_LEFT_ARM_BAKED:
id = IMG_USE_BAKED_LEFTARM;
break;
case LLAvatarAppearanceDefines::TEX_LEFT_LEG_BAKED:
id = IMG_USE_BAKED_LEFTLEG;
break;
case LLAvatarAppearanceDefines::TEX_AUX1_BAKED:
id = IMG_USE_BAKED_AUX1;
break;
case LLAvatarAppearanceDefines::TEX_AUX2_BAKED:
id = IMG_USE_BAKED_AUX2;
break;
case LLAvatarAppearanceDefines::TEX_AUX3_BAKED:
id = IMG_USE_BAKED_AUX3;
break;
default:
break;
}

View File

@ -78,6 +78,19 @@ enum ETextureIndex
TEX_HEAD_TATTOO,
TEX_UPPER_TATTOO,
TEX_LOWER_TATTOO,
TEX_SKIRT_TATTOO,
TEX_HAIR_TATTOO,
TEX_EYES_TATTOO,
TEX_LEFT_ARM_TATTOO,
TEX_LEFT_LEG_TATTOO,
TEX_AUX1_TATTOO,
TEX_AUX2_TATTOO,
TEX_AUX3_TATTOO,
TEX_LEFT_ARM_BAKED, // Pre-composited
TEX_LEFT_LEG_BAKED, // Pre-composited
TEX_AUX1_BAKED, // Pre-composited
TEX_AUX2_BAKED, // Pre-composited
TEX_AUX3_BAKED, // Pre-composited
TEX_NUM_INDICES
};
@ -89,6 +102,11 @@ enum EBakedTextureIndex
BAKED_EYES,
BAKED_SKIRT,
BAKED_HAIR,
BAKED_LEFT_ARM,
BAKED_LEFT_LEG,
BAKED_AUX1,
BAKED_AUX2,
BAKED_AUX3,
BAKED_NUM_INDICES
};

View File

@ -78,4 +78,9 @@ const LLUUID IMG_USE_BAKED_LOWER ("066d5659-0856-748e-a6de-495d896fe93b");
const LLUUID IMG_USE_BAKED_EYES ("136c0789-b42c-4c6c-134b-63669d981fcb");
const LLUUID IMG_USE_BAKED_SKIRT ("baf656f8-0b45-a85a-244e-f3bdb835f1a2");
const LLUUID IMG_USE_BAKED_HAIR ("1ba5b07f-2d59-21ed-066c-1e188f9a8cad");
const LLUUID IMG_USE_BAKED_LEFTARM ("9f39febf-22d7-0087-79d1-e9e8c6c9ed19");
const LLUUID IMG_USE_BAKED_LEFTLEG ("054a7a58-8ed5-6386-0add-3b636fb28b78");
const LLUUID IMG_USE_BAKED_AUX1 ("790c11be-b25c-c17e-b4d2-6a4ad786b752");
const LLUUID IMG_USE_BAKED_AUX2 ("d78c478f-48c7-5928-5864-8d99fb1f521e");
const LLUUID IMG_USE_BAKED_AUX3 ("6a95dd53-edd9-aac8-f6d3-27ed99f3c3eb");

View File

@ -216,6 +216,11 @@ LL_COMMON_API extern const LLUUID IMG_USE_BAKED_LOWER;
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_EYES;
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_SKIRT;
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_HAIR;
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_LEFTARM;
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_LEFTLEG;
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_AUX1;
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_AUX2;
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_AUX3;
LL_COMMON_API extern const LLUUID DEFAULT_WATER_NORMAL;

View File

@ -8949,6 +8949,66 @@
<texture
local_texture="hair_alpha" />
</layer>
<layer
name="hair_tattoo">
<texture
local_texture="hair_tattoo" />
<param
id="1211"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_hair_red"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="255, 0, 0, 255" />
</param_color>
</param>
<param
id="1212"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_hair_green"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 255, 0, 255" />
</param_color>
</param>
<param
id="1213"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_hair_blue"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 0, 255, 255" />
</param_color>
</param>
</layer>
</layer_set>
<!-- =========================================================== -->
@ -12237,6 +12297,66 @@ render_pass="bump">
<texture
local_texture="eyes_alpha" />
</layer>
<layer
name="eyes_tattoo">
<texture
local_texture="eyes_tattoo" />
<param
id="924"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_eyes_red"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="255, 0, 0, 255" />
</param_color>
</param>
<param
id="925"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_eyes_green"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 255, 0, 255" />
</param_color>
</param>
<param
id="926"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_eyes_blue"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 0, 255, 255" />
</param_color>
</param>
</layer>
</layer_set>
@ -12417,6 +12537,410 @@ render_pass="bump">
domain="0" />
</param>
</layer>
<layer
name="skirt_tattoo">
<texture
local_texture="skirt_tattoo" />
<param
id="1208"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_skirt_red"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="255, 0, 0, 255" />
</param_color>
</param>
<param
id="1209"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_skirt_green"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 255, 0, 255" />
</param_color>
</param>
<param
id="1210"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_skirt_blue"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 0, 255, 255" />
</param_color>
</param>
</layer>
</layer_set>
<!-- =========================================================== -->
<layer_set
body_region="leftarm"
width="512"
height="512"
clear_alpha="false">
<layer
name="leftarm_tattoo">
<texture
local_texture="leftarm_tattoo" />
<param
id="1214"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_leftarm_red"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="255, 0, 0, 255" />
</param_color>
</param>
<param
id="1215"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_leftarm_green"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 255, 0, 255" />
</param_color>
</param>
<param
id="1216"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_leftarm_blue"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 0, 255, 255" />
</param_color>
</param>
</layer>
</layer_set>
<!-- =========================================================== -->
<layer_set
body_region="leftleg"
width="512"
height="512"
clear_alpha="false">
<layer
name="leftleg_tattoo">
<texture
local_texture="leftleg_tattoo" />
<param
id="1217"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_leftleg_red"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="255, 0, 0, 255" />
</param_color>
</param>
<param
id="1218"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_leftleg_green"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 255, 0, 255" />
</param_color>
</param>
<param
id="1219"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_leftleg_blue"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 0, 255, 255" />
</param_color>
</param>
</layer>
</layer_set>
<!-- =========================================================== -->
<layer_set
body_region="aux1"
width="512"
height="512"
clear_alpha="false">
<layer
name="aux1_tattoo">
<texture
local_texture="aux1_tattoo" />
<param
id="1220"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_aux1_red"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="255, 0, 0, 255" />
</param_color>
</param>
<param
id="1221"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_aux1_green"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 255, 0, 255" />
</param_color>
</param>
<param
id="1222"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_aux1_blue"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 0, 255, 255" />
</param_color>
</param>
</layer>
</layer_set>
<!-- =========================================================== -->
<layer_set
body_region="aux2"
width="512"
height="512"
clear_alpha="false">
<layer
name="aux2_tattoo">
<texture
local_texture="aux2_tattoo" />
<param
id="1223"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_aux2_red"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="255, 0, 0, 255" />
</param_color>
</param>
<param
id="1224"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_aux2_green"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 255, 0, 255" />
</param_color>
</param>
<param
id="1225"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_aux2_blue"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 0, 255, 255" />
</param_color>
</param>
</layer>
</layer_set>
<!-- =========================================================== -->
<layer_set
body_region="aux3"
width="512"
height="512"
clear_alpha="false">
<layer
name="aux3_tattoo">
<texture
local_texture="aux3_tattoo" />
<param
id="1226"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_aux3_red"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="255, 0, 0, 255" />
</param_color>
</param>
<param
id="1227"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_aux3_green"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 255, 0, 255" />
</param_color>
</param>
<param
id="1228"
group="1"
edit_group="colorpicker_driven"
wearable="tattoo"
name="tattoo_aux3_blue"
value_min="0"
value_max="1"
value_default="1">
<param_color>
<value
color="0, 0, 0, 255" />
<value
color="0, 0, 255, 255" />
</param_color>
</param>
</layer>
</layer_set>

View File

@ -776,6 +776,46 @@ LLAvatarAppearanceDefines::ETextureIndex LLLocalBitmap::getTexIndex(
result = LLAvatarAppearanceDefines::TEX_UPPER_TATTOO;
break;
}
case LLAvatarAppearanceDefines::BAKED_SKIRT:
{
result = LLAvatarAppearanceDefines::TEX_SKIRT_TATTOO;
break;
}
case LLAvatarAppearanceDefines::BAKED_EYES:
{
result = LLAvatarAppearanceDefines::TEX_EYES_TATTOO;
break;
}
case LLAvatarAppearanceDefines::BAKED_HAIR:
{
result = LLAvatarAppearanceDefines::TEX_HAIR_TATTOO;
break;
}
case LLAvatarAppearanceDefines::BAKED_LEFT_ARM:
{
result = LLAvatarAppearanceDefines::TEX_LEFT_ARM_TATTOO;
break;
}
case LLAvatarAppearanceDefines::BAKED_LEFT_LEG:
{
result = LLAvatarAppearanceDefines::TEX_LEFT_LEG_TATTOO;
break;
}
case LLAvatarAppearanceDefines::BAKED_AUX1:
{
result = LLAvatarAppearanceDefines::TEX_AUX1_TATTOO;
break;
}
case LLAvatarAppearanceDefines::BAKED_AUX2:
{
result = LLAvatarAppearanceDefines::TEX_AUX2_TATTOO;
break;
}
case LLAvatarAppearanceDefines::BAKED_AUX3:
{
result = LLAvatarAppearanceDefines::TEX_AUX3_TATTOO;
break;
}
default:
{

View File

@ -244,7 +244,7 @@ LLEditWearableDictionary::Wearables::Wearables()
addEntry(LLWearableType::WT_UNDERPANTS, new WearableEntry(LLWearableType::WT_UNDERPANTS,"edit_underpants_title","underpants_desc_text", texture_vec_t{TEX_LOWER_UNDERPANTS}, texture_vec_t{TEX_LOWER_UNDERPANTS}, subpart_vec_t{SUBPART_UNDERPANTS}));
addEntry(LLWearableType::WT_SKIRT, new WearableEntry(LLWearableType::WT_SKIRT,"edit_skirt_title","skirt_desc_text", texture_vec_t{TEX_SKIRT}, texture_vec_t{TEX_SKIRT}, subpart_vec_t{SUBPART_SKIRT}));
addEntry(LLWearableType::WT_ALPHA, new WearableEntry(LLWearableType::WT_ALPHA,"edit_alpha_title","alpha_desc_text", texture_vec_t(), texture_vec_t{TEX_LOWER_ALPHA, TEX_UPPER_ALPHA, TEX_HEAD_ALPHA, TEX_EYES_ALPHA, TEX_HAIR_ALPHA}, subpart_vec_t{SUBPART_ALPHA}));
addEntry(LLWearableType::WT_TATTOO, new WearableEntry(LLWearableType::WT_TATTOO,"edit_tattoo_title","tattoo_desc_text", texture_vec_t{TEX_HEAD_TATTOO}, texture_vec_t{TEX_LOWER_TATTOO, TEX_UPPER_TATTOO, TEX_HEAD_TATTOO}, subpart_vec_t{SUBPART_TATTOO}));
addEntry(LLWearableType::WT_TATTOO, new WearableEntry(LLWearableType::WT_TATTOO,"edit_tattoo_title","tattoo_desc_text", texture_vec_t{TEX_HEAD_TATTOO}, texture_vec_t{TEX_LOWER_TATTOO, TEX_UPPER_TATTOO, TEX_HEAD_TATTOO, TEX_SKIRT_TATTOO, TEX_HAIR_TATTOO, TEX_EYES_TATTOO, TEX_LEFT_ARM_TATTOO,TEX_LEFT_LEG_TATTOO,TEX_AUX1_TATTOO,TEX_AUX2_TATTOO,TEX_AUX3_TATTOO}, subpart_vec_t{SUBPART_TATTOO}));
addEntry(LLWearableType::WT_PHYSICS, new WearableEntry(LLWearableType::WT_PHYSICS,"edit_physics_title","physics_desc_text", texture_vec_t(), texture_vec_t(), subpart_vec_t{SUBPART_PHYSICS_BREASTS_UPDOWN, SUBPART_PHYSICS_BREASTS_INOUT, SUBPART_PHYSICS_BREASTS_LEFTRIGHT, SUBPART_PHYSICS_BELLY_UPDOWN, SUBPART_PHYSICS_BUTT_UPDOWN, SUBPART_PHYSICS_BUTT_LEFTRIGHT, SUBPART_PHYSICS_ADVANCED}));
}
@ -374,6 +374,14 @@ LLEditWearableDictionary::TextureCtrls::TextureCtrls()
addEntry ( TEX_LOWER_TATTOO, new PickerControlEntry (TEX_LOWER_TATTOO, "Lower Tattoo", LLUUID::null, TRUE ));
addEntry ( TEX_UPPER_TATTOO, new PickerControlEntry (TEX_UPPER_TATTOO, "Upper Tattoo", LLUUID::null, TRUE ));
addEntry ( TEX_HEAD_TATTOO, new PickerControlEntry (TEX_HEAD_TATTOO, "Head Tattoo", LLUUID::null, TRUE ));
addEntry ( TEX_SKIRT_TATTOO, new PickerControlEntry(TEX_SKIRT_TATTOO, "Skirt Tattoo", LLUUID::null, TRUE));
addEntry ( TEX_HAIR_TATTOO, new PickerControlEntry(TEX_HAIR_TATTOO, "Hair Tattoo", LLUUID::null, TRUE));
addEntry ( TEX_EYES_TATTOO, new PickerControlEntry(TEX_EYES_TATTOO, "Eyes Tattoo", LLUUID::null, TRUE));
addEntry (TEX_LEFT_ARM_TATTOO, new PickerControlEntry(TEX_LEFT_ARM_TATTOO, "Left Arm Tattoo", LLUUID::null, TRUE));
addEntry (TEX_LEFT_LEG_TATTOO, new PickerControlEntry(TEX_LEFT_LEG_TATTOO, "Left Leg Tattoo", LLUUID::null, TRUE));
addEntry (TEX_AUX1_TATTOO, new PickerControlEntry(TEX_AUX1_TATTOO, "Aux1 Tattoo", LLUUID::null, TRUE));
addEntry (TEX_AUX2_TATTOO, new PickerControlEntry(TEX_AUX2_TATTOO, "Aux2 Tattoo", LLUUID::null, TRUE));
addEntry (TEX_AUX3_BAKED, new PickerControlEntry(TEX_AUX3_TATTOO, "Aux3 Tattoo", LLUUID::null, TRUE));
}
LLEditWearableDictionary::PickerControlEntry::PickerControlEntry(ETextureIndex tex_index,

View File

@ -2642,7 +2642,8 @@ void LLPanelFace::LLSelectedTE::getTexId(LLUUID& id, bool& identical)
LLTextureEntry *te = object->getTE(te_index);
if (te)
{
if ((te->getID() == IMG_USE_BAKED_EYES) || (te->getID() == IMG_USE_BAKED_HAIR) || (te->getID() == IMG_USE_BAKED_HEAD) || (te->getID() == IMG_USE_BAKED_LOWER) || (te->getID() == IMG_USE_BAKED_SKIRT) || (te->getID() == IMG_USE_BAKED_UPPER))
if ((te->getID() == IMG_USE_BAKED_EYES) || (te->getID() == IMG_USE_BAKED_HAIR) || (te->getID() == IMG_USE_BAKED_HEAD) || (te->getID() == IMG_USE_BAKED_LOWER) || (te->getID() == IMG_USE_BAKED_SKIRT) || (te->getID() == IMG_USE_BAKED_UPPER)
|| (te->getID() == IMG_USE_BAKED_LEFTARM) || (te->getID() == IMG_USE_BAKED_LEFTLEG) || (te->getID() == IMG_USE_BAKED_AUX1) || (te->getID() == IMG_USE_BAKED_AUX2) || (te->getID() == IMG_USE_BAKED_AUX3))
{
return te->getID();
}

View File

@ -536,7 +536,8 @@ void LLFloaterTexturePicker::draw()
{
LLPointer<LLViewerFetchedTexture> texture = NULL;
if ((mImageAssetID == IMG_USE_BAKED_EYES) || (mImageAssetID == IMG_USE_BAKED_HAIR) || (mImageAssetID == IMG_USE_BAKED_HEAD) || (mImageAssetID == IMG_USE_BAKED_LOWER) || (mImageAssetID == IMG_USE_BAKED_SKIRT) || (mImageAssetID == IMG_USE_BAKED_UPPER))
if ((mImageAssetID == IMG_USE_BAKED_EYES) || (mImageAssetID == IMG_USE_BAKED_HAIR) || (mImageAssetID == IMG_USE_BAKED_HEAD) || (mImageAssetID == IMG_USE_BAKED_LOWER) || (mImageAssetID == IMG_USE_BAKED_SKIRT) || (mImageAssetID == IMG_USE_BAKED_UPPER)
|| (mImageAssetID == IMG_USE_BAKED_LEFTARM) || (mImageAssetID == IMG_USE_BAKED_LEFTLEG) || (mImageAssetID == IMG_USE_BAKED_AUX1) || (mImageAssetID == IMG_USE_BAKED_AUX2) || (mImageAssetID == IMG_USE_BAKED_AUX3))
{
LLViewerObject* obj = LLSelectMgr::getInstance()->getSelection()->getFirstObject();
if (obj)
@ -900,6 +901,27 @@ void LLFloaterTexturePicker::onModeSelect(LLUICtrl* ctrl, void *userdata)
{
val = 5;
}
else if (imageID == IMG_USE_BAKED_LEFTARM)
{
val = 6;
}
else if (imageID == IMG_USE_BAKED_LEFTLEG)
{
val = 7;
}
else if (imageID == IMG_USE_BAKED_AUX1)
{
val = 8;
}
else if (imageID == IMG_USE_BAKED_AUX2)
{
val = 9;
}
else if (imageID == IMG_USE_BAKED_AUX3)
{
val = 10;
}
self->getChild<LLComboBox>("l_bake_use_texture_combo_box")->setSelectedByValue(val, TRUE);
}
@ -1071,6 +1093,26 @@ void LLFloaterTexturePicker::onBakeTextureSelect(LLUICtrl* ctrl, void *user_data
{
imageID = IMG_USE_BAKED_HAIR;
}
else if (type == 6)
{
imageID = IMG_USE_BAKED_LEFTARM;
}
else if (type == 7)
{
imageID = IMG_USE_BAKED_LEFTLEG;
}
else if (type == 8)
{
imageID = IMG_USE_BAKED_AUX1;
}
else if (type == 9)
{
imageID = IMG_USE_BAKED_AUX2;
}
else if (type == 10)
{
imageID = IMG_USE_BAKED_AUX3;
}
self->setImageID(imageID);
self->mViewModel->setDirty(); // *TODO: shouldn't we be using setValue() here?
@ -1680,7 +1722,8 @@ void LLTextureCtrl::draw()
{
LLPointer<LLViewerFetchedTexture> texture = NULL;
if ((mImageAssetID == IMG_USE_BAKED_EYES) || (mImageAssetID == IMG_USE_BAKED_HAIR) || (mImageAssetID == IMG_USE_BAKED_HEAD) || (mImageAssetID == IMG_USE_BAKED_LOWER) || (mImageAssetID == IMG_USE_BAKED_SKIRT) || (mImageAssetID == IMG_USE_BAKED_UPPER))
if ((mImageAssetID == IMG_USE_BAKED_EYES) || (mImageAssetID == IMG_USE_BAKED_HAIR) || (mImageAssetID == IMG_USE_BAKED_HEAD) || (mImageAssetID == IMG_USE_BAKED_LOWER) || (mImageAssetID == IMG_USE_BAKED_SKIRT) || (mImageAssetID == IMG_USE_BAKED_UPPER)
|| (mImageAssetID == IMG_USE_BAKED_LEFTARM) || (mImageAssetID == IMG_USE_BAKED_LEFTLEG) || (mImageAssetID == IMG_USE_BAKED_AUX1) || (mImageAssetID == IMG_USE_BAKED_AUX2) || (mImageAssetID == IMG_USE_BAKED_AUX3))
{
LLViewerObject* obj = LLSelectMgr::getInstance()->getSelection()->getFirstObject();
if (obj)

View File

@ -8076,6 +8076,11 @@ void LLVOAvatar::updateMeshVisibility()
bake_flag[BAKED_LOWER] |= (tex_entry->getID() == IMG_USE_BAKED_LOWER);
bake_flag[BAKED_UPPER] |= (tex_entry->getID() == IMG_USE_BAKED_UPPER);
bake_flag[BAKED_SKIRT] |= (tex_entry->getID() == IMG_USE_BAKED_SKIRT);
bake_flag[BAKED_LEFT_ARM] |= (tex_entry->getID() == IMG_USE_BAKED_LEFTARM);
bake_flag[BAKED_LEFT_LEG] |= (tex_entry->getID() == IMG_USE_BAKED_LEFTLEG);
bake_flag[BAKED_AUX1] |= (tex_entry->getID() == IMG_USE_BAKED_AUX1);
bake_flag[BAKED_AUX2] |= (tex_entry->getID() == IMG_USE_BAKED_AUX2);
bake_flag[BAKED_AUX3] |= (tex_entry->getID() == IMG_USE_BAKED_AUX3);
}
}
}
@ -8098,6 +8103,11 @@ void LLVOAvatar::updateMeshVisibility()
bake_flag[BAKED_LOWER] |= (tex_entry->getID() == IMG_USE_BAKED_LOWER);
bake_flag[BAKED_UPPER] |= (tex_entry->getID() == IMG_USE_BAKED_UPPER);
bake_flag[BAKED_SKIRT] |= (tex_entry->getID() == IMG_USE_BAKED_SKIRT);
bake_flag[BAKED_LEFT_ARM] |= (tex_entry->getID() == IMG_USE_BAKED_LEFTARM);
bake_flag[BAKED_LEFT_LEG] |= (tex_entry->getID() == IMG_USE_BAKED_LEFTLEG);
bake_flag[BAKED_AUX1] |= (tex_entry->getID() == IMG_USE_BAKED_AUX1);
bake_flag[BAKED_AUX2] |= (tex_entry->getID() == IMG_USE_BAKED_AUX2);
bake_flag[BAKED_AUX3] |= (tex_entry->getID() == IMG_USE_BAKED_AUX3);
}
}
}
@ -8106,7 +8116,7 @@ void LLVOAvatar::updateMeshVisibility()
}
}
LL_INFOS() << "head " << bake_flag[BAKED_HEAD] << "eyes " << bake_flag[BAKED_EYES] << "hair " << bake_flag[BAKED_HAIR] << "lower " << bake_flag[BAKED_LOWER] << "upper " << bake_flag[BAKED_UPPER] << "skirt " << bake_flag[BAKED_SKIRT] << LL_ENDL;
//LL_INFOS() << "head " << bake_flag[BAKED_HEAD] << "eyes " << bake_flag[BAKED_EYES] << "hair " << bake_flag[BAKED_HAIR] << "lower " << bake_flag[BAKED_LOWER] << "upper " << bake_flag[BAKED_UPPER] << "skirt " << bake_flag[BAKED_SKIRT] << LL_ENDL;
for (S32 i = 0; i < mMeshLOD.size(); i++)
{

View File

@ -287,6 +287,26 @@
label="BAKED_HAIR"
name="BAKED_HAIR"
value="5" />
<combo_box.item
label="BAKED_LEFTARM"
name="BAKED_LEFTARM"
value="6" />
<combo_box.item
label="BAKED_LEFTLEG"
name="BAKED_LEFTLEG"
value="7" />
<combo_box.item
label="BAKED_AUX1"
name="BAKED_AUX1"
value="8" />
<combo_box.item
label="BAKED_AUX2"
name="BAKED_AUX2"
value="9" />
<combo_box.item
label="BAKED_AUX3"
name="BAKED_AUX3"
value="10" />
</combo_box>
<check_box
follows="left|top"

View File

@ -2,7 +2,7 @@
<panel
background_visible="true"
follows="all"
height="400"
height="900"
layout="topleft"
left="0"
name="edit_tattoo_panel"
@ -15,7 +15,7 @@
background_visible="true"
background_opaque="true"
follows="all"
height="400"
height="900"
left="10"
layout="topleft"
name="avatar_tattoo_color_panel"
@ -66,6 +66,127 @@
<texture_picker.commit_callback
function="TexturePicker.Commit" />
</texture_picker>
<texture_picker
can_apply_immediately="true"
default_image_name="Default"
follows="left|top"
height="115"
label="Skirt Tattoo"
layout="topleft"
left_pad="30"
name="Skirt Tattoo"
tool_tip="Click to choose a picture"
top_delta="0"
width="115" >
<texture_picker.commit_callback
function="TexturePicker.Commit" />
</texture_picker>
<texture_picker
can_apply_immediately="true"
default_image_name="Default"
follows="left|top"
height="115"
label="Hair Tattoo"
layout="topleft"
left="20"
name="Hair Tattoo"
tool_tip="Click to choose a picture"
top_pad="10"
width="115" >
<texture_picker.commit_callback
function="TexturePicker.Commit" />
</texture_picker>
<texture_picker
can_apply_immediately="true"
default_image_name="Default"
follows="left|top"
height="115"
label="Eyes Tattoo"
layout="topleft"
left_pad="30"
name="Eyes Tattoo"
tool_tip="Click to choose a picture"
top_delta="0"
width="115" >
<texture_picker.commit_callback
function="TexturePicker.Commit" />
</texture_picker>
<texture_picker
can_apply_immediately="true"
default_image_name="Default"
follows="left|top"
height="115"
label="Left Arm Tattoo"
layout="topleft"
left="20"
name="Left Arm Tattoo"
tool_tip="Click to choose a picture"
top_pad="10"
width="115" >
<texture_picker.commit_callback
function="TexturePicker.Commit" />
</texture_picker>
<texture_picker
can_apply_immediately="true"
default_image_name="Default"
follows="left|top"
height="115"
label="Left Leg Tattoo"
layout="topleft"
left_pad="30"
name="Left Leg Tattoo"
tool_tip="Click to choose a picture"
top_delta="0"
width="115" >
<texture_picker.commit_callback
function="TexturePicker.Commit" />
</texture_picker>
<texture_picker
can_apply_immediately="true"
default_image_name="Default"
follows="left|top"
height="115"
label="Aux1 Tattoo"
layout="topleft"
left="20"
name="Aux1 Tattoo"
tool_tip="Click to choose a picture"
top_pad="10"
width="115" >
<texture_picker.commit_callback
function="TexturePicker.Commit" />
</texture_picker>
<texture_picker
can_apply_immediately="true"
default_image_name="Default"
follows="left|top"
height="115"
label="Aux2 Tattoo"
layout="topleft"
left_pad="30"
name="Aux2 Tattoo"
tool_tip="Click to choose a picture"
top_delta="0"
width="115" >
<texture_picker.commit_callback
function="TexturePicker.Commit" />
</texture_picker>
<texture_picker
can_apply_immediately="true"
default_image_name="Default"
follows="left|top"
height="115"
label="Aux3 Tattoo"
layout="topleft"
left="20"
name="Aux3 Tattoo"
tool_tip="Click to choose a picture"
top_pad="10"
width="115" >
<texture_picker.commit_callback
function="TexturePicker.Commit" />
</texture_picker>
<color_swatch
can_apply_immediately="true"
follows="left|top"

View File

@ -3,7 +3,7 @@
background_visible="false"
bevel_style="in"
follows="all"
height="570"
height="700"
help_topic="fs_edit_body_part"
label="Wearable"
layout="topleft"
@ -411,7 +411,7 @@
<panel
filename="panel_edit_tattoo.xml"
follows="all"
height="425"
height="900"
layout="topleft"
left="0"
name="edit_tattoo_panel"