EXT-4026 parcel media does not autoplay after arriving by teleport
parent
e827c8a5eb
commit
6aa46cc53f
|
|
@ -35,6 +35,7 @@
|
|||
#include "llviewerparcelmedia.h"
|
||||
#include "llviewercontrol.h"
|
||||
#include "llviewermedia.h"
|
||||
#include "llviewerregion.h"
|
||||
#include "llparcel.h"
|
||||
#include "llviewerparcelmgr.h"
|
||||
#include "lluuid.h"
|
||||
|
|
@ -48,6 +49,8 @@ const F32 AUTOPLAY_SPEED = 0.1f; // how slow should the agent be moving t
|
|||
|
||||
LLViewerParcelMediaAutoPlay::LLViewerParcelMediaAutoPlay() :
|
||||
LLEventTimer(1),
|
||||
|
||||
mLastParcelID(-1),
|
||||
mPlayed(FALSE),
|
||||
mTimeInParcel(0)
|
||||
{
|
||||
|
|
@ -81,9 +84,18 @@ void LLViewerParcelMediaAutoPlay::playStarted()
|
|||
BOOL LLViewerParcelMediaAutoPlay::tick()
|
||||
{
|
||||
LLParcel *this_parcel = NULL;
|
||||
LLViewerRegion *this_region = NULL;
|
||||
std::string this_media_url;
|
||||
LLUUID this_media_texture_id;
|
||||
S32 this_parcel_id = 0;
|
||||
LLUUID this_region_id;
|
||||
|
||||
this_region = gAgent.getRegion();
|
||||
|
||||
if (this_region)
|
||||
{
|
||||
this_region_id = this_region->getRegionID();
|
||||
}
|
||||
|
||||
this_parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
|
||||
|
||||
|
|
@ -96,12 +108,14 @@ BOOL LLViewerParcelMediaAutoPlay::tick()
|
|||
this_parcel_id = this_parcel->getLocalID();
|
||||
}
|
||||
|
||||
if (this_parcel_id != mLastParcelID)
|
||||
if (this_parcel_id != mLastParcelID ||
|
||||
this_region_id != mLastRegionID)
|
||||
{
|
||||
// we've entered a new parcel
|
||||
mPlayed = FALSE; // we haven't autoplayed yet
|
||||
mTimeInParcel = 0; // reset our timer
|
||||
mLastParcelID = this_parcel_id;
|
||||
mLastRegionID = this_region_id;
|
||||
}
|
||||
|
||||
mTimeInParcel += mPeriod; // increase mTimeInParcel by the amount of time between ticks
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
#define LLVIEWERPARCELMEDIAAUTOPLAY_H
|
||||
|
||||
#include "lltimer.h"
|
||||
#include "lluuid.h"
|
||||
|
||||
// timer to automatically play media
|
||||
class LLViewerParcelMediaAutoPlay : LLEventTimer
|
||||
|
|
@ -47,6 +48,7 @@ class LLViewerParcelMediaAutoPlay : LLEventTimer
|
|||
|
||||
private:
|
||||
S32 mLastParcelID;
|
||||
LLUUID mLastRegionID;
|
||||
BOOL mPlayed;
|
||||
F32 mTimeInParcel;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue