aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/Scene.cs
diff options
context:
space:
mode:
authorMW2007-09-06 14:15:16 +0000
committerMW2007-09-06 14:15:16 +0000
commit804e87861b95f08590cff8a84a4b9955f1750452 (patch)
tree2a9c6fcdf1ae6236f495f8f8012ae069c1011f5f /OpenSim/Region/Environment/Scenes/Scene.cs
parentfixed mantis bug 375 (copy broken with physics/ODE enabled) (diff)
downloadopensim-SC_OLD-804e87861b95f08590cff8a84a4b9955f1750452.zip
opensim-SC_OLD-804e87861b95f08590cff8a84a4b9955f1750452.tar.gz
opensim-SC_OLD-804e87861b95f08590cff8a84a4b9955f1750452.tar.bz2
opensim-SC_OLD-804e87861b95f08590cff8a84a4b9955f1750452.tar.xz
added experimental method of trying to relieve missing prim problem (by adding a limit of the number of prim update packets sent in each update loop).
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/Scene.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs26
1 files changed, 17 insertions, 9 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 4e87032..4151074 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -928,13 +928,14 @@ namespace OpenSim.Region.Environment.Scenes
928 } 928 }
929 } 929 }
930 930
931 public void SendAllSceneObjectsToClient(IClientAPI client) 931 public void SendAllSceneObjectsToClient(ScenePresence presence)
932 { 932 {
933 foreach (EntityBase ent in Entities.Values) 933 foreach (EntityBase ent in Entities.Values)
934 { 934 {
935 if (ent is SceneObjectGroup) 935 if (ent is SceneObjectGroup)
936 { 936 {
937 ((SceneObjectGroup)ent).SendFullUpdateToClient(client); 937 // ((SceneObjectGroup)ent).SendFullUpdateToClient(client);
938 ((SceneObjectGroup)ent).ScheduleFullUpdateToAvatar(presence);
938 } 939 }
939 } 940 }
940 } 941 }
@@ -1229,6 +1230,17 @@ namespace OpenSim.Region.Environment.Scenes
1229 } 1230 }
1230 #endregion 1231 #endregion
1231 1232
1233 private void forceClientUpdate()
1234 {
1235 foreach (EntityBase ent in this.Entities.Values)
1236 {
1237 if (ent is SceneObjectGroup)
1238 {
1239 ((SceneObjectGroup)ent).ScheduleGroupForFullUpdate();
1240 }
1241 }
1242 }
1243
1232 public void ProcessConsoleCmd(string command, string[] cmdparams) 1244 public void ProcessConsoleCmd(string command, string[] cmdparams)
1233 { 1245 {
1234 switch (command) 1246 switch (command)
@@ -1243,12 +1255,14 @@ namespace OpenSim.Region.Environment.Scenes
1243 MainLog.Instance.Error("show users - show info about connected users in the current region."); 1255 MainLog.Instance.Error("show users - show info about connected users in the current region.");
1244 MainLog.Instance.Error("shutdown - disconnect all clients and shutdown."); 1256 MainLog.Instance.Error("shutdown - disconnect all clients and shutdown.");
1245 break; 1257 break;
1258
1246 case "show": 1259 case "show":
1247 if (cmdparams.Length > 0) 1260 if (cmdparams.Length > 0)
1248 { 1261 {
1249 Show(cmdparams[0]); 1262 Show(cmdparams[0]);
1250 } 1263 }
1251 break; 1264 break;
1265
1252 case "save-xml": 1266 case "save-xml":
1253 if (cmdparams.Length > 0) 1267 if (cmdparams.Length > 0)
1254 { 1268 {
@@ -1277,13 +1291,7 @@ namespace OpenSim.Region.Environment.Scenes
1277 1291
1278 case "force-update": 1292 case "force-update":
1279 Console.WriteLine("Updating all clients"); 1293 Console.WriteLine("Updating all clients");
1280 foreach(EntityBase ent in this.Entities.Values) 1294 this.forceClientUpdate();
1281 {
1282 if (ent is SceneObjectGroup)
1283 {
1284 ((SceneObjectGroup)ent).ScheduleGroupForFullUpdate();
1285 }
1286 }
1287 break; 1295 break;
1288 1296
1289 case "backup": 1297 case "backup":