Commit Graph

52 Commits (9439a92202e07b901ab60fda6d22b7625c86536a)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 9456bb77fb Upgrade nunit.framework.dll to version 2.5.9. Fix up tests appropriately.
This version removes the NUnit.Framework.SyntaxHelpers namespace, so any modules with their own tests will need to delete this using statement.
2011-03-09 23:25:24 +00:00
Justin Clark-Casey (justincc) 9b345ebf73 factor out SetPartMediaFlags() function in MoapModule. 2011-03-05 02:42:47 +00:00
Justin Clark-Casey (justincc) 9e579a7891 Fold ClearMediaEntry() back into SetMediaEntry() 2011-03-05 02:21:53 +00:00
Justin Clark-Casey (justincc) 9f85ee29ac Change MoapModule.ClearMediaEntry to set TextureEntryFace.MediaFlags back to false
Implement test for ClearMediaEntry()
2011-03-05 02:18:03 +00:00
Justin Clark-Casey (justincc) 72cb498fd0 minor: Make MoapModule namespace consistent with other modules 2011-03-05 01:13:59 +00:00
Justin Clark-Casey (justincc) 481ca910da add test for MoapModule.SetMediaUrl() 2011-03-05 01:07:05 +00:00
Justin Clark-Casey (justincc) 3c89527b22 Fix bug where llSetPrimMediaParams() reported success but never set the media texture.
We weren't setting the TextureEntryFace.MediaFlags = true when a media texture was set directly via a script.  This was being done when the viewer was setting them directly.
2011-03-05 00:06:51 +00:00
Jeff Ames f1f0bc23f4 Formatting cleanup. 2010-09-12 13:43:49 -04:00
Justin Clark-Casey (justincc) 1270727c96 Merge branch 'moap' 2010-08-06 18:29:30 +01:00
Justin Clark-Casey (justincc) 99c0f4c9c7 Simplify serialized version string. Change element capitalization for consistency
THIS CHANGE ALTERS THE SERIALIZATION FORMAT, HOPEFULLY FOR THE LAST TIME.  If you're testing, please start with a new database.
This commit also improves locking for manipulation of media entries.
2010-08-03 17:09:20 +01:00
Justin Clark-Casey (justincc) 9d8a67fe13 get rid of PrimitiveBaseShape.MediaRaw staging post
using an OSD serialization rather than auto forces serialization code to be placed in OpenSim.Framework
this makes the media texture raw data staging post in PrimitiveBaseShape redundant, now we just directly call the code in PrimitiveBaseShape.MediaList itself
2010-08-03 16:26:27 +01:00
Justin Clark-Casey (justincc) ac07d853b8 remove duplicated serialization code 2010-08-03 15:58:17 +01:00
Justin Clark-Casey (justincc) 60df76314f serialize media textures to inventory with a largely osd representation rather than .net auto-serialization
THIS WILL BREAK ANY EXISTING MEDIA TEXTURE SERIALIZATIONS.  If you're testing this, please start with new databases.
This makes media textures serialized in the same way, which is probably better in the long term.
2010-08-03 15:45:49 +01:00
Justin Clark-Casey (justincc) f067f733ea add userExposed parameter to part copy event 2010-07-28 19:38:20 +01:00
Justin Clark-Casey (justincc) 0f15ccb2cf relocate moap specific cloning code to MoapModule 2010-07-28 19:23:30 +01:00
Justin Clark-Casey (justincc) 5aa56b1274 Fix problem where changes to media textures for prims duplicated by shify copy would change both prims until server restart
I also found out that you can crash the current viewer by giving it more media entrys than it's expecting
2010-07-28 18:55:29 +01:00
Justin Clark-Casey (justincc) b149d8970e comment out verbose debug logging 2010-07-27 22:49:45 +01:00
Justin Clark-Casey (justincc) 30ac67fb3d make MoapModule ignore possible future media texture data that it can't handle 2010-07-27 20:15:43 +01:00
Justin Clark-Casey (justincc) ac542a907b Make MoapModule ignore non-sl media texture data 2010-07-27 18:59:05 +01:00
Justin Clark-Casey (justincc) 4d23749241 provide config option for media on a prim 2010-07-26 23:34:23 +01:00
Justin Clark-Casey (justincc) 412fed975f relocate serialization code from SQLiteRegionData to MoapModule using load and save events.
This is better modularity.  It also allows MoapModule to be replaced with some other media module that may behave completely differently in the future.
Remaining non-modularity:
PrimitiveBaseShape needs explicit Media and MediaRaw fields.  MediaRaw is required in order to shuttle the pre-serialization data back and forth from the database layer.
The database also needs to know about MediaRaw though not about Media.
IMO, it would be extremely nice to remove these hard codings but this is a bridge too far at the present time.
2010-07-26 23:34:23 +01:00
Justin Clark-Casey (justincc) b51b2efdc8 Add EventManager.OnSceneObjectPreSave() for future use. This is triggered immediately before a copy of the group is persisted to storage 2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc) 586ae0f6a0 Add EventManager.OnSceneObjectLoaded() for future use. This is fired immediately after a scene object is loaded from storage. 2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc) d764c95d09 also add avatar id to an updated media url - not just new ones 2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc) b06308e1d3 Properly set TextureEntry.MediaFlags when a media texture is set
Media flags is cleared via a direct TextureEntry update from the client.  If the clearing leaves no media textures on the prim, then a CAP ObjectMediaUpdate is not received.  If there are still media textures present then one is received.
This change fixes drag-and-drop on Windows (and Mac?) clients.  It may also fix problems with clearing and then subsequently setting new media textures.
2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc) 60c52ac0c4 start adding user ids to the media urls 2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc) cd985ab71b Handle checking of line starting "*" wildcard for whitelist patterns
A line starting * can only be applied to the domain, not the path
2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) 664cbe2357 refactor: simplify current whitelist url checking by using System.Uri 2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) 0edabffb7d Implement * end wildcard for whitelist urls 2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) dce7307aa2 properly expose prim media LSL functions to scripts
scripts using these functions should now compile but I don't know how well the methods themselves work yet
llSetPrimMedia(), at least, appears to have problems when a current url is set for a face that doesn't yet have a texture
2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) 049ccba8d3 fix previous media interact serverside checking. perform very basic serverside url whitelist checks
at the moment, only checking for the exact name prefix is implemented
for some reason, whitelists are not persisting
this commit also fixes a very recent problem where setting any media texture parameters after the initial configuration would not work
2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) cf7573c8fd implement code to deregister users on DeregisterCaps 2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) ee6cd884c9 implement serverside checks for media texture navigation in order to stop naughty clients 2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc) 51b208e96c implement prim media control permissions serverside in order to stop bad clients 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc) e5615d3a9b discard an object media update message if it tries to set more media textures than the prim has faces 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc) eb5e39d6ef Fire CHANGED_MEDIA event if a media texture is set or cleared 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc) 39a38c4901 implement llClearPrimMedia()
untested
2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc) d1a879927c fix issue with GetMediaEntry if the face requested wasn't set to a media texture 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc) 43f480864b fix problem persisting when only one face had a media texture 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc) c76e2ce250 factor out common code for updating the media url 2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc) 74bc4f61fd factor out common face parameter checking code 2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc) a5ad792e6c implement llSetPrimMediaParams()
Untested
2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc) 8f403cb4b8 Implement llGetPrimMediaParams()
Exposes method to get media entry via IMoapModule
As yet untested.
2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc) 4ebae14a53 handle ObjectMediaNavigateMessage
Other avatars can now see the webpages that you're navigating to.
The requirement for an initial prim click before the texture displayed has gone away.
Flash (e.g. YouTube) appears to work fine.
Still not persisting any media data so this all disappears on server restart
2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc) 468450a94d send a full object update out to avatars when a media texture is initially set
this allows other avatars to see it, but still only after they've clicked on the face
still not handling navigation yet
2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc) 4a6adff4cd start storing a mediaurl on the scene object part
not yet persisted or sent in the update
2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc) c290cdd997 replace hand parsing of incoming object media messages with parsing code in libopenmetaverse 2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc) acac47830e start storing incoming MediaEntry on a new Media field on PrimitiveBaseShape
This allows the media texture to persist in memory - logging in and out will redisplay it (after a click) though navigation will be lost
Next need to implement media uri on prim and delegate more incoming llsd parsing to libomv
2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc) 9301e36fbc have a stab at sending the correct number of media entries to shapes
actually, this is probably wrong anyway if there's a default texture
it's going to be easier just to gather the object media updates and retain those in-memory now
but what the hell
2010-07-26 23:34:17 +01:00
Justin Clark-Casey (justincc) 701f39c8c2 do a whole load of crappy hacking to get cubes to display google.com
currently, for smoe reason the page only appears when you click a face.
also, actually navigating anywhere always snaps you back to the google search box, for some unknown reason
you can still change the url and normal navigation will work again
2010-07-26 23:34:17 +01:00