| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changeset fixes a race condition where a script (XEngine run) can
startup before a reference is added to it in all of the required
places in the XEngine class. The effect of this is that a script can
sometimes on startup miss script events. For example a script which
starts up and initialises itself from a notecard may never receive the
dataserver event containing the notecard information.
The patch isn't as clean as I'd like - I've split the constructor of
ScriptInstance up so it does everything it did before except
call Startup and post events like state_entry and on_rez. An Init
function has been added which is called after the ScriptInstance
object has been added to the necessary data structures in XEngine.
Happy to rework it if someone suggests a better way of doing it.
|
|
|
|
|
|
| |
Not implemented yet in DotNetEngine.
Fixes Mantis #2830
|
| |
|
| |
|
|
|
|
|
|
| |
scripts until that can be better debugged
|
| |
|
|
|
|
| |
on GC. Also removed lease for LSL_Api as it strictly speaking should not be MarshalByRef. Or should it? If so I broke scripting! :)
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
| |
groundwork.
|
| |
|
|
|
|
|
|
| |
Too many fixes to list.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Fix a null reference exception when the exception thrown by a script
is not a TargetInvocationException
|
| |
|
|
|
|
|
|
| |
Patch up a type name change in libomv. Thanks for tracking that down, idb
|
|
|
|
|
|
|
|
|
| |
The binaries are still different, but that is only a small step away now.
The OSSLPrim has been removed. This commit will breal all scripts
using Prim.Scale(), etc, syntax. It was not secure and will have to
be brought back in another form.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
previous commit
|
|
|
|
|
|
|
| |
Fix a nasty concurrency issue that could cause a high event frequency
to start more than one thread pool job for a single script.
|
|
|
|
|
|
|
|
| |
Patch for new scripting method osParseJSON.
also, a couple of warning bugs killed.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
This allows cross-api method calls on the implementation and also allows
"Meta APIs" that only provide common functionality to other APIs
|
| |
|
|
|
|
|
|
| |
same state
|
|
|
|
|
|
| |
touch, pay, etc script states correctly.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
| |
Prevent a null reference exception when reset is pressed on a script
while it's being compiled.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
llDetectedLink(). Also a small refactor to remove an interface member
from IScriptEngine.
|
|
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.
|