Commit Graph

285 Commits (fca4e4ec7c044921ba602862c5a42900f819015a)

Author SHA1 Message Date
Melanie Thielker f518ca7feb Reapply r7369 r7367 r7366 r7370 r7381. This brings it back up to the new
libOMV.
2008-11-19 06:25:34 +00:00
Melanie Thielker 3234472d62 Reverting the texture sending patch and the new libOMV. This makes this
release a direct descendant of the stable 7364, with all the features and
none of the issues.
This omits the following patch chain: r7383 r7382 r7381 r7377 r7375 r7373
r7372 r7370 r7369 r7368 r7367 r7366
2008-11-19 06:15:21 +00:00
Justin Clarke Casey 93b18d7323 * Remove Appdomain code in XEngine.cs 2008-11-17 21:36:12 +00:00
Justin Clarke Casey c25a0ea792 * Update libOMV to r2359. This is necessary for the progressive texture patch
* Update libopenjpeg as well for this patch.
* Appears to be okay on a very short sniff test
* Source code will be placed in opensim-libs shortly
2008-11-17 21:00:34 +00:00
Melanie Thielker ca35b49b70 Make scripts in objects rezzed from script compile synchronously to close
a timing gap. Still not 100%, but getting there
2008-11-13 19:00:46 +00:00
Melanie Thielker 664e8a464e Script region crossing. This has not user functionality, but lays all the
groundwork.
2008-11-09 19:30:40 +00:00
Melanie Thielker 833f5e8bed Refactor IEventReceiver back into IScriptEngine 2008-11-08 02:24:34 +00:00
Justin Clarke Casey 9366a234cf * refactor: Convert most non SOP methods to use SOG.IsAttachment rather than SOP.IsAttachment 2008-11-01 22:04:35 +00:00
Teravus Ovares c26d0ebc19 * Added missing dependencies that was causing build to fail in windows. Mono doesn't seem to care. 2008-10-17 01:59:43 +00:00
Homer Horwitz ae9e38bf3f Fixed (mono-)script handling for SL viewer 1.21:
- Added two missing caps (UpdateScriptAgent, UpdateScriptTask)
- Added one missing EventQueue event (ScriptRunningReply)
- Changed DNE and XEngine to use this new event
As we only use the mono engine anyway, the "Mono" checkbox is set by
default but doesn't have any function.
2008-10-16 21:46:03 +00:00
Melanie Thielker 638cce09d1 Restore "friendly errors" to the XEngine 2008-10-07 21:59:56 +00:00
Melanie Thielker ab260b5d23 Fix: Mantis#2326: Fix: privilege escalation through attach from ground
Fix: objects being duplicated inventory on detach. Fix: Mad jumping around of
attachments while editing. Fix: Attachments being persisted to database on
login. Fix: Attachments being persisted when changed by a script like
invisprim refresh. Fix: Attachpoint set, but not reset correctly. Fix: prevent
spurious full updates while editing attachments. Several other fixes
2008-10-03 21:44:33 +00:00
Melanie Thielker c2308d8a7d Add explicit CultureInfo to the script compile thread in DotNetEngine to
ensure that scripts will compile on nonenglish systems
2008-09-28 20:29:56 +00:00
Melanie Thielker 85068dae60 Add friendly error messages to both engines. 2008-09-27 05:31:43 +00:00
Melanie Thielker b416422349 Kill "Compile successful" message when rezzing prims/wearing attachments
Changes behavior to send on_rez event to prims when rezzed from agent
inventory.
2008-09-26 20:18:31 +00:00
Melanie Thielker e5db6a75d0 Finishing the code cleanup in DNE, make llDie work again in DNE.
Add some compile messages from XEngine into DNE as well.
2008-09-26 17:59:36 +00:00
Melanie Thielker f926d917cb Fix script engine name parsing for DotNetEngine to make that actually work
Add a reference for Windows builds
2008-09-25 17:54:44 +00:00
Melanie Thielker f11107821e Add an extension to allow registering multiple interfaces of a type with
Scene. Make the script engines check that the engine name in the
//Engine:language comment is a valid engine and treat it as a normal
comment if it's not.
//DotNetEngine: needs to be written as //ScriptEngine.DotNetEngine: now, since
that is it's real internal name. //XEngine: still works
2008-09-25 17:26:32 +00:00
Melanie Thielker f3c8963c86 Convergence is almost complete. This brings the diff between the API to < 10k
and makes it use a common set of types in both engine. Fixes the issues with
running both engines and HTTP requests / listens / timers etc..
Also fixes a couple of minor Scene issues and a CTB by nullref.
2008-09-25 05:13:44 +00:00
Melanie Thielker fb7a29a5ef Rename lots of stuff in DNE to reduce source code differences in the
LSL implementation files. Rename lots of stuff in XEngine for the same
reason. Move methods between interfaces. Just refactor stuff.
2008-09-24 13:18:06 +00:00
Melanie Thielker 218902bedc Decouple AsyncCommands from XEngine and the script instance. Make
all methods needed outside the API ststic. Async command processing
is now wholly internal to the API. This sets the stage for the next
convergence step.
2008-09-24 02:58:05 +00:00
Melanie Thielker 70d264ee6c Update the permissions system to handle scripts and notecards the way
it was meant to. No functional changes, just better code
2008-09-23 03:36:16 +00:00
Melanie Thielker b8a39a4dde Remove the script engine identifier tag, so the compiler just sees
the language specifier. Makes language specifiers work again with
script engine specifiers.
2008-09-22 11:18:49 +00:00
Melanie Thielker 79ac01fb0c Prevent scripts from running under multiple engines at once 2008-09-22 02:11:40 +00:00
Melanie Thielker 1602ba6175 Allows to use the new script engine feature. Begin your script with
//XEngine: or //DotNetEnine: , optionally followed by a language
like //XEngine:lsl, and it will be run on the chosen engine.
2008-09-21 22:16:17 +00:00
Melanie Thielker 94aaf67dfa Change the scirpt engine loading mechanism. Script engines are now
ordinary region modules and are able to coexist in one instance.
See http://opensimulator.org/wiki/ScriptEngines for details. There were
changes to OpenSim.ini.example, please note DefaultScriptEngine.
Also see the User docs and FAQ on the Wiki. Default is DotNetEngine.
2008-09-21 21:47:00 +00:00
Melanie Thielker 85586bb7b2 Change XEngine startup to enable it to run as a normal region module
rather than a special one
2008-09-21 02:52:12 +00:00
Justin Clarke Casey fb5014cf5b * Duh, forgot I had undone some of the changes I meant to include in the previous commit 2008-09-19 19:07:20 +00:00
Justin Clarke Casey 4c7ddd2c71 * Remove one possible deadlock situation as seen today
* On script rez, XEngine was taking an m_scripts lock and then later on an m_parts lock when looking for a part by local id
* In the meantime, a scene object being deleted would take an m_parts lock and then later on try to take an m_scripts lock when it tried to trigger script removal
* There may be better ways to resolve this, but I believe that in general, we must always take an m_parts lock before an m_scripts lock
2008-09-19 18:50:19 +00:00
Melanie Thielker 903fbd1f06 XEngine: fix collisions, add event coalescing for collision events.
Fix a nasty concurrency issue that could cause a high event frequency
to start more than one thread pool job for a single script.
2008-09-18 18:50:39 +00:00
Melanie Thielker 7e8320bada Kan-Ed fix series. Fix llTakeControls to behave as documented.
XEngine fixes: prevent queue overruns, prevent spamming when no key
is down. Release controls when conflicting permissions are requested
or permissions are refused later. Release when prim or script are deleted.
Fixes Scene script instance deletion semantics.
2008-09-17 22:00:56 +00:00
Justin Clarke Casey 0b52453762 * Change XEngine default configuration values to match those in OpenSim.example.ini
* Particularly important for max threads since setting this to 2 was causing all events to wait behind the regularly sleeping maintenance event
2008-09-16 16:41:46 +00:00
Justin Clarke Casey 7f3bfa277b * minor: method documentation 2008-09-16 16:37:16 +00:00
Melanie Thielker fdb24c46ac Provide a GetApi method on the IScriptEngine to get a named API reference
This allows cross-api method calls on the implementation and also allows
"Meta APIs" that only provide common functionality to other APIs
2008-09-13 14:40:42 +00:00
Jeff Ames fae34bb10c Update svn properties, formatting cleanup. 2008-09-09 01:26:48 +00:00
Melanie Thielker 490ac0be00 Implement proper persistence of the following prim properties:
Floating text, Rotation, Texture animation, Particle System
This will make "Eye Candy" scripts work without modification in
XEngine. The use of the CHANGED_REGION_RESTART hack is no longer
needed. Implemented in MySQL only, hovertext also in SQLite.
2008-09-08 02:40:20 +00:00
Melanie Thielker 669f553400 Xengine patch to force a persistence save on script creation. This prevents
duplicate delivery of state_entry if a region is restarted just after
saving the script. Changes script state saves to no longer abort long-
running event handlers. Queues the save instead. Adds shutdown handler
to save script state on irderly shutdown
2008-09-07 22:01:25 +00:00
Teravus Ovares 7d89e12293 * This is the fabled LibOMV update with all of the libOMV types from JHurliman
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point.  Regular people should let the dust settle.
* This has been tested to work with most basic functions. However..   make sure you back up 'everything' before using this.  It's that big!  
* Essentially we're back at square 1 in the testing phase..  so lets identify things that broke.
2008-09-06 07:52:41 +00:00
Dr Scofield 109aa00150 fix: PostInitialise() not being called on script engines (nasty one that)
cleanup: warnings, readability
2008-09-02 12:07:23 +00:00
Melanie Thielker 61978649ec Change some chat output functions so that text is truncated at
1000 chars to avoid the exception thrown by libomv at 1100 chars.
Change string->int conversion so it copes with non-numeric chars
after the number and no longer uses a float to parse the value.
2008-09-02 03:43:18 +00:00
Jeff Ames 3bf8858727 Update svn properties, formatting cleanup. 2008-08-28 14:41:54 +00:00
Melanie Thielker bf4d1fbb8d Refactor IScriptInstance / IScriptEngine to use a generic IScriptWorkItem,
which is a thin wrapper around a IWorkItemResult from the SmartThreadPool.
However, it is very easy to reimplement on top of basic threading and therefore
makes the IScriptInstance class independent of the specific threading
implementation.
2008-08-28 00:37:22 +00:00
Melanie Thielker 5525a3ecb4 Thank you, salahazar, for a patch that corrects the behavior of
llDetectedLink(). Also a small refactor to remove an interface member
from IScriptEngine.
2008-08-27 22:53:58 +00:00
Melanie Thielker 6e3367d68c Refactor XScriptInstance to IScriptInstance and move into Shared/. Now
engines that want to use the XEngine's instance handling and state
persistence can do so. IScriptInstance is optional, but it does
require the SmartThreadPool if it is used.
2008-08-27 22:38:36 +00:00
Melanie Thielker a2985b5655 Refactor Executor into the script app domain and IScript. This changes
an implicit reference into a proxied one and further reduces memory
consumption of XEngine
2008-08-27 21:36:03 +00:00
Melanie Thielker ccd74f888b Some complex re-ordering to make prebuild do what needed to be done.
It is now possible to use module interfaces without referencing Scene.
Place those interfaces in OpenSim/Region/Interfaces. They may not
use any refs from OpenSim.Region.Environment as parameters.
This resolves a circular library ref introduced in r5949
2008-08-23 02:30:07 +00:00
Jeff Ames 6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +00:00
Melanie Thielker c1e7b45e18 Fix wrong bitmask value in script engine that would make a mess of
the ObjectFlags. Good catch, gsky, thank you!
2008-08-04 17:52:00 +00:00
lbsa71 8e869b2fff * Changed a number of field names to ccc (public members shouldn't be called m_) 2008-07-26 21:22:15 +00:00
Jeff Ames 80d8e2889e Update svn properties. Formatting cleanup. Remove a compiler warning. 2008-07-23 13:24:25 +00:00
Melanie Thielker bcf74416a1 Fix prim link numbers (Mantis #1781)
Implements additional unlink modes (unlink root prim from link set, some
multi-set operations). Linking (single and mutiple) fully implemented.
Consistent numbering of links while in world. Link/delink with predictable
link numbering. Correct link numbers in LSL.
Not all multi-set ops implemented. Link numbers still change when taken and
re-rezzed.
2008-07-19 04:05:34 +00:00
Melanie Thielker 746c6fb1a2 Patch #9141 (Mantis #1655)
Untangles llDie handling in XEngine, which resulted in a thread being
aborted while executing inside of Scene.
2008-07-12 00:06:45 +00:00
Charles Krinke 01904e66f2 Mantis#1690. Thank you kindly, Melanie for a patch that:
esets script permissions when a script is recompiled.
2008-07-08 15:16:43 +00:00
Jeff Ames d470d30c09 Copyright notices and formatting cleanup. 2008-07-06 14:02:22 +00:00
Dr Scofield 2dadbc2f70 mini-warnings-safari, plus cleanup of IUserServices method naming. 2008-07-04 10:19:58 +00:00
Charles Krinke ce5122ebf3 Mantis#1659. Thank you, Melanie for a patch that:
In LSL, the state command should have an immediate effect. 
The OpenSim script engine seems to wait until the function 
ends to process the state transition.
2008-07-04 00:59:38 +00:00
Charles Krinke 7580fa5c0a Mantis#1648. Thank you, Melanie for a patch that:
Fix a script Xengine deadlock/hang if llResetScript is used in changed()
2008-07-02 13:31:39 +00:00
Charles Krinke 0aaf0c4565 Mantis#1640. Thank you, Chernega for a patch that addresses:
It would appear that calling llResetScript() in state_entry() causes deadlock of region. 
Probably due to llResetScript calling state_entry again. llResetScript should see who called it, 
and not recall state_entry() after a state/variable reset. Once this script is in a prim, 
the region/world/debug/script window shows it consuming the server (from 2,400 to 800,000 milliseconds).
2008-07-01 13:42:47 +00:00
Dr Scofield 313f7f60fd properly explaining each #pragma warning disable
massaging OSHttpRequestPump to not abort on exceptions...
2008-06-30 11:57:47 +00:00
Charles Krinke 590df180a4 Manti#1624. Thank you, Melanie for a patch that:
Sets XEngine threads to en-US culture before calling script events, 
fixes i18n issues with european locales.
2008-06-28 17:47:06 +00:00
Charles Krinke 9a0ef22ed9 Mantis#1616. Applied Melanie's patch. This may or may
not break trunk.
2008-06-28 16:08:12 +00:00
Teravus Ovares ec7110f2cf * Melanie adds the event manager back to the XEngine so all yr events are hers, I mean, fire. 2008-06-28 03:45:52 +00:00
Dr Scofield 748f72326d last round of warning squashing. calling it a day now. 2008-06-27 23:03:39 +00:00
Charles Krinke 6d5d911f3f Mantis#1600. Thank you, Melanie for a patch that:
Fixes persistence of variable values to address
broken persistence in the big refactor.
2008-06-26 13:49:11 +00:00
Jeff Ames 52a18954bb Update svn properties. Add copyright notices. 2008-06-25 13:19:42 +00:00
lbsa71 6b7930104b * Applied patch from Melanie, mantis issue #1581 - "Refactor LSL language, api and compiler out of XEngine"
"First stage in a major Script Engine refactor, that will result in the LSL implementaions ebing reconverged. Not there yet, but one major part is done."
Thank you, Melanie!
2008-06-24 21:09:49 +00:00
Charles Krinke 3b4c2c1ff1 A little minor cleanup and harmonizing between LSL_BuiltIn_Commands.cs
and its copy LSL_ScriptCommands.cs
2008-06-13 01:54:53 +00:00
Jeff Ames 64f01ade04 Update svn properties, clean up formatting, refactor out duplicate hard-coded port numbers. 2008-06-13 00:21:53 +00:00
mingchen 0896cb53d4 *Parcel Prim Count Maximums moved to their own functions so modules can override the default method of calculating how many prims a parcel can have. 2008-06-11 17:31:43 +00:00
Charles Krinke 9b43668bf3 Mantis#1529. Thank you kindly, Grumly57 for a patch to
xengine to:
Replaces "presence.Name" => "presence.ControllingClient.Name" to return avatar's name.
2008-06-10 22:41:39 +00:00
Jeff Ames dfb63b5623 Update svn properties. Formatting cleanup. 2008-06-09 08:46:33 +00:00
Charles Krinke de11c09794 Mantis#1498. Thank you Melanie for an XEngine patch that addresses:
The attatched patch makes the changed() event fire properly and 
lets scripts run properly. 
NOTE: All existing state files must be deleted:
rm ScriptEngines/*/*.state
2008-06-08 14:51:59 +00:00
Charles Krinke 0e5f2b3293 Mantis#1496. Thank you kindly, Melanie for a patch that:
Adds full implementation of all llDetected* functions for sensors, 
collisions and touches. Adds changed(CHANGED_REGION_RESTART) event 
to allow restarting of eye-candy functionality not currently 
persisted with the prim.
2008-06-07 22:37:48 +00:00
Adam Johnson 990225a4ba Patch for mantis#1493: Several patches to xengine. Thanks Melanie! 2008-06-07 17:43:07 +00:00
Charles Krinke 2b83aa931c Mantis#1476. Thank you kindly, Melanie for a patch that:
0001476: [PATCH] Allow larger script state files to be loaded
The previous limitation on load file size was too small for 
larger script projects
2008-06-07 15:46:43 +00:00
Jeff Ames fbd37c420f Minor formatting cleanup. 2008-06-06 01:19:15 +00:00
lbsa71 901b9365ba * Applied 9085B_[5004]_xengine_abort_regression.patch from #1437
Thank you, Melanie. And Thank you ckrinke. Bigups!
2008-06-05 14:31:07 +00:00
Charles Krinke 3b764dd34f Mantis#1438. Thank you kindly, Melanie for a patch that:
This patch implements the llLoopSound patch from Xantor for the XEngine
2008-06-05 14:22:53 +00:00
Charles Krinke dab3a53920 Mantis#1437. Patch 3 of 4. Thank you kindly, Melanie for:
Corrects the XEngine's script startup semantics.
Completes llRequestAgentData
Implements llDetectedLink
Fixes a few minor issues
2008-06-05 14:18:53 +00:00
Charles Krinke bbabd68c7c Mantis#1437. Patch 2 of 4. Thank you kindly, Melanie for:
Corrects the XEngine's script startup semantics.
Completes llRequestAgentData
Implements llDetectedLink
Fixes a few minor issues
2008-06-05 14:17:22 +00:00
Charles Krinke e3c14e9b24 Mantis#1437. Patch one of four. Thank you kindly, Melanie for:
Corrects the XEngine's script startup semantics.
Completes llRequestAgentData
Implements llDetectedLink
Fixes a few minor issues
2008-06-05 14:15:15 +00:00
Charles Krinke e75cccec76 Mantis#1440. Thank you kindly, Melanie for a patch that
"Hooks up the plumbing from previous patch"
2008-06-04 14:37:16 +00:00
Jeff Ames 4ec4e16c80 Formatting cleanup, minor refactoring, svn properties. 2008-06-04 09:59:27 +00:00
Charles Krinke f2f183b307 Mantis#1425. Thank you kindly, Melanie for a patch that:
0001425: [PATCH] Correct llResetOtherScript() behavoir in XEngine
2008-05-31 00:45:37 +00:00
Teravus Ovares 1a47ff8094 * This is Melanie's XEngine script engine. I've not tested this real well, however, it's confirmed to compile and OpenSimulator to run successfully without this script engine active. 2008-05-30 12:27:06 +00:00