diff --git a/Source/Compatibility/Math/BezierCurve.cs b/Source/Compatibility/Math/BezierCurve.cs
index 11442250..19653c77 100644
--- a/Source/Compatibility/Math/BezierCurve.cs
+++ b/Source/Compatibility/Math/BezierCurve.cs
@@ -17,6 +17,7 @@ namespace OpenTK.Math
///
/// Represents a bezier curve with as many points as you want.
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable]
public struct BezierCurve
{
diff --git a/Source/Compatibility/Math/BezierCurveCubic.cs b/Source/Compatibility/Math/BezierCurveCubic.cs
index 1491674b..ba56a4b1 100644
--- a/Source/Compatibility/Math/BezierCurveCubic.cs
+++ b/Source/Compatibility/Math/BezierCurveCubic.cs
@@ -17,6 +17,7 @@ namespace OpenTK.Math
///
/// Represents a cubic bezier curve with two anchor and two control points.
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable]
public struct BezierCurveCubic
{
diff --git a/Source/Compatibility/Math/BezierCurveQuadric.cs b/Source/Compatibility/Math/BezierCurveQuadric.cs
index 0fd396c7..bb73e275 100644
--- a/Source/Compatibility/Math/BezierCurveQuadric.cs
+++ b/Source/Compatibility/Math/BezierCurveQuadric.cs
@@ -17,6 +17,7 @@ namespace OpenTK.Math
///
/// Represents a quadric bezier curve with two anchor and one control point.
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable]
public struct BezierCurveQuadric
{
diff --git a/Source/Compatibility/Math/Box2.cs b/Source/Compatibility/Math/Box2.cs
index ae04a43f..739c733c 100644
--- a/Source/Compatibility/Math/Box2.cs
+++ b/Source/Compatibility/Math/Box2.cs
@@ -14,6 +14,7 @@ namespace OpenTK.Math
///
/// Defines a 2d box (rectangle).
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[StructLayout(LayoutKind.Sequential)]
public struct Box2
{
diff --git a/Source/Compatibility/Math/Functions.cs b/Source/Compatibility/Math/Functions.cs
index 4c6058a3..1deee17a 100644
--- a/Source/Compatibility/Math/Functions.cs
+++ b/Source/Compatibility/Math/Functions.cs
@@ -17,6 +17,7 @@ namespace OpenTK.Math
///
/// Contains mathematical functions for the OpenTK.Math toolkit.
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
public static class Functions
{
#region public static long NextPowerOfTwo(long n)
diff --git a/Source/Compatibility/Math/Half.cs b/Source/Compatibility/Math/Half.cs
index c57ce2af..f55d4b4a 100644
--- a/Source/Compatibility/Math/Half.cs
+++ b/Source/Compatibility/Math/Half.cs
@@ -75,6 +75,7 @@ namespace OpenTK.Math
/// but must not lead to GL interruption or termination. Providing a denormalized number or negative zero to GL must yield
/// predictable results.
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable, StructLayout(LayoutKind.Sequential)]
public struct Half : ISerializable, IComparable, IFormattable, IEquatable
{
diff --git a/Source/Compatibility/Math/Matrix3d.cs b/Source/Compatibility/Math/Matrix3d.cs
index febc35fd..e3702446 100644
--- a/Source/Compatibility/Math/Matrix3d.cs
+++ b/Source/Compatibility/Math/Matrix3d.cs
@@ -30,6 +30,7 @@ namespace OpenTK.Math
// Todo: Remove this warning when the code goes public.
#pragma warning disable 3019
#if false
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable]
[StructLayout(LayoutKind.Sequential)]
public struct Matrix3d : IEquatable
@@ -219,7 +220,7 @@ namespace OpenTK.Math
#endregion
- #region Constructors
+ #region Constructors
/// Constructs left matrix with the same components as the given matrix.
/// The matrix whose components to copy.
@@ -318,7 +319,7 @@ namespace OpenTK.Math
#endregion
- #region Equality
+ #region Equality
/// Indicates whether the current matrix is equal to another matrix.
/// The OpenTK.Matrix3d structure to compare with.
@@ -412,7 +413,7 @@ namespace OpenTK.Math
#endregion
- #region Arithmetic Operators
+ #region Arithmetic Operators
/// Add left matrix to this matrix.
@@ -624,7 +625,7 @@ namespace OpenTK.Math
#endregion
- #region Functions
+ #region Functions
public double Determinant
{
@@ -667,7 +668,7 @@ namespace OpenTK.Math
#endregion
- #region Transformation Functions
+ #region Transformation Functions
public void Transform(ref Vector3d vector)
{
@@ -772,7 +773,7 @@ namespace OpenTK.Math
#endregion
- #region Constants
+ #region Constants
/// The identity matrix.
public static readonly Matrix3d Identity = new Matrix3d
@@ -792,7 +793,7 @@ namespace OpenTK.Math
#endregion
- #region HashCode
+ #region HashCode
/// Returns the hash code for this instance.
/// A 32-bit signed integer that is the hash code for this instance.
@@ -806,7 +807,7 @@ namespace OpenTK.Math
#endregion
- #region String
+ #region String
/// Returns the fully qualified type name of this instance.
/// A System.String containing left fully qualified type name.
@@ -824,5 +825,5 @@ namespace OpenTK.Math
#endregion
}
#endif
- #pragma warning restore 3019
+#pragma warning restore 3019
}
diff --git a/Source/Compatibility/Math/Matrix4.cs b/Source/Compatibility/Math/Matrix4.cs
index 6cef4904..b15e37f5 100644
--- a/Source/Compatibility/Math/Matrix4.cs
+++ b/Source/Compatibility/Math/Matrix4.cs
@@ -30,6 +30,7 @@ namespace OpenTK.Math
///
/// Represents a 4x4 Matrix
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable]
[StructLayout(LayoutKind.Sequential)]
public struct Matrix4 : IEquatable
diff --git a/Source/Compatibility/Math/Matrix4d.cs b/Source/Compatibility/Math/Matrix4d.cs
index b8bafbca..132b25da 100644
--- a/Source/Compatibility/Math/Matrix4d.cs
+++ b/Source/Compatibility/Math/Matrix4d.cs
@@ -30,6 +30,7 @@ namespace OpenTK.Math
///
/// Represents a 4x4 Matrix with double-precision components.
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable]
[StructLayout(LayoutKind.Sequential)]
public struct Matrix4d : IEquatable
diff --git a/Source/Compatibility/Math/Quaternion.cs b/Source/Compatibility/Math/Quaternion.cs
index b90a4d3f..84a8bf2f 100644
--- a/Source/Compatibility/Math/Quaternion.cs
+++ b/Source/Compatibility/Math/Quaternion.cs
@@ -32,6 +32,7 @@ namespace OpenTK.Math
///
/// Represents a Quaternion.
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable]
[StructLayout(LayoutKind.Sequential)]
public struct Quaternion : IEquatable
diff --git a/Source/Compatibility/Math/Quaterniond.cs b/Source/Compatibility/Math/Quaterniond.cs
index 6091c8b1..2597d616 100644
--- a/Source/Compatibility/Math/Quaterniond.cs
+++ b/Source/Compatibility/Math/Quaterniond.cs
@@ -32,6 +32,7 @@ namespace OpenTK.Math
///
/// Represents a double-precision Quaternion.
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable]
[StructLayout(LayoutKind.Sequential)]
public struct Quaterniond : IEquatable
diff --git a/Source/Compatibility/Math/Vector2.cs b/Source/Compatibility/Math/Vector2.cs
index b5c6e050..c7fce060 100644
--- a/Source/Compatibility/Math/Vector2.cs
+++ b/Source/Compatibility/Math/Vector2.cs
@@ -31,6 +31,7 @@ namespace OpenTK.Math
///
/// The Vector2 structure is suitable for interoperation with unmanaged code requiring two consecutive floats.
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable]
[StructLayout(LayoutKind.Sequential)]
public struct Vector2 : IEquatable
diff --git a/Source/Compatibility/Math/Vector2d.cs b/Source/Compatibility/Math/Vector2d.cs
index 07002727..1f53101c 100644
--- a/Source/Compatibility/Math/Vector2d.cs
+++ b/Source/Compatibility/Math/Vector2d.cs
@@ -28,6 +28,7 @@ using System.Runtime.InteropServices;
namespace OpenTK.Math
{
/// Represents a 2D vector using two double-precision floating-point numbers.
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable]
[StructLayout(LayoutKind.Sequential)]
public struct Vector2d : IEquatable
diff --git a/Source/Compatibility/Math/Vector2h.cs b/Source/Compatibility/Math/Vector2h.cs
index d8600703..29b0b986 100644
--- a/Source/Compatibility/Math/Vector2h.cs
+++ b/Source/Compatibility/Math/Vector2h.cs
@@ -31,6 +31,7 @@ namespace OpenTK.Math
{
/// 2-component Vector of the Half type. Occupies 4 Byte total.
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable, StructLayout(LayoutKind.Sequential)]
public struct Vector2h : ISerializable, IEquatable
{
diff --git a/Source/Compatibility/Math/Vector3.cs b/Source/Compatibility/Math/Vector3.cs
index 66fb5c50..e670b520 100644
--- a/Source/Compatibility/Math/Vector3.cs
+++ b/Source/Compatibility/Math/Vector3.cs
@@ -34,6 +34,7 @@ namespace OpenTK.Math
///
/// The Vector3 structure is suitable for interoperation with unmanaged code requiring three consecutive floats.
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable]
[StructLayout(LayoutKind.Sequential)]
public struct Vector3 : IEquatable
diff --git a/Source/Compatibility/Math/Vector3d.cs b/Source/Compatibility/Math/Vector3d.cs
index 25e528ba..989f8b93 100644
--- a/Source/Compatibility/Math/Vector3d.cs
+++ b/Source/Compatibility/Math/Vector3d.cs
@@ -31,6 +31,7 @@ namespace OpenTK.Math
///
/// Represents a 3D vector using three double-precision floating-point numbers.
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable]
[StructLayout(LayoutKind.Sequential)]
public struct Vector3d : IEquatable
diff --git a/Source/Compatibility/Math/Vector3h.cs b/Source/Compatibility/Math/Vector3h.cs
index f3dd7528..f1616267 100644
--- a/Source/Compatibility/Math/Vector3h.cs
+++ b/Source/Compatibility/Math/Vector3h.cs
@@ -33,6 +33,7 @@ namespace OpenTK.Math
///
/// 3-component Vector of the Half type. Occupies 6 Byte total.
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable, StructLayout(LayoutKind.Sequential)]
public struct Vector3h : ISerializable, IEquatable
{
diff --git a/Source/Compatibility/Math/Vector4.cs b/Source/Compatibility/Math/Vector4.cs
index de8440a1..2810581f 100644
--- a/Source/Compatibility/Math/Vector4.cs
+++ b/Source/Compatibility/Math/Vector4.cs
@@ -32,6 +32,7 @@ namespace OpenTK.Math
///
/// The Vector4 structure is suitable for interoperation with unmanaged code requiring four consecutive floats.
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable]
[StructLayout(LayoutKind.Sequential)]
public struct Vector4 : IEquatable
diff --git a/Source/Compatibility/Math/Vector4d.cs b/Source/Compatibility/Math/Vector4d.cs
index 5be468c3..cdd0bf9d 100644
--- a/Source/Compatibility/Math/Vector4d.cs
+++ b/Source/Compatibility/Math/Vector4d.cs
@@ -29,6 +29,7 @@ using System.Xml.Serialization;
namespace OpenTK.Math
{
/// Represents a 4D vector using four double-precision floating-point numbers.
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable]
[StructLayout(LayoutKind.Sequential)]
public struct Vector4d : IEquatable
diff --git a/Source/Compatibility/Math/Vector4h.cs b/Source/Compatibility/Math/Vector4h.cs
index 6a88866a..0045e45f 100644
--- a/Source/Compatibility/Math/Vector4h.cs
+++ b/Source/Compatibility/Math/Vector4h.cs
@@ -33,6 +33,7 @@ namespace OpenTK.Math
///
/// 4-component Vector of the Half type. Occupies 8 Byte total.
///
+ [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
[Serializable, StructLayout(LayoutKind.Sequential)]
public struct Vector4h : ISerializable, IEquatable
{