Commit Graph

105 Commits

Author SHA1 Message Date
John Hurliman
4b75353cbf Object update prioritization by Jim Greensky of Intel Labs, part one. This implements a simple distance prioritizer based on initial agent positions. Re-prioritizing and more advanced priority algorithms will follow soon 2009-10-15 16:35:27 -07:00
Melanie
6878b26b0d Merge branch 'diva-textures-osgrid' 2009-10-04 05:49:16 +01:00
John Hurliman
387e9f7a7f * Creates Util.UTF8 and switches some references of Encoding.UTF8 to Util.UTF8 (not all references were switched since not all OpenSim libraries reference OpenSim.Framework)
* Shrinks the largest in-memory object, the LLRAW.HeightmapLookupValue struct (only used for exporting to LLRAW terrain files), to the minimum possible size. This seems to have the odd side effect of cutting the size of the two double[256,256] terrain objects in half. Possibly an alignment optimization?
2009-10-02 18:31:08 -07:00
dr scofield (aka dirk husemann)
2107b67f1b - cleaning up LandData/ILandObject capitalization issues
- adding LandDataSerializer to OAR mechanics
2009-10-02 11:31:30 +02:00
Diva Canto
5757afe766 First pass at the heart surgery for grid services. Compiles and runs minimally. A few bugs to catch now. 2009-09-26 07:48:21 -07:00
Rob Smart
4f3975f04e addition of a new script function osSetParcelSIPAddress(string SIPAddress), now including iVoiceModule
This patch allows the land owner to dynamically set the SIP address of a particular land parcel from script. This allows predetermined SIP addresses to be used, making it easier to allow non OpenSim users to join a regions voice channel.

Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-09-18 15:47:15 +02:00
dr scofield (aka dirk husemann)
d8a787bd89 fix: unicode notecards not surviving script treatment (fixes #4119 ---
perhaps).
2009-09-09 09:56:07 +02:00
dr scofield (aka dirk husemann)
953581698d - making font name used by VectorRenderModule configurable: can be set
via

      [VectorRender]
      font_name = "Comic Sans MS"

  in OpenSim.ini

- adding osSetFontName OSSL function
2009-08-31 10:30:10 +02:00
Arthur Valadares
3d6edc04a3 Implements osDrawPolygon, similar to already implemented osDrawFilledPolygon 2009-08-28 17:48:03 -03:00
Arthur Valadares
efb287f28f Implemented osPenCap, that sets EndCap and StartCap to Pen. This allows using arrow, diamond, round and flat caps.
* Made image request safer, if it can't find an image for any reason, draws a square where the image should be and a message alerting the user.
2009-08-25 10:32:45 -03:00
Arthur Valadares
7923fd29a0 Adds osDrawPolygon to OSSL. Works a little different then other OS Drawing functions, this one has no start and end point, but a number of points that will form the desired polygon. Only FilledPolygon implemented so far.
* Also added some LSL transparent type conversion, as it's done in LSL scripting (string to integer, float to string, etc)
2009-08-21 21:12:22 -03:00
Adam Frisby
f7c5eca978 * Moves NPC Creation across AppDomains to prevent a major perfomance issue. 2009-08-21 15:12:50 +10:00
Adam Frisby
01f394d203 * Fleshes more of NPCModule out.
* Implements some OSSL commands:
        key osNpcCreate(string user, string name, vector position, key cloneFrom);
        void osNpcMoveTo(key npc, vector position);
        void osNpcSay(key npc, string message);
        void osNpcRemove(key npc);
