Merge branch 'master' of https://vcs.firestormviewer.org/viewer-merges/phoenix-firestorm-eep
commit
b051fdc1bb
|
|
@ -195,6 +195,8 @@ namespace
|
|||
|
||||
std::string amd_CPUFamilyName(int composed_family)
|
||||
{
|
||||
// https://en.wikipedia.org/wiki/List_of_AMD_CPU_microarchitectures
|
||||
// https://developer.amd.com/resources/developer-guides-manuals/
|
||||
switch(composed_family)
|
||||
{
|
||||
case 4: return "AMD 80486/5x86";
|
||||
|
|
@ -202,6 +204,13 @@ namespace
|
|||
case 6: return "AMD K7";
|
||||
case 0xF: return "AMD K8";
|
||||
case 0x10: return "AMD K8L";
|
||||
case 0x12: return "AMD K10";
|
||||
case 0x14: return "AMD Bobcat";
|
||||
case 0x15: return "AMD Bulldozer";
|
||||
case 0x16: return "AMD Jaguar";
|
||||
case 0x17: return "AMD Zen/Zen+/Zen2";
|
||||
case 0x18: return "AMD Hygon Dhyana";
|
||||
case 0x19: return "AMD Zen 3";
|
||||
}
|
||||
return STRINGIZE("AMD <unknown 0x" << std::hex << composed_family << ">");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
6.4.1
|
||||
6.4.2
|
||||
|
|
|
|||
|
|
@ -22,12 +22,10 @@
|
|||
<file>ヒラギノ角ゴ Pro W3.otf</file>
|
||||
<file>ヒラギノ角ゴ ProN W3.otf</file>
|
||||
<file>ヒラギノ明朝 ProN W3.ttc</file>
|
||||
<!-- <FS:TS> FIRE-17481: Add El Capitan Korean font -->
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<!-- </FS:TS> FIRE-17481 -->
|
||||
<file>AppleGothic.dfont</file>
|
||||
<file>AppleGothic.ttf</file>
|
||||
<file>AppleSDGothicNeo-Regular.otf</file>
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<file>华文细黑.ttf</file>
|
||||
<file>PingFang.ttc</file>
|
||||
<file>STIXGeneral.otf</file>
|
||||
|
|
|
|||
|
|
@ -22,12 +22,10 @@
|
|||
<file>ヒラギノ角ゴ Pro W3.otf</file>
|
||||
<file>ヒラギノ角ゴ ProN W3.otf</file>
|
||||
<file>ヒラギノ明朝 ProN W3.ttc</file>
|
||||
<!-- <FS:TS> FIRE-17481: Add El Capitan Korean font -->
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<!-- </FS:TS> FIRE-17481 -->
|
||||
<file>AppleGothic.dfont</file>
|
||||
<file>AppleGothic.ttf</file>
|
||||
<file>AppleSDGothicNeo-Regular.otf</file>
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<file>华文细黑.ttf</file>
|
||||
<file>PingFang.ttc</file>
|
||||
<file>STIXGeneral.otf</file>
|
||||
|
|
|
|||
|
|
@ -22,12 +22,10 @@
|
|||
<file>ヒラギノ角ゴ Pro W3.otf</file>
|
||||
<file>ヒラギノ角ゴ ProN W3.otf</file>
|
||||
<file>ヒラギノ明朝 ProN W3.ttc</file>
|
||||
<!-- <FS:TS> FIRE-17481: Add El Capitan Korean font -->
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<!-- </FS:TS> FIRE-17481 -->
|
||||
<file>AppleGothic.dfont</file>
|
||||
<file>AppleGothic.ttf</file>
|
||||
<file>AppleSDGothicNeo-Regular.otf</file>
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<file>华文细黑.ttf</file>
|
||||
<file>PingFang.ttc</file>
|
||||
<file>STIXGeneral.otf</file>
|
||||
|
|
|
|||
|
|
@ -22,12 +22,10 @@
|
|||
<file>ヒラギノ角ゴ Pro W3.otf</file>
|
||||
<file>ヒラギノ角ゴ ProN W3.otf</file>
|
||||
<file>ヒラギノ明朝 ProN W3.ttc</file>
|
||||
<!-- <FS:TS> FIRE-17481: Add El Capitan Korean font -->
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<!-- </FS:TS> FIRE-17481 -->
|
||||
<file>AppleGothic.dfont</file>
|
||||
<file>AppleGothic.ttf</file>
|
||||
<file>AppleSDGothicNeo-Regular.otf</file>
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<file>华文细黑.ttf</file>
|
||||
<file>PingFang.ttc</file>
|
||||
<file>STIXGeneral.otf</file>
|
||||
|
|
|
|||
|
|
@ -22,12 +22,10 @@
|
|||
<file>ヒラギノ角ゴ Pro W3.otf</file>
|
||||
<file>ヒラギノ角ゴ ProN W3.otf</file>
|
||||
<file>ヒラギノ明朝 ProN W3.ttc</file>
|
||||
<!-- <FS:TS> FIRE-17481: Add El Capitan Korean font -->
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<!-- </FS:TS> FIRE-17481 -->
|
||||
<file>AppleGothic.dfont</file>
|
||||
<file>AppleGothic.ttf</file>
|
||||
<file>AppleSDGothicNeo-Regular.otf</file>
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<file>华文细黑.ttf</file>
|
||||
<file>PingFang.ttc</file>
|
||||
<file>STIXGeneral.otf</file>
|
||||
|
|
|
|||
|
|
@ -22,12 +22,10 @@
|
|||
<file>ヒラギノ角ゴ Pro W3.otf</file>
|
||||
<file>ヒラギノ角ゴ ProN W3.otf</file>
|
||||
<file>ヒラギノ明朝 ProN W3.ttc</file>
|
||||
<!-- <FS:TS> FIRE-17481: Add El Capitan Korean font -->
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<!-- </FS:TS> FIRE-17481 -->
|
||||
<file>AppleGothic.dfont</file>
|
||||
<file>AppleGothic.ttf</file>
|
||||
<file>AppleSDGothicNeo-Regular.otf</file>
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<file>华文细黑.ttf</file>
|
||||
<file>PingFang.ttc</file>
|
||||
<file>STIXGeneral.otf</file>
|
||||
|
|
|
|||
|
|
@ -22,12 +22,10 @@
|
|||
<file>ヒラギノ角ゴ Pro W3.otf</file>
|
||||
<file>ヒラギノ角ゴ ProN W3.otf</file>
|
||||
<file>ヒラギノ明朝 ProN W3.ttc</file>
|
||||
<!-- <FS:TS> FIRE-17481: Add El Capitan Korean font -->
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<!-- </FS:TS> FIRE-17481 -->
|
||||
<file>AppleGothic.dfont</file>
|
||||
<file>AppleGothic.ttf</file>
|
||||
<file>AppleSDGothicNeo-Regular.otf</file>
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<file>华文细黑.ttf</file>
|
||||
<file>PingFang.ttc</file>
|
||||
<file>STIXGeneral.otf</file>
|
||||
|
|
|
|||
|
|
@ -22,12 +22,10 @@
|
|||
<file>ヒラギノ角ゴ Pro W3.otf</file>
|
||||
<file>ヒラギノ角ゴ ProN W3.otf</file>
|
||||
<file>ヒラギノ明朝 ProN W3.ttc</file>
|
||||
<!-- <FS:TS> FIRE-17481: Add El Capitan Korean font -->
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<!-- </FS:TS> FIRE-17481 -->
|
||||
<file>AppleGothic.dfont</file>
|
||||
<file>AppleGothic.ttf</file>
|
||||
<file>AppleSDGothicNeo-Regular.otf</file>
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<file>华文细黑.ttf</file>
|
||||
<file>PingFang.ttc</file>
|
||||
<file>STIXGeneral.otf</file>
|
||||
|
|
|
|||
|
|
@ -22,12 +22,10 @@
|
|||
<file>ヒラギノ角ゴ Pro W3.otf</file>
|
||||
<file>ヒラギノ角ゴ ProN W3.otf</file>
|
||||
<file>ヒラギノ明朝 ProN W3.ttc</file>
|
||||
<!-- <FS:TS> FIRE-17481: Add El Capitan Korean font -->
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<!-- </FS:TS> FIRE-17481 -->
|
||||
<file>AppleGothic.dfont</file>
|
||||
<file>AppleGothic.ttf</file>
|
||||
<file>AppleSDGothicNeo-Regular.otf</file>
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<file>华文细黑.ttf</file>
|
||||
<file>PingFang.ttc</file>
|
||||
<file>STIXGeneral.otf</file>
|
||||
|
|
|
|||
|
|
@ -22,12 +22,10 @@
|
|||
<file>ヒラギノ角ゴ Pro W3.otf</file>
|
||||
<file>ヒラギノ角ゴ ProN W3.otf</file>
|
||||
<file>ヒラギノ明朝 ProN W3.ttc</file>
|
||||
<!-- <FS:TS> FIRE-17481: Add El Capitan Korean font -->
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<!-- </FS:TS> FIRE-17481 -->
|
||||
<file>AppleGothic.dfont</file>
|
||||
<file>AppleGothic.ttf</file>
|
||||
<file>AppleSDGothicNeo-Regular.otf</file>
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<file>华文细黑.ttf</file>
|
||||
<file>PingFang.ttc</file>
|
||||
<file>STIXGeneral.otf</file>
|
||||
|
|
|
|||
|
|
@ -2800,7 +2800,7 @@ void LLEnvironment::loadSkyWaterFromSettings(const LLSD &env_data, bool &valid,
|
|||
}
|
||||
else if (env_data.has("sky_llsd"))
|
||||
{
|
||||
LLSettingsSky::ptr_t sky = std::make_shared<LLSettingsVOSky>(env_data["sky_llsd"]);
|
||||
LLSettingsSky::ptr_t sky = LLSettingsVOSky::buildSky(env_data["sky_llsd"]);
|
||||
setEnvironment(ENV_LOCAL, sky);
|
||||
valid = true;
|
||||
}
|
||||
|
|
@ -2814,7 +2814,7 @@ void LLEnvironment::loadSkyWaterFromSettings(const LLSD &env_data, bool &valid,
|
|||
}
|
||||
else if (env_data.has("water_llsd"))
|
||||
{
|
||||
LLSettingsWater::ptr_t sky = std::make_shared<LLSettingsVOWater>(env_data["water_llsd"]);
|
||||
LLSettingsWater::ptr_t sky = LLSettingsVOWater::buildWater(env_data["water_llsd"]);
|
||||
setEnvironment(ENV_LOCAL, sky);
|
||||
valid = true;
|
||||
}
|
||||
|
|
@ -2899,8 +2899,8 @@ bool LLEnvironment::loadFromSettings()
|
|||
{
|
||||
S32 length = env_data["day_length"].asInteger();
|
||||
S32 offset = env_data["day_offset"].asInteger();
|
||||
LLSettingsDay::ptr_t day = std::make_shared<LLSettingsVODay>(env_data["day_llsd"]);
|
||||
setEnvironment(ENV_LOCAL, day, LLSettingsDay::Seconds(length), LLSettingsDay::Seconds(offset));
|
||||
LLSettingsDay::ptr_t pday = LLSettingsVODay::buildDay(env_data["day_llsd"]);
|
||||
setEnvironment(ENV_LOCAL, pday, LLSettingsDay::Seconds(length), LLSettingsDay::Seconds(offset));
|
||||
valid = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ void LLFloaterEvent::setEventID(const U32 event_id)
|
|||
// get the search URL and expand all of the substitutions
|
||||
// (also adds things like [LANGUAGE], [VERSION], [OS], etc.)
|
||||
std::ostringstream url;
|
||||
url << gSavedSettings.getString("EventURL") << event_id << "/" << std::endl;
|
||||
url << gSavedSettings.getString("EventURL") << event_id << std::endl;
|
||||
// and load the URL in the web view
|
||||
mBrowser->navigateTo(url.str());
|
||||
|
||||
|
|
|
|||
|
|
@ -158,6 +158,9 @@ class LLSettingsVODay : public LLSettingsDay
|
|||
public:
|
||||
typedef std::function<void(LLSettingsDay::ptr_t day)> asset_built_fn;
|
||||
|
||||
// Todo: find a way to make this cnstructor private
|
||||
// It shouldn't be used outside shared_prt and LLSettingsVODay
|
||||
// outside of settings only use buildDay(settings)
|
||||
LLSettingsVODay(const LLSD &data);
|
||||
|
||||
static ptr_t buildDay(LLSD settings);
|
||||
|
|
|
|||
|
|
@ -2660,8 +2660,7 @@ bool idle_startup()
|
|||
|
||||
display_startup();
|
||||
|
||||
// Load stored local environment if needed. Only should be done once at least
|
||||
// initial region data got loaded to avoid race condition with region's environment
|
||||
// Load stored local environment if needed.
|
||||
LLEnvironment::instance().loadFromSettings();
|
||||
|
||||
// *TODO : Uncomment that line once the whole grid migrated to SLM and suppress it from LLAgent::handleTeleportFinished() (llagent.cpp)
|
||||
|
|
|
|||
|
|
@ -217,6 +217,8 @@ const F32 NAMETAG_VERT_OFFSET_WEIGHT = 0.17f;
|
|||
const U32 LLVOAvatar::VISUAL_COMPLEXITY_UNKNOWN = 0;
|
||||
const F64 HUD_OVERSIZED_TEXTURE_DATA_SIZE = 1024 * 1024;
|
||||
|
||||
const F32 MAX_TEXTURE_WAIT_TIME_SEC = 60.f;
|
||||
|
||||
enum ERenderName
|
||||
{
|
||||
RENDER_NAME_NEVER,
|
||||
|
|
@ -692,6 +694,7 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id,
|
|||
mFullyLoadedInitialized(FALSE),
|
||||
mVisualComplexity(VISUAL_COMPLEXITY_UNKNOWN),
|
||||
mLoadedCallbacksPaused(FALSE),
|
||||
mLoadedCallbackTextures(0),
|
||||
mRenderUnloadedAvatar(LLCachedControl<bool>(gSavedSettings, "RenderUnloadedAvatar", false)),
|
||||
mLastRezzedStatus(-1),
|
||||
mIsEditingAppearance(FALSE),
|
||||
|
|
@ -962,8 +965,9 @@ BOOL LLVOAvatar::hasGray() const
|
|||
S32 LLVOAvatar::getRezzedStatus() const
|
||||
{
|
||||
if (getIsCloud()) return 0;
|
||||
if (isFullyTextured() && allBakedTexturesCompletelyDownloaded()) return 3;
|
||||
if (isFullyTextured()) return 2;
|
||||
bool textured = isFullyTextured();
|
||||
if (textured && allBakedTexturesCompletelyDownloaded()) return 3;
|
||||
if (textured) return 2;
|
||||
llassert(hasGray());
|
||||
return 1; // gray
|
||||
}
|
||||
|
|
@ -6047,12 +6051,28 @@ void LLVOAvatar::checkTextureLoading()
|
|||
}
|
||||
if(mLoadedCallbacksPaused == pause)
|
||||
{
|
||||
if (!pause && mFirstFullyVisible && mLoadedCallbackTextures < mCallbackTextureList.size())
|
||||
{
|
||||
// We still need to update 'loaded' textures count to decide on 'cloud' visibility
|
||||
// Alternatively this can be done on TextureLoaded callbacks, but is harder to properly track
|
||||
mLoadedCallbackTextures = 0;
|
||||
for (LLLoadedCallbackEntry::source_callback_list_t::iterator iter = mCallbackTextureList.begin();
|
||||
iter != mCallbackTextureList.end(); ++iter)
|
||||
{
|
||||
LLViewerFetchedTexture* tex = gTextureList.findImage(*iter);
|
||||
if (tex && (tex->getDiscardLevel() >= 0 || tex->isMissingAsset()))
|
||||
{
|
||||
mLoadedCallbackTextures++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ;
|
||||
}
|
||||
|
||||
if(mCallbackTextureList.empty()) //when is self or no callbacks. Note: this list for self is always empty.
|
||||
{
|
||||
mLoadedCallbacksPaused = pause ;
|
||||
mLoadedCallbackTextures = 0;
|
||||
return ; //nothing to check.
|
||||
}
|
||||
|
||||
|
|
@ -6060,7 +6080,9 @@ void LLVOAvatar::checkTextureLoading()
|
|||
{
|
||||
return ; //have not been invisible for enough time.
|
||||
}
|
||||
|
||||
|
||||
mLoadedCallbackTextures = pause ? mCallbackTextureList.size() : 0;
|
||||
|
||||
for(LLLoadedCallbackEntry::source_callback_list_t::iterator iter = mCallbackTextureList.begin();
|
||||
iter != mCallbackTextureList.end(); ++iter)
|
||||
{
|
||||
|
|
@ -6081,9 +6103,15 @@ void LLVOAvatar::checkTextureLoading()
|
|||
|
||||
tex->unpauseLoadedCallbacks(&mCallbackTextureList) ;
|
||||
tex->addTextureStats(START_AREA); //jump start the fetching again
|
||||
|
||||
// technically shouldn't need to account for missing, but callback might not have happened yet
|
||||
if (tex->getDiscardLevel() >= 0 || tex->isMissingAsset())
|
||||
{
|
||||
mLoadedCallbackTextures++; // consider it loaded (we have at least some data)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!pause)
|
||||
{
|
||||
|
|
@ -8521,14 +8549,13 @@ bool LLVOAvatar::getIsCloud() const
|
|||
);
|
||||
}
|
||||
|
||||
void LLVOAvatar::updateRezzedStatusTimers()
|
||||
void LLVOAvatar::updateRezzedStatusTimers(S32 rez_status)
|
||||
{
|
||||
// State machine for rezzed status. Statuses are -1 on startup, 0
|
||||
// = cloud, 1 = gray, 2 = downloading, 3 = full.
|
||||
// Purpose is to collect time data for each it takes avatar to reach
|
||||
// various loading landmarks: gray, textured (partial), textured fully.
|
||||
|
||||
S32 rez_status = getRezzedStatus();
|
||||
if (rez_status != mLastRezzedStatus)
|
||||
{
|
||||
LL_DEBUGS("Avatar") << avString() << "rez state change: " << mLastRezzedStatus << " -> " << rez_status << LL_ENDL;
|
||||
|
|
@ -8700,8 +8727,21 @@ void LLVOAvatar::logMetricsTimerRecord(const std::string& phase_name, F32 elapse
|
|||
// returns true if the value has changed.
|
||||
BOOL LLVOAvatar::updateIsFullyLoaded()
|
||||
{
|
||||
const bool loading = getIsCloud();
|
||||
updateRezzedStatusTimers();
|
||||
S32 rez_status = getRezzedStatus();
|
||||
bool loading = getIsCloud();
|
||||
if (mFirstFullyVisible && !mIsControlAvatar)
|
||||
{
|
||||
loading = ((rez_status < 2)
|
||||
// Wait at least 60s for unfinished textures to finish on first load,
|
||||
// don't wait forever, it might fail. Even if it will eventually load by
|
||||
// itself and update mLoadedCallbackTextures (or fail and clean the list),
|
||||
// avatars are more time-sensitive than textures and can't wait that long.
|
||||
|| (mLoadedCallbackTextures < mCallbackTextureList.size() && mLastTexCallbackAddedTime.getElapsedTimeF32() < MAX_TEXTURE_WAIT_TIME_SEC)
|
||||
|| !mPendingAttachment.empty()
|
||||
|| (rez_status < 3 && !isFullyBaked())
|
||||
);
|
||||
}
|
||||
updateRezzedStatusTimers(rez_status);
|
||||
updateRuthTimer(loading);
|
||||
return processFullyLoadedChange(loading);
|
||||
}
|
||||
|
|
@ -8737,13 +8777,22 @@ void LLVOAvatar::updateRuthTimer(bool loading)
|
|||
|
||||
BOOL LLVOAvatar::processFullyLoadedChange(bool loading)
|
||||
{
|
||||
// we wait a little bit before giving the all clear,
|
||||
// to let textures settle down
|
||||
const F32 PAUSE = 1.f;
|
||||
// We wait a little bit before giving the 'all clear', to let things to
|
||||
// settle down (models to snap into place, textures to get first packets)
|
||||
const F32 LOADED_DELAY = 1.f;
|
||||
const F32 FIRST_USE_DELAY = 3.f;
|
||||
|
||||
if (loading)
|
||||
mFullyLoadedTimer.reset();
|
||||
|
||||
mFullyLoaded = (mFullyLoadedTimer.getElapsedTimeF32() > PAUSE);
|
||||
|
||||
if (mFirstFullyVisible)
|
||||
{
|
||||
mFullyLoaded = (mFullyLoadedTimer.getElapsedTimeF32() > FIRST_USE_DELAY);
|
||||
}
|
||||
else
|
||||
{
|
||||
mFullyLoaded = (mFullyLoadedTimer.getElapsedTimeF32() > LOADED_DELAY);
|
||||
}
|
||||
|
||||
if (!mPreviousFullyLoaded && !loading && mFullyLoaded)
|
||||
{
|
||||
|
|
@ -9051,6 +9100,7 @@ void LLVOAvatar::updateMeshTextures()
|
|||
LLViewerTexLayerSet* layerset = getTexLayerSet(i);
|
||||
if (use_lkg_baked_layer[i] && !isUsingLocalAppearance() )
|
||||
{
|
||||
// use last known good layer (no new one)
|
||||
LLViewerFetchedTexture* baked_img = LLViewerTextureManager::getFetchedTexture(mBakedTextureDatas[i].mLastTextureID);
|
||||
mBakedTextureDatas[i].mIsUsed = TRUE;
|
||||
|
||||
|
|
@ -9069,6 +9119,7 @@ void LLVOAvatar::updateMeshTextures()
|
|||
}
|
||||
else if (!isUsingLocalAppearance() && is_layer_baked[i])
|
||||
{
|
||||
// use new layer
|
||||
LLViewerFetchedTexture* baked_img =
|
||||
LLViewerTextureManager::staticCastToFetchedTexture(
|
||||
getImage( mBakedTextureDatas[i].mTextureIndex, 0 ), TRUE) ;
|
||||
|
|
@ -9088,10 +9139,15 @@ void LLVOAvatar::updateMeshTextures()
|
|||
((i == BAKED_HEAD) || (i == BAKED_UPPER) || (i == BAKED_LOWER)) )
|
||||
{
|
||||
baked_img->setLoadedCallback(onBakedTextureMasksLoaded, MORPH_MASK_REQUESTED_DISCARD, TRUE, TRUE, new LLTextureMaskData( mID ),
|
||||
src_callback_list, paused);
|
||||
src_callback_list, paused);
|
||||
}
|
||||
baked_img->setLoadedCallback(onBakedTextureLoaded, SWITCH_TO_BAKED_DISCARD, FALSE, FALSE, new LLUUID( mID ),
|
||||
src_callback_list, paused );
|
||||
if (baked_img->getDiscardLevel() < 0 && !paused)
|
||||
{
|
||||
// mLoadedCallbackTextures will be updated by checkTextureLoading() below
|
||||
mLastTexCallbackAddedTime.reset();
|
||||
}
|
||||
|
||||
// this could add paused texture callbacks
|
||||
mLoadedCallbacksPaused |= paused;
|
||||
|
|
@ -9499,13 +9555,16 @@ void LLVOAvatar::onFirstTEMessageReceived()
|
|||
LL_DEBUGS("Avatar") << avString() << "layer_baked, setting onInitialBakedTextureLoaded as callback" << LL_ENDL;
|
||||
image->setLoadedCallback( onInitialBakedTextureLoaded, MAX_DISCARD_LEVEL, FALSE, FALSE, new LLUUID( mID ),
|
||||
src_callback_list, paused );
|
||||
|
||||
if (image->getDiscardLevel() < 0 && !paused)
|
||||
{
|
||||
mLastTexCallbackAddedTime.reset();
|
||||
}
|
||||
// this could add paused texture callbacks
|
||||
mLoadedCallbacksPaused |= paused;
|
||||
}
|
||||
}
|
||||
|
||||
mMeshTexturesDirty = TRUE;
|
||||
mMeshTexturesDirty = TRUE;
|
||||
gPipeline.markGLRebuild(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -10220,8 +10279,6 @@ void LLVOAvatar::onBakedTextureMasksLoaded( BOOL success, LLViewerFetchedTexture
|
|||
// static
|
||||
void LLVOAvatar::onInitialBakedTextureLoaded( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* aux_src, S32 discard_level, BOOL final, void* userdata )
|
||||
{
|
||||
|
||||
|
||||
LLUUID *avatar_idp = (LLUUID *)userdata;
|
||||
LLVOAvatar *selfp = (LLVOAvatar *)gObjectList.findObject(*avatar_idp);
|
||||
|
||||
|
|
|
|||
|
|
@ -364,7 +364,7 @@ public:
|
|||
BOOL isFullyTextured() const;
|
||||
BOOL hasGray() const;
|
||||
S32 getRezzedStatus() const; // 0 = cloud, 1 = gray, 2 = textured, 3 = textured and fully downloaded.
|
||||
void updateRezzedStatusTimers();
|
||||
void updateRezzedStatusTimers(S32 status);
|
||||
S32 getNumBakes() const;//<FS:Beq/> BOM bake limits
|
||||
// U8 getNumTEs() const override;//<FS:Beq/> BOM bake limits
|
||||
|
||||
|
|
@ -659,6 +659,8 @@ protected:
|
|||
|
||||
LLLoadedCallbackEntry::source_callback_list_t mCallbackTextureList ;
|
||||
BOOL mLoadedCallbacksPaused;
|
||||
S32 mLoadedCallbackTextures; // count of 'loaded' baked textures, filled from mCallbackTextureList
|
||||
LLFrameTimer mLastTexCallbackAddedTime;
|
||||
std::set<LLUUID> mTextureIDs;
|
||||
//--------------------------------------------------------------------
|
||||
// Local Textures
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
<file>AppleGothic.dfont</file>
|
||||
<file>AppleGothic.ttf</file>
|
||||
<file>AppleSDGothicNeo-Regular.otf</file>
|
||||
<file>AppleSDGothicNeo.ttc</file>
|
||||
<file>华文细黑.ttf</file>
|
||||
<file>PingFang.ttc</file>
|
||||
<file>STIXGeneral.otf</file>
|
||||
|
|
|
|||
|
|
@ -782,7 +782,7 @@
|
|||
name="Events">
|
||||
<menu_item_call.on_click
|
||||
function="Advanced.ShowURL"
|
||||
parameter="http://events.secondlife.com"/>
|
||||
parameter="https://secondlife.com/my/community/events"/>
|
||||
<menu_item_call.on_visible
|
||||
function="GridCheck"
|
||||
parameter="secondlife"/>
|
||||
|
|
|
|||
|
|
@ -1524,7 +1524,7 @@ Go to the [CURRENT_GRID] events web page?
|
|||
<tag>confirm</tag>
|
||||
<url option="0" name="url">
|
||||
|
||||
http://secondlife.com/events/
|
||||
https://secondlife.com/my/community/events
|
||||
</url>
|
||||
<usetemplate
|
||||
name="okcancelbuttons"
|
||||
|
|
|
|||
Loading…
Reference in New Issue