Commit Graph

1599 Commits (a5bb7b8a300a9dd0aceb3666423f2827a69e1930)

Author SHA1 Message Date
Melanie 27453890d5 Script State Fix: Part 2
Change the reader to wrap old-style definitions in new style wrappers.
Change importer to not check irrelevant data that can't be reconstructed
This removes the last bit of knowledge of XEngine's .state files from core.
2009-12-21 10:26:52 +00:00
Melanie 83d8ba5775 Remove extra checking on the itemID of saved state, since it changes during
rez from inventory.
2009-12-21 06:41:10 +00:00
Melanie f6ef487413 Script State Fix: Step 1
Add Engine=xxx attribute and check for it's presence. Ignore state data
written bby another engine
2009-12-21 06:29:23 +00:00
dahlia 9485f17bf9 random drive-by minor math optimization. No need for concern, bitshed was within acceptable limits 2009-12-15 19:12:24 -08:00
Melanie 0f616d2ffe Prevent OSSL from crashing if the sim was loaded from a remote config and
osGetGridName, osGetGridNick or osGetGridLoginURI is used.
2009-12-15 15:42:51 +00:00
Adam Frisby 87e89efbf9 * Mistaken ThreatLevel classification on osGetSimulatorMemory - should have been MODERATE. 2009-12-13 03:49:22 +11:00
Adam Frisby 963cf25813 * Implements OSSL function: osGetSimulatorMemory - returns the current amount of memory allocated to the simulator process (Moderate Threat Level).
* Cleans redundant information out of the Simulator Version. Versions now look like:
"OpenSimulator 0.6.9(dev) Unix/Mono"
* [Minor] additional log info for MySQLInventoryData
2009-12-13 03:04:16 +11:00
Melanie e3a22ff37d Eliminate multiple updates on link/unlink 2009-12-06 02:53:34 +00:00
Melanie 9fd9211a38 Add some conditionals to references to the WorldComm module, so that the
module can be disabled without crashing the sim
2009-11-28 09:23:26 +00:00
Justin Clark-Casey (justincc) 55a0896918 minor: remove mono compiler warning 2009-11-27 19:28:26 +00:00
Justin Clark-Casey (justincc) 2e47e51475 Make locking of timers and listeners in script related functions consistent
See http://opensimulator.org/mantis/view.php?id=4316
Thanks KittyLiu!
2009-11-27 19:01:45 +00:00
Melanie 3ae3cd0a5b Make llDie virtual, since it's functionality is engine specific 2009-11-27 08:16:47 +00:00
Jeff Lee 9d05962029 Added osGetRegionStats() function, to return a number of sim statistics 2009-11-26 17:43:17 +00:00
Jeff Lee d39c300d11 Added osGetRegionStats() function, to return a number of sim statistics 2009-11-26 17:43:00 +00:00
Melanie c6bfecccaa Fix a small bug. Trusted script crossings now work again 2009-11-26 17:16:22 +00:00
Melanie 41226dc991 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2009-11-26 17:05:48 +00:00
Melanie 9d63f90467 Remove the old (Remoting) region crossing code. Fix the new code to
pass script state and assembly again properly. Reintroduce respecting tht
TrustBinaries flag. Changes the interregion protocol! No version bump
because it was broken anyway, so with a version mismatch it will simply
stay broken, but not crash. Region corssing still doesn't work because
there is still monkey business with both rezzed prims being pushed across
a border and attached prims when walking across a border. Teleport is
untested by may work.
2009-11-26 17:03:09 +00:00
Melanie 88842edc95 Remove GetAssemblyName and friends from the SE interface. It's now handled
internally
2009-11-26 12:08:20 +00:00
Teravus Ovares (Dan Olivares) a5f2803c79 * Re-enable the AbsolutePosition = AbsolutePosition in the LSL_Api in the SetRot method if the object is not active physical. This is important for scripted rotating doors. without AbsolutePosition = AbsolutePosition, the door won't rotate. It's also important that we do not use AbsolutePosition = AbsolutePosition if the object is active physical because that would cause a complete rebuild of the object which would break vehicles. This is the best of both worlds right now. Doors as child prim should work again so long as you don't check the Physical box.
* Thanks talentraspel
* Thanks NixNerd
* Thanks KittoFlora
* Thanks lockd
2009-11-26 01:34:46 -05:00
Melanie 0b380f68d8 Change osTeleportAgent parameters from long to int. That numerical range is
not even supported by the underlying type, so there is no need to ask
for a type the script can not even supply.
2009-11-25 17:02:45 +00:00
Jeff Ames 9f5c2acd12 Formatting cleanup. 2009-11-23 11:26:06 +09:00
Justin Clark-Casey (justincc) 8f0db68424 Fix http://opensimulator.org/mantis/view.php?id=3874 - parenthesis in for statements cause script compile failures
This fixes a problem in OpenSim where statements of the form

for ((i = 0); (i < 10); (++i)) { ... }

