Commit Graph

175 Commits

Author SHA1 Message Date
Tedd Hansen
8dc5153ad7 Added header/footer of scripts to make C# and VB scripts much easier to write.
Added some logging on what is happening during compile.
2008-02-02 03:42:35 +00:00
Tedd Hansen
5c8abed450 Bugfix: LSL was mapped to VB.Net compiler ... that didn't work out so well :) 2008-02-02 03:17:38 +00:00
Tedd Hansen
e06ee9fd4b Added load/unload queue size limit
Added option to share script load/unload thread between regions
Added event execution queue size limit
+ some bugfixes from all the changes
2008-02-02 03:11:06 +00:00
Tedd Hansen
8ccc12d642 Added OpenSim.32BitLaunch.exe that can be used on 64-bit systems to run OpenSim in 32-bit mode.
Added VISUAL BASIC.NET-support
//cs, //lsl and //vb as first characters of script will determine what compiler is used.
Compile warnings are no longer treated as errors. Script will still run.
Added a few useless and useful config options:
Write script source to harddisk for debug, Default compile language, Allowed compilers (languages), compile in release or debug mode, clean up old scripts on startup
Loads of warnings for incorrect config
2008-02-02 02:35:56 +00:00
Tedd Hansen
667197f24d Added OpenSim.32BitLaunch.exe that can be used on 64-bit systems to run OpenSim in 32-bit mode.
Fixed ScriptEngine.Common startup problems.
2008-02-02 00:59:22 +00:00
Tedd Hansen
d02a90823f SCRIPTING STILL BROKEN
Added comments and regions, restructured code
Changed a lot of AppDomain junk from console from using Console.Write to Log.Verbose and set it to #if DEBUG
All modules should now refresh their configuration runtime
Made all logging in ScriptEngine.Common get script name from actual engine
Renamed LSLLongCmdHandler to AsyncLSLCommandManager
Added auto-recover with 5 sec throttle for new MaintenanceThread
2008-02-01 23:36:36 +00:00
Tedd Hansen
a9c1f3fdb4 Experimental
Moved DotNetScriptEngine configuration to config file.
Added option to share script execution threads between regions.
2008-02-01 20:12:25 +00:00
Tedd Hansen
50dcd33bab Giving Mantis #388 a shot 2008-01-22 09:00:49 +00:00
Tedd Hansen
da8923450a Small bug in ResetScript 2008-01-21 12:00:27 +00:00
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
a993d0d335 ScriptServer communication is ok. Script is creatd on onrez. But since it can not access Scene it sort of crashes right away ;)
Added some sample placeholders for implementing rest of LSL events.
2008-01-12 10:25:08 +00:00
alondria
90ccc248e8 Implements llModifyLand() - Still needs some tweaking to match LL's effect on how much to effect the land. 2008-01-12 04:30:47 +00:00
alondria
c2ca98519b Linking osTerrainGetHeight, osTerrainSetHeight, and osRegionRestart to LSL_BaseClass to allow them to be called in LSL scripts. 2008-01-12 03:23:11 +00:00
Jeff Ames
ef674acc24 Fix some warnings under mono. 2008-01-11 21:08:37 +00:00
Tedd Hansen
6bcf44e141 Added const definintions for sculpted prims. 2008-01-10 19:21:37 +00:00
Tedd Hansen
260145a7e6 Dynamic loading of ScriptEngine in ScriptServer
ScriptServer event pipe (OpenSim->ScriptServer->ScriptEngine) should in theory be done
2008-01-09 17:13:02 +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
966f639ad6 Changes to ScriptServer to (hopefully) make it compile on both .Net and Mono.
Some debug info for startup added to find bugs. ++
2008-01-05 15:48:02 +00:00
Tedd Hansen
9eba3d2f89 Fixed string issue in compiler 2008-01-01 11:28:56 +00:00
Tedd Hansen
a8cb20355c Correction of last commit 2007-12-31 19:31:40 +00:00
Tedd Hansen
ff4f2f5681 Changed type comparison from String to object type 2007-12-31 19:18:17 +00:00
Tedd Hansen
6055db2bc3 server->script event path almost ready for remote scriptengine (translation table between local script ID and remote script ID missing) 2007-12-30 22:37:07 +00:00
Tedd Hansen
527b5f86a2 In this commit I am using an editor feature called "Save All" before I commit. 2007-12-30 16:34:54 +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
lbsa71
87e2a694e2 * AssetServerBase: _ProcessRequest is now called GetAsset
* PrimitiveBaseShape: The textures are now exposed as a 'TextureEntry Textures'; all serialization still using the 'byte[] TextureEntry' for backwards compatibility.
* Scene: Re-added AddTree, since the Tree type isn't gone from libsl, merely relocated.
2007-12-27 14:00:30 +00:00
Adam Frisby
2cb222806b * Fixed compile issue caused by half-refactoring (sorrry!) 2007-12-27 05:48:27 +00:00
Adam Frisby
af406bf6fa * Added osRegionRestart(float secs) to LSL Commands
* Added osRegionNotice(string msg) to LSL Commands
* Added PermissionManager checks for osTerrainSetHeight, osRegionRestart.
2007-12-27 05:26:52 +00:00
Adam Frisby
8b6dd623bd * Added osTerrainSetHeight(int x, int y, double val) to LSL commands
* Added osTerrainGetHeight(int x, int y) to LSL commands
2007-12-27 05:20:03 +00:00
Teravus Ovares
87d55443d3 * Added slightly better object sit handling
* Added sit handling for sit targets
* Implemented llSitTarget()
* Implemented llAvatarOnSitTarget()
* Sit targets do not persist sim restart.
2007-12-27 03:25:00 +00:00
Charles Krinke
fa2495ae6b Again, great thanks to Alondria for:
Adding:: llSetParcelMusicUrl(), llGetRootPosition(), llGetRootRotation(), 
llGetGeometricCenter(), llSetLocalRot(), llListReplaceList(), 
llGetObjectPrimCount(),llGetParcelDetails(), llGetParcelMaxPrims(), 
llWater(), llGetLocalRot(), and llGetAccel()
2007-12-24 21:16:32 +00:00
Teravus Ovares
b2903c4a8a * Patch from Alondria - Added LLFunctions llGetMass(), llGetLandOwnerAt(), llGetVel(), llGround() 2007-12-23 13:14:56 +00:00
Charles Krinke
5cd6f235ce Thank you, Alondria for:
Reverts the LSL Texture/Color functions back to the original code, allowing them to function again
2007-12-22 22:49:37 +00:00
Jeff Ames
be2ad79e52 Added patch from Johan. First attempt to solve the LibSL.Packet GC problem. Works with LibSL rev>1532 2007-12-20 05:43:02 +00:00
Charles Krinke
94ec2a508a Thank you very much, CharlieO for:
Added: llSetLinkAlpha() and finished off llSetLinkColor() by adding the ability to use LINK_SET.
2007-12-19 21:48:50 +00:00
Charles Krinke
16174dac6e Thanks to CharlieO for:
llSetLinkColor() and a temp place holder for llOwnerSay() since many example scripts that are copy/pasted from outside sources have llOwnerSay() and its obnoxious to change in scripts each time.
2007-12-19 02:30:28 +00:00
Charles Krinke
6f389ba4cf Many Thanks to Alondria for adding:
The list type and a bunch of support functions to LSL  
Added/ReImplmented: llGetListLength(), llList2Integer(), osList2Double() (note rename), 
    llList2Float(), llList2String(), llList2Key(), llList2Vector(), llList2Rot(), 
    llList2List(), llDeleteSubList(), llGetListEntryType(), llList2CSV(), llCSV2List(), 
    llListInsertList(), llDumpList2String(), 
