lang env on sqlite

master
UbitUmarov 2020-06-23 14:28:34 +01:00
parent 1d42d8ab6e
commit 60da45b715
4 changed files with 66 additions and 14 deletions

View File

@ -183,14 +183,14 @@ CREATE TABLE IF NOT EXISTS land(
UserLookAtY float, UserLookAtY float,
UserLookAtZ float, UserLookAtZ float,
AuthbuyerID varchar(36) NOT NULL default '00000000-0000-0000-0000-000000000000', AuthbuyerID varchar(36) NOT NULL default '00000000-0000-0000-0000-000000000000',
OtherCleanTime INTEGER NOT NULL default 0, OtherCleanTime INTEGER NOT NULL default 0,
Dwell INTEGER NOT NULL default 0, Dwell INTEGER NOT NULL default 0,
`MediaType` VARCHAR(32) NOT NULL DEFAULT 'none/none', `MediaType` VARCHAR(32) NOT NULL DEFAULT 'none/none',
`MediaDescription` VARCHAR(255) NOT NULL DEFAULT '', `MediaDescription` VARCHAR(255) NOT NULL DEFAULT '',
`MediaSize` VARCHAR(16) NOT NULL DEFAULT '0,0', `MediaSize` VARCHAR(16) NOT NULL DEFAULT '0,0',
`MediaLoop` BOOLEAN NOT NULL DEFAULT FALSE, MediaLoop` BOOLEAN NOT NULL DEFAULT FALSE,
`ObscureMusic` BOOLEAN NOT NULL DEFAULT FALSE, `ObscureMusic` BOOLEAN NOT NULL DEFAULT FALSE,
`ObscureMedia` BOOLEAN NOT NULL DEFAULT FALSE); `ObscureMedia` BOOLEAN NOT NULL DEFAULT FALSE);
CREATE TABLE IF NOT EXISTS landaccesslist( CREATE TABLE IF NOT EXISTS landaccesslist(
LandUUID varchar(255), LandUUID varchar(255),
@ -394,3 +394,8 @@ BEGIN;
ALTER TABLE `prims` ADD COLUMN `pseudocrc` integer DEFAULT '0'; ALTER TABLE `prims` ADD COLUMN `pseudocrc` integer DEFAULT '0';
ALTER TABLE `regionsettings` ADD COLUMN `cacheID` char(36) DEFAULT NULL; ALTER TABLE `regionsettings` ADD COLUMN `cacheID` char(36) DEFAULT NULL;
COMMIT; COMMIT;
:VERSION 39 #----- parcel environment store
BEGIN;
ALTER TABLE `land` ADD COLUMN `environment` TEXT default NULL;
COMMIT;

View File

@ -1399,6 +1399,7 @@ namespace OpenSim.Data.SQLite
createCol(land, "SeeAVs", typeof(Boolean)); createCol(land, "SeeAVs", typeof(Boolean));
createCol(land, "AnyAVSounds", typeof(Boolean)); createCol(land, "AnyAVSounds", typeof(Boolean));
createCol(land, "GroupAVSounds", typeof(Boolean)); createCol(land, "GroupAVSounds", typeof(Boolean));
createCol(land, "environment", typeof(string));
land.PrimaryKey = new DataColumn[] { land.Columns["UUID"] }; land.PrimaryKey = new DataColumn[] { land.Columns["UUID"] };
@ -1917,6 +1918,36 @@ namespace OpenSim.Data.SQLite
newData.OtherCleanTime = Convert.ToInt32(row["OtherCleanTime"]); newData.OtherCleanTime = Convert.ToInt32(row["OtherCleanTime"]);
if (row["environment"] is DBNull)
{
newData.Environment = null;
newData.EnvironmentVersion = -1;
}
else
{
string env = (string)row["environment"];
if (string.IsNullOrEmpty(env))
{
newData.Environment = null;
newData.EnvironmentVersion = -1;
}
else
{
try
{
ViewerEnvironment VEnv = ViewerEnvironment.FromOSDString(env);
newData.Environment = VEnv;
newData.EnvironmentVersion = VEnv.version;
}
catch
{
newData.Environment = null;
newData.EnvironmentVersion = -1;
}
}
}
return newData; return newData;
} }
@ -2255,6 +2286,20 @@ namespace OpenSim.Data.SQLite
row["AnyAVSounds"] = land.AnyAVSounds; row["AnyAVSounds"] = land.AnyAVSounds;
row["GroupAVSounds"] = land.GroupAVSounds; row["GroupAVSounds"] = land.GroupAVSounds;
if (land.Environment == null)
row["environment"] = "";
else
{
try
{
row["environment"] = ViewerEnvironment.ToOSDString(land.Environment);
}
catch
{
row["environment"] = "";
}
}
} }
/// <summary> /// <summary>

View File

@ -223,7 +223,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
private void GetAttachmentsReport(ScenePresence sp, StringBuilder sb) private void GetAttachmentsReport(ScenePresence sp, StringBuilder sb)
{ {
sb.AppendFormat("Attachments for {0}\n\n", sp.Name); sb.AppendFormat("Attachments for {0}\n", sp.Name);
ConsoleDisplayList ct = new ConsoleDisplayList(); ConsoleDisplayList ct = new ConsoleDisplayList();

View File

@ -255,7 +255,7 @@ namespace OpenSim.Region.CoreModules.World.LightShare
WindlightRefresh(0); WindlightRefresh(0);
} }
public void WindlightRefresh(int interpolate, bool notforparcel = true) public void WindlightRefresh(int interpolate, bool forRegion = true)
{ {
List<byte[]> ls = null; List<byte[]> ls = null;
m_scene.ForEachRootScenePresence(delegate (ScenePresence sp) m_scene.ForEachRootScenePresence(delegate (ScenePresence sp)
@ -270,9 +270,11 @@ namespace OpenSim.Region.CoreModules.World.LightShare
uint vflags = client.GetViewerCaps(); uint vflags = client.GetViewerCaps();
if (notforparcel && (vflags & 0x8000) != 0) if ((vflags & 0x8000) != 0)
m_estateModule.HandleRegionInfoRequest(client); {
if (forRegion)
m_estateModule.HandleRegionInfoRequest(client);
}
else if ((vflags & 0x4000) != 0) else if ((vflags & 0x4000) != 0)
m_eventQueue.WindlightRefreshEvent(interpolate, client.AgentId); m_eventQueue.WindlightRefreshEvent(interpolate, client.AgentId);
@ -434,7 +436,7 @@ namespace OpenSim.Region.CoreModules.World.LightShare
if (land != null && land.LandData != null) if (land != null && land.LandData != null)
{ {
land.StoreEnvironment(null); land.StoreEnvironment(null);
WindlightRefresh(0); WindlightRefresh(0, false);
} }
} }