diff options
author | Melanie | 2010-03-31 04:20:20 +0100 |
---|---|---|
committer | Melanie | 2010-03-31 04:20:20 +0100 |
commit | ec637e2b8c089efc16bbb9faae0a1e3cf939db41 (patch) | |
tree | 6b0f9c1749983761fd0e8809294fc18b6aa14770 | |
parent | minor: commented out code removal (diff) | |
download | opensim-SC-ec637e2b8c089efc16bbb9faae0a1e3cf939db41.zip opensim-SC-ec637e2b8c089efc16bbb9faae0a1e3cf939db41.tar.gz opensim-SC-ec637e2b8c089efc16bbb9faae0a1e3cf939db41.tar.bz2 opensim-SC-ec637e2b8c089efc16bbb9faae0a1e3cf939db41.tar.xz |
Committing the LightShare code, which was developed by TomMeta of Meta7.
This allows scripts to set WindLight parameters for clients connecting
to a region. Currently, this is only supported by the Meta7 viewer.
19 files changed, 597 insertions, 19 deletions
diff --git a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs index 2dec72d..17bd795 100644 --- a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs +++ b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs | |||
@@ -930,7 +930,7 @@ namespace OpenSim.Client.MXP.ClientStack | |||
930 | // Need to translate to MXP somehow | 930 | // Need to translate to MXP somehow |
931 | } | 931 | } |
932 | 932 | ||
933 | public void SendGenericMessage(string method, List<string> message) | 933 | public void SendGenericMessage(string method, List<byte[]> message) |
934 | { | 934 | { |
935 | // Need to translate to MXP somehow | 935 | // Need to translate to MXP somehow |
936 | } | 936 | } |
diff --git a/OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs b/OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs index 9cb2172..4ecbaf9 100644 --- a/OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs +++ b/OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs | |||
@@ -503,7 +503,7 @@ namespace OpenSim.Client.Sirikata.ClientStack | |||
503 | throw new System.NotImplementedException(); | 503 | throw new System.NotImplementedException(); |
504 | } | 504 | } |
505 | 505 | ||
506 | public void SendGenericMessage(string method, List<string> message) | 506 | public void SendGenericMessage(string method, List<byte[]> message) |
507 | { | 507 | { |
508 | throw new System.NotImplementedException(); | 508 | throw new System.NotImplementedException(); |
509 | } | 509 | } |
diff --git a/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs b/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs index a427dd3..1da746a 100644 --- a/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs +++ b/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs | |||
@@ -509,7 +509,7 @@ namespace OpenSim.Client.VWoHTTP.ClientStack | |||
509 | throw new System.NotImplementedException(); | 509 | throw new System.NotImplementedException(); |
510 | } | 510 | } |
511 | 511 | ||
512 | public void SendGenericMessage(string method, List<string> message) | 512 | public void SendGenericMessage(string method, List<byte[]> message) |
513 | { | 513 | { |
514 | throw new System.NotImplementedException(); | 514 | throw new System.NotImplementedException(); |
515 | } | 515 | } |
diff --git a/OpenSim/Data/MSSQL/MSSQLLegacyRegionData.cs b/OpenSim/Data/MSSQL/MSSQLLegacyRegionData.cs index c849f38..d6cb91f 100644 --- a/OpenSim/Data/MSSQL/MSSQLLegacyRegionData.cs +++ b/OpenSim/Data/MSSQL/MSSQLLegacyRegionData.cs | |||
@@ -691,7 +691,16 @@ VALUES | |||
691 | cmd.ExecuteNonQuery(); | 691 | cmd.ExecuteNonQuery(); |
692 | } | 692 | } |
693 | } | 693 | } |
694 | 694 | public RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID) | |
695 | { | ||
696 | //This connector doesn't support the windlight module yet | ||
697 | //Return default LL windlight settings | ||
698 | return new RegionLightShareData(); | ||
699 | } | ||
700 | public void StoreRegionWindlightSettings(RegionLightShareData wl) | ||
701 | { | ||
702 | //This connector doesn't support the windlight module yet | ||
703 | } | ||
695 | /// <summary> | 704 | /// <summary> |
696 | /// Loads the settings of a region. | 705 | /// Loads the settings of a region. |
697 | /// </summary> | 706 | /// </summary> |
@@ -718,7 +727,7 @@ VALUES | |||
718 | } | 727 | } |
719 | } | 728 | } |
720 | 729 | ||
721 | //If comes here then there is now region setting for that region | 730 | //If we reach this point then there are new region settings for that region |
722 | regionSettings = new RegionSettings(); | 731 | regionSettings = new RegionSettings(); |
723 | regionSettings.RegionUUID = regionUUID; | 732 | regionSettings.RegionUUID = regionUUID; |
724 | regionSettings.OnSave += StoreRegionSettings; | 733 | regionSettings.OnSave += StoreRegionSettings; |
diff --git a/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs b/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs index a06eec3..a395ddc 100644 --- a/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs +++ b/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs | |||
@@ -711,6 +711,102 @@ namespace OpenSim.Data.MySQL | |||
711 | } | 711 | } |
712 | } | 712 | } |
713 | 713 | ||
714 | public RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID) | ||
715 | { | ||
716 | RegionLightShareData nWP = new RegionLightShareData(); | ||
717 | nWP.OnSave += StoreRegionWindlightSettings; | ||
718 | |||
719 | using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) | ||
720 | { | ||
721 | dbcon.Open(); | ||
722 | |||
723 | string command = "select * from `regionwindlight` where region_id = ?regionID"; | ||
724 | |||
725 | using(MySqlCommand cmd = new MySqlCommand(command)) | ||
726 | { | ||
727 | cmd.Connection = dbcon; | ||
728 | |||
729 | cmd.Parameters.AddWithValue("?regionID", regionUUID.ToString()); | ||
730 | |||
731 | IDataReader result = ExecuteReader(cmd); | ||
732 | if (!result.Read()) | ||
733 | { | ||
734 | //No result, so store our default windlight profile and return it | ||
735 | nWP.regionID = regionUUID; | ||
736 | StoreRegionWindlightSettings(nWP); | ||
737 | return nWP; | ||
738 | } | ||
739 | else | ||
740 | { | ||
741 | UUID.TryParse(result["region_id"].ToString(), out nWP.regionID); | ||
742 | nWP.waterColor.X = Convert.ToSingle(result["water_color_r"]); | ||
743 | nWP.waterColor.Y = Convert.ToSingle(result["water_color_g"]); | ||
744 | nWP.waterColor.Z = Convert.ToSingle(result["water_color_b"]); | ||
745 | nWP.waterFogDensityExponent = Convert.ToSingle(result["water_fog_density_exponent"]); | ||
746 | nWP.underwaterFogModifier = Convert.ToSingle(result["underwater_fog_modifier"]); | ||
747 | nWP.reflectionWaveletScale.X = Convert.ToSingle(result["reflection_wavelet_scale_1"]); | ||
748 | nWP.reflectionWaveletScale.Y = Convert.ToSingle(result["reflection_wavelet_scale_2"]); | ||
749 | nWP.reflectionWaveletScale.Z = Convert.ToSingle(result["reflection_wavelet_scale_3"]); | ||
750 | nWP.fresnelScale = Convert.ToSingle(result["fresnel_scale"]); | ||
751 | nWP.fresnelOffset = Convert.ToSingle(result["fresnel_offset"]); | ||
752 | nWP.refractScaleAbove = Convert.ToSingle(result["refract_scale_above"]); | ||
753 | nWP.refractScaleBelow = Convert.ToSingle(result["refract_scale_below"]); | ||
754 | nWP.blurMultiplier = Convert.ToSingle(result["blur_multiplier"]); | ||
755 | nWP.bigWaveDirection.X = Convert.ToSingle(result["big_wave_direction_x"]); | ||
756 | nWP.bigWaveDirection.Y = Convert.ToSingle(result["big_wave_direction_y"]); | ||
757 | nWP.littleWaveDirection.X = Convert.ToSingle(result["little_wave_direction_x"]); | ||
758 | nWP.littleWaveDirection.Y = Convert.ToSingle(result["little_wave_direction_y"]); | ||
759 | UUID.TryParse(result["normal_map_texture"].ToString(), out nWP.normalMapTexture); | ||
760 | nWP.horizon.X = Convert.ToSingle(result["horizon_r"]); | ||
761 | nWP.horizon.Y = Convert.ToSingle(result["horizon_g"]); | ||
762 | nWP.horizon.Z = Convert.ToSingle(result["horizon_b"]); | ||
763 | nWP.horizon.W = Convert.ToSingle(result["horizon_i"]); | ||
764 | nWP.hazeHorizon = Convert.ToSingle(result["haze_horizon"]); | ||
765 | nWP.blueDensity.X = Convert.ToSingle(result["blue_density_r"]); | ||
766 | nWP.blueDensity.Y = Convert.ToSingle(result["blue_density_g"]); | ||
767 | nWP.blueDensity.Z = Convert.ToSingle(result["blue_density_b"]); | ||
768 | nWP.blueDensity.W = Convert.ToSingle(result["blue_density_i"]); | ||
769 | nWP.hazeDensity = Convert.ToSingle(result["haze_density"]); | ||
770 | nWP.densityMultiplier = Convert.ToSingle(result["density_multiplier"]); | ||
771 | nWP.distanceMultiplier = Convert.ToSingle(result["distance_multiplier"]); | ||
772 | nWP.maxAltitude = Convert.ToUInt16(result["max_altitude"]); | ||
773 | nWP.sunMoonColor.X = Convert.ToSingle(result["sun_moon_color_r"]); | ||
774 | nWP.sunMoonColor.Y = Convert.ToSingle(result["sun_moon_color_g"]); | ||
775 | nWP.sunMoonColor.Z = Convert.ToSingle(result["sun_moon_color_b"]); | ||
776 | nWP.sunMoonColor.W = Convert.ToSingle(result["sun_moon_color_i"]); | ||
777 | nWP.sunMoonPosition = Convert.ToSingle(result["sun_moon_position"]); | ||
778 | nWP.ambient.X = Convert.ToSingle(result["ambient_r"]); | ||
779 | nWP.ambient.Y = Convert.ToSingle(result["ambient_g"]); | ||
780 | nWP.ambient.Z = Convert.ToSingle(result["ambient_b"]); | ||
781 | nWP.ambient.W = Convert.ToSingle(result["ambient_i"]); | ||
782 | nWP.eastAngle = Convert.ToSingle(result["east_angle"]); | ||
783 | nWP.sunGlowFocus = Convert.ToSingle(result["sun_glow_focus"]); | ||
784 | nWP.sunGlowSize = Convert.ToSingle(result["sun_glow_size"]); | ||
785 | nWP.sceneGamma = Convert.ToSingle(result["scene_gamma"]); | ||
786 | nWP.starBrightness = Convert.ToSingle(result["star_brightness"]); | ||
787 | nWP.cloudColor.X = Convert.ToSingle(result["cloud_color_r"]); | ||
788 | nWP.cloudColor.Y = Convert.ToSingle(result["cloud_color_g"]); | ||
789 | nWP.cloudColor.Z = Convert.ToSingle(result["cloud_color_b"]); | ||
790 | nWP.cloudColor.W = Convert.ToSingle(result["cloud_color_i"]); | ||
791 | nWP.cloudXYDensity.X = Convert.ToSingle(result["cloud_x"]); | ||
792 | nWP.cloudXYDensity.Y = Convert.ToSingle(result["cloud_y"]); | ||
793 | nWP.cloudXYDensity.Z = Convert.ToSingle(result["cloud_density"]); | ||
794 | nWP.cloudCoverage = Convert.ToSingle(result["cloud_coverage"]); | ||
795 | nWP.cloudScale = Convert.ToSingle(result["cloud_scale"]); | ||
796 | nWP.cloudDetailXYDensity.X = Convert.ToSingle(result["cloud_detail_x"]); | ||
797 | nWP.cloudDetailXYDensity.Y = Convert.ToSingle(result["cloud_detail_y"]); | ||
798 | nWP.cloudDetailXYDensity.Z = Convert.ToSingle(result["cloud_detail_density"]); | ||
799 | nWP.cloudScrollX = Convert.ToSingle(result["cloud_scroll_x"]); | ||
800 | nWP.cloudScrollXLock = Convert.ToBoolean(result["cloud_scroll_x_lock"]); | ||
801 | nWP.cloudScrollY = Convert.ToSingle(result["cloud_scroll_y"]); | ||
802 | nWP.cloudScrollYLock = Convert.ToBoolean(result["cloud_scroll_y_lock"]); | ||
803 | nWP.drawClassicClouds = Convert.ToBoolean(result["draw_classic_clouds"]); | ||
804 | } | ||
805 | } | ||
806 | } | ||
807 | return nWP; | ||
808 | } | ||
809 | |||
714 | public RegionSettings LoadRegionSettings(UUID regionUUID) | 810 | public RegionSettings LoadRegionSettings(UUID regionUUID) |
715 | { | 811 | { |
716 | RegionSettings rs = null; | 812 | RegionSettings rs = null; |
@@ -749,6 +845,109 @@ namespace OpenSim.Data.MySQL | |||
749 | return rs; | 845 | return rs; |
750 | } | 846 | } |
751 | 847 | ||
848 | public void StoreRegionWindlightSettings(RegionLightShareData wl) | ||
849 | { | ||
850 | using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) | ||
851 | { | ||
852 | dbcon.Open(); | ||
853 | |||
854 | using (MySqlCommand cmd = dbcon.CreateCommand()) | ||
855 | { | ||
856 | cmd.CommandText = "REPLACE INTO `regionwindlight` (`region_id`, `water_color_r`, `water_color_g`, "; | ||
857 | cmd.CommandText += "`water_color_b`, `water_fog_density_exponent`, `underwater_fog_modifier`, "; | ||
858 | cmd.CommandText += "`reflection_wavelet_scale_1`, `reflection_wavelet_scale_2`, `reflection_wavelet_scale_3`, "; | ||
859 | cmd.CommandText += "`fresnel_scale`, `fresnel_offset`, `refract_scale_above`, `refract_scale_below`, "; | ||
860 | cmd.CommandText += "`blur_multiplier`, `big_wave_direction_x`, `big_wave_direction_y`, `little_wave_direction_x`, "; | ||
861 | cmd.CommandText += "`little_wave_direction_y`, `normal_map_texture`, `horizon_r`, `horizon_g`, `horizon_b`, "; | ||
862 | cmd.CommandText += "`horizon_i`, `haze_horizon`, `blue_density_r`, `blue_density_g`, `blue_density_b`, "; | ||
863 | cmd.CommandText += "`blue_density_i`, `haze_density`, `density_multiplier`, `distance_multiplier`, `max_altitude`, "; | ||
864 | cmd.CommandText += "`sun_moon_color_r`, `sun_moon_color_g`, `sun_moon_color_b`, `sun_moon_color_i`, `sun_moon_position`, "; | ||
865 | cmd.CommandText += "`ambient_r`, `ambient_g`, `ambient_b`, `ambient_i`, `east_angle`, `sun_glow_focus`, `sun_glow_size`, "; | ||
866 | cmd.CommandText += "`scene_gamma`, `star_brightness`, `cloud_color_r`, `cloud_color_g`, `cloud_color_b`, `cloud_color_i`, "; | ||
867 | cmd.CommandText += "`cloud_x`, `cloud_y`, `cloud_density`, `cloud_coverage`, `cloud_scale`, `cloud_detail_x`, "; | ||
868 | cmd.CommandText += "`cloud_detail_y`, `cloud_detail_density`, `cloud_scroll_x`, `cloud_scroll_x_lock`, `cloud_scroll_y`, "; | ||
869 | cmd.CommandText += "`cloud_scroll_y_lock`, `draw_classic_clouds`) VALUES (?region_id, ?water_color_r, "; | ||
870 | cmd.CommandText += "?water_color_g, ?water_color_b, ?water_fog_density_exponent, ?underwater_fog_modifier, ?reflection_wavelet_scale_1, "; | ||
871 | cmd.CommandText += "?reflection_wavelet_scale_2, ?reflection_wavelet_scale_3, ?fresnel_scale, ?fresnel_offset, ?refract_scale_above, "; | ||
872 | cmd.CommandText += "?refract_scale_below, ?blur_multiplier, ?big_wave_direction_x, ?big_wave_direction_y, ?little_wave_direction_x, "; | ||
873 | cmd.CommandText += "?little_wave_direction_y, ?normal_map_texture, ?horizon_r, ?horizon_g, ?horizon_b, ?horizon_i, ?haze_horizon, "; | ||
874 | cmd.CommandText += "?blue_density_r, ?blue_density_g, ?blue_density_b, ?blue_density_i, ?haze_density, ?density_multiplier, "; | ||
875 | cmd.CommandText += "?distance_multiplier, ?max_altitude, ?sun_moon_color_r, ?sun_moon_color_g, ?sun_moon_color_b, "; | ||
876 | cmd.CommandText += "?sun_moon_color_i, ?sun_moon_position, ?ambient_r, ?ambient_g, ?ambient_b, ?ambient_i, ?east_angle, "; | ||
877 | cmd.CommandText += "?sun_glow_focus, ?sun_glow_size, ?scene_gamma, ?star_brightness, ?cloud_color_r, ?cloud_color_g, "; | ||
878 | cmd.CommandText += "?cloud_color_b, ?cloud_color_i, ?cloud_x, ?cloud_y, ?cloud_density, ?cloud_coverage, ?cloud_scale, "; | ||
879 | cmd.CommandText += "?cloud_detail_x, ?cloud_detail_y, ?cloud_detail_density, ?cloud_scroll_x, ?cloud_scroll_x_lock, "; | ||
880 | cmd.CommandText += "?cloud_scroll_y, ?cloud_scroll_y_lock, ?draw_classic_clouds)"; | ||
881 | |||
882 | cmd.Parameters.AddWithValue("region_id", wl.regionID); | ||
883 | cmd.Parameters.AddWithValue("water_color_r", wl.waterColor.X); | ||
884 | cmd.Parameters.AddWithValue("water_color_g", wl.waterColor.Y); | ||
885 | cmd.Parameters.AddWithValue("water_color_b", wl.waterColor.Z); | ||
886 | cmd.Parameters.AddWithValue("water_fog_density_exponent", wl.waterFogDensityExponent); | ||
887 | cmd.Parameters.AddWithValue("underwater_fog_modifier", wl.underwaterFogModifier); | ||
888 | cmd.Parameters.AddWithValue("reflection_wavelet_scale_1", wl.reflectionWaveletScale.X); | ||
889 | cmd.Parameters.AddWithValue("reflection_wavelet_scale_2", wl.reflectionWaveletScale.Y); | ||
890 | cmd.Parameters.AddWithValue("reflection_wavelet_scale_3", wl.reflectionWaveletScale.Z); | ||
891 | cmd.Parameters.AddWithValue("fresnel_scale", wl.fresnelScale); | ||
892 | cmd.Parameters.AddWithValue("fresnel_offset", wl.fresnelOffset); | ||
893 | cmd.Parameters.AddWithValue("refract_scale_above", wl.refractScaleAbove); | ||
894 | cmd.Parameters.AddWithValue("refract_scale_below", wl.refractScaleBelow); | ||
895 | cmd.Parameters.AddWithValue("blur_multiplier", wl.blurMultiplier); | ||
896 | cmd.Parameters.AddWithValue("big_wave_direction_x", wl.bigWaveDirection.X); | ||
897 | cmd.Parameters.AddWithValue("big_wave_direction_y", wl.bigWaveDirection.Y); | ||
898 | cmd.Parameters.AddWithValue("little_wave_direction_x", wl.littleWaveDirection.X); | ||
899 | cmd.Parameters.AddWithValue("little_wave_direction_y", wl.littleWaveDirection.Y); | ||
900 | cmd.Parameters.AddWithValue("normal_map_texture", wl.normalMapTexture); | ||
901 | cmd.Parameters.AddWithValue("horizon_r", wl.horizon.X); | ||
902 | cmd.Parameters.AddWithValue("horizon_g", wl.horizon.Y); | ||
903 | cmd.Parameters.AddWithValue("horizon_b", wl.horizon.Z); | ||
904 | cmd.Parameters.AddWithValue("horizon_i", wl.horizon.W); | ||
905 | cmd.Parameters.AddWithValue("haze_horizon", wl.hazeHorizon); | ||
906 | cmd.Parameters.AddWithValue("blue_density_r", wl.blueDensity.X); | ||
907 | cmd.Parameters.AddWithValue("blue_density_g", wl.blueDensity.Y); | ||
908 | cmd.Parameters.AddWithValue("blue_density_b", wl.blueDensity.Z); | ||
909 | cmd.Parameters.AddWithValue("blue_density_i", wl.blueDensity.W); | ||
910 | cmd.Parameters.AddWithValue("haze_density", wl.hazeDensity); | ||
911 | cmd.Parameters.AddWithValue("density_multiplier", wl.densityMultiplier); | ||
912 | cmd.Parameters.AddWithValue("distance_multiplier", wl.distanceMultiplier); | ||
913 | cmd.Parameters.AddWithValue("max_altitude", wl.maxAltitude); | ||
914 | cmd.Parameters.AddWithValue("sun_moon_color_r", wl.sunMoonColor.X); | ||
915 | cmd.Parameters.AddWithValue("sun_moon_color_g", wl.sunMoonColor.Y); | ||
916 | cmd.Parameters.AddWithValue("sun_moon_color_b", wl.sunMoonColor.Z); | ||
917 | cmd.Parameters.AddWithValue("sun_moon_color_i", wl.sunMoonColor.W); | ||
918 | cmd.Parameters.AddWithValue("sun_moon_position", wl.sunMoonPosition); | ||
919 | cmd.Parameters.AddWithValue("ambient_r", wl.ambient.X); | ||
920 | cmd.Parameters.AddWithValue("ambient_g", wl.ambient.Y); | ||
921 | cmd.Parameters.AddWithValue("ambient_b", wl.ambient.Z); | ||
922 | cmd.Parameters.AddWithValue("ambient_i", wl.ambient.W); | ||
923 | cmd.Parameters.AddWithValue("east_angle", wl.eastAngle); | ||
924 | cmd.Parameters.AddWithValue("sun_glow_focus", wl.sunGlowFocus); | ||
925 | cmd.Parameters.AddWithValue("sun_glow_size", wl.sunGlowSize); | ||
926 | cmd.Parameters.AddWithValue("scene_gamma", wl.sceneGamma); | ||
927 | cmd.Parameters.AddWithValue("star_brightness", wl.starBrightness); | ||
928 | cmd.Parameters.AddWithValue("cloud_color_r", wl.cloudColor.X); | ||
929 | cmd.Parameters.AddWithValue("cloud_color_g", wl.cloudColor.Y); | ||
930 | cmd.Parameters.AddWithValue("cloud_color_b", wl.cloudColor.Z); | ||
931 | cmd.Parameters.AddWithValue("cloud_color_i", wl.cloudColor.W); | ||
932 | cmd.Parameters.AddWithValue("cloud_x", wl.cloudXYDensity.X); | ||
933 | cmd.Parameters.AddWithValue("cloud_y", wl.cloudXYDensity.Y); | ||
934 | cmd.Parameters.AddWithValue("cloud_density", wl.cloudXYDensity.Z); | ||
935 | cmd.Parameters.AddWithValue("cloud_coverage", wl.cloudCoverage); | ||
936 | cmd.Parameters.AddWithValue("cloud_scale", wl.cloudScale); | ||
937 | cmd.Parameters.AddWithValue("cloud_detail_x", wl.cloudDetailXYDensity.X); | ||
938 | cmd.Parameters.AddWithValue("cloud_detail_y", wl.cloudDetailXYDensity.Y); | ||
939 | cmd.Parameters.AddWithValue("cloud_detail_density", wl.cloudDetailXYDensity.Z); | ||
940 | cmd.Parameters.AddWithValue("cloud_scroll_x", wl.cloudScrollX); | ||
941 | cmd.Parameters.AddWithValue("cloud_scroll_x_lock", wl.cloudScrollXLock); | ||
942 | cmd.Parameters.AddWithValue("cloud_scroll_y", wl.cloudScrollY); | ||
943 | cmd.Parameters.AddWithValue("cloud_scroll_y_lock", wl.cloudScrollYLock); | ||
944 | cmd.Parameters.AddWithValue("draw_classic_clouds", wl.drawClassicClouds); | ||
945 | |||
946 | ExecuteNonQuery(cmd); | ||
947 | } | ||
948 | } | ||
949 | } | ||
950 | |||
752 | public void StoreRegionSettings(RegionSettings rs) | 951 | public void StoreRegionSettings(RegionSettings rs) |
753 | { | 952 | { |
754 | lock (m_dbLock) | 953 | lock (m_dbLock) |
diff --git a/OpenSim/Data/Null/NullDataStore.cs b/OpenSim/Data/Null/NullDataStore.cs index 427fa0a..3ba44bb 100644 --- a/OpenSim/Data/Null/NullDataStore.cs +++ b/OpenSim/Data/Null/NullDataStore.cs | |||
@@ -50,7 +50,16 @@ namespace OpenSim.Data.Null | |||
50 | public void StoreRegionSettings(RegionSettings rs) | 50 | public void StoreRegionSettings(RegionSettings rs) |
51 | { | 51 | { |
52 | } | 52 | } |
53 | 53 | public RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID) | |
54 | { | ||
55 | //This connector doesn't support the windlight module yet | ||
56 | //Return default LL windlight settings | ||
57 | return new RegionLightShareData(); | ||
58 | } | ||
59 | public void StoreRegionWindlightSettings(RegionLightShareData wl) | ||
60 | { | ||
61 | //This connector doesn't support the windlight module yet | ||
62 | } | ||
54 | public RegionSettings LoadRegionSettings(UUID regionUUID) | 63 | public RegionSettings LoadRegionSettings(UUID regionUUID) |
55 | { | 64 | { |
56 | return null; | 65 | return null; |
diff --git a/OpenSim/Data/SQLite/SQLiteRegionData.cs b/OpenSim/Data/SQLite/SQLiteRegionData.cs index 5a4ee2a..d2ba9ae 100644 --- a/OpenSim/Data/SQLite/SQLiteRegionData.cs +++ b/OpenSim/Data/SQLite/SQLiteRegionData.cs | |||
@@ -272,7 +272,16 @@ namespace OpenSim.Data.SQLite | |||
272 | Commit(); | 272 | Commit(); |
273 | } | 273 | } |
274 | } | 274 | } |
275 | 275 | public RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID) | |
276 | { | ||
277 | //This connector doesn't support the windlight module yet | ||
278 | //Return default LL windlight settings | ||
279 | return new RegionLightShareData(); | ||
280 | } | ||
281 | public void StoreRegionWindlightSettings(RegionLightShareData wl) | ||
282 | { | ||
283 | //This connector doesn't support the windlight module yet | ||
284 | } | ||
276 | public RegionSettings LoadRegionSettings(UUID regionUUID) | 285 | public RegionSettings LoadRegionSettings(UUID regionUUID) |
277 | { | 286 | { |
278 | lock (ds) | 287 | lock (ds) |
@@ -320,7 +329,7 @@ namespace OpenSim.Data.SQLite | |||
320 | { | 329 | { |
321 | foreach (SceneObjectPart prim in obj.Children.Values) | 330 | foreach (SceneObjectPart prim in obj.Children.Values) |
322 | { | 331 | { |
323 | m_log.Info("[REGION DB]: Adding obj: " + obj.UUID + " to region: " + regionUUID); | 332 | // m_log.Info("[REGION DB]: Adding obj: " + obj.UUID + " to region: " + regionUUID); |
324 | addPrim(prim, obj.UUID, regionUUID); | 333 | addPrim(prim, obj.UUID, regionUUID); |
325 | } | 334 | } |
326 | } | 335 | } |
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 4f6f709..4577758 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -1150,7 +1150,7 @@ namespace OpenSim.Framework | |||
1150 | 1150 | ||
1151 | void SendInstantMessage(GridInstantMessage im); | 1151 | void SendInstantMessage(GridInstantMessage im); |
1152 | 1152 | ||
1153 | void SendGenericMessage(string method, List<string> message); | 1153 | void SendGenericMessage(string method, List<byte[]> message); |
1154 | 1154 | ||
1155 | void SendLayerData(float[] map); | 1155 | void SendLayerData(float[] map); |
1156 | void SendLayerData(int px, int py, float[] map); | 1156 | void SendLayerData(int px, int py, float[] map); |
diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs index 5d63da7..5eacd73 100644 --- a/OpenSim/Framework/RegionInfo.cs +++ b/OpenSim/Framework/RegionInfo.cs | |||
@@ -36,8 +36,295 @@ using OpenMetaverse; | |||
36 | using OpenMetaverse.StructuredData; | 36 | using OpenMetaverse.StructuredData; |
37 | using OpenSim.Framework.Console; | 37 | using OpenSim.Framework.Console; |
38 | 38 | ||
39 | |||
39 | namespace OpenSim.Framework | 40 | namespace OpenSim.Framework |
40 | { | 41 | { |
42 | public class RegionLightShareData : ICloneable | ||
43 | { | ||
44 | public UUID regionID = UUID.Zero; | ||
45 | public Vector3 waterColor = new Vector3(4.0f,38.0f,64.0f); | ||
46 | public float waterFogDensityExponent = 4.0f; | ||
47 | public float underwaterFogModifier = 0.25f; | ||
48 | public Vector3 reflectionWaveletScale = new Vector3(2.0f,2.0f,2.0f); | ||
49 | public float fresnelScale = 0.40f; | ||
50 | public float fresnelOffset = 0.50f; | ||
51 | public float refractScaleAbove = 0.03f; | ||
52 | public float refractScaleBelow = 0.20f; | ||
53 | public float blurMultiplier = 0.040f; | ||
54 | public Vector2 bigWaveDirection = new Vector2(1.05f,-0.42f); | ||
55 | public Vector2 littleWaveDirection = new Vector2(1.11f,-1.16f); | ||
56 | public UUID normalMapTexture = new UUID("822ded49-9a6c-f61c-cb89-6df54f42cdf4"); | ||
57 | public Vector4 horizon = new Vector4(0.25f, 0.25f, 0.32f, 0.32f); | ||
58 | public float hazeHorizon = 0.19f; | ||
59 | public Vector4 blueDensity = new Vector4(0.12f, 0.22f, 0.38f, 0.38f); | ||
60 | public float hazeDensity = 0.70f; | ||
61 | public float densityMultiplier = 0.18f; | ||
62 | public float distanceMultiplier = 0.8f; | ||
63 | public UInt16 maxAltitude = 1605; | ||
64 | public Vector4 sunMoonColor = new Vector4(0.24f, 0.26f, 0.30f, 0.30f); | ||
65 | public float sunMoonPosition = 0.317f; | ||
66 | public Vector4 ambient = new Vector4(0.35f,0.35f,0.35f,0.35f); | ||
67 | public float eastAngle = 0.0f; | ||
68 | public float sunGlowFocus = 0.10f; | ||
69 | public float sunGlowSize = 1.75f; | ||
70 | public float sceneGamma = 1.0f; | ||
71 | public float starBrightness = 0.0f; | ||
72 | public Vector4 cloudColor = new Vector4(0.41f, 0.41f, 0.41f, 0.41f); | ||
73 | public Vector3 cloudXYDensity = new Vector3(1.00f, 0.53f, 1.00f); | ||
74 | public float cloudCoverage = 0.27f; | ||
75 | public float cloudScale = 0.42f; | ||
76 | public Vector3 cloudDetailXYDensity = new Vector3(1.00f, 0.53f, 0.12f); | ||
77 | public float cloudScrollX = 0.20f; | ||
78 | public bool cloudScrollXLock = false; | ||
79 | public float cloudScrollY = 0.01f; | ||
80 | public bool cloudScrollYLock = false; | ||
81 | public bool drawClassicClouds = true; | ||
82 | |||
83 | public delegate void SaveDelegate(RegionLightShareData wl); | ||
84 | public event SaveDelegate OnSave; | ||
85 | public void Save() | ||
86 | { | ||
87 | if (OnSave != null) | ||
88 | OnSave(this); | ||
89 | } | ||
90 | public object Clone() | ||
91 | { | ||
92 | return this.MemberwiseClone(); // call clone method | ||
93 | } | ||
94 | |||
95 | } | ||
96 | |||
97 | [Serializable] | ||
98 | public class SimpleRegionInfo | ||
99 | { | ||
100 | // private static readonly log4net.ILog m_log | ||
101 | // = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | ||
102 | |||
103 | /// <summary> | ||
104 | /// The port by which http communication occurs with the region (most noticeably, CAPS communication) | ||
105 | /// </summary> | ||
106 | public uint HttpPort | ||
107 | { | ||
108 | get { return m_httpPort; } | ||
109 | set { m_httpPort = value; } | ||
110 | } | ||
111 | protected uint m_httpPort; | ||
112 | |||
113 | /// <summary> | ||
114 | /// A well-formed URI for the host region server (namely "http://" + ExternalHostName) | ||
115 | /// </summary> | ||
116 | public string ServerURI | ||
117 | { | ||
118 | get { return m_serverURI; } | ||
119 | set { m_serverURI = value; } | ||
120 | } | ||
121 | protected string m_serverURI; | ||
122 | |||
123 | public string RegionName | ||
124 | { | ||
125 | get { return m_regionName; } | ||
126 | set { m_regionName = value; } | ||
127 | } | ||
128 | protected string m_regionName = String.Empty; | ||
129 | |||
130 | protected bool Allow_Alternate_Ports; | ||
131 | public bool m_allow_alternate_ports; | ||
132 | protected string m_externalHostName; | ||
133 | |||
134 | protected IPEndPoint m_internalEndPoint; | ||
135 | protected uint? m_regionLocX; | ||
136 | protected uint? m_regionLocY; | ||
137 | protected uint m_remotingPort; | ||
138 | public UUID RegionID = UUID.Zero; | ||
139 | public string RemotingAddress; | ||
140 | public UUID ScopeID = UUID.Zero; | ||
141 | |||
142 | public SimpleRegionInfo() | ||
143 | { | ||
144 | } | ||
145 | |||
146 | public SimpleRegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri) | ||
147 | { | ||
148 | m_regionLocX = regionLocX; | ||
149 | m_regionLocY = regionLocY; | ||
150 | |||
151 | m_internalEndPoint = internalEndPoint; | ||
152 | m_externalHostName = externalUri; | ||
153 | } | ||
154 | |||
155 | public SimpleRegionInfo(uint regionLocX, uint regionLocY, string externalUri, uint port) | ||
156 | { | ||
157 | m_regionLocX = regionLocX; | ||
158 | m_regionLocY = regionLocY; | ||
159 | |||
160 | m_externalHostName = externalUri; | ||
161 | |||
162 | m_internalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), (int) port); | ||
163 | } | ||
164 | |||
165 | public SimpleRegionInfo(RegionInfo ConvertFrom) | ||
166 | { | ||
167 | m_regionName = ConvertFrom.RegionName; | ||
168 | m_regionLocX = ConvertFrom.RegionLocX; | ||
169 | m_regionLocY = ConvertFrom.RegionLocY; | ||
170 | m_internalEndPoint = ConvertFrom.InternalEndPoint; | ||
171 | m_externalHostName = ConvertFrom.ExternalHostName; | ||
172 | m_remotingPort = ConvertFrom.RemotingPort; | ||
173 | m_httpPort = ConvertFrom.HttpPort; | ||
174 | m_allow_alternate_ports = ConvertFrom.m_allow_alternate_ports; | ||
175 | RemotingAddress = ConvertFrom.RemotingAddress; | ||
176 | RegionID = UUID.Zero; | ||
177 | ServerURI = ConvertFrom.ServerURI; | ||
178 | } | ||
179 | |||
180 | public uint RemotingPort | ||
181 | { | ||
182 | get { return m_remotingPort; } | ||
183 | set { m_remotingPort = value; } | ||
184 | } | ||
185 | |||
186 | /// <value> | ||
187 | /// This accessor can throw all the exceptions that Dns.GetHostAddresses can throw. | ||
188 | /// | ||
189 | /// XXX Isn't this really doing too much to be a simple getter, rather than an explict method? | ||
190 | /// </value> | ||
191 | public IPEndPoint ExternalEndPoint | ||
192 | { | ||
193 | get | ||
194 | { | ||
195 | // Old one defaults to IPv6 | ||
196 | //return new IPEndPoint(Dns.GetHostAddresses(m_externalHostName)[0], m_internalEndPoint.Port); | ||
197 | |||
198 | IPAddress ia = null; | ||
199 | // If it is already an IP, don't resolve it - just return directly | ||
200 | if (IPAddress.TryParse(m_externalHostName, out ia)) | ||
201 | return new IPEndPoint(ia, m_internalEndPoint.Port); | ||
202 | |||
203 | // Reset for next check | ||
204 | ia = null; | ||
205 | try | ||
206 | { | ||
207 | foreach (IPAddress Adr in Dns.GetHostAddresses(m_externalHostName)) | ||
208 | { | ||
209 | if (ia == null) | ||
210 | ia = Adr; | ||
211 | |||
212 | if (Adr.AddressFamily == AddressFamily.InterNetwork) | ||
213 | { | ||
214 | ia = Adr; | ||
215 | break; | ||
216 | } | ||
217 | } | ||
218 | } | ||
219 | catch (SocketException e) | ||
220 | { | ||
221 | throw new Exception( | ||
222 | "Unable to resolve local hostname " + m_externalHostName + " innerException of type '" + | ||
223 | e + "' attached to this exception", e); | ||
224 | } | ||
225 | |||
226 | return new IPEndPoint(ia, m_internalEndPoint.Port); | ||
227 | } | ||
228 | |||
229 | set { m_externalHostName = value.ToString(); } | ||
230 | } | ||
231 | |||
232 | public string ExternalHostName | ||
233 | { | ||
234 | get { return m_externalHostName; } | ||
235 | set { m_externalHostName = value; } | ||
236 | } | ||
237 | |||
238 | public IPEndPoint InternalEndPoint | ||
239 | { | ||
240 | get { return m_internalEndPoint; } | ||
241 | set { m_internalEndPoint = value; } | ||
242 | } | ||
243 | |||
244 | public uint RegionLocX | ||
245 | { | ||
246 | get { return m_regionLocX.Value; } | ||
247 | set { m_regionLocX = value; } | ||
248 | } | ||
249 | |||
250 | public uint RegionLocY | ||
251 | { | ||
252 | get { return m_regionLocY.Value; } | ||
253 | set { m_regionLocY = value; } | ||
254 | } | ||
255 | |||
256 | public ulong RegionHandle | ||
257 | { | ||
258 | get { return Util.UIntsToLong((RegionLocX * (uint) Constants.RegionSize), (RegionLocY * (uint) Constants.RegionSize)); } | ||
259 | } | ||
260 | |||
261 | public int getInternalEndPointPort() | ||
262 | { | ||
263 | return m_internalEndPoint.Port; | ||
264 | } | ||
265 | |||
266 | public Dictionary<string, object> ToKeyValuePairs() | ||
267 | { | ||
268 | Dictionary<string, object> kvp = new Dictionary<string, object>(); | ||
269 | kvp["uuid"] = RegionID.ToString(); | ||
270 | kvp["locX"] = RegionLocX.ToString(); | ||
271 | kvp["locY"] = RegionLocY.ToString(); | ||
272 | kvp["external_ip_address"] = ExternalEndPoint.Address.ToString(); | ||
273 | kvp["external_port"] = ExternalEndPoint.Port.ToString(); | ||
274 | kvp["external_host_name"] = ExternalHostName; | ||
275 | kvp["http_port"] = HttpPort.ToString(); | ||
276 | kvp["internal_ip_address"] = InternalEndPoint.Address.ToString(); | ||
277 | kvp["internal_port"] = InternalEndPoint.Port.ToString(); | ||
278 | kvp["alternate_ports"] = m_allow_alternate_ports.ToString(); | ||
279 | kvp["server_uri"] = ServerURI; | ||
280 | |||
281 | return kvp; | ||
282 | } | ||
283 | |||
284 | public SimpleRegionInfo(Dictionary<string, object> kvp) | ||
285 | { | ||
286 | if ((kvp["external_ip_address"] != null) && (kvp["external_port"] != null)) | ||
287 | { | ||
288 | int port = 0; | ||
289 | Int32.TryParse((string)kvp["external_port"], out port); | ||
290 | IPEndPoint ep = new IPEndPoint(IPAddress.Parse((string)kvp["external_ip_address"]), port); | ||
291 | ExternalEndPoint = ep; | ||
292 | } | ||
293 | else | ||
294 | ExternalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0); | ||
295 | |||
296 | if (kvp["external_host_name"] != null) | ||
297 | ExternalHostName = (string)kvp["external_host_name"]; | ||
298 | |||
299 | if (kvp["http_port"] != null) | ||
300 | { | ||
301 | UInt32 port = 0; | ||
302 | UInt32.TryParse((string)kvp["http_port"], out port); | ||
303 | HttpPort = port; | ||
304 | } | ||
305 | |||
306 | if ((kvp["internal_ip_address"] != null) && (kvp["internal_port"] != null)) | ||
307 | { | ||
308 | int port = 0; | ||
309 | Int32.TryParse((string)kvp["internal_port"], out port); | ||
310 | IPEndPoint ep = new IPEndPoint(IPAddress.Parse((string)kvp["internal_ip_address"]), port); | ||
311 | InternalEndPoint = ep; | ||
312 | } | ||
313 | else | ||
314 | InternalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0); | ||
315 | |||
316 | if (kvp["alternate_ports"] != null) | ||
317 | { | ||
318 | bool alts = false; | ||
319 | Boolean.TryParse((string)kvp["alternate_ports"], out alts); | ||
320 | m_allow_alternate_ports = alts; | ||
321 | } | ||
322 | |||
323 | if (kvp["server_uri"] != null) | ||
324 | ServerURI = (string)kvp["server_uri"]; | ||
325 | } | ||
326 | } | ||
327 | |||
41 | public class RegionInfo | 328 | public class RegionInfo |
42 | { | 329 | { |
43 | // private static readonly log4net.ILog m_log | 330 | // private static readonly log4net.ILog m_log |
@@ -69,6 +356,7 @@ namespace OpenSim.Framework | |||
69 | private bool m_clampPrimSize = false; | 356 | private bool m_clampPrimSize = false; |
70 | private int m_objectCapacity = 0; | 357 | private int m_objectCapacity = 0; |
71 | private string m_regionType = String.Empty; | 358 | private string m_regionType = String.Empty; |
359 | private RegionLightShareData m_windlight = new RegionLightShareData(); | ||
72 | protected uint m_httpPort; | 360 | protected uint m_httpPort; |
73 | protected string m_serverURI; | 361 | protected string m_serverURI; |
74 | protected string m_regionName = String.Empty; | 362 | protected string m_regionName = String.Empty; |
@@ -207,6 +495,21 @@ namespace OpenSim.Framework | |||
207 | set { m_regionSettings = value; } | 495 | set { m_regionSettings = value; } |
208 | } | 496 | } |
209 | 497 | ||
498 | public RegionLightShareData WindlightSettings | ||
499 | { | ||
500 | get | ||
501 | { | ||
502 | if (m_windlight == null) | ||
503 | { | ||
504 | m_windlight = new RegionLightShareData(); | ||
505 | } | ||
506 | |||
507 | return m_windlight; | ||
508 | } | ||
509 | |||
510 | set { m_windlight = value; } | ||
511 | } | ||
512 | |||
210 | public int NonphysPrimMax | 513 | public int NonphysPrimMax |
211 | { | 514 | { |
212 | get { return m_nonphysPrimMax; } | 515 | get { return m_nonphysPrimMax; } |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 9ba99d6..25f6ef0 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -845,17 +845,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
845 | } | 845 | } |
846 | } | 846 | } |
847 | 847 | ||
848 | public void SendGenericMessage(string method, List<string> message) | 848 | public void SendGenericMessage(string method, List<byte[]> message) |
849 | { | 849 | { |
850 | GenericMessagePacket gmp = new GenericMessagePacket(); | 850 | GenericMessagePacket gmp = new GenericMessagePacket(); |
851 | gmp.MethodData.Method = Util.StringToBytes256(method); | 851 | gmp.MethodData.Method = Util.StringToBytes256(method); |
852 | gmp.ParamList = new GenericMessagePacket.ParamListBlock[message.Count]; | 852 | gmp.ParamList = new GenericMessagePacket.ParamListBlock[message.Count]; |
853 | int i = 0; | 853 | int i = 0; |
854 | foreach (string val in message) | 854 | foreach (byte[] val in message) |
855 | { | 855 | { |
856 | gmp.ParamList[i] = new GenericMessagePacket.ParamListBlock(); | 856 | gmp.ParamList[i] = new GenericMessagePacket.ParamListBlock(); |
857 | gmp.ParamList[i++].Parameter = Util.StringToBytes256(val); | 857 | gmp.ParamList[i++].Parameter = val; |
858 | } | 858 | } |
859 | |||
859 | OutPacket(gmp, ThrottleOutPacketType.Task); | 860 | OutPacket(gmp, ThrottleOutPacketType.Task); |
860 | } | 861 | } |
861 | 862 | ||
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index d052f38..8d27f9c 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs | |||
@@ -460,7 +460,7 @@ namespace OpenSim.Region.Examples.SimpleModule | |||
460 | 460 | ||
461 | } | 461 | } |
462 | 462 | ||
463 | public void SendGenericMessage(string method, List<string> message) | 463 | public void SendGenericMessage(string method, List<byte[]> message) |
464 | { | 464 | { |
465 | 465 | ||
466 | } | 466 | } |
diff --git a/OpenSim/Region/Framework/Interfaces/IRegionDataStore.cs b/OpenSim/Region/Framework/Interfaces/IRegionDataStore.cs index 78bd622..3e8e196 100644 --- a/OpenSim/Region/Framework/Interfaces/IRegionDataStore.cs +++ b/OpenSim/Region/Framework/Interfaces/IRegionDataStore.cs | |||
@@ -103,6 +103,8 @@ namespace OpenSim.Region.Framework.Interfaces | |||
103 | 103 | ||
104 | void StoreRegionSettings(RegionSettings rs); | 104 | void StoreRegionSettings(RegionSettings rs); |
105 | RegionSettings LoadRegionSettings(UUID regionUUID); | 105 | RegionSettings LoadRegionSettings(UUID regionUUID); |
106 | RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID); | ||
107 | void StoreRegionWindlightSettings(RegionLightShareData wl); | ||
106 | 108 | ||
107 | void Shutdown(); | 109 | void Shutdown(); |
108 | } | 110 | } |
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index dc9ae19..ef125cd 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs | |||
@@ -206,7 +206,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
206 | public event OnMakeChildAgentDelegate OnMakeChildAgent; | 206 | public event OnMakeChildAgentDelegate OnMakeChildAgent; |
207 | 207 | ||
208 | public delegate void OnMakeRootAgentDelegate(ScenePresence presence); | 208 | public delegate void OnMakeRootAgentDelegate(ScenePresence presence); |
209 | public delegate void OnSaveNewWindlightProfileDelegate(); | ||
210 | public delegate void OnSendNewWindlightProfileTargetedDelegate(RegionLightShareData wl, UUID user); | ||
209 | public event OnMakeRootAgentDelegate OnMakeRootAgent; | 211 | public event OnMakeRootAgentDelegate OnMakeRootAgent; |
212 | public event OnSendNewWindlightProfileTargetedDelegate OnSendNewWindlightProfileTargeted; | ||
213 | public event OnSaveNewWindlightProfileDelegate OnSaveNewWindlightProfile; | ||
210 | 214 | ||
211 | /// <summary> | 215 | /// <summary> |
212 | /// Triggered when an object or attachment enters a scene | 216 | /// Triggered when an object or attachment enters a scene |
@@ -1216,6 +1220,24 @@ namespace OpenSim.Region.Framework.Scenes | |||
1216 | } | 1220 | } |
1217 | } | 1221 | } |
1218 | 1222 | ||
1223 | public void TriggerOnSendNewWindlightProfileTargeted(RegionLightShareData wl, UUID user) | ||
1224 | { | ||
1225 | OnSendNewWindlightProfileTargetedDelegate handlerSendNewWindlightProfileTargeted = OnSendNewWindlightProfileTargeted; | ||
1226 | if (handlerSendNewWindlightProfileTargeted != null) | ||
1227 | { | ||
1228 | handlerSendNewWindlightProfileTargeted(wl, user); | ||
1229 | } | ||
1230 | } | ||
1231 | |||
1232 | public void TriggerOnSaveNewWindlightProfile() | ||
1233 | { | ||
1234 | OnSaveNewWindlightProfileDelegate handlerSaveNewWindlightProfile = OnSaveNewWindlightProfile; | ||
1235 | if (handlerSaveNewWindlightProfile != null) | ||
1236 | { | ||
1237 | handlerSaveNewWindlightProfile(); | ||
1238 | } | ||
1239 | } | ||
1240 | |||
1219 | public void TriggerOnMakeRootAgent(ScenePresence presence) | 1241 | public void TriggerOnMakeRootAgent(ScenePresence presence) |
1220 | { | 1242 | { |
1221 | OnMakeRootAgentDelegate handlerMakeRootAgent = OnMakeRootAgent; | 1243 | OnMakeRootAgentDelegate handlerMakeRootAgent = OnMakeRootAgent; |
@@ -1992,4 +2014,4 @@ namespace OpenSim.Region.Framework.Scenes | |||
1992 | } | 2014 | } |
1993 | } | 2015 | } |
1994 | } | 2016 | } |
1995 | } \ No newline at end of file | 2017 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 0085df3..fc915a3 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -1715,6 +1715,19 @@ namespace OpenSim.Region.Framework.Scenes | |||
1715 | m_storageManager.DataStore.StoreTerrain(Heightmap.GetDoubles(), RegionInfo.RegionID); | 1715 | m_storageManager.DataStore.StoreTerrain(Heightmap.GetDoubles(), RegionInfo.RegionID); |
1716 | } | 1716 | } |
1717 | 1717 | ||
1718 | public void StoreWindlightProfile(RegionLightShareData wl) | ||
1719 | { | ||
1720 | m_regInfo.WindlightSettings = wl; | ||
1721 | m_storageManager.DataStore.StoreRegionWindlightSettings(wl); | ||
1722 | m_eventManager.TriggerOnSaveNewWindlightProfile(); | ||
1723 | } | ||
1724 | |||
1725 | public void LoadWindlightProfile() | ||
1726 | { | ||
1727 | m_regInfo.WindlightSettings = m_storageManager.DataStore.LoadRegionWindlightSettings(RegionInfo.RegionID); | ||
1728 | m_eventManager.TriggerOnSaveNewWindlightProfile(); | ||
1729 | } | ||
1730 | |||
1718 | /// <summary> | 1731 | /// <summary> |
1719 | /// Loads the World heightmap | 1732 | /// Loads the World heightmap |
1720 | /// </summary> | 1733 | /// </summary> |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs index c77220c..8b2d387 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs | |||
@@ -101,7 +101,16 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
101 | { | 101 | { |
102 | throw new NotImplementedException(); | 102 | throw new NotImplementedException(); |
103 | } | 103 | } |
104 | 104 | public RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID) | |
105 | { | ||
106 | //This connector doesn't support the windlight module yet | ||
107 | //Return default LL windlight settings | ||
108 | return new RegionLightShareData(); | ||
109 | } | ||
110 | public void StoreRegionWindlightSettings(RegionLightShareData wl) | ||
111 | { | ||
112 | //This connector doesn't support the windlight module yet | ||
113 | } | ||
105 | public RegionSettings LoadRegionSettings(UUID regionUUID) | 114 | public RegionSettings LoadRegionSettings(UUID regionUUID) |
106 | { | 115 | { |
107 | return null; | 116 | return null; |
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index 1885946..f5b148f 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs | |||
@@ -964,7 +964,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
964 | // TODO | 964 | // TODO |
965 | } | 965 | } |
966 | 966 | ||
967 | public void SendGenericMessage(string method, List<string> message) | 967 | public void SendGenericMessage(string method, List<byte[]> message) |
968 | { | 968 | { |
969 | 969 | ||
970 | } | 970 | } |
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index 77958eb..338c04b 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs | |||
@@ -550,7 +550,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
550 | 550 | ||
551 | } | 551 | } |
552 | 552 | ||
553 | public void SendGenericMessage(string method, List<string> message) | 553 | public void SendGenericMessage(string method, List<byte[]> message) |
554 | { | 554 | { |
555 | 555 | ||
556 | } | 556 | } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OpenSim.Region.ScriptEngine.Shared.Api.Runtime.mdp b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OpenSim.Region.ScriptEngine.Shared.Api.Runtime.mdp index 98bbc68..23138ef 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OpenSim.Region.ScriptEngine.Shared.Api.Runtime.mdp +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OpenSim.Region.ScriptEngine.Shared.Api.Runtime.mdp | |||
@@ -17,6 +17,8 @@ | |||
17 | <excludeFiles /> | 17 | <excludeFiles /> |
18 | </DeploymentInformation> | 18 | </DeploymentInformation> |
19 | <Contents> | 19 | <Contents> |
20 | <File name="./CM_Constants.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> | ||
21 | <File name="./CM_Stub.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> | ||
20 | <File name="./Executor.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> | 22 | <File name="./Executor.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> |
21 | <File name="./LSL_Constants.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> | 23 | <File name="./LSL_Constants.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> |
22 | <File name="./LSL_Stub.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> | 24 | <File name="./LSL_Stub.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> |
diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs index 5fff279..f015db2 100644 --- a/OpenSim/Tests/Common/Mock/TestClient.cs +++ b/OpenSim/Tests/Common/Mock/TestClient.cs | |||
@@ -518,7 +518,7 @@ namespace OpenSim.Tests.Common.Mock | |||
518 | 518 | ||
519 | } | 519 | } |
520 | 520 | ||
521 | public void SendGenericMessage(string method, List<string> message) | 521 | public void SendGenericMessage(string method, List<byte[]> message) |
522 | { | 522 | { |
523 | 523 | ||
524 | } | 524 | } |