Commit Graph

259 Commits (e7f169533849e156f8ac567c9d63b5ef2bf7bd45)

Author SHA1 Message Date
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 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
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
Jeff Ames 6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +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 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
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 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
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