diff options
author | Callum Linden <callum@lindenlab.com> | 2021-09-28 15:25:12 -0700 |
---|---|---|
committer | Callum Linden <callum@lindenlab.com> | 2021-09-28 15:25:12 -0700 |
commit | 89057746316affe2fef7314624942fa43085d6b6 (patch) | |
tree | 6187d3d751c13f46b571b10908e5d56f3febff94 | |
parent | 851fef680164e3472b0516e7237bbcc4a35bc5a3 (diff) | |
parent | 187d5862398820e28a8935ce9058f444f4963153 (diff) |
Merge branch 'SL-15999' of https://bitbucket.org/lindenlab/viewer into SL-15999
-rw-r--r-- | indra/newview/llagent.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llappviewer.cpp | 5 | ||||
-rw-r--r-- | indra/newview/lltexturefetch.cpp | 4 | ||||
-rw-r--r-- | indra/newview/llviewermessage.cpp | 21 | ||||
-rw-r--r-- | indra/newview/llviewerobject.cpp | 29 | ||||
-rw-r--r-- | indra/newview/llvoavatar.cpp | 5 | ||||
-rw-r--r-- | indra/newview/pipeline.cpp | 8 |
7 files changed, 41 insertions, 33 deletions
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 389448654a..b35eef20f7 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -1481,7 +1481,7 @@ void LLAgent::resetControlFlags() //----------------------------------------------------------------------------- void LLAgent::setAFK() { - if (!gAgent.getRegion()) + if (gNonInteractive || !gAgent.getRegion()) { // Don't set AFK if we're not talking to a region yet. return; diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index b6446e40ac..5413045e7a 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1559,7 +1559,7 @@ bool LLAppViewer::doFrame() if (gNonInteractive) { - S32 non_interactive_ms_sleep_time = 1000; + S32 non_interactive_ms_sleep_time = 100; LLAppViewer::getTextureCache()->pause(); LLAppViewer::getImageDecodeThread()->pause(); ms_sleep(non_interactive_ms_sleep_time); @@ -2759,6 +2759,9 @@ bool LLAppViewer::initConfiguration() if (gNonInteractive) { tempSetControl("SLURLPassToOtherInstance", "FALSE"); + tempSetControl("RenderWater", "FALSE"); + tempSetControl("FlyingAtExit", "FALSE"); + LLError::setEnabledLogTypesMask(0); llassert_always(!gSavedSettings.getBOOL("SLURLPassToOtherInstance")); } diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index f64db7beb5..9126360eed 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -1139,6 +1139,10 @@ void LLTextureFetchWorker::startWork(S32 param) // Threads: Ttf bool LLTextureFetchWorker::doWork(S32 param) { + if (gNonInteractive) + { + return true; + } static const LLCore::HttpStatus http_not_found(HTTP_NOT_FOUND); // 404 static const LLCore::HttpStatus http_service_unavail(HTTP_SERVICE_UNAVAILABLE); // 503 static const LLCore::HttpStatus http_not_sat(HTTP_REQUESTED_RANGE_NOT_SATISFIABLE); // 416; diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index c99232eba0..ab65d747ba 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -4049,7 +4049,6 @@ void process_avatar_animation(LLMessageSystem *mesgsys, void **user_data) S32 num_blocks = mesgsys->getNumberOfBlocksFast(_PREHASH_AnimationList); S32 num_source_blocks = mesgsys->getNumberOfBlocksFast(_PREHASH_AnimationSourceList); - bool non_interactive_got_run = false; LL_DEBUGS("Messaging", "Motion") << "Processing " << num_blocks << " Animations" << LL_ENDL; @@ -4065,14 +4064,6 @@ void process_avatar_animation(LLMessageSystem *mesgsys, void **user_data) mesgsys->getUUIDFast(_PREHASH_AnimationList, _PREHASH_AnimID, animation_id, i); mesgsys->getS32Fast(_PREHASH_AnimationList, _PREHASH_AnimSequenceID, anim_sequence_id, i); - if (gNonInteractive && (animation_id == ANIM_AGENT_RUN)) - { - // RUN requests get sent at startup for unclear - // reasons. Same avatar may get requests one run and - // not another. At least in the non-interactive case, - // we want to override these. - non_interactive_got_run = true; - } avatarp->mSignaledAnimations[animation_id] = anim_sequence_id; // *HACK: Disabling flying mode if it has been enabled shortly before the agent @@ -4086,6 +4077,11 @@ void process_avatar_animation(LLMessageSystem *mesgsys, void **user_data) gAgent.setFlying(FALSE); } + if (gNonInteractive && animation_id == ANIM_AGENT_RUN) + { + LL_INFOS() << "Noninteractive, got run request for self" << LL_ENDL; + } + if (i < num_source_blocks) { mesgsys->getUUIDFast(_PREHASH_AnimationSourceList, _PREHASH_ObjectID, object_id, i); @@ -4136,13 +4132,6 @@ void process_avatar_animation(LLMessageSystem *mesgsys, void **user_data) { avatarp->processAnimationStateChanges(); } - - if (non_interactive_got_run) - { - // Total kluge alert. - LL_INFOS("Messaging","Motion") << "non-interactive mode, resetting animations" << LL_ENDL; - gAgent.stopCurrentAnimations(); - } } diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 528448c477..0832415e1e 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -156,15 +156,25 @@ LLViewerObject *LLViewerObject::createObject(const LLUUID &id, const LLPCode pco LLViewerObject *res = NULL; LL_RECORD_BLOCK_TIME(FTM_CREATE_OBJECT); - + + if (gNonInteractive + && pcode != LL_PCODE_LEGACY_AVATAR + && pcode != LL_VO_SURFACE_PATCH + && pcode != LL_VO_WATER + && pcode != LL_VO_VOID_WATER + && pcode != LL_VO_WL_SKY + && pcode != LL_VO_SKY + && pcode != LL_VO_GROUND + && pcode != LL_VO_PART_GROUP + ) + { + return res; + } switch (pcode) { case LL_PCODE_VOLUME: { - if (!gNonInteractive) - { - res = new LLVOVolume(id, pcode, regionp); break; - } + res = new LLVOVolume(id, pcode, regionp); break; break; } case LL_PCODE_LEGACY_AVATAR: @@ -200,12 +210,9 @@ LLViewerObject *LLViewerObject::createObject(const LLUUID &id, const LLPCode pco } else { - if (!gNonInteractive) - { - LLVOAvatar *avatar = new LLVOAvatar(id, pcode, regionp); - avatar->initInstance(); - res = avatar; - } + LLVOAvatar *avatar = new LLVOAvatar(id, pcode, regionp); + avatar->initInstance(); + res = avatar; } break; } diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index e085a945a8..dad580de70 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -3807,6 +3807,11 @@ LLViewerInventoryItem* recursiveGetObjectInventoryItem(LLViewerObject *vobj, LLU void LLVOAvatar::updateAnimationDebugText() { + if (isSelf() && gNonInteractive) + { + LLVector3 vel = getVelocity(); + addDebugText(llformat("vel %f %f %f\n",vel[0],vel[1],vel[2])); + } for (LLMotionController::motion_list_t::iterator iter = mMotionController.getActiveMotions().begin(); iter != mMotionController.getActiveMotions().end(); ++iter) { diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 30703426ce..1730753eb1 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -487,10 +487,10 @@ void LLPipeline::init() { clearAllRenderTypes(); } - //else if (gSavedSettings.getBOOL("NonInteractive")) -// { - // clearAllRenderTypes(); - //} + else if (gNonInteractive) + { + clearAllRenderTypes(); + } else { setAllRenderTypes(); // By default, all rendering types start enabled |