mirror of
https://github.com/opensim/opensim.git
synced 2026-08-04 16:22:50 +08:00
Sqlite datastore should now save the textures and extraparams data (used by sculpties) correctly. [Really need to add a ExtraParams field to the sqlite database though, but for now I have combined their data so that we don't lose backward compatibility, know a couple of people have been using the datastore already].
Now have a rough day/night cycle (the movement of the sun needs to be made smoother but for now it is better than we had I think). Added dalien's patch (issue 294) for saving and loading prims to a xml file (think he will be modifying these to be import/export functions and maybe writing a xml datastore for backups). Some preliminary work on task inventory (ie object's/prim's inventory). Added place holder data for AvatarProperties (ie a avatar's profile). Should we store this sort of data on the user server or have another server for it (a normal webserver should work). Added a few more method to IClientAPI. Sure there is something I'm forgeting.
This commit is contained in:
@@ -156,7 +156,7 @@ namespace OpenSim.Framework.Communications.Caches
|
||||
}
|
||||
if (this.OnUpLoad != null)
|
||||
{
|
||||
this.OnUpLoad(this.m_assetName, "description", this.newAssetID, inventoryItemID, LLUUID.Zero, data);
|
||||
this.OnUpLoad(this.m_assetName, "description", this.newAssetID, inventoryItemID, LLUUID.Zero, data, "" , "");
|
||||
}
|
||||
return text;
|
||||
}
|
||||
@@ -373,7 +373,7 @@ namespace OpenSim.Framework.Communications.Caches
|
||||
}
|
||||
if (this.OnUpLoad != null)
|
||||
{
|
||||
this.OnUpLoad(this.m_assetName, "description", this.newAssetID, inventoryItemID, LLUUID.Zero, data);
|
||||
this.OnUpLoad(this.m_assetName, "description", this.newAssetID, inventoryItemID, LLUUID.Zero, data, "" , "" );
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ using OpenSim.Framework.Data;
|
||||
|
||||
namespace OpenSim.Region.Capabilities
|
||||
{
|
||||
public delegate void UpLoadedAsset(string assetName, string description, LLUUID assetID, LLUUID inventoryItem, LLUUID parentFolder, byte[] data);
|
||||
public delegate void UpLoadedAsset(string assetName, string description, LLUUID assetID, LLUUID inventoryItem, LLUUID parentFolder, byte[] data, string inventoryType, string assetType);
|
||||
public delegate LLUUID UpdateItem(LLUUID itemID, byte[] data);
|
||||
public delegate void NewInventoryItem(LLUUID userID, InventoryItemBase item);
|
||||
public delegate LLUUID ItemUpdatedCallback(LLUUID userID, LLUUID itemID, byte[] data);
|
||||
@@ -113,7 +113,7 @@ namespace OpenSim.Region.Capabilities
|
||||
/// <returns></returns>
|
||||
public string CapsRequest(string request, string path, string param)
|
||||
{
|
||||
//Console.WriteLine("caps request " + request);
|
||||
// Console.WriteLine("caps request " + request);
|
||||
string result = LLSDHelpers.SerialiseLLSDReply(this.GetCapabilities());
|
||||
return result;
|
||||
}
|
||||
@@ -270,7 +270,7 @@ namespace OpenSim.Region.Capabilities
|
||||
/// <returns></returns>
|
||||
public LLSDAssetUploadResponse NewAgentInventoryRequest(LLSDAssetUploadRequest llsdRequest)
|
||||
{
|
||||
// Console.WriteLine("asset upload request via CAPS");
|
||||
//Console.WriteLine("asset upload request via CAPS" + llsdRequest.inventory_type +" , "+ llsdRequest.asset_type);
|
||||
|
||||
string assetName = llsdRequest.name;
|
||||
string assetDes = llsdRequest.description;
|
||||
@@ -280,7 +280,7 @@ namespace OpenSim.Region.Capabilities
|
||||
LLUUID parentFolder = llsdRequest.folder_id;
|
||||
string uploaderPath = Util.RandomClass.Next(5000, 8000).ToString("0000");
|
||||
|
||||
AssetUploader uploader = new AssetUploader(assetName, assetDes, newAsset, newInvItem, parentFolder, "" , "", capsBase + uploaderPath, this.httpListener);
|
||||
AssetUploader uploader = new AssetUploader(assetName, assetDes, newAsset, newInvItem, parentFolder, llsdRequest.inventory_type, llsdRequest.asset_type, capsBase + uploaderPath, this.httpListener);
|
||||
httpListener.AddStreamHandler(new BinaryStreamHandler("POST", capsBase + uploaderPath, uploader.uploaderCaps));
|
||||
string uploaderURL = "http://" + m_httpListenerHostName + ":" + m_httpListenPort.ToString() + capsBase + uploaderPath;
|
||||
|
||||
@@ -297,13 +297,27 @@ namespace OpenSim.Region.Capabilities
|
||||
/// <param name="assetID"></param>
|
||||
/// <param name="inventoryItem"></param>
|
||||
/// <param name="data"></param>
|
||||
public void UploadCompleteHandler(string assetName, string assetDescription, LLUUID assetID, LLUUID inventoryItem, LLUUID parentFolder, byte[] data)
|
||||
public void UploadCompleteHandler(string assetName, string assetDescription, LLUUID assetID, LLUUID inventoryItem, LLUUID parentFolder, byte[] data, string inventoryType, string assetType)
|
||||
{
|
||||
sbyte assType = 0;
|
||||
sbyte inType = 0;
|
||||
|
||||
if (inventoryType == "sound")
|
||||
{
|
||||
inType = 1;
|
||||
assType = 1;
|
||||
}
|
||||
else if (inventoryType == "animation")
|
||||
{
|
||||
inType = 19;
|
||||
assType = 19;
|
||||
}
|
||||
|
||||
AssetBase asset;
|
||||
asset = new AssetBase();
|
||||
asset.FullID = assetID;
|
||||
asset.Type = 0;
|
||||
asset.InvType = 0;
|
||||
asset.Type = assType;
|
||||
asset.InvType = inType;
|
||||
asset.Name = assetName;
|
||||
asset.Data = data;
|
||||
this.assetCache.AddAsset(asset);
|
||||
@@ -315,8 +329,8 @@ namespace OpenSim.Region.Capabilities
|
||||
item.assetID = asset.FullID;
|
||||
item.inventoryDescription = assetDescription;
|
||||
item.inventoryName = assetName;
|
||||
item.assetType = 0;
|
||||
item.invType = 0;
|
||||
item.assetType = assType;
|
||||
item.invType = inType;
|
||||
item.parentFolderID = parentFolder;
|
||||
item.inventoryCurrentPermissions = 2147483647;
|
||||
item.inventoryNextPermissions = 2147483647;
|
||||
@@ -350,6 +364,9 @@ namespace OpenSim.Region.Capabilities
|
||||
private string m_assetName = "";
|
||||
private string m_assetDes = "";
|
||||
|
||||
private string m_invType = "";
|
||||
private string m_assetType = "";
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
@@ -366,6 +383,9 @@ namespace OpenSim.Region.Capabilities
|
||||
uploaderPath = path;
|
||||
httpListener = httpServer;
|
||||
parentFolder = parentFolderID;
|
||||
m_assetType = assetType;
|
||||
m_invType = invType;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -393,7 +413,7 @@ namespace OpenSim.Region.Capabilities
|
||||
|
||||
if (OnUpLoad != null)
|
||||
{
|
||||
OnUpLoad(m_assetName, m_assetDes, newAssetID, inv, parentFolder, data);
|
||||
OnUpLoad(m_assetName, m_assetDes, newAssetID, inv, parentFolder, data, m_invType, m_assetType);
|
||||
}
|
||||
|
||||
return res;
|
||||
|
||||
@@ -89,6 +89,7 @@ namespace OpenSim.Framework.Interfaces
|
||||
|
||||
public delegate void UDPAssetUploadRequest(IClientAPI remoteClient, LLUUID assetID, LLUUID transaction, sbyte type, byte[] data);
|
||||
public delegate void XferReceive(IClientAPI remoteClient, ulong xferID, uint packetID, byte[] data);
|
||||
public delegate void RequestXfer(IClientAPI remoteClient, ulong xferID, string fileName);
|
||||
|
||||
public interface IClientAPI
|
||||
{
|
||||
@@ -140,6 +141,7 @@ namespace OpenSim.Framework.Interfaces
|
||||
event RequestTaskInventory OnRequestTaskInventory;
|
||||
event UDPAssetUploadRequest OnAssetUploadRequest;
|
||||
event XferReceive OnXferReceive;
|
||||
event RequestXfer OnRequestXfer;
|
||||
|
||||
event UUIDNameRequest OnNameFromUUIDRequest;
|
||||
|
||||
@@ -212,11 +214,17 @@ namespace OpenSim.Framework.Interfaces
|
||||
void SendInventoryItemUpdate(InventoryItemBase Item);
|
||||
void SendRemoveInventoryItem(LLUUID itemID);
|
||||
void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName);
|
||||
void SendXferPacket(ulong xferID, uint packet, byte[] data);
|
||||
|
||||
void SendPreLoadSound(LLUUID objectID, LLUUID ownerID, LLUUID soundID);
|
||||
void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain, byte flags);
|
||||
|
||||
void SendNameReply(LLUUID profileId, string firstname, string lastname);
|
||||
void SendAlertMessage(string message);
|
||||
void SendAgentAlertMessage(string message, bool modal);
|
||||
void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message, string url);
|
||||
bool AddMoney( int debit );
|
||||
|
||||
void SendViewerTime(int phase);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,6 +59,7 @@ namespace OpenSim.Framework
|
||||
public event RequestTaskInventory OnRequestTaskInventory;
|
||||
public event UDPAssetUploadRequest OnAssetUploadRequest;
|
||||
public event XferReceive OnXferReceive;
|
||||
public event RequestXfer OnRequestXfer;
|
||||
|
||||
public event UUIDNameRequest OnNameFromUUIDRequest;
|
||||
|
||||
@@ -140,6 +141,10 @@ namespace OpenSim.Framework
|
||||
public virtual void SendInventoryItemUpdate(InventoryItemBase Item) { }
|
||||
public virtual void SendRemoveInventoryItem(LLUUID itemID) { }
|
||||
public virtual void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName) { }
|
||||
public virtual void SendXferPacket(ulong xferID, uint packet, byte[] data) { }
|
||||
|
||||
public virtual void SendPreLoadSound(LLUUID objectID, LLUUID ownerID, LLUUID soundID) { }
|
||||
public virtual void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain, byte flags) { }
|
||||
|
||||
public virtual void SendNameReply(LLUUID profileId, string firstname, string lastname){}
|
||||
public void SendAlertMessage(string message) { }
|
||||
@@ -151,6 +156,8 @@ namespace OpenSim.Framework
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public void SendViewerTime(int phase) { }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,12 +12,12 @@ namespace OpenSim.Framework.Types
|
||||
RightTriangle = 4,
|
||||
HalfCircle = 5
|
||||
}
|
||||
|
||||
|
||||
public enum HollowShape : byte
|
||||
{
|
||||
Same = 0,
|
||||
Circle = 16,
|
||||
Square =32,
|
||||
Square = 32,
|
||||
Triangle = 48
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace OpenSim.Framework.Types
|
||||
Primitive = 9,
|
||||
Avatar = 47
|
||||
}
|
||||
|
||||
|
||||
public enum Extrusion : byte
|
||||
{
|
||||
Straight = 16,
|
||||
@@ -34,11 +34,11 @@ namespace OpenSim.Framework.Types
|
||||
Curve2 = 48,
|
||||
Flexible = 128
|
||||
}
|
||||
|
||||
|
||||
public class PrimitiveBaseShape
|
||||
{
|
||||
private static byte[] m_defaultTextureEntry;
|
||||
|
||||
|
||||
public byte PCode;
|
||||
public ushort PathBegin;
|
||||
public ushort PathEnd;
|
||||
@@ -100,14 +100,14 @@ namespace OpenSim.Framework.Types
|
||||
{
|
||||
m_defaultTextureEntry = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005")).ToBytes();
|
||||
}
|
||||
|
||||
|
||||
public PrimitiveBaseShape()
|
||||
{
|
||||
PCode = (byte)PCodeEnum.Primitive;
|
||||
ExtraParams = new byte[1];
|
||||
TextureEntry = m_defaultTextureEntry;
|
||||
}
|
||||
|
||||
|
||||
//void returns need to change of course
|
||||
public virtual void GetMesh()
|
||||
{
|
||||
@@ -121,11 +121,12 @@ namespace OpenSim.Framework.Types
|
||||
}
|
||||
|
||||
public class GenericShape : PrimitiveBaseShape
|
||||
{
|
||||
public GenericShape() : base()
|
||||
{
|
||||
public GenericShape()
|
||||
: base()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public class BoxShape : PrimitiveBaseShape
|
||||
@@ -133,7 +134,7 @@ namespace OpenSim.Framework.Types
|
||||
public BoxShape()
|
||||
: base()
|
||||
{
|
||||
PathCurve = (byte) Extrusion.Straight;
|
||||
PathCurve = (byte)Extrusion.Straight;
|
||||
ProfileShape = ProfileShape.Square;
|
||||
PathScaleX = 100;
|
||||
PathScaleY = 100;
|
||||
@@ -156,8 +157,8 @@ namespace OpenSim.Framework.Types
|
||||
{
|
||||
BoxShape boxShape = new BoxShape();
|
||||
|
||||
boxShape.SetSide( 0.5f );
|
||||
|
||||
boxShape.SetSide(0.5f);
|
||||
|
||||
return boxShape;
|
||||
}
|
||||
}
|
||||
@@ -182,12 +183,12 @@ namespace OpenSim.Framework.Types
|
||||
|
||||
private void SetHeigth(float heigth)
|
||||
{
|
||||
Scale.Z = heigth;
|
||||
Scale.Z = heigth;
|
||||
}
|
||||
|
||||
private void SetRadius(float radius)
|
||||
{
|
||||
Scale.X = Scale.Y = radius*2f;
|
||||
Scale.X = Scale.Y = radius * 2f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user