Commit Graph

80 Commits (8e01f75784bd7b719a6957de40daf949eb01fcdf)

Author SHA1 Message Date
Teravus Ovares 8e01f75784 * Progressive texture patch + PriorityQueue put into the LLClient namespace.
* Updates LibOMV to r2362
2009-01-19 17:11:57 +00:00
Dahlia Trimble 630ce5b264 Revert progressive texture patch from r8001 until issues can be addressed 2009-01-10 09:15:23 +00:00
Dahlia Trimble 3bdd4db3fd Thanks jhurliman for a patch that implements progressive texture downloading - Mantis #2655 2009-01-10 01:46:47 +00:00
Melanie Thielker 81a4fe9db7 Insert a 15 seconds delay before the script engine starts loading scripts 2008-12-28 17:22:31 +00:00
idb 3fe966d6b3 An initial implementation of llMinEventDelay in XEngine.
Not implemented yet in DotNetEngine.
Fixes Mantis #2830
2008-12-21 19:04:06 +00:00
Teravus Ovares ca0de93d9a * Adding some locks to XEngine's m_PrimObjects which were prone to 'the collection was modified' 2008-12-17 15:30:26 +00:00
idb 84ba5dd962 Fix an ArgumentNullException when moving a DotNet scripted object to the next region 2008-12-06 14:55:18 +00:00
Justin Clarke Casey 915593bfbc * refactor: Rip out SOP inventory from the partial into a separate class
* SceneObjectPartInventory.cs isn't a particularly good name but it's probably not got a long life
* A proper inventory interface to follow
* Parallel changes for other inventory partial classes to follow at a later date
2008-11-21 21:16:42 +00:00
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 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