diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/Data.MySQL/MySQLDataStore.cs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs b/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs index 962d573..61b22a0 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLDataStore.cs | |||
@@ -523,6 +523,16 @@ namespace OpenSim.Framework.Data.MySQL | |||
523 | createCol(prims, "RotationY", typeof(Double)); | 523 | createCol(prims, "RotationY", typeof(Double)); |
524 | createCol(prims, "RotationZ", typeof(Double)); | 524 | createCol(prims, "RotationZ", typeof(Double)); |
525 | createCol(prims, "RotationW", typeof(Double)); | 525 | createCol(prims, "RotationW", typeof(Double)); |
526 | // sit target | ||
527 | createCol(prims, "SitTargetOffsetX", typeof(Double)); | ||
528 | createCol(prims, "SitTargetOffsetY", typeof(Double)); | ||
529 | createCol(prims, "SitTargetOffsetZ", typeof(Double)); | ||
530 | |||
531 | createCol(prims, "SitTargetOrientW", typeof(Double)); | ||
532 | createCol(prims, "SitTargetOrientX", typeof(Double)); | ||
533 | createCol(prims, "SitTargetOrientY", typeof(Double)); | ||
534 | createCol(prims, "SitTargetOrientZ", typeof(Double)); | ||
535 | |||
526 | 536 | ||
527 | // Add in contraints | 537 | // Add in contraints |
528 | prims.PrimaryKey = new DataColumn[] { prims.Columns["UUID"] }; | 538 | prims.PrimaryKey = new DataColumn[] { prims.Columns["UUID"] }; |
@@ -688,7 +698,26 @@ namespace OpenSim.Framework.Data.MySQL | |||
688 | Convert.ToSingle(row["RotationZ"]), | 698 | Convert.ToSingle(row["RotationZ"]), |
689 | Convert.ToSingle(row["RotationW"]) | 699 | Convert.ToSingle(row["RotationW"]) |
690 | ); | 700 | ); |
701 | try | ||
702 | { | ||
703 | prim.SetSitTargetLL(new LLVector3( | ||
704 | Convert.ToSingle(row["SitTargetOffsetX"]), | ||
705 | Convert.ToSingle(row["SitTargetOffsetX"]), | ||
706 | Convert.ToSingle(row["SitTargetOffsetZ"])), new LLQuaternion( | ||
707 | Convert.ToSingle(row["SitTargetOrientW"]), | ||
708 | Convert.ToSingle(row["SitTargetOrientX"]), | ||
709 | Convert.ToSingle(row["SitTargetOrientY"]), | ||
710 | Convert.ToSingle(row["SitTargetOrientX"]))); | ||
711 | } | ||
712 | catch (System.InvalidCastException) | ||
713 | { | ||
714 | // Database table was created before we got here and needs to be created! :P | ||
691 | 715 | ||
716 | using (MySqlCommand cmd = new MySqlCommand("ALTER TABLE `prims` ADD COLUMN `SitTargetOffsetX` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetY` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetZ` float NOT NULL default 0, ADD COLUMN `SitTargetOrientW` float NOT NULL default 0, ADD COLUMN `SitTargetOrientX` float NOT NULL default 0, ADD COLUMN `SitTargetOrientY` float NOT NULL default 0, ADD COLUMN `SitTargetOrientZ` float NOT NULL default 0;", m_connection)) | ||
717 | { | ||
718 | cmd.ExecuteNonQuery(); | ||
719 | } | ||
720 | } | ||
692 | return prim; | 721 | return prim; |
693 | } | 722 | } |
694 | 723 | ||
@@ -798,6 +827,19 @@ namespace OpenSim.Framework.Data.MySQL | |||
798 | row["RotationY"] = prim.RotationOffset.Y; | 827 | row["RotationY"] = prim.RotationOffset.Y; |
799 | row["RotationZ"] = prim.RotationOffset.Z; | 828 | row["RotationZ"] = prim.RotationOffset.Z; |
800 | row["RotationW"] = prim.RotationOffset.W; | 829 | row["RotationW"] = prim.RotationOffset.W; |
830 | |||
831 | // Sit target | ||
832 | LLVector3 sitTargetPos = prim.GetSitTargetPositionLL(); | ||
833 | row["SitTargetOffsetX"] = sitTargetPos.X; | ||
834 | row["SitTargetOffsetY"] = sitTargetPos.Y; | ||
835 | row["SitTargetOffsetZ"] = sitTargetPos.Z; | ||
836 | |||
837 | LLQuaternion sitTargetOrient = prim.GetSitTargetOrientationLL(); | ||
838 | row["SitTargetOrientW"] = sitTargetOrient.W; | ||
839 | row["SitTargetOrientX"] = sitTargetOrient.X; | ||
840 | row["SitTargetOrientY"] = sitTargetOrient.Y; | ||
841 | row["SitTargetOrientZ"] = sitTargetOrient.Z; | ||
842 | |||
801 | } | 843 | } |
802 | 844 | ||
803 | private void fillLandRow(DataRow row, LandData land, LLUUID regionUUID) | 845 | private void fillLandRow(DataRow row, LandData land, LLUUID regionUUID) |