* Untested. Requires ThreatLevel.High.
2009-08-21 11:14:55 +10:00
Melanie
7a2a2e68e7 Remove the script sponsor logic because scripts are timing out again.
This needs to be looked into. This commit, unfortunately, reinstates
a memory leak in regions that see significant script fluctuation,
e.g. lots of scripted attachments, or script development.
2009-08-14 14:18:56 +01:00
Jeff Ames
bc6ec3b564 Formatting cleanup. 2009-08-09 00:43:13 +09:00
Melanie
0b0ed200f6 Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim 2009-08-08 01:43:28 +01:00
Teravus Ovares (Dan Olivares)
2b990a61bf This is the second part of the 'not crash on regionsize changes'. This lets you configure region sizes to be smaller without crashing the region. I remind you that regions are still square, must be a multiple of 4, and the Linden client doesn't like anything other then 256. If you set it bigger or smaller, the terrain doesn't load in the client, the map has issues, and god forbid you connect it to a grid that expects 256m regions. 2009-08-07 20:31:48 -04:00
Melanie
0d2167b6db Update threat level description 2009-08-08 00:53:34 +01:00
Melanie
6c6527caae Thank you, Godfrey, for a patch that implements osGetLinkPrimitiveParams
Fixes Mantis #3979
Applied with changes. Changed ThreatLevel to High since all discovery
functions are a high threat. Overriding that is the responsibility
of the grid owner.
2009-08-07 21:51:03 +01:00
Melanie
4ee8d8a813 Another stab at cmickeyb's patch for script GC.
Moved the Close() for the appdomain-hosted parts into a new destructor
on ScriptInstance.
2009-08-07 20:43:23 +01:00
Melanie
178b40971a Add a method to init the OSSL Api's m_LSL_Api member back to the OSSL Api 2009-08-07 19:50:47 +01:00
Melanie
f8d8366bfa Revert the XEngine memleak patch, it causes premature GC.
This matches behavior seen with an earlier attempt to do this, apparently
the sponsor mechanism does't work in Mono
2009-08-07 03:04:06 +01:00
Melanie
91f6898b26 |From: James J Greensky <jame.j.greensky@intel.com>
|Date: Wed, 5 Aug 2009 09:51:52 -0700
|Subject: [PATCH] Closed two major memory leaks for scripted objects
|
|Two major memory leaks for the scripted objects were fixed
|- One leak had to do with remoting acrossing app domains.  When a script and
|  its controlling agent communicate across an application boundary, it calls
|  functions on a stub proxy object that then invokes the remote method on
|  the object in the other app domain. These stub objects (two for each script)
|  were setup to have infinate lifetimes and were never being garbage collected.
|- The second leak was the result of adding a scene object part instance method
|  to a scene event and never removing it.  This cause the event's delegate list
|  to maintain a link to that object which is then never freed as the scene event
|  object is never destroyed.

Patch applied, please direct feedback to me. Possible issue: Longtime idle
scripts like vendors may fail.
2009-08-06 22:03:20 +01:00
Melanie Thielker
3564271c2d Restore the functionality that was removed in r9928. This lets the load
balancer plugin work again. Create a new method, GetClientEP, to retrieve
only the EndPoint for script usage. Marked the purpose of the method
in IClientAPI.cs with a warning. Also restored the corresponding SetClientInfo
functionality.
2009-07-01 15:47:52 +00:00
Jeff Ames
a23d64dec1 Formatting cleanup. 2009-06-10 04:28:56 +00:00
Dr Scofield
759636f37e From: Alan Webb <alan_webb@us.ibm.com>
This change addresses two issues:

  [1] It adds a flag field to the blendface call which allows the
      caller to indicate whether or not the generated asset is
      temporary, and whether or not the asset being replaced should
      be explicitly retired fromt the memory cache. The decimal
      values correspond to:
      0 - Permanent asset, do not expire old asset
      1 - Permanent asset, expire old asset
      2 - Temporary asset, do not expire old asset
      3 - Temporary asset, expire old asset
      '3' corresponds to the default behavior seen today, and is
          the continued behavior of the non-blendface calls.
  [2] The dynamic texture routines are highly-asynchronous and can
      be scheduled simultaneously on a multi-core machine. The nature
      of the texture management interfaece is such that updates may
      be lost, and the nature of asynchornous operation means that
      they may be processed out of order. A lock has been added to
      ensure that updates are at least atomic. No attempt has been
      made to enforce ordering. The lock applies to the SceneObjectPart
      being updated and is held for the lifetime of the TextureEntry
      used to carry texture updates (the one instance carries all
      faces supported by the prim).

   Users of these services should remember that the dynamic texture
   call is asynchronous and control will be returned *before* the
   texture update has actually occurred. As a result, a isubsequent
   GetTexture call may not return the expected asset id. A script
   must wait for the corresponding TEXTURE_CHANGED event before
   retrieving any texture information.
