diff options
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Diffstat (limited to 'OpenSim/Region/OptionalModules/Materials')
-rw-r--r-- | OpenSim/Region/OptionalModules/Materials/MaterialsDemoModule.cs | 136 |
1 files changed, 69 insertions, 67 deletions
diff --git a/OpenSim/Region/OptionalModules/Materials/MaterialsDemoModule.cs b/OpenSim/Region/OptionalModules/Materials/MaterialsDemoModule.cs index 19d8141..3a39971 100644 --- a/OpenSim/Region/OptionalModules/Materials/MaterialsDemoModule.cs +++ b/OpenSim/Region/OptionalModules/Materials/MaterialsDemoModule.cs | |||
@@ -125,7 +125,7 @@ namespace OpenSim.Region.OptionalModules.MaterialsDemoModule | |||
125 | m_scene = scene; | 125 | m_scene = scene; |
126 | m_scene.EventManager.OnRegisterCaps += OnRegisterCaps; | 126 | m_scene.EventManager.OnRegisterCaps += OnRegisterCaps; |
127 | m_scene.EventManager.OnObjectAddedToScene += EventManager_OnObjectAddedToScene; | 127 | m_scene.EventManager.OnObjectAddedToScene += EventManager_OnObjectAddedToScene; |
128 | m_scene.EventManager.OnGatherUuids += GatherMaterialsUuids; | 128 | // m_scene.EventManager.OnGatherUuids += GatherMaterialsUuids; |
129 | } | 129 | } |
130 | 130 | ||
131 | void EventManager_OnObjectAddedToScene(SceneObjectGroup obj) | 131 | void EventManager_OnObjectAddedToScene(SceneObjectGroup obj) |
@@ -161,7 +161,7 @@ namespace OpenSim.Region.OptionalModules.MaterialsDemoModule | |||
161 | 161 | ||
162 | m_scene.EventManager.OnRegisterCaps -= OnRegisterCaps; | 162 | m_scene.EventManager.OnRegisterCaps -= OnRegisterCaps; |
163 | m_scene.EventManager.OnObjectAddedToScene -= EventManager_OnObjectAddedToScene; | 163 | m_scene.EventManager.OnObjectAddedToScene -= EventManager_OnObjectAddedToScene; |
164 | m_scene.EventManager.OnGatherUuids -= GatherMaterialsUuids; | 164 | // m_scene.EventManager.OnGatherUuids -= GatherMaterialsUuids; |
165 | 165 | ||
166 | m_log.DebugFormat("[MaterialsDemoModule]: REGION {0} REMOVED", scene.RegionInfo.RegionName); | 166 | m_log.DebugFormat("[MaterialsDemoModule]: REGION {0} REMOVED", scene.RegionInfo.RegionName); |
167 | } | 167 | } |
@@ -591,70 +591,72 @@ namespace OpenSim.Region.OptionalModules.MaterialsDemoModule | |||
591 | output.Flush(); | 591 | output.Flush(); |
592 | } | 592 | } |
593 | 593 | ||
594 | /// <summary> | 594 | // FIXME: This code is currently still in UuidGatherer since we cannot use Scene.EventManager as some |
595 | /// Gather all of the texture asset UUIDs used to reference "Materials" such as normal and specular maps | 595 | // calls to the gatherer are done for objects with no scene. |
596 | /// </summary> | 596 | // /// <summary> |
597 | /// <param name="part"></param> | 597 | // /// Gather all of the texture asset UUIDs used to reference "Materials" such as normal and specular maps |
598 | /// <param name="assetUuids"></param> | 598 | // /// </summary> |
599 | private void GatherMaterialsUuids(SceneObjectPart part, IDictionary<UUID, AssetType> assetUuids) | 599 | // /// <param name="part"></param> |
600 | { | 600 | // /// <param name="assetUuids"></param> |
601 | // scan thru the dynAttrs map of this part for any textures used as materials | 601 | // private void GatherMaterialsUuids(SceneObjectPart part, IDictionary<UUID, AssetType> assetUuids) |
602 | OSD osdMaterials = null; | 602 | // { |
603 | 603 | // // scan thru the dynAttrs map of this part for any textures used as materials | |
604 | lock (part.DynAttrs) | 604 | // OSD osdMaterials = null; |
605 | { | 605 | // |
606 | if (part.DynAttrs.ContainsStore("OpenSim", "Materials")) | 606 | // lock (part.DynAttrs) |
607 | { | 607 | // { |
608 | OSDMap materialsStore = part.DynAttrs.GetStore("OpenSim", "Materials"); | 608 | // if (part.DynAttrs.ContainsStore("OpenSim", "Materials")) |
609 | if (materialsStore == null) | 609 | // { |
610 | return; | 610 | // OSDMap materialsStore = part.DynAttrs.GetStore("OpenSim", "Materials"); |
611 | 611 | // if (materialsStore == null) | |
612 | materialsStore.TryGetValue("Materials", out osdMaterials); | 612 | // return; |
613 | } | 613 | // |
614 | 614 | // materialsStore.TryGetValue("Materials", out osdMaterials); | |
615 | if (osdMaterials != null) | 615 | // } |
616 | { | 616 | // |
617 | //m_log.Info("[UUID Gatherer]: found Materials: " + OSDParser.SerializeJsonString(osd)); | 617 | // if (osdMaterials != null) |
618 | 618 | // { | |
619 | if (osdMaterials is OSDArray) | 619 | // //m_log.Info("[UUID Gatherer]: found Materials: " + OSDParser.SerializeJsonString(osd)); |
620 | { | 620 | // |
621 | OSDArray matsArr = osdMaterials as OSDArray; | 621 | // if (osdMaterials is OSDArray) |
622 | foreach (OSDMap matMap in matsArr) | 622 | // { |
623 | { | 623 | // OSDArray matsArr = osdMaterials as OSDArray; |
624 | try | 624 | // foreach (OSDMap matMap in matsArr) |
625 | { | 625 | // { |
626 | if (matMap.ContainsKey("Material")) | 626 | // try |
627 | { | 627 | // { |
628 | OSDMap mat = matMap["Material"] as OSDMap; | 628 | // if (matMap.ContainsKey("Material")) |
629 | if (mat.ContainsKey("NormMap")) | 629 | // { |
630 | { | 630 | // OSDMap mat = matMap["Material"] as OSDMap; |
631 | UUID normalMapId = mat["NormMap"].AsUUID(); | 631 | // if (mat.ContainsKey("NormMap")) |
632 | if (normalMapId != UUID.Zero) | 632 | // { |
633 | { | 633 | // UUID normalMapId = mat["NormMap"].AsUUID(); |
634 | assetUuids[normalMapId] = AssetType.Texture; | 634 | // if (normalMapId != UUID.Zero) |
635 | //m_log.Info("[UUID Gatherer]: found normal map ID: " + normalMapId.ToString()); | 635 | // { |
636 | } | 636 | // assetUuids[normalMapId] = AssetType.Texture; |
637 | } | 637 | // //m_log.Info("[UUID Gatherer]: found normal map ID: " + normalMapId.ToString()); |
638 | if (mat.ContainsKey("SpecMap")) | 638 | // } |
639 | { | 639 | // } |
640 | UUID specularMapId = mat["SpecMap"].AsUUID(); | 640 | // if (mat.ContainsKey("SpecMap")) |
641 | if (specularMapId != UUID.Zero) | 641 | // { |
642 | { | 642 | // UUID specularMapId = mat["SpecMap"].AsUUID(); |
643 | assetUuids[specularMapId] = AssetType.Texture; | 643 | // if (specularMapId != UUID.Zero) |
644 | //m_log.Info("[UUID Gatherer]: found specular map ID: " + specularMapId.ToString()); | 644 | // { |
645 | } | 645 | // assetUuids[specularMapId] = AssetType.Texture; |
646 | } | 646 | // //m_log.Info("[UUID Gatherer]: found specular map ID: " + specularMapId.ToString()); |
647 | } | 647 | // } |
648 | 648 | // } | |
649 | } | 649 | // } |
650 | catch (Exception e) | 650 | // |
651 | { | 651 | // } |
652 | m_log.Warn("[MaterialsDemoModule]: exception getting materials: " + e.Message); | 652 | // catch (Exception e) |
653 | } | 653 | // { |
654 | } | 654 | // m_log.Warn("[MaterialsDemoModule]: exception getting materials: " + e.Message); |
655 | } | 655 | // } |
656 | } | 656 | // } |
657 | } | 657 | // } |
658 | } | 658 | // } |
659 | // } | ||
660 | // } | ||
659 | } | 661 | } |
660 | } \ No newline at end of file | 662 | } \ No newline at end of file |