mirror of
https://github.com/opensim/opensim.git
synced 2026-08-03 15:36:16 +08:00
replace lightshare early work
This commit is contained in:
@@ -429,75 +429,6 @@ namespace OpenSim.Data.SQLite
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Load windlight settings from region storage
|
||||
/// </summary>
|
||||
/// <param name="regionUUID">RegionID</param>
|
||||
public RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID)
|
||||
{
|
||||
RegionLightShareData wl = null;
|
||||
|
||||
lock (ds)
|
||||
{
|
||||
DataTable windlightTable = ds.Tables["regionwindlight"];
|
||||
DataRow windlightRow = windlightTable.Rows.Find(regionUUID.ToString());
|
||||
if (windlightRow == null)
|
||||
{
|
||||
wl = new RegionLightShareData();
|
||||
wl.regionID = regionUUID;
|
||||
StoreRegionWindlightSettings(wl);
|
||||
return wl;
|
||||
}
|
||||
wl = buildRegionWindlight(windlightRow);
|
||||
return wl;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove windlight settings from region storage
|
||||
/// </summary>
|
||||
/// <param name="regionID">RegionID</param>
|
||||
public void RemoveRegionWindlightSettings(UUID regionID)
|
||||
{
|
||||
lock (ds)
|
||||
{
|
||||
DataTable windlightTable = ds.Tables["regionwindlight"];
|
||||
DataRow windlightRow = windlightTable.Rows.Find(regionID.ToString());
|
||||
|
||||
if (windlightRow != null)
|
||||
{
|
||||
windlightRow.Delete();
|
||||
}
|
||||
}
|
||||
Commit();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds an windlight into region storage
|
||||
/// </summary>
|
||||
/// <param name="wl">RegionLightShareData</param>
|
||||
public void StoreRegionWindlightSettings(RegionLightShareData wl)
|
||||
{
|
||||
lock (ds)
|
||||
{
|
||||
DataTable windlightTable = ds.Tables["regionwindlight"];
|
||||
DataRow windlightRow = windlightTable.Rows.Find(wl.regionID.ToString());
|
||||
|
||||
if (windlightRow == null)
|
||||
{
|
||||
windlightRow = windlightTable.NewRow();
|
||||
fillRegionWindlightRow(windlightRow, wl);
|
||||
windlightTable.Rows.Add(windlightRow);
|
||||
}
|
||||
else
|
||||
{
|
||||
fillRegionWindlightRow(windlightRow, wl);
|
||||
}
|
||||
|
||||
Commit();
|
||||
}
|
||||
}
|
||||
|
||||
#region Region Environment Settings
|
||||
public string LoadRegionEnvironmentSettings(UUID regionUUID)
|
||||
{
|
||||
@@ -2038,86 +1969,12 @@ namespace OpenSim.Data.SQLite
|
||||
newSettings.ParcelImageID = new UUID((String)row["parcel_tile_ID"]);
|
||||
newSettings.GodBlockSearch = Convert.ToBoolean(row["block_search"]);
|
||||
newSettings.Casino = Convert.ToBoolean(row["casino"]);
|
||||
if (!(row["cacheID"] is System.DBNull))
|
||||
newSettings.CacheID = new UUID((String)row["cacheID"]);
|
||||
|
||||
return newSettings;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Build a windlight entry from the persisted data.
|
||||
/// </summary>
|
||||
/// <param name="row"></param>
|
||||
/// <returns>RegionLightShareData</returns>
|
||||
private RegionLightShareData buildRegionWindlight(DataRow row)
|
||||
{
|
||||
RegionLightShareData windlight = new RegionLightShareData();
|
||||
|
||||
windlight.regionID = new UUID((string)row["region_id"]);
|
||||
windlight.waterColor.X = Convert.ToSingle(row["water_color_r"]);
|
||||
windlight.waterColor.Y = Convert.ToSingle(row["water_color_g"]);
|
||||
windlight.waterColor.Z = Convert.ToSingle(row["water_color_b"]);
|
||||
//windlight.waterColor.W = Convert.ToSingle(row["water_color_i"]); //not implemented
|
||||
windlight.waterFogDensityExponent = Convert.ToSingle(row["water_fog_density_exponent"]);
|
||||
windlight.underwaterFogModifier = Convert.ToSingle(row["underwater_fog_modifier"]);
|
||||
windlight.reflectionWaveletScale.X = Convert.ToSingle(row["reflection_wavelet_scale_1"]);
|
||||
windlight.reflectionWaveletScale.Y = Convert.ToSingle(row["reflection_wavelet_scale_2"]);
|
||||
windlight.reflectionWaveletScale.Z = Convert.ToSingle(row["reflection_wavelet_scale_3"]);
|
||||
windlight.fresnelScale = Convert.ToSingle(row["fresnel_scale"]);
|
||||
windlight.fresnelOffset = Convert.ToSingle(row["fresnel_offset"]);
|
||||
windlight.refractScaleAbove = Convert.ToSingle(row["refract_scale_above"]);
|
||||
windlight.refractScaleBelow = Convert.ToSingle(row["refract_scale_below"]);
|
||||
windlight.blurMultiplier = Convert.ToSingle(row["blur_multiplier"]);
|
||||
windlight.bigWaveDirection.X = Convert.ToSingle(row["big_wave_direction_x"]);
|
||||
windlight.bigWaveDirection.Y = Convert.ToSingle(row["big_wave_direction_y"]);
|
||||
windlight.littleWaveDirection.X = Convert.ToSingle(row["little_wave_direction_x"]);
|
||||
windlight.littleWaveDirection.Y = Convert.ToSingle(row["little_wave_direction_y"]);
|
||||
windlight.normalMapTexture = new UUID((string)row["normal_map_texture"]);
|
||||
windlight.horizon.X = Convert.ToSingle(row["horizon_r"]);
|
||||
windlight.horizon.Y = Convert.ToSingle(row["horizon_g"]);
|
||||
windlight.horizon.Z = Convert.ToSingle(row["horizon_b"]);
|
||||
windlight.horizon.W = Convert.ToSingle(row["horizon_i"]);
|
||||
windlight.hazeHorizon = Convert.ToSingle(row["haze_horizon"]);
|
||||
windlight.blueDensity.X = Convert.ToSingle(row["blue_density_r"]);
|
||||
windlight.blueDensity.Y = Convert.ToSingle(row["blue_density_g"]);
|
||||
windlight.blueDensity.Z = Convert.ToSingle(row["blue_density_b"]);
|
||||
windlight.blueDensity.W = Convert.ToSingle(row["blue_density_i"]);
|
||||
windlight.hazeDensity = Convert.ToSingle(row["haze_density"]);
|
||||
windlight.densityMultiplier = Convert.ToSingle(row["density_multiplier"]);
|
||||
windlight.distanceMultiplier = Convert.ToSingle(row["distance_multiplier"]);
|
||||
windlight.maxAltitude = Convert.ToUInt16(row["max_altitude"]);
|
||||
windlight.sunMoonColor.X = Convert.ToSingle(row["sun_moon_color_r"]);
|
||||
windlight.sunMoonColor.Y = Convert.ToSingle(row["sun_moon_color_g"]);
|
||||
windlight.sunMoonColor.Z = Convert.ToSingle(row["sun_moon_color_b"]);
|
||||
windlight.sunMoonColor.W = Convert.ToSingle(row["sun_moon_color_i"]);
|
||||
windlight.sunMoonPosition = Convert.ToSingle(row["sun_moon_position"]);
|
||||
windlight.ambient.X = Convert.ToSingle(row["ambient_r"]);
|
||||
windlight.ambient.Y = Convert.ToSingle(row["ambient_g"]);
|
||||
windlight.ambient.Z = Convert.ToSingle(row["ambient_b"]);
|
||||
windlight.ambient.W = Convert.ToSingle(row["ambient_i"]);
|
||||
windlight.eastAngle = Convert.ToSingle(row["east_angle"]);
|
||||
windlight.sunGlowFocus = Convert.ToSingle(row["sun_glow_focus"]);
|
||||
windlight.sunGlowSize = Convert.ToSingle(row["sun_glow_size"]);
|
||||
windlight.sceneGamma = Convert.ToSingle(row["scene_gamma"]);
|
||||
windlight.starBrightness = Convert.ToSingle(row["star_brightness"]);
|
||||
windlight.cloudColor.X = Convert.ToSingle(row["cloud_color_r"]);
|
||||
windlight.cloudColor.Y = Convert.ToSingle(row["cloud_color_g"]);
|
||||
windlight.cloudColor.Z = Convert.ToSingle(row["cloud_color_b"]);
|
||||
windlight.cloudColor.W = Convert.ToSingle(row["cloud_color_i"]);
|
||||
windlight.cloudXYDensity.X = Convert.ToSingle(row["cloud_x"]);
|
||||
windlight.cloudXYDensity.Y = Convert.ToSingle(row["cloud_y"]);
|
||||
windlight.cloudXYDensity.Z = Convert.ToSingle(row["cloud_density"]);
|
||||
windlight.cloudCoverage = Convert.ToSingle(row["cloud_coverage"]);
|
||||
windlight.cloudScale = Convert.ToSingle(row["cloud_scale"]);
|
||||
windlight.cloudDetailXYDensity.X = Convert.ToSingle(row["cloud_detail_x"]);
|
||||
windlight.cloudDetailXYDensity.Y = Convert.ToSingle(row["cloud_detail_y"]);
|
||||
windlight.cloudDetailXYDensity.Z = Convert.ToSingle(row["cloud_detail_density"]);
|
||||
windlight.cloudScrollX = Convert.ToSingle(row["cloud_scroll_x"]);
|
||||
windlight.cloudScrollXLock = Convert.ToBoolean(row["cloud_scroll_x_lock"]);
|
||||
windlight.cloudScrollY = Convert.ToSingle(row["cloud_scroll_y"]);
|
||||
windlight.cloudScrollYLock = Convert.ToBoolean(row["cloud_scroll_y_lock"]);
|
||||
windlight.drawClassicClouds = Convert.ToBoolean(row["draw_classic_clouds"]);
|
||||
|
||||
return windlight;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Build a land access entry from the persisted data.
|
||||
/// </summary>
|
||||
@@ -2461,79 +2318,6 @@ namespace OpenSim.Data.SQLite
|
||||
row["cacheID"] = settings.CacheID;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="row"></param>
|
||||
/// <param name="windlight"></param>
|
||||
private static void fillRegionWindlightRow(DataRow row, RegionLightShareData windlight)
|
||||
{
|
||||
row["region_id"] = windlight.regionID.ToString();
|
||||
row["water_color_r"] = windlight.waterColor.X;
|
||||
row["water_color_g"] = windlight.waterColor.Y;
|
||||
row["water_color_b"] = windlight.waterColor.Z;
|
||||
row["water_color_i"] = 1; //windlight.waterColor.W; //not implemented
|
||||
row["water_fog_density_exponent"] = windlight.waterFogDensityExponent;
|
||||
row["underwater_fog_modifier"] = windlight.underwaterFogModifier;
|
||||
row["reflection_wavelet_scale_1"] = windlight.reflectionWaveletScale.X;
|
||||
row["reflection_wavelet_scale_2"] = windlight.reflectionWaveletScale.Y;
|
||||
row["reflection_wavelet_scale_3"] = windlight.reflectionWaveletScale.Z;
|
||||
row["fresnel_scale"] = windlight.fresnelScale;
|
||||
row["fresnel_offset"] = windlight.fresnelOffset;
|
||||
row["refract_scale_above"] = windlight.refractScaleAbove;
|
||||
row["refract_scale_below"] = windlight.refractScaleBelow;
|
||||
row["blur_multiplier"] = windlight.blurMultiplier;
|
||||
row["big_wave_direction_x"] = windlight.bigWaveDirection.X;
|
||||
row["big_wave_direction_y"] = windlight.bigWaveDirection.Y;
|
||||
row["little_wave_direction_x"] = windlight.littleWaveDirection.X;
|
||||
row["little_wave_direction_y"] = windlight.littleWaveDirection.Y;
|
||||
row["normal_map_texture"] = windlight.normalMapTexture.ToString();
|
||||
row["horizon_r"] = windlight.horizon.X;
|
||||
row["horizon_g"] = windlight.horizon.Y;
|
||||
row["horizon_b"] = windlight.horizon.Z;
|
||||
row["horizon_i"] = windlight.horizon.W;
|
||||
row["haze_horizon"] = windlight.hazeHorizon;
|
||||
row["blue_density_r"] = windlight.blueDensity.X;
|
||||
row["blue_density_g"] = windlight.blueDensity.Y;
|
||||
row["blue_density_b"] = windlight.blueDensity.Z;
|
||||
row["blue_density_i"] = windlight.blueDensity.W;
|
||||
row["haze_density"] = windlight.hazeDensity;
|
||||
row["density_multiplier"] = windlight.densityMultiplier;
|
||||
row["distance_multiplier"] = windlight.distanceMultiplier;
|
||||
row["max_altitude"] = windlight.maxAltitude;
|
||||
row["sun_moon_color_r"] = windlight.sunMoonColor.X;
|
||||
row["sun_moon_color_g"] = windlight.sunMoonColor.Y;
|
||||
row["sun_moon_color_b"] = windlight.sunMoonColor.Z;
|
||||
row["sun_moon_color_i"] = windlight.sunMoonColor.W;
|
||||
row["sun_moon_position"] = windlight.sunMoonPosition;
|
||||
row["ambient_r"] = windlight.ambient.X;
|
||||
row["ambient_g"] = windlight.ambient.Y;
|
||||
row["ambient_b"] = windlight.ambient.Z;
|
||||
row["ambient_i"] = windlight.ambient.W;
|
||||
row["east_angle"] = windlight.eastAngle;
|
||||
row["sun_glow_focus"] = windlight.sunGlowFocus;
|
||||
row["sun_glow_size"] = windlight.sunGlowSize;
|
||||
row["scene_gamma"] = windlight.sceneGamma;
|
||||
row["star_brightness"] = windlight.starBrightness;
|
||||
row["cloud_color_r"] = windlight.cloudColor.X;
|
||||
row["cloud_color_g"] = windlight.cloudColor.Y;
|
||||
row["cloud_color_b"] = windlight.cloudColor.Z;
|
||||
row["cloud_color_i"] = windlight.cloudColor.W;
|
||||
row["cloud_x"] = windlight.cloudXYDensity.X;
|
||||
row["cloud_y"] = windlight.cloudXYDensity.Y;
|
||||
row["cloud_density"] = windlight.cloudXYDensity.Z;
|
||||
row["cloud_coverage"] = windlight.cloudCoverage;
|
||||
row["cloud_scale"] = windlight.cloudScale;
|
||||
row["cloud_detail_x"] = windlight.cloudDetailXYDensity.X;
|
||||
row["cloud_detail_y"] = windlight.cloudDetailXYDensity.Y;
|
||||
row["cloud_detail_density"] = windlight.cloudDetailXYDensity.Z;
|
||||
row["cloud_scroll_x"] = windlight.cloudScrollX;
|
||||
row["cloud_scroll_x_lock"] = windlight.cloudScrollXLock;
|
||||
row["cloud_scroll_y"] = windlight.cloudScrollY;
|
||||
row["cloud_scroll_y_lock"] = windlight.cloudScrollYLock;
|
||||
row["draw_classic_clouds"] = windlight.drawClassicClouds;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user