Borked Still: llListSort(), llListRandomize(), llList2ListStrided(), llListFindList(),
Changed: llHTTPRequest() (Made wrapper of LSL_Types.list->List<string>)
2007-12-18 02:41:34 +00:00
Charles Krinke
8e8c26acac Again, thanks to Alondria for:
Added: LinkNum to SceneObjectPart
Added: Bunch-o settings of LinkNum in SceneObjectGroup
Added: llGetNumberOfPrims()
Added: llGetLinkNumber()
Added: llGetLinkKey()
Added: llGetLinkName() (and change to string return type)
2007-12-17 02:30:03 +00:00
Charles Krinke
fd360406b9 Thanks again to Alondria for adding: math support for
rot * rot, vec / rot, == and != overriders for Rotations and Vectors.
Also: llRotBetween(), llGetRegionTimeDilation(). And fixing:
Error in LSL2CSConverter that botched a variable with a type name in it (ex: rotationCenter)
Fixed: Error in LSL2CSConverter that parsed which() loops incorrectly.
Fixed: Changed definition of Quaternion to <x, y, z, r> from <x, y, z, t> (As per LSL)
Finished: llEuler2Rot()
2007-12-15 16:26:32 +00:00
Charles Krinke
9ca70e029a Again, thanks to Alondria for: adding llGetTime, llResetTime, and llGetAndResetTime.
Also for fixing Rot/Vector Regex from being too greedy by removing bug in the 
LSL->C# converter that was causing the vector and rotation parser.
2007-12-14 16:10:56 +00:00
Sean Dague
f773733fcb From Michael Osias (IBM)
This patch makes some enhancements to the llRemoteData functions.  The
module is now a shared module, and allows remote data channels to be
created among multiple regions in the same sim.  The port is controlled
from the remoteDataPort property under the [Network] section in
OpenSim.ini.  If this setting is not present or = 0, the module is
disabled and no port is opened.  llRemoteData commands have not effect
when module is disabled.
2007-12-13 19:50:21 +00:00
Sean Dague
7625438ade From Michael Osias (IBM)
This patch implements the llHttpRequest function via a region module,
HttpScriptsRequest.  There were bits and peices in LSLLong_cmd_handler,
which I moved into the region module, and just check for completed
requests and dispatch the http_response callback event instead.

works for me as of r2674
2007-12-12 22:14:43 +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
Charles Krinke
47b091f663 Thanks to Alondria for: Adding vector->string and rotation->string,
float * vector, vector * float, vector / float, vector + vector,
vector - vector, vector * vector, vector % vector and changing
x, y, z, (and r) parts of vector and rotation to be lower case 
(similar to LL's LSL vectors/rots). With these changes we should 
expect to run kan-ed#1, kan-ed#2 and most of kan-ed#3.
2007-12-12 17:18:15 +00:00
lbsa71
ffd60baa48 * The 'Create' functions should be called to factor up a new, otherwise empty, but with the Id and 1-to-1 child fields instantiated and randomized.
* Added two shape constants that
2007-12-11 13:30:08 +00:00
Charles Krinke
22acc23755 Great Salutations to Alondria for providing implementations for:
llFrand, llSetColor, llGetColor, llSetTexture, llGetTexture,
llSetAlpha, llGetAlpha, llRotateTexture, llScaleTexture,
llOffsetTexture, llGetTextureOffset, llGetTextureScale, llGetTextureRot.
With these changes the "kan-ed" script #2 should be working.
2007-12-10 21:38:01 +00:00
Jeff Ames
081a66d570 added musings on llInstantMessage 2007-12-10 05:58:30 +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