Commit Graph

12762 Commits (9d8a67fe1348419c41374d1be77737bfa048106c)

Author SHA1 Message Date
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) a349703279 comment out further debug line in BaseHttpServer 2010-07-27 22:51:57 +01:00
Justin Clark-Casey (justincc) b149d8970e comment out verbose debug logging 2010-07-27 22:49:45 +01:00
Justin Clark-Casey (justincc) 1996eb93b9 Update OpenMetaverse libraries to r3287 + r3294 (removal of OpenMetaverse.Http.dll dependency) + r3378 (treat MediaPermission as a bitfield)
As far as I can determine, r3287 + r3294 patch was the previous update to the OpenMetaverse libraries
This change just adds r3378 to overcome problems storing media textures with certain permission combinations in inventory
This is a limited change in order to isolate moap from any other possible libomv update issues
An update to the forthcoming libomv 0.8.3 is expected in due course to replace this
This commit also deletes OpenMetaverse.Utilities.* as it's unused (on the advice of jhurliman).
2010-07-27 21:52:50 +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) 931c108277 Merge branch 'moap' of ssh://opensimulator.org/var/git/opensim into moap 2010-07-26 23:39:05 +01:00
Justin Clark-Casey (justincc) 109ddd1bd5 add mssql support for media on a prim
compiles but not tested.  please test and correct if necessary!
2010-07-26 23:34:23 +01:00
Justin Clark-Casey (justincc) 849fc0483f add mysql support for media on a prim 2010-07-26 23:34:23 +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) afdbeba4e4 Put a wrapper around the media texture region serialization
THIS WILL BREAK EXISTING MEDIA TEXTURE PERSISTENCE.  Please delete your existing sqlite databases if you are experimenting with this branch.
This wrapper will make it easier to maintain compatibility if the media texture data evolves.
This will also make it easier to store non-sl media texture data.
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) f872a2af11 add missing regionstore migration file for new fields. D'oh!
this should enable persistence now
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) fc76ce0f46 fix bug where prim persistence would fail if media had never been set 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) a9101feb10 factor out soon to be common media permissions check code 2010-07-26 23:34:20 +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) cfb79cd411 minor: correct a few method names and change accessability 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) 9682e0c733 Implement media texture persistence over server restarts for sqlite
This is currently persisting media as an OSDArray serialized to LLSD XML.
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) b1eb83ed6c start sending media url in object full updates 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