Commit Graph

198 Commits (9a04e0e1c4f0a959f826acce7277daf0132ef66d)

Author SHA1 Message Date
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
Jeff Ames e278d07220 refactored ChatModule a bit.
misc cleanup and code convention fixes.
2007-12-10 02:29:42 +00:00
Charles Krinke be5d8811be Added a call to m_host.SendFullUpdateToAllClients().
Thank you to Alondria for suggesting this solution
to getting kan-ed#2 to work with the llSetScale call.
2007-12-09 23:48:27 +00:00
Charles Krinke fbaa8bc9bd Some progress on 4 of the llParticleSystem members
that needed to be cast to libsecondlife.LLColor.
2007-12-09 23:04:11 +00:00
Charles Krinke 2742be6675 "list" becomes "List" in LSL2CSConverter and (f,3) becomes (f,0) in llRound. Thanks to ChrisD/Gromit for pointing these out. 2007-12-09 21:52:01 +00:00
lbsa71 9414d6a1e1 * miniscule changes just to keep myself in synch 2007-12-07 13:49:33 +00:00
Adam Frisby be7ae3dd3e * Removed 12 compiler warnings. 2007-12-04 08:18:09 +00:00
Sean Dague ee8512ee20 patch for llDie from Kurt Taylor (IBM) 2007-11-20 21:19:45 +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
Tedd Hansen 2aa9440437 Goodbye LSO to .Net translator. May your bits live on in our memories. 2007-11-01 15:13:04 +00:00
lbsa71 67e12b95ea * Optimized usings
* Shortened type references
* Removed redundant 'this' qualifier
2007-10-30 09:05:31 +00:00
MW 3d8219f6c7 as per the "Filesystem cleanup for OpenSim repository" mailing list thread. Have flattened the OpenSim.Framework project/namespace. The problem is that the namespace is still wrong as its "OpenSim.Framework" while the directory is "OpenSim\Framework\General" , so we need to decide if we change the directory or correct the namespace.
Note this has lead to a big flat project, but I think a lot of the files we most likely don't even use any longer. And others belong in other projects/namespaces anyway.
2007-10-29 21:46:25 +00:00
Sean Dague 139994757c changes to pass nini config object to the modules that get
loaded so that they may read out any bits they are interested in
2007-10-19 20:27:34 +00:00
Tleiades Hax 05df857132 Possible fix for: Remoting exceptions with adjacent non-running sims.
Bugs 449, 454, 408, 244, 197
implemented InformClientOfNeighbours as an asynchroneous process, handling timeouts without blocking the main thread.

Improved logging of errors, removed catch all in try catch
2007-10-18 15:10:43 +00:00
lbsa71 849eaffbe5 * Applied patch #418 : copyright-r2012.patch - some errors, but got most thru 2007-10-15 07:10:21 +00:00
lbsa71 a40e7100a2 * Gave ModuleLoader some good lovin'
* Introduced ModuleLoader.PickupModules that currently picks up IRegionModule:s from /bin
* Made LogBase thread-safe (or at least not thread-ignorant)
* Ignored some genned files
2007-10-10 18:24:13 +00:00
Sean Dague 29aa41daa0 Code from Illumious Beltran (IBM) implementing more LSL
The functions implemented are:

llListen
llListenControl
llListenRemove
llOpenRemoteDataChannel
llCloseRemoteDataChannel
llRemoteDataReply

The events implemented are:

listen
remote_data
2007-10-05 19:33:26 +00:00
Sean Dague c3d8f1f425 getting all our line endings consistant again 2007-10-05 15:45:45 +00:00
Dalien Talbot d1df81c221 Applied ckrinke's patch for #453. Thanks Charles! :) 2007-09-30 09:01:51 +00:00
lbsa71 3c7161d128 * Rewired Touch to route to group/part (Still triggering EventManager as well) 2007-09-20 05:22:18 +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
Brian McBee 279177219e Fixed missing Axiom references. 2007-09-16 13:02:16 +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
Tedd Hansen 88968622ea Implemented: llStringToBase64, llBase64ToString, llXorBase64Strings, llXorBase64StringsCorrect, llGetTimestamp 2007-09-15 16:45:37 +00:00
Tedd Hansen cff586df68 Bugfixed: llListRandomize
Implemented: llListSort, llList2ListStrided, llDeleteSubString, llInsertString
2007-09-15 16:16:57 +00:00
Tedd Hansen c6344fcf94 llList2Key, llList2Rot, llList2List 2007-09-15 15:55:40 +00:00
Tedd Hansen ad042f1d75 Implemented llList2CSV, llCSV2List, llListRandomize, llList2Vector, llListFindList, llListInsertList, llDeleteSubList 2007-09-15 15:45:20 +00:00
Tedd Hansen 1e0f9604a6 Will display error in main chat if unsupported llFunction is used. 2007-09-15 14:57:07 +00:00
Tedd Hansen ed68a3894c Now loading "OpenSim.Region.ScriptEngine.Common.dll" into scripts AppDomain and "using OpenSim.Region.ScriptEngine.Common;" at start of script when converted from LSL. Vectors and rotations now works. 2007-09-15 14:22:38 +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
lbsa71 1b1808d45d * fixed script compilation
* reversed //c# - if
  * rightifyed what's actually converted
