diff options
author | Justin Clark-Casey (justincc) | 2014-02-24 19:20:50 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-02-24 19:20:50 +0000 |
commit | fd1b2a1c574a3397383a91279d56cece81945547 (patch) | |
tree | 6495d78f4904a835805b0177dbea87960cd93ee4 /OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | |
parent | Make Scene.DefaultDrawDistance to be the max of the region size and the (diff) | |
download | opensim-SC_OLD-fd1b2a1c574a3397383a91279d56cece81945547.zip opensim-SC_OLD-fd1b2a1c574a3397383a91279d56cece81945547.tar.gz opensim-SC_OLD-fd1b2a1c574a3397383a91279d56cece81945547.tar.bz2 opensim-SC_OLD-fd1b2a1c574a3397383a91279d56cece81945547.tar.xz |
Stop mesh avatars that specify the alpha texture in their bake slots from causing the simulator to continually request that they rebake
This is because the alpha texture is not in the cache, we must continue to have the fallback of looking for these and other persisted bakes in the asset service.
Relates to http://opensimulator.org/mantis/view.php?id=6927
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | 50 |
1 files changed, 13 insertions, 37 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index cdad729..856c4e1 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | |||
@@ -460,7 +460,6 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
460 | } | 460 | } |
461 | } | 461 | } |
462 | 462 | ||
463 | |||
464 | // m_log.DebugFormat( | 463 | // m_log.DebugFormat( |
465 | // "[AVFACTORY]: Looking for texture {0}, id {1} for {2} {3}", | 464 | // "[AVFACTORY]: Looking for texture {0}, id {1} for {2} {3}", |
466 | // face.TextureID, idx, client.Name, client.AgentId); | 465 | // face.TextureID, idx, client.Name, client.AgentId); |
@@ -474,16 +473,8 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
474 | 473 | ||
475 | defonly = false; // found a non-default texture reference | 474 | defonly = false; // found a non-default texture reference |
476 | 475 | ||
477 | if (cache != null) | 476 | if (m_scene.AssetService.Get(face.TextureID.ToString()) == null) |
478 | { | 477 | return false; |
479 | if (!cache.Check(face.TextureID.ToString())) | ||
480 | return false; | ||
481 | } | ||
482 | else | ||
483 | { | ||
484 | if (m_scene.AssetService.Get(face.TextureID.ToString()) == null) | ||
485 | return false; | ||
486 | } | ||
487 | } | 478 | } |
488 | 479 | ||
489 | // m_log.DebugFormat("[AVFACTORY]: Completed texture check for {0} {1}", sp.Name, sp.UUID); | 480 | // m_log.DebugFormat("[AVFACTORY]: Completed texture check for {0} {1}", sp.Name, sp.UUID); |
@@ -519,36 +510,21 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
519 | 510 | ||
520 | if (missingTexturesOnly) | 511 | if (missingTexturesOnly) |
521 | { | 512 | { |
522 | if (cache != null) | 513 | if (m_scene.AssetService.Get(face.TextureID.ToString()) != null) |
523 | { | 514 | { |
524 | if (cache.Check(face.TextureID.ToString())) | 515 | continue; |
525 | continue; | ||
526 | else | ||
527 | { | ||
528 | m_log.DebugFormat( | ||
529 | "[AVFACTORY]: Missing baked texture {0} ({1}) for {2}, requesting rebake.", | ||
530 | face.TextureID, idx, sp.Name); | ||
531 | } | ||
532 | } | 516 | } |
533 | else | 517 | else |
534 | { | 518 | { |
535 | if (m_scene.AssetService.Get(face.TextureID.ToString()) != null) | 519 | // On inter-simulator teleports, this occurs if baked textures are not being stored by the |
536 | { | 520 | // grid asset service (which means that they are not available to the new region and so have |
537 | continue; | 521 | // to be re-requested from the client). |
538 | } | 522 | // |
539 | 523 | // The only available core OpenSimulator behaviour right now | |
540 | else | 524 | // is not to store these textures, temporarily or otherwise. |
541 | { | 525 | m_log.DebugFormat( |
542 | // On inter-simulator teleports, this occurs if baked textures are not being stored by the | 526 | "[AVFACTORY]: Missing baked texture {0} ({1}) for {2}, requesting rebake.", |
543 | // grid asset service (which means that they are not available to the new region and so have | 527 | face.TextureID, idx, sp.Name); |
544 | // to be re-requested from the client). | ||
545 | // | ||
546 | // The only available core OpenSimulator behaviour right now | ||
547 | // is not to store these textures, temporarily or otherwise. | ||
548 | m_log.DebugFormat( | ||
549 | "[AVFACTORY]: Missing baked texture {0} ({1}) for {2}, requesting rebake.", | ||
550 | face.TextureID, idx, sp.Name); | ||
551 | } | ||
552 | } | 528 | } |
553 | } | 529 | } |
554 | else | 530 | else |