do not compile even though they are valid lsl.
2009-11-20 18:39:39 +00:00
Justin Clark-Casey (justincc) 61c76d1810 refactor: move AnimationSet 2009-11-17 15:20:02 +00:00
Justin Clark-Casey (justincc) 1324082b90 refactor: move most animation methods from ScenePresence into a new ScenePresenceAnimator class 2009-11-17 15:05:40 +00:00
Justin Clark-Casey (justincc) fe82471c2b Apply patch http://opensimulator.org/mantis/view.php?id=4369
Adds osGetMapTexture() and osGetRegionMapTexture() methods to retrieve region map texture uuids
2009-11-12 19:42:35 +00:00
Melanie ba99081bbe Add IScriptModuleComms interface and region module to handle dispatch of
script messages to region modules and sending back replies.
Hook IScriptModuleComms.OnScriptCommand to see commands and use
DispatchReply to reply to the script. It is recommended to pass the "id"
parameter from the event as the "k" parameter of the reply.
The script will receive the reply as a link message from link -1.
2009-11-10 03:36:43 +00:00
Melanie 7df7e6a0bb Add modSendCommand function (note, this is a new API module, using the API
extension mechanism, it's not a osFunction!
2009-11-10 01:22:14 +00:00
John Hurliman afef1ac191 Changing the AssetBase constructors to avoid initializing assets with an unknown asset type, and log an error if it ever does happen 2009-11-05 13:10:58 -08:00
John Hurliman ec2ebf2598 Removing EntityBase.Rotation 2009-11-04 16:08:10 -08:00
Melanie 00130841db Remove parallel loading from XEngine, but retain the new design where
all scripts are loaded from the same thread, rather than launching a
new one for each script. This is only marginally slower, but avoids the
race condition that led to script engine failure.
2009-11-03 20:23:50 +00:00
John Hurliman 67ac9881fa Removing duplicate SceneObjectPart.RotationalVelocity property 2009-11-02 11:28:35 -08:00
Diva Canto 58c260140c Patch + minor formatting fixes. 2009-10-31 19:10:33 -07:00
Douglas R. Miles 7f4d646aea http://opensimulator.org/mantis/view.php?id=4337 2009-10-31 19:05:02 -07:00
John Hurliman ec7fd8b1f8 More performance improvements to XEngine script loading 2009-10-29 06:42:40 -07:00
John Hurliman dd13fa361b * Misc. formatting cleanup for the previous patch
* Added the new AppDomainLoading variable to the [XEngine] section in the example config
2009-10-29 05:56:37 -07:00
Dan Lake 33448e4ba8 Optimizations 2009-10-29 05:39:18 -07:00
John Hurliman 2525810e2a Removed the DotNetEngine scripting engine. You will need to create a fresh checkout or clean out all *DotNet*.dll assemblies from the bin/ directory to run OpenSim moving forward 2009-10-27 13:31:04 -07:00
John Hurliman d199767e69 Experimental change of PhysicsVector to Vector3. Untested 2009-10-26 18:23:43 -07:00
unknown 71c929137f Inconsistent locking of SenseRepeaters in Script Engine.
When I attempt to 'save oar' on a region with thousands of scripts with timers, I get a NullReferenceException every time. The problem comes from inconsistent locking in SensorRepeat.cs of the SenseRepeaters List. It is iterated and modified in many places and these places are all wrapped in a lock except in the GetSerializationData(). This is the function throwing the exception because an item in the list becomes null during iteration.

The attached patch locks SenseRepeatListLock in GetSerializationData()
2009-10-23 11:25:06 +01:00
John Hurliman 588361e2a2 Experimental change to use an immutable array for iterating ScenePresences, avoiding locking and copying the list each time it is accessed 2009-10-23 01:02:36 -07:00
John Hurliman b2ed348aa2 Implemented a Watchdog class. Do not manually create Thread objects anymore, use Watchdog.StartThread(). While your thread is running call Watchdog.UpdateThread(). When it is shutting down call Watchdog.RemoveThread(). Most of the threads in OpenSim have been updated 2009-10-22 12:33:23 -07:00
Melanie fc4ff09181 Merge branch 'vehicles' 2009-10-22 17:39:19 +01:00
Snowcrash 84ac0f56f5 Fixing the patch to the patch 2009-10-22 17:36:52 +01:00
Snowcrash 47d8b6c5f5 Fix rounding error in PRIM_SIZE portion of llSetPrimitiveParams 2009-10-22 17:36:49 +01:00
Melanie c4969d47d9 Merge branch 'master' into vehicles 2009-10-22 07:12:10 +01:00
Melanie 624af66c35 Make the LSL scripting delays take full effect. To tune, tweat the
ScriptDelayFactor in config
2009-10-22 05:42:34 +01:00
John Hurliman 2b39ff0a39 Merged master into prioritization 2009-10-21 16:24:17 -07:00
Melanie d88bb83136 Fix llParticleSystem to accept LSL variables and LSL constants in place
of the named constants for the rule selector.
Information provided by Snowcrash
2009-10-21 20:47:24 +01:00
John Hurliman 8151190a45 * Removing ODEPrim and ODECharacter GetHashCode() overrides since they were based on something that could change
* Tweaked a few other GetHashCode() overrides to bring them in line with MSDN recommendations
2009-10-20 10:56:15 -07:00
Snowcrash 182693628c Fix for index error in llList2String 2009-10-20 02:09:24 -07:00
John Hurliman bd03cbd815 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization 2009-10-19 15:19:37 -07:00
Melanie ffd59868f5 Merge branch 'master' into vehicles 2009-10-19 21:58:51 +01:00
Melanie 66923983a7 Add support for display of the script compilation errors in the script editor's
debug pane. This will still use DEBUG_CHANNEL currently, since it is not
fully implemented. This also removes the "Compiled successfully" message
that pops up in the viewer.
2009-10-17 22:36:44 +01:00
John Hurliman 4b75353cbf Object update prioritization by Jim Greensky of Intel Labs, part one. This implements a simple distance prioritizer based on initial agent positions. Re-prioritizing and more advanced priority algorithms will follow soon 2009-10-15 16:35:27 -07:00
Melanie 6deef7d0f3 Merge branch 'master' into vehicles 2009-10-15 21:14:13 +01:00
Melanie 3795cface2 Enable LSL dialogs to display group names properly 2009-10-14 17:39:38 +01:00
Melanie 50f509d600 Merge branch 'master' into vehicles 2009-10-12 15:11:01 +01:00
Justin Clark-Casey (justincc) f1f239758f Apply http://opensimulator.org/mantis/view.php?id=4066
If XEngine compile fails, show script name in error message in-world as well as the exception itself
Thanks Luca Peck
2009-10-09 17:43:25 +01:00
Melanie f6b8bac0fa Merge branch 'master' into vehicles 2009-10-08 10:32:15 +01:00
John Hurliman 25676ac5cf * Added a sanity check for Mono before trying to enumerate over an empty SortedDictionary
* Changed the order of a log line from DotNetEngine so you can tell whether or not it is actually loading
2009-10-06 13:39:10 -07:00
John Hurliman 2519f071f2 Fixing a few compile errors in the previous commit 2009-10-06 02:50:59 -07:00
Melanie 0744292b47 Merge branch 'master' into vehicles 2009-10-05 10:17:23 +01:00
Melanie 6878b26b0d Merge branch 'diva-textures-osgrid' 2009-10-04 05:49:16 +01:00
John Hurliman 387e9f7a7f * Creates Util.UTF8 and switches some references of Encoding.UTF8 to Util.UTF8 (not all references were switched since not all OpenSim libraries reference OpenSim.Framework)
* Shrinks the largest in-memory object, the LLRAW.HeightmapLookupValue struct (only used for exporting to LLRAW terrain files), to the minimum possible size. This seems to have the odd side effect of cutting the size of the two double[256,256] terrain objects in half. Possibly an alignment optimization?
2009-10-02 18:31:08 -07:00
Melanie 46955f4260 Merge branch 'master' into vehicles 2009-10-02 19:04:46 +01:00
dr scofield (aka dirk husemann) 6c068eaf12 reducing script engine log spam 2009-10-02 12:38:13 +02:00
dr scofield (aka dirk husemann) 2107b67f1b - cleaning up LandData/ILandObject capitalization issues
- adding LandDataSerializer to OAR mechanics
2009-10-02 11:31:30 +02:00
Melanie 212e132e79 Revert "* Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity"
This reverts commit 39842eb4af.
2009-10-02 00:47:01 +01:00
Melanie d6301db382 Revert "* Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity"
This reverts commit 39842eb4af.
2009-10-02 00:45:31 +01:00
Melanie 41ff39414b Merge branch 'master' into vehicles 2009-10-01 14:08:15 +01:00
John Hurliman acfe2d9f4e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-09-30 15:28:23 -07:00
Kitto Flora 07df0e0ab0 Merge branch '0.6.7-post-fixes' into vehicles 2009-09-30 19:07:18 +02:00
opensim 827b0fb199 Commit initial version of KittoFlora's vehicle changes 2009-09-30 18:51:02 +02:00
Jeff Ames ee205e7e81 Formatting cleanup. 2009-10-01 01:17:47 +09:00
Alan M Webb a43706862c Given the perverse way that strided works, if
there is only one element in the range, it must
  also coincide with the specified stride. The
  existing code assumes that the stride starts at
  start ( which is the expected and most useful
  behavior).

Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-09-29 15:40:41 +02:00
Jeff Ames f00126dc2d Add copyright header. Formatting cleanup. 2009-09-29 08:32:59 +09:00
Diva Canto 5757afe766 First pass at the heart surgery for grid services. Compiles and runs minimally. A few bugs to catch now. 2009-09-26 07:48:21 -07:00
Teravus Ovares (Dan Olivares) 9c2ffa8f2e * fix endlines in LSL_api.cs 2009-09-23 14:55:22 -04:00
Alan M Webb b7265abfae Added delay loop to give a newly created assembly time to appear. On
Linux (as an example), it is possible for the existence check to fail
because the file is not yet recognized by the file system. Although
the loop has a 250mS delay, in practise, the existence test in the for
loop is successful and no delay is introduced.

Next, this takes care of the two, unpredictable, situations where a
script fails to compile. The first is caused by an occasional SEGV in
the underlying mono VM while mcs is running, the second is caused by
file system latency.

Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-09-23 14:49:34 +02:00
Melanie 97c18caa76 Thank you, Intari, for a patch that implements the missing pieces of
Http-in and makes the host name for URL generation configurable.
Applied with changes:
llGetSimulatorHostname was not changed, because the change breaks
existing behavior and carries a data exposure risk. That value needs
to be configurable, the proposed fixed change is not acceptable.
2009-09-22 17:04:34 +01:00
BlueWall (James Hughes) d835485a1f Updatate llOpenRemoteDataChannel to provide the external hostname configured in the Regions.ini (or xml) to the XmlRpcGridRouterModule 2009-09-19 08:16:10 +01:00
Rob Smart 4f3975f04e addition of a new script function osSetParcelSIPAddress(string SIPAddress), now including iVoiceModule
This patch allows the land owner to dynamically set the SIP address of a particular land parcel from script. This allows predetermined SIP addresses to be used, making it easier to allow non OpenSim users to join a regions voice channel.

Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-09-18 15:47:15 +02:00
John Hurliman 39842eb4af * Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity 2009-09-16 17:17:40 -07:00
Alan M Webb 9cbb865985 This fix allows you to configure a script-to-console-log channel
association. Then, whenever there is an llSay to that channel,
  the message is directed to the OpenSim console log (and NOT
  forwarded to the client). This is a great way to capture scripting
  events to the log. To enable, add ScriptConsoleChannel = -xxx to
  the ScriptEngine parameters in the .ini file. Note that the
  message is written using Console.WriteLine rather than
  the rather more fragile log4net service. The console channel is
  also not subjected to the 1024 character limit imposed on regular
  say traffic.

Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-09-16 17:07:53 +02:00
Alan M Webb 3b1ef2bfd2 This fixes a boundary case error in the strided list
implementation. If the range included only a single item
  an empty list was always returned (has no-one been using
  this function?)

Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-09-16 16:38:29 +02:00
dr scofield (aka dirk husemann) 19c5c8b98d fix to preserve UTF8 encoding in saved script state. 2009-09-14 16:14:59 +02:00
dr scofield (aka dirk husemann) 62358014ed reformatting. 2009-09-09 09:56:07 +02:00
dr scofield (aka dirk husemann) d8a787bd89 fix: unicode notecards not surviving script treatment (fixes #4119 ---
perhaps).
2009-09-09 09:56:07 +02:00
dahlia 665cf0194a llRot2Euler() now returns angles -PI < angle < PI 2009-09-07 18:02:02 -07:00
dahlia 7a67b726d5 random drive-by maths optimization in llRot2Euler() and llEuler2Rot() 2009-09-07 17:12:17 -07:00
Justin Clark-Casey (justincc) 1cc0c94f79 remove warning 2009-09-06 21:15:18 +01:00
Justin Clark-Casey (justincc) 766d775625 remove warning 2009-09-06 20:17:30 +01:00
Melanie e458a87e91 Experimental. Set attachment flag early on rezzing from inventory. 2009-09-01 01:53:54 +01:00
Melanie 9e6684661a Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim 2009-08-31 11:58:49 +01:00
Melanie 090868ff4a Change the return value if the compiler to "object" to allow compilers
to return dynamic method objects
2009-08-31 11:42:54 +01:00
dr scofield (aka dirk husemann) 953581698d - making font name used by VectorRenderModule configurable: can be set
via

      [VectorRender]
      font_name = "Comic Sans MS"

  in OpenSim.ini

- adding osSetFontName OSSL function
2009-08-31 10:30:10 +02:00
Arthur Valadares 3d6edc04a3 Implements osDrawPolygon, similar to already implemented osDrawFilledPolygon 2009-08-28 17:48:03 -03:00
Arthur Valadares efb287f28f Implemented osPenCap, that sets EndCap and StartCap to Pen. This allows using arrow, diamond, round and flat caps.
* Made image request safer, if it can't find an image for any reason, draws a square where the image should be and a message alerting the user.
2009-08-25 10:32:45 -03:00
Arthur Valadares 7923fd29a0 Adds osDrawPolygon to OSSL. Works a little different then other OS Drawing functions, this one has no start and end point, but a number of points that will form the desired polygon. Only FilledPolygon implemented so far.
* Also added some LSL transparent type conversion, as it's done in LSL scripting (string to integer, float to string, etc)
2009-08-21 21:12:22 -03:00
Jeff Ames 158ad39df0 Add copyright header. Formatting cleanup. 2009-08-21 15:47:55 +09:00
Adam Frisby f7c5eca978 * Moves NPC Creation across AppDomains to prevent a major perfomance issue. 2009-08-21 15:12:50 +10:00
Adam Frisby 7ef3e5f41c * Protip: Declare publically accessible functions, as public functions. 2009-08-21 11:43:45 +10:00
Adam Frisby c7e140171e * Addendum to previous 2009-08-21 11:35:19 +10:00
Adam Frisby 01f394d203 * Fleshes more of NPCModule out.
* Implements some OSSL commands:
        key osNpcCreate(string user, string name, vector position, key cloneFrom);
        void osNpcMoveTo(key npc, vector position);
        void osNpcSay(key npc, string message);
        void osNpcRemove(key npc);
* Untested. Requires ThreatLevel.High.
2009-08-21 11:14:55 +10:00
Adam Frisby e83b00a3df * Implements a bunch of stuff in NPCModule 2009-08-21 08:51:43 +10:00
Jeff Lee 32cc00ec7b osGetLinkPrimitiveParams fix 2009-08-18 20:05:27 -07:00
Diva Canto fa8a94577a Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2009-08-17 05:55:38 -07:00
Teravus Ovares (Dan Olivares) 5e391b9f7c * ShortVersion, another attempt at fixing the test thread death that randomly occurs.
* LongVersion nIni may be causing the test thread death.  Pausing OpenSimulator during startup causes a nIni error that makes debugging startup operations difficult for users.  It might be because when it's in pause mode, something else reads from the nini config passed?   If it is, it might not be fixable..   however, if it's concurrency that causes nini death it would make sense to give each section of the tests a new IConfigSource so that they don't read from the same configsource at the same time.
2009-08-16 12:14:49 -04:00
Teravus Ovares (Dan Olivares) 4eeab4097a * minor: comments 2009-08-16 12:10:06 -04:00
Diva Canto 1bbf06405c Changed FromAssetID to FromItemID 2009-08-15 09:36:45 -07:00
Teravus Ovares (Dan Olivares) ddac88da6a * whoops, missing a / 2009-08-15 00:29:34 -04:00
Teravus Ovares (Dan Olivares) 72c2819c53 * Comment out XEngineTest that doesn't appear to test anything. It just creates a scene named 'My Test' which just happens to be the last scene displayed in the nunit log before it goes boom. 2009-08-15 00:22:18 -04:00
Melanie a851b68333 Remove one more sponsor reference 2009-08-14 14:27:56 +01:00
Melanie 7a2a2e68e7 Remove the script sponsor logic because scripts are timing out again.
This needs to be looked into. This commit, unfortunately, reinstates
a memory leak in regions that see significant script fluctuation,
e.g. lots of scripted attachments, or script development.
2009-08-14 14:18:56 +01:00
Melanie 73b0cf492d Add some extra info to script load messages 2009-08-14 01:35:14 +01:00
Melanie eba23048ca Replace the Replaceable modules name 2009-08-10 23:08:22 +01:00
Jeff Ames bc6ec3b564 Formatting cleanup. 2009-08-09 00:43:13 +09:00
Melanie 0b0ed200f6 Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim 2009-08-08 01:43:28 +01:00
Teravus Ovares (Dan Olivares) 2b990a61bf This is the second part of the 'not crash on regionsize changes'. This lets you configure region sizes to be smaller without crashing the region. I remind you that regions are still square, must be a multiple of 4, and the Linden client doesn't like anything other then 256. If you set it bigger or smaller, the terrain doesn't load in the client, the map has issues, and god forbid you connect it to a grid that expects 256m regions. 2009-08-07 20:31:48 -04:00
Melanie 0d2167b6db Update threat level description 2009-08-08 00:53:34 +01:00
Melanie 6c6527caae Thank you, Godfrey, for a patch that implements osGetLinkPrimitiveParams
Fixes Mantis #3979
Applied with changes. Changed ThreatLevel to High since all discovery
functions are a high threat. Overriding that is the responsibility
of the grid owner.
2009-08-07 21:51:03 +01:00
Melanie ad0d2fea20 Experimental! Implement ISponsor in ScriptInstance 2009-08-07 21:30:21 +01:00
Melanie 4ee8d8a813 Another stab at cmickeyb's patch for script GC.
Moved the Close() for the appdomain-hosted parts into a new destructor
on ScriptInstance.
2009-08-07 20:43:23 +01:00
Melanie 178b40971a Add a method to init the OSSL Api's m_LSL_Api member back to the OSSL Api 2009-08-07 19:50:47 +01:00
Melanie f8d8366bfa Revert the XEngine memleak patch, it causes premature GC.
This matches behavior seen with an earlier attempt to do this, apparently
the sponsor mechanism does't work in Mono
2009-08-07 03:04:06 +01:00
Melanie 91f6898b26 |From: James J Greensky <jame.j.greensky@intel.com>
|Date: Wed, 5 Aug 2009 09:51:52 -0700
|Subject: [PATCH] Closed two major memory leaks for scripted objects
|
|Two major memory leaks for the scripted objects were fixed
|- One leak had to do with remoting acrossing app domains.  When a script and
|  its controlling agent communicate across an application boundary, it calls
|  functions on a stub proxy object that then invokes the remote method on
|  the object in the other app domain. These stub objects (two for each script)
|  were setup to have infinate lifetimes and were never being garbage collected.
|- The second leak was the result of adding a scene object part instance method
|  to a scene event and never removing it.  This cause the event's delegate list
|  to maintain a link to that object which is then never freed as the scene event
|  object is never destroyed.

Patch applied, please direct feedback to me. Possible issue: Longtime idle
scripts like vendors may fail.
2009-08-06 22:03:20 +01:00
Justin Clark-Casey e5904c3883 remove some more mono compiler warnings 2009-08-05 17:39:32 +01:00
Justin Clark-Casey 190bdc8a2e * Remove some mono compiler warnings 2009-08-05 17:33:23 +01:00
Alan Webb 068f54725b Slight change to state management for attach scheduling.
Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-08-04 11:44:22 +02:00
Alan Webb 9ffe4d850e This change adds support for the attach event in scripts.
[1] Added a new OnAttach event to Scene/EventManager
  [2] Hooked up existing attach event handler in XEngine.
  [3] Modified SceneGraph and Scene.Inventory to trigger
      attach events at the appropriate places. I was forced
      to distribut the changes across two files because of
      the way attach processing is distributed across the
      two files.
  [4] In the case of RezSingleAttachmentFromInventory it is
      necessary to handle event scheduling in a special way.
      There is no synchronous path available, so the fact
      that this object is attached, and who it is attached to,
      is cached when the ScriptInstance is created. When
      the script is started, the attached handler is driven
      after on_rez (but before changed, this should be reviewed).

Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-08-04 11:41:06 +02:00
Melanie 17bdc45c5c Add plumbing for the SceneObjectDeleter to wait for the script engine to
allow final deletion of objects. Meant to support the attach(NULL_KEY) event,
2009-08-04 03:17:13 +01:00
Jeff Ames a1786d4c39 Formatting cleanup. 2009-07-28 09:40:07 +00:00
Melanie Thielker aec16c2a0a Than you, otakup0pe, for a patch to correct llSetPos & friends' behavior
for child prims.
Fixes Mantis #3931
2009-07-27 23:13:31 +00:00
Teravus Ovares 64bd9a3354 * Updates libOMV to version 0.7.0
* Uses mantis #3811 as a base (thanks jhuliman) with changes.
* E-mail regarding interface changes sent to the opensim-dev list 
* Archive: https://lists.berlios.de/pipermail/opensim-dev/2009-July/007219.html
2009-07-25 15:49:10 +00:00
Jeff Ames a133e83f3a Formatting cleanup. 2009-07-23 15:32:11 +00:00
Melanie Thielker 52f983613c Thank you, otakup0pe, for a patch that enables basic auth with LSL 2009-07-18 20:10:19 +00:00
Melanie Thielker fb4067c844 A stab at implementing llSetDamage. Not persistent. 2009-07-15 00:10:01 +00:00
Melanie Thielker e53596f607 Remove redundant distance limitaion in llRezAtRoot
Fixes Mantis #3887
2009-07-14 22:10:46 +00:00
Jeff Ames cce451d9de Formatting cleanup. 2009-07-11 11:47:33 +00:00
Melanie Thielker 8ecfc9a717 Committing the interface change and the addition to the modules to get
the ball rolling on replacable modules. No user functionality yet
2009-07-10 20:17:13 +00:00
Charles Krinke dc0a19f737 Thank you kindly, Godfrey, for a patch that:
The vector parameter to llSetPos() specifies an absolute position for 
an unlinked prim or the root prim of a linkset; however, when the 
function is used by a child prim, the vector specifies a relative 
offset from the root prim. The changed introduced in llSetPos() treats 
this value as an absolute position in all cases, which has the unintended 
effect of mangling the position of child prims.
2009-07-09 16:53:55 +00:00
Melanie Thielker 2d949c1f25 Add DisableUndergroundMovement to scrpting API to allow underground movement
if needed. Defaults to true, so those who want to continue using underground
scripted prims need to add that option and set it.
2009-07-08 14:36:00 +00:00
Melanie Thielker f4498983aa Prevent scripts from moving prims underground 2009-07-08 10:22:51 +00:00
Melanie Thielker 6458858575 Change fields and methods in LSL API from private to protected, make some
methods virtual
2009-07-06 13:09:03 +00:00
Melanie Thielker 3564271c2d Restore the functionality that was removed in r9928. This lets the load
balancer plugin work again. Create a new method, GetClientEP, to retrieve
only the EndPoint for script usage. Marked the purpose of the method
in IClientAPI.cs with a warning. Also restored the corresponding SetClientInfo
functionality.
2009-07-01 15:47:52 +00:00
Sean Dague 3dc2010da6 From: Chris Yeoh <yeohc@au1.ibm.com>
Attached is a patch that changes the oar file saving of creation date/time to an integer
instead of a string. I did this after justincc emailed me saying there is a problem
with internationalisation doing it the old way and I said I'd fix it. Its been
tested with MySQL and I've made the changes for MSSQL but that hasn't been well tested.
2009-06-29 15:05:12 +00:00
Charles Krinke c7c4bc8cd5 Thank you kindly, Grumly57 for a patch that solves:
When a sit position is modified by llSitTarget and the 
sim is restarted, the object sit position is lost until 
llSitTarget is applied again.
2009-06-28 18:19:11 +00:00
Dr Scofield 98ea70644a From: Alan Webb <alan_webb@us.ibm.com>
After noticing on several occasions that the thread counts
we see when running OpenSIm were bordering on the astronomical
I decided to seriously investigate.

After much poking I discovered that the problem is actually very
simple. The XEngine secition of the example ini says that the
timeout for an iden thread is in seconds, and an example value
of 60 is specified. In fact, this is actually resulting in a 60mS
idle timeout, which is not normally enough for a smart thread
to survive. I have added a multiplier to the XEngine constructor
so that the number now matches the published behavior.
2009-06-25 08:17:37 +00:00
Homer Horwitz 04444d408f Do llEscapeURL with Uri.EscapeDataString instead of Uri.EscapeUriString.
Not exactly right, according to the LSL docs, but similar enough, I hope.
Fixes Mantis #3825.
2009-06-21 19:06:19 +00:00
Melanie Thielker 2c3a1995fc Publish a method on ICompiler to generate the CIL assembly path
Cause group deeding to apply next owner perms
2009-06-21 18:38:12 +00:00
Sean Dague 1adeb8ad77 From: Chris Yeoh <yeohc@au1.ibm.com>
This patch ensures that the touch positions are set during touch_end
events (currently only working for touch_start and touch events).
2009-06-19 12:21:20 +00:00
Mike Mazur e6e88ac126 Give m_test* methods more reasonable names
Changing the names of these methods because they were being picked up by
nunit as tests even though they were marked private. Naming them Check*
after the original Test*.
2009-06-12 15:00:08 +00:00
Jeff Ames a23d64dec1 Formatting cleanup. 2009-06-10 04:28:56 +00:00
Jeff Ames a7fcacf8f3 Formatting cleanup. Ignore some generated files. 2009-06-09 18:07:35 +00:00
Dr Scofield 759636f37e From: Alan Webb <alan_webb@us.ibm.com>
This change addresses two issues:

  [1] It adds a flag field to the blendface call which allows the
      caller to indicate whether or not the generated asset is
      temporary, and whether or not the asset being replaced should
      be explicitly retired fromt the memory cache. The decimal
      values correspond to:
      0 - Permanent asset, do not expire old asset
      1 - Permanent asset, expire old asset
      2 - Temporary asset, do not expire old asset
      3 - Temporary asset, expire old asset
      '3' corresponds to the default behavior seen today, and is
          the continued behavior of the non-blendface calls.
  [2] The dynamic texture routines are highly-asynchronous and can
      be scheduled simultaneously on a multi-core machine. The nature
      of the texture management interfaece is such that updates may
      be lost, and the nature of asynchornous operation means that
      they may be processed out of order. A lock has been added to
      ensure that updates are at least atomic. No attempt has been
      made to enforce ordering. The lock applies to the SceneObjectPart
      being updated and is held for the lifetime of the TextureEntry
      used to carry texture updates (the one instance carries all
      faces supported by the prim).

   Users of these services should remember that the dynamic texture
   call is asynchronous and control will be returned *before* the
   texture update has actually occurred. As a result, a isubsequent
   GetTexture call may not return the expected asset id. A script
   must wait for the corresponding TEXTURE_CHANGED event before
   retrieving any texture information.
2009-06-09 06:39:27 +00:00
Mike Mazur cda6b24668 Skip lone ident statments or for-loop assignments
SL's LSL supports lone idents:

    integer x;
    x;

as well as lone idents in for-loop assignments:

    for (x; x < 10; x++) { ... }

while those are errors in C# (MONO at least). This patch skips lone
idents in such places.

Fixes Mantis #3042.
2009-06-07 10:22:55 +00:00
Mike Mazur 48bc2f3a42 Allow empty assignment in for-loop
For loops with no assignment are no longer syntax errors. For example,
this is now valid:

    for ( ; i < 10; i++) { ... }

Corresponding changes to lsl.{lexer,parser} in r99 in opensim-libs.

Fixes Mantis #2501. Fixes Mantis #2884.
2009-06-07 10:22:41 +00:00
Mike Mazur d25b9151c8 Rename private TestllAngleBetween method
It seems overloading the method TestllAngleBetween confused nunit a bit
and caused it to try running the private TestllAngleBetween method. The
method's access modified prevented that from happening, and nunit
complained.
2009-06-07 08:32:07 +00:00
Melanie Thielker 5139160ce4 Correct an error where the config file name was always considered to be a
local file. This caused llHttpRequest and llSetInventoryPermsMask to fail
on regions that load their config from a web server
2009-06-06 16:39:28 +00:00
Melanie Thielker 9f932a4205 Thank you, thomax, for a patch to provide finer-grained access control to
scripting.
Fixes Mantis #2862
2009-06-05 09:47:42 +00:00
Dr Scofield 717fd3b5b9 From: Chris Yeoh <yeohc@au1.ibm.com>
This patch adds oar file date and time (UTC) meta data to an oar file
when it is created.  It also adds a unique ID, though this id does not
in anyway identify the machine that the oar file was created on.

When an oar file with this meta data is loaded this extra information
is saved with the region settings and available via LSL through:

- osLoadedCreationDate()
- osLoadedCreationTime()
- osLoadedCreationID()

If there is no meta data these fields will be blank. Subsequent oar
file loads will erase the information for the previous oar file
load. Persistence has only been implemented for MySQL, the other
backends need updating.

Overall this allows us to much more easily identify the specific version of
software that clients are using. Its very straightforward to edit the oar file
to change the ID string to be something more human friendly.

Included in the patch is a new file OpenSim/Data/MySQL/Resources/030_RegionStore.sql
required for the MySQL DB migration.

btw I had a chat with justincc about this a few weeks ago since he
wrote the oar file import/export and he sounded happy to accept
something that included date/time information but didn't want anything
that would silently leak private information like machine names.
2009-06-03 12:48:04 +00:00
Dahlia Trimble b64c484d26 Thanks aduffy70 for Mantis #3762: A patch to fix llGround, llGroundNormal, and llGroundSlope 2009-06-03 05:31:53 +00:00
Jeff Ames 840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
Dr Scofield 901fdca13b From: Chris Yeoh <cyeoh@au1.ibm.com>
The attached patch implements llPassTouches. It has been added
to the export/import XML along with the flag for AllowedInventoryDrop.

The MySQL backend has been updated as well, though I haven't
done one of those before so could do with a check. I added
the migration mysql file as well.

The other data backends need updating as well.
2009-05-27 18:01:06 +00:00
lbsa71 ba360ede8b * Upped version number to 0.6.5 2009-05-25 11:43:56 +00:00
Dr Scofield c18c1f6c7c Revert "From: Chris Yeoh <cyeoh@au1.ibm.com>"
This reverts r9666. for some reason the mysql update does not work.
2009-05-25 11:32:31 +00:00
Dr Scofield 0bff818d39 From: Chris Yeoh <cyeoh@au1.ibm.com>
The attached patch implements llPassTouches. It has been added
to the export/import XML along with the flag for AllowedInventoryDrop.

The MySQL backend has been updated as well, though I haven't
done one of those before so could do with a check. I added
the migration mysql file as well.

The other data backends need updating as well.
2009-05-25 11:26:36 +00:00
Dr Scofield 3b689e506f From: Alan Webb <alan_webb@us.ibm.com>
Changes to support client-side image pre-caching in the region. This
  commit adds an additional calling sequence to the DynamicTexture data
  and URL calls. The new interface allows a dynamic image to be loaded
  into a specific object face (rather than the mandatory ALL_SIDES
  supported today.
  This is in part fulfilment of ticket #458.
2009-05-22 16:22:49 +00:00
Dr Scofield 1d02636c27 cleaning out warnings.
NOTE: we currently have a gazillion warnings caused stuff flagged as
"obsolete" (OGS1 stuff) --- what's up with that?
2009-05-22 14:57:00 +00:00
Dahlia Trimble 3d0f110f21 normalize quats before applying llSetRot() 2009-05-21 19:44:20 +00:00
Dr Scofield e1a1d38aff From: Alan Webb <alan_webb> & Dr Scofield<drscofield@xyzzyxyzzy.net>
Disable use of log4net in script domains to avoid mono 2.4 aborts.
2009-05-18 15:32:06 +00:00
Dr Scofield e3f2cfa1ca From: Alan Webb <alan_webb@us.ibm.com>
Fixes:
  [1] Sharing exception on remote OAR management
  [2] Occasional 505 error talking to Tomcat
  [3] Occasional mono aborts caused by mlog in the
      script engine's app domain (mono 2.4)
2009-05-18 10:04:28 +00:00
diva 5e4fc6e91e Heart surgery on asset service code bits. Affects OpenSim.ini configuration -- please see the example. Affects region servers only.
This may break a lot of things, but it needs to go in. It was tested in standalone and the UCI grid, but it needs a lot more testing.
Known problems: 
* HG asset transfers are borked for now
* missing texture is missing
* 3 unit tests commented out for now
2009-05-15 05:00:25 +00:00
Melanie Thielker fb3d5770dd Make the LSL HTTP server create and give out URLs to scripts 2009-05-13 20:32:14 +00:00
Melanie Thielker 1196f3eac7 Add most of the meat to the LSL HTTP server 2009-05-13 04:04:26 +00:00
Melanie Thielker ba8850f254 Plumb request and return URL functions.
Implements llRequestURL, llRequestSecureURL, llReleaseURL
2009-05-13 03:09:30 +00:00
Melanie Thielker 6c2302637f Implement llAttachToAvatar() 2009-05-13 02:21:21 +00:00
Melanie Thielker 4cce1cc26e Implement llDetachFromAvatar() 2009-05-13 02:06:12 +00:00
Charles Krinke 94e2768cc7 Add interface, stub implementation and
script stub for llGetHTTPHeader().
2009-05-13 01:58:17 +00:00
Charles Krinke 6257bb8b09 Add interface, implementation stub and
script stub for llGetFreeURLs().
2009-05-13 01:47:29 +00:00
Charles Krinke 4db2f71c45 Added interface, implementation stub and
script stub for llReleaseURL().
2009-05-13 01:21:50 +00:00
Charles Krinke 2776afd83d Remove incorrect semicolon 2009-05-13 01:13:59 +00:00
Charles Krinke c23bd2d6ea Add interface, stubbed implementation and
script stub for llRequestSecureURL().
2009-05-13 01:06:06 +00:00
Charles Krinke f63b83b085 Added interface, stub implementation and script
stub for llRequestURL().
2009-05-13 00:58:01 +00:00
Charles Krinke ba99f2a1a5 Add interface, stub and bare implmentation for llHTTPResponse(). 2009-05-13 00:29:50 +00:00
Charles Krinke c1d680b6c3 Thank you kindly, Patnad, for a patch that:
This is to handle the changes in the v1.23 viewer 
of LL regarding the adult rating. With this patch 
a region can be changed to the adult rating from 
LL viewer v1.23 and above.
2009-05-12 03:30:37 +00:00
Homer Horwitz 1d234ca83f Fixed handling of inventory a bit
- AssetType isn't InventoryType. Those enums contain different numbers. Use AssetType for the asset type, InventoryType for the inventory type.
- The ToString method (or ToLower) of AssetType/InventoryType doesn't necessarily return the correct LLSD string.
- Replaced several magic numbers by their corresponding enum.
- Fixed the invType for gestures and animations in the library.
This should fix Mantis #3610 and the non-terminating inventory loading
2009-05-09 21:11:12 +00:00
Melanie Thielker 36a02441c5 Thank you, Orion_Shamroy, for a patch to expand notecard reading
capabilities in OSSL.
Fixes Mantis #3543
2009-04-27 14:16:01 +00:00
Melanie Thielker d98a916006 Thank you, Orion_Shamroy, for a patch that adds osGetNotecardLine and
osGetNumberOfNotecardLines
Fixes Mantis #2942
2009-04-27 12:05:49 +00:00
Jeff Ames 8dbcfc70bf Add copyright headers. Formatting cleanup. 2009-04-27 05:22:44 +00:00
Charles Krinke c3d619498f Thank you kindly, Ewe Loon, for a patch that solves:
PRIM_TEXGEN not in llSetPrimitiveParams. Patch has 
been included to implement it.
2009-04-26 00:45:48 +00:00
Dr Scofield 458f7eb9b3 cleaning up, fixing warnings 2009-04-22 09:42:44 +00:00
Melanie Thielker 338655e9d5 Fix loading notecards from LSL. The first time a notecard was accessed, the
ID returned from the call would differ from the one later sent
via dataserver(), causing AOs to fail.
2009-04-22 01:43:07 +00:00
Melanie Thielker 6a8fe8a84e Prevent a null ref if a notecard is not found 2009-04-20 13:56:16 +00:00
Homer Horwitz 33e1316ced Terrain changes done via osTerrainSetHeight aren't shown immediately to the clients in
that region. I decided against sending the terrain on every call to osTerrainSetHeight
(which makes it abysmally slow), and added a osTerrainFlush instead, which should be
called after all the terrain-changes have been done. Changed some return types to
LSL types, too, and removed some end-of-line spaces.
2009-04-19 13:34:28 +00:00
Melanie Thielker d285ccb5cf Allow reading of notecards by asset ID.
Fixes Manthis #3420
2009-04-18 19:08:35 +00:00
idb 21d80b28aa Obtain the owner name for the X-SecondLife-Owner-Name header in llHTTPRequest when the owner is offline/not in the region.
Fixes Mantis #3454
2009-04-18 14:21:54 +00:00
idb d9896ff71a Correct detected rotation to return the same value as llGetRot in the object being detected.
Fixes Mantis #3467
2009-04-17 19:39:37 +00:00
Justin Clarke Casey e999c78600 * Also use the profile cache for osKey2Name() 2009-04-17 17:33:31 +00:00
Justin Clarke Casey be1855f163 * Use cached user profiles in osAvatarName2Key() 2009-04-17 17:22:58 +00:00