aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Scripting (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add missing DynamicTexture.cs file from last commitJustin Clark-Casey (justincc)2012-09-061-0/+61
|
* If reusing dynamic textures, do not reuse small data length textures that ↵Justin Clark-Casey (justincc)2012-09-064-41/+125
| | | | | | | | | fall below current viewer discard level 2 thresholds. Viewer LL 3.3.4 and before sometimes fail to properly redisplay dynamic textures that have a small data length compared to pixel size when pulled from cache. This appears to happen when the data length is smaller than the estimate discard level 2 size the viewer uses when making this GetTexture request. This commit works around this by always regenerating dynamic textures that fall below this threshold rather than reusing them if ReuseDynamicTextures = true This can be controlled by the [Textures] ReuseDynamicLowDataTextures config setting which defaults to false.
* If the GetTexture capability receives a request for a range of data beyond ↵Justin Clark-Casey (justincc)2012-09-062-3/+33
| | | | | | | | | | that of an otherwise valid asset, return HTTP PartialContent rather than RequestedRangeNotSatisfiable. This is because recent viewers (3.2.1, 3.3.4) and probably earlier ones using the http GetTexture capability will sometimes make such invalid range requests. This appears to happen if the viewer's estimate of texture sizes at discard levels > 0 (chiefly 2) exceeds the total texture size. I believe this does not normally happen but can occur for dynamic textures with are large but mainly blank. If this happens, returning a RequestedRangeNotSatisfiable will cause the viewer to not render the texture at the final resolution. However, returning a PartialContent (or OK) even with 0 data will allow the viewer to render the final texture.
* Make ReuseDynamicTextures an experimental config setting in [Textures]. ↵Justin Clark-Casey (justincc)2012-08-301-1/+4
| | | | | | | | | | Default is false, as before. If true, this setting reuses dynamically generated textures (i.e. created through osSetDynamicTextureData() and similar OSSL functions) where possible rather than always regenerating them. This results in much quicker updates viewer-side but may bloat the asset cache (though this is fixable). Also, sometimes issue have been seen where dynamic textures do not transfer to the viewer properly (permanently blurry). If this happens and that flag is set then they are not regenerated, the viewer has to clear cache or wait for 24 hours before all cached uuids are invalidated. CUrrently experimental. Default is false, as before.
* If the compile-time DynamicTextureModule.ReuseTextures flag is set, check ↵Justin Clark-Casey (justincc)2012-08-301-43/+59
| | | | metadata still exists for any reused asset in case some other process has removed it from the cache.
* This partially implements the LSL function to set the responseMic Bowman2012-08-291-1/+19
| | | | | | | | type for an HTTP request. Since the "official" LSL function limits the use of the response type, it is implemented as osSetContentType with a string for the content mime type and a threat level of high. With this function you should be able to implement rather functional media-on-a-prim application with much less difficulty.
* Add experimental DynamicTextureModule.ReuseTextures flag, currently only ↵Justin Clark-Casey (justincc)2012-08-284-55/+297
| | | | | | | | | | | configurable on compile. Disabled (status quo) by default. This flag makes the dynamic texture module reuse cache previously dynamically generated textures given the same input commands and extra params for 24 hours. This occurs as long as those commands would always generate the same texture (e.g. they do not contain commands to fetch data from the web). This makes texture changing faster as a viewer-cached texture uuid is sent and may reduce simulator load in regions with generation of lots of dynamic textures. A downside is that this stops expiry of old temporary dynamic textures from the cache, Another downside is that a jpeg2000 generation that partially failed is currently not regenerated until restart or after 24 hours.
* Add IDynamicTextureManager.ConvertData() to match AsyncConvertData(). ↵Justin Clark-Casey (justincc)2012-08-282-6/+7
| | | | Remove mismatching ConvertStream() where there is no AsyncConvertStream and neither IDynamicTextureManager implementer implements this method.
* minor: Simplify return of vector render module name and some very minor ↵Justin Clark-Casey (justincc)2012-08-271-4/+3
| | | | removal of unncessary syntax clutter
* Add VectorRenderModule.TestRepeatSameDrawDifferentExtraParams()Justin Clark-Casey (justincc)2012-08-271-2/+32
|
* Add VectorRenderModuleTests.TestRepeatDrawContainingImage()Justin Clark-Casey (justincc)2012-08-271-0/+31
|
* Add VectorRenderModuleTests.TestRepeatDraw()Justin Clark-Casey (justincc)2012-08-271-11/+48
|
* Lock disposal of separate gdi+ objects under different threads since this ↵Justin Clark-Casey (justincc)2012-08-221-26/+42
| | | | | | | | | | prevents malloc heap corruption seen under Ubuntu 10.04.1 and 11.04 - probably a libcairo issue In testing, it appears that if multiple threads dispose of separate GDI+ objects simultaneously, the native malloc heap can become corrupted, possibly due to a double free(). This may be due to bugs in the underlying libcairo used by mono's libgdiplus.dll on Linux/OSX. These problems were seen with both libcario 1.10.2-6.1ubuntu3 and 1.8.10-2ubuntu1. They go away if disposal is perfomed under lock.
* Fix the recent windows compile error by putting newFont for case "R" in ↵Justin Clark-Casey (justincc)2012-08-031-3/+8
| | | | VectorRenderModule inside its own context, rather than disposing of the old font before using it as a prototype for the new.
* attempting to fix a build issueSignpostMarv2012-08-031-2/+2
| | | | Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
* Properly dispose of all GDI+ entities used in VectorRenderModule for dynamic ↵Justin Clark-Casey (justincc)2012-08-031-253/+316
| | | | | | | textures. The convention is that if an object implements IDiposable() the code must explicitly call Dispose() or call it via the using statement. This may be particularly important for GDI+ objects since they encapsulate native code entities.
* Add simple draw test for the VectorRenderModuleJustin Clark-Casey (justincc)2012-08-021-0/+75
|
* Resolve various race conditions between accessing and removing external ↵Justin Clark-Casey (justincc)2012-06-221-132/+148
| | | | script URLs by more consistently locking on m_UrlMap
* Avoid a race condition where an incoming request to a script external URL ↵Justin Clark-Casey (justincc)2012-06-221-35/+73
| | | | | | | | | | | can trigger an exception is the URL was being removed at the same time. This involves three steps 1) Return gracefully in UrlModule.HttpRequestHandler() instead of throwing an exception when the url cannot be found in its index 2) Return true instead of false in HasEvents() if no matching request is found in the map. This call will only happen in the first place for raced requests. 3) Return a 404 in GetEvents() if the request is not in the index, rather than a blank 200 OK. Many thanks to Tom Haines in http://opensimulator.org/mantis/view.php?id=6051 for doing some of the work on this.
* Change read config paramter from max_urls_per_simulator to ↵Justin Clark-Casey (justincc)2012-06-161-1/+1
| | | | max_external_urls_per_simulator, which is what it was meant to be
* Implement max_external_urls_per_simulator setting in [LL-Functions] to allow ↵Justin Clark-Casey (justincc)2012-06-161-1/+8
| | | | | | | configuration of how many urls can be set up by llRequestURL() Defaults remains as 100. This setting is per simulator instead of per region due to how the url script module is structured.
* Make XMLRPCModule use an existing HTTP server if one already exists on the ↵Justin Clark-Casey (justincc)2012-06-151-4/+5
| | | | desired port.
* Fix llGetSimulatorHostname to return configured hostnameBlueWall2012-05-231-0/+4
|
* Modifications for SMTP in OpenSimulator. Email size limit was fixed (was out ↵Chris Koeritz2012-05-131-19/+5
| | | | | | of step with documentation at 1024, so boosted to 4096). Added configuration item for maximum email size. Redundant sleep inside email module was fixed (LSL Api was already sleeping). Added sleep time configuration item for snooze between email sending for LSL Api. Added two new configuration items (email_max_size and email_pause_time) into the example OpenSim.ini, plus fixed a spelling error (llimits) and odd tabbing. Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
* Temporarily add debug log lines to lsl url request and releaseJustin Clark-Casey (justincc)2012-05-041-0/+13
| | | | To help with http://opensimulator.org/mantis/view.php?id=5993
* Mantis 5977 Corrections to llRegionSayToTalun2012-04-231-35/+35
| | | | Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
* Allow llRegionSayTo() to work on the PUBLIC_CHANNEL, as per ↵Justin Clark-Casey (justincc)2012-03-311-1/+1
| | | | | | http://wiki.secondlife.com/wiki/LlRegionSayTo Addresses http://opensimulator.org/mantis/view.php?id=5950
* Add sensor, dataserver requests, timer and listener counts to "xengine ↵Justin Clark-Casey (justincc)2012-03-061-0/+20
| | | | | | status" command. This is for diagnostic purposes.
* Allow SmtpClients and other SSL users to work with our cert handler installedMelanie2012-01-141-9/+25
|
* Register the UrlModule for script engine events OnScriptRemoved and ↵Justin Clark-Casey (justincc)2012-01-141-1/+8
| | | | | | | | | OnObjectRemoved just once in the UrlModule itself, rather than repeatedly for every script. Doing this in every script is unnecessary since the event trigger is parameterized by the item id. All that would happen is 2000 scripts would trigger 1999 unnecessary calls, and a large number of initialized scripts may eventually trigger a StackOverflowException. Registration moved to UrlModule so that the handler is registered for all script engine implementations. This required moving the OnScriptRemoved and OnObjectRemoved events (only used by UrlModule in core) from IScriptEngine to IScriptModule to avoid circular references.
* Fix for failed http request statusBlueWall2012-01-011-14/+17
| | | | Thanks "sendapatch" for fixes to llHTTPRequest status reporting.
* Stop also adding an ordinary http handler when we set up a poll http handler.Justin Clark-Casey (justincc)2011-12-071-11/+6
| | | | It appears that this is entirely unnecessary since the poll http handlers are dealt with on a separate code path.
* Fix CHANGED_TEXTURE and CHANGED_COLOR.Melanie2011-12-051-2/+2
|
* Change default say distance to 20m from 30m, the same as on the big grid. ↵Justin Clark-Casey (justincc)2011-11-021-1/+1
| | | | | | This is to improve the migration of scripts that expect a 20m say distance. If you want to keep a 30m say distance then please set this as the say_distance parameter in the [Chat] section of OpenSim.ini.
* Get some hopefully more useful exception information when ↵Justin Clark-Casey (justincc)2011-11-022-5/+8
| | | | OpenJPEG.EncodeFromImage() fails in VectorRender and DynamicTexture modules
* Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead ↵Justin Clark-Casey (justincc)2011-10-251-0/+1
| | | | | | | | | of the other way around. This is necessary so that code in HttpServer can use framework facilities such as the thread watchdog for monitoring purposes. Doing this shuffle meant that MainServer was moved into OpenSim/Framework/Servers Also had to make OpenSim.Framework.Console rely on OpenSim.Framework rather than the other way around since it in turn relies on HttpServer MainConsole and some new interfaces had to be moved into OpenSim/Framework to allow this. This can be reverted if parts of OpenSim.Framework stop relying on console presence (cheifly RegionInfo)
* meaningless change to goose pandaJustin Clark-Casey (justincc)2011-10-111-0/+1
|
* remove unused LastAssetID from DynamicTextureUpdaerJustin Clark-Casey (justincc)2011-10-101-6/+4
|
* Added a setting to [Startup] section of config that will allow the simulator ↵Kevin Houlihan & Michelle Argus2011-09-241-3/+6
| | | | | | to start up with no regions configured. I added the boolean config setting "allow_regionless", defaulting to false. If set to true, opensim will start up ok if no region configurations are found in the specified region_info_source. It will not ask the user to create a region.
* Try disabling the inconsistent attachment state check to see if this ↵Justin Clark-Casey (justincc)2011-09-051-1/+2
| | | | | | | | actually has an impact. The code in question is over three years old and just be catching an inconsistency rather than being wholly necessary. This commit still carries out the check and prints all the previous log warnings but a 'failure' no longer prevents avatar region crossing or teleport, and it doesn't give the client the error message. This will have some kind of impact on http://opensimulator.org/mantis/view.php?id=5672
* In WorldCommModule, replace the useless Attachments == null check with ↵Justin Clark-Casey (justincc)2011-08-311-2/+1
| | | | Attachments.Count == 0 instead
* minor: seal up another instance of using the appearance list without lockingJustin Clark-Casey (justincc)2011-08-311-1/+1
|
* Make SP.Attachments available as sp.GetAttachments() instead.Justin Clark-Casey (justincc)2011-08-311-4/+8
| | | | | | | The approach here, as in other parts of OpenSim, is to return a copy of the list rather than the attachments list itself This prevents callers from forgetting to lock the list when they read it, as was happening in various parts of the codebase. It also improves liveness. This might improve attachment anomolies when performing region crossings.
* Add avatar and attachments to llRegionSayBlueWall2011-08-201-4/+67
| | | | | | | | | | | | llRegionSay will now message avatars on chan 0 and will message attachments on the avatar that listen on channels other than 0. This behavior is consistant with the LL implementation as tested on regions in Agni with one exception: this implementation does not include issue: https://jira.secondlife.com/browse/SCR-66?
* Add llRegionSayToBlueWall2011-08-191-0/+21
| | | | | | | llRegionSayTo(key target, integer channel, string messasge) Allows messages to be sent region-wide to a particular prim.
* Fix the cert validation handler so that it will not block other parts ofMelanie2011-05-131-2/+10
| | | | the server doing ssl successfully.
* Add support for llRequestSecureURL() if ssl is enabledBlueWall2011-05-051-5/+56
|
* minor: remove now inaccurate commentJustin Clark-Casey (justincc)2011-04-111-1/+1
|
* minor: adjust some spacing and indentationJustin Clark-Casey (justincc)2011-04-111-10/+10
|
* Implimented HTTP_VERIFY_CERT for llHttpRequestE. Allen Soard2011-04-111-3/+31
|