Optimized GameScreen.DrawMap

- Downscaled lightmap, since blurring will make this unnoticeable anyway
(TODO: make this optional)
- Render LOS in fewer passes by using a shader
- Use light volume to calculate LOS
- This also means we can use the override texture to render the diving
suit obstruct effect
- Don't render bunks and labels onto LOS background (TODO: add the
option to render back into the LOS background, i.e. just use
multiplicative blending as if it was the lightmap)
- Prefer SpriteSortMode.Deferred over all others, prefer
SamplerState.LinearClamp/PointClamp over all others
- Remove shader blur in favor of geometry blur (TODO: improve on this
further, right now it has a few artifacts)
- Trim light volumes
- Do some weird shit with the background particles (use DrawTiled
instead of relying on SamplerState.LinearWrap, because that's faster
somehow :/ )
- Pressing up/down in the console only returns a typed command now
This commit is contained in:
juanjp600
2017-12-20 19:41:23 -03:00
parent 1cb39f7fd5
commit 7a413aee93
30 changed files with 1986 additions and 1960 deletions
@@ -168,7 +168,7 @@ namespace Microsoft.Xna.Framework
// |-------|-------|-------|-------
// A B G R
private uint _packedValue;
/// <summary>
/// Constructs an RGBA color from a packed value.
/// The value is a 32-bit unsigned integer, with R in the least significant octet.
@@ -384,8 +384,8 @@ namespace Microsoft.Xna.Framework
this._packedValue = (this._packedValue & 0x00ffffff) | ((uint)value << 24);
}
}
/// <summary>
/// <summary>
/// Compares whether two <see cref="Color"/> instances are equal.
/// </summary>
/// <param name="a"><see cref="Color"/> instance on the left of the equal sign.</param>
@@ -395,13 +395,13 @@ namespace Microsoft.Xna.Framework
{
return (a._packedValue == b._packedValue);
}
/// <summary>
/// <summary>
/// Compares whether two <see cref="Color"/> instances are not equal.
/// </summary>
/// <param name="a"><see cref="Color"/> instance on the left of the not equal sign.</param>
/// <param name="b"><see cref="Color"/> instance on the right of the not equal sign.</param>
/// <returns><c>true</c> if the instances are not equal; <c>false</c> otherwise.</returns>
/// <returns><c>true</c> if the instances are not equal; <c>false</c> otherwise.</returns>
public static bool operator !=(Color a, Color b)
{
return (a._packedValue != b._packedValue);
@@ -415,7 +415,7 @@ namespace Microsoft.Xna.Framework
{
return this._packedValue.GetHashCode();
}
/// <summary>
/// Compares whether current instance is equal to specified object.
/// </summary>
@@ -444,8 +444,8 @@ namespace Microsoft.Xna.Framework
get;
private set;
}
/// <summary>
/// <summary>
/// AliceBlue color (R:240,G:248,B:255,A:255).
/// </summary>
public static Color AliceBlue
@@ -466,13 +466,13 @@ namespace Microsoft.Xna.Framework
/// <summary>
/// Aqua color (R:0,G:255,B:255,A:255).
/// </summary>
public static Color Aqua
public static Color Aqua
{
get;
private set;
}
/// <summary>
/// <summary>
/// Aquamarine color (R:127,G:255,B:212,A:255).
/// </summary>
public static Color Aquamarine
@@ -484,13 +484,13 @@ namespace Microsoft.Xna.Framework
/// <summary>
/// Azure color (R:240,G:255,B:255,A:255).
/// </summary>
public static Color Azure
public static Color Azure
{
get;
private set;
}
/// <summary>
/// <summary>
/// Beige color (R:245,G:245,B:220,A:255).
/// </summary>
public static Color Beige
@@ -610,13 +610,13 @@ namespace Microsoft.Xna.Framework
/// <summary>
/// Cornsilk color (R:255,G:248,B:220,A:255).
/// </summary>
public static Color Cornsilk
public static Color Cornsilk
{
get;
private set;
}
/// <summary>
/// <summary>
/// Crimson color (R:220,G:20,B:60,A:255).
/// </summary>
public static Color Crimson
@@ -637,13 +637,13 @@ namespace Microsoft.Xna.Framework
/// <summary>
/// DarkBlue color (R:0,G:0,B:139,A:255).
/// </summary>
public static Color DarkBlue
public static Color DarkBlue
{
get;
private set;
}
/// <summary>
/// <summary>
/// DarkCyan color (R:0,G:139,B:139,A:255).
/// </summary>
public static Color DarkCyan
@@ -664,13 +664,13 @@ namespace Microsoft.Xna.Framework
/// <summary>
/// DarkGray color (R:169,G:169,B:169,A:255).
/// </summary>
public static Color DarkGray
public static Color DarkGray
{
get;
private set;
}
/// <summary>
/// <summary>
/// DarkGreen color (R:0,G:100,B:0,A:255).
/// </summary>
public static Color DarkGreen
@@ -733,7 +733,7 @@ namespace Microsoft.Xna.Framework
private set;
}
/// <summary>
/// <summary>
/// DarkSalmon color (R:233,G:150,B:122,A:255).
/// </summary>
public static Color DarkSalmon
@@ -850,7 +850,7 @@ namespace Microsoft.Xna.Framework
private set;
}
/// <summary>
/// <summary>
/// Fuchsia color (R:255,G:0,B:255,A:255).
/// </summary>
public static Color Fuchsia
@@ -1496,7 +1496,7 @@ namespace Microsoft.Xna.Framework
private set;
}
/// <summary>
/// <summary>
/// SaddleBrown color (R:139,G:69,B:19,A:255).
/// </summary>
public static Color SaddleBrown
@@ -1504,7 +1504,7 @@ namespace Microsoft.Xna.Framework
get;
private set;
}
/// <summary>
/// Salmon color (R:250,G:128,B:114,A:255).
/// </summary>
@@ -1532,7 +1532,7 @@ namespace Microsoft.Xna.Framework
private set;
}
/// <summary>
/// <summary>
/// SeaShell color (R:255,G:245,B:238,A:255).
/// </summary>
public static Color SeaShell
@@ -1541,7 +1541,7 @@ namespace Microsoft.Xna.Framework
private set;
}
/// <summary>
/// <summary>
/// Sienna color (R:160,G:82,B:45,A:255).
/// </summary>
public static Color Sienna
@@ -1550,7 +1550,7 @@ namespace Microsoft.Xna.Framework
private set;
}
/// <summary>
/// <summary>
/// Silver color (R:192,G:192,B:192,A:255).
/// </summary>
public static Color Silver
@@ -1649,7 +1649,7 @@ namespace Microsoft.Xna.Framework
private set;
}
/// <summary>
/// <summary>
/// Turquoise color (R:64,G:224,B:208,A:255).
/// </summary>
public static Color Turquoise
@@ -1670,12 +1670,12 @@ namespace Microsoft.Xna.Framework
/// <summary>
/// Wheat color (R:245,G:222,B:179,A:255).
/// </summary>
public static Color Wheat
public static Color Wheat
{
get;
private set;
}
/// <summary>
/// White color (R:255,G:255,B:255,A:255).
/// </summary>
@@ -1722,7 +1722,7 @@ namespace Microsoft.Xna.Framework
/// <returns>Interpolated <see cref="Color"/>.</returns>
public static Color Lerp(Color value1, Color value2, Single amount)
{
amount = MathHelper.Clamp(amount, 0, 1);
amount = MathHelper.Clamp(amount, 0, 1);
return new Color(
(int)MathHelper.Lerp(value1.R, value2.R, amount),
(int)MathHelper.Lerp(value1.G, value2.G, amount),
@@ -1730,24 +1730,24 @@ namespace Microsoft.Xna.Framework
(int)MathHelper.Lerp(value1.A, value2.A, amount) );
}
/// <summary>
/// <summary>
/// Multiply <see cref="Color"/> by value.
/// </summary>
/// <param name="value">Source <see cref="Color"/>.</param>
/// <param name="scale">Multiplicator.</param>
/// <returns>Multiplication result.</returns>
public static Color Multiply(Color value, float scale)
{
return new Color((int)(value.R * scale), (int)(value.G * scale), (int)(value.B * scale), (int)(value.A * scale));
}
/// <summary>
public static Color Multiply(Color value, float scale)
{
return new Color((int)(value.R * scale), (int)(value.G * scale), (int)(value.B * scale), (int)(value.A * scale));
}
/// <summary>
/// Multiply <see cref="Color"/> by value.
/// </summary>
/// <param name="value">Source <see cref="Color"/>.</param>
/// <param name="scale">Multiplicator.</param>
/// <returns>Multiplication result.</returns>
public static Color operator *(Color value, float scale)
public static Color operator *(Color value, float scale)
{
return new Color((int)(value.R * scale), (int)(value.G * scale), (int)(value.B * scale), (int)(value.A * scale));
}
@@ -1769,7 +1769,7 @@ namespace Microsoft.Xna.Framework
{
return new Vector4(R / 255.0f, G / 255.0f, B / 255.0f, A / 255.0f);
}
/// <summary>
/// Gets or sets packed value of this <see cref="Color"/>.
/// </summary>
@@ -1800,8 +1800,8 @@ namespace Microsoft.Xna.Framework
/// {R:[red] G:[green] B:[blue] A:[alpha]}
/// </summary>
/// <returns><see cref="String"/> representation of this <see cref="Color"/>.</returns>
public override string ToString ()
{
public override string ToString ()
{
StringBuilder sb = new StringBuilder(25);
sb.Append("{R:");
sb.Append(R);
@@ -1813,9 +1813,9 @@ namespace Microsoft.Xna.Framework
sb.Append(A);
sb.Append("}");
return sb.ToString();
}
/// <summary>
}
/// <summary>
/// Translate a non-premultipled alpha <see cref="Color"/> to a <see cref="Color"/> that contains premultiplied alpha.
/// </summary>
/// <param name="vector">A <see cref="Vector4"/> representing color.</param>
@@ -1824,8 +1824,8 @@ namespace Microsoft.Xna.Framework
{
return new Color(vector.X * vector.W, vector.Y * vector.W, vector.Z * vector.W, vector.W);
}
/// <summary>
/// <summary>
/// Translate a non-premultipled alpha <see cref="Color"/> to a <see cref="Color"/> that contains premultiplied alpha.
/// </summary>
/// <param name="r">Red component value.</param>
@@ -1839,15 +1839,15 @@ namespace Microsoft.Xna.Framework
}
#region IEquatable<Color> Members
/// <summary>
/// <summary>
/// Compares whether current instance is equal to specified <see cref="Color"/>.
/// </summary>
/// <param name="other">The <see cref="Color"/> to compare.</param>
/// <returns><c>true</c> if the instances are equal; <c>false</c> otherwise.</returns>
public bool Equals(Color other)
{
return this.PackedValue == other.PackedValue;
return this.PackedValue == other.PackedValue;
}
#endregion
@@ -15,7 +15,7 @@ namespace Microsoft.Xna.Framework.Graphics
/// <summary>
/// No options specified.
/// </summary>
None = 0,
None = 0,
/// <summary>
/// Render the sprite reversed along the X axis.
/// </summary>
@@ -44,15 +44,15 @@ namespace Microsoft.Xna.Framework.Input
/// Identifies the state of a keyboard key.
/// </summary>
public enum KeyState
{
/// <summary>
/// Key is released.
/// </summary>
Up,
{
/// <summary>
/// Key is released.
/// </summary>
Up,
/// <summary>
/// Key is pressed.
/// </summary>
Down,
}
/// <summary>
/// Key is pressed.
/// </summary>
Down,
}
}
@@ -9,7 +9,7 @@ namespace Microsoft.Xna.Framework.Input
/// <summary>
/// Holds the state of keystrokes by a keyboard.
/// </summary>
public struct KeyboardState
public struct KeyboardState
{
// Used for the common situation where GetPressedKeys will return an empty array
static Keys[] empty = new Keys[0];
@@ -6,648 +6,648 @@ namespace Microsoft.Xna.Framework.Input
{
/// <summary>
/// Defines the keys on a keyboard.
/// </summary>
public enum Keys
{
/// </summary>
public enum Keys
{
/// <summary>
/// Reserved.
/// </summary>
None = 0,
None = 0,
/// <summary>
/// BACKSPACE key.
/// </summary>
Back = 8,
Back = 8,
/// <summary>
/// TAB key.
/// </summary>
Tab = 9,
Tab = 9,
/// <summary>
/// ENTER key.
/// </summary>
Enter = 13,
Enter = 13,
/// <summary>
/// CAPS LOCK key.
/// </summary>
CapsLock = 20,
CapsLock = 20,
/// <summary>
/// ESC key.
/// </summary>
Escape = 27,
Escape = 27,
/// <summary>
/// SPACEBAR key.
/// </summary>
Space = 32,
Space = 32,
/// <summary>
/// PAGE UP key.
/// </summary>
PageUp = 33,
PageUp = 33,
/// <summary>
/// PAGE DOWN key.
/// </summary>
PageDown = 34,
PageDown = 34,
/// <summary>
/// END key.
/// </summary>
End = 35,
End = 35,
/// <summary>
/// HOME key.
/// </summary>
Home = 36,
Home = 36,
/// <summary>
/// LEFT ARROW key.
/// </summary>
Left = 37,
Left = 37,
/// <summary>
/// UP ARROW key.
/// </summary>
Up = 38,
Up = 38,
/// <summary>
/// RIGHT ARROW key.
/// </summary>
Right = 39,
Right = 39,
/// <summary>
/// DOWN ARROW key.
/// </summary>
Down = 40,
Down = 40,
/// <summary>
/// SELECT key.
/// </summary>
Select = 41,
Select = 41,
/// <summary>
/// PRINT key.
/// </summary>
Print = 42,
Print = 42,
/// <summary>
/// EXECUTE key.
/// </summary>
Execute = 43,
Execute = 43,
/// <summary>
/// PRINT SCREEN key.
/// </summary>
PrintScreen = 44,
PrintScreen = 44,
/// <summary>
/// INS key.
/// </summary>
Insert = 45,
Insert = 45,
/// <summary>
/// DEL key.
/// </summary>
Delete = 46,
Delete = 46,
/// <summary>
/// HELP key.
/// </summary>
Help = 47,
Help = 47,
/// <summary>
/// Used for miscellaneous characters; it can vary by keyboard.
/// </summary>
D0 = 48,
D0 = 48,
/// <summary>
/// Used for miscellaneous characters; it can vary by keyboard.
/// </summary>
D1 = 49,
D1 = 49,
/// <summary>
/// Used for miscellaneous characters; it can vary by keyboard.
/// </summary>
D2 = 50,
D2 = 50,
/// <summary>
/// Used for miscellaneous characters; it can vary by keyboard.
/// </summary>
D3 = 51,
D3 = 51,
/// <summary>
/// Used for miscellaneous characters; it can vary by keyboard.
/// </summary>
D4 = 52,
D4 = 52,
/// <summary>
/// Used for miscellaneous characters; it can vary by keyboard.
/// </summary>
D5 = 53,
D5 = 53,
/// <summary>
/// Used for miscellaneous characters; it can vary by keyboard.
/// </summary>
D6 = 54,
D6 = 54,
/// <summary>
/// Used for miscellaneous characters; it can vary by keyboard.
/// </summary>
D7 = 55,
D7 = 55,
/// <summary>
/// Used for miscellaneous characters; it can vary by keyboard.
/// </summary>
D8 = 56,
D8 = 56,
/// <summary>
/// Used for miscellaneous characters; it can vary by keyboard.
/// </summary>
D9 = 57,
D9 = 57,
/// <summary>
/// A key.
/// </summary>
A = 65,
A = 65,
/// <summary>
/// B key.
/// </summary>
B = 66,
B = 66,
/// <summary>
/// C key.
/// </summary>
C = 67,
C = 67,
/// <summary>
/// D key.
/// </summary>
D = 68,
D = 68,
/// <summary>
/// E key.
/// </summary>
E = 69,
E = 69,
/// <summary>
/// F key.
/// </summary>
F = 70,
F = 70,
/// <summary>
/// G key.
/// </summary>
G = 71,
G = 71,
/// <summary>
/// H key.
/// </summary>
H = 72,
H = 72,
/// <summary>
/// I key.
/// </summary>
I = 73,
I = 73,
/// <summary>
/// J key.
/// </summary>
J = 74,
J = 74,
/// <summary>
/// K key.
/// </summary>
K = 75,
K = 75,
/// <summary>
/// L key.
/// </summary>
L = 76,
L = 76,
/// <summary>
/// M key.
/// </summary>
M = 77,
M = 77,
/// <summary>
/// N key.
/// </summary>
N = 78,
N = 78,
/// <summary>
/// O key.
/// </summary>
O = 79,
O = 79,
/// <summary>
/// P key.
/// </summary>
P = 80,
P = 80,
/// <summary>
/// Q key.
/// </summary>
Q = 81,
Q = 81,
/// <summary>
/// R key.
/// </summary>
R = 82,
R = 82,
/// <summary>
/// S key.
/// </summary>
S = 83,
S = 83,
/// <summary>
/// T key.
/// </summary>
T = 84,
T = 84,
/// <summary>
/// U key.
/// </summary>
U = 85,
U = 85,
/// <summary>
/// V key.
/// </summary>
V = 86,
V = 86,
/// <summary>
/// W key.
/// </summary>
W = 87,
W = 87,
/// <summary>
/// X key.
/// </summary>
X = 88,
X = 88,
/// <summary>
/// Y key.
/// </summary>
Y = 89,
Y = 89,
/// <summary>
/// Z key.
/// </summary>
Z = 90,
Z = 90,
/// <summary>
/// Left Windows key.
/// </summary>
LeftWindows = 91,
LeftWindows = 91,
/// <summary>
/// Right Windows key.
/// </summary>
RightWindows = 92,
RightWindows = 92,
/// <summary>
/// Applications key.
/// </summary>
Apps = 93,
Apps = 93,
/// <summary>
/// Computer Sleep key.
/// </summary>
Sleep = 95,
Sleep = 95,
/// <summary>
/// Numeric keypad 0 key.
/// </summary>
NumPad0 = 96,
NumPad0 = 96,
/// <summary>
/// Numeric keypad 1 key.
/// </summary>
NumPad1 = 97,
NumPad1 = 97,
/// <summary>
/// Numeric keypad 2 key.
/// </summary>
NumPad2 = 98,
NumPad2 = 98,
/// <summary>
/// Numeric keypad 3 key.
/// </summary>
NumPad3 = 99,
NumPad3 = 99,
/// <summary>
/// Numeric keypad 4 key.
/// </summary>
NumPad4 = 100,
NumPad4 = 100,
/// <summary>
/// Numeric keypad 5 key.
/// </summary>
NumPad5 = 101,
NumPad5 = 101,
/// <summary>
/// Numeric keypad 6 key.
/// </summary>
NumPad6 = 102,
NumPad6 = 102,
/// <summary>
/// Numeric keypad 7 key.
/// </summary>
NumPad7 = 103,
NumPad7 = 103,
/// <summary>
/// Numeric keypad 8 key.
/// </summary>
NumPad8 = 104,
NumPad8 = 104,
/// <summary>
/// Numeric keypad 9 key.
/// </summary>
NumPad9 = 105,
NumPad9 = 105,
/// <summary>
/// Multiply key.
/// </summary>
Multiply = 106,
Multiply = 106,
/// <summary>
/// Add key.
/// </summary>
Add = 107,
Add = 107,
/// <summary>
/// Separator key.
/// </summary>
Separator = 108,
Separator = 108,
/// <summary>
/// Subtract key.
/// </summary>
Subtract = 109,
Subtract = 109,
/// <summary>
/// Decimal key.
/// </summary>
Decimal = 110,
Decimal = 110,
/// <summary>
/// Divide key.
/// </summary>
Divide = 111,
Divide = 111,
/// <summary>
/// F1 key.
/// </summary>
F1 = 112,
F1 = 112,
/// <summary>
/// F2 key.
/// </summary>
F2 = 113,
F2 = 113,
/// <summary>
/// F3 key.
/// </summary>
F3 = 114,
F3 = 114,
/// <summary>
/// F4 key.
/// </summary>
F4 = 115,
F4 = 115,
/// <summary>
/// F5 key.
/// </summary>
F5 = 116,
F5 = 116,
/// <summary>
/// F6 key.
/// </summary>
F6 = 117,
F6 = 117,
/// <summary>
/// F7 key.
/// </summary>
F7 = 118,
F7 = 118,
/// <summary>
/// F8 key.
/// </summary>
F8 = 119,
F8 = 119,
/// <summary>
/// F9 key.
/// </summary>
F9 = 120,
F9 = 120,
/// <summary>
/// F10 key.
/// </summary>
F10 = 121,
F10 = 121,
/// <summary>
/// F11 key.
/// </summary>
F11 = 122,
F11 = 122,
/// <summary>
/// F12 key.
/// </summary>
F12 = 123,
F12 = 123,
/// <summary>
/// F13 key.
/// </summary>
F13 = 124,
F13 = 124,
/// <summary>
/// F14 key.
/// </summary>
F14 = 125,
F14 = 125,
/// <summary>
/// F15 key.
/// </summary>
F15 = 126,
F15 = 126,
/// <summary>
/// F16 key.
/// </summary>
F16 = 127,
F16 = 127,
/// <summary>
/// F17 key.
/// </summary>
F17 = 128,
F17 = 128,
/// <summary>
/// F18 key.
/// </summary>
F18 = 129,
F18 = 129,
/// <summary>
/// F19 key.
/// </summary>
F19 = 130,
F19 = 130,
/// <summary>
/// F20 key.
/// </summary>
F20 = 131,
F20 = 131,
/// <summary>
/// F21 key.
/// </summary>
F21 = 132,
F21 = 132,
/// <summary>
/// F22 key.
/// </summary>
F22 = 133,
F22 = 133,
/// <summary>
/// F23 key.
/// </summary>
F23 = 134,
F23 = 134,
/// <summary>
/// F24 key.
/// </summary>
F24 = 135,
F24 = 135,
/// <summary>
/// NUM LOCK key.
/// </summary>
NumLock = 144,
NumLock = 144,
/// <summary>
/// SCROLL LOCK key.
/// </summary>
Scroll = 145,
Scroll = 145,
/// <summary>
/// Left SHIFT key.
/// </summary>
LeftShift = 160,
LeftShift = 160,
/// <summary>
/// Right SHIFT key.
/// </summary>
RightShift = 161,
RightShift = 161,
/// <summary>
/// Left CONTROL key.
/// </summary>
LeftControl = 162,
LeftControl = 162,
/// <summary>
/// Right CONTROL key.
/// </summary>
RightControl = 163,
RightControl = 163,
/// <summary>
/// Left ALT key.
/// </summary>
LeftAlt = 164,
LeftAlt = 164,
/// <summary>
/// Right ALT key.
/// </summary>
RightAlt = 165,
RightAlt = 165,
/// <summary>
/// Browser Back key.
/// </summary>
BrowserBack = 166,
BrowserBack = 166,
/// <summary>
/// Browser Forward key.
/// </summary>
BrowserForward = 167,
BrowserForward = 167,
/// <summary>
/// Browser Refresh key.
/// </summary>
BrowserRefresh = 168,
BrowserRefresh = 168,
/// <summary>
/// Browser Stop key.
/// </summary>
BrowserStop = 169,
BrowserStop = 169,
/// <summary>
/// Browser Search key.
/// </summary>
BrowserSearch = 170,
BrowserSearch = 170,
/// <summary>
/// Browser Favorites key.
/// </summary>
BrowserFavorites = 171,
BrowserFavorites = 171,
/// <summary>
/// Browser Start and Home key.
/// </summary>
BrowserHome = 172,
/// <summary>
BrowserHome = 172,
/// <summary>
/// Volume Mute key.
/// </summary>
/// </summary>
VolumeMute = 173,
/// <summary>
/// Volume Down key.
/// </summary>
VolumeDown = 174,
VolumeDown = 174,
/// <summary>
/// Volume Up key.
/// </summary>
VolumeUp = 175,
VolumeUp = 175,
/// <summary>
/// Next Track key.
/// </summary>
MediaNextTrack = 176,
MediaNextTrack = 176,
/// <summary>
/// Previous Track key.
/// </summary>
MediaPreviousTrack = 177,
MediaPreviousTrack = 177,
/// <summary>
/// Stop Media key.
/// </summary>
MediaStop = 178,
MediaStop = 178,
/// <summary>
/// Play/Pause Media key.
/// </summary>
MediaPlayPause = 179,
MediaPlayPause = 179,
/// <summary>
/// Start Mail key.
/// </summary>
LaunchMail = 180,
LaunchMail = 180,
/// <summary>
/// Select Media key.
/// </summary>
SelectMedia = 181,
SelectMedia = 181,
/// <summary>
/// Start Application 1 key.
/// </summary>
LaunchApplication1 = 182,
LaunchApplication1 = 182,
/// <summary>
/// Start Application 2 key.
/// </summary>
LaunchApplication2 = 183,
LaunchApplication2 = 183,
/// <summary>
/// The OEM Semicolon key on a US standard keyboard.
/// </summary>
OemSemicolon = 186,
OemSemicolon = 186,
/// <summary>
/// For any country/region, the '+' key.
/// </summary>
OemPlus = 187,
OemPlus = 187,
/// <summary>
/// For any country/region, the ',' key.
/// </summary>
OemComma = 188,
OemComma = 188,
/// <summary>
/// For any country/region, the '-' key.
/// </summary>
OemMinus = 189,
OemMinus = 189,
/// <summary>
/// For any country/region, the '.' key.
/// </summary>
OemPeriod = 190,
OemPeriod = 190,
/// <summary>
/// The OEM question mark key on a US standard keyboard.
/// </summary>
OemQuestion = 191,
OemQuestion = 191,
/// <summary>
/// The OEM tilde key on a US standard keyboard.
/// </summary>
OemTilde = 192,
OemTilde = 192,
/// <summary>
/// The OEM open bracket key on a US standard keyboard.
/// </summary>
OemOpenBrackets = 219,
OemOpenBrackets = 219,
/// <summary>
/// The OEM pipe key on a US standard keyboard.
/// </summary>
OemPipe = 220,
OemPipe = 220,
/// <summary>
/// The OEM close bracket key on a US standard keyboard.
/// </summary>
OemCloseBrackets = 221,
OemCloseBrackets = 221,
/// <summary>
/// The OEM singled/double quote key on a US standard keyboard.
/// </summary>
OemQuotes = 222,
OemQuotes = 222,
/// <summary>
/// Used for miscellaneous characters; it can vary by keyboard.
/// </summary>
Oem8 = 223,
Oem8 = 223,
/// <summary>
/// The OEM angle bracket or backslash key on the RT 102 key keyboard.
/// </summary>
OemBackslash = 226,
OemBackslash = 226,
/// <summary>
/// IME PROCESS key.
/// </summary>
ProcessKey = 229,
ProcessKey = 229,
/// <summary>
/// Attn key.
/// </summary>
Attn = 246,
Attn = 246,
/// <summary>
/// CrSel key.
/// </summary>
Crsel = 247,
Crsel = 247,
/// <summary>
/// ExSel key.
/// </summary>
Exsel = 248,
Exsel = 248,
/// <summary>
/// Erase EOF key.
/// </summary>
EraseEof = 249,
EraseEof = 249,
/// <summary>
/// Play key.
/// </summary>
Play = 250,
Play = 250,
/// <summary>
/// Zoom key.
/// </summary>
Zoom = 251,
Zoom = 251,
/// <summary>
/// PA1 key.
/// </summary>
Pa1 = 253,
Pa1 = 253,
/// <summary>
/// CLEAR key.
/// </summary>
OemClear = 254,
OemClear = 254,
/// <summary>
/// Green ChatPad key.
/// </summary>
ChatPadGreen = 0xCA,
ChatPadGreen = 0xCA,
/// <summary>
/// Orange ChatPad key.
/// </summary>
ChatPadOrange = 0xCB,
ChatPadOrange = 0xCB,
/// <summary>
/// PAUSE key.
/// </summary>
Pause = 0x13,
Pause = 0x13,
/// <summary>
/// IME Convert key.
/// </summary>
ImeConvert = 0x1c,
ImeConvert = 0x1c,
/// <summary>
/// IME NoConvert key.
/// </summary>
ImeNoConvert = 0x1d,
ImeNoConvert = 0x1d,
/// <summary>
/// Kana key on Japanese keyboards.
/// </summary>
Kana = 0x15,
Kana = 0x15,
/// <summary>
/// Kanji key on Japanese keyboards.
/// </summary>
Kanji = 0x19,
Kanji = 0x19,
/// <summary>
/// OEM Auto key.
/// </summary>
OemAuto = 0xf3,
OemAuto = 0xf3,
/// <summary>
/// OEM Copy key.
/// </summary>
OemCopy = 0xf2,
OemCopy = 0xf2,
/// <summary>
/// OEM Enlarge Window key.
/// </summary>
OemEnlW = 0xf4
}
OemEnlW = 0xf4
}
}
@@ -147,7 +147,7 @@ namespace Microsoft.Xna.Framework
/// </summary>
/// <param name="a"><see cref="Point"/> instance on the left of the not equal sign.</param>
/// <param name="b"><see cref="Point"/> instance on the right of the not equal sign.</param>
/// <returns><c>true</c> if the instances are not equal; <c>false</c> otherwise.</returns>
/// <returns><c>true</c> if the instances are not equal; <c>false</c> otherwise.</returns>
public static bool operator !=(Point a, Point b)
{
return !a.Equals(b);
@@ -138,12 +138,12 @@ namespace Microsoft.Xna.Framework
/// <returns>The result of the quaternion addition.</returns>
public static Quaternion Add(Quaternion quaternion1, Quaternion quaternion2)
{
Quaternion quaternion;
quaternion.X = quaternion1.X + quaternion2.X;
quaternion.Y = quaternion1.Y + quaternion2.Y;
quaternion.Z = quaternion1.Z + quaternion2.Z;
quaternion.W = quaternion1.W + quaternion2.W;
return quaternion;
Quaternion quaternion;
quaternion.X = quaternion1.X + quaternion2.X;
quaternion.Y = quaternion1.Y + quaternion2.Y;
quaternion.Z = quaternion1.Z + quaternion2.Z;
quaternion.W = quaternion1.W + quaternion2.W;
return quaternion;
}
/// <summary>
@@ -154,10 +154,10 @@ namespace Microsoft.Xna.Framework
/// <param name="result">The result of the quaternion addition as an output parameter.</param>
public static void Add(ref Quaternion quaternion1, ref Quaternion quaternion2, out Quaternion result)
{
result.X = quaternion1.X + quaternion2.X;
result.Y = quaternion1.Y + quaternion2.Y;
result.Z = quaternion1.Z + quaternion2.Z;
result.W = quaternion1.W + quaternion2.W;
result.X = quaternion1.X + quaternion2.X;
result.Y = quaternion1.Y + quaternion2.Y;
result.Z = quaternion1.Z + quaternion2.Z;
result.W = quaternion1.W + quaternion2.W;
}
#endregion
@@ -171,8 +171,8 @@ namespace Microsoft.Xna.Framework
/// <param name="value2">The second <see cref="Quaternion"/> to concatenate.</param>
/// <returns>The result of rotation of <paramref name="value1"/> followed by <paramref name="value2"/> rotation.</returns>
public static Quaternion Concatenate(Quaternion value1, Quaternion value2)
{
Quaternion quaternion;
{
Quaternion quaternion;
float x1 = value1.X;
float y1 = value1.Y;
@@ -180,17 +180,17 @@ namespace Microsoft.Xna.Framework
float w1 = value1.W;
float x2 = value2.X;
float y2 = value2.Y;
float z2 = value2.Z;
float w2 = value2.W;
float y2 = value2.Y;
float z2 = value2.Z;
float w2 = value2.W;
quaternion.X = ((x2 * w1) + (x1 * w2)) + ((y2 * z1) - (z2 * y1));
quaternion.Y = ((y2 * w1) + (y1 * w2)) + ((z2 * x1) - (x2 * z1));
quaternion.Z = ((z2 * w1) + (z1 * w2)) + ((x2 * y1) - (y2 * x1));
quaternion.W = (w2 * w1) - (((x2 * x1) + (y2 * y1)) + (z2 * z1));
quaternion.X = ((x2 * w1) + (x1 * w2)) + ((y2 * z1) - (z2 * y1));
quaternion.Y = ((y2 * w1) + (y1 * w2)) + ((z2 * x1) - (x2 * z1));
quaternion.Z = ((z2 * w1) + (z1 * w2)) + ((x2 * y1) - (y2 * x1));
quaternion.W = (w2 * w1) - (((x2 * x1) + (y2 * y1)) + (z2 * z1));
return quaternion;
}
return quaternion;
}
/// <summary>
/// Creates a new <see cref="Quaternion"/> that contains concatenation between two quaternion.
@@ -199,7 +199,7 @@ namespace Microsoft.Xna.Framework
/// <param name="value2">The second <see cref="Quaternion"/> to concatenate.</param>
/// <param name="result">The result of rotation of <paramref name="value1"/> followed by <paramref name="value2"/> rotation as an output parameter.</param>
public static void Concatenate(ref Quaternion value1, ref Quaternion value2, out Quaternion result)
{
{
float x1 = value1.X;
float y1 = value1.Y;
float z1 = value1.Z;
@@ -224,11 +224,11 @@ namespace Microsoft.Xna.Framework
/// Transforms this quaternion into its conjugated version.
/// </summary>
public void Conjugate()
{
X = -X;
Y = -Y;
Z = -Z;
}
{
X = -X;
Y = -Y;
Z = -Z;
}
/// <summary>
/// Creates a new <see cref="Quaternion"/> that contains conjugated version of the specified quaternion.
@@ -236,9 +236,9 @@ namespace Microsoft.Xna.Framework
/// <param name="value">The quaternion which values will be used to create the conjugated version.</param>
/// <returns>The conjugate version of the specified quaternion.</returns>
public static Quaternion Conjugate(Quaternion value)
{
return new Quaternion(-value.X,-value.Y,-value.Z,value.W);
}
{
return new Quaternion(-value.X,-value.Y,-value.Z,value.W);
}
/// <summary>
/// Creates a new <see cref="Quaternion"/> that contains conjugated version of the specified quaternion.
@@ -246,12 +246,12 @@ namespace Microsoft.Xna.Framework
/// <param name="value">The quaternion which values will be used to create the conjugated version.</param>
/// <param name="result">The conjugated version of the specified quaternion as an output parameter.</param>
public static void Conjugate(ref Quaternion value, out Quaternion result)
{
result.X = -value.X;
result.Y = -value.Y;
result.Z = -value.Z;
result.W = value.W;
}
{
result.X = -value.X;
result.Y = -value.Y;
result.Z = -value.Z;
result.W = value.W;
}
#endregion
@@ -265,10 +265,10 @@ namespace Microsoft.Xna.Framework
/// <returns>The new quaternion builded from axis and angle.</returns>
public static Quaternion CreateFromAxisAngle(Vector3 axis, float angle)
{
float half = angle * 0.5f;
float sin = (float)Math.Sin(half);
float cos = (float)Math.Cos(half);
return new Quaternion(axis.X * sin, axis.Y * sin, axis.Z * sin, cos);
float half = angle * 0.5f;
float sin = (float)Math.Sin(half);
float cos = (float)Math.Cos(half);
return new Quaternion(axis.X * sin, axis.Y * sin, axis.Z * sin, cos);
}
/// <summary>
@@ -280,12 +280,12 @@ namespace Microsoft.Xna.Framework
public static void CreateFromAxisAngle(ref Vector3 axis, float angle, out Quaternion result)
{
float half = angle * 0.5f;
float sin = (float)Math.Sin(half);
float cos = (float)Math.Cos(half);
result.X = axis.X * sin;
result.Y = axis.Y * sin;
result.Z = axis.Z * sin;
result.W = cos;
float sin = (float)Math.Sin(half);
float cos = (float)Math.Cos(half);
result.X = axis.X * sin;
result.Y = axis.Y * sin;
result.Z = axis.Z * sin;
result.W = cos;
}
#endregion
@@ -304,51 +304,51 @@ namespace Microsoft.Xna.Framework
float half;
float scale = matrix.M11 + matrix.M22 + matrix.M33;
if (scale > 0.0f)
{
if (scale > 0.0f)
{
sqrt = (float)Math.Sqrt(scale + 1.0f);
quaternion.W = sqrt * 0.5f;
quaternion.W = sqrt * 0.5f;
sqrt = 0.5f / sqrt;
quaternion.X = (matrix.M23 - matrix.M32) * sqrt;
quaternion.Y = (matrix.M31 - matrix.M13) * sqrt;
quaternion.Z = (matrix.M12 - matrix.M21) * sqrt;
quaternion.X = (matrix.M23 - matrix.M32) * sqrt;
quaternion.Y = (matrix.M31 - matrix.M13) * sqrt;
quaternion.Z = (matrix.M12 - matrix.M21) * sqrt;
return quaternion;
}
if ((matrix.M11 >= matrix.M22) && (matrix.M11 >= matrix.M33))
{
return quaternion;
}
if ((matrix.M11 >= matrix.M22) && (matrix.M11 >= matrix.M33))
{
sqrt = (float) Math.Sqrt(1.0f + matrix.M11 - matrix.M22 - matrix.M33);
half = 0.5f / sqrt;
quaternion.X = 0.5f * sqrt;
quaternion.Y = (matrix.M12 + matrix.M21) * half;
quaternion.Z = (matrix.M13 + matrix.M31) * half;
quaternion.W = (matrix.M23 - matrix.M32) * half;
quaternion.X = 0.5f * sqrt;
quaternion.Y = (matrix.M12 + matrix.M21) * half;
quaternion.Z = (matrix.M13 + matrix.M31) * half;
quaternion.W = (matrix.M23 - matrix.M32) * half;
return quaternion;
}
if (matrix.M22 > matrix.M33)
{
return quaternion;
}
if (matrix.M22 > matrix.M33)
{
sqrt = (float) Math.Sqrt(1.0f + matrix.M22 - matrix.M11 - matrix.M33);
half = 0.5f / sqrt;
quaternion.X = (matrix.M21 + matrix.M12) * half;
quaternion.Y = 0.5f * sqrt;
quaternion.Z = (matrix.M32 + matrix.M23) * half;
quaternion.W = (matrix.M31 - matrix.M13) * half;
quaternion.X = (matrix.M21 + matrix.M12) * half;
quaternion.Y = 0.5f * sqrt;
quaternion.Z = (matrix.M32 + matrix.M23) * half;
quaternion.W = (matrix.M31 - matrix.M13) * half;
return quaternion;
}
return quaternion;
}
sqrt = (float) Math.Sqrt(1.0f + matrix.M33 - matrix.M11 - matrix.M22);
half = 0.5f / sqrt;
half = 0.5f / sqrt;
quaternion.X = (matrix.M31 + matrix.M13) * half;
quaternion.Y = (matrix.M32 + matrix.M23) * half;
quaternion.Z = 0.5f * sqrt;
quaternion.W = (matrix.M12 - matrix.M21) * half;
return quaternion;
quaternion.X = (matrix.M31 + matrix.M13) * half;
quaternion.Y = (matrix.M32 + matrix.M23) * half;
quaternion.Z = 0.5f * sqrt;
quaternion.W = (matrix.M12 - matrix.M21) * half;
return quaternion;
}
/// <summary>
@@ -417,7 +417,7 @@ namespace Microsoft.Xna.Framework
/// <param name="roll">Roll around the z axis in radians.</param>
/// <returns>A new quaternion from the concatenated yaw, pitch, and roll angles.</returns>
public static Quaternion CreateFromYawPitchRoll(float yaw, float pitch, float roll)
{
{
float halfRoll = roll * 0.5f;
float halfPitch = pitch * 0.5f;
float halfYaw = yaw * 0.5f;
@@ -442,8 +442,8 @@ namespace Microsoft.Xna.Framework
/// <param name="pitch">Pitch around the x axis in radians.</param>
/// <param name="roll">Roll around the z axis in radians.</param>
/// <param name="result">A new quaternion from the concatenated yaw, pitch, and roll angles as an output parameter.</param>
public static void CreateFromYawPitchRoll(float yaw, float pitch, float roll, out Quaternion result)
{
public static void CreateFromYawPitchRoll(float yaw, float pitch, float roll, out Quaternion result)
{
float halfRoll = roll * 0.5f;
float halfPitch = pitch * 0.5f;
float halfYaw = yaw * 0.5f;
@@ -474,25 +474,25 @@ namespace Microsoft.Xna.Framework
public static Quaternion Divide(Quaternion quaternion1, Quaternion quaternion2)
{
Quaternion quaternion;
float x = quaternion1.X;
float y = quaternion1.Y;
float z = quaternion1.Z;
float w = quaternion1.W;
float num14 = (((quaternion2.X * quaternion2.X) + (quaternion2.Y * quaternion2.Y)) + (quaternion2.Z * quaternion2.Z)) + (quaternion2.W * quaternion2.W);
float num5 = 1f / num14;
float num4 = -quaternion2.X * num5;
float num3 = -quaternion2.Y * num5;
float num2 = -quaternion2.Z * num5;
float num = quaternion2.W * num5;
float num13 = (y * num2) - (z * num3);
float num12 = (z * num4) - (x * num2);
float num11 = (x * num3) - (y * num4);
float num10 = ((x * num4) + (y * num3)) + (z * num2);
quaternion.X = ((x * num) + (num4 * w)) + num13;
quaternion.Y = ((y * num) + (num3 * w)) + num12;
quaternion.Z = ((z * num) + (num2 * w)) + num11;
quaternion.W = (w * num) - num10;
return quaternion;
float x = quaternion1.X;
float y = quaternion1.Y;
float z = quaternion1.Z;
float w = quaternion1.W;
float num14 = (((quaternion2.X * quaternion2.X) + (quaternion2.Y * quaternion2.Y)) + (quaternion2.Z * quaternion2.Z)) + (quaternion2.W * quaternion2.W);
float num5 = 1f / num14;
float num4 = -quaternion2.X * num5;
float num3 = -quaternion2.Y * num5;
float num2 = -quaternion2.Z * num5;
float num = quaternion2.W * num5;
float num13 = (y * num2) - (z * num3);
float num12 = (z * num4) - (x * num2);
float num11 = (x * num3) - (y * num4);
float num10 = ((x * num4) + (y * num3)) + (z * num2);
quaternion.X = ((x * num) + (num4 * w)) + num13;
quaternion.Y = ((y * num) + (num3 * w)) + num12;
quaternion.Z = ((z * num) + (num2 * w)) + num11;
quaternion.W = (w * num) - num10;
return quaternion;
}
/// <summary>
@@ -504,23 +504,23 @@ namespace Microsoft.Xna.Framework
public static void Divide(ref Quaternion quaternion1, ref Quaternion quaternion2, out Quaternion result)
{
float x = quaternion1.X;
float y = quaternion1.Y;
float z = quaternion1.Z;
float w = quaternion1.W;
float num14 = (((quaternion2.X * quaternion2.X) + (quaternion2.Y * quaternion2.Y)) + (quaternion2.Z * quaternion2.Z)) + (quaternion2.W * quaternion2.W);
float num5 = 1f / num14;
float num4 = -quaternion2.X * num5;
float num3 = -quaternion2.Y * num5;
float num2 = -quaternion2.Z * num5;
float num = quaternion2.W * num5;
float num13 = (y * num2) - (z * num3);
float num12 = (z * num4) - (x * num2);
float num11 = (x * num3) - (y * num4);
float num10 = ((x * num4) + (y * num3)) + (z * num2);
result.X = ((x * num) + (num4 * w)) + num13;
result.Y = ((y * num) + (num3 * w)) + num12;
result.Z = ((z * num) + (num2 * w)) + num11;
result.W = (w * num) - num10;
float y = quaternion1.Y;
float z = quaternion1.Z;
float w = quaternion1.W;
float num14 = (((quaternion2.X * quaternion2.X) + (quaternion2.Y * quaternion2.Y)) + (quaternion2.Z * quaternion2.Z)) + (quaternion2.W * quaternion2.W);
float num5 = 1f / num14;
float num4 = -quaternion2.X * num5;
float num3 = -quaternion2.Y * num5;
float num2 = -quaternion2.Z * num5;
float num = quaternion2.W * num5;
float num13 = (y * num2) - (z * num3);
float num12 = (z * num4) - (x * num2);
float num11 = (x * num3) - (y * num4);
float num10 = ((x * num4) + (y * num3)) + (z * num2);
result.X = ((x * num) + (num4 * w)) + num13;
result.Y = ((y * num) + (num3 * w)) + num12;
result.Z = ((z * num) + (num2 * w)) + num11;
result.W = (w * num) - num10;
}
#endregion
@@ -572,7 +572,7 @@ namespace Microsoft.Xna.Framework
/// <returns><c>true</c> if the instances are equal; <c>false</c> otherwise.</returns>
public bool Equals(Quaternion other)
{
return X == other.X &&
return X == other.X &&
Y == other.Y &&
Z == other.Z &&
W == other.W;
@@ -599,13 +599,13 @@ namespace Microsoft.Xna.Framework
public static Quaternion Inverse(Quaternion quaternion)
{
Quaternion quaternion2;
float num2 = (((quaternion.X * quaternion.X) + (quaternion.Y * quaternion.Y)) + (quaternion.Z * quaternion.Z)) + (quaternion.W * quaternion.W);
float num = 1f / num2;
quaternion2.X = -quaternion.X * num;
quaternion2.Y = -quaternion.Y * num;
quaternion2.Z = -quaternion.Z * num;
quaternion2.W = quaternion.W * num;
return quaternion2;
float num2 = (((quaternion.X * quaternion.X) + (quaternion.Y * quaternion.Y)) + (quaternion.Z * quaternion.Z)) + (quaternion.W * quaternion.W);
float num = 1f / num2;
quaternion2.X = -quaternion.X * num;
quaternion2.Y = -quaternion.Y * num;
quaternion2.Z = -quaternion.Z * num;
quaternion2.W = quaternion.W * num;
return quaternion2;
}
/// <summary>
@@ -616,11 +616,11 @@ namespace Microsoft.Xna.Framework
public static void Inverse(ref Quaternion quaternion, out Quaternion result)
{
float num2 = (((quaternion.X * quaternion.X) + (quaternion.Y * quaternion.Y)) + (quaternion.Z * quaternion.Z)) + (quaternion.W * quaternion.W);
float num = 1f / num2;
result.X = -quaternion.X * num;
result.Y = -quaternion.Y * num;
result.Z = -quaternion.Z * num;
result.W = quaternion.W * num;
float num = 1f / num2;
result.X = -quaternion.X * num;
result.Y = -quaternion.Y * num;
result.Z = -quaternion.Z * num;
result.W = quaternion.W * num;
}
#endregion
@@ -631,7 +631,7 @@ namespace Microsoft.Xna.Framework
/// <returns>The magnitude of the quaternion components.</returns>
public float Length()
{
return (float) Math.Sqrt((X * X) + (Y * Y) + (Z * Z) + (W * W));
return (float) Math.Sqrt((X * X) + (Y * Y) + (Z * Z) + (W * W));
}
/// <summary>
@@ -655,30 +655,30 @@ namespace Microsoft.Xna.Framework
public static Quaternion Lerp(Quaternion quaternion1, Quaternion quaternion2, float amount)
{
float num = amount;
float num2 = 1f - num;
Quaternion quaternion = new Quaternion();
float num5 = (((quaternion1.X * quaternion2.X) + (quaternion1.Y * quaternion2.Y)) + (quaternion1.Z * quaternion2.Z)) + (quaternion1.W * quaternion2.W);
if (num5 >= 0f)
{
quaternion.X = (num2 * quaternion1.X) + (num * quaternion2.X);
quaternion.Y = (num2 * quaternion1.Y) + (num * quaternion2.Y);
quaternion.Z = (num2 * quaternion1.Z) + (num * quaternion2.Z);
quaternion.W = (num2 * quaternion1.W) + (num * quaternion2.W);
}
else
{
quaternion.X = (num2 * quaternion1.X) - (num * quaternion2.X);
quaternion.Y = (num2 * quaternion1.Y) - (num * quaternion2.Y);
quaternion.Z = (num2 * quaternion1.Z) - (num * quaternion2.Z);
quaternion.W = (num2 * quaternion1.W) - (num * quaternion2.W);
}
float num4 = (((quaternion.X * quaternion.X) + (quaternion.Y * quaternion.Y)) + (quaternion.Z * quaternion.Z)) + (quaternion.W * quaternion.W);
float num3 = 1f / ((float) Math.Sqrt((double) num4));
quaternion.X *= num3;
quaternion.Y *= num3;
quaternion.Z *= num3;
quaternion.W *= num3;
return quaternion;
float num2 = 1f - num;
Quaternion quaternion = new Quaternion();
float num5 = (((quaternion1.X * quaternion2.X) + (quaternion1.Y * quaternion2.Y)) + (quaternion1.Z * quaternion2.Z)) + (quaternion1.W * quaternion2.W);
if (num5 >= 0f)
{
quaternion.X = (num2 * quaternion1.X) + (num * quaternion2.X);
quaternion.Y = (num2 * quaternion1.Y) + (num * quaternion2.Y);
quaternion.Z = (num2 * quaternion1.Z) + (num * quaternion2.Z);
quaternion.W = (num2 * quaternion1.W) + (num * quaternion2.W);
}
else
{
quaternion.X = (num2 * quaternion1.X) - (num * quaternion2.X);
quaternion.Y = (num2 * quaternion1.Y) - (num * quaternion2.Y);
quaternion.Z = (num2 * quaternion1.Z) - (num * quaternion2.Z);
quaternion.W = (num2 * quaternion1.W) - (num * quaternion2.W);
}
float num4 = (((quaternion.X * quaternion.X) + (quaternion.Y * quaternion.Y)) + (quaternion.Z * quaternion.Z)) + (quaternion.W * quaternion.W);
float num3 = 1f / ((float) Math.Sqrt((double) num4));
quaternion.X *= num3;
quaternion.Y *= num3;
quaternion.Z *= num3;
quaternion.W *= num3;
return quaternion;
}
/// <summary>
@@ -691,28 +691,28 @@ namespace Microsoft.Xna.Framework
public static void Lerp(ref Quaternion quaternion1, ref Quaternion quaternion2, float amount, out Quaternion result)
{
float num = amount;
float num2 = 1f - num;
float num5 = (((quaternion1.X * quaternion2.X) + (quaternion1.Y * quaternion2.Y)) + (quaternion1.Z * quaternion2.Z)) + (quaternion1.W * quaternion2.W);
if (num5 >= 0f)
{
result.X = (num2 * quaternion1.X) + (num * quaternion2.X);
result.Y = (num2 * quaternion1.Y) + (num * quaternion2.Y);
result.Z = (num2 * quaternion1.Z) + (num * quaternion2.Z);
result.W = (num2 * quaternion1.W) + (num * quaternion2.W);
}
else
{
result.X = (num2 * quaternion1.X) - (num * quaternion2.X);
result.Y = (num2 * quaternion1.Y) - (num * quaternion2.Y);
result.Z = (num2 * quaternion1.Z) - (num * quaternion2.Z);
result.W = (num2 * quaternion1.W) - (num * quaternion2.W);
}
float num4 = (((result.X * result.X) + (result.Y * result.Y)) + (result.Z * result.Z)) + (result.W * result.W);
float num3 = 1f / ((float) Math.Sqrt((double) num4));
result.X *= num3;
result.Y *= num3;
result.Z *= num3;
result.W *= num3;
float num2 = 1f - num;
float num5 = (((quaternion1.X * quaternion2.X) + (quaternion1.Y * quaternion2.Y)) + (quaternion1.Z * quaternion2.Z)) + (quaternion1.W * quaternion2.W);
if (num5 >= 0f)
{
result.X = (num2 * quaternion1.X) + (num * quaternion2.X);
result.Y = (num2 * quaternion1.Y) + (num * quaternion2.Y);
result.Z = (num2 * quaternion1.Z) + (num * quaternion2.Z);
result.W = (num2 * quaternion1.W) + (num * quaternion2.W);
}
else
{
result.X = (num2 * quaternion1.X) - (num * quaternion2.X);
result.Y = (num2 * quaternion1.Y) - (num * quaternion2.Y);
result.Z = (num2 * quaternion1.Z) - (num * quaternion2.Z);
result.W = (num2 * quaternion1.W) - (num * quaternion2.W);
}
float num4 = (((result.X * result.X) + (result.Y * result.Y)) + (result.Z * result.Z)) + (result.W * result.W);
float num3 = 1f / ((float) Math.Sqrt((double) num4));
result.X *= num3;
result.Y *= num3;
result.Z *= num3;
result.W *= num3;
}
@@ -730,33 +730,33 @@ namespace Microsoft.Xna.Framework
public static Quaternion Slerp(Quaternion quaternion1, Quaternion quaternion2, float amount)
{
float num2;
float num3;
Quaternion quaternion;
float num = amount;
float num4 = (((quaternion1.X * quaternion2.X) + (quaternion1.Y * quaternion2.Y)) + (quaternion1.Z * quaternion2.Z)) + (quaternion1.W * quaternion2.W);
bool flag = false;
if (num4 < 0f)
{
flag = true;
num4 = -num4;
}
if (num4 > 0.999999f)
{
num3 = 1f - num;
num2 = flag ? -num : num;
}
else
{
float num5 = (float) Math.Acos((double) num4);
float num6 = (float) (1.0 / Math.Sin((double) num5));
num3 = ((float) Math.Sin((double) ((1f - num) * num5))) * num6;
num2 = flag ? (((float) -Math.Sin((double) (num * num5))) * num6) : (((float) Math.Sin((double) (num * num5))) * num6);
}
quaternion.X = (num3 * quaternion1.X) + (num2 * quaternion2.X);
quaternion.Y = (num3 * quaternion1.Y) + (num2 * quaternion2.Y);
quaternion.Z = (num3 * quaternion1.Z) + (num2 * quaternion2.Z);
quaternion.W = (num3 * quaternion1.W) + (num2 * quaternion2.W);
return quaternion;
float num3;
Quaternion quaternion;
float num = amount;
float num4 = (((quaternion1.X * quaternion2.X) + (quaternion1.Y * quaternion2.Y)) + (quaternion1.Z * quaternion2.Z)) + (quaternion1.W * quaternion2.W);
bool flag = false;
if (num4 < 0f)
{
flag = true;
num4 = -num4;
}
if (num4 > 0.999999f)
{
num3 = 1f - num;
num2 = flag ? -num : num;
}
else
{
float num5 = (float) Math.Acos((double) num4);
float num6 = (float) (1.0 / Math.Sin((double) num5));
num3 = ((float) Math.Sin((double) ((1f - num) * num5))) * num6;
num2 = flag ? (((float) -Math.Sin((double) (num * num5))) * num6) : (((float) Math.Sin((double) (num * num5))) * num6);
}
quaternion.X = (num3 * quaternion1.X) + (num2 * quaternion2.X);
quaternion.Y = (num3 * quaternion1.Y) + (num2 * quaternion2.Y);
quaternion.Z = (num3 * quaternion1.Z) + (num2 * quaternion2.Z);
quaternion.W = (num3 * quaternion1.W) + (num2 * quaternion2.W);
return quaternion;
}
/// <summary>
@@ -769,31 +769,31 @@ namespace Microsoft.Xna.Framework
public static void Slerp(ref Quaternion quaternion1, ref Quaternion quaternion2, float amount, out Quaternion result)
{
float num2;
float num3;
float num = amount;
float num4 = (((quaternion1.X * quaternion2.X) + (quaternion1.Y * quaternion2.Y)) + (quaternion1.Z * quaternion2.Z)) + (quaternion1.W * quaternion2.W);
bool flag = false;
if (num4 < 0f)
{
flag = true;
num4 = -num4;
}
if (num4 > 0.999999f)
{
num3 = 1f - num;
num2 = flag ? -num : num;
}
else
{
float num5 = (float) Math.Acos((double) num4);
float num6 = (float) (1.0 / Math.Sin((double) num5));
num3 = ((float) Math.Sin((double) ((1f - num) * num5))) * num6;
num2 = flag ? (((float) -Math.Sin((double) (num * num5))) * num6) : (((float) Math.Sin((double) (num * num5))) * num6);
}
result.X = (num3 * quaternion1.X) + (num2 * quaternion2.X);
result.Y = (num3 * quaternion1.Y) + (num2 * quaternion2.Y);
result.Z = (num3 * quaternion1.Z) + (num2 * quaternion2.Z);
result.W = (num3 * quaternion1.W) + (num2 * quaternion2.W);
float num3;
float num = amount;
float num4 = (((quaternion1.X * quaternion2.X) + (quaternion1.Y * quaternion2.Y)) + (quaternion1.Z * quaternion2.Z)) + (quaternion1.W * quaternion2.W);
bool flag = false;
if (num4 < 0f)
{
flag = true;
num4 = -num4;
}
if (num4 > 0.999999f)
{
num3 = 1f - num;
num2 = flag ? -num : num;
}
else
{
float num5 = (float) Math.Acos((double) num4);
float num6 = (float) (1.0 / Math.Sin((double) num5));
num3 = ((float) Math.Sin((double) ((1f - num) * num5))) * num6;
num2 = flag ? (((float) -Math.Sin((double) (num * num5))) * num6) : (((float) Math.Sin((double) (num * num5))) * num6);
}
result.X = (num3 * quaternion1.X) + (num2 * quaternion2.X);
result.Y = (num3 * quaternion1.Y) + (num2 * quaternion2.Y);
result.Z = (num3 * quaternion1.Z) + (num2 * quaternion2.Z);
result.W = (num3 * quaternion1.W) + (num2 * quaternion2.W);
}
#endregion
@@ -809,11 +809,11 @@ namespace Microsoft.Xna.Framework
public static Quaternion Subtract(Quaternion quaternion1, Quaternion quaternion2)
{
Quaternion quaternion;
quaternion.X = quaternion1.X - quaternion2.X;
quaternion.Y = quaternion1.Y - quaternion2.Y;
quaternion.Z = quaternion1.Z - quaternion2.Z;
quaternion.W = quaternion1.W - quaternion2.W;
return quaternion;
quaternion.X = quaternion1.X - quaternion2.X;
quaternion.Y = quaternion1.Y - quaternion2.Y;
quaternion.Z = quaternion1.Z - quaternion2.Z;
quaternion.W = quaternion1.W - quaternion2.W;
return quaternion;
}
/// <summary>
@@ -825,9 +825,9 @@ namespace Microsoft.Xna.Framework
public static void Subtract(ref Quaternion quaternion1, ref Quaternion quaternion2, out Quaternion result)
{
result.X = quaternion1.X - quaternion2.X;
result.Y = quaternion1.Y - quaternion2.Y;
result.Z = quaternion1.Z - quaternion2.Z;
result.W = quaternion1.W - quaternion2.W;
result.Y = quaternion1.Y - quaternion2.Y;
result.Z = quaternion1.Z - quaternion2.Z;
result.W = quaternion1.W - quaternion2.W;
}
#endregion
@@ -843,23 +843,23 @@ namespace Microsoft.Xna.Framework
public static Quaternion Multiply(Quaternion quaternion1, Quaternion quaternion2)
{
Quaternion quaternion;
float x = quaternion1.X;
float y = quaternion1.Y;
float z = quaternion1.Z;
float w = quaternion1.W;
float num4 = quaternion2.X;
float num3 = quaternion2.Y;
float num2 = quaternion2.Z;
float num = quaternion2.W;
float num12 = (y * num2) - (z * num3);
float num11 = (z * num4) - (x * num2);
float num10 = (x * num3) - (y * num4);
float num9 = ((x * num4) + (y * num3)) + (z * num2);
quaternion.X = ((x * num) + (num4 * w)) + num12;
quaternion.Y = ((y * num) + (num3 * w)) + num11;
quaternion.Z = ((z * num) + (num2 * w)) + num10;
quaternion.W = (w * num) - num9;
return quaternion;
float x = quaternion1.X;
float y = quaternion1.Y;
float z = quaternion1.Z;
float w = quaternion1.W;
float num4 = quaternion2.X;
float num3 = quaternion2.Y;
float num2 = quaternion2.Z;
float num = quaternion2.W;
float num12 = (y * num2) - (z * num3);
float num11 = (z * num4) - (x * num2);
float num10 = (x * num3) - (y * num4);
float num9 = ((x * num4) + (y * num3)) + (z * num2);
quaternion.X = ((x * num) + (num4 * w)) + num12;
quaternion.Y = ((y * num) + (num3 * w)) + num11;
quaternion.Z = ((z * num) + (num2 * w)) + num10;
quaternion.W = (w * num) - num9;
return quaternion;
}
/// <summary>
@@ -871,11 +871,11 @@ namespace Microsoft.Xna.Framework
public static Quaternion Multiply(Quaternion quaternion1, float scaleFactor)
{
Quaternion quaternion;
quaternion.X = quaternion1.X * scaleFactor;
quaternion.Y = quaternion1.Y * scaleFactor;
quaternion.Z = quaternion1.Z * scaleFactor;
quaternion.W = quaternion1.W * scaleFactor;
return quaternion;
quaternion.X = quaternion1.X * scaleFactor;
quaternion.Y = quaternion1.Y * scaleFactor;
quaternion.Z = quaternion1.Z * scaleFactor;
quaternion.W = quaternion1.W * scaleFactor;
return quaternion;
}
/// <summary>
@@ -887,9 +887,9 @@ namespace Microsoft.Xna.Framework
public static void Multiply(ref Quaternion quaternion1, float scaleFactor, out Quaternion result)
{
result.X = quaternion1.X * scaleFactor;
result.Y = quaternion1.Y * scaleFactor;
result.Z = quaternion1.Z * scaleFactor;
result.W = quaternion1.W * scaleFactor;
result.Y = quaternion1.Y * scaleFactor;
result.Z = quaternion1.Z * scaleFactor;
result.W = quaternion1.W * scaleFactor;
}
/// <summary>
@@ -901,21 +901,21 @@ namespace Microsoft.Xna.Framework
public static void Multiply(ref Quaternion quaternion1, ref Quaternion quaternion2, out Quaternion result)
{
float x = quaternion1.X;
float y = quaternion1.Y;
float z = quaternion1.Z;
float w = quaternion1.W;
float num4 = quaternion2.X;
float num3 = quaternion2.Y;
float num2 = quaternion2.Z;
float num = quaternion2.W;
float num12 = (y * num2) - (z * num3);
float num11 = (z * num4) - (x * num2);
float num10 = (x * num3) - (y * num4);
float num9 = ((x * num4) + (y * num3)) + (z * num2);
result.X = ((x * num) + (num4 * w)) + num12;
result.Y = ((y * num) + (num3 * w)) + num11;
result.Z = ((z * num) + (num2 * w)) + num10;
result.W = (w * num) - num9;
float y = quaternion1.Y;
float z = quaternion1.Z;
float w = quaternion1.W;
float num4 = quaternion2.X;
float num3 = quaternion2.Y;
float num2 = quaternion2.Z;
float num = quaternion2.W;
float num12 = (y * num2) - (z * num3);
float num11 = (z * num4) - (x * num2);
float num10 = (x * num3) - (y * num4);
float num9 = ((x * num4) + (y * num3)) + (z * num2);
result.X = ((x * num) + (num4 * w)) + num12;
result.Y = ((y * num) + (num3 * w)) + num11;
result.Z = ((z * num) + (num2 * w)) + num10;
result.W = (w * num) - num9;
}
#endregion
@@ -929,7 +929,7 @@ namespace Microsoft.Xna.Framework
/// <returns>The result of the quaternion negation.</returns>
public static Quaternion Negate(Quaternion quaternion)
{
return new Quaternion(-quaternion.X, -quaternion.Y, -quaternion.Z, -quaternion.W);
return new Quaternion(-quaternion.X, -quaternion.Y, -quaternion.Z, -quaternion.W);
}
/// <summary>
@@ -940,9 +940,9 @@ namespace Microsoft.Xna.Framework
public static void Negate(ref Quaternion quaternion, out Quaternion result)
{
result.X = -quaternion.X;
result.Y = -quaternion.Y;
result.Z = -quaternion.Z;
result.W = -quaternion.W;
result.Y = -quaternion.Y;
result.Z = -quaternion.Z;
result.W = -quaternion.W;
}
#endregion
@@ -954,11 +954,11 @@ namespace Microsoft.Xna.Framework
/// </summary>
public void Normalize()
{
float num = 1f / ((float) Math.Sqrt((X * X) + (Y * Y) + (Z * Z) + (W * W)));
X *= num;
Y *= num;
Z *= num;
W *= num;
float num = 1f / ((float) Math.Sqrt((X * X) + (Y * Y) + (Z * Z) + (W * W)));
X *= num;
Y *= num;
Z *= num;
W *= num;
}
/// <summary>
@@ -969,12 +969,12 @@ namespace Microsoft.Xna.Framework
public static Quaternion Normalize(Quaternion quaternion)
{
Quaternion result;
float num = 1f / ((float) Math.Sqrt((quaternion.X * quaternion.X) + (quaternion.Y * quaternion.Y) + (quaternion.Z * quaternion.Z) + (quaternion.W * quaternion.W)));
float num = 1f / ((float) Math.Sqrt((quaternion.X * quaternion.X) + (quaternion.Y * quaternion.Y) + (quaternion.Z * quaternion.Z) + (quaternion.W * quaternion.W)));
result.X = quaternion.X * num;
result.Y = quaternion.Y * num;
result.Z = quaternion.Z * num;
result.W = quaternion.W * num;
return result;
return result;
}
/// <summary>
@@ -984,11 +984,11 @@ namespace Microsoft.Xna.Framework
/// <param name="result">The unit length quaternion an output parameter.</param>
public static void Normalize(ref Quaternion quaternion, out Quaternion result)
{
float num = 1f / ((float) Math.Sqrt((quaternion.X * quaternion.X) + (quaternion.Y * quaternion.Y) + (quaternion.Z * quaternion.Z) + (quaternion.W * quaternion.W)));
result.X = quaternion.X * num;
result.Y = quaternion.Y * num;
result.Z = quaternion.Z * num;
result.W = quaternion.W * num;
float num = 1f / ((float) Math.Sqrt((quaternion.X * quaternion.X) + (quaternion.Y * quaternion.Y) + (quaternion.Z * quaternion.Z) + (quaternion.W * quaternion.W)));
result.X = quaternion.X * num;
result.Y = quaternion.Y * num;
result.Z = quaternion.Z * num;
result.W = quaternion.W * num;
}
#endregion
@@ -1025,11 +1025,11 @@ namespace Microsoft.Xna.Framework
public static Quaternion operator +(Quaternion quaternion1, Quaternion quaternion2)
{
Quaternion quaternion;
quaternion.X = quaternion1.X + quaternion2.X;
quaternion.Y = quaternion1.Y + quaternion2.Y;
quaternion.Z = quaternion1.Z + quaternion2.Z;
quaternion.W = quaternion1.W + quaternion2.W;
return quaternion;
quaternion.X = quaternion1.X + quaternion2.X;
quaternion.Y = quaternion1.Y + quaternion2.Y;
quaternion.Z = quaternion1.Z + quaternion2.Z;
quaternion.W = quaternion1.W + quaternion2.W;
return quaternion;
}
/// <summary>
@@ -1041,25 +1041,25 @@ namespace Microsoft.Xna.Framework
public static Quaternion operator /(Quaternion quaternion1, Quaternion quaternion2)
{
Quaternion quaternion;
float x = quaternion1.X;
float y = quaternion1.Y;
float z = quaternion1.Z;
float w = quaternion1.W;
float num14 = (((quaternion2.X * quaternion2.X) + (quaternion2.Y * quaternion2.Y)) + (quaternion2.Z * quaternion2.Z)) + (quaternion2.W * quaternion2.W);
float num5 = 1f / num14;
float num4 = -quaternion2.X * num5;
float num3 = -quaternion2.Y * num5;
float num2 = -quaternion2.Z * num5;
float num = quaternion2.W * num5;
float num13 = (y * num2) - (z * num3);
float num12 = (z * num4) - (x * num2);
float num11 = (x * num3) - (y * num4);
float num10 = ((x * num4) + (y * num3)) + (z * num2);
quaternion.X = ((x * num) + (num4 * w)) + num13;
quaternion.Y = ((y * num) + (num3 * w)) + num12;
quaternion.Z = ((z * num) + (num2 * w)) + num11;
quaternion.W = (w * num) - num10;
return quaternion;
float x = quaternion1.X;
float y = quaternion1.Y;
float z = quaternion1.Z;
float w = quaternion1.W;
float num14 = (((quaternion2.X * quaternion2.X) + (quaternion2.Y * quaternion2.Y)) + (quaternion2.Z * quaternion2.Z)) + (quaternion2.W * quaternion2.W);
float num5 = 1f / num14;
float num4 = -quaternion2.X * num5;
float num3 = -quaternion2.Y * num5;
float num2 = -quaternion2.Z * num5;
float num = quaternion2.W * num5;
float num13 = (y * num2) - (z * num3);
float num12 = (z * num4) - (x * num2);
float num11 = (x * num3) - (y * num4);
float num10 = ((x * num4) + (y * num3)) + (z * num2);
quaternion.X = ((x * num) + (num4 * w)) + num13;
quaternion.Y = ((y * num) + (num3 * w)) + num12;
quaternion.Z = ((z * num) + (num2 * w)) + num11;
quaternion.W = (w * num) - num10;
return quaternion;
}
/// <summary>
@@ -1078,14 +1078,14 @@ namespace Microsoft.Xna.Framework
/// </summary>
/// <param name="quaternion1"><see cref="Quaternion"/> instance on the left of the not equal sign.</param>
/// <param name="quaternion2"><see cref="Quaternion"/> instance on the right of the not equal sign.</param>
/// <returns><c>true</c> if the instances are not equal; <c>false</c> otherwise.</returns>
/// <returns><c>true</c> if the instances are not equal; <c>false</c> otherwise.</returns>
public static bool operator !=(Quaternion quaternion1, Quaternion quaternion2)
{
if (((quaternion1.X == quaternion2.X) && (quaternion1.Y == quaternion2.Y)) && (quaternion1.Z == quaternion2.Z))
{
return (quaternion1.W != quaternion2.W);
}
return true;
{
return (quaternion1.W != quaternion2.W);
}
return true;
}
/// <summary>
@@ -1097,23 +1097,23 @@ namespace Microsoft.Xna.Framework
public static Quaternion operator *(Quaternion quaternion1, Quaternion quaternion2)
{
Quaternion quaternion;
float x = quaternion1.X;
float y = quaternion1.Y;
float z = quaternion1.Z;
float w = quaternion1.W;
float num4 = quaternion2.X;
float num3 = quaternion2.Y;
float num2 = quaternion2.Z;
float num = quaternion2.W;
float num12 = (y * num2) - (z * num3);
float num11 = (z * num4) - (x * num2);
float num10 = (x * num3) - (y * num4);
float num9 = ((x * num4) + (y * num3)) + (z * num2);
quaternion.X = ((x * num) + (num4 * w)) + num12;
quaternion.Y = ((y * num) + (num3 * w)) + num11;
quaternion.Z = ((z * num) + (num2 * w)) + num10;
quaternion.W = (w * num) - num9;
return quaternion;
float x = quaternion1.X;
float y = quaternion1.Y;
float z = quaternion1.Z;
float w = quaternion1.W;
float num4 = quaternion2.X;
float num3 = quaternion2.Y;
float num2 = quaternion2.Z;
float num = quaternion2.W;
float num12 = (y * num2) - (z * num3);
float num11 = (z * num4) - (x * num2);
float num10 = (x * num3) - (y * num4);
float num9 = ((x * num4) + (y * num3)) + (z * num2);
quaternion.X = ((x * num) + (num4 * w)) + num12;
quaternion.Y = ((y * num) + (num3 * w)) + num11;
quaternion.Z = ((z * num) + (num2 * w)) + num10;
quaternion.W = (w * num) - num9;
return quaternion;
}
/// <summary>
@@ -1125,11 +1125,11 @@ namespace Microsoft.Xna.Framework
public static Quaternion operator *(Quaternion quaternion1, float scaleFactor)
{
Quaternion quaternion;
quaternion.X = quaternion1.X * scaleFactor;
quaternion.Y = quaternion1.Y * scaleFactor;
quaternion.Z = quaternion1.Z * scaleFactor;
quaternion.W = quaternion1.W * scaleFactor;
return quaternion;
quaternion.X = quaternion1.X * scaleFactor;
quaternion.Y = quaternion1.Y * scaleFactor;
quaternion.Z = quaternion1.Z * scaleFactor;
quaternion.W = quaternion1.W * scaleFactor;
return quaternion;
}
/// <summary>
@@ -1141,11 +1141,11 @@ namespace Microsoft.Xna.Framework
public static Quaternion operator -(Quaternion quaternion1, Quaternion quaternion2)
{
Quaternion quaternion;
quaternion.X = quaternion1.X - quaternion2.X;
quaternion.Y = quaternion1.Y - quaternion2.Y;
quaternion.Z = quaternion1.Z - quaternion2.Z;
quaternion.W = quaternion1.W - quaternion2.W;
return quaternion;
quaternion.X = quaternion1.X - quaternion2.X;
quaternion.Y = quaternion1.Y - quaternion2.Y;
quaternion.Z = quaternion1.Z - quaternion2.Z;
quaternion.W = quaternion1.W - quaternion2.W;
return quaternion;
}
@@ -1157,11 +1157,11 @@ namespace Microsoft.Xna.Framework
public static Quaternion operator -(Quaternion quaternion)
{
Quaternion quaternion2;
quaternion2.X = -quaternion.X;
quaternion2.Y = -quaternion.Y;
quaternion2.Z = -quaternion.Z;
quaternion2.W = -quaternion.W;
return quaternion2;
quaternion2.X = -quaternion.X;
quaternion2.Y = -quaternion.Y;
quaternion2.Z = -quaternion.Z;
quaternion2.W = -quaternion.W;
return quaternion2;
}
#endregion
@@ -236,7 +236,7 @@ namespace Microsoft.Xna.Framework
/// <param name="x">The x coordinate of the point to check for containment.</param>
/// <param name="y">The y coordinate of the point to check for containment.</param>
/// <returns><c>true</c> if the provided coordinates lie inside this <see cref="Rectangle"/>; <c>false</c> otherwise.</returns>
public bool Contains(int x, int y)
public bool Contains(int x, int y)
{
return ((((this.X <= x) && (x < (this.X + this.Width))) && (this.Y <= y)) && (y < (this.Y + this.Height)));
}
@@ -251,7 +251,7 @@ namespace Microsoft.Xna.Framework
{
return ((((this.X <= x) && (x < (this.X + this.Width))) && (this.Y <= y)) && (y < (this.Y + this.Height)));
}
/// <summary>
/// Gets whether or not the provided <see cref="Point"/> lies within the bounds of this <see cref="Rectangle"/>.
/// </summary>
@@ -517,7 +517,7 @@ namespace Microsoft.Xna.Framework
result.Width = Math.Max(value1.Right, value2.Right) - result.X;
result.Height = Math.Max(value1.Bottom, value2.Bottom) - result.Y;
}
#endregion
}
}
@@ -1120,7 +1120,7 @@ namespace Microsoft.Xna.Framework
/// </summary>
/// <param name="value1"><see cref="Vector4"/> instance on the left of the not equal sign.</param>
/// <param name="value2"><see cref="Vector4"/> instance on the right of the not equal sign.</param>
/// <returns><c>true</c> if the instances are not equal; <c>false</c> otherwise.</returns>
/// <returns><c>true</c> if the instances are not equal; <c>false</c> otherwise.</returns>
public static bool operator !=(Vector4 value1, Vector4 value2)
{
return !(value1 == value2);