* AssetServerBase: _ProcessRequest is now called GetAsset
* PrimitiveBaseShape: The textures are now exposed as a 'TextureEntry Textures'; all serialization still using the 'byte[] TextureEntry' for backwards compatibility. * Scene: Re-added AddTree, since the Tree type isn't gone from libsl, merely relocated.afrisby
parent
dfbc6e101e
commit
87e2a694e2
|
@ -72,7 +72,7 @@ namespace OpenSim.Framework.Communications.Cache
|
|||
}
|
||||
}
|
||||
|
||||
protected override AssetBase _ProcessRequest(AssetRequest req)
|
||||
protected override AssetBase GetAsset(AssetRequest req)
|
||||
{
|
||||
byte[] idata = null;
|
||||
bool found = false;
|
||||
|
|
|
@ -54,16 +54,16 @@ namespace OpenSim.Framework.Communications.Cache
|
|||
/// </summary>
|
||||
/// <param name="req"></param>
|
||||
/// <returns></returns>
|
||||
protected abstract AssetBase _ProcessRequest(AssetRequest req);
|
||||
protected abstract AssetBase GetAsset(AssetRequest req);
|
||||
|
||||
/// <summary>
|
||||
/// Process an asset request. This method will call _ProcessRequest(AssetRequest req)
|
||||
/// Process an asset request. This method will call GetAsset(AssetRequest req)
|
||||
/// on the subclass.
|
||||
/// </summary>
|
||||
/// <param name="req"></param>
|
||||
protected void ProcessRequest(AssetRequest req)
|
||||
protected virtual void ProcessRequest(AssetRequest req)
|
||||
{
|
||||
AssetBase asset = _ProcessRequest(req);
|
||||
AssetBase asset = GetAsset(req);
|
||||
|
||||
if (asset != null)
|
||||
{
|
||||
|
|
|
@ -47,7 +47,7 @@ namespace OpenSim.Framework.Communications.Cache
|
|||
|
||||
#region IAssetServer Members
|
||||
|
||||
protected override AssetBase _ProcessRequest(AssetRequest req)
|
||||
protected override AssetBase GetAsset(AssetRequest req)
|
||||
{
|
||||
Stream s = null;
|
||||
try
|
||||
|
|
|
@ -77,7 +77,7 @@ namespace OpenSim.Framework.Communications.Cache
|
|||
m_assetProviderPlugin.CommitAssets();
|
||||
}
|
||||
|
||||
protected override AssetBase _ProcessRequest(AssetRequest req)
|
||||
protected override AssetBase GetAsset(AssetRequest req)
|
||||
{
|
||||
AssetBase asset;
|
||||
lock (syncLock)
|
||||
|
|
|
@ -916,7 +916,10 @@ namespace OpenSim.Framework.Data.MySQL
|
|||
s.ProfileEnd = Convert.ToUInt16(row["ProfileEnd"]);
|
||||
s.ProfileCurve = Convert.ToByte(row["ProfileCurve"]);
|
||||
s.ProfileHollow = Convert.ToUInt16(row["ProfileHollow"]);
|
||||
s.TextureEntry = (byte[])row["Texture"];
|
||||
|
||||
byte[] textureEntry = (byte[])row["Texture"];
|
||||
s.TextureEntry = textureEntry;
|
||||
|
||||
s.ExtraParams = (byte[])row["ExtraParams"];
|
||||
|
||||
return s;
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
|
||||
using System.Xml.Serialization;
|
||||
using libsecondlife;
|
||||
using System;
|
||||
|
||||
namespace OpenSim.Framework
|
||||
{
|
||||
|
@ -63,9 +64,10 @@ namespace OpenSim.Framework
|
|||
Flexible = 128
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class PrimitiveBaseShape
|
||||
{
|
||||
private static readonly byte[] m_defaultTextureEntry;
|
||||
private static readonly LLObject.TextureEntry m_defaultTexture;
|
||||
|
||||
public byte State;
|
||||
public byte PCode;
|
||||
|
@ -88,7 +90,35 @@ namespace OpenSim.Framework
|
|||
public sbyte PathTaperY;
|
||||
public sbyte PathTwist;
|
||||
public sbyte PathTwistBegin;
|
||||
public byte[] TextureEntry; // a LL textureEntry in byte[] format
|
||||
|
||||
[XmlIgnore]
|
||||
public LLObject.TextureEntry Textures
|
||||
{
|
||||
get
|
||||
{
|
||||
return new LLObject.TextureEntry(m_textureEntry, 0, m_textureEntry.Length);
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
m_textureEntry = value.ToBytes();
|
||||
}
|
||||
}
|
||||
|
||||
private byte[] m_textureEntry;
|
||||
public byte[] TextureEntry
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_textureEntry;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
m_textureEntry = value;
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] ExtraParams;
|
||||
|
||||
public ProfileShape ProfileShape
|
||||
|
@ -117,17 +147,19 @@ namespace OpenSim.Framework
|
|||
get { return Scale; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
static PrimitiveBaseShape()
|
||||
{
|
||||
m_defaultTextureEntry =
|
||||
new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005")).ToBytes();
|
||||
m_defaultTexture =
|
||||
new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005"));
|
||||
}
|
||||
|
||||
public PrimitiveBaseShape()
|
||||
{
|
||||
PCode = (byte) PCodeEnum.Primitive;
|
||||
ExtraParams = new byte[1];
|
||||
TextureEntry = m_defaultTextureEntry;
|
||||
Textures = m_defaultTexture;
|
||||
}
|
||||
|
||||
public static PrimitiveBaseShape Create()
|
||||
|
|
|
@ -3474,7 +3474,7 @@ namespace OpenSim.Region.ClientStack
|
|||
shape.PathTwist = addPacket.ObjectData.PathTwist;
|
||||
shape.PathTwistBegin = addPacket.ObjectData.PathTwistBegin;
|
||||
LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005"));
|
||||
shape.TextureEntry = ntex.ToBytes();
|
||||
shape.Textures = ntex;
|
||||
return shape;
|
||||
}
|
||||
|
||||
|
|
|
@ -182,7 +182,7 @@ namespace OpenSim.Region.Environment.Modules
|
|||
LastAssetID = asset.FullID;
|
||||
|
||||
SceneObjectPart part = scene.GetSceneObjectPart(PrimID);
|
||||
part.Shape.TextureEntry = new LLObject.TextureEntry(asset.FullID).ToBytes();
|
||||
part.Shape.Textures = new LLObject.TextureEntry(asset.FullID);
|
||||
part.ScheduleFullUpdate();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1006,19 +1006,18 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
}
|
||||
}
|
||||
|
||||
/* Tree has been removed from libSL
|
||||
public void AddTree(LLVector3 scale, LLQuaternion rotation, LLVector3 position,
|
||||
libsecondlife.ObjectManager.Tree treeType, bool newTree)
|
||||
Tree treeType, bool newTree)
|
||||
{
|
||||
PrimitiveBaseShape treeShape = new PrimitiveBaseShape();
|
||||
treeShape.PathCurve = 16;
|
||||
treeShape.PathEnd = 49900;
|
||||
treeShape.PCode = newTree ? (byte)libsecondlife.ObjectManager.PCode.NewTree : (byte)libsecondlife.ObjectManager.PCode.Tree;
|
||||
treeShape.PCode = newTree ? (byte)PCode.NewTree : (byte)PCode.Tree;
|
||||
treeShape.Scale = scale;
|
||||
treeShape.State = (byte)treeType;
|
||||
AddNewPrim(LLUUID.Random(), position, rotation, treeShape);
|
||||
}
|
||||
*/
|
||||
|
||||
public void RemovePrim(uint localID, LLUUID avatar_deleter)
|
||||
{
|
||||
m_innerScene.RemovePrim(localID, avatar_deleter);
|
||||
|
|
|
@ -1323,7 +1323,7 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
/// <param name="textureEntry"></param>
|
||||
public void UpdateTextureEntry(byte[] textureEntry)
|
||||
{
|
||||
m_shape.TextureEntry = textureEntry;
|
||||
m_shape.Textures = new LLObject.TextureEntry( textureEntry, 0, textureEntry.Length );
|
||||
ScheduleFullUpdate();
|
||||
}
|
||||
|
||||
|
|
|
@ -459,7 +459,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public void llSetColor(LSL_Types.Vector3 color, int face)
|
||||
{
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(m_host.Shape.TextureEntry, 0, m_host.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = m_host.Shape.Textures;
|
||||
LLColor texcolor;
|
||||
if (face > -1)
|
||||
{
|
||||
|
@ -498,7 +498,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public double llGetAlpha(int face)
|
||||
{
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(m_host.Shape.TextureEntry, 0, m_host.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = m_host.Shape.Textures;
|
||||
if (face == -1) // TMP: Until we can determine number of sides, ALL_SIDES (-1) will return default color
|
||||
{
|
||||
return (double)((tex.DefaultTexture.RGBA.A * 255) / 255);
|
||||
|
@ -512,7 +512,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public void llSetAlpha(double alpha, int face)
|
||||
{
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(m_host.Shape.TextureEntry, 0, m_host.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = m_host.Shape.Textures;
|
||||
LLColor texcolor;
|
||||
if (face > -1)
|
||||
{
|
||||
|
@ -545,7 +545,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public LSL_Types.Vector3 llGetColor(int face)
|
||||
{
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(m_host.Shape.TextureEntry, 0, m_host.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = m_host.Shape.Textures;
|
||||
LLColor texcolor;
|
||||
LSL_Types.Vector3 rgb;
|
||||
if (face == -1) // TMP: Until we can determine number of sides, ALL_SIDES (-1) will return default color
|
||||
|
@ -570,7 +570,8 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public void llSetTexture(string texture, int face)
|
||||
{
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(m_host.Shape.TextureEntry, 0, m_host.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = m_host.Shape.Textures;
|
||||
|
||||
if (face > -1)
|
||||
{
|
||||
LLObject.TextureEntryFace texface = tex.CreateFace((uint)face);
|
||||
|
@ -598,7 +599,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public void llScaleTexture(double u, double v, int face)
|
||||
{
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(m_host.Shape.TextureEntry, 0, m_host.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = m_host.Shape.Textures;
|
||||
if (face > -1)
|
||||
{
|
||||
LLObject.TextureEntryFace texface = tex.CreateFace((uint)face);
|
||||
|
@ -629,7 +630,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public void llOffsetTexture(double u, double v, int face)
|
||||
{
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(m_host.Shape.TextureEntry, 0, m_host.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = m_host.Shape.Textures;
|
||||
if (face > -1)
|
||||
{
|
||||
LLObject.TextureEntryFace texface = tex.CreateFace((uint)face);
|
||||
|
@ -660,7 +661,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public void llRotateTexture(double rotation, int face)
|
||||
{
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(m_host.Shape.TextureEntry, 0, m_host.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = m_host.Shape.Textures;
|
||||
if (face > -1)
|
||||
{
|
||||
LLObject.TextureEntryFace texface = tex.CreateFace((uint)face);
|
||||
|
@ -688,7 +689,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public string llGetTexture(int face)
|
||||
{
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(m_host.Shape.TextureEntry, 0, m_host.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = m_host.Shape.Textures;
|
||||
if (face == -1)
|
||||
{
|
||||
face = 0;
|
||||
|
@ -1172,7 +1173,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknumber);
|
||||
if (linknumber > -1)
|
||||
{
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(part.Shape.TextureEntry, 0, part.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = part.Shape.Textures;
|
||||
LLColor texcolor;
|
||||
if (face > -1)
|
||||
{
|
||||
|
@ -1219,7 +1220,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
{
|
||||
linknumber = w;
|
||||
part = m_host.ParentGroup.GetLinkNumPart(linknumber);
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(part.Shape.TextureEntry, 0, part.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = part.Shape.Textures;
|
||||
LLColor texcolor;
|
||||
if (face > -1)
|
||||
{
|
||||
|
@ -1467,7 +1468,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public LSL_Types.Vector3 llGetTextureOffset(int face)
|
||||
{
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(m_host.Shape.TextureEntry, 0, m_host.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = m_host.Shape.Textures;
|
||||
LSL_Types.Vector3 offset;
|
||||
if (face == -1)
|
||||
{
|
||||
|
@ -1481,7 +1482,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public LSL_Types.Vector3 llGetTextureScale(int side)
|
||||
{
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(m_host.Shape.TextureEntry, 0, m_host.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = m_host.Shape.Textures;
|
||||
LSL_Types.Vector3 scale;
|
||||
if (side == -1)
|
||||
{
|
||||
|
@ -1495,7 +1496,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public double llGetTextureRot(int face)
|
||||
{
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(m_host.Shape.TextureEntry, 0, m_host.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = m_host.Shape.Textures;
|
||||
if (face == -1)
|
||||
{
|
||||
face = 0;
|
||||
|
@ -2413,7 +2414,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknumber);
|
||||
if (linknumber > -1)
|
||||
{
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(part.Shape.TextureEntry, 0, part.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = part.Shape.Textures;
|
||||
LLColor texcolor;
|
||||
if (face > -1)
|
||||
{
|
||||
|
@ -2452,7 +2453,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
{
|
||||
linknumber = w;
|
||||
part = m_host.ParentGroup.GetLinkNumPart(linknumber);
|
||||
LLObject.TextureEntry tex = new LLObject.TextureEntry(part.Shape.TextureEntry, 0, part.Shape.TextureEntry.Length);
|
||||
LLObject.TextureEntry tex = part.Shape.Textures;
|
||||
LLColor texcolor;
|
||||
if (face > -1)
|
||||
{
|
||||
|
|
|
@ -634,9 +634,13 @@ namespace OpenSim.DataStore.MSSQL
|
|||
s.ProfileEnd = Convert.ToUInt16(row["ProfileEnd"]);
|
||||
s.ProfileCurve = Convert.ToByte(row["ProfileCurve"]);
|
||||
s.ProfileHollow = Convert.ToUInt16(row["ProfileHollow"]);
|
||||
|
||||
// text TODO: this isn't right] = but I'm not sure the right
|
||||
// way to specify this as a blob atm
|
||||
s.TextureEntry = (byte[])row["Texture"];
|
||||
// way to specify this as a blob atm
|
||||
byte[] textureEntry = (byte[])row["Texture"];
|
||||
s.TextureEntry = textureEntry;
|
||||
|
||||
|
||||
s.ExtraParams = (byte[])row["ExtraParams"];
|
||||
// System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
|
||||
// string texture = encoding.GetString((Byte[])row["Texture"]);
|
||||
|
|
|
@ -1014,7 +1014,11 @@ namespace OpenSim.DataStore.MonoSqlite
|
|||
s.ProfileHollow = Convert.ToUInt16(row["ProfileHollow"]);
|
||||
// text TODO: this isn't right] = but I'm not sure the right
|
||||
// way to specify this as a blob atm
|
||||
s.TextureEntry = (byte[]) row["Texture"];
|
||||
|
||||
byte[] textureEntry = (byte[])row["Texture"];
|
||||
s.TextureEntry = textureEntry;
|
||||
|
||||
|
||||
s.ExtraParams = (byte[]) row["ExtraParams"];
|
||||
// System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
|
||||
// string texture = encoding.GetString((Byte[])row["Texture"]);
|
||||
|
|
Loading…
Reference in New Issue