diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index afd42d759c..bddb971123 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -1011,7 +1011,11 @@ namespace OpenSim.Data.MySQL "use_estate_sun, fixed_sun, sun_position, " + "covenant, Sandbox, sunvectorx, sunvectory, " + "sunvectorz, loaded_creation_datetime, " + - "loaded_creation_id, map_tile_ID, block_search, casino) values (?RegionUUID, ?BlockTerraform, " + + "loaded_creation_id, map_tile_ID, block_search, casino, " + + "TelehubEnabled, TelehubObject, TelehubName, " + + "TelehubPosX, TelehubPosY, TelehubPosZ, " + + "TelehubRotX, TelehubRotY, TelehubRotZ, TelehubRotW) " + + "values (?RegionUUID, ?BlockTerraform, " + "?BlockFly, ?AllowDamage, ?RestrictPushing, " + "?AllowLandResell, ?AllowLandJoinDivide, " + "?BlockShowInSearch, ?AgentLimit, ?ObjectBonus, " + @@ -1026,7 +1030,10 @@ namespace OpenSim.Data.MySQL "?SunPosition, ?Covenant, ?Sandbox, " + "?SunVectorX, ?SunVectorY, ?SunVectorZ, " + "?LoadedCreationDateTime, ?LoadedCreationID, " + - "?TerrainImageID, ?block_search, ?casino)"; + "?TerrainImageID, ?block_search, ?casino, " + + "?TelehubEnabled, ?TelehubObject, ?TelehubName, " + + "?TelehubPosX, ?TelehubPosY, ?TelehubPosZ, " + + "?TelehubRotX, ?TelehubRotY, ?TelehubRotZ, ?TelehubRotW )"; FillRegionSettingsCommand(cmd, rs); @@ -1314,6 +1321,20 @@ namespace OpenSim.Data.MySQL newSettings.LoadedCreationID = (String) row["loaded_creation_id"]; newSettings.TerrainImageID = DBGuid.FromDB(row["map_tile_ID"]); + newSettings.HasTelehub = Convert.ToBoolean(row["TelehubEnabled"]); + newSettings.TelehubObject = DBGuid.FromDB(row["TelehubObject"]); + newSettings.TelehubName = (string) row["TelehubName"]; + newSettings.TelehubPos = new Vector3 ( + Convert.ToSingle(row["TelehubPosX"]), + Convert.ToSingle(row["TelehubPosY"]), + Convert.ToSingle(row["TelehubPosZ"]) + ); + newSettings.TelehubRot = new Quaternion ( + Convert.ToSingle(row["TelehubRotX"]), + Convert.ToSingle(row["TelehubRotY"]), + Convert.ToSingle(row["TelehubRotZ"]), + Convert.ToSingle(row["TelehubRotW"]) + ); newSettings.GodBlockSearch = Convert.ToBoolean(row["block_search"]); newSettings.Casino = Convert.ToBoolean(row["casino"]); @@ -1654,6 +1675,16 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("block_search", settings.GodBlockSearch); cmd.Parameters.AddWithValue("casino", settings.Casino); + cmd.Parameters.AddWithValue("TelehubEnabled", settings.HasTelehub); + cmd.Parameters.AddWithValue("TelehubObject", settings.TelehubObject); + cmd.Parameters.AddWithValue("TelehubName", settings.TelehubName); + cmd.Parameters.AddWithValue("TelehubPosX", settings.TelehubPos.X); + cmd.Parameters.AddWithValue("TelehubPosY", settings.TelehubPos.Y); + cmd.Parameters.AddWithValue("TelehubPosZ", settings.TelehubPos.Z); + cmd.Parameters.AddWithValue("TelehubRotX", settings.TelehubRot.X); + cmd.Parameters.AddWithValue("TelehubRotY", settings.TelehubRot.Y); + cmd.Parameters.AddWithValue("TelehubRotZ", settings.TelehubRot.Z); + cmd.Parameters.AddWithValue("TelehubRotW", settings.TelehubRot.W); } /// @@ -1906,11 +1937,11 @@ namespace OpenSim.Data.MySQL cmd.Parameters.Clear(); - cmd.CommandText = "insert into spawn_points (RegionID, PointX, PointY, PointZ) values ( ?EstateID, ?PointX, ?PointY,?PointZ)"; + cmd.CommandText = "insert into spawn_points (RegionID, PointX, PointY, PointZ) values ( ?RegionID, ?PointX, ?PointY,?PointZ)"; foreach (Vector3 p in rs.SpawnPoints()) { - cmd.Parameters.AddWithValue("?EstateID", rs.RegionUUID.ToString()); + cmd.Parameters.AddWithValue("?RegionID", rs.RegionUUID.ToString()); cmd.Parameters.AddWithValue("?PointX", p.X); cmd.Parameters.AddWithValue("?PointY", p.Y); cmd.Parameters.AddWithValue("?PointZ", p.Z); diff --git a/OpenSim/Framework/RegionSettings.cs b/OpenSim/Framework/RegionSettings.cs index 2c9f7d24f2..01406ceeb1 100644 --- a/OpenSim/Framework/RegionSettings.cs +++ b/OpenSim/Framework/RegionSettings.cs @@ -463,17 +463,14 @@ namespace OpenSim.Framework } // Connected Telehub position - private float m_TelehubPosX; - private float m_TelehubPosY; - private float m_TelehubPosZ; + private Vector3 m_TelehubPos; public Vector3 TelehubPos { get { if (HasTelehub) { - Vector3 Pos = new Vector3(m_TelehubPosX, m_TelehubPosY, m_TelehubPosZ); - return Pos; + return m_TelehubPos; } else { @@ -482,53 +479,18 @@ namespace OpenSim.Framework } set { - - m_TelehubPosX = value.X; - m_TelehubPosY = value.Y; - m_TelehubPosZ = value.Z; + m_TelehubPos = value; } } // Connected Telehub rotation - private float m_TelehubRotX; - private float m_TelehubRotY; - private float m_TelehubRotZ; - private float m_TelehubRotW; + private Quaternion m_TelehubRot; public Quaternion TelehubRot { get - { - if (HasTelehub) - { - Quaternion quat = new Quaternion(); - - quat.X = m_TelehubRotX; - quat.Y = m_TelehubRotY; - quat.Z = m_TelehubRotZ; - quat.W = m_TelehubRotW; - - return quat; - } - else - { - // What else to do?? - Quaternion quat = new Quaternion(); - - quat.X = m_TelehubRotX; - quat.X = m_TelehubRotY; - quat.X = m_TelehubRotZ; - quat.X = m_TelehubRotW; - - return quat; - } - } + { return m_TelehubRot; } set - { - m_TelehubRotX = value.X; - m_TelehubRotY = value.Y; - m_TelehubRotZ = value.Z; - m_TelehubRotW = value.W; - } + { m_TelehubRot = value; } } // Our Connected Telehub's SpawnPoints diff --git a/TESTING.txt b/TESTING.txt index 54fc976e95..08a0698d2f 100644 --- a/TESTING.txt +++ b/TESTING.txt @@ -69,3 +69,6 @@ Example nunit-console2 OpenSim.Framework.Tests.dll (on linux) nunit-console OpenSim.Framework.Tests.dll (on windows) + +See the file OpenSim/Data/Tests/Resources/TestDataConnections.ini +for information to setup testing for data