diff options
author | Justin Clark-Casey (justincc) | 2013-01-18 23:22:02 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2013-01-25 23:52:25 +0000 |
commit | 10b3c6b5aacb27d40bca803dffa2d2384091ff9a (patch) | |
tree | f519a9d51e41b2eac01264f79dff918ef0d2a623 /OpenSim/Region | |
parent | Add utility function to clamp a vector to a maximum magnitude. (diff) | |
download | opensim-SC_OLD-10b3c6b5aacb27d40bca803dffa2d2384091ff9a.zip opensim-SC_OLD-10b3c6b5aacb27d40bca803dffa2d2384091ff9a.tar.gz opensim-SC_OLD-10b3c6b5aacb27d40bca803dffa2d2384091ff9a.tar.bz2 opensim-SC_OLD-10b3c6b5aacb27d40bca803dffa2d2384091ff9a.tar.xz |
Add "debug set set animations true|false" region console command.
Setting this logs extra information about animation add/remove, such as uuid and animation name
Unfortunately cannot be done per client yet
Diffstat (limited to 'OpenSim/Region')
4 files changed, 48 insertions, 24 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs index 5b16b67..8bd3cf9 100644 --- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs +++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs | |||
@@ -86,7 +86,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
86 | if (m_scenePresence.IsChildAgent) | 86 | if (m_scenePresence.IsChildAgent) |
87 | return; | 87 | return; |
88 | 88 | ||
89 | // m_log.DebugFormat("[SCENE PRESENCE ANIMATOR]: Adding animation {0} for {1}", animID, m_scenePresence.Name); | 89 | if (m_scenePresence.Scene.DebugAnimations) |
90 | m_log.DebugFormat( | ||
91 | "[SCENE PRESENCE ANIMATOR]: Adding animation {0} {1} for {2}", | ||
92 | GetAnimName(animID), animID, m_scenePresence.Name); | ||
90 | 93 | ||
91 | if (m_animations.Add(animID, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, objectID)) | 94 | if (m_animations.Add(animID, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, objectID)) |
92 | SendAnimPack(); | 95 | SendAnimPack(); |
@@ -114,7 +117,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
114 | if (m_scenePresence.IsChildAgent) | 117 | if (m_scenePresence.IsChildAgent) |
115 | return; | 118 | return; |
116 | 119 | ||
117 | // m_log.DebugFormat("[SCENE PRESENCE ANIMATOR]: Removing animation {0} for {1}", animID, m_scenePresence.Name); | 120 | if (m_scenePresence.Scene.DebugAnimations) |
121 | m_log.DebugFormat( | ||
122 | "[SCENE PRESENCE ANIMATOR]: Removing animation {0} {1} for {2}", | ||
123 | GetAnimName(animID), animID, m_scenePresence.Name); | ||
118 | 124 | ||
119 | if (m_animations.Remove(animID)) | 125 | if (m_animations.Remove(animID)) |
120 | SendAnimPack(); | 126 | SendAnimPack(); |
@@ -137,9 +143,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
137 | 143 | ||
138 | public void ResetAnimations() | 144 | public void ResetAnimations() |
139 | { | 145 | { |
140 | // m_log.DebugFormat( | 146 | if (m_scenePresence.Scene.DebugAnimations) |
141 | // "[SCENE PRESENCE ANIMATOR]: Resetting animations for {0} in {1}", | 147 | m_log.DebugFormat( |
142 | // m_scenePresence.Name, m_scenePresence.Scene.RegionInfo.RegionName); | 148 | "[SCENE PRESENCE ANIMATOR]: Resetting animations for {0} in {1}", |
149 | m_scenePresence.Name, m_scenePresence.Scene.RegionInfo.RegionName); | ||
143 | 150 | ||
144 | m_animations.Clear(); | 151 | m_animations.Clear(); |
145 | } | 152 | } |
@@ -550,5 +557,21 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
550 | 557 | ||
551 | SendAnimPack(animIDs, sequenceNums, objectIDs); | 558 | SendAnimPack(animIDs, sequenceNums, objectIDs); |
552 | } | 559 | } |
560 | |||
561 | public string GetAnimName(UUID animId) | ||
562 | { | ||
563 | string animName; | ||
564 | |||
565 | if (!DefaultAvatarAnimations.AnimsNames.TryGetValue(animId, out animName)) | ||
566 | { | ||
567 | AssetMetadata amd = m_scenePresence.Scene.AssetService.GetMetadata(animId.ToString()); | ||
568 | if (amd != null) | ||
569 | animName = amd.Name; | ||
570 | else | ||
571 | animName = "Unknown"; | ||
572 | } | ||
573 | |||
574 | return animName; | ||
575 | } | ||
553 | } | 576 | } |
554 | } | 577 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 0c8aa6c..f87d469 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -68,6 +68,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
68 | public bool EmergencyMonitoring = false; | 68 | public bool EmergencyMonitoring = false; |
69 | 69 | ||
70 | /// <summary> | 70 | /// <summary> |
71 | /// Show debug information about animations. | ||
72 | /// </summary> | ||
73 | public bool DebugAnimations { get; set; } | ||
74 | |||
75 | /// <summary> | ||
71 | /// Show debug information about teleports. | 76 | /// Show debug information about teleports. |
72 | /// </summary> | 77 | /// </summary> |
73 | public bool DebugTeleporting { get; set; } | 78 | public bool DebugTeleporting { get; set; } |
diff --git a/OpenSim/Region/OptionalModules/Avatar/Animations/AnimationsCommandModule.cs b/OpenSim/Region/OptionalModules/Avatar/Animations/AnimationsCommandModule.cs index e951d9e..84211a9 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Animations/AnimationsCommandModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Animations/AnimationsCommandModule.cs | |||
@@ -161,12 +161,13 @@ namespace OpenSim.Region.OptionalModules.Avatar.Animations | |||
161 | UUID defaultAnimId = anims.DefaultAnimation.AnimID; | 161 | UUID defaultAnimId = anims.DefaultAnimation.AnimID; |
162 | cdl.AddRow( | 162 | cdl.AddRow( |
163 | "Default anim", | 163 | "Default anim", |
164 | string.Format("{0}, {1}", defaultAnimId, GetAnimName(sp.Scene.AssetService, defaultAnimId))); | 164 | string.Format("{0}, {1}", defaultAnimId, sp.Animator.GetAnimName(defaultAnimId))); |
165 | 165 | ||
166 | UUID implicitDefaultAnimId = anims.ImplicitDefaultAnimation.AnimID; | 166 | UUID implicitDefaultAnimId = anims.ImplicitDefaultAnimation.AnimID; |
167 | cdl.AddRow( | 167 | cdl.AddRow( |
168 | "Implicit default anim", | 168 | "Implicit default anim", |
169 | string.Format("{0}, {1}", implicitDefaultAnimId, GetAnimName(sp.Scene.AssetService, implicitDefaultAnimId))); | 169 | string.Format("{0}, {1}", |
170 | implicitDefaultAnimId, sp.Animator.GetAnimName(implicitDefaultAnimId))); | ||
170 | 171 | ||
171 | cdl.AddToStringBuilder(sb); | 172 | cdl.AddToStringBuilder(sb); |
172 | 173 | ||
@@ -185,7 +186,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Animations | |||
185 | for (int i = 0; i < animIds.Length; i++) | 186 | for (int i = 0; i < animIds.Length; i++) |
186 | { | 187 | { |
187 | UUID animId = animIds[i]; | 188 | UUID animId = animIds[i]; |
188 | string animName = GetAnimName(sp.Scene.AssetService, animId); | 189 | string animName = sp.Animator.GetAnimName(animId); |
189 | int seq = sequenceNumbers[i]; | 190 | int seq = sequenceNumbers[i]; |
190 | UUID objectId = objectIds[i]; | 191 | UUID objectId = objectIds[i]; |
191 | 192 | ||
@@ -195,21 +196,5 @@ namespace OpenSim.Region.OptionalModules.Avatar.Animations | |||
195 | cdt.AddToStringBuilder(sb); | 196 | cdt.AddToStringBuilder(sb); |
196 | sb.Append("\n"); | 197 | sb.Append("\n"); |
197 | } | 198 | } |
198 | |||
199 | private string GetAnimName(IAssetService assetService, UUID animId) | ||
200 | { | ||
201 | string animName; | ||
202 | |||
203 | if (!DefaultAvatarAnimations.AnimsNames.TryGetValue(animId, out animName)) | ||
204 | { | ||
205 | AssetMetadata amd = assetService.GetMetadata(animId.ToString()); | ||
206 | if (amd != null) | ||
207 | animName = amd.Name; | ||
208 | else | ||
209 | animName = "Unknown"; | ||
210 | } | ||
211 | |||
212 | return animName; | ||
213 | } | ||
214 | } | 199 | } |
215 | } \ No newline at end of file | 200 | } \ No newline at end of file |
diff --git a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs index 8b8758e..521141a 100644 --- a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs +++ b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs | |||
@@ -94,6 +94,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments | |||
94 | "debug scene get", | 94 | "debug scene get", |
95 | "List current scene options.", | 95 | "List current scene options.", |
96 | "If active is false then main scene update and maintenance loops are suspended.\n" | 96 | "If active is false then main scene update and maintenance loops are suspended.\n" |
97 | + "If animations is true then extra animations debug information is logged.\n" | ||
97 | + "If collisions is false then collisions with other objects are turned off.\n" | 98 | + "If collisions is false then collisions with other objects are turned off.\n" |
98 | + "If pbackup is false then periodic scene backup is turned off.\n" | 99 | + "If pbackup is false then periodic scene backup is turned off.\n" |
99 | + "If physics is false then all physics objects are non-physical.\n" | 100 | + "If physics is false then all physics objects are non-physical.\n" |
@@ -107,6 +108,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments | |||
107 | "debug scene set active|collisions|pbackup|physics|scripting|teleport|updates true|false", | 108 | "debug scene set active|collisions|pbackup|physics|scripting|teleport|updates true|false", |
108 | "Turn on scene debugging options.", | 109 | "Turn on scene debugging options.", |
109 | "If active is false then main scene update and maintenance loops are suspended.\n" | 110 | "If active is false then main scene update and maintenance loops are suspended.\n" |
111 | + "If animations is true then extra animations debug information is logged.\n" | ||
110 | + "If collisions is false then collisions with other objects are turned off.\n" | 112 | + "If collisions is false then collisions with other objects are turned off.\n" |
111 | + "If pbackup is false then periodic scene backup is turned off.\n" | 113 | + "If pbackup is false then periodic scene backup is turned off.\n" |
112 | + "If physics is false then all physics objects are non-physical.\n" | 114 | + "If physics is false then all physics objects are non-physical.\n" |
@@ -135,6 +137,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments | |||
135 | { | 137 | { |
136 | ConsoleDisplayList cdl = new ConsoleDisplayList(); | 138 | ConsoleDisplayList cdl = new ConsoleDisplayList(); |
137 | cdl.AddRow("active", m_scene.Active); | 139 | cdl.AddRow("active", m_scene.Active); |
140 | cdl.AddRow("animations", m_scene.DebugAnimations); | ||
138 | cdl.AddRow("pbackup", m_scene.PeriodicBackup); | 141 | cdl.AddRow("pbackup", m_scene.PeriodicBackup); |
139 | cdl.AddRow("physics", m_scene.PhysicsEnabled); | 142 | cdl.AddRow("physics", m_scene.PhysicsEnabled); |
140 | cdl.AddRow("scripting", m_scene.ScriptsEnabled); | 143 | cdl.AddRow("scripting", m_scene.ScriptsEnabled); |
@@ -178,6 +181,14 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments | |||
178 | m_scene.Active = active; | 181 | m_scene.Active = active; |
179 | } | 182 | } |
180 | 183 | ||
184 | if (options.ContainsKey("animations")) | ||
185 | { | ||
186 | bool active; | ||
187 | |||
188 | if (bool.TryParse(options["animations"], out active)) | ||
189 | m_scene.DebugAnimations = active; | ||
190 | } | ||
191 | |||
181 | if (options.ContainsKey("pbackup")) | 192 | if (options.ContainsKey("pbackup")) |
182 | { | 193 | { |
183 | bool active; | 194 | bool active; |