2007-09-14 09:25:07 +00:00
Sean Dague 8849637493 more fun with LSL implementations 2007-09-14 08:57:13 +00:00
Sean Dague 23b8e39c1b llSetPos(), llGetPos(), llGetLocalPos() now implemented 2007-09-13 14:19:57 +00:00
Tedd Hansen 0709d96716 If first 4 characters in script is "//C#" script will be treated as pure C# instead of LSL/C# hybrid. This means no preprocessing before compile. 2007-09-13 14:15:02 +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
MW 3a1ddca8a1 Fixing namespace problems 2007-09-11 14:33:32 +00:00
MW 04cf04600c Applied ldvoipeng's patch [#360], sorry for it taking so long to apply it. If in future anyone's patch hasn't been applied within a few days, please can someone kick one of the developers with svn access. 2007-09-11 14:18:34 +00:00
lbsa71 b134617e07 * Took a stab at #388 2007-09-10 13:42:11 +00:00
Sean Dague ffe9c9374a mass update of urls in source code to new website 2007-09-10 08:14:38 +00:00
MW 5020e4e602 Cut down on the number of compile warnings. Now down to 5: 4 are related to unused events on IClientAPI and 1 is a unused variable in LSL_BuiltIn_Commands (which I'll leave to Tedd, as he will know if it will be used in the future or not). 2007-09-08 08:12:19 +00:00
MW c29df824c2 Converted the LSL scripting engine into a IRegionModule, so now all "modules" share a common base interface and are loaded from the single loader. (It seems to work fine, but I have left the old scriptengine loader, incase we have to change back).
Removed the reference to OpenJpeg in the DynamicTextureModule, to see if that was causing the build problem someone is having. 
Added a Temporary fix for the "existing connection was forcibly closed by the remote host" exception on windows when a user logs out of a multiregion instance. 
Some early work to prepare for improving the way clients are updated (about prims etc).
2007-09-08 07:50:31 +00:00
MW bfd36e2e83 Some work on Module loading/management.
Some more modules templates classes (hoping that someone will pick some of these and work on implementing them).
Early version of the "Dynamic Texture Module", although currently there are no render modules included (so not really functional without them). 
Added osSetDynamicTextureURL script function, for attaching a dynamic texture to a prim. 
Some work on the console command handling. Added "change-region <regionname>" and "exit-region" so that after the use of change-region, the commands entered will apply to that region only. Then use exit-region to return to the top level (so commands then function as they did before and either apply to all regions or to the first region) (Note: this hasn't been tested very much)
2007-09-04 13:43:56 +00:00
Tedd Hansen 5a149084d4 startup event on script added to object, not all inside object. 2007-08-28 18:22:48 +00:00
MW 6181191a03 Stopped EntityBase from implementing IScriptHost, as don't think it should, multiple objects are based on entitybase and they all don't want the baggage from IScriptHost. SceneObjectPart already implements it anyway.
Added llGetOwner function, and tested the ll functions that I added in last commit.
2007-08-27 11:18:50 +00:00
MW 4c3be4e91f Another small tweak to image sending.
Implemented a few ll Functions, llSetObjectName llGetObjectName, llLoadURL (all currently untested).
2007-08-27 10:34:28 +00:00
Brian McBee f6706e6cf8 Fixing llList2double issue (Thanks ldvoipeng) 2007-08-27 01:58:56 +00:00
Tedd Hansen 7e06df5f83 llList-commands from ldvoipeng, new Default.lsl from dalien 2007-08-26 21:21:21 +00:00
MW 291eb48fb0 Another attempt to fix the image sending bug (next week, I intend to rewrite the assetcache and asset server).
Attempt to fix bug # 326. (crashing when using save-xml and hollow prims)
Attempt to fix bug # 328 (limit of 50 items in a folder)
2007-08-26 17:57:25 +00:00
Tedd Hansen 83d5df3979 in-world run-time error-message no-w con-tains function-name. 2007-08-26 14:04:22 +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 fda97aa3c5 Bugfix for last commit, { instead of ( 2007-08-26 08:43:46 +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 0cd6d26adb Fixed error on shutdown caused by ThreadAbortException sending message through already disposed logger. Thanks ckrinke 2007-08-25 22:26:27 +00:00
Tedd Hansen 53ef427e9e Forgot mutex lock on List<> for timers 2007-08-25 21:50:28 +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
MW 4b42bc5311 oops , shouldn't have committed my local testing changes 2007-08-25 20:38:57 +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
MW 65d6ef1bc1 Test to see if this change improves or makes worse the texture sending bug 2007-08-25 20:33:53 +00:00
Tedd Hansen 05a7f44d73 testing Tedds temporary CIA-standin 2007-08-25 20:07:46 +00:00
Tedd Hansen 370f36e4e1 testing Tedds temporary CIA-standin 2007-08-25 20:04:05 +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 07836b890c Lowered priority of script threads. Executing state_entry() event on script rez. 2007-08-23 18:43:11 +00:00
Brian McBee 107469ed93 More lsl functions (thanks to ldviopeng and wjordan!) 2007-08-23 05:26:02 +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 0eadb7591e Added OnRemoveScript event handler to ScriptEngine. Fixed event queuing of empty objects crash. 2007-08-22 18:41:31 +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
lbsa71 5403153c15 A case of 'while I was working someone set me up the bomb'. 2007-08-22 16:04:04 +00:00
lbsa71 22537aa620 * Added stub OnRezScript handler with plentiful of comments 2007-08-22 15:29:47 +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 7770c65a7e Sped up EventQueueManager response time (scripts now respond quickly). Added support for multiple threads executing events on objects, but only one thread on one script at the time (to utilize MultiCore/hyperthreading CPU's). 2007-08-19 11:09:54 +00:00