Tedd Hansen
82d43db1cc
Added data structure to be passed through event execution queue so that events can use llDetect*-commands to find information about event.
2008-01-17 15:22:35 +00:00
Adam Frisby
b25f9f322c
* Mother of all commits:
...
* Cleaned up copyright notices in AssemblyInfo.cs's
* Added Copyright headers to a bunch of files missing them
* Replaced several common string instances with a static constant to prevent reallocation of the same strings thousands of times. "" -> String.Empty is the first such candidate.
2008-01-15 02:09:55 +00:00
Tedd Hansen
bacbade369
Major reorganizing of DotNetEngine. Moved common script engine parts to ScriptEngine.Common, only .Net-specific code in DotNetEngine. AppDomains, event handling, event execution queue and multithreading, script load/unload queue, etc has been moved to ScriptEngine.Common.
...
Loads of things has been put into interfaces instead of the specific class.
We are now one step closer to ScriptServer, and its very easy to implement new script languages. Just a few lines required to make them a OpenSim script module with all its glory.
2008-01-12 14:30:22 +00:00
Tedd Hansen
0fb0a6816d
Only one queue is used for load/unload of scripts.
...
So loading/unloading of scripts are now done in same sequence as they are called.
2008-01-05 20:05:29 +00:00
Tedd Hansen
7ef09a1202
Added comments to ScriptEngine classes that explains what their purpose is
2007-12-30 16:32:29 +00:00
lbsa71
efd90b56b7
* Optimized usings
...
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
Charles Krinke
a0a189aed2
Thanks to Alondria for:
...
llResetScript() is now functional. With this patch, Kan-script 0000003 should run.
Noted the llListen(0,"","","") errored due to "" != UUID - patched to set to
NULL_KEY which then works to listen to everything.
2007-12-12 22:07:40 +00:00
Jeff Ames
af6eb67999
saved OpenSim source code from the giant rampaging unterminated copyright notice of doom
2007-12-10 05:25:16 +00:00
Jeff Ames
0b4e15bc35
converted hard-coded chat type values to ChatTypeEnum
2007-11-08 03:11:10 +00:00
Tedd Hansen
dcf41cb683
ScriptServer fixes: Added more debug logging, mutex lock (to be extra-super-sure) on script load/unload, removed experimental Grid-scriptengine from compile because of dynamic module loader, and added random string to script filename to bypass module loader file lock.
...
Please delete your copy of bin/ScriptEngine/OpenSim.Grid.ScriptEngine.DotNetEngine.dll.
2007-11-01 19:27:03 +00:00
lbsa71
67e12b95ea
* Optimized usings
...
* Shortened type references
* Removed redundant 'this' qualifier
2007-10-30 09:05:31 +00:00
Sean Dague
c3d8f1f425
getting all our line endings consistant again
2007-10-05 15:45:45 +00:00
lbsa71
a963b3057b
* Replaced usage of ClientView with IClientAPI
...
* Some propertification and hideousness of fields.
2007-09-18 09:59:33 +00:00
Sean Dague
b8d9737a47
fixing me some line endings
2007-09-17 12:52:03 +00:00
Tedd Hansen
c654506b18
Implemented: llSetText, llResetScript
...
Implemented: llHTTPRequest (queue, thread, etc -- but not actuall call)
2007-09-16 03:36:13 +00:00
lbsa71
f8ddf7429e
* Wired up chat so that channel goes into OnChatFromViewer. However:
...
* There's no libsl reply packet field for it, I guess other channels than 0 makes no sense sending back to clients.
* We do not currently support objects listening, so there's really no way of actually using this feature.
So; somebody please wire chat all the way to the scripts.
2007-09-14 13:46:05 +00:00
Sean Dague
af6c9d355d
implement llGetScale and llSetScale
...
drop IScriptHost for now and just use SceneObjectPart, given how many of
SceneObjectPart's properties we need for the script engine
2007-09-13 13:06:54 +00:00
Sean Dague
afea5f2205
remove ^M, as native storage should be UNIX format, and ^M in/out mashing
...
will happen on the windows side now that eol-style is correct
2007-09-13 11:41:42 +00:00
Tedd Hansen
cef8c5e9d7
Hiding evidence that I once was a VB coder (thanks to refactoring). Renamed member names to smallcapsy.
2007-09-13 11:11:08 +00:00
Sean Dague
ffe9c9374a
mass update of urls in source code to new website
2007-09-10 08:14:38 +00:00
Tedd Hansen
5a149084d4
startup event on script added to object, not all inside object.
2007-08-28 18:22:48 +00:00
Tedd Hansen
ebb0099816
Run-time script errors are now shown in-world. No line number though, might require script to be compiled with (slow) debug information.
2007-08-26 13:31:58 +00:00
Tedd Hansen
25e200c46a
Fixed bug that occurs sometimes on script unload where queued script event was attempted executed after AppDomain was unloaded.
2007-08-26 08:20:48 +00:00
Tedd Hansen
d9b9b16513
Script compiler should now show error on correct line number in original LSL-script.
2007-08-25 21:35:03 +00:00
Tedd Hansen
80234b98e5
Removal of script that was unable to compile no longer crashes server.
...
Displays script compile error messages in-world.
2007-08-25 20:34:54 +00:00
Tedd Hansen
b75c1b2191
Added class for "long commands" (command that returns as event) with dedicated thread for processing. Added support for llSetTimerEvent(). Deleting old compiled scripts before new compile is attempted (avoids loading wrong script on compile error).
2007-08-25 19:08:15 +00:00
Tedd Hansen
53be4774b3
Scripts no longer crash sim after 5 minutes (override InitializeLifetimeService). Loading/Unloading of scripts are now handled in separate thread so server is no delayed because of this. Each script is loaded into a single AppDomain (temporary test for script unload, eats ~15KB more memory for each script). Unload of scripts has been verified to free up memory.
2007-08-25 15:31:47 +00:00
Tedd Hansen
caee73353d
Debug shows how many bytes (total) a script (assembly) uses after compile and load.
2007-08-22 20:01:04 +00:00
Tedd Hansen
4beef91d00
GC.GetTotalMemory(true) was blocking.
...
We now support individual scripts on individual prims. Do the script dance... \o/ \o\ /o/ \o/ .o.
2007-08-22 19:33:10 +00:00
Tedd Hansen
5a86fd2c31
(Untested) Scripts are individually loaded into objects (on rez), and event fired likewise. Bugfixes coming in next commit.
2007-08-22 18:09:38 +00:00
Tedd Hansen
33326c1a70
Some minor changes + krinkec's updates to ll* functions.
2007-08-20 10:58:51 +00:00
Tedd Hansen
1b826c2fdc
Added "StopScriot()" to ScriptManager. Stops Executor from executing events in script, removes script from EventQueueManagers target list, tells AppDomainManager that script is no longer active (and ready for unload).
2007-08-19 17:47:47 +00:00
Tedd Hansen
eeaac68d73
Code comments on recent changes in EventQueueManager
2007-08-19 11:38:58 +00:00
Tedd Hansen
e70cdbc5ac
Added event method invoke cache to Executor. "Bind once, Invoke multiple times". Will speed up script event execution considerable. But at the cost of some memory (will be optimized later with RuntimeXHandle).
2007-08-19 10:28:27 +00:00
Tedd Hansen
1893164d26
Moved script loading from ScriptManager to AppDomainManager. Now increases scripts loaded count in AppDomain properly.
2007-08-19 06:52:59 +00:00
Tedd Hansen
37446b0392
Moved in-AppDomain event execution from Script to OpenSim.Region.ScriptEngine.Executor. Script no longer responsible for handling event calls to itself (and we can create reference cache in Executor).
2007-08-18 23:24:38 +00:00
Tedd Hansen
240712ca9f
Scripts are working again. Scripts are now loaded into limited AppDomains (no security yet).
...
*phew* that only took me 12 hours of coding...
2007-08-18 22:09:07 +00:00
Tedd Hansen
f444fe4f87
Moved OpenSim.Region.ScriptEngine.Common.dll from bin\ScriptEngine\ to bin\ folder - hopefully solves compile problem on Linux.
2007-08-18 21:10:40 +00:00
Tedd Hansen
1d41fd4984
Working on AppDomains. Scripting is now officially broken. :]
2007-08-18 19:54:04 +00:00
Tedd Hansen
6d10c65358
Moved LSL_BuiltIn_Commands_Interface.cs to a separate library (OpenSim.Region.ScriptEngine.Common). Fixed last compile error (forgot to include LSL_BuiltIn_Commands.cs).
2007-08-18 18:53:03 +00:00
Tedd Hansen
1284369a32
Started on AppDomains for ScriptEngine. Moved llFunctions in LSL_BaseClass.cs to LSL_BuiltIn_Commands.cs. Changed how scripts are loaded.
2007-08-18 18:18:14 +00:00
Tedd Hansen
fcf7db7272
Pimped up Default.lsl. Now featuring a touch counter.
...
Changed "ObjectID" in ScriptEngine to IScriptHost reference. Events will now be queued based on IScriptHost reference instead of string ID of object. Removed "root" object reference in script.
2007-08-17 21:24:38 +00:00
Tedd Hansen
577fb1a987
Removed RAIL test from startup for now...
2007-08-17 19:47:40 +00:00
Tedd Hansen
f2dd6c86f7
Added RAIL.dll
...
Updated DotSets.dll and Mono.PEToolkit.dll
Started on microthreading - currently display exception during startup
2007-08-17 18:39:04 +00:00
lbsa71
e53d680d41
* Now sending manager, host and root host to Script in constructor.
...
* Changed how Script accesses World
* Implemented llSay, llWhisper and llShout
* Added SetText() to IScriptHost, implemented llText
* Minor renamings to conform with code conventions
2007-08-16 18:40:44 +00:00
lbsa71
25fd8d0273
* Introduced IScriptHost as an interface to fetching object data from scripts.
...
* This meant introducing AbsolutePosition on all objects (since SimChat wants that)
2007-08-16 17:08:03 +00:00
Tedd Hansen
16defc30eb
krinkec's updates to ll* interface and functions
2007-08-14 19:06:57 +00:00
Tedd Hansen
09e1f5f22e
Correct caps of Default.lsl for Linux. Thanks again krinkec. :)
2007-08-14 16:42:00 +00:00
Tedd Hansen
9573aa7582
llSay() works again. Cleanup of debug messages.
2007-08-14 16:14:19 +00:00
Tedd Hansen
afaa12a9e2
ScriptEngine: Some error handling, logs to logger
2007-08-14 15:59:36 +00:00