2009-06-09 06:39:27 +00:00
Dr Scofield
717fd3b5b9 From: Chris Yeoh <yeohc@au1.ibm.com>
This patch adds oar file date and time (UTC) meta data to an oar file
when it is created.  It also adds a unique ID, though this id does not
in anyway identify the machine that the oar file was created on.

When an oar file with this meta data is loaded this extra information
is saved with the region settings and available via LSL through:

- osLoadedCreationDate()
- osLoadedCreationTime()
- osLoadedCreationID()

If there is no meta data these fields will be blank. Subsequent oar
file loads will erase the information for the previous oar file
load. Persistence has only been implemented for MySQL, the other
backends need updating.

Overall this allows us to much more easily identify the specific version of
software that clients are using. Its very straightforward to edit the oar file
to change the ID string to be something more human friendly.

Included in the patch is a new file OpenSim/Data/MySQL/Resources/030_RegionStore.sql
required for the MySQL DB migration.

btw I had a chat with justincc about this a few weeks ago since he
wrote the oar file import/export and he sounded happy to accept
something that included date/time information but didn't want anything
that would silently leak private information like machine names.
2009-06-03 12:48:04 +00:00
Jeff Ames
840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
Dr Scofield
3b689e506f From: Alan Webb <alan_webb@us.ibm.com>
Changes to support client-side image pre-caching in the region. This
  commit adds an additional calling sequence to the DynamicTexture data
  and URL calls. The new interface allows a dynamic image to be loaded
  into a specific object face (rather than the mandatory ALL_SIDES
  supported today.
  This is in part fulfilment of ticket #458.
2009-05-22 16:22:49 +00:00
diva
5e4fc6e91e Heart surgery on asset service code bits. Affects OpenSim.ini configuration -- please see the example. Affects region servers only.
This may break a lot of things, but it needs to go in. It was tested in standalone and the UCI grid, but it needs a lot more testing.
Known problems: 
* HG asset transfers are borked for now
* missing texture is missing
* 3 unit tests commented out for now
2009-05-15 05:00:25 +00:00
Homer Horwitz
1d234ca83f Fixed handling of inventory a bit
- AssetType isn't InventoryType. Those enums contain different numbers. Use AssetType for the asset type, InventoryType for the inventory type.
- The ToString method (or ToLower) of AssetType/InventoryType doesn't necessarily return the correct LLSD string.
- Replaced several magic numbers by their corresponding enum.
- Fixed the invType for gestures and animations in the library.
This should fix Mantis #3610 and the non-terminating inventory loading
2009-05-09 21:11:12 +00:00
Melanie Thielker
36a02441c5 Thank you, Orion_Shamroy, for a patch to expand notecard reading
capabilities in OSSL.
Fixes Mantis #3543
2009-04-27 14:16:01 +00:00
Melanie Thielker
d98a916006 Thank you, Orion_Shamroy, for a patch that adds osGetNotecardLine and
osGetNumberOfNotecardLines
Fixes Mantis #2942
2009-04-27 12:05:49 +00:00
Homer Horwitz
33e1316ced Terrain changes done via osTerrainSetHeight aren't shown immediately to the clients in
that region. I decided against sending the terrain on every call to osTerrainSetHeight
(which makes it abysmally slow), and added a osTerrainFlush instead, which should be
called after all the terrain-changes have been done. Changed some return types to
LSL types, too, and removed some end-of-line spaces.
2009-04-19 13:34:28 +00:00
Justin Clarke Casey
e999c78600 * Also use the profile cache for osKey2Name() 2009-04-17 17:33:31 +00:00
Justin Clarke Casey
be1855f163 * Use cached user profiles in osAvatarName2Key() 2009-04-17 17:22:58 +00:00
Sean Dague
a5ceb1a2a0 From: Christopher Yeoh <yeohc@au1.ibm.com>
The attached patch implements osKey2Name and osName2Key
which converts between a UUID key for an avatar and
an avatar name and vice-versa.

osKey2Name is similar to llKey2Name except that it will work
even if the avatar being looked up is not in the same region
as the script.
2009-04-09 15:04:02 +00:00
Jeff Ames
465f1df592 Add copyright headers, formatting cleanup. 2009-04-06 14:36:44 +00:00
diva
75873b6253 Thanks BlueWall for a patch that adds Hypergrid dynamic linking to osTeleportAgent. Fixes mantis #3408. 2009-04-05 16:41:27 +00:00
Charles Krinke
54a27f9f5c Thank you kindly, MCortez for a patch that:
With some support from HomerH, this patch adds support for Wind 
Model plugins via the mono.Addin framework.
* Adds console & OSSL access to Wind Parameters
* Adds plug-in support for custom wind models
* Provides two example Wind Model plug-ins
Documentation for the wind module is temporarily located at http://code.google.com/p/flotsam/wiki/CoreWindModule [^] 
-- will move this documentation to http://opensimulator.org [^] 
after the patch has been committed.
2009-03-31 02:33:19 +00:00
Dr Scofield
c8aaf538e4 - adding osGetAgents() which returns a list of all avatars in the region
in which the script is running.

 -  found a bag of space characters under my desk, thought i'd donate them
    to the JSON OSSL function (aka clean up)
2009-03-26 12:08:18 +00:00
Melanie Thielker
c6da0fda58 Thank you, mcortez, for patch to add functionality to the sun module.
Fixes Mantis #3313
2009-03-20 22:42:21 +00:00
Charles Krinke
9e0329f1dc Fixes Mantis #3294. Thank you kindly, Godfrey, for a patch that:
Attached is a patch which provides osAvatarPlayAnimation() the ability to 
also trigger animations contained within the same prim as the script, as 
llStartAnimation() does. (It also modifies osAvatarStopAnimation(), 
otherwise the script wouldn't be able to stop animations it had started.)
2009-03-15 19:45:42 +00:00
Melanie Thielker
ddbf81fa07 Thank you, mcortez, for a patch that fixes a number of long standing
issues with the sun module.
Fixes Mantis #3295
2009-03-13 23:45:02 +00:00
Justin Clarke Casey
f12619b786 * refactor: Remove GetLandOwner function from Scene
* Simplify since the land is never null
2009-03-06 20:44:31 +00:00
Justin Clarke Casey
3d70dbd01d * refactor: move media and music url setting from scene into LandObject 2009-03-05 20:53:23 +00:00
MW
202f990d2a After another heroic and bloody battle, OpenSim Dino Expedition 1, killed off OsSetParcelMediaTime, which was only ever added for testing. And all the logic code of it has been commented out for a long time. 2009-03-02 11:03:11 +00:00
Sean Dague
7f727bd33e This adds a new osGetAgentIP function with threat level set to High. It
isn't tested, but it doesn't break anything else.  The reason for this
function is to let in world tools be used to coordiante out of world
network services that need access to client ip addresses.
2009-02-26 22:37:02 +00:00
Charles Krinke
8f55b9d735 Mantis#3218. Thank you kindly, TLaukkan (Tommil) for a patch that:
* Added log4net dependency to physxplugin in prebuild.xml.
* Added missing m_log fields to classes.
* Replaced Console.WriteLine with appropriate m_log.Xxxx
* Tested that nant test target runs succesfully.
* Tested that local opensim sandbox starts up without errors.
2009-02-22 20:52:55 +00:00
Sean Dague
383f8b3ac6 From: Christopher Yeoh <yeohc@au1.ibm.com>
The attached patch implements osGetDrawStringSize that looks like:

vector osGetDrawStringSize(string contentType, string text, string
fontName, int fontSize)

in LSL. It is meant to be used in conjunction with the osDraw*
functions. It returns accurate information on the size that a given
string will be rendered given the specified font and font size.
This allows for nicely formatted and positioned text on the generated
image.
2009-02-18 12:56:36 +00:00