diff options
Diffstat (limited to 'OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs')
-rw-r--r-- | OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs | 114 |
1 files changed, 59 insertions, 55 deletions
diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index 01de21c..fe8d962 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors | 2 | * Copyright (c) Contributors |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
5 | * Redistribution and use in source and binary forms, with or without | 5 | * Redistribution and use in source and binary forms, with or without |
@@ -83,7 +83,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
83 | // ----------------------------------------------------------------- | 83 | // ----------------------------------------------------------------- |
84 | public void Initialise(IConfigSource config) | 84 | public void Initialise(IConfigSource config) |
85 | { | 85 | { |
86 | try | 86 | try |
87 | { | 87 | { |
88 | if ((m_config = config.Configs["JsonStore"]) == null) | 88 | if ((m_config = config.Configs["JsonStore"]) == null) |
89 | { | 89 | { |
@@ -166,7 +166,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
166 | 166 | ||
167 | // ----------------------------------------------------------------- | 167 | // ----------------------------------------------------------------- |
168 | /// <summary> | 168 | /// <summary> |
169 | /// Called when all modules have been added for a region. This is | 169 | /// Called when all modules have been added for a region. This is |
170 | /// where we hook up events | 170 | /// where we hook up events |
171 | /// </summary> | 171 | /// </summary> |
172 | // ----------------------------------------------------------------- | 172 | // ----------------------------------------------------------------- |
@@ -251,7 +251,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
251 | #region ScriptInvocationInteface | 251 | #region ScriptInvocationInteface |
252 | // ----------------------------------------------------------------- | 252 | // ----------------------------------------------------------------- |
253 | /// <summary> | 253 | /// <summary> |
254 | /// | 254 | /// |
255 | /// </summary> | 255 | /// </summary> |
256 | // ----------------------------------------------------------------- | 256 | // ----------------------------------------------------------------- |
257 | [ScriptInvocation] | 257 | [ScriptInvocation] |
@@ -260,13 +260,13 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
260 | UUID uuid = UUID.Zero; | 260 | UUID uuid = UUID.Zero; |
261 | if (! m_store.AttachObjectStore(hostID)) | 261 | if (! m_store.AttachObjectStore(hostID)) |
262 | GenerateRuntimeError("Failed to create Json store"); | 262 | GenerateRuntimeError("Failed to create Json store"); |
263 | 263 | ||
264 | return hostID; | 264 | return hostID; |
265 | } | 265 | } |
266 | 266 | ||
267 | // ----------------------------------------------------------------- | 267 | // ----------------------------------------------------------------- |
268 | /// <summary> | 268 | /// <summary> |
269 | /// | 269 | /// |
270 | /// </summary> | 270 | /// </summary> |
271 | // ----------------------------------------------------------------- | 271 | // ----------------------------------------------------------------- |
272 | [ScriptInvocation] | 272 | [ScriptInvocation] |
@@ -275,12 +275,12 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
275 | UUID uuid = UUID.Zero; | 275 | UUID uuid = UUID.Zero; |
276 | if (! m_store.CreateStore(value, ref uuid)) | 276 | if (! m_store.CreateStore(value, ref uuid)) |
277 | GenerateRuntimeError("Failed to create Json store"); | 277 | GenerateRuntimeError("Failed to create Json store"); |
278 | 278 | ||
279 | lock (m_scriptStores) | 279 | lock (m_scriptStores) |
280 | { | 280 | { |
281 | if (! m_scriptStores.ContainsKey(scriptID)) | 281 | if (! m_scriptStores.ContainsKey(scriptID)) |
282 | m_scriptStores[scriptID] = new HashSet<UUID>(); | 282 | m_scriptStores[scriptID] = new HashSet<UUID>(); |
283 | 283 | ||
284 | m_scriptStores[scriptID].Add(uuid); | 284 | m_scriptStores[scriptID].Add(uuid); |
285 | } | 285 | } |
286 | return uuid; | 286 | return uuid; |
@@ -288,7 +288,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
288 | 288 | ||
289 | // ----------------------------------------------------------------- | 289 | // ----------------------------------------------------------------- |
290 | /// <summary> | 290 | /// <summary> |
291 | /// | 291 | /// |
292 | /// </summary> | 292 | /// </summary> |
293 | // ----------------------------------------------------------------- | 293 | // ----------------------------------------------------------------- |
294 | [ScriptInvocation] | 294 | [ScriptInvocation] |
@@ -305,7 +305,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
305 | 305 | ||
306 | // ----------------------------------------------------------------- | 306 | // ----------------------------------------------------------------- |
307 | /// <summary> | 307 | /// <summary> |
308 | /// | 308 | /// |
309 | /// </summary> | 309 | /// </summary> |
310 | // ----------------------------------------------------------------- | 310 | // ----------------------------------------------------------------- |
311 | [ScriptInvocation] | 311 | [ScriptInvocation] |
@@ -316,7 +316,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
316 | 316 | ||
317 | // ----------------------------------------------------------------- | 317 | // ----------------------------------------------------------------- |
318 | /// <summary> | 318 | /// <summary> |
319 | /// | 319 | /// |
320 | /// </summary> | 320 | /// </summary> |
321 | // ----------------------------------------------------------------- | 321 | // ----------------------------------------------------------------- |
322 | [ScriptInvocation] | 322 | [ScriptInvocation] |
@@ -330,7 +330,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
330 | 330 | ||
331 | // ----------------------------------------------------------------- | 331 | // ----------------------------------------------------------------- |
332 | /// <summary> | 332 | /// <summary> |
333 | /// | 333 | /// |
334 | /// </summary> | 334 | /// </summary> |
335 | // ----------------------------------------------------------------- | 335 | // ----------------------------------------------------------------- |
336 | [ScriptInvocation] | 336 | [ScriptInvocation] |
@@ -341,10 +341,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
341 | o => DoJsonReadNotecard(reqID, hostID, scriptID, storeID, path, notecardIdentifier), null, "JsonStoreScriptModule.JsonReadNotecard"); | 341 | o => DoJsonReadNotecard(reqID, hostID, scriptID, storeID, path, notecardIdentifier), null, "JsonStoreScriptModule.JsonReadNotecard"); |
342 | return reqID; | 342 | return reqID; |
343 | } | 343 | } |
344 | 344 | ||
345 | // ----------------------------------------------------------------- | 345 | // ----------------------------------------------------------------- |
346 | /// <summary> | 346 | /// <summary> |
347 | /// | 347 | /// |
348 | /// </summary> | 348 | /// </summary> |
349 | // ----------------------------------------------------------------- | 349 | // ----------------------------------------------------------------- |
350 | [ScriptInvocation] | 350 | [ScriptInvocation] |
@@ -358,7 +358,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
358 | 358 | ||
359 | // ----------------------------------------------------------------- | 359 | // ----------------------------------------------------------------- |
360 | /// <summary> | 360 | /// <summary> |
361 | /// | 361 | /// |
362 | /// </summary> | 362 | /// </summary> |
363 | // ----------------------------------------------------------------- | 363 | // ----------------------------------------------------------------- |
364 | [ScriptInvocation] | 364 | [ScriptInvocation] |
@@ -366,7 +366,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
366 | { | 366 | { |
367 | string ipath = ConvertList2Path(pathlist); | 367 | string ipath = ConvertList2Path(pathlist); |
368 | string opath; | 368 | string opath; |
369 | 369 | ||
370 | if (JsonStore.CanonicalPathExpression(ipath,out opath)) | 370 | if (JsonStore.CanonicalPathExpression(ipath,out opath)) |
371 | return opath; | 371 | return opath; |
372 | 372 | ||
@@ -375,10 +375,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
375 | // the entire store | 375 | // the entire store |
376 | return "**INVALID**"; | 376 | return "**INVALID**"; |
377 | } | 377 | } |
378 | 378 | ||
379 | // ----------------------------------------------------------------- | 379 | // ----------------------------------------------------------------- |
380 | /// <summary> | 380 | /// <summary> |
381 | /// | 381 | /// |
382 | /// </summary> | 382 | /// </summary> |
383 | // ----------------------------------------------------------------- | 383 | // ----------------------------------------------------------------- |
384 | [ScriptInvocation] | 384 | [ScriptInvocation] |
@@ -389,7 +389,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
389 | 389 | ||
390 | // ----------------------------------------------------------------- | 390 | // ----------------------------------------------------------------- |
391 | /// <summary> | 391 | /// <summary> |
392 | /// | 392 | /// |
393 | /// </summary> | 393 | /// </summary> |
394 | // ----------------------------------------------------------------- | 394 | // ----------------------------------------------------------------- |
395 | [ScriptInvocation] | 395 | [ScriptInvocation] |
@@ -400,7 +400,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
400 | 400 | ||
401 | // ----------------------------------------------------------------- | 401 | // ----------------------------------------------------------------- |
402 | /// <summary> | 402 | /// <summary> |
403 | /// | 403 | /// |
404 | /// </summary> | 404 | /// </summary> |
405 | // ----------------------------------------------------------------- | 405 | // ----------------------------------------------------------------- |
406 | [ScriptInvocation] | 406 | [ScriptInvocation] |
@@ -417,7 +417,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
417 | 417 | ||
418 | // ----------------------------------------------------------------- | 418 | // ----------------------------------------------------------------- |
419 | /// <summary> | 419 | /// <summary> |
420 | /// | 420 | /// |
421 | /// </summary> | 421 | /// </summary> |
422 | // ----------------------------------------------------------------- | 422 | // ----------------------------------------------------------------- |
423 | [ScriptInvocation] | 423 | [ScriptInvocation] |
@@ -425,10 +425,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
425 | { | 425 | { |
426 | return m_store.RemoveValue(storeID,path) ? 1 : 0; | 426 | return m_store.RemoveValue(storeID,path) ? 1 : 0; |
427 | } | 427 | } |
428 | 428 | ||
429 | // ----------------------------------------------------------------- | 429 | // ----------------------------------------------------------------- |
430 | /// <summary> | 430 | /// <summary> |
431 | /// | 431 | /// |
432 | /// </summary> | 432 | /// </summary> |
433 | // ----------------------------------------------------------------- | 433 | // ----------------------------------------------------------------- |
434 | [ScriptInvocation] | 434 | [ScriptInvocation] |
@@ -436,10 +436,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
436 | { | 436 | { |
437 | return m_store.GetArrayLength(storeID,path); | 437 | return m_store.GetArrayLength(storeID,path); |
438 | } | 438 | } |
439 | 439 | ||
440 | // ----------------------------------------------------------------- | 440 | // ----------------------------------------------------------------- |
441 | /// <summary> | 441 | /// <summary> |
442 | /// | 442 | /// |
443 | /// </summary> | 443 | /// </summary> |
444 | // ----------------------------------------------------------------- | 444 | // ----------------------------------------------------------------- |
445 | [ScriptInvocation] | 445 | [ScriptInvocation] |
@@ -457,10 +457,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
457 | m_store.GetValue(storeID,path,true, out value); | 457 | m_store.GetValue(storeID,path,true, out value); |
458 | return value; | 458 | return value; |
459 | } | 459 | } |
460 | 460 | ||
461 | // ----------------------------------------------------------------- | 461 | // ----------------------------------------------------------------- |
462 | /// <summary> | 462 | /// <summary> |
463 | /// | 463 | /// |
464 | /// </summary> | 464 | /// </summary> |
465 | // ----------------------------------------------------------------- | 465 | // ----------------------------------------------------------------- |
466 | [ScriptInvocation] | 466 | [ScriptInvocation] |
@@ -480,10 +480,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
480 | o => DoJsonTakeValue(scriptID,reqID,storeID,path,true), null, "JsonStoreScriptModule.DoJsonTakeValueJson"); | 480 | o => DoJsonTakeValue(scriptID,reqID,storeID,path,true), null, "JsonStoreScriptModule.DoJsonTakeValueJson"); |
481 | return reqID; | 481 | return reqID; |
482 | } | 482 | } |
483 | 483 | ||
484 | // ----------------------------------------------------------------- | 484 | // ----------------------------------------------------------------- |
485 | /// <summary> | 485 | /// <summary> |
486 | /// | 486 | /// |
487 | /// </summary> | 487 | /// </summary> |
488 | // ----------------------------------------------------------------- | 488 | // ----------------------------------------------------------------- |
489 | [ScriptInvocation] | 489 | [ScriptInvocation] |
@@ -503,12 +503,12 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
503 | o => DoJsonReadValue(scriptID,reqID,storeID,path,true), null, "JsonStoreScriptModule.DoJsonReadValueJson"); | 503 | o => DoJsonReadValue(scriptID,reqID,storeID,path,true), null, "JsonStoreScriptModule.DoJsonReadValueJson"); |
504 | return reqID; | 504 | return reqID; |
505 | } | 505 | } |
506 | 506 | ||
507 | #endregion | 507 | #endregion |
508 | 508 | ||
509 | // ----------------------------------------------------------------- | 509 | // ----------------------------------------------------------------- |
510 | /// <summary> | 510 | /// <summary> |
511 | /// | 511 | /// |
512 | /// </summary> | 512 | /// </summary> |
513 | // ----------------------------------------------------------------- | 513 | // ----------------------------------------------------------------- |
514 | protected void GenerateRuntimeError(string msg) | 514 | protected void GenerateRuntimeError(string msg) |
@@ -516,10 +516,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
516 | m_log.InfoFormat("[JsonStore] runtime error: {0}",msg); | 516 | m_log.InfoFormat("[JsonStore] runtime error: {0}",msg); |
517 | throw new Exception("JsonStore Runtime Error: " + msg); | 517 | throw new Exception("JsonStore Runtime Error: " + msg); |
518 | } | 518 | } |
519 | 519 | ||
520 | // ----------------------------------------------------------------- | 520 | // ----------------------------------------------------------------- |
521 | /// <summary> | 521 | /// <summary> |
522 | /// | 522 | /// |
523 | /// </summary> | 523 | /// </summary> |
524 | // ----------------------------------------------------------------- | 524 | // ----------------------------------------------------------------- |
525 | protected void DispatchValue(UUID scriptID, UUID reqID, string value) | 525 | protected void DispatchValue(UUID scriptID, UUID reqID, string value) |
@@ -529,7 +529,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
529 | 529 | ||
530 | // ----------------------------------------------------------------- | 530 | // ----------------------------------------------------------------- |
531 | /// <summary> | 531 | /// <summary> |
532 | /// | 532 | /// |
533 | /// </summary> | 533 | /// </summary> |
534 | // ----------------------------------------------------------------- | 534 | // ----------------------------------------------------------------- |
535 | private void DoJsonTakeValue(UUID scriptID, UUID reqID, UUID storeID, string path, bool useJson) | 535 | private void DoJsonTakeValue(UUID scriptID, UUID reqID, UUID storeID, string path, bool useJson) |
@@ -543,14 +543,14 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
543 | { | 543 | { |
544 | m_log.InfoFormat("[JsonStoreScripts]: unable to retrieve value; {0}",e.ToString()); | 544 | m_log.InfoFormat("[JsonStoreScripts]: unable to retrieve value; {0}",e.ToString()); |
545 | } | 545 | } |
546 | 546 | ||
547 | DispatchValue(scriptID,reqID,String.Empty); | 547 | DispatchValue(scriptID,reqID,String.Empty); |
548 | } | 548 | } |
549 | 549 | ||
550 | 550 | ||
551 | // ----------------------------------------------------------------- | 551 | // ----------------------------------------------------------------- |
552 | /// <summary> | 552 | /// <summary> |
553 | /// | 553 | /// |
554 | /// </summary> | 554 | /// </summary> |
555 | // ----------------------------------------------------------------- | 555 | // ----------------------------------------------------------------- |
556 | private void DoJsonReadValue(UUID scriptID, UUID reqID, UUID storeID, string path, bool useJson) | 556 | private void DoJsonReadValue(UUID scriptID, UUID reqID, UUID storeID, string path, bool useJson) |
@@ -564,13 +564,13 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
564 | { | 564 | { |
565 | m_log.InfoFormat("[JsonStoreScripts]: unable to retrieve value; {0}",e.ToString()); | 565 | m_log.InfoFormat("[JsonStoreScripts]: unable to retrieve value; {0}",e.ToString()); |
566 | } | 566 | } |
567 | 567 | ||
568 | DispatchValue(scriptID,reqID,String.Empty); | 568 | DispatchValue(scriptID,reqID,String.Empty); |
569 | } | 569 | } |
570 | 570 | ||
571 | // ----------------------------------------------------------------- | 571 | // ----------------------------------------------------------------- |
572 | /// <summary> | 572 | /// <summary> |
573 | /// | 573 | /// |
574 | /// </summary> | 574 | /// </summary> |
575 | // ----------------------------------------------------------------- | 575 | // ----------------------------------------------------------------- |
576 | private void DoJsonReadNotecard( | 576 | private void DoJsonReadNotecard( |
@@ -580,7 +580,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
580 | 580 | ||
581 | if (!UUID.TryParse(notecardIdentifier, out assetID)) | 581 | if (!UUID.TryParse(notecardIdentifier, out assetID)) |
582 | { | 582 | { |
583 | SceneObjectPart part = m_scene.GetSceneObjectPart(hostID); | 583 | SceneObjectPart part = m_scene.GetSceneObjectPart(hostID); |
584 | assetID = ScriptUtils.GetAssetIdFromItemName(part, notecardIdentifier, (int)AssetType.Notecard); | 584 | assetID = ScriptUtils.GetAssetIdFromItemName(part, notecardIdentifier, (int)AssetType.Notecard); |
585 | } | 585 | } |
586 | 586 | ||
@@ -590,10 +590,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
590 | 590 | ||
591 | if (a.Type != (sbyte)AssetType.Notecard) | 591 | if (a.Type != (sbyte)AssetType.Notecard) |
592 | GenerateRuntimeError(String.Format("Invalid notecard asset {0}", assetID)); | 592 | GenerateRuntimeError(String.Format("Invalid notecard asset {0}", assetID)); |
593 | 593 | ||
594 | m_log.DebugFormat("[JsonStoreScripts]: read notecard in context {0}",storeID); | 594 | m_log.DebugFormat("[JsonStoreScripts]: read notecard in context {0}",storeID); |
595 | 595 | ||
596 | try | 596 | try |
597 | { | 597 | { |
598 | string jsondata = SLUtil.ParseNotecardToString(a.Data); | 598 | string jsondata = SLUtil.ParseNotecardToString(a.Data); |
599 | int result = m_store.SetValue(storeID, path, jsondata,true) ? 1 : 0; | 599 | int result = m_store.SetValue(storeID, path, jsondata,true) ? 1 : 0; |
@@ -612,10 +612,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
612 | GenerateRuntimeError(String.Format("Json parsing failed for {0}", assetID)); | 612 | GenerateRuntimeError(String.Format("Json parsing failed for {0}", assetID)); |
613 | m_comms.DispatchReply(scriptID, 0, "", reqID.ToString()); | 613 | m_comms.DispatchReply(scriptID, 0, "", reqID.ToString()); |
614 | } | 614 | } |
615 | 615 | ||
616 | // ----------------------------------------------------------------- | 616 | // ----------------------------------------------------------------- |
617 | /// <summary> | 617 | /// <summary> |
618 | /// | 618 | /// |
619 | /// </summary> | 619 | /// </summary> |
620 | // ----------------------------------------------------------------- | 620 | // ----------------------------------------------------------------- |
621 | private void DoJsonWriteNotecard(UUID reqID, UUID hostID, UUID scriptID, UUID storeID, string path, string name) | 621 | private void DoJsonWriteNotecard(UUID reqID, UUID hostID, UUID scriptID, UUID storeID, string path, string name) |
@@ -626,9 +626,9 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
626 | m_comms.DispatchReply(scriptID,0,UUID.Zero.ToString(),reqID.ToString()); | 626 | m_comms.DispatchReply(scriptID,0,UUID.Zero.ToString(),reqID.ToString()); |
627 | return; | 627 | return; |
628 | } | 628 | } |
629 | 629 | ||
630 | SceneObjectPart host = m_scene.GetSceneObjectPart(hostID); | 630 | SceneObjectPart host = m_scene.GetSceneObjectPart(hostID); |
631 | 631 | ||
632 | // Create new asset | 632 | // Create new asset |
633 | UUID assetID = UUID.Random(); | 633 | UUID assetID = UUID.Random(); |
634 | AssetBase asset = new AssetBase(assetID, name, (sbyte)AssetType.Notecard, host.OwnerID.ToString()); | 634 | AssetBase asset = new AssetBase(assetID, name, (sbyte)AssetType.Notecard, host.OwnerID.ToString()); |
@@ -665,7 +665,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
665 | taskItem.AssetID = asset.FullID; | 665 | taskItem.AssetID = asset.FullID; |
666 | 666 | ||
667 | host.Inventory.AddInventoryItem(taskItem, false); | 667 | host.Inventory.AddInventoryItem(taskItem, false); |
668 | 668 | host.ParentGroup.InvalidateEffectivePerms(); | |
669 | m_comms.DispatchReply(scriptID,1,assetID.ToString(),reqID.ToString()); | 669 | m_comms.DispatchReply(scriptID,1,assetID.ToString(),reqID.ToString()); |
670 | } | 670 | } |
671 | 671 | ||
@@ -681,7 +681,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
681 | for (int i = 0; i < pathlist.Length; i++) | 681 | for (int i = 0; i < pathlist.Length; i++) |
682 | { | 682 | { |
683 | string token = ""; | 683 | string token = ""; |
684 | 684 | ||
685 | if (pathlist[i] is string) | 685 | if (pathlist[i] is string) |
686 | { | 686 | { |
687 | token = pathlist[i].ToString(); | 687 | token = pathlist[i].ToString(); |
@@ -699,16 +699,16 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
699 | { | 699 | { |
700 | token = "." + pathlist[i].ToString() + "."; | 700 | token = "." + pathlist[i].ToString() + "."; |
701 | } | 701 | } |
702 | 702 | ||
703 | path += token + "."; | 703 | path += token + "."; |
704 | } | 704 | } |
705 | 705 | ||
706 | return path; | 706 | return path; |
707 | } | 707 | } |
708 | 708 | ||
709 | // ----------------------------------------------------------------- | 709 | // ----------------------------------------------------------------- |
710 | /// <summary> | 710 | /// <summary> |
711 | /// | 711 | /// |
712 | /// </summary> | 712 | /// </summary> |
713 | // ----------------------------------------------------------------- | 713 | // ----------------------------------------------------------------- |
714 | private void DoJsonRezObject(UUID hostID, UUID scriptID, UUID reqID, string name, Vector3 pos, Vector3 vel, Quaternion rot, string param) | 714 | private void DoJsonRezObject(UUID hostID, UUID scriptID, UUID reqID, string name, Vector3 pos, Vector3 vel, Quaternion rot, string param) |
@@ -728,6 +728,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
728 | 728 | ||
729 | // hpos = host.RootPart.GetWorldPosition() | 729 | // hpos = host.RootPart.GetWorldPosition() |
730 | // float dist = (float)llVecDist(hpos, pos); | 730 | // float dist = (float)llVecDist(hpos, pos); |
731 | // if (dist > m_ScriptDistanceFactor * 10.0f) | ||
732 | // return; | ||
731 | 733 | ||
732 | TaskInventoryItem item = host.RootPart.Inventory.GetInventoryItem(name); | 734 | TaskInventoryItem item = host.RootPart.Inventory.GetInventoryItem(name); |
733 | if (item == null) | 735 | if (item == null) |
@@ -744,8 +746,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
744 | 746 | ||
745 | List<SceneObjectGroup> objlist; | 747 | List<SceneObjectGroup> objlist; |
746 | List<Vector3> veclist; | 748 | List<Vector3> veclist; |
747 | 749 | ||
748 | bool success = host.RootPart.Inventory.GetRezReadySceneObjects(item, out objlist, out veclist); | 750 | Vector3 bbox = new Vector3(); |
751 | float offsetHeight; | ||
752 | bool success = host.RootPart.Inventory.GetRezReadySceneObjects(item, out objlist, out veclist, out bbox, out offsetHeight); | ||
749 | if (! success) | 753 | if (! success) |
750 | { | 754 | { |
751 | GenerateRuntimeError("Failed to create object"); | 755 | GenerateRuntimeError("Failed to create object"); |
@@ -779,7 +783,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
779 | group.RootPart.Shape.LastAttachPoint = (byte)group.AttachmentPoint; | 783 | group.RootPart.Shape.LastAttachPoint = (byte)group.AttachmentPoint; |
780 | } | 784 | } |
781 | 785 | ||
782 | group.FromPartID = host.RootPart.UUID; | 786 | group.RezzerID = host.RootPart.UUID; |
783 | m_scene.AddNewSceneObject(group, true, curpos, rot, vel); | 787 | m_scene.AddNewSceneObject(group, true, curpos, rot, vel); |
784 | 788 | ||
785 | UUID storeID = group.UUID; | 789 | UUID storeID = group.UUID; |
@@ -797,7 +801,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
797 | 801 | ||
798 | group.ScheduleGroupForFullUpdate(); | 802 | group.ScheduleGroupForFullUpdate(); |
799 | 803 | ||
800 | // send the reply back to the host object, use the integer param to indicate the number | 804 | // send the reply back to the host object, use the integer param to indicate the number |
801 | // of remaining objects | 805 | // of remaining objects |
802 | m_comms.DispatchReply(scriptID, objlist.Count-i-1, group.RootPart.UUID.ToString(), reqID.ToString()); | 806 | m_comms.DispatchReply(scriptID, objlist.Count-i-1, group.RootPart.UUID.ToString(), reqID.ToString()); |
803 | } | 807 | } |