Commit Graph

448 Commits (032a4ee9b5d6081ba05bd38590e55d511f9ae7db)

Author SHA1 Message Date
Mike Mazur 11a3fbf4aa Conversion from double to LSLInteger needs to be explicit. Fix issue 1826. 2008-07-27 07:09:33 +00:00
Mike Mazur 6267db0c4c Implement LSLFloat {+,-,*,/} LSLFloat operations. Fix issues 1532, 1701, 1824 &
1832.
2008-07-27 05:42:47 +00:00
lbsa71 8e869b2fff * Changed a number of field names to ccc (public members shouldn't be called m_) 2008-07-26 21:22:15 +00:00
Mike Mazur 19ad7db5e1 Add casts from integer to float. Fix issue 1822. 2008-07-25 07:50:31 +00:00
Mike Mazur e60cf0e67d -add test for newly introduced cast operators (issue 1818)
-fix formatting
-remove CompilerTest test since it seems to fail randomly
2008-07-25 04:47:11 +00:00
mingchen 6554c7bac5 *Fixes #0001818: typecast string to float 2008-07-25 03:39:38 +00:00
Dahlia Trimble c1e239dedc llApplyImpulse now accepts any non-zero integer as not FALSE 2008-07-25 02:06:40 +00:00
Jeff Ames a4ad6a67b7 Update svn properties. Minor formatting cleanup. 2008-07-24 15:20:47 +00:00
Dahlia Trimble f74a9bcdc7 Implements llSetForce() and llGetForce(). These are experimental and the units may not match the Linden implementation. 2008-07-24 07:45:58 +00:00
Mike Mazur 117cc09edc Replace implicit casts from LSLFloat to int and uint which were removed in
r5487.

Also put the unit tests back for Bamboo to execute them, let's see how this
goes.
2008-07-24 05:23:38 +00:00
Sean Dague cf317f5c33 refactor TaskInventoryItem Mask -> Permissions to be consistant with how things
are stored in the db.
2008-07-23 22:14:29 +00:00
Melanie Thielker db06e628de Attempt to fix Mantis #1804
Fetches the correct link part to chenge.
Please provide feedback, since I was not able to test all variants of this huge function.
2008-07-23 18:37:43 +00:00
Sean Dague 090159defc refactored LandData to use properties, and cleaned up the naming on
the properties a bit to be more consistant with other objects (having things
like .Name .Description, etc).
2008-07-23 15:50:32 +00:00
Jeff Ames 80d8e2889e Update svn properties. Formatting cleanup. Remove a compiler warning. 2008-07-23 13:24:25 +00:00
Mike Mazur 003487631d Fix issue 1760. If the inventory item is not found, llSay() and throw an exception. 2008-07-23 08:03:32 +00:00
Dahlia Trimble ce90e2ecce some optimizations in quaternion normalization in llRot2Fwd, llRot2Left, and llRot2Up. llAxes2Rot now uses these functions for sign error correction instead of vector*quat products. 2008-07-21 09:36:22 +00:00
Dahlia Trimble 08f3d212ce does some verification of the quaternion returned by llAxes2Rot and modifies the sign of the s term if a discrepency is found. This helps llAxes2Rot more closely match the Linden implementation. 2008-07-21 05:34:31 +00:00
Melanie Thielker 8ae7dc628b Make the max sizes of physical and nonphysical prims configurable in OpenSim.ini
Defaulted to 65536 and 10, respectively
2008-07-20 15:19:26 +00:00
Charles Krinke 9ff9279a7c Mantis#1785. Thank you kindly, Junta_Kohime for a patch that"
llAxes2Rot now implemented. Important note: quaternion <x,y,z,s> 
is equal to <-x,-y,-z,-s>. The result may be different from LSL 
output, but it is correct. A problem of rounding caused an error 
of square rooting of zero as negative number, corrected by squaring 
again. Function tested 360° along 3 axes. Vector fwd, left and up 
have to be normalized.
2008-07-19 14:45:10 +00:00
Melanie Thielker bcf74416a1 Fix prim link numbers (Mantis #1781)
Implements additional unlink modes (unlink root prim from link set, some
multi-set operations). Linking (single and mutiple) fully implemented.
Consistent numbering of links while in world. Link/delink with predictable
link numbering. Correct link numbers in LSL.
Not all multi-set ops implemented. Link numbers still change when taken and
re-rezzed.
2008-07-19 04:05:34 +00:00
Charles Krinke c0e389cfff Mantis#1778. Thank you kindly, Junta_Kohime for a patch that:
llRot2Left and llRot2Up functions modified, using fast algebric 
calculations instead of vectors and quaternions products. 
The accuracy is the same. Normalization is now implemented.
2008-07-18 19:09:51 +00:00
Justin Clarke Casey 03bd6c91a9 * Fix http://opensimulator.org/mantis/view.php?id=1761
* Now llGetLinkNumber() returns 0 if the prim is not linked, instead of 1
2008-07-18 11:51:27 +00:00
Mike Mazur 8b613e677f Implement cast to LSL_Types.LSLInteger from double. Fix issue 1770. 2008-07-18 07:52:44 +00:00
Mike Mazur 0b92ff4fde Treat LSL_Types as special cases in llList2Integer and llList2Float. This could be implemented many other places, but let's do that on a case-by-case basis. 2008-07-18 02:05:20 +00:00
Charles Krinke bc24c0e5d7 Mantis#1768. Thank you kindly, Junta_Kohime for a patch that:
llRot2Fwd function modified, using fast algebric calculations 
instead of vectors and quaternions products. The accuracy is 
the same. Normalization is now implemented.
2008-07-18 01:20:06 +00:00
Charles Krinke 26fd0595d7 Mantis#1598. Thank you kindly, Matth for a patch that addresses:
The previous implementation of llEuler2Rot was not mathematically 
incorrect, but it was an awkward way of posing the problem that 
led to a few degenerate cases which were not handled correctly - 
for example, PI rotations around X and Z axes were wrong. I put 
some comments in the source about how I arrived at the current 
implementation, which I think is easier to read, and gives 
results that match SL.
2008-07-17 19:11:56 +00:00
Charles Krinke 0106f96716 Mantis#1755. Thank you kindly, Matth for a patch that solves:
When using math operators +,-,*,/ in an LSL script with an LSLFloat 
and an integer literal the wrong result is returned. This patch 
adds operators to the LSLFloat type to handle this case.
2008-07-16 14:30:22 +00:00
Charles Krinke 4350613f1d Mantis#1746. Thank you kindly, nlin for pointing out that
I needed to apply the patch a little better then last night
for: Dot product operator in LSL_Types.cs incorrectly returns 
a component-wise vector multiplication; it should return a 
scalar dot product. Thanks to M. Igarashi for the patch.
2008-07-16 03:07:54 +00:00
Charles Krinke 4848dcf0e3 I had to revert the Mantis#1746 patch as although the local build
with Windows compiled, the automated build failed.
2008-07-15 03:17:45 +00:00
Charles Krinke ff16a886c1 Mantis#1746. Thank you kindly, nlin & M.Igarashi for a patch that:
Dot product operator in LSL_Types.cs incorrectly returns a 
component-wise vector multiplication; it should return a scalar 
dot product. Thanks to M. Igarashi for the patch.
2008-07-15 03:06:38 +00:00
Charles Krinke b100b841b3 Mantis#1739. Thank you kindly, Grumly57 for an additional patch that:
Changed code to include Melanie's advice about X-SecondLife-Region, 
then put the exact same content format as a llHTTPRequest issued by 
other grids.
2008-07-14 17:47:12 +00:00
Charles Krinke 00791594ad Mantis#1739. Thank you kindly, Grumly57 for a patch that:
Implements X-SecondLife-* HTTP Headers for llHTTPRequest
2008-07-14 13:51:54 +00:00
Melanie Thielker 07bd749ac5 Patch #9150
Patch 7 of the region patches. Finish off the region parts of the estate dialog. Full user functionality. Terrain textures, heights, water, avatar counts, prim bonus, debug settings and region toggles can now be set from the dialog on a per-region basis. Estate stuff defaults to sane values where there are no defaults, to estate_settings.xml otherwise. Sun still b0rked :(
2008-07-14 01:39:36 +00:00
Melanie Thielker e712678689 Patch #9147
Patch #4 of the region settings series. Partial functionality of the new
storage system. More patches to follow.
2008-07-14 01:27:47 +00:00
Charles Krinke 33971a7ce8 Mantis#1681. Thank you kindly, Vytek for a patch that:
Adds additional support for llEmail().
2008-07-12 17:23:30 +00:00
Charles Krinke 132b95ec95 Mantis#1714. Thank you kindly, Krtaylor for a patch that:
Solves llGetListLength fails scripts when list is not initialized.
2008-07-12 17:11:43 +00:00
Charles Krinke e6d3f7c39d Mantis#1691. Thank you kindly, Phrearch for a pactch that:
Solves llGetCameraPos() implementation + permission bug.
2008-07-12 17:04:56 +00:00
Charles Krinke 38da8960e9 Mantis#1707. Thank you, Melanie for a patch that:
This patch limits the maximum size of prims that can be created using libsl bots 
or modified clients to 65536mper side. It also limits LSL functions to that size.
If a prim is already physical, the enforced constraint is 10m.
A prim that is larger than 10m cannot be turned physical, either via script or UI.
Linksets are handled correctly, so scaling of physical linksets is constrained by 
the size of it's largest component prim. Also, turning linksets physical is based 
on the size of it's largest ptim.
2008-07-10 03:13:29 +00:00
Charles Krinke c9a7bf7e58 Mantis#1673. Thank you kindly, Matth for a patch that:
LSLInteger + literal integer is not an LSLInteger.
The included patch fixes the issue: LSLInteger + literal 
integer is not an LSLInteger (also fixed for -,*,/)
2008-07-10 00:40:38 +00:00
Charles Krinke 130cbd4376 Mantis#1704. Thank you kindly, Mjm for a patch that:
The attached patch implements llRemoveInventory().
2008-07-09 18:03:22 +00:00
MW 58ce018625 for testing purposes only:
added void osSetParcelMediaTime(double time) command to script engines. 
which sets the position of the media that is playing. Time is in seconds.
Doesn't do any security checking (should be checking that the object/script is owned by the parcel owner). So could be abused, if it is then we should remove it, or add the security.
Only tested in dotnet scripting engine, but should work in XEngine too.
2008-07-09 12:02:01 +00:00
Charles Krinke 01904e66f2 Mantis#1690. Thank you kindly, Melanie for a patch that:
esets script permissions when a script is recompiled.
2008-07-08 15:16:43 +00:00
Sean Dague 867d72c956 change SitTarget calls from functions to properties 2008-07-07 20:12:14 +00:00
Charles Krinke dfd5e675c0 Mantis#1678. Thank you kindly, Vytek for a patch that:
Changes ...TimeOfDay.Milliseconds to ...TimeOfDay.TotalMilliseconds
for llGetTimeOfDay() in both LSL_Api.cs and LSL_BuiltIn_Commands.cs
2008-07-06 18:39:37 +00:00
Jeff Ames d470d30c09 Copyright notices and formatting cleanup. 2008-07-06 14:02:22 +00:00
Charles Krinke f6375fceb4 Mantis#1674. Thank you kindly, Matth for a patch that:
This patch fixes an error in llSetPrimitiveParams() that 
prevents correctly setting the type of the prim to SCULPT_TYPE.
2008-07-06 03:47:21 +00:00
Charles Krinke fdbf0c39d2 Add implementation of llGetTimeOfDay() 2008-07-05 16:46:03 +00:00
Charles Krinke 103093cf11 Mantis#1654. Thank you kindly, Matth for a patch that:
Updates llGetPrimitiveParams() and associated files.
2008-07-03 15:34:05 +00:00
Charles Krinke 35ec3b7a3f Mantis#1649. Thank you kindly, Matth for a patch that:
This patch adds the ability to set the prim type using llSetPrimitiveParams(). 
Seems to work ok, but there are a staggering number of cases to test, 
so I have not yet tested them all.
2008-07-02 23:19:00 +00:00
Sean Dague 2c113c00cf property encapsulation for SOP 2008-07-02 20:31:17 +00:00
Dr Scofield 5e63206018 From: kurt taylor (krtaylor)
Another new OSSL function for returning the name of the script engine
currently running, osGetScriptEngineName, added to both DotNet and XEngine
OSSL API.
2008-07-01 07:16:02 +00:00
MW 037b31f9db patch from mantis #1632, thanks Melanie 2008-06-29 12:33:45 +00:00
Charles Krinke 2f70baee52 Mantis#1623. Thank you, Melanie for a patch that:
Fully defines the equality operators on the lsl types and plubs 
in the script engine side of the work begun in 0001616 (aly, this one's for you)
2008-06-28 16:18:47 +00:00
Charles Krinke 9a0ef22ed9 Mantis#1616. Applied Melanie's patch. This may or may
not break trunk.
2008-06-28 16:08:12 +00:00
Dr Scofield 55a4cf33a3 From: Kurt Taylor <krtaylor@us.ibm.com>
Patch to fix the passed parms and properly show llTakeCamera and
llReleaseCamera as deprecated. Patch for both XEngine and DotNetEngine.
2008-06-28 07:30:49 +00:00
Dr Scofield 748f72326d last round of warning squashing. calling it a day now. 2008-06-27 23:03:39 +00:00
Charles Krinke 1646f42a80 Mantis#1615. Thank you, Matth for a patch that:
causes deprecated LSL functions to throw the deprecated 
exception rather than not-implemented.
2008-06-27 19:13:42 +00:00
Justin Clarke Casey 9bf67201c3 * Remove responsibilty for signalling scene object change from SceneObjectPart.SendFullUpdate()
* This means that we will no longer pointlessly repersist all the prims in the scene when OpenSim first starts up
* This also means that force-update on the console will not trigger repersistence.
* Also, in other places persistence is no longer done where it wasn't actually necessary
* I think I changed the code for all instances correctly, but it's not possible that I missed some and some things which did persist properly have stopped
* Please patch or mantis if this is the case
2008-06-27 16:36:19 +00:00
Charles Krinke 3697e0898c Mantis#1612. Thank you, kindly, Matth for a patch that:
Adds the beginnints of llRemoteLoadScriptPin() and 
llSetRemoteScriptAccessPin().
2008-06-27 02:22:33 +00:00
Charles Krinke 176efe3f06 Mantis#1610. Thank you, Melanie for a patch that:
Implements the beginning of llInventoryDrop. Doesn't cover 
the actual dropping yet, just the permissions for it.
2008-06-26 23:37:21 +00:00
Charles Krinke 1cd6b71b60 Mantis#1594. Thank you, Melanie for a patch that:
Fixes:
- Wearable icon and name sreset to default on copy/paste
- Cache is not updated when renaming/moving folders
- Partial refactor to make inventory less dependen on AssetBase having a "Name" field
- Add llGiveInventoryList() function
2008-06-26 02:46:29 +00:00
Jeff Ames a2b1a1787d Minor formatting cleanup. 2008-06-25 14:30:28 +00:00
Charles Krinke c7edabd2d3 Mantis#1590. Thank you kindly, Melanie for a patch that:
Makes items appear in the item type folder, rather than in the root
2008-06-25 01:24:00 +00:00
Charles Krinke f6bf4c39be Mantis#1587. Thank you kindly, Melanie for a patch that:
Add permissions magling to llGiveInventoryItem, 
correct some corner case functionality
2008-06-24 23:55:33 +00:00
Charles Krinke dc0d089bf5 Mantis#5189. Thank you kindly, Matth for your patch
to add the beginnings of llGiveInventory().
2008-06-24 21:23:28 +00:00
Justin Clarke Casey de24380233 * Remove all use of asset.InvType, as outlined in mailing list discussion
* This is stage 1, the field will be removed from AssetType and the assets table if this change doesn't prove problematic
2008-06-23 18:01:58 +00:00
Charles Krinke d976ee477b Mantis#1573. Thank you kindly, Mikem for a patch to our
LSL subroutine implementation to solve an infinite loop
in llParseString2List() under certain circumstances.
2008-06-20 00:00:09 +00:00
Jeff Ames a728417eda Minor formatting cleanup. 2008-06-18 03:50:39 +00:00
Justin Clarke Casey ea52e71205 * minor: Remove LINK_SET debug Console Writeline
* only appeared in DotNetEngine's LSL_BuildIn_Commands.cs
* Nice spot Ewe Loon (http://opensimulator.org/mantis/view.php?id=1548)
2008-06-13 17:11:33 +00:00
Charles Krinke 3b4c2c1ff1 A little minor cleanup and harmonizing between LSL_BuiltIn_Commands.cs
and its copy LSL_ScriptCommands.cs
2008-06-13 01:54:53 +00:00
Jeff Ames 5910a49da6 Update svn properties. Formatting cleanup. 2008-06-10 08:35:46 +00:00
Charles Krinke 0d07cf9ddd Mantis#1469. Thank you kindly, Mikem for a patch that addresses:
Currently LSL code such as below does not compile on OpenSim, but compiles fine in Second Life:
list mylist = [];
mylist += [1, 2, 3];
mylist += "four";
list newlist = mylist + 5.0;
The problem is that the LSL_Types.list class does not have an operator for adding a string to a list.
I am including a patch which implements adding a string, integer or float to a list.
I am also including tests. The file LSL_TypesTestList.cs belongs in 
OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/.
2008-06-09 01:06:59 +00:00
Teravus Ovares 6ecb7c05b3 * Fixed it so you can do a lot more llDetected* methods in many additional situations and have it work.
* script Collision reporting works now in DotNetEngine
2008-06-08 22:53:52 +00:00
Teravus Ovares c53892aa90 * Added compiler pre-processor, #if SPAM to SensorRepeat... so if you really want to see, "[AsyncLSL]: GetSensorList missing localID" and SetSensorEvent, then you can #define SPAM 2008-06-08 21:15:44 +00:00
Teravus Ovares 524998ba3e * Fixes llDetectedKey. 2008-06-08 19:54:49 +00:00
Teravus Ovares bd2361ae33 * llSetPrimitiveParams PRIM_FLEXIBLE is now supported. 2008-06-06 22:44:48 +00:00
Teravus Ovares 8c507b633b * Added Light control from script in LLSetPrimitiveParams. 2008-06-06 22:28:52 +00:00
Teravus Ovares ed41ba8a3d * Added a configuration option for allowing god script lsl methods.. such as llSetObjectPermMask. By default it's off. 2008-06-06 21:39:42 +00:00
Teravus Ovares be44969927 * Adds semi broken PRIM_FLEXIBLE support for prim. It's semi-broken because it won't do the setting of the prim flexi from not-flexi, however, it'll tweak the parameters of an already existing flexi prim. 2008-06-06 19:58:39 +00:00
Charles Krinke d66de83938 Mantis#1459. Thank you kindly, CMickeyb for a patch that:
the function that reports errors in event handling is not computing the 
line numbers correctly for windows paths (and probably linux paths). 
As a result, the conversion to int throws an exception.
note... i'm not sure why we extract the line number, convert it to an int, 
then convert it back to a string... but hey... :-)
2008-06-05 19:30:35 +00:00
Charles Krinke 3a4b54adaa Mantis#1451. Thank you kindly, Mikem for a patch that addresses:
LSL scripts in which a float type is cast to a string or a string type 
is cast to a float do not compile. When the script is translated from 
LSL to C#, the LSL float type is translated into double. There is no 
string <-> double cast in C#, so compilation fails.
There is a LSLFloat type, however it seems unfinished and is not used.
I am attaching a patch that implements the LSLFloat type. I have also 
added two methods to the LSLString type to facilitate float <-> string casts.
2008-06-05 13:54:20 +00:00
Teravus Ovares e12baa5eb3 * This sends collision events to the script engine.
* Unfortunately, there's some kludges with the Async manager and the llDetected functions that I have yet to decipher...  so llDetected functions don't work with collision events at the moment....
2008-06-05 13:24:59 +00:00
Charles Krinke 994932bb60 Mantis#1447. Thank you kindly, Kinoc for a patch that:
llKey2Name fix to show avatar name instead of "Basic Entity"
One line fix. Replaces "presence.Name" => 
"presence.ControllingClient.Name" to return avatar's name.
2008-06-04 14:47:12 +00:00
MW 964ce083ff applied patch from mantis #1268 , thanks mikem 2008-06-04 12:16:26 +00:00
Jeff Ames 4ec4e16c80 Formatting cleanup, minor refactoring, svn properties. 2008-06-04 09:59:27 +00:00
Charles Krinke 84b4158205 Mantis#1422. Thank you kindly, Xantor for your llLoopSound()
patch and I apologize for my confusion with the interim 
patch earlier.
2008-05-30 16:37:17 +00:00
Charles Krinke 48d0084e53 Mantis#1422. Thank you kindly, Xantor for a patch that :
- volume doesn't change with a new llLoopSound(same sound, new volume);
- SendFullUpdateToClients sends 0's in all sound related fields when 
there's no sound on the prim, thereby improving the amount of data being 
sent out on these prims (fixes zeropack)
- Removed some code duplication between llStartSound, llLoopSound and llParticleSystem() calls
2008-05-30 15:34:54 +00:00
Jeff Ames 0462510956 Update svn properties. Formatting cleanup. 2008-05-30 08:35:57 +00:00
Dr Scofield 5b0d47dddb thanks krtaylor for a
Patch to cleanup some incorrect parsing, boundry conditions 
	and error checking in the llGetNotecardLine and 
	llGetNumberOfNotecardLines functions.
2008-05-30 07:38:45 +00:00
Charles Krinke a84456c239 Mantis#1411. Thank you kindly for Dataserver.cs and a patch
that adds function stub to request region info by name and
adds llRequestSimulatorData() and the dataserver event
2008-05-29 13:55:02 +00:00
Charles Krinke 91b75eda85 Mantis#852. Thank you kindly, cmickeyb for a patch that:
There appears to be a problem with the mapping of scripts when an llHTTPRequest completes. 
CheckHttpRequests() looks for a function that maps to the localID associated with the http 
request. However, the only context in which it looks is that of the first region. That is,
m_CmdManager.m_ScriptEngine.m_ScriptManager is the same no matter where the script executed 
that initiated the llHTTPRequest. Since scripts appear to be loaded into a region specific 
scriptmanager on startup, the event handler is only found for requests coming from the first region.
2008-05-29 13:42:29 +00:00
Sean Dague b0be8075cd From: Kurt Taylor <krtaylor@us.ibm.com>
Attached is an initial implementation of llGetNotecardLine and
llGetNumberOfNotecardLines. I decided to go ahead an send these out for
comment while I continue to work on the second part of the proper
implementation. These functions work and return the values requested, as
initially defined in the code, but should be properly implemented to return
the requested information via a dataserver event.  This
event will be added and these functions fixed and included in a second
patch shortly.
2008-05-28 21:43:41 +00:00
Charles Krinke 06147d0492 Mantis#1406. Thank you kindly, Xantor for a patch that:
llLoopSound sends out one packet to clients in view, so it doesn't work anymore 
when clients enter later on, or the prim is modified in any way.
Solution: Stored sound data on prim, send full update instead.
llStartSound and llLoopSound now accept both LLUUIDs to a sound as well as object 
inventory sound names. llStopSound clears prim data and sends full update.
2008-05-28 14:03:08 +00:00
Jeff Ames 5752c1f5c2 Formatting cleanup. 2008-05-28 03:44:49 +00:00
Charles Krinke 6d51eef9ce Thank you, Grumly57 kindly for:
This patch proposes a new function : osOpenRemoteDataChannel(key channeID) 
that allow to open an XMLRPC channel for remote_data event. The difference 
is that the channelID can be customized instead of being randomly generated.
2008-05-28 02:06:56 +00:00
Dr Scofield 30a9469757 disabling m_log again. 2008-05-26 15:53:04 +00:00
Dr Scofield 1bb1d5d9b0 This cleans up a merge mess from the earlier checkin and implements llOwnerSay()
via the newly created Scene.SimBroadcast() call.
2008-05-26 15:37:31 +00:00
Jeff Ames 5d77625e9a Update svn properties. Formatting cleanup. 2008-05-25 23:27:38 +00:00
Teravus Ovares c20f7d6171 * A hacky Top Scripts display. It isn't accurate as far as ms accounting, however you can use it to help find out what scripts are causing your simulator to cry.
* Access it from the Estate tools/Debug tab.
2008-05-25 20:50:45 +00:00
Charles Krinke 83bfd29af8 Thank you very much, Xantor for a patch that:
Copying, reseting, dragging scripts cause unnecessary recompilation, 
slowing down the simulator and filling up the ScriptEngines directory 
with compiled .dll and misc. files.
This patch keeps track of compiled assets since the last simulator restarts, 
and only recompiles new assets. (editing a script generates a new asset, 
so no problems there).
2008-05-25 19:26:21 +00:00