From 90d2cd6cafc8242cfd65706c839e0ddfeb1b364a Mon Sep 17 00:00:00 2001 From: Zoryn Date: Thu, 3 Mar 2016 10:04:38 -0500 Subject: update --- StardewModdingAPI.v12.suo | Bin 0 -> 27648 bytes .../Debug/StardewModdingAPI.csproj.FileListAbsolute.txt | 1 + .../DesignTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 6731 bytes 3 files changed, 1 insertion(+) create mode 100644 StardewModdingAPI.v12.suo create mode 100644 TrainerMod/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache diff --git a/StardewModdingAPI.v12.suo b/StardewModdingAPI.v12.suo new file mode 100644 index 00000000..b013dc49 Binary files /dev/null and b/StardewModdingAPI.v12.suo differ diff --git a/StardewModdingAPI/obj/x86/Debug/StardewModdingAPI.csproj.FileListAbsolute.txt b/StardewModdingAPI/obj/x86/Debug/StardewModdingAPI.csproj.FileListAbsolute.txt index c86a6fc8..3dab321b 100644 --- a/StardewModdingAPI/obj/x86/Debug/StardewModdingAPI.csproj.FileListAbsolute.txt +++ b/StardewModdingAPI/obj/x86/Debug/StardewModdingAPI.csproj.FileListAbsolute.txt @@ -30,3 +30,4 @@ C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\bin\x86\Debug\ C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\obj\x86\Debug\StardewModdingAPI.exe C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\obj\x86\Debug\StardewModdingAPI.pdb C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\obj\x86\Debug\StardewModdingAPI.csprojResolveAssemblyReference.cache +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewModdingAPI\bin\x86\Debug\StardewModdingAPI.exe.config diff --git a/TrainerMod/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/TrainerMod/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 00000000..52390cdd Binary files /dev/null and b/TrainerMod/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ -- cgit From eee4e9c0fe434e3c49d53b5b8dcca1836a08abf8 Mon Sep 17 00:00:00 2001 From: Zoryn Date: Thu, 3 Mar 2016 14:01:32 -0500 Subject: updates to change working location --- .gitignore | 7 +- Release/Mods/TrainerMod.dll | Bin 23552 -> 23552 bytes Release/StardewModdingAPI.exe | Bin 67072 -> 69120 bytes StardewModdingAPI.sln | 14 +++- StardewModdingAPI.v12.suo | Bin 27648 -> 68608 bytes StardewModdingAPI/Extensions.cs | 19 +++-- StardewModdingAPI/Mod.cs | 2 +- StardewModdingAPI/Program.cs | 78 ++++++++++++++++++++- StardewModdingAPI/StardewModdingAPI.csproj | 16 ++--- .../StardewModdingAPI.csproj.FileListAbsolute.txt | 10 +++ TrainerMod/TrainerMod.csproj | 3 +- TrainerMod/bin/Debug/Stardew Valley.exe | Bin 0 -> 2185728 bytes TrainerMod/bin/Debug/TrainerMod.dll | Bin 23552 -> 23552 bytes TrainerMod/bin/Debug/TrainerMod.pdb | Bin 0 -> 34304 bytes .../DesignTimeResolveAssemblyReferencesInput.cache | Bin 6731 -> 7012 bytes .../Debug/TrainerMod.csproj.FileListAbsolute.txt | 6 ++ ...TrainerMod.csprojResolveAssemblyReference.cache | Bin 0 -> 75042 bytes TrainerMod/obj/Debug/TrainerMod.dll | Bin 23552 -> 23552 bytes TrainerMod/obj/Debug/TrainerMod.pdb | Bin 0 -> 34304 bytes 19 files changed, 133 insertions(+), 22 deletions(-) create mode 100644 TrainerMod/bin/Debug/Stardew Valley.exe create mode 100644 TrainerMod/bin/Debug/TrainerMod.pdb create mode 100644 TrainerMod/obj/Debug/TrainerMod.csprojResolveAssemblyReference.cache create mode 100644 TrainerMod/obj/Debug/TrainerMod.pdb diff --git a/.gitignore b/.gitignore index 00cc0c56..ab067b03 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,11 @@ StardewModdingAPI/bin/ StardewModdingAPI/obj/ +packages/ +StardewInjector/ + *.symlink *.lnk !*.exe -!*.dll \ No newline at end of file +!*.dll + +Release/Mods/StardewInjector.dll \ No newline at end of file diff --git a/Release/Mods/TrainerMod.dll b/Release/Mods/TrainerMod.dll index d6e49439..bcf663ab 100644 Binary files a/Release/Mods/TrainerMod.dll and b/Release/Mods/TrainerMod.dll differ diff --git a/Release/StardewModdingAPI.exe b/Release/StardewModdingAPI.exe index 24cc0edd..5c6d556b 100644 Binary files a/Release/StardewModdingAPI.exe and b/Release/StardewModdingAPI.exe differ diff --git a/StardewModdingAPI.sln b/StardewModdingAPI.sln index e5ffbfd8..76616134 100644 --- a/StardewModdingAPI.sln +++ b/StardewModdingAPI.sln @@ -1,12 +1,14 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 -VisualStudioVersion = 12.0.40629.0 +VisualStudioVersion = 12.0.21005.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StardewModdingAPI", "StardewModdingAPI\StardewModdingAPI.csproj", "{F1A573B0-F436-472C-AE29-0B91EA6B9F8F}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TrainerMod", "TrainerMod\TrainerMod.csproj", "{28480467-1A48-46A7-99F8-236D95225359}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StardewInjector", "StardewInjector\StardewInjector.csproj", "{C9388F35-68D2-431C-88BB-E26286272256}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -39,6 +41,16 @@ Global {28480467-1A48-46A7-99F8-236D95225359}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {28480467-1A48-46A7-99F8-236D95225359}.Release|Mixed Platforms.Build.0 = Release|Any CPU {28480467-1A48-46A7-99F8-236D95225359}.Release|x86.ActiveCfg = Release|Any CPU + {C9388F35-68D2-431C-88BB-E26286272256}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C9388F35-68D2-431C-88BB-E26286272256}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C9388F35-68D2-431C-88BB-E26286272256}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {C9388F35-68D2-431C-88BB-E26286272256}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {C9388F35-68D2-431C-88BB-E26286272256}.Debug|x86.ActiveCfg = Debug|Any CPU + {C9388F35-68D2-431C-88BB-E26286272256}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C9388F35-68D2-431C-88BB-E26286272256}.Release|Any CPU.Build.0 = Release|Any CPU + {C9388F35-68D2-431C-88BB-E26286272256}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {C9388F35-68D2-431C-88BB-E26286272256}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {C9388F35-68D2-431C-88BB-E26286272256}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/StardewModdingAPI.v12.suo b/StardewModdingAPI.v12.suo index b013dc49..1351bd7f 100644 Binary files a/StardewModdingAPI.v12.suo and b/StardewModdingAPI.v12.suo differ diff --git a/StardewModdingAPI/Extensions.cs b/StardewModdingAPI/Extensions.cs index 8b99be1c..8fd34b6c 100644 --- a/StardewModdingAPI/Extensions.cs +++ b/StardewModdingAPI/Extensions.cs @@ -29,15 +29,26 @@ namespace StardewModdingAPI return result; } - public static bool IsInt32(this string s) + public static bool IsInt32(this object o) { int i; - return Int32.TryParse(s, out i); + return Int32.TryParse(o.ToString(), out i); } - public static Int32 AsInt32(this string s) + public static Int32 AsInt32(this object o) { - return Int32.Parse(s); + return Int32.Parse(o.ToString()); + } + + public static bool IsBool(this object o) + { + bool b; + return Boolean.TryParse(o.ToString(), out b); + } + + public static bool AsBool(this object o) + { + return Boolean.Parse(o.ToString()); } public static int GetHash(this IEnumerable enumerable) diff --git a/StardewModdingAPI/Mod.cs b/StardewModdingAPI/Mod.cs index 32021b4a..eabdc539 100644 --- a/StardewModdingAPI/Mod.cs +++ b/StardewModdingAPI/Mod.cs @@ -31,7 +31,7 @@ namespace StardewModdingAPI /// /// A basic method that is the entry-point of your mod. It will always be called once when the mod loads. /// - public virtual void Entry() + public virtual void Entry(params object[] objects) { } diff --git a/StardewModdingAPI/Program.cs b/StardewModdingAPI/Program.cs index 313fcbe5..a13f25a8 100644 --- a/StardewModdingAPI/Program.cs +++ b/StardewModdingAPI/Program.cs @@ -53,6 +53,9 @@ namespace StardewModdingAPI public const bool debug = true; public static bool disableLogging { get; private set; } + public static bool StardewInjectorLoaded { get; private set; } + public static Mod StardewInjectorMod { get; private set; } + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -84,7 +87,6 @@ namespace StardewModdingAPI } catch (Exception ex) { - LogError("Could not create a missing ModPath: " + ModPath + "\n\n" + ex); } } @@ -141,9 +143,75 @@ namespace StardewModdingAPI //Load in that assembly. Also, ignore security :D StardewAssembly = Assembly.UnsafeLoadFrom(ExecutionPath + "\\Stardew Valley.exe"); + + foreach (string ModPath in ModPaths) + { + foreach (String s in Directory.GetFiles(ModPath, "StardewInjector.dll")) + { + LogColour(ConsoleColor.Green, "Found Stardew Injector DLL: " + s); + try + { + Assembly mod = Assembly.UnsafeLoadFrom(s); //to combat internet-downloaded DLLs + + if (mod.DefinedTypes.Count(x => x.BaseType == typeof(Mod)) > 0) + { + LogColour(ConsoleColor.Green, "Loading Injector DLL..."); + TypeInfo tar = mod.DefinedTypes.First(x => x.BaseType == typeof(Mod)); + Mod m = (Mod)mod.CreateInstance(tar.ToString()); + Console.WriteLine("LOADED: {0} by {1} - Version {2} | Description: {3}", m.Name, m.Authour, m.Version, m.Description); + m.Entry(false); + StardewInjectorLoaded = true; + StardewInjectorMod = m; + } + else + { + LogError("Invalid Mod DLL"); + } + } + catch (Exception ex) + { + LogError("Failed to load mod '{0}'. Exception details:\n" + ex, s); + } + } + } + StardewProgramType = StardewAssembly.GetType("StardewValley.Program", true); StardewGameInfo = StardewProgramType.GetField("gamePtr"); + /* + if (File.Exists(ExecutionPath + "\\Stardew_Injector.exe")) + { + //Stardew_Injector Mode + StardewInjectorLoaded = true; + Program.LogInfo("STARDEW_INJECTOR DETECTED, LAUNCHING USING INJECTOR CALLS"); + Assembly inj = Assembly.UnsafeLoadFrom(ExecutionPath + "\\Stardew_Injector.exe"); + Type prog = inj.GetType("Stardew_Injector.Program", true); + FieldInfo hooker = prog.GetField("hooker", BindingFlags.NonPublic | BindingFlags.Static); + + //hook.GetMethod("Initialize").Invoke(hooker.GetValue(null), null); + //customize the initialize method for SGame instead of Game + Assembly cecil = Assembly.UnsafeLoadFrom(ExecutionPath + "\\Mono.Cecil.dll"); + Type assDef = cecil.GetType("Mono.Cecil.AssemblyDefinition"); + var aDefs = assDef.GetMethods(BindingFlags.Public | BindingFlags.Static); + var aDef = aDefs.First(x => x.ToString().Contains("ReadAssembly(System.String)")); + var theAssDef = aDef.Invoke(null, new object[] { Assembly.GetExecutingAssembly().Location }); + var modDef = assDef.GetProperty("MainModule", BindingFlags.Public | BindingFlags.Instance); + var theModDef = modDef.GetValue(theAssDef); + Console.WriteLine("MODDEF: " + theModDef); + Type hook = inj.GetType("Stardew_Injector.Stardew_Hooker", true); + hook.GetField("m_vAsmDefinition", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(hooker.GetValue(null), theAssDef); + hook.GetField("m_vModDefinition", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(hooker.GetValue(null), theModDef); + + //hook.GetMethod("Initialize").Invoke(hooker.GetValue(null), null); + hook.GetMethod("ApplyHooks").Invoke(hooker.GetValue(null), null); + //hook.GetMethod("Finalize").Invoke(hooker.GetValue(null), null); + //hook.GetMethod("Run").Invoke(hooker.GetValue(null), null); + + Console.ReadKey(); + //Now go back and load Stardew through SMAPI + } + */ + //Change the game's version LogInfo("Injecting New SDV Version..."); Game1.version += "-Z_MODDED | SMAPI " + Version; @@ -259,6 +327,12 @@ namespace StardewModdingAPI ready = true; + if (StardewInjectorLoaded) + { + //StardewInjectorMod.Entry(true); + StardewAssembly.EntryPoint.Invoke(null, new object[] { new string[0] }); + } + gamePtr.Run(); } catch (Exception ex) @@ -284,6 +358,8 @@ namespace StardewModdingAPI { foreach (String s in Directory.GetFiles(ModPath, "*.dll")) { + if (s.Contains("StardewInjector")) + continue; LogColour(ConsoleColor.Green, "Found DLL: " + s); try { diff --git a/StardewModdingAPI/StardewModdingAPI.csproj b/StardewModdingAPI/StardewModdingAPI.csproj index 9ca0a64b..098bed73 100644 --- a/StardewModdingAPI/StardewModdingAPI.csproj +++ b/StardewModdingAPI/StardewModdingAPI.csproj @@ -47,18 +47,12 @@ icon.ico - - False - - - False - ..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Stardew Valley.exe - False - False + + Z:\Games\Stardew Valley\Stardew Valley.exe @@ -69,10 +63,8 @@ - - False - D:\#Network-Steam\SteamRepo\steamapps\common\Stardew Valley\xTile.dll - False + + Z:\Games\Stardew Valley\xTile.dll diff --git a/StardewModdingAPI/obj/x86/Debug/StardewModdingAPI.csproj.FileListAbsolute.txt b/StardewModdingAPI/obj/x86/Debug/StardewModdingAPI.csproj.FileListAbsolute.txt index 3dab321b..4cd75334 100644 --- a/StardewModdingAPI/obj/x86/Debug/StardewModdingAPI.csproj.FileListAbsolute.txt +++ b/StardewModdingAPI/obj/x86/Debug/StardewModdingAPI.csproj.FileListAbsolute.txt @@ -31,3 +31,13 @@ C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\obj\x86\Debug\ C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\obj\x86\Debug\StardewModdingAPI.pdb C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\obj\x86\Debug\StardewModdingAPI.csprojResolveAssemblyReference.cache C:\Users\zoryn\Documents\GitHub\SMAPI\StardewModdingAPI\bin\x86\Debug\StardewModdingAPI.exe.config +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewModdingAPI\bin\x86\Debug\steam_appid.txt +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewModdingAPI\bin\x86\Debug\StardewModdingAPI.exe +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewModdingAPI\bin\x86\Debug\StardewModdingAPI.pdb +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewModdingAPI\bin\x86\Debug\Stardew Valley.exe +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewModdingAPI\bin\x86\Debug\xTile.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewModdingAPI\bin\x86\Debug\Lidgren.Network.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewModdingAPI\bin\x86\Debug\Steamworks.NET.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewModdingAPI\obj\x86\Debug\StardewModdingAPI.csprojResolveAssemblyReference.cache +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewModdingAPI\obj\x86\Debug\StardewModdingAPI.exe +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewModdingAPI\obj\x86\Debug\StardewModdingAPI.pdb diff --git a/TrainerMod/TrainerMod.csproj b/TrainerMod/TrainerMod.csproj index 301ee296..d98a4228 100644 --- a/TrainerMod/TrainerMod.csproj +++ b/TrainerMod/TrainerMod.csproj @@ -37,8 +37,7 @@ False - D:\#Network-Steam\SteamRepo\steamapps\common\Stardew Valley\Stardew Valley.exe - False + Z:\Games\Stardew Valley\Stardew Valley.exe diff --git a/TrainerMod/bin/Debug/Stardew Valley.exe b/TrainerMod/bin/Debug/Stardew Valley.exe new file mode 100644 index 00000000..c0e1d4be Binary files /dev/null and b/TrainerMod/bin/Debug/Stardew Valley.exe differ diff --git a/TrainerMod/bin/Debug/TrainerMod.dll b/TrainerMod/bin/Debug/TrainerMod.dll index d6e49439..bcf663ab 100644 Binary files a/TrainerMod/bin/Debug/TrainerMod.dll and b/TrainerMod/bin/Debug/TrainerMod.dll differ diff --git a/TrainerMod/bin/Debug/TrainerMod.pdb b/TrainerMod/bin/Debug/TrainerMod.pdb new file mode 100644 index 00000000..21f85abf Binary files /dev/null and b/TrainerMod/bin/Debug/TrainerMod.pdb differ diff --git a/TrainerMod/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/TrainerMod/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 52390cdd..7b09d9e8 100644 Binary files a/TrainerMod/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/TrainerMod/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/TrainerMod/obj/Debug/TrainerMod.csproj.FileListAbsolute.txt b/TrainerMod/obj/Debug/TrainerMod.csproj.FileListAbsolute.txt index dfc005ea..0b85292c 100644 --- a/TrainerMod/obj/Debug/TrainerMod.csproj.FileListAbsolute.txt +++ b/TrainerMod/obj/Debug/TrainerMod.csproj.FileListAbsolute.txt @@ -3,3 +3,9 @@ C:\TFSource\Master-Collection\StardewModdingAPI\TrainerMod\bin\Debug\TrainerMod. C:\TFSource\Master-Collection\StardewModdingAPI\TrainerMod\obj\Debug\TrainerMod.csprojResolveAssemblyReference.cache C:\TFSource\Master-Collection\StardewModdingAPI\TrainerMod\obj\Debug\TrainerMod.dll C:\TFSource\Master-Collection\StardewModdingAPI\TrainerMod\obj\Debug\TrainerMod.pdb +C:\Users\zoryn\Documents\GitHub\SMAPI\TrainerMod\obj\Debug\TrainerMod.csprojResolveAssemblyReference.cache +C:\Users\zoryn\Documents\GitHub\SMAPI\TrainerMod\obj\Debug\TrainerMod.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\TrainerMod\bin\Debug\TrainerMod.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\TrainerMod\bin\Debug\TrainerMod.pdb +C:\Users\zoryn\Documents\GitHub\SMAPI\TrainerMod\bin\Debug\Stardew Valley.exe +C:\Users\zoryn\Documents\GitHub\SMAPI\TrainerMod\obj\Debug\TrainerMod.pdb diff --git a/TrainerMod/obj/Debug/TrainerMod.csprojResolveAssemblyReference.cache b/TrainerMod/obj/Debug/TrainerMod.csprojResolveAssemblyReference.cache new file mode 100644 index 00000000..13cf99fc Binary files /dev/null and b/TrainerMod/obj/Debug/TrainerMod.csprojResolveAssemblyReference.cache differ diff --git a/TrainerMod/obj/Debug/TrainerMod.dll b/TrainerMod/obj/Debug/TrainerMod.dll index d6e49439..bcf663ab 100644 Binary files a/TrainerMod/obj/Debug/TrainerMod.dll and b/TrainerMod/obj/Debug/TrainerMod.dll differ diff --git a/TrainerMod/obj/Debug/TrainerMod.pdb b/TrainerMod/obj/Debug/TrainerMod.pdb new file mode 100644 index 00000000..21f85abf Binary files /dev/null and b/TrainerMod/obj/Debug/TrainerMod.pdb differ -- cgit From 9a1b910ea32f518b605c88315f192afc6fc40f28 Mon Sep 17 00:00:00 2001 From: Zoryn Date: Thu, 3 Mar 2016 15:06:25 -0500 Subject: resync for merge conflicts --- .gitignore | 1 - Release/Mods/TrainerMod.dll | Bin 23552 -> 24064 bytes Release/StardewModdingAPI.exe | Bin 69120 -> 72704 bytes StardewInjector/App.config | 15 + StardewInjector/CecilUtils.cs | 173 + StardewInjector/Config.cs | 72 + StardewInjector/Program.cs | 30 + StardewInjector/Properties/AssemblyInfo.cs | 36 + StardewInjector/StardewHooker.cs | 190 + StardewInjector/StardewInjector.cs | 55 + StardewInjector/StardewInjector.csproj | 77 + StardewInjector/bin/Debug/Lidgren.Network.dll | Bin 0 -> 123904 bytes .../bin/Debug/Microsoft.Xna.Framework.Game.dll | Bin 0 -> 74752 bytes .../bin/Debug/Microsoft.Xna.Framework.Game.xml | 625 ++ .../bin/Debug/Microsoft.Xna.Framework.Graphics.dll | Bin 0 -> 427520 bytes .../bin/Debug/Microsoft.Xna.Framework.Graphics.xml | 3431 +++++++++ .../bin/Debug/Microsoft.Xna.Framework.Xact.dll | Bin 0 -> 75776 bytes .../bin/Debug/Microsoft.Xna.Framework.Xact.xml | 283 + .../bin/Debug/Microsoft.Xna.Framework.dll | Bin 0 -> 679424 bytes .../bin/Debug/Microsoft.Xna.Framework.xml | 7375 ++++++++++++++++++++ StardewInjector/bin/Debug/Mono.Cecil.dll | Bin 0 -> 280576 bytes StardewInjector/bin/Debug/Stardew Valley.exe | Bin 0 -> 2185728 bytes StardewInjector/bin/Debug/StardewInjector.dll | Bin 0 -> 18432 bytes .../bin/Debug/StardewInjector.dll.config | 15 + StardewInjector/bin/Debug/StardewInjector.pdb | Bin 0 -> 42496 bytes StardewInjector/bin/Debug/StardewModdingAPI.exe | Bin 0 -> 72704 bytes StardewInjector/bin/Debug/StardewModdingAPI.pdb | Bin 0 -> 138752 bytes StardewInjector/bin/Debug/Steamworks.NET.dll | Bin 0 -> 249856 bytes StardewInjector/bin/Debug/steam_appid.txt | 1 + StardewInjector/bin/Debug/xTile.dll | Bin 0 -> 157696 bytes .../DesignTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 7163 bytes .../StardewInjector.csproj.FileListAbsolute.txt | 22 + ...ewInjector.csprojResolveAssemblyReference.cache | Bin 0 -> 60415 bytes StardewInjector/obj/Debug/StardewInjector.dll | Bin 0 -> 18432 bytes StardewInjector/obj/Debug/StardewInjector.pdb | Bin 0 -> 42496 bytes ...tedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs | 0 ...tedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs | 0 ...tedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs | 0 StardewInjector/packages.config | 4 + StardewModdingAPI.sln | 28 +- StardewModdingAPI.v12.suo | Bin 58880 -> 89088 bytes StardewModdingAPI/Command.cs | 2 +- StardewModdingAPI/Program.cs | 540 +- StardewModdingAPI/StardewModdingAPI.csproj | 104 - .../StardewModdingAPI.csproj.FileListAbsolute.txt | 39 - TrainerMod/TrainerMod.cs | 2 +- TrainerMod/TrainerMod.csproj | 1 - TrainerMod/bin/Debug/Lidgren.Network.dll | Bin 0 -> 123904 bytes .../bin/Debug/Microsoft.Xna.Framework.Xact.dll | Bin 0 -> 75776 bytes .../bin/Debug/Microsoft.Xna.Framework.Xact.xml | 283 + TrainerMod/bin/Debug/StardewModdingAPI.exe | Bin 0 -> 72704 bytes TrainerMod/bin/Debug/StardewModdingAPI.pdb | Bin 0 -> 138752 bytes TrainerMod/bin/Debug/Steamworks.NET.dll | Bin 0 -> 249856 bytes TrainerMod/bin/Debug/TrainerMod.dll | Bin 23552 -> 24064 bytes TrainerMod/bin/Debug/TrainerMod.pdb | Bin 34304 -> 34304 bytes TrainerMod/bin/Debug/steam_appid.txt | 1 + TrainerMod/bin/Debug/xTile.dll | Bin 0 -> 157696 bytes .../DesignTimeResolveAssemblyReferencesInput.cache | Bin 6915 -> 7012 bytes .../Debug/TrainerMod.csproj.FileListAbsolute.txt | 8 + ...TrainerMod.csprojResolveAssemblyReference.cache | Bin 75042 -> 79113 bytes TrainerMod/obj/Debug/TrainerMod.dll | Bin 23552 -> 24064 bytes TrainerMod/obj/Debug/TrainerMod.pdb | Bin 34304 -> 34304 bytes UpgradeLog.htm | Bin 0 -> 28862 bytes UpgradeLog2.htm | Bin 0 -> 28862 bytes 64 files changed, 12726 insertions(+), 687 deletions(-) create mode 100644 StardewInjector/App.config create mode 100644 StardewInjector/CecilUtils.cs create mode 100644 StardewInjector/Config.cs create mode 100644 StardewInjector/Program.cs create mode 100644 StardewInjector/Properties/AssemblyInfo.cs create mode 100644 StardewInjector/StardewHooker.cs create mode 100644 StardewInjector/StardewInjector.cs create mode 100644 StardewInjector/StardewInjector.csproj create mode 100644 StardewInjector/bin/Debug/Lidgren.Network.dll create mode 100644 StardewInjector/bin/Debug/Microsoft.Xna.Framework.Game.dll create mode 100644 StardewInjector/bin/Debug/Microsoft.Xna.Framework.Game.xml create mode 100644 StardewInjector/bin/Debug/Microsoft.Xna.Framework.Graphics.dll create mode 100644 StardewInjector/bin/Debug/Microsoft.Xna.Framework.Graphics.xml create mode 100644 StardewInjector/bin/Debug/Microsoft.Xna.Framework.Xact.dll create mode 100644 StardewInjector/bin/Debug/Microsoft.Xna.Framework.Xact.xml create mode 100644 StardewInjector/bin/Debug/Microsoft.Xna.Framework.dll create mode 100644 StardewInjector/bin/Debug/Microsoft.Xna.Framework.xml create mode 100644 StardewInjector/bin/Debug/Mono.Cecil.dll create mode 100644 StardewInjector/bin/Debug/Stardew Valley.exe create mode 100644 StardewInjector/bin/Debug/StardewInjector.dll create mode 100644 StardewInjector/bin/Debug/StardewInjector.dll.config create mode 100644 StardewInjector/bin/Debug/StardewInjector.pdb create mode 100644 StardewInjector/bin/Debug/StardewModdingAPI.exe create mode 100644 StardewInjector/bin/Debug/StardewModdingAPI.pdb create mode 100644 StardewInjector/bin/Debug/Steamworks.NET.dll create mode 100644 StardewInjector/bin/Debug/steam_appid.txt create mode 100644 StardewInjector/bin/Debug/xTile.dll create mode 100644 StardewInjector/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 StardewInjector/obj/Debug/StardewInjector.csproj.FileListAbsolute.txt create mode 100644 StardewInjector/obj/Debug/StardewInjector.csprojResolveAssemblyReference.cache create mode 100644 StardewInjector/obj/Debug/StardewInjector.dll create mode 100644 StardewInjector/obj/Debug/StardewInjector.pdb create mode 100644 StardewInjector/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs create mode 100644 StardewInjector/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs create mode 100644 StardewInjector/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs create mode 100644 StardewInjector/packages.config create mode 100644 TrainerMod/bin/Debug/Lidgren.Network.dll create mode 100644 TrainerMod/bin/Debug/Microsoft.Xna.Framework.Xact.dll create mode 100644 TrainerMod/bin/Debug/Microsoft.Xna.Framework.Xact.xml create mode 100644 TrainerMod/bin/Debug/StardewModdingAPI.exe create mode 100644 TrainerMod/bin/Debug/StardewModdingAPI.pdb create mode 100644 TrainerMod/bin/Debug/Steamworks.NET.dll create mode 100644 TrainerMod/bin/Debug/steam_appid.txt create mode 100644 TrainerMod/bin/Debug/xTile.dll create mode 100644 UpgradeLog.htm create mode 100644 UpgradeLog2.htm diff --git a/.gitignore b/.gitignore index ab067b03..4737a5d6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ StardewModdingAPI/bin/ StardewModdingAPI/obj/ packages/ -StardewInjector/ *.symlink *.lnk diff --git a/Release/Mods/TrainerMod.dll b/Release/Mods/TrainerMod.dll index bcf663ab..d39f4375 100644 Binary files a/Release/Mods/TrainerMod.dll and b/Release/Mods/TrainerMod.dll differ diff --git a/Release/StardewModdingAPI.exe b/Release/StardewModdingAPI.exe index 5c6d556b..c4813237 100644 Binary files a/Release/StardewModdingAPI.exe and b/Release/StardewModdingAPI.exe differ diff --git a/StardewInjector/App.config b/StardewInjector/App.config new file mode 100644 index 00000000..f1914205 --- /dev/null +++ b/StardewInjector/App.config @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/StardewInjector/CecilUtils.cs b/StardewInjector/CecilUtils.cs new file mode 100644 index 00000000..acdf5198 --- /dev/null +++ b/StardewInjector/CecilUtils.cs @@ -0,0 +1,173 @@ +using Mono.Cecil; +using Mono.Cecil.Cil; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace StardewInjector +{ + public struct ScannerState + { + public ILProcessor ILProcessor; + public Instruction Instruction; + + public ScannerState(ILProcessor ilProc, Instruction ins) + { + ILProcessor = ilProc; + Instruction = ins; + } + + public ScannerState Previous(Func until = null) + { + if (until != null) + { + Instruction cur = this.Instruction; + do + { + cur = cur.Previous; + } while (!until(cur)); + return new ScannerState(this.ILProcessor, cur); + } + return new ScannerState(this.ILProcessor, Instruction.Previous); + } + + public ScannerState Next(Func until = null) + { + if (until != null) + { + Instruction cur = this.Instruction; + do + { + cur = cur.Next; + } while (!until(cur)); + return new ScannerState(this.ILProcessor, cur); + } + return new ScannerState(this.ILProcessor, Instruction.Next); + } + + public ScannerState Last() + { + var instructions = this.ILProcessor.Body.Instructions; + return new ScannerState(this.ILProcessor, instructions[instructions.Count - 1]); + } + + public ScannerState First() + { + var instructions = this.ILProcessor.Body.Instructions; + return new ScannerState(this.ILProcessor, instructions[0]); + } + + public ScannerState ReplaceCreate(OpCode opcode) + { + Instruction ins = this.ILProcessor.Create(opcode); + this.ILProcessor.Replace(this.Instruction, ins); + return new ScannerState(this.ILProcessor, ins); + } + + public ScannerState ReplaceCreate(OpCode opcode, object arg) + { + Instruction ins = this.ILProcessor.Create(opcode, arg as dynamic); + this.ILProcessor.Replace(this.Instruction, ins); + return new ScannerState(this.ILProcessor, ins); + } + + public ScannerState CreateBefore(OpCode opcode) + { + Instruction ins = this.ILProcessor.Create(opcode); + this.ILProcessor.InsertBefore(this.Instruction, ins); + return new ScannerState(this.ILProcessor, ins); + } + + public ScannerState CreateBefore(OpCode opcode, object arg) + { + Instruction ins = this.ILProcessor.Create(opcode, arg as dynamic); + this.ILProcessor.InsertBefore(this.Instruction, ins); + return new ScannerState(this.ILProcessor, ins); + } + + public ScannerState CreateAfter(OpCode opcode) + { + Instruction ins = this.ILProcessor.Create(opcode); + this.ILProcessor.InsertAfter(this.Instruction, ins); + return new ScannerState(this.ILProcessor, ins); + } + + public ScannerState CreateAfter(OpCode opcode, object arg) + { + Instruction ins = this.ILProcessor.Create(opcode, arg as dynamic); + this.ILProcessor.InsertAfter(this.Instruction, ins); + return new ScannerState(this.ILProcessor, ins); + } + } + + public static class CecilUtils + { + public static ScannerState Scanner(this MethodDefinition me) + { + return new ScannerState(me.Body.GetILProcessor(), me.Body.Instructions[0]); + } + + public static ScannerState FindSetField(this MethodDefinition me, string fieldName) + { + var instruction = me.Body.Instructions + .FirstOrDefault(i => i.OpCode == OpCodes.Stsfld && (i.Operand as FieldDefinition).Name == fieldName); + return new ScannerState(me.Body.GetILProcessor(), instruction); + } + + public static ScannerState FindLoadField(this MethodDefinition me, string fieldName) + { + var instruction = me.Body.Instructions + .FirstOrDefault(i => { + if (i.OpCode != OpCodes.Ldfld && i.OpCode != OpCodes.Ldsfld) + return false; + if (i.Operand is FieldDefinition && (i.Operand as FieldDefinition).Name == fieldName) + return true; + if (i.Operand is FieldReference && (i.Operand as FieldReference).Name == fieldName) + return true; + return false; + }); + return new ScannerState(me.Body.GetILProcessor(), instruction); + } + + public static ScannerState FindLoadConstant(this MethodDefinition me, int val) + { + var instruction = me.Body.Instructions + .FirstOrDefault(i => i.OpCode == OpCodes.Ldc_I4 && (int)i.Operand == val); + return new ScannerState(me.Body.GetILProcessor(), instruction); + } + + public static ScannerState FindLoadConstant(this MethodDefinition me, float val) + { + var instruction = me.Body.Instructions + .FirstOrDefault(i => i.OpCode == OpCodes.Ldc_R4 && (float)i.Operand == val); + return new ScannerState(me.Body.GetILProcessor(), instruction); + } + + public static MethodDefinition FindMethod(this ModuleDefinition me, string name) + { + var nameSplit = name.Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries); + if (nameSplit.Length < 2) + throw new ArgumentException("Invalid method full name", "name"); + + var currentType = me.Types.FirstOrDefault(t => t.FullName == nameSplit[0]); + if (currentType == null) + return null; + + return currentType.Methods.FirstOrDefault(m => m.Name == nameSplit[1]); + } + + public static FieldDefinition FindField(this ModuleDefinition me, string name) + { + var nameSplit = name.Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries); + if (nameSplit.Length < 2) + throw new ArgumentException("Invalid field full name", "name"); + + var currentType = me.Types.FirstOrDefault(t => t.FullName == nameSplit[0]); + if (currentType == null) + return null; + + return currentType.Fields.FirstOrDefault(m => m.Name == nameSplit[1]); + } + } +} diff --git a/StardewInjector/Config.cs b/StardewInjector/Config.cs new file mode 100644 index 00000000..cea45e98 --- /dev/null +++ b/StardewInjector/Config.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Linq; +using System.Text; + +namespace StardewInjector +{ + public static class Config + { + public static bool EnableDebugMode + { + get + { + bool val = false; + bool.TryParse(ConfigurationManager.AppSettings["EnableDebugMode"], out val); + return val; + } + } + + public static bool EnableAlwaysSpawnFishingBubble + { + get + { + bool val = false; + bool.TryParse(ConfigurationManager.AppSettings["EnableAlwaysSpawnFishingBubble"], out val); + return val; + } + } + + public static bool EnableEasyFishing + { + get + { + bool val = false; + bool.TryParse(ConfigurationManager.AppSettings["EnableEasyFishing"], out val); + return val; + } + } + + public static int SecondsPerTenMinutes + { + get + { + int val = 7; + int.TryParse(ConfigurationManager.AppSettings["SecondsPerTenMinutes"], out val); + return val; + } + } + + public static float RunSpeed + { + get + { + float val = 1f; + float.TryParse(ConfigurationManager.AppSettings["RunSpeed"], out val); + return val; + } + } + + public static bool EnableTweakedDiagonalMovement + { + get + { + bool val = false; + bool.TryParse(ConfigurationManager.AppSettings["EnableTweakedDiagonalMovement"], out val); + return val; + } + } + + } +} diff --git a/StardewInjector/Program.cs b/StardewInjector/Program.cs new file mode 100644 index 00000000..41c72240 --- /dev/null +++ b/StardewInjector/Program.cs @@ -0,0 +1,30 @@ +/* +using Mono.Cecil; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace Stardew_Injector +{ + class Program + { + + private static Stardew_Hooker hooker = new Stardew_Hooker(); + + static void Main(string[] args) + { + hooker.Initialize(); + hooker.ApplyHooks(); + hooker.Finalize(); + + hooker.Run(); + Console.ReadLine(); + } + + } +} +*/ \ No newline at end of file diff --git a/StardewInjector/Properties/AssemblyInfo.cs b/StardewInjector/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..0ba4aafe --- /dev/null +++ b/StardewInjector/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("StardewInjector")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("StardewInjector")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("820406dc-ae78-461f-8c7f-6329f34f986c")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/StardewInjector/StardewHooker.cs b/StardewInjector/StardewHooker.cs new file mode 100644 index 00000000..a92b96c1 --- /dev/null +++ b/StardewInjector/StardewHooker.cs @@ -0,0 +1,190 @@ +using Microsoft.Xna.Framework; +using Mono.Cecil; +using Mono.Cecil.Cil; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using StardewModdingAPI; + +namespace StardewInjector +{ + public class Stardew_Hooker + { + private AssemblyDefinition m_vAsmDefinition = null; + private ModuleDefinition m_vModDefinition = null; + private Assembly m_vAssembly = null; + + public bool Initialize() + { + Console.WriteLine("Initiating StarDew_Injector...."); + try + { + this.m_vAsmDefinition = AssemblyDefinition.ReadAssembly(@"Stardew Valley.exe"); + this.m_vModDefinition = this.m_vAsmDefinition.MainModule; + return true; + } + catch (Exception ex) + { + Program.LogError(ex); + return false; + } + } + + public bool Finalize() + { + Console.WriteLine("Finalizing StarDew_Injector...."); + try + { + if (this.m_vAsmDefinition == null) + return false; + + using (MemoryStream mStream = new MemoryStream()) + { + // Write the edited data to the memory stream.. + this.m_vAsmDefinition.Write(mStream); + + // Load the new assembly from the memory stream buffer.. + this.m_vAssembly = Assembly.Load(mStream.GetBuffer()); + + Program.StardewAssembly = m_vAssembly; + + return true; + } + } + catch (Exception ex) + { + Program.LogError(ex); + return false; + } + } + + public bool Run() + { + if (this.m_vAssembly == null) + return false; + + Console.WriteLine("Starting Stardew Valley..."); + + m_vAssembly.EntryPoint.Invoke(null, new object[] {new string[0]}); + + return true; + } + + public void ApplyHooks() + { + Console.WriteLine("Applying StarDew_Injector...."); + try + { + InjectMovementSpeed(); + + if (Config.SecondsPerTenMinutes != 7) + InjectClockScale(); + + if (Config.EnableEasyFishing) + InjectEasyFishing(); + + if (Config.EnableAlwaysSpawnFishingBubble) + InjectMoreBubbles(); + + /* + if (Config.EnableDebugMode) + InjectDebugMode(); + */ + } + catch (Exception ex) + { + Program.LogError(ex); + } + + } + + private void InjectDebugMode() + { + this.m_vModDefinition.FindMethod("StardewValley.Program::.cctor") + .FindSetField("releaseBuild").Previous() + .ReplaceCreate(OpCodes.Ldc_I4_0); + + Console.WriteLine("Enabled debug mode."); + } + + private void InjectMoreBubbles() + { + this.m_vModDefinition.FindMethod("StardewValley.GameLocation::performTenMinuteUpdate") + .FindLoadField("currentLocation").Next(i => i.ToString().Contains("NextDouble")).Next() + .ReplaceCreate(OpCodes.Ldc_R8, 1.1); + + Console.WriteLine("Forced each area to always spawn a fishing bubble."); + } + + private void InjectEasyFishing() + { + this.m_vModDefinition.FindMethod("StardewValley.Menus.BobberBar::update") + .FindLoadConstant(694) + .Next(i => i.OpCode == OpCodes.Ldc_R4) + .ReplaceCreate(OpCodes.Ldc_R4, 0.001f) + .Next(i => i.OpCode == OpCodes.Ldc_R4) + .ReplaceCreate(OpCodes.Ldc_R4, 0.001f); + + Console.WriteLine("Replaced fish escape constants for all bobbers & bobber id 694 with 0.001, slowing it down."); + } + + private void InjectClockScale() + { + int timeScale = Config.SecondsPerTenMinutes; + timeScale *= 1000; + + this.m_vModDefinition.FindMethod("StardewValley.Game1::UpdateGameClock") + .FindLoadConstant(7000f) + .ReplaceCreate(OpCodes.Ldc_R4, timeScale*1.0f) + .Next(i => i.OpCode == OpCodes.Ldc_R4 && (float) i.Operand == 7000f) + .ReplaceCreate(OpCodes.Ldc_R4, timeScale*1.0f) + .Next(i => i.OpCode == OpCodes.Ldc_I4 && (int) i.Operand == 7000) + .ReplaceCreate(OpCodes.Ldc_I4, timeScale); + + Console.WriteLine("Updated lighting for new timescale ({0}).", timeScale); + } + + private void InjectMovementSpeed() + { + + + if (Config.EnableTweakedDiagonalMovement) + { + this.m_vModDefinition.FindMethod("StardewValley.Farmer::getMovementSpeed") + .FindLoadField("movementDirections").Next(i => i.OpCode == OpCodes.Ldc_I4_1) + .ReplaceCreate(OpCodes.Ldc_I4_4); + + Console.WriteLine("Removed diagonal movement check."); + } + + if (Config.RunSpeed > 0) + { + this.m_vModDefinition.FindMethod("StardewValley.Farmer::getMovementSpeed") + .FindLoadField("movementDirections").Last().CreateBefore(OpCodes.Ldc_R4, (float) Config.RunSpeed).CreateAfter(OpCodes.Add); + + Console.WriteLine("Added run speed: " + Config.RunSpeed); + } + + + } + + + + private void DumpInstructionsToFile(MethodDefinition methodDefinition) + { + var fileName = string.Format("{0}.{1}.txt", methodDefinition.DeclaringType.Name, methodDefinition.Name); + + using (var stream = File.OpenWrite(Path.Combine(".", fileName))) + using (var writer = new StreamWriter(stream)) + { + var ilProcessor = methodDefinition.Body.GetILProcessor(); + for (int i = 0; i < ilProcessor.Body.Instructions.Count; i++) + writer.WriteLine((i) + ":" + ilProcessor.Body.Instructions[i]); + } + } + } +} \ No newline at end of file diff --git a/StardewInjector/StardewInjector.cs b/StardewInjector/StardewInjector.cs new file mode 100644 index 00000000..055a79f9 --- /dev/null +++ b/StardewInjector/StardewInjector.cs @@ -0,0 +1,55 @@ +using StardewModdingAPI; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace StardewInjector +{ + public class StardewInjector : Mod + { + public override string Name + { + get { return "Stardew Injector"; } + } + + public override string Authour + { + get { return "Zoryn Aaron"; } + } + + public override string Version + { + get { return "1.0"; } + } + + public override string Description + { + get { return "Pulled from https://github.com/kevinmurphy678/Stardew_Injector and converted to a mod."; } + } + + public static Stardew_Hooker hooker { get; set; } + public override void Entry(params object[] objects) + { + if (objects.Length <= 0 || (objects.Length > 0 && objects[0].AsBool() == false)) + { + hooker = new Stardew_Hooker(); + hooker.Initialize(); + hooker.ApplyHooks(); + hooker.Finalize(); + + Program.LogInfo("INJECTOR ENTERED"); + } + else if (objects.Length > 0 && objects[0].AsBool() == true) + { + Program.LogInfo("INJECTOR LAUNCHING"); + hooker.Run(); + } + else + { + Program.LogError("INVALID PARAMETERS FOR INJECTOR"); + } + } + } +} diff --git a/StardewInjector/StardewInjector.csproj b/StardewInjector/StardewInjector.csproj new file mode 100644 index 00000000..7987a7bd --- /dev/null +++ b/StardewInjector/StardewInjector.csproj @@ -0,0 +1,77 @@ + + + + + Debug + AnyCPU + {C9388F35-68D2-431C-88BB-E26286272256} + Library + Properties + StardewInjector + StardewInjector + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + Z:\Games\Stardew Valley\Mono.Cecil.dll + + + + + + + + + + + + + + + + + + + + + + + + + {f1a573b0-f436-472c-ae29-0b91ea6b9f8f} + StardewModdingAPI + + + + + mkdir "$(SolutionDir)Release\Mods\" +copy /y "$(SolutionDir)$(ProjectName)\$(OutDir)$(TargetFileName)" "$(SolutionDir)Release\Mods\" + + + \ No newline at end of file diff --git a/StardewInjector/bin/Debug/Lidgren.Network.dll b/StardewInjector/bin/Debug/Lidgren.Network.dll new file mode 100644 index 00000000..2cd9d5b3 Binary files /dev/null and b/StardewInjector/bin/Debug/Lidgren.Network.dll differ diff --git a/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Game.dll b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Game.dll new file mode 100644 index 00000000..9ba4aa23 Binary files /dev/null and b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Game.dll differ diff --git a/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Game.xml b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Game.xml new file mode 100644 index 00000000..d0b7a111 --- /dev/null +++ b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Game.xml @@ -0,0 +1,625 @@ + + + + + A game component that is notified when it needs to draw itself. + + + Creates a new instance of DrawableGameComponent. + The Game that the game component should be attached to. + + + Releases the unmanaged resources used by the DrawableGameComponent and optionally releases the managed resources. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Called when the DrawableGameComponent needs to be drawn. Override this method with component-specific drawing code. Reference page contains links to related conceptual articles. + Time passed since the last call to Draw. + + + Order in which the component should be drawn, relative to other components that are in the same GameComponentCollection. Reference page contains code sample. + + + Raised when the DrawOrder property changes. + + + + The GraphicsDevice the DrawableGameComponent is associated with. + + + Initializes the component. Override this method to load any non-graphics resources and query for any required services. + + + Called when graphics resources need to be loaded. Override this method to load any component-specific graphics resources. + + + Called when the DrawOrder property changes. Raises the DrawOrderChanged event. + The DrawableGameComponent. + Arguments to the DrawOrderChanged event. + + + Called when the Visible property changes. Raises the VisibleChanged event. + The DrawableGameComponent. + Arguments to the VisibleChanged event. + + + Called when graphics resources need to be unloaded. Override this method to unload any component-specific graphics resources. + + + Indicates whether Draw should be called. + + + Raised when the Visible property changes. + + + + Provides basic graphics device initialization, game logic, and rendering code. + + + Initializes a new instance of this class, which provides basic graphics device initialization, game logic, rendering code, and a game loop. Reference page contains code sample. + + + Raised when the game gains focus. + + + + Starts the drawing of a frame. This method is followed by calls to Draw and EndDraw. + + + Called after all components are initialized but before the first update in the game loop. + + + Gets the collection of GameComponents owned by the game. + + + Gets or sets the current ContentManager. + + + Raised when the game loses focus. + + + + Immediately releases the unmanaged resources used by this object. + + + Releases all resources used by the Game class. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Raised when the game is being disposed. + + + + Reference page contains code sample. + Time passed since the last call to Draw. + + + Ends the drawing of a frame. This method is preceeded by calls to Draw and BeginDraw. + + + Called after the game loop has stopped running before exiting. + + + Exits the game. + + + Raised when the game is exiting. + + + + Allows a Game to attempt to free resources and perform other cleanup operations before garbage collection reclaims the Game. + + + Gets the current GraphicsDevice. + + + Gets or sets the time to sleep when the game is inactive. + + + Called after the Game and GraphicsDevice are created, but before LoadContent. Reference page contains code sample. + + + Indicates whether the game is currently the active application. + + + Gets or sets a value indicating whether to use fixed time steps. + + + Gets or sets a value indicating whether the mouse cursor should be visible. + + + Gets the start up parameters in LaunchParameters. + + + + + + Raises the Activated event. Override this method to add code to handle when the game gains focus. + The Game. + Arguments for the Activated event. + + + Raises the Deactivated event. Override this method to add code to handle when the game loses focus. + The Game. + Arguments for the Deactivated event. + + + Raises an Exiting event. Override this method to add code to handle when the game is exiting. + The Game. + Arguments for the Exiting event. + + + Resets the elapsed time counter. + + + Call this method to initialize the game, begin running the game loop, and start processing events for the game. + + + Run the game through what would happen in a single tick of the game clock; this method is designed for debugging only. + + + Gets the GameServiceContainer holding all the service providers attached to the Game. + + + This is used to display an error message if there is no suitable graphics device or sound card. + The exception to display. + + + Prevents calls to Draw until the next Update. + + + Gets or sets the target time between calls to Update when IsFixedTimeStep is true. Reference page contains links to related code samples. + + + Updates the game's clock and calls Update and Draw. + + + Called when graphics resources need to be unloaded. Override this method to unload any game-specific graphics resources. + + + Reference page contains links to related conceptual articles. + Time passed since the last call to Update. + + + Gets the underlying operating system window. + + + Base class for all XNA Framework game components. + + + Initializes a new instance of this class. + Game that the game component should be attached to. + + + Immediately releases the unmanaged resources used by this object. + + + Releases the unmanaged resources used by the GameComponent and optionally releases the managed resources. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Raised when the GameComponent is disposed. + + + + Indicates whether GameComponent.Update should be called when Game.Update is called. + + + Raised when the Enabled property changes. + + + + Allows a GameComponent to attempt to free resources and perform other cleanup operations before garbage collection reclaims the GameComponent. + + + Gets the Game associated with this GameComponent. + + + Reference page contains code sample. + + + Called when the Enabled property changes. Raises the EnabledChanged event. + The GameComponent. + Arguments to the EnabledChanged event. + + + Called when the UpdateOrder property changes. Raises the UpdateOrderChanged event. + The GameComponent. + Arguments to the UpdateOrderChanged event. + + + Called when the GameComponent needs to be updated. Override this method with component-specific update code. + Time elapsed since the last call to Update + + + Indicates the order in which the GameComponent should be updated relative to other GameComponent instances. Lower values are updated first. + + + Raised when the UpdateOrder property changes. + + + + A collection of game components. + + + Initializes a new instance of this class. + + + Raised when a component is added to the GameComponentCollection. + + + + Raised when a component is removed from the GameComponentCollection. + + + + Arguments used with events from the GameComponentCollection. + + + Creates a new instance of GameComponentCollectionEventArgs. + The game component affected by the event. + + + The game component affected by the event. + + + A collection of game services. + + + Initializes a new instance of this class, which represents a collection of game services. + + + Adds a service to the GameServiceContainer. + The type of service to add. + The service provider to add. + + + Gets the object providing a specified service. + The type of service. + + + Removes the object providing a specified service. + The type of service. + + + Snapshot of the game timing state expressed in values that can be used by variable-step (real time) or fixed-step (game time) games. + + + Creates a new instance of GameTime. + + + Creates a new instance of GameTime. + The amount of game time since the start of the game. + The amount of elapsed game time since the last update. + + + Creates a new instance of GameTime. + The amount of game time since the start of the game. + The amount of elapsed game time since the last update. + Whether the game is running multiple updates this frame. + + + The amount of elapsed game time since the last update. + + + Gets a value indicating that the game loop is taking longer than its TargetElapsedTime. In this case, the game loop can be considered to be running too slowly and should do something to "catch up." + + + The amount of game time since the start of the game. + + + The system window associated with a Game. + + + Specifies whether to allow the user to resize the game window. + + + Starts a device transition (windowed to full screen or vice versa). + Specifies whether the device will be in full-screen mode upon completion of the change. + + + The screen dimensions of the game window's client rectangle. + + + Raised when the size of the GameWindow changes. + + + + Gets the current display orientation, which reflects the physical orientation of the phone in the user's hand. + + + Completes a device transition. + The desktop screen to move the window to. This should be the screen device name of the graphics device that has transitioned to full screen. + + + Completes a device transition. + The desktop screen to move the window to. This should be the screen device name of the graphics device that has transitioned to full screen. + The new width of the game's client window. + The new height of the game's client window. + + + Gets the handle to the system window. + + + Called when the GameWindow gets focus. + + + Called when the size of the client window changes. Raises the ClientSizeChanged event. + + + Called when the GameWindow loses focus. + + + Called when the GameWindow display orientation changes. + + + Called when the GameWindow needs to be painted. + + + Called when the GameWindow is moved to a different screen. Raises the ScreenDeviceNameChanged event. + + + Describes the event raised when the display orientation of the GameWindow changes. When this event occurs, the XNA Framework automatically adjusts the game orientation based on the value specified by the developer with SupportedOrientations. + + + + Gets the device name of the screen the window is currently in. + + + Raised when the GameWindow moves to a different display. + + + + Sets the supported display orientations. + A set of supported display orientations. + + + Sets the title of the GameWindow. + The new title of the GameWindow. + + + Gets and sets the title of the system window. + + + Holds the settings for creating a graphics device on Windows. + + + Initializes a new instance of this class. + + + Specifies which graphics adapter to create the device on. + + + Creates a clone of this object. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The Object to compare with the current GraphicsDeviceInformation. + + + Gets the hash code for this object. + + + Gets the graphics profile, which determines the graphics feature set. + + + Specifies the presentation parameters to use when creating a graphics device. + + + Handles the configuration and management of the graphics device. + + + Creates a new GraphicsDeviceManager and registers it to handle the configuration and management of the graphics device for the specified Game. + Game the GraphicsDeviceManager should be associated with. + + + Applies any changes to device-related properties, changing the graphics device as necessary. + + + Determines whether the given GraphicsDeviceInformation is compatible with the existing graphics device. + Information describing the desired device configuration. + + + Specifies the default minimum back-buffer height. + + + Specifies the default minimum back-buffer width. + + + Raised when a new graphics device is created. + + + + Raised when the GraphicsDeviceManager is being disposed. + + + + Raised when the GraphicsDeviceManager is reset. + + + + Raised when the GraphicsDeviceManager is about to be reset. + + + + Releases the unmanaged resources used by the GraphicsDeviceManager and optionally releases the managed resources. + true to release both automatic and manual resources; false to release only manual resources. + + + Raised when the GraphicsDeviceManager is disposed. + + + + Finds the best device configuration that is compatible with the current device preferences. + true if the FindBestDevice can select devices from any available adapter; false if only the current adapter should be considered. + + + Gets the GraphicsDevice associated with the GraphicsDeviceManager. + + + Gets the graphics profile, which determines the graphics feature set. + + + Gets or sets a value that indicates whether the device should start in full-screen mode. + + + Prepares the GraphicsDevice to draw. + + + Called to ensure that the device manager has created a valid device. + + + Called by the game at the end of drawing and presents the final rendering. + + + Called when a device is created. Raises the DeviceCreated event. + The GraphicsDeviceManager. + Arguments for the DeviceCreated event. + + + Called when a device is being disposed. Raises the DeviceDisposing event. + The GraphicsDeviceManager. + Arguments for the DeviceDisposing event. + + + Called when the device has been reset. Raises the DeviceReset event. + The GraphicsDeviceManager. + Arguments for the DeviceReset event. + + + Called when the device is about to be reset. Raises the DeviceResetting event. + The GraphicsDeviceManager. + Arguments for the DeviceResetting event. + + + Called when the GraphicsDeviceManager is changing the GraphicsDevice settings (during reset or recreation of the GraphicsDevice). Raises the PreparingDeviceSettings event. + The GraphicsDeviceManager. + The graphics device information to modify. + + + + + + Gets or sets the format of the back buffer. + + + Gets or sets the preferred back-buffer height. + + + Gets or sets the preferred back-buffer width. + + + Gets or sets the format of the depth stencil. + + + Raised when the GraphicsDeviceManager is changing the GraphicsDevice settings (during reset or recreation of the GraphicsDevice). + + + + Ranks the given list of devices that satisfy the given preferences. + The list of devices to rank. + + + Gets or sets the display orientations that are available if automatic rotation and scaling is enabled. + + + Gets or sets a value that indicates whether to sync to the vertical trace (vsync) when presenting the back buffer. + + + Releases all resources used by the GraphicsDeviceManager class. + + + Toggles between full screen and windowed mode. + + + Defines the interface for a drawable game component. + + + Draws the IDrawable. Reference page contains links to related conceptual articles. + Snapshot of the game's timing state. + + + The order in which to draw this object relative to other objects. Objects with a lower value are drawn first. + + + Raised when the DrawOrder property changes. + + + + Indicates whether IDrawable.Draw should be called in Game.Draw for this game component. + + + Raised when the Visible property changes. + + + + Defines an interface for game components. + + + Called when the component should be initialized. This method can be used for tasks like querying for services the component needs and setting up non-graphics resources. + + + Defines the interface for an object that manages a GraphicsDevice. + + + Starts the drawing of a frame. + + + Called to ensure that the device manager has created a valid device. + + + Called by the game at the end of drawing; presents the final rendering. + + + Defines an interface for a game component that should be updated in Game.Update. + + + Indicates whether the game component's Update method should be called in Game.Update. + + + Raised when the Enabled property changes. + + + + Called when the game component should be updated. + Snapshot of the game's timing state. + + + Indicates when the game component should be updated relative to other game components. Lower values are updated first. + + + Raised when the UpdateOrder property changes. + + + + The start up parameters for launching a Windows Phone or Windows game. + + + Initializes a new instance of LaunchParameters. + + + Arguments for the GraphicsDeviceManager.PreparingDeviceSettings event. + + + Creates a new instance of PreparingDeviceSettingsEventArgs. + Information about the GraphicsDevice. + + + Information about the GraphicsDevice. + + + Wraps the functionality of the GamerServicesDispatcher. + + + Creates a new GamerServicesComponent. + The game that will be associated with this component. + + + Initializes the GamerServicesDispatcher. + + + Updates the GamerServicesDispatcher. + The game timing state. + + + \ No newline at end of file diff --git a/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Graphics.dll b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Graphics.dll new file mode 100644 index 00000000..1bf4852d Binary files /dev/null and b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Graphics.dll differ diff --git a/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Graphics.xml b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Graphics.xml new file mode 100644 index 00000000..e01e6b29 --- /dev/null +++ b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Graphics.xml @@ -0,0 +1,3431 @@ + + + + + Contains a configurable effect that supports alpha testing. + + + Creates a new AlphaTestEffect by cloning parameter settings from an existing instance. + A copy of an AlphaTestEffect. + + + Creates a new AlphaTestEffect with default parameter settings. + A graphics device. + + + Gets or sets the material alpha which determines its transparency. Range is between 1 (fully opaque) and 0 (fully transparent). + + + Gets or sets the compare function for alpha test. The default value is Greater. + + + Creates a clone of the current AlphaTestEffect instance. + + + Gets or sets the diffuse color for a material, the range of color values is from 0 to 1. + + + Gets or sets the fog color, the range of color values is from 0 to 1. + + + Gets or sets the fog enable flag. + + + Gets or sets the maximum z value for fog. + + + Gets or sets the minimum z value for fog. + + + Computes derived parameter values immediately before applying the effect using a lazy architecture. + + + Gets or sets the projection matrix. + + + Gets or sets the reference alpha value, the default value is 0. + + + Gets or sets the current texture. + + + Gets or sets whether vertex color is enabled. + + + Gets or sets the view matrix. + + + Gets or sets the world matrix. + + + Contains a basic rendering effect. + + + Creates an instance of this object. + An instance of a object to copy initialization data from. + + + Creates an instance of this object. + A device. + + + Gets or sets the material alpha which determines its transparency. Range is between 1 (fully opaque) and 0 (fully transparent). + + + Gets or sets the ambient color for a light, the range of color values is from 0 to 1. + + + Create a copy of this object. + + + Gets or sets the diffuse color for a material, the range of color values is from 0 to 1. + + + Gets the first directional light for this effect. + + + Gets the second directional light for this effect. + + + Gets the third directional light for this effect. + + + Gets or sets the emissive color for a material, the range of color values is from 0 to 1. + + + Enables default lighting for this effect. + + + Gets or sets the fog color, the range of color values is from 0 to 1. + + + Enables fog. + + + Gets or sets the maximum z value for fog. + + + Gets or sets the minimum z value for fog. + + + Enables lighting for this effect. + + + Computes derived parameter values immediately before applying the effect. + + + Gets or sets a value indicating that per-pixel lighting should be used if it is available for the current adapter. Per-pixel lighting is available if a graphics adapter supports Pixel Shader Model 2.0. + + + + + + Gets or sets the specular color for a material, the range of color values is from 0 to 1. + + + Gets or sets the specular power of this effect material. + + + Gets or sets a texture to be applied by this effect. + + + Enables textures for this effect. + + + Enables use vertex colors for this effect. + + + + + + + + + Defines color blending factors. + + + Each component of the color is multiplied by a constant set in BlendFactor. + + + Each component of the color is multiplied by the alpha value of the destination. This can be represented as (Ad, Ad, Ad, Ad), where Ad is the destination alpha value. + + + Each component color is multiplied by the destination color. This can be represented as (Rd, Gd, Bd, Ad), where R, G, B, and A respectively stand for red, green, blue, and alpha destination values. + + + Each component of the color is multiplied by the inverse of a constant set in BlendFactor. + + + Each component of the color is multiplied by the inverse of the alpha value of the destination. This can be represented as (1 − Ad, 1 − Ad, 1 − Ad, 1 − Ad), where Ad is the alpha destination value. + + + Each component of the color is multiplied by the inverse of the destination color. This can be represented as (1 − Rd, 1 − Gd, 1 − Bd, 1 − Ad), where Rd, Gd, Bd, and Ad respectively stand for the red, green, blue, and alpha destination values. + + + Each component of the color is multiplied by the inverse of the alpha value of the source. This can be represented as (1 − As, 1 − As, 1 − As, 1 − As), where As is the alpha destination value. + + + Each component of the color is multiplied by the inverse of the source color. This can be represented as (1 − Rs, 1 − Gs, 1 − Bs, 1 − As) where R, G, B, and A respectively stand for the red, green, blue, and alpha destination values. + + + Each component of the color is multiplied by (1, 1, 1, 1). + + + Each component of the color is multiplied by the alpha value of the source. This can be represented as (As, As, As, As), where As is the alpha source value. + + + Each component of the color is multiplied by either the alpha of the source color, or the inverse of the alpha of the source color, whichever is greater. This can be represented as (f, f, f, 1), where f = min(A, 1 − Ad). + + + Each component of the color is multiplied by the source color. This can be represented as (Rs, Gs, Bs, As), where R, G, B, and A respectively stand for the red, green, blue, and alpha source values. + + + Each component of the color is multiplied by (0, 0, 0, 0). + + + Defines how to combine a source color with the destination color already on the render target for color blending. + + + The result is the destination added to the source. Result = (Source Color * Source Blend) + (Destination Color * Destination Blend) + + + The result is the maximum of the source and destination. Result = max( (Source Color * Source Blend), (Destination Color * Destination Blend) ) + + + The result is the minimum of the source and destination. Result = min( (Source Color * Source Blend), (Destination Color * Destination Blend) ) + + + The result is the source subtracted from the destination. Result = (Destination Color * Destination Blend) − (Source Color * Source Blend) + + + The result is the destination subtracted from the source. Result = (Source Color * Source Blend) − (Destination Color * Destination Blend) + + + Contains blend state for the device. + + + Creates an instance of the BlendState class with default values, using additive color and alpha blending. + + + A built-in state object with settings for additive blend that is adding the destination data to the source data without using alpha. + + + A built-in state object with settings for alpha blend that is blending the source and destination data using alpha. + + + Gets or sets the arithmetic operation when blending alpha values. The default is BlendFunction.Add. + + + Gets or sets the blend factor for the destination alpha, which is the percentage of the destination alpha included in the blended result. The default is Blend.One. + + + Gets or sets the alpha blend factor. The default is Blend.One. + + + Gets or sets the four-component (RGBA) blend factor for alpha blending. + + + Gets or sets the arithmetic operation when blending color values. The default is BlendFunction.Add. + + + Gets or sets the blend factor for the destination color. The default is Blend.One. + + + Gets or sets the blend factor for the source color. The default is Blend.One. + + + Gets or sets which color channels (RGBA) are enabled for writing during color blending. The default value is ColorWriteChannels.None. + + + Gets or sets which color channels (RGBA) are enabled for writing during color blending. The default value is ColorWriteChannels.None. + + + Gets or sets which color channels (RGBA) are enabled for writing during color blending. The default value is ColorWriteChannels.None. + + + Gets or sets which color channels (RGBA) are enabled for writing during color blending. The default value is ColorWriteChannels.None. + + + Immediately releases the unmanaged resources used by this object. + [MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets or sets a bitmask which defines which samples can be written during multisampling. The default is 0xffffffff. + + + A built-in state object with settings for blending with non-premultipled alpha that is blending source and destination data by using alpha while assuming the color data contains no alpha information. + + + A built-in state object with settings for opaque blend that is overwriting the source with the destination data. + + + Specifies special usage of the buffer contents. + + + None + + + Indicates that the application only writes to the vertex buffer. If specified, the driver chooses the best memory location for efficient writing and rendering. Attempts to read from a write-only vertex buffer fail. + + + Specifies the buffer to use when calling Clear. + + + A depth buffer. + + + A stencil buffer. + + + A render target. + + + Defines the color channels that can be chosen for a per-channel write to a render target color buffer. + + + All buffer channels. + + + Alpha channel of a buffer. + + + Blue channel of a buffer. + + + Green channel of a buffer. + + + No channel selected. + + + Red channel of a buffer. + + + Defines comparison functions that can be chosen for alpha, stencil, or depth-buffer tests. + + + Always pass the test. + + + Accept the new pixel if its value is equal to the value of the current pixel. + + + Accept the new pixel if its value is greater than the value of the current pixel. + + + Accept the new pixel if its value is greater than or equal to the value of the current pixel. + + + Accept the new pixel if its value is less than the value of the current pixel. + + + Accept the new pixel if its value is less than or equal to the value of the current pixel. + + + Always fail the test. + + + Accept the new pixel if its value does not equal the value of the current pixel. + + + Defines the faces of a cube map in the TextureCube class type. + + + Negative x-face of the cube map. + + + Negative y-face of the cube map. + + + Negative z-face of the cube map. + + + Positive x-face of the cube map. + + + Positive y-face of the cube map. + + + Positive z-face of the cube map. + + + Defines winding orders that may be used to identify back faces for culling. + + + Cull back faces with clockwise vertices. + + + Cull back faces with counterclockwise vertices. + + + Do not cull back faces. + + + Defines the format of data in a depth-stencil buffer. Reference page contains links to related conceptual articles. + + + A buffer that contains 16-bits of depth data. + + + A buffer that contains 24-bits of depth data. + + + A 32 bit buffer that contains 24 bits of depth data and 8 bits of stencil data. + + + Do not create a depth buffer. + + + Contains depth-stencil state for the device. + + + Creates an instance of DepthStencilState with default values. + + + Gets or sets the stencil operation to perform if the stencil test passes and the depth-buffer test fails for a counterclockwise triangle. The default is StencilOperation.Keep. + + + Gets or sets the stencil operation to perform if the stencil test fails for a counterclockwise triangle. The default is StencilOperation.Keep. + + + Gets or sets the comparison function to use for counterclockwise stencil tests. The default is CompareFunction.Always. + + + Gets or sets the stencil operation to perform if the stencil and depth-tests pass for a counterclockwise triangle. The default is StencilOperation.Keep. + + + A built-in state object with default settings for using a depth stencil buffer. + + + Enables or disables depth buffering. The default is true. + + + Gets or sets the comparison function for the depth-buffer test. The default is CompareFunction.LessEqual + + + Enables or disables writing to the depth buffer. The default is true. + + + A built-in state object with settings for enabling a read-only depth stencil buffer. + + + Immediately releases the unmanaged resources used by this object. + [MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + A built-in state object with settings for not using a depth stencil buffer. + + + Specifies a reference value to use for the stencil test. The default is 0. + + + Gets or sets the stencil operation to perform if the stencil test passes and the depth-test fails. The default is StencilOperation.Keep. + + + Gets or sets stencil enabling. The default is false. + + + Gets or sets the stencil operation to perform if the stencil test fails. The default is StencilOperation.Keep. + + + Gets or sets the comparison function for the stencil test. The default is CompareFunction.Always. + + + Gets or sets the mask applied to the reference value and each stencil buffer entry to determine the significant bits for the stencil test. The default mask is Int32.MaxValue. + + + Gets or sets the stencil operation to perform if the stencil test passes. The default is StencilOperation.Keep. + + + Gets or sets the write mask applied to values written into the stencil buffer. The default mask is Int32.MaxValue. + + + Enables or disables two-sided stenciling. The default is false. + + + The exception that is thrown when the device has been lost, but cannot be reset at this time. Therefore, rendering is not possible. + + + Initializes a new instance of this class. + + + Initializes a new instance of this class with a specified error message. + A message that describes the error. + + + Initializes a new instance of this class with a specified error message and a reference to the inner exception that is the cause of this exception. + A message that describes the error. + The exception that is the cause of the current exception. If the inner parameter is not a null reference, the current exception is raised in a catch block that handles the inner exception. + + + The exception that is thrown when the device has been lost, but can be reset at this time. + + + Initializes a new instance of this class. + + + Initializes a new instance of this class with a specified error message. + A message that describes the error. + + + Initializes a new instance of this class with a specified error message and a reference to the inner exception that is the cause of this exception. + A message that describes the error. + The exception that is the cause of the current exception. If the inner parameter is not a null reference, the current exception is raised in a catch block that handles the inner exception. + + + Creates a DirectionalLight object. + + + Creates a new DirectionalLight instance, with or without a copy of a DirectionalLight instance. + The light direction. + The diffuse color. + The specular color. + The cloned instance to copy from. + + + Gets or sets the diffuse color of the light. + + + Gets or sets the light direction. This value must be a unit vector. + + + Gets or sets light enable flag. + + + Gets or sets the specular color of the light. + + + Describes the display mode. + + + Gets the aspect ratio used by the graphics device. + + + Gets a value indicating the surface format of the display mode. + + + Gets a value indicating the screen height, in pixels. + + + Returns the title safe area of the display. + + + Retrieves a string representation of this object. + + + Gets a value indicating the screen width, in pixels. + + + Manipulates a collection of DisplayMode structures. + + + Gets an enumerator that can iterate through the DisplayModeCollection. + + + Retrieves the DisplayMode structure with the specified format. + The format of the DisplayMode to retrieve. + + + Gets a collection of display modes available for this format. + + + Contains a configurable effect that supports two-layer multitexturing. + + + Creates a new DualTextureEffect by cloning parameter settings from an existing instance. + The object to clone. + + + Creates a new DualTextureEffect with default parameter settings. + The graphics device. + + + Gets or sets the material alpha which determines its transparency. Range is between 1 (fully opaque) and 0 (fully transparent). + + + Creates a clone of the current DualTextureEffect instance. + + + Gets or sets the diffuse color for a material, the range of color values is from 0 to 1. + + + Gets or sets the fog color, the range of color values is from 0 to 1. + + + Gets or sets the fog enable flag. + + + Gets or sets the maximum z value for fog. + + + Gets or sets the minimum z value for fog. + + + Computes derived parameter values immediately before applying the effect. + + + Gets or sets the projection matrix. + + + Gets or sets the current base texture. + + + Gets or sets the current overlay texture. + + + Gets or sets whether per-vertex color is enabled. + + + Gets or sets the view matrix. + + + Gets or sets the world matrix. + + + + + + Create a new instance of this class. + The associated graphics device. + Size of each index element. + Number of indices in the buffer. + Behavior options. + + + Create a new instance of this class. + The associated graphics device. + The index type. + The number of indicies in the buffer. + Behavior options. + + + Occurs when resources are lost due to a lost device event. + + + + Determines if the index buffer data has been lost due to a lost device event. + + + Sets dynamic index buffer data, specifying the offset, start index, number of elements and options. + Offset in bytes from the beginning of the buffer to the data. + Array of data. + The first element to use. + The number of elements to use. + Specifies whether existing data in the buffer will be kept after this operation. Dynamic geometry may be rendered on the Xbox 360 by using DrawUserIndexedPrimitives instead of setting the data for the index buffer. + + + Sets dynamic index buffer data, specifying the start index, number of elements and options. + Array of data. + The first element to use. + The number of elements to use. + Specifies whether existing data in the buffer will be kept after this operation. Dynamic geometry may be rendered on the Xbox 360 by using DrawUserIndexedPrimitives instead of setting the data for the index buffer. + + + + + + Creates a new instance of this object. + The graphics device. + The vertex declaration, which describes per-vertex data. + The number of vertices. + Behavior options; it is good practice for this to match the createOptions parameter in the GraphicsDevice constructor. + + + Creates a new instance of this object. + The graphics device. + The data type. + The number of vertices. + Behavior options; it is good practice for this to match the createOptions parameter in the GraphicsDevice constructor. + + + Occurs when resources are lost due to a lost device event. + + + + Determines if the index buffer data has been lost due to a lost device event. + + + Sets dynamic vertex buffer data, specifying the offset, start index, number of elements and vertex stride. + Offset in bytes from the beginning of the buffer to the data. + Array of data. + The first element to use. + The number of elements to use. + The size, in bytes, of the elements in the vertex buffer. + Specifies whether existing data in the buffer will be kept after this operation. Dynamic geometry may be rendered on the Xbox 360 by using DrawUserIndexedPrimitives instead of setting the data for the vertex buffer. + + + Sets dynamic vertex buffer data, specifying the start index, number of elements and options. + Array of data. + The first element to use. + The number of elements to use. + Specifies whether existing data in the buffer will be kept after this operation. Dynamic geometry may be rendered on the Xbox 360 by using DrawUserIndexedPrimitives instead of setting the data for the vertex buffer. + + + Used to set and query effects, and to choose techniques. Reference page contains links to related conceptual articles. + + + Creates an instance of this object. + An object to copy. + + + Creates an instance of this object. + The device. + The effect code. + + + Copies data from an existing object to this object. + + + Gets or sets the active technique. Reference page contains code sample. + + + Releases the unmanaged resources used by the Effect and optionally releases the managed resources. + [MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Applies the effect state just prior to rendering the effect. + + + Gets a collection of parameters used for this effect. + + + Gets a collection of techniques that are defined for this effect. Reference page contains code sample. + + + Represents an annotation to an EffectParameter. + + + Gets the number of columns in this effect annotation. + + + Gets the value of the EffectAnnotation as a Boolean. + + + Gets the value of the EffectAnnotation as a Int32. + + + Gets the value of the EffectAnnotation as a Int32. + + + Gets the value of the EffectAnnotation as a Single. + + + Gets the value of the EffectAnnotation as a String. + + + Gets the value of the EffectAnnotation as a Vector2. + + + Gets the value of the EffectAnnotation as a Vector3. + + + Gets the value of the EffectAnnotation as a Vector4. + + + Gets the name of the effect annotation. + + + Gets the parameter class of this effect annotation. + + + Gets the parameter type of this effect annotation. + + + Gets the row count of this effect annotation. + + + Gets the semantic of this effect annotation. + + + Manipulates a collection of EffectAnnotation objects. + + + Gets the number of EffectAnnotation objects in this EffectAnnotationCollection. + + + Gets an enumerator that can iterate through the EffectAnnotationCollection. + + + Gets an enumerator that can iterate through the EffectAnnotationCollection. + + + Gets an enumerator that can iterate through the EffectAnnotationCollection. + + + Gets a specific EffectAnnotation object by using an index value. + Index of the EffectAnnotation to get. + + + Gets a specific EffectAnnotation object by using a name. + Name of the EffectAnnotation to get. + + + Contains an effect subclass which is used to load data for an EffectMaterialContent type. + + + Creates an instance of this object. + An instance of an object to copy initialization data from. + + + Represents an Effect parameter. Reference page contains code sample. + + + Gets the collection of EffectAnnotation objects for this parameter. + + + Gets the number of columns in the parameter description. + + + Gets the collection of effect parameters. + + + Gets the value of the EffectParameter as a Boolean. + + + Gets the value of the EffectParameter as an array of Boolean. + The number of elements in the array. + + + Gets the value of the EffectParameter as an Int32. + + + Gets the value of the EffectParameter as an array of Int32. + The number of elements in the array. + + + Gets the value of the EffectParameter as a Matrix. + + + Gets the value of the EffectParameter as an array of Matrix. + The number of elements in the array. + + + Gets the value of the EffectParameter as a Matrix transpose. + + + Gets the value of the EffectParameter as an array of Matrix transpose. + The number of elements in the array. + + + Gets the value of the EffectParameter as a Quaternion. + + + Gets the value of the EffectParameter as an array of Quaternion. + The number of elements in the array. + + + Gets the value of the EffectParameter as a Single. + + + Gets the value of the EffectParameter as an array of Single. + The number of elements in the array. + + + Gets the value of the EffectParameter as an String. + + + Gets the value of the EffectParameter as a Texture2D. + + + Gets the value of the EffectParameter as a Texture3D. + + + Gets the value of the EffectParameter as a TextureCube. + + + Gets the value of the EffectParameter as a Vector2. + + + Gets the value of the EffectParameter as an array of Vector2. + The number of elements in the array. + + + Gets the value of the EffectParameter as a Vector3. + + + Gets the value of the EffectParameter as an array of Vector3. + The number of elements in the array. + + + Gets the value of the EffectParameter as a Vector4. + + + Gets the value of the EffectParameter as an array of Vector4. + The number of elements in the array. + + + Gets the name of the parameter. + + + Gets the class of the parameter. + + + Gets the type of the parameter. + + + Gets the number of rows in the parameter description. + + + Gets the semantic meaning, or usage, of the parameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + [MarshalAsAttribute(U1)] The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter. + The value to assign to the EffectParameter. + + + Sets the value of the EffectParameter to the transpose of a Matrix. + The value. + + + Sets the value of the EffectParameter to the transpose of a Matrix. + The value. + + + Gets the collection of structure members. + + + Defines classes that can be used for effect parameters or shader constants. + + + Constant is a matrix. + + + Constant is either a texture, a shader, or a string. + + + Constant is a scalar. + + + Constant is a structure. + + + Constant is a vector. + + + Manipulates a collection of EffectParameter objects. + + + Gets the number of EffectParameter objects in this EffectParameterCollection. + + + Gets an enumerator that can iterate through EffectParameterCollection. + + + Gets an enumerator that can iterate through EffectParameterCollection. + + + Gets an enumerator that can iterate through the EffectParameterCollection. + + + Gets an effect parameter from its semantic usage. + The semantic meaning, or usage, of the parameter. + + + Gets a specific EffectParameter object by using an index value. + Index of the EffectParameter to get. + + + Gets a specific EffectParameter by name. + The name of the EffectParameter to retrieve. + + + Defines types that can be used for effect parameters or shader constants. + + + Parameter is a Boolean. Any nonzero value passed in will be mapped to 1 (TRUE) before being written into the constant table; otherwise, the value will be set to 0 in the constant table. + + + Parameter is an integer. Any floating-point values passed in will be rounded off (to zero decimal places) before being written into the constant table. + + + Parameter is a floating-point number. + + + Parameter is a string. + + + Parameter is a texture. + + + Parameter is a 1D texture. + + + Parameter is a 2D texture. + + + Parameter is a 3D texture. + + + Parameter is a cube texture. + + + Parameter is a void pointer. + + + Contains rendering state for drawing with an effect; an effect can contain one or more passes. + + + Gets the set of EffectAnnotation objects for this EffectPass. + + + Begins this pass. + + + Gets the name of this pass. + + + Manipulates a collection of EffectPass objects. + + + Gets the number of objects in the collection. + + + Gets an enumerator that can iterate through the EffectPassCollection. + + + Gets an enumerator that can iterate through the EffectPassCollection. + + + Gets an enumerator that can iterate through the EffectPassCollection. + + + Gets a specific element in the collection by using an index value. + Index of the EffectPass to get. + + + Gets a specific element in the collection by using a name. + Name of the EffectPass to get. + + + Represents an effect technique. Reference page contains code sample. + + + Gets the EffectAnnotation objects associated with this technique. + + + Gets the name of this technique. + + + Gets the collection of EffectPass objects this rendering technique requires. + + + Manipulates a collection of EffectTechnique objects. + + + Gets the number of objects in the collection. + + + Gets an enumerator that can iterate through the EffectTechniqueCollection. + + + Gets an enumerator that can iterate through the EffectTechniqueCollection. + + + Gets an enumerator that can iterate through the EffectTechniqueCollection. + + + Gets a specific element in the collection by using an index value. + Index of the EffectTechnique to get. + + + Gets a specific element in the collection by using a name. + Name of the EffectTechnique to get. + + + Contains a configurable effect that supports environment mapping. + + + Creates a new EnvironmentMapEffect by cloning parameter settings from an existing instance. + An existing instance. + + + Creates a new EnvironmentMapEffect with default parameter settings. + The graphics device. + + + Gets or sets the material alpha which determines its transparency. Range is between 1 (fully opaque) and 0 (fully transparent). + + + Gets or sets the ambient color for a light, the range of color values is from 0 to 1. + + + Creates a clone of the current EnvironmentMapEffect instance. + + + Gets or sets the diffuse color for a material, the range of color values is from 0 to 1. + + + Gets the first directional light. + + + Gets the second directional light. + + + Gets the third directional light. + + + Gets or sets the emissive color for a material, the range of color values is from 0 to 1. + + + Sets up standard key, fill, and back lighting for an EnvironmentMapEffect. + + + Gets or sets the current environment map texture. + + + Gets or sets the amount of the environment map color (RGB) that will be blended over the base texture. The value ranges from 0 to 1; the default value is 1. + + + Gets or sets the amount of the environment map alpha value that will be added to the base texture. The value ranges from 0 to 1; the default value is 0. + + + Gets or sets the fog color, the range of color values is from 0 to 1. + + + Gets or sets the fog enable flag. + + + Gets or sets the maximum z value for fog. + + + Gets or sets the minimum z value for fog. + + + Gets or sets the Fresnel factor used for the environment map blending. + + + Enables lighting in an EnvironmentMapEffect. + + + Computes derived parameter values immediately before applying the effect. + + + Gets or sets the projection matrix. + + + Gets or sets the current texture. + + + Gets or sets the view matrix. + + + Gets or sets the world matrix. + + + Describes options for filling the vertices and lines that define a primitive. + + + Draw solid faces for each primitive. + + + Draw lines connecting the vertices that define a primitive face. + + + Provides methods to retrieve and manipulate graphics adapters. + + + Collection of available adapters on the system. + + + Gets the current display mode. + + + Gets the default adapter. + + + Retrieves a string used for presentation to the user. + + + Retrieves a value that is used to help identify a particular chip set. + + + Retrieves a string that contains the device name for a Microsoft Windows Graphics Device Interface (GDI). + + + Determines if this instance of GraphicsAdapter is the default adapter. + + + Tests to see if the adapter supports the requested profile. + The graphics profile. + + + Determines if the graphics adapter is in widescreen mode. + + + Retrieves the handle of the monitor associated with the Microsoft Direct3D object. + + + Queries the adapter for support for the requested back buffer format. + The graphics profile. + The requested surface data format. + The requested depth buffer format. + The requested number of multisampling locations. + [OutAttribute] The best format the adapter supports for the requested surface data format. + [OutAttribute] The best format the adapter supports for the requested depth data format. + [OutAttribute] The best format the adapter supports for the requested number of multisampling locations. + + + Queries the adapter for support for the requested render target format. + The graphics profile. + The requested surface data format. + The requested depth buffer format. + The requested number of multisampling locations. + [OutAttribute] The best format the adapter supports for the requested surface data format. + [OutAttribute] The best format the adapter supports for the requested depth data format. + [OutAttribute] The best format the adapter supports for the requested number of multisampling locations. + + + Retrieves a value used to help identify the revision level of a particular chip set. + + + Retrieves a value used to identify the subsystem. + + + Returns a collection of supported display modes for the current adapter. + + + Gets or sets a NULL device. + + + Gets or sets a reference device. + + + Retrieves a value used to identify the manufacturer. + + + Performs primitive-based rendering, creates resources, handles system-level variables, adjusts gamma ramp levels, and creates shaders. + + + Creates an instance of this object. + The display adapter. + The graphics profile. + The presentation options. + + + Gets the graphics adapter. + + + Gets or sets the color used for a constant-blend factor during alpha blending. The default value is Color.White. + + + Gets or sets a system-defined instance of a blend state object initialized for alpha blending. The default value is BlendState.Opaque. + + + Clears resource buffers. + Set this color value in all buffers. + + + Clears resource buffers. + Options for clearing a buffer. + Set this color value in the buffer. + Set this depth value in the buffer. + Set this stencil value in the buffer. + + + Clears resource buffers. + Options for clearing a buffer. + Set this four-component color value in the buffer. + Set this depth value in the buffer. + Set this stencil value in the buffer. + + + Gets or sets a system-defined instance of a depth-stencil state object. The default value is DepthStencilState.Default. + + + Occurs when a GraphicsDevice is about to be lost (for example, immediately before a reset). Reference page contains code sample. + + + + Occurs after a GraphicsDevice is reset, allowing an application to recreate all resources. + + + + Occurs when a GraphicsDevice is resetting, allowing the application to cancel the default handling of the reset. Reference page contains code sample. + + + + Retrieves the display mode's spatial resolution, color resolution, and refresh frequency. Reference page contains code sample. + + + Immediately releases the unmanaged resources used by this object. + + + Immediately releases the unmanaged resources used by this object. + [MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Occurs when Dispose is called or when this object is finalized and collected by the garbage collector of the Microsoft .NET common language runtime. Reference page contains code sample. + + + + Renders the specified geometric primitive, based on indexing into an array of vertices. + Describes the type of primitive to render. PrimitiveType.PointList is not supported with this method. + Offset to add to each vertex index in the index buffer. + Minimum vertex index for vertices used during the call. The minVertexIndex parameter and all of the indices in the index stream are relative to the baseVertex parameter. + Number of vertices used during the call. The first vertex is located at index: baseVertex + minVertexIndex. + Location in the index array at which to start reading vertices. + Number of primitives to render. The number of vertices used is a function of primitiveCount and primitiveType. + + + Draws a series of instanced models. + The primitive type. + Offset to add to each vertex index in the index buffer. + Minimum vertex index for vertices used during the call. The minVertexIndex parameter and all of the indices in the index stream are relative to the baseVertex parameter. + Number of vertices used during the call. The first vertex is located at index: baseVertex + minVertexIndex. + Location in the index array at which to start reading vertices. + Number of primitives to render. The number of vertices used is a function of primitiveCount and primitiveType. + Number of primitives to render. + + + Renders a sequence of non-indexed geometric primitives of the specified type from the current set of data input streams. + Describes the type of primitive to render. + Index of the first vertex to load. Beginning at startVertex, the correct number of vertices is read out of the vertex buffer. + Number of primitives to render. The primitiveCount is the number of primitives as determined by the primitive type. If it is a line list, each primitive has two vertices. If it is a triangle list, each primitive has three vertices. + + + Renders indexed primitives from a 16-bit index buffer and other related input parameters. + The primitive type. + The vertex data. + Offset (in vertices) from the beginning of the vertex buffer to the first vertex to draw. + Number of vertices to draw. + The index data. + Offset (in indices) from the beginning of the index buffer to the first index to use. + Number of primitives to render. + + + Renders indexed primitives from a 16-bit index buffer, a vertex declaration, and other related input parameters. + The primitive type. + The vertex data. + Offset (in vertices) from the beginning of the vertex buffer to the first vertex to draw. + Number of vertices to draw. + The index data. + Offset (in indices) from the beginning of the index buffer to the first index to use. + Number of primitives to render. + The vertex declaration. + + + Renders indexed primitives from a 32-bit index buffer and other related input parameters. + The primitive type. + The vertex data. + Offset (in vertices) from the beginning of the vertex buffer to the first vertex to draw. + Number of vertices to draw. + The index data. + Offset (in indices) from the beginning of the index buffer to the first index to use. + Number of primitives to render. + + + Renders indexed primitives from a 32-bit index buffer, a vertex declaration, and other related input parameters. + The primitive type. + The vertex data. + Offset (in vertices) from the beginning of the vertex buffer to the first vertex to draw. + Number of vertices to draw. + The index data. + Offset (in indices) from the beginning of the index buffer to the first index to use. + Number of primitives to render. + The vertex declaration. + + + Draws primitives. + Describes the type of primitive to render. + The vertex data. + Offset (in vertices) from the beginning of the buffer to start reading data. + Number of primitives to render. + + + Draws primitives. + Describes the type of primitive to render. + The vertex data. + Offset (in vertices) from the beginning of the buffer to start reading data. + Number of primitives to render. + The vertex declaration, which defines per-vertex data. + + + Allows this object to attempt to free resources and perform other cleanup operations before garbage collection reclaims the object. + + + Gets the contents of the back buffer. + The section of the back buffer to copy. null indicates the data will be copied from the entire back buffer. + Array of data. + The first element to use. + The number of elements to use. + + + Gets the contents of the back buffer. + Array of data. + + + Gets the contents of the back buffer. + Array of data. + The first element to use. + The number of elements to use. + + + Gets a render target surface. + + + Gets the vertex buffers. + + + Retrieves the status of the device. + + + Gets the graphics profile. The default value is GraphicsProfile.Reach. + + + Gets or sets index data. The default value is null. + + + Gets a value that indicates whether the object is disposed. + + + Gets or sets a bitmask controlling modification of the samples in a multisample render target. The default value is -1 (0xffffffff). + + + Presents the display with the contents of the next buffer in the sequence of back buffers owned by the GraphicsDevice. + + + Specifies the window target for a presentation and presents the display with the contents of the next buffer in the sequence of back buffers owned by the GraphicsDevice. + The source rectangle. If null, the entire source surface is presented. If the rectangle exceeds the source surface, the rectangle is clipped to the source surface. + The destination rectangle, in window client coordinates. If null, the entire client area is filled. If the rectangle exceeds the destination client area, the rectangle is clipped to the destination client area. + Destination window containing the client area that is the target for this presentation. If not specified, this is DeviceWindowHandle. + + + Gets the presentation parameters associated with this graphics device. + + + Gets or sets rasterizer state. The default value is RasterizerState.CullCounterClockwise. + + + Gets or sets a reference value for stencil testing. The default value is zero. + + + Resets the presentation parameters for the current GraphicsDevice. + + + Resets the current GraphicsDevice with the specified PresentationParameters. + Describes the new presentation parameters. This value cannot be null. + + + Resets the specified Reset with the specified presentation parameters. + Describes the new presentation parameters. This value cannot be null. + The graphics device being reset. + + + Occurs when a resource is created. + The event data. + + + Occurs when a resource is destroyed. + The event data. + + + Retrieves a collection of SamplerState objects for the current GraphicsDevice. + + + Gets or sets the rectangle used for scissor testing. By default, the size matches the render target size. + + + Sets a new render target for this GraphicsDevice. + A new render target for the device, or null to set the device render target to the back buffer of the device. + + + Sets a new render target for this GraphicsDevice. + A new render target for the device, or null to set the device render target to the back buffer of the device. + The cube map face type. + + + Sets an array of render targets. + [ParamArrayAttribute] An array of render targets. + + + Sets or binds a vertex buffer to the device. + A vertex buffer. + + + Sets or binds a vertex buffer to the device. + A vertex buffer. + The offset (in vertices) from the beginning of the buffer. + + + Sets the vertex buffers. + [ParamArrayAttribute] An array of vertex buffers. + + + Returns the collection of textures that have been assigned to the texture stages of the device. Reference page contains code sample. + + + Gets the collection of vertex sampler states. + + + Gets the collection of vertex textures that support texture lookup in the vertex shader using the texldl statement. The vertex engine contains four texture sampler stages. + + + Gets or sets a viewport identifying the portion of the render target to receive draw calls. Reference page contains code sample. + + + Describes the status of the device. + + + The device has been lost. + + + The device is normal. + + + The device has not been reset. + + + Identifies the set of supported devices for the game based on device capabilities. + + + Use the largest available set of graphic features and capabilities to target devices, such as an Xbox 360 console and a Windows-based computer, that have more enhanced graphic capabilities. + + + Use a limited set of graphic features and capabilities, allowing the game to support the widest variety of devices, including all Windows-based computers and Windows Phone. + + + Queries and prepares resources. + + + Immediately releases the unmanaged resources used by this object. + + + Immediately releases the unmanaged resources used by this object. + [MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Occurs when Dispose is called or when this object is finalized and collected by the garbage collector of the Microsoft .NET common language runtime. + + + + Allows this object to attempt to free resources and perform other cleanup operations before garbage collection reclaims the object. + + + Gets the GraphicsDevice associated with this GraphicsResource. + + + Gets a value that indicates whether the object is disposed. + + + Gets the name of the resource. + + + Gets the resource tags for this resource. + + + Gets a string representation of the current instance. + + + Gets or sets fog parameters for the current effect. + + + Gets or sets the fog color. + + + Enables or disables fog. + + + Gets or sets maximum z value for fog. + + + Gets or sets minimum z value for fog. + + + Gets or sets lighting parameters for the current effect. + + + Gets or sets the ambient light color for the current effect. + + + Gets the first directional light for the current effect. + + + Gets the second directional light for the current effect. + + + Gets the third directional light for the current effect. + + + Enables default lighting for the current effect. + + + Enables or disables lighting in an IEffectLights. + + + Gets or sets transformation matrix parameters for the current effect. + + + Gets or sets the projection matrix in the current effect. + + + Gets or sets the view matrix in the current effect. + + + Gets or sets the world matrix in the current effect. + + + Defines a mechanism for retrieving GraphicsDevice objects. + + + The event that occurs when a graphics device is created. + + + + The event that occurs when a graphics device is disposing. + + + + The event that occurs when a graphics device is reset. + + + + The event that occurs when a graphics device is in the process of resetting. + + + + Retrieves a graphcs device. + + + Describes the rendering order of the vertices in a vertex buffer. + + + Initializes a new instance of the IndexBuffer class. + The GraphicsDevice object to associate with the index buffer. + The size (in bits) of each index. + The number of indices. + Behavior options. + + + Initializes a new instance of the IndexBuffer class. + The GraphicsDevice object to associate with the index buffer. + The index value type. + The number of indices. + Behavior options. + + + Gets the state of the related BufferUsage enumeration. + + + Immediately releases the unmanaged resources used by this object. + [MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets a copy of the index buffer data, specifying the start index, starting offset, number of elements, and size of the elements. + Offset in bytes from the beginning of the buffer to the data. + Array of data. + Index of the first element to get. + Number of elements to get. + + + Gets a copy of the index buffer data. + Array of data. + + + Gets a copy of the index buffer data, specifying the start index and number of elements. + Array of data. + Index of the first element to get. + Number of elements to get. + + + Gets the number of indices in this buffer. + + + Gets a value indicating the size of this index element. + + + Sets index buffer data, specifying the offset, start index and number of elements. + Offset in bytes from the beginning of the buffer to the data. + Array of data. + Index of the first element to set. + Number of elements to set. + + + Sets index buffer data. Reference page contains links to related conceptual articles. + Array of data. + + + Sets index buffer data, specifying the start index and number of elements. + Array of data. + Index of the first element to set. + Number of elements to set. + + + Defines the size of an element of an index buffer. + + + Sixteen bits. + + + Thirty-two bits. + + + Vertex type interface which is implemented by a custom vertex type structure. + + + Vertex declaration, which defines per-vertex data. + + + Represents a 3D model composed of multiple ModelMesh objects which may be moved independently. + + + Gets a collection of ModelBone objects which describe how each mesh in the Meshes collection for this model relates to its parent mesh. + + + Copies a transform of each bone in a model relative to all parent bones of the bone into a given array. + The array to receive bone transforms. + + + Copies an array of transforms into each bone in the model. + An array containing new bone transforms. + + + Copies each bone transform relative only to the parent bone of the model to a given array. + The array to receive bone transforms. + + + Render a model after applying the matrix transformations. + A world transformation matrix. + A view transformation matrix. + A projection transformation matrix. + + + Gets a collection of ModelMesh objects which compose the model. Each ModelMesh in a model may be moved independently and may be composed of multiple materials identified as ModelMeshPart objects. + + + Gets the root bone for this model. + + + Gets or sets an object identifying this model. + + + Represents bone data for a model. Reference page contains links to related conceptual articles. + + + Gets a collection of bones that are children of this bone. + + + Gets the index of this bone in the Bones collection. + + + Gets the name of this bone. + + + Gets the parent of this bone. + + + Gets or sets the matrix used to transform this bone relative to its parent bone. + + + Represents a set of bones associated with a model. + + + Returns a ModelBoneCollection.Enumerator that can iterate through a ModelBoneCollection. + + + Retrieves a ModelBone from the collection, given the name of the bone. + The name of the bone to retrieve. + + + Finds a bone with a given name if it exists in the collection. + The name of the bone to find. + [OutAttribute] The bone named boneName, if found. + + + Provides the ability to iterate through the bones in an ModelBoneCollection. + + + Gets the current element in the ModelBoneCollection. + + + Immediately releases the unmanaged resources used by this object. + + + Advances the enumerator to the next element of the ModelBoneCollection. + + + Gets the current element in the ModelBoneCollection as a Object. + + + Sets the enumerator to its initial position, which is before the first element in the ModelBoneCollection. + + + Represents a collection of effects associated with a model. + + + Returns a ModelEffectCollection.Enumerator that can iterate through a ModelEffectCollection. + + + Provides the ability to iterate through the bones in an ModelEffectCollection. + + + Gets the current element in the ModelEffectCollection. + + + Immediately releases the unmanaged resources used by this object. + + + Advances the enumerator to the next element of the ModelEffectCollection. + + + Gets the current element in the ModelEffectCollection as a Object. + + + Sets the enumerator to its initial position, which is before the first element in the ModelEffectCollection. + + + Represents a mesh that is part of a Model. + + + Gets the BoundingSphere that contains this mesh. + + + Draws all of the ModelMeshPart objects in this mesh, using their current Effect settings. + + + Gets a collection of effects associated with this mesh. + + + Gets the ModelMeshPart objects that make up this mesh. Each part of a mesh is composed of a set of primitives that share the same material. + + + Gets the name of this mesh. + + + Gets the parent bone for this mesh. The parent bone of a mesh contains a transformation matrix that describes how the mesh is located relative to any parent meshes in a model. + + + Gets or sets an object identifying this mesh. + + + Represents a collection of ModelMesh objects. + + + Returns a ModelMeshCollection.Enumerator that can iterate through a ModelMeshCollection. + + + Retrieves a ModelMesh from the collection, given the name of the mesh. + The name of the mesh to retrieve. + + + Finds a mesh with a given name if it exists in the collection. + The name of the mesh to find. + [OutAttribute] The mesh named meshName, if found. + + + Provides the ability to iterate through the bones in an ModelMeshCollection. + + + Gets the current element in the ModelMeshCollection. + + + Immediately releases the unmanaged resources used by this object. + + + Advances the enumerator to the next element of the ModelMeshCollection. + + + Gets the current element in the ModelMeshCollection as a Object. + + + Sets the enumerator to its initial position, which is before the first element in the ModelMeshCollection. + + + Represents a batch of geometry information to submit to the graphics device during rendering. Each ModelMeshPart is a subdivision of a ModelMesh object. The ModelMesh class is split into multiple ModelMeshPart objects, typically based on material information. + + + Gets or sets the material Effect for this mesh part. Reference page contains code sample. + + + Gets the index buffer for this mesh part. + + + Gets the number of vertices used during a draw call. + + + Gets the number of primitives to render. + + + Gets the location in the index array at which to start reading vertices. + + + Gets or sets an object identifying this model mesh part. + + + Gets the vertex buffer for this mesh part. + + + Gets the offset (in vertices) from the top of vertex buffer. + + + Represents a collection of ModelMeshPart objects. + + + Returns a ModelMeshPartCollection.Enumerator that can iterate through a ModelMeshPartCollection. + + + Provides the ability to iterate through the bones in an ModelMeshPartCollection. + + + Gets the current element in the ModelMeshPartCollection. + + + Immediately releases the unmanaged resources used by this object. + + + Advances the enumerator to the next element of the ModelMeshPartCollection. + + + Gets the current element in the ModelMeshPartCollection as a Object. + + + Sets the enumerator to its initial position, which is before the first element in the ModelMeshPartCollection. + + + Thrown when no available graphics device fits the given device preferences. + + + Create a new instance of this object. + + + Create a new instance of this object. + A message that describes the error. + + + Create a new instance of this object. + A message that describes the error. + The exception that is the cause of the current exception. If the inner parameter is not a null reference, the current exception is raised in a catch block that handles the inner exception. + + + Used to perform an occlusion query against the latest drawn objects. + + + Initializes a new instance of OcclusionQuery with the specified device. + The graphics device to associate with this query. + + + Begins application of the query. + + + Releases the unmanaged resources used by Dispose and optionally releases the managed resources. + [MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Ends the application of the query. + + + Gets a value that indicates if the occlusion query has completed. + + + Gets the number of visible pixels. + + + Contains presentation parameters. + + + Initializes a new instance of this class. + + + Gets or sets the format of the back buffer. Reference page contains links to related conceptual articles. + + + Gets or sets a value indicating the height of the new swap chain's back buffer. + + + Gets or sets a value indicating the width of the new swap chain's back buffer. + + + Gets the size of this resource. + + + Creates a copy of this PresentationParameters object. + + + Gets or sets the depth stencil data format. + + + Gets or sets the handle to the device window. + + + Gets or sets the orientation of the display. The default value is DisplayOrientation.Default, which means orientation is determined automatically from your BackBufferWidth and BackBufferHeight. + + + Gets or sets a value indicating whether the application is in full screen mode. + + + Gets or sets a value indicating the number of sample locations during multisampling. + + + Gets or sets the maximum rate at which the swap chain's back buffers can be presented to the front buffer. + + + Gets or sets render target usage flags. + + + Defines flags that describe the relationship between the adapter refresh rate and the rate at which Present operations are completed. + + + Equivalent to setting One. + + + The runtime updates the window client area immediately, and might do so more than once during the adapter refresh period. Present operations might be affected immediately. This option is always available for both windowed and full-screen swap chains. + + + The driver waits for the vertical retrace period (the runtime will beam trace to prevent tearing). Present operations are not affected more frequently than the screen refresh rate; the runtime completes one Present operation per adapter refresh period, at most. This option is always available for both windowed and full-screen swap chains. + + + The driver waits for the vertical retrace period. Present operations are not affected more frequently than every second screen refresh. + + + Defines how vertex data is ordered. + + + The data is ordered as a sequence of line segments; each line segment is described by two new vertices. The count may be any positive integer. + + + The data is ordered as a sequence of line segments; each line segment is described by one new vertex and the last vertex from the previous line seqment. The count may be any positive integer. + + + The data is ordered as a sequence of triangles; each triangle is described by three new vertices. Back-face culling is affected by the current winding-order render state. + + + The data is ordered as a sequence of triangles; each triangle is described by two new vertices and one vertex from the previous triangle. The back-face culling flag is flipped automatically on even-numbered triangles. + + + Contains rasterizer state, which determines how to convert vector data (shapes) into raster data (pixels). + + + Initializes a new instance of the rasterizer class. + + + A built-in state object with settings for culling primitives with clockwise winding order. + + + A built-in state object with settings for culling primitives with counter-clockwise winding order. + + + Specifies the conditions for culling or removing triangles. The default value is CullMode.CounterClockwise. + + + A built-in state object with settings for not culling any primitives. + + + Sets or retrieves the depth bias for polygons, which is the amount of bias to apply to the depth of a primitive to alleviate depth testing problems for primitives of similar depth. The default value is 0. + + + Immediately releases the unmanaged resources used by this object. + [MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + The fill mode, which defines how a triangle is filled during rendering. The default is FillMode.Solid. + + + Enables or disables multisample antialiasing. The default is true. + + + Enables or disables scissor testing. The default is false. + + + Gets or sets a bias value that takes into account the slope of a polygon. This bias value is applied to coplanar primitives to reduce aliasing and other rendering artifacts caused by z-fighting. The default is 0. + + + Contains a 2D texture that can be used as a render target. + + + Creates an instance of this object. + The graphics device to associate with this render target resource. + Width, in pixels, of the render target. You can use graphicsDevice.PresentationParameters.BackBufferWidth to get the current screen width. + Height, in pixels, of the render target. You can use graphicsDevice.PresentationParameters.BackBufferHeight to get the current screen height. + + + Creates an instance of this object. + The graphics device to associate with this render target resource. + Width, in pixels, of the render target. You can use graphicsDevice.PresentationParameters.BackBufferWidth to get the current screen width. + Height, in pixels, of the render target. You can use graphicsDevice.PresentationParameters.BackBufferHeight to get the current screen height. + [MarshalAsAttribute(U1)] True to enable a full mipmap chain to be generated, false otherwise. + Preferred format for the surface data. This is the format preferred by the application, which may or may not be available from the hardware. + Preferred format for the depth buffer. This is the format preferred by the application, which may or may not be available from the hardware. + + + Creates an instance of this object. + The graphics device to associate with this render target resource. + Width, in pixels, of the render target. You can use graphicsDevice.PresentationParameters.BackBufferWidth to get the current screen width. + Height, in pixels, of the render target. You can use graphicsDevice.PresentationParameters.BackBufferHeight to get the current screen height. + [MarshalAsAttribute(U1)] True to enable a full mipmap chain to be generated, false otherwise. + Preferred format for the surface data. This is the format preferred by the application, which may or may not be available from the hardware. + Preferred format for the depth buffer. This is the format preferred by the application, which may or may not be available from the hardware. + The preferred number of multisample locations. + Behavior options. + + + Occurs when resources are lost due to a lost device event. + + + + Gets the data format for the depth stencil data. + + + Determines if the index buffer data has been lost due to a lost device event. + + + Gets the number of sample locations during multisampling. + + + Gets or sets the render target usage. + + + Binds an array of render targets. + + + Creates an instance of this object. + Identifies a 2D render target. + + + Creates an instance of this object. + Identifies a cubemap render target. + Cubemap face. + + + Gets one face of a cubemap. + + + Gets a 2D texture. + + + Represents a cubic texture resource that will be written to at the end of a render pass. + + + Creates an instance of this object. + The graphics device to associate with this render target resource. + The width and height of this cube texture resource, in pixels. + [MarshalAsAttribute(U1)] True to generate a full mipmap chain, false otherwise. + Preferred format of the surface data. + Preferred format of the depth data. + + + Creates an instance of this object. + The graphics device to associate with this render target resource. + The width and height of this cube texture resource, in pixels. + [MarshalAsAttribute(U1)] True to generate a full mipmap chain, false otherwise. + Preferred format of the surface data. + Preferred format of the depth data. + Preferred number of sample locations during multisampling. + Options identifying the behaviors of this texture resource. + + + Occurs when a resource is lost due to a device being lost. + + + + Gets the depth format of this rendertarget. + + + Determines if the data has been lost due to a lost device event. + + + Gets the number of multisample locations. + + + Gets the usage mode of this rendertarget. + + + Determines how render target data is used once a new render target is set. + + + Always clears the render target data. + + + Either clears or keeps the data, depending on the current platform. On Xbox 360, the render target will discard contents. On PC, the render target will discard if multisampling is enabled, and preserve the contents if not. + + + Always keeps the render target data. + + + Contains event data. + + + The object raising the event. + + + Arguments for a ResourceDestroyed event. + + + Gets the name of the destroyed resource. + + + Gets the resource manager tag of the destroyed resource. + + + Contains sampler state, which determines how to sample texture data. + + + Initializes a new instance of the sampler state class. + + + Gets or sets the texture-address mode for the u-coordinate. + + + Gets or sets the texture-address mode for the v-coordinate. + + + Gets or sets the texture-address mode for the w-coordinate. + + + Contains default state for anisotropic filtering and texture coordinate clamping. + + + Contains default state for anisotropic filtering and texture coordinate wrapping. + + + Immediately releases the unmanaged resources used by this object. + [MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets or sets the type of filtering during sampling. + + + Contains default state for linear filtering and texture coordinate clamping. + + + Contains default state for linear filtering and texture coordinate wrapping. + + + Gets or sets the maximum anisotropy. The default value is 4. + + + Gets or sets the level of detail (LOD) index of the largest map to use. + + + Gets or sets the mipmap LOD bias. The default value is 0. A negative value indicates a larger mipmap level; a positive value indicates a smaller mipmap level. + + + Contains default state for point filtering and texture coordinate clamping. + + + Contains default state for point filtering and texture coordinate wrapping. + + + Collection of SamplerState objects. + + + Gets a specific SamplerState object using an index value. + Index of the object to retrieve. + + + Describes whether existing vertex or index buffer data will be overwritten or discarded during a SetData operation. + + + The SetData operation will discard the entire buffer. A pointer to a new memory area is returned so that the direct memory access (DMA) and rendering from the previous area do not stall. + + + Portions of existing data in the buffer may be overwritten during this operation. + + + The SetData operation will not overwrite existing data in the vertex and index buffers. Specifying this option allows the driver to return immediately from a SetData operation and continue rendering. + + + Contains a configurable effect for rendering skinned character models. + + + Creates a SkinnedEffect with default parameter settings. + The graphics device. + + + Creates a SkinnedEffect by cloning parameter settings from an existing instance. + An existing instance. + + + Gets or sets the material alpha which determines its transparency. Range is between 1 (fully opaque) and 0 (fully transparent). + + + Gets or sets the ambient color for a light, the range of color values is from 0 to 1. + + + Creates a clone of the current SkinnedEffect instance. + + + Gets or sets the diffuse color for a material, the range of color values is from 0 to 1. + + + Gets the first directional light. + + + Gets the second directional light. + + + Gets the third directional light. + + + Gets or sets the emissive color for a material, the range of color values is from 0 to 1. + + + Sets up standard key, fill, and back lighting for a SkinnedEffect. + + + Gets or sets the fog color, the range of color values is from 0 to 1. + + + Gets or sets the fog enable flag. + + + Gets or sets the maximum z value for fog. + + + Gets or sets the minimum z value for fog. + + + Gets the bone transform matrices for a SkinnedEffect. + The number of matrices. + + + The maximum number of bones. + + + Enables lighting in an SkinnedEffect. + + + Computes derived parameter values immediately before applying the effect. + + + Gets or sets the per-pixel prefer lighting flag. + + + Gets or sets the projection matrix. + + + Sets an array of bone transform matrices for a SkinnedEffect. + An array of bone transformation matrices; the maximum number of bones (matrices) allowed is 72. + + + Gets or sets the specular color for a material, the range of color values is from 0 to 1. + + + Gets or sets the material specular power. + + + Gets or sets the current texture. + + + Gets or sets the view matrix. + + + Gets or sets the number of per-vertex skinning weights to evaluate, which is either 1, 2, or 4. + + + Gets or sets the world matrix. + + + Enables a group of sprites to be drawn using the same settings. + + + Initializes a new instance of the class, which enables a group of sprites to be drawn using the same settings. + The graphics device where sprites will be drawn. + + + Begins a sprite batch operation using deferred sort and default state objects (BlendState.AlphaBlend, SamplerState.LinearClamp, DepthStencilState.None, RasterizerState.CullCounterClockwise). + + + Begins a sprite batch operation using the specified sort and blend state object and default state objects (DepthStencilState.None, SamplerState.LinearClamp, RasterizerState.CullCounterClockwise). If you pass a null blend state, the default is BlendState.AlphaBlend. + Sprite drawing order. + Blending options. + + + Begins a sprite batch operation using the specified sort, blend, sampler, depth stencil and rasterizer state objects. Passing null for any of the state objects selects the default default state objects (BlendState.AlphaBlend, SamplerState.LinearClamp, DepthStencilState.None, RasterizerState.CullCounterClockwise). + Sprite drawing order. + Blending options. + Texture sampling options. + Depth and stencil options. + Rasterization options. + + + Begins a sprite batch operation using the specified sort, blend, sampler, depth stencil and rasterizer state objects, plus a custom effect. Passing null for any of the state objects selects the default default state objects (BlendState.AlphaBlend, DepthStencilState.None, RasterizerState.CullCounterClockwise, SamplerState.LinearClamp). Passing a null effect selects the default SpriteBatch Class shader. + Sprite drawing order. + Blending options. + Texture sampling options. + Depth and stencil options. + Rasterization options. + Effect state options. + + + Begins a sprite batch operation using the specified sort, blend, sampler, depth stencil, rasterizer state objects, plus a custom effect and a 2D transformation matrix. Passing null for any of the state objects selects the default default state objects (BlendState.AlphaBlend, DepthStencilState.None, RasterizerState.CullCounterClockwise, SamplerState.LinearClamp). Passing a null effect selects the default SpriteBatch Class shader. + Sprite drawing order. + Blending options. + Texture sampling options. + Depth and stencil options. + Rasterization options. + Effect state options. + Transformation matrix for scale, rotate, translate options. + + + Immediately releases the unmanaged resources used by this object. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Adds a sprite to a batch of sprites for rendering using the specified texture, destination rectangle, and color. Reference page contains links to related code samples. + A texture. + A rectangle that specifies (in screen coordinates) the destination for drawing the sprite. + The color to tint a sprite. Use Color.White for full color with no tinting. + + + Adds a sprite to a batch of sprites for rendering using the specified texture, destination rectangle, source rectangle, and color. + A texture. + A rectangle that specifies (in screen coordinates) the destination for drawing the sprite. If this rectangle is not the same size as the source rectangle, the sprite will be scaled to fit. + A rectangle that specifies (in texels) the source texels from a texture. Use null to draw the entire texture. + The color to tint a sprite. Use Color.White for full color with no tinting. + + + Adds a sprite to a batch of sprites for rendering using the specified texture, destination rectangle, source rectangle, color, rotation, origin, effects and layer. + A texture. + A rectangle that specifies (in screen coordinates) the destination for drawing the sprite. If this rectangle is not the same size as the source rectangle, the sprite will be scaled to fit. + A rectangle that specifies (in texels) the source texels from a texture. Use null to draw the entire texture. + The color to tint a sprite. Use Color.White for full color with no tinting. + Specifies the angle (in radians) to rotate the sprite about its center. + The sprite origin; the default is (0,0) which represents the upper-left corner. + Effects to apply. + The depth of a layer. By default, 0 represents the front layer and 1 represents a back layer. Use SpriteSortMode if you want sprites to be sorted during drawing. + + + Adds a sprite to a batch of sprites for rendering using the specified texture, position and color. Reference page contains links to related code samples. + A texture. + The location (in screen coordinates) to draw the sprite. + The color to tint a sprite. Use Color.White for full color with no tinting. + + + Adds a sprite to a batch of sprites for rendering using the specified texture, position, source rectangle, and color. + A texture. + The location (in screen coordinates) to draw the sprite. + A rectangle that specifies (in texels) the source texels from a texture. Use null to draw the entire texture. + The color to tint a sprite. Use Color.White for full color with no tinting. + + + Adds a sprite to a batch of sprites for rendering using the specified texture, position, source rectangle, color, rotation, origin, scale, effects and layer. Reference page contains links to related code samples. + A texture. + The location (in screen coordinates) to draw the sprite. + A rectangle that specifies (in texels) the source texels from a texture. Use null to draw the entire texture. + The color to tint a sprite. Use Color.White for full color with no tinting. + Specifies the angle (in radians) to rotate the sprite about its center. + The sprite origin; the default is (0,0) which represents the upper-left corner. + Scale factor. + Effects to apply. + The depth of a layer. By default, 0 represents the front layer and 1 represents a back layer. Use SpriteSortMode if you want sprites to be sorted during drawing. + + + Adds a sprite to a batch of sprites for rendering using the specified texture, position, source rectangle, color, rotation, origin, scale, effects, and layer. Reference page contains links to related code samples. + A texture. + The location (in screen coordinates) to draw the sprite. + A rectangle that specifies (in texels) the source texels from a texture. Use null to draw the entire texture. + The color to tint a sprite. Use Color.White for full color with no tinting. + Specifies the angle (in radians) to rotate the sprite about its center. + The sprite origin; the default is (0,0) which represents the upper-left corner. + Scale factor. + Effects to apply. + The depth of a layer. By default, 0 represents the front layer and 1 represents a back layer. Use SpriteSortMode if you want sprites to be sorted during drawing. + + + Adds a string to a batch of sprites for rendering using the specified font, text, position, and color. + A font for diplaying text. + A text string. + The location (in screen coordinates) to draw the sprite. + The color to tint a sprite. Use Color.White for full color with no tinting. + + + Adds a string to a batch of sprites for rendering using the specified font, text, position, color, rotation, origin, scale, effects and layer. + A font for diplaying text. + A text string. + The location (in screen coordinates) to draw the sprite. + The color to tint a sprite. Use Color.White for full color with no tinting. + Specifies the angle (in radians) to rotate the sprite about its center. + The sprite origin; the default is (0,0) which represents the upper-left corner. + Scale factor. + Effects to apply. + The depth of a layer. By default, 0 represents the front layer and 1 represents a back layer. Use SpriteSortMode if you want sprites to be sorted during drawing. + + + Adds a string to a batch of sprites for rendering using the specified font, text, position, color, rotation, origin, scale, effects and layer. + A font for diplaying text. + A text string. + The location (in screen coordinates) to draw the sprite. + The color to tint a sprite. Use Color.White for full color with no tinting. + Specifies the angle (in radians) to rotate the sprite about its center. + The sprite origin; the default is (0,0) which represents the upper-left corner. + Scale factor. + Effects to apply. + The depth of a layer. By default, 0 represents the front layer and 1 represents a back layer. Use SpriteSortMode if you want sprites to be sorted during drawing. + + + Adds a string to a batch of sprites for rendering using the specified font, text, position, and color. + A font for diplaying text. + Text string. + The location (in screen coordinates) to draw the sprite. + The color to tint a sprite. Use Color.White for full color with no tinting. + + + Adds a string to a batch of sprites for rendering using the specified font, text, position, color, rotation, origin, scale, effects and layer. + A font for diplaying text. + Text string. + The location (in screen coordinates) to draw the sprite. + The color to tint a sprite. Use Color.White for full color with no tinting. + Specifies the angle (in radians) to rotate the sprite about its center. + The sprite origin; the default is (0,0) which represents the upper-left corner. + Scale factor. + Effects to apply. + The depth of a layer. By default, 0 represents the front layer and 1 represents a back layer. Use SpriteSortMode if you want sprites to be sorted during drawing. + + + Adds a string to a batch of sprites for rendering using the specified font, text, position, color, rotation, origin, scale, effects and layer. + A font for diplaying text. + Text string. + The location (in screen coordinates) to draw the sprite. + The color to tint a sprite. Use Color.White for full color with no tinting. + Specifies the angle (in radians) to rotate the sprite about its center. + The sprite origin; the default is (0,0) which represents the upper-left corner. + Scale factor. + Effects to apply. + The depth of a layer. By default, 0 represents the front layer and 1 represents a back layer. Use SpriteSortMode if you want sprites to be sorted during drawing. + + + Flushes the sprite batch and restores the device state to how it was before Begin was called. + + + Defines sprite mirroring options. + + + Rotate 180 degrees about the Y axis before rendering. + + + Rotate 180 degrees about the X axis before rendering. + + + No rotations specified. + + + Represents a font texture. + + + Gets a collection of all the characters that are included in the font. + + + Gets or sets the default character for the font. + + + Gets or sets the vertical distance (in pixels) between the base lines of two consecutive lines of text. Line spacing includes the blank space between lines as well as the height of the characters. + + + Returns the width and height of a string as a Vector2. + The string to measure. + + + Returns the width and height of a string as a Vector2. + The string to measure. + + + Gets or sets the spacing of the font characters. + + + Defines sprite sort-rendering options. + + + Same as Deferred mode, except sprites are sorted by depth in back-to-front order prior to drawing. This procedure is recommended when drawing transparent sprites of varying depths. + + + Sprites are not drawn until End is called. End will apply graphics device settings and draw all the sprites in one batch, in the same order calls to Draw were received. This mode allows Draw calls to two or more instances of SpriteBatch without introducing conflicting graphics device settings. SpriteBatch defaults to Deferred mode. + + + Same as Deferred mode, except sprites are sorted by depth in front-to-back order prior to drawing. This procedure is recommended when drawing opaque sprites of varying depths. + + + Begin will apply new graphics device settings, and sprites will be drawn within each Draw call. In Immediate mode there can only be one active SpriteBatch instance without introducing conflicting device settings. + + + Same as Deferred mode, except sprites are sorted by texture prior to drawing. This can improve performance when drawing non-overlapping sprites of uniform depth. + + + Defines stencil buffer operations. + + + Decrements the stencil-buffer entry, wrapping to the maximum value if the new value is less than 0. + + + Decrements the stencil-buffer entry, clamping to 0. + + + Increments the stencil-buffer entry, wrapping to 0 if the new value exceeds the maximum value. + + + Increments the stencil-buffer entry, clamping to the maximum value. + + + Inverts the bits in the stencil-buffer entry. + + + Does not update the stencil-buffer entry. This is the default value. + + + Replaces the stencil-buffer entry with a reference value. + + + Sets the stencil-buffer entry to 0. + + + Defines various types of surface formats. + + + (Unsigned format) 8-bit alpha only. + + + (Unsigned format) 16-bit BGR pixel format with 5 bits for blue, 6 bits for green, and 5 bits for red. + + + (Unsigned format) 16-bit BGRA pixel format with 4 bits for each channel. + + + (Unsigned format) 16-bit BGRA pixel format where 5 bits are reserved for each color and 1 bit is reserved for alpha. + + + (Unsigned format) 32-bit ARGB pixel format with alpha, using 8 bits per channel. + + + DXT1 compression texture format. The runtime will not allow an application to create a surface using a DXTn format unless the surface dimensions are multiples of 4. This applies to offscreen-plain surfaces, render targets, 2D textures, cube textures, and volume textures. + + + DXT3 compression texture format. The runtime will not allow an application to create a surface using a DXTn format unless the surface dimensions are multiples of 4. This applies to offscreen-plain surfaces, render targets, 2D textures, cube textures, and volume textures. + + + DXT5 compression texture format. The runtime will not allow an application to create a surface using a DXTn format unless the surface dimensions are multiples of 4. This applies to offscreen-plain surfaces, render targets, 2D textures, cube textures, and volume textures. + + + (Floating-point format) 16-bit float format using 16 bits for the red channel. + + + (Floating-point format) 32-bit float format using 16 bits for the red channel and 16 bits for the green channel. + + + (Floating-point format) 64-bit float format using 16 bits for each channel (alpha, blue, green, red). + + + (Floating-point format) for high dynamic range data. + + + (Signed format) 16-bit bump-map format using 8 bits each for u and v data. + + + (Signed format) 32-bit bump-map format using 8 bits for each channel. + + + (Unsigned format) 32-bit pixel format using 16 bits each for red and green. + + + (Unsigned format) 32-bit RGBA pixel format using 10 bits for each color and 2 bits for alpha. + + + (Unsigned format) 64-bit RGBA pixel format using 16 bits for each component. + + + (IEEE format) 32-bit float format using 32 bits for the red channel. + + + (IEEE format) 64-bit float format using 32 bits for the red channel and 32 bits for the green channel. + + + (IEEE format) 128-bit float format using 32 bits for each channel (alpha, blue, green, red). + + + Represents a texture resource. + + + Gets the format of the texture data. + + + Gets the number of texture levels in a multilevel texture. + + + Represents a 2D grid of texels. + + + Creates a new instance of this object. + The device. + Texture width. + Texture height. + + + Creates a new instance of this object. + The device. + Texture width. + Texture height. + [MarshalAsAttribute(U1)] True to generate a full mipmap chain; false otherwise. + Texture data format. + + + Gets the size of this resource. + + + Loads texture data from a stream. + A graphics device. + Data stream from one of the following file types: .gif, .jpg or .png. + + + Loads texture data from a stream. + A graphics device. + Data stream from one of the following file types: .gif, .jpg or .png. + The requested image width. + The requested image height. + Control the aspect ratio when zooming (scaling); set to false to maintain a constant aspect ratio, true otherwise. See remarks. + + + Gets a copy of 2D texture data, specifying a mipmap level, source rectangle, start index, and number of elements. Reference page contains code sample. + Mipmap level. + The section of the texture to copy. null indicates the data will be copied from the entire texture. + Array of data. + Index of the first element to get. + Number of elements to get. + + + Gets a copy of 2D texture data. Reference page contains code sample. + Array of data. + + + Gets a copy of 2D texture data, specifying a start index and number of elements. Reference page contains code sample. + Array of data. + Index of the first element to get. + Number of elements to get. + + + Gets the height of this texture resource, in pixels. + + + Saves texture data as a .jpg. + Data stream number. + Image width. + Image height. + + + Saves texture data as a .png. + Data stream number. + Image width. + Image height. + + + Sets 2D texture data, specifying a mipmap level, source rectangle, start index, and number of elements. + Mipmap level. + A bounding box that defines the position and location (in pixels) of the data. + Array of data. + Index of the first element to set. + Number of elements to set. + + + Sets 2D texture data. Reference page contains links to related conceptual articles. + Array of data. + + + Sets 2D texture data, specifying a start index, and number of elements. + Array of data. + Index of the first element to set. + Number of elements to set. + + + Gets the width of this texture resource, in pixels. + + + Represents a 3D volume of texels. + + + Creates a new instance of this object. + A device. + Texture width. + Texture height. + Texture depth. + [MarshalAsAttribute(U1)] True to generate a full mipmap chain; false otherwise. + Data format. + + + Gets the depth of this volume texture resource, in pixels. + + + Gets a copy of 3D texture data, specifying a mimap level, source rectangle, start index, and number of elements. + Mipmap level. + Position of the left side of the box on the x-axis. + Position of the top of the box on the y-axis. + Position of the right side of the box on the x-axis. + Position of the bottom of the box on the y-axis. + Position of the front of the box on the z-axis. + Position of the back of the box on the z-axis. + Array of data. + Index of the first element to get. + Number of elements to get. + + + Gets a copy of 3D texture data. + Array of data. + + + Gets a copy of 3D texture data, specifying a start index and number of elements. + Array of data. + Index of the first element to get. + Number of elements to get. + + + Gets the height of this texture resource, in pixels. + + + Sets 3D texture data, specifying a mipmap level, source box, start index, and number of elements. + Mipmap level. + X coordinate of the left face of the 3D bounding cube. + Y coordinate of the top face of the 3D bounding cube. + X coordinate of the right face of the 3D bounding cube. + Y coordinate of the bottom face of the 3D bounding cube. + Z coordinate of the front face of the 3D bounding cube. + Z coordinate of the back face of the 3D bounding cube. + Array of data. + Index of the first element to set. + Number of elements to set. + + + Sets 3D texture data. + Array of data. + + + Sets 3D texture data, specifying a start index and number of elements. + Array of data. + Index of the first element to set. + Number of elements to set. + + + Gets the width of this texture resource, in pixels. + + + Defines modes for addressing texels using texture coordinates that are outside of the typical range of 0.0 to 1.0. + + + Texture coordinates outside the range [0.0, 1.0] are set to the texture color at 0.0 or 1.0, respectively. + + + Similar to Wrap, except that the texture is flipped at every integer junction. For u values between 0 and 1, for example, the texture is addressed normally; between 1 and 2, the texture is flipped (mirrored); between 2 and 3, the texture is normal again, and so on. + + + Tile the texture at every integer junction. For example, for u values between 0 and 3, the texture is repeated three times; no mirroring is performed. + + + Represents a collection of Texture objects. + + + Gets or sets the Texture at the specified sampler number. + Zero-based sampler number. Textures are bound to samplers; samplers define sampling state such as the filtering mode and the address wrapping mode. Programmable shaders reference textures using this sampler number. + + + Represents a set of six 2D textures, one for each face of a cube. + + + Creates a new instance of this object. + The device. + The size (in pixels) of the top-level faces of the cube texture. Subsequent levels of each face will be the truncated value of half of the previous level's pixel dimension (independently). Each dimension is clamped to a minimum of 1 pixel. + [MarshalAsAttribute(U1)] True to generate a full mipmap chain, false otherwise. + Surface data format. + + + Gets a copy of cube texture data, specifying a cubemap face, mimap level, source rectangle, start index, and number of elements. + Cube map face. + Mipmap level. + The section of the texture where the data will be placed. null indicates the data will be copied over the entire texture. + Array of data. + Index of the first element to get. + Number of elements to get. + + + Gets a copy of cube texture data specifying a cubemap face. + Cubemap face. + Array of data. + + + Gets a copy of cube texture data, specifying a cubemap face, start index, and number of elements. + Cubemap face. + Array of data. + Index of the first element to get. + Number of elements to get. + + + Sets cube texture data, specifying a cubemap face, mipmap level, source rectangle, start index, and number of elements. + Cubemap face. + Mipmap level. + Region in the texture to set the data; use null to set data to the entire texture. + Array of data. + Index of the first element to set. + Number of elements to set. + + + Sets cube texture data, specifying a cubemap face. + The cubemap face. + Array of data. + + + Sets cube texture data, specifying a cubemap face, start index, and number of elements. + The cubemap face. + Array of data. + Index of the first element to set. + Number of elements to set. + + + Gets the width and height of this texture resource, in pixels. + + + Defines filtering types during texture sampling. + + + Use anisotropic filtering. + + + Use linear filtering. + + + Use linear filtering to shrink or expand, and point filtering between mipmap levels (mip). + + + Use linear filtering to shrink, point filtering to expand, and linear filtering between mipmap levels. + + + Use linear filtering to shrink, point filtering to expand, and point filtering between mipmap levels. + + + Use point filtering to shrink, linear filtering to expand, and linear filtering between mipmap levels. + + + Use point filtering to shrink, linear filtering to expand, and point filtering between mipmap levels. + + + Use point filtering. + + + Use point filtering to shrink (minify) or expand (magnify), and linear filtering between mipmap levels. + + + Represents a list of 3D vertices to be streamed to the graphics device. + + + Creates an instance of this object. + The graphics device. + The vertex declaration, which describes per-vertex data. + The number of vertices. + Behavior options; it is good practice for this to match the createOptions parameter in the GraphicsDevice constructor. + + + Creates an instance of this object. + The graphics device. + The data type. + The number of vertices. + Behavior options; it is good practice for this to match the createOptions parameter in the GraphicsDevice constructor. + + + Gets the state of the related BufferUsage enumeration. + + + Immediately releases the unmanaged resources used by this object. + [MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets a copy of the vertex buffer data, specifying the starting offset, start index, number of elements, and vertex stride. + Offset in bytes from the beginning of the buffer to the data. + Array of data. + Index of the first element to get. + Number of elements to get. + Size, in bytes, of an element in the vertex buffer. + + + Gets a copy of the vertex buffer data. + Array of data. + + + Gets a copy of the vertex buffer data, specifying the start index and number of elements. + Array of data. + Index of the first element to get. + Number of elements to get. + + + Sets vertex buffer data, specifying the offset, start index, number of elements, and the vertex stride. + Offset in bytes from the beginning of the buffer to the data. + Array of data. + Index of the first element to set. + Number of elements to set. + Stride, or size, of a vertex. + + + Sets vertex buffer data. Reference page contains code sample. + Array of data. + + + Sets vertex buffer data, specifying the start index and number of elements. + Array of data. + Index of the first element to set. + Number of elements to set. + + + Gets the number of vertices. + + + Defines per-vertex data in a buffer. + + + Binding structure that specifies a vertex buffer and other per-vertex parameters (such as offset and instancing) for a graphics device. + + + Creates an instance of this object. + The vertex buffer. + + + Creates an instance of this object. + The vertex buffer. + Offset (in vertices) from the beginning of the buffer to the first vertex to use. + + + Creates an instance of this object. + The vertex buffer. + Offset (in vertices) from the beginning of the buffer to the first vertex to use. + Number (or frequency) of instances to draw for each draw call; 1 means draw one instance, 2 means draw 2 instances, etc. Use 0 if you are not instancing. + + + Gets the instancing frequency. + + + Gets a vertex buffer. + + + Gets the offset between the beginning of the buffer and the vertex data to use. + + + A vertex declaration, which defines per-vertex data. + + + Creates an instance of this object. + [ParamArrayAttribute] An array of per-vertex elements. + + + Creates an instance of this object. + The number of bytes per element. + [ParamArrayAttribute] An array of per-vertex elements. + + + Immediately releases the unmanaged resources used by this object. + [MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the vertex shader declaration. + + + The number of bytes from one vertex to the next. + + + Defines input vertex data to the pipeline. + + + Initializes a new instance of the VertexElement class. + Offset (if any) from the beginning of the stream to the beginning of the vertex data. + One of several predefined types that define the vertex data size. + The intended use of the vertex data. + Modifies the usage data to allow the user to specify multiple usage types. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The Object to compare with the current VertexElement. + + + Gets the hash code for this instance. + + + Retrieves or sets the offset (if any) from the beginning of the stream to the beginning of the vertex data. + + + Compares two objects to determine whether they are the same. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Compares two objects to determine whether they are different. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + Retrieves a string representation of this object. + + + Modifies the usage data to allow the user to specify multiple usage types. + + + Gets or sets the format of this vertex element. + + + Gets or sets a value describing how the vertex element is to be used. + + + Defines vertex element formats. + + + Four-component, unsigned byte. + + + Four-component, packed, unsigned byte, mapped to 0 to 1 range. Input is in Int32 format (ARGB) expanded to (R, G, B, A). + + + Two-component, 16-bit floating point expanded to (value, value, value, value). This type is valid for vertex shader version 2.0 or higher. + + + Four-component, 16-bit floating-point expanded to (value, value, value, value). This type is valid for vertex shader version 2.0 or higher. + + + Normalized, two-component, signed short, expanded to (first short/32767.0, second short/32767.0, 0, 1). This type is valid for vertex shader version 2.0 or higher. + + + Normalized, four-component, signed short, expanded to (first short/32767.0, second short/32767.0, third short/32767.0, fourth short/32767.0). This type is valid for vertex shader version 2.0 or higher. + + + Two-component, signed short expanded to (value, value, 0, 1). + + + Four-component, signed short expanded to (value, value, value, value). + + + Single-component, 32-bit floating-point, expanded to (float, 0, 0, 1). + + + Two-component, 32-bit floating-point, expanded to (float, Float32 value, 0, 1). + + + Three-component, 32-bit floating point, expanded to (float, float, float, 1). + + + Four-component, 32-bit floating point, expanded to (float, float, float, float). + + + Defines usage for vertex elements. + + + Vertex binormal data. + + + Blending indices data. (BlendIndices with UsageIndex = 0) specifies matrix indices for fixed-function vertex processing using indexed paletted skinning. + + + Blending weight data. (BlendWeight with UsageIndex = 0) specifies the blend weights in fixed-function vertex processing. + + + Vertex data contains diffuse or specular color. (Color with UsageIndex = 0) specifies the diffuse color in the fixed-function vertex shader and in pixel shaders prior to ps_3_0. (Color with UsageIndex = 1) specifies the specular color in the fixed-function vertex shader and in pixel shaders prior to ps_3_0. + + + Vertex data contains depth data. + + + Vertex data contains fog data. (Fog with UsageIndex = 0) specifies a fog blend value to use after pixel shading is finished. This flag applies to pixel shaders prior to version ps_3_0. + + + Vertex normal data. (Normal with UsageIndex = 0) specifies vertex normals for fixed-function vertex processing and the N-patch tessellator. (Normal with UsageIndex = 1) specifies vertex normals for fixed-function vertex processing for skinning. + + + Point size data. (PointSize with UsageIndex = 0) specifies the point-size attribute used by the setup engine of the rasterizer to expand a point into a quad for the point-sprite functionality. + + + Position data. (Position with UsageIndex = 0 ) specifies the nontransformed position in fixed-function vertex processing and the N-patch tessellator. (Position with UsageIndex = 1) specifies the nontransformed position in the fixed-function vertex shader for skinning. + + + Vertex data contains sampler data. (Sample with UsageIndex = 0) specifies the displacement value to look up. + + + Vertex tangent data. + + + Single, positive floating-point value. (TessellateFactor with UsageIndex = 0) specifies a tessellation factor used in the tessellation unit to control the rate of tessellation. + + + Texture coordinate data. (TextureCoordinate, n) specifies texture coordinates in fixed-function vertex processing and in pixel shaders prior to ps_3_0. These coordinates can be used to pass user-defined data. + + + Describes a custom vertex format structure that contains position and color information. + + + Initializes a new instance of the VertexPositionColor class. + The position of the vertex. + The color of the vertex. + + + The vertex color. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The Object to compare with the current VertexPositionColor. + + + Gets the hash code for this instance. + + + Gets a vertex declaration. + + + Compares two objects to determine whether they are the same. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Compares two objects to determine whether they are different. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + XYZ position. + + + Retrieves a string representation of this object. + + + Vertex declaration, which defines per-vertex data. + + + Describes a custom vertex format structure that contains position, color, and one set of texture coordinates. + + + Initializes a new instance of the VertexPositionColorTexture class. + Position of the vertex. + Color of the vertex. + Texture coordinate of the vertex. + + + The vertex color. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The Object to compare with the current VertexPositionColorTexture. + + + Gets the hash code for this instance. + + + Gets a vertex declaration. + + + Compares two objects to determine whether they are the same. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Compares two objects to determine whether they are different. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + XYZ position. + + + UV texture coordinates. + + + Retrieves a string representation of this object. + + + Vertex declaration, which defines per-vertex data. + + + Describes a custom vertex format structure that contains position, normal data, and one set of texture coordinates. + + + Initializes a new instance of the VertexPositionNormalTexture class. + Position of the vertex. + The vertex normal. + The texture coordinate. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The Object to compare with the current VertexPositionNormalTexture. + + + Gets the hash code for this instance. + + + Gets a vertex declaration. + + + XYZ surface normal. + + + Compares two objects to determine whether they are the same. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Compares two objects to determine whether they are different. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + XYZ position. + + + UV texture coordinates. + + + Retrieves a string representation of this object. + + + Vertex declaration, which defines per-vertex data. + + + Describes a custom vertex format structure that contains position and one set of texture coordinates. + + + Initializes a new instance of the VertexPositionTexture class. + Position of the vertex. + Texture coordinate of the vertex. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The Object to compare with the current VertexPositionTexture. + + + Gets the hash code for this instance. + + + Gets a vertex declaration. + + + Compares two objects to determine whether they are the same. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Compares two objects to determine whether they are different. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + XYZ position. + + + UV texture coordinates. + + + Retrieves a string representation of this object. + + + Vertex declaration, which defines per-vertex data. + + + Defines the window dimensions of a render-target surface onto which a 3D volume projects. + + + Creates an instance of this object. + A bounding box that defines the location and size of the viewport in a render target. + + + Creates an instance of this object. + The x coordinate of the upper-left corner of the viewport in pixels. + The y coordinate of the upper-left corner of the viewport in pixels. + The width of the viewport in pixels. + The height of the viewport in pixels. + + + Gets the aspect ratio used by the viewport + + + Gets the size of this resource. + + + Gets or sets the height dimension of the viewport on the render-target surface, in pixels. + + + Gets or sets the maximum depth of the clip volume. + + + Gets or sets the minimum depth of the clip volume. + + + Projects a 3D vector from object space into screen space. + The vector to project. + The projection matrix. + The view matrix. + The world matrix. + + + Returns the title safe area of the current viewport. + + + Retrieves a string representation of this object. + + + Converts a screen space point into a corresponding point in world space. + The vector to project. + The projection matrix. + The view matrix. + The world matrix. + + + Gets or sets the width dimension of the viewport on the render-target surface, in pixels. + + + Gets or sets the pixel coordinate of the upper-left corner of the viewport on the render-target surface. + + + Gets or sets the pixel coordinate of the upper-left corner of the viewport on the render-target surface. + + + \ No newline at end of file diff --git a/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Xact.dll b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Xact.dll new file mode 100644 index 00000000..96815795 Binary files /dev/null and b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Xact.dll differ diff --git a/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Xact.xml b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Xact.xml new file mode 100644 index 00000000..3f5a36bf --- /dev/null +++ b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.Xact.xml @@ -0,0 +1,283 @@ + + + + + Represents a particular category of sounds. Reference page contains links to related code samples. + + + Determines whether the specified AudioCategory is equal to this AudioCategory. + AudioCategory to compare with this instance. + + + Determines whether the specified Object is equal to this AudioCategory. + Object to compare with this instance. + + + Gets the hash code for this instance. + + + Specifies the friendly name of this category. + + + Determines whether the specified AudioCategory instances are equal. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Determines whether the specified AudioCategory instances are not equal. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + Pauses all sounds associated with this category. + + + Resumes all paused sounds associated with this category. + + + Sets the volume of all sounds associated with this category. Reference page contains links to related code samples. + Volume amplitude multiplier. volume is normally between 0.0 (silence) and 1.0 (full volume), but can range from 0.0f to float.MaxValue. Volume levels map to decibels (dB) as shown in the following table. VolumeDescription 0.0f-96 dB (silence) 1.0f +0 dB (full volume as authored) 2.0f +6 dB (6 dB greater than authored) + + + Stops all sounds associated with this category. + Enumerated value specifying how the sounds should be stopped. + + + Returns a String representation of this AudioCategory. + + + Represents the audio engine. Applications use the methods of the audio engine to instantiate and manipulate core audio objects. Reference page contains links to related code samples. + + + Initializes a new instance of this class, using a path to an XACT global settings file. + Path to a global settings file. + + + Initializes a new instance of this class, using a settings file, a specific audio renderer, and a specific speaker configuration. + Path to a global settings file. + Interactive audio and branch event look-ahead time, in milliseconds. + A string that specifies the audio renderer to use. + + + Specifies the current content version. + + + Immediately releases the unmanaged resources used by this object. + + + Immediately releases the unmanaged resources used by this object. + [MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Occurs when Dispose is called or when this object is finalized and collected by the garbage collector of the Microsoft .NET common language runtime (CLR). + + + + Allows this object to attempt to free resources and perform other cleanup operations before garbage collection reclaims the object. + + + Gets an audio category. Reference page contains links to related code samples. + Friendly name of the category to get. + + + Gets the value of a global variable. Reference page contains links to related conceptual articles. + Friendly name of the variable. + + + Gets a value that indicates whether the object is disposed. + + + Gets a collection of audio renderers. + + + Sets the value of a global variable. + Value of the global variable. + Friendly name of the global variable. + + + Performs periodic work required by the audio engine. Reference page contains links to related code samples. + + + Controls how Cue objects should stop when Stop is called. + + + Indicates the cue should stop normally, playing any release phase or transition specified in the content. + + + Indicates the cue should stop immediately, ignoring any release phase or transition specified in the content. + + + Defines methods for managing the playback of sounds. Reference page contains links to related code samples. + + + Calculates the 3D audio values between an AudioEmitter and an AudioListener object, and applies the resulting values to this Cue. Reference page contains code sample. + The listener to calculate. + The emitter to calculate. + + + Immediately releases the unmanaged resources used by this object. + + + Occurs when Dispose is called or when this object is finalized and collected by the garbage collector of the Microsoft .NET common language runtime (CLR). + + + + Gets a cue-instance variable value based on its friendly name. + Friendly name of the variable. + + + Returns whether the cue has been created. + + + Gets a value indicating whether the object has been disposed. + + + Returns whether the cue is currently paused. + + + Returns whether the cue is playing. + + + Returns whether the cue is prepared to play. + + + Returns whether the cue is preparing to play. + + + Returns whether the cue is currently stopped. + + + Returns whether the cue is stopping playback. + + + Returns the friendly name of the cue. + + + Pauses playback. Reference page contains links to related code samples. + + + Requests playback of a prepared or preparing Cue. Reference page contains links to related code samples. + + + Resumes playback of a paused Cue. Reference page contains links to related code samples. + + + Sets the value of a cue-instance variable based on its friendly name. + Friendly name of the variable to set. + Value to assign to the variable. + + + Stops playback of a Cue. Reference page contains links to related code samples. + Enumerated value specifying how the sound should stop. If set to None, the sound will play any release phase or transition specified in the audio designer. If set to Immediate, the sound will stop immediately, ignoring any release phases or transitions. + + + Represents an audio renderer, which is a device that can render audio to a user. + + + Returns a value that indicates whether the current instance is equal to a specified object. + Object to compare to this object. + + + Gets the human-readable name for the renderer. + + + Gets the hash code for this instance. + + + Compares two objects to determine whether they are the same. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Compares two objects to determine whether they are different. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + Specifies the string that identifies the renderer. + + + Retrieves a string representation of this object. + + + Represents a sound bank, which is a collection of cues. Reference page contains links to related code samples. + + + Initializes a new instance of this class using a sound bank from file. + Audio engine that will be associated with this sound bank. + Path to the sound bank file. + + + Immediately releases the unmanaged resources used by this object. + + + Immediately releases the unmanaged resources used by this object. + [MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Occurs when Dispose is called or when this object is finalized and collected by the garbage collector of the Microsoft .NET common language runtime (CLR). + + + + Allows this object to attempt to free resources and perform other cleanup operations before garbage collection reclaims the object. + + + Gets a cue from the sound bank. Reference page contains links to related code samples. + Friendly name of the cue to get. + + + Gets a value that indicates whether the object is disposed. + + + Returns whether the sound bank is currently in use. + + + Plays a cue. Reference page contains links to related code samples. + Name of the cue to play. + + + Plays a cue using 3D positional information specified in an AudioListener and AudioEmitter. Reference page contains links to related code samples. + Name of the cue to play. + AudioListener that specifies listener 3D audio information. + AudioEmitter that specifies emitter 3D audio information. + + + Represents a wave bank, which is a collection of wave files. Reference page contains links to related code samples. + + + Initializes a new, in-memory instance of this class using a specified AudioEngine and path to a wave bank file. + Instance of an AudioEngine to associate this wave bank with. + Path to the wave bank file to load. + + + Initializes a new, streaming instance of this class, using a provided AudioEngine and streaming wave bank parameters. + Instance of an AudioEngine to associate this wave bank with. + Path to the wave bank file to stream from. + Offset within the wave bank data file. This offset must be DVD sector aligned. + Stream packet size, in sectors, to use for each stream. The minimum value is 2. + + + Immediately releases the unmanaged resources used by this object. + + + Immediately releases the unmanaged resources used by this object. + [MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Occurs when Dispose is called or when this object is finalized and collected by the garbage collector of the Microsoft .NET common language runtime (CLR). + + + + Allows this object to attempt to free resources and perform other cleanup operations before garbage collection reclaims the object. + + + Gets a value that indicates whether the object is disposed. + + + Returns whether the wave bank is currently in use. + + + Returns whether the wave bank is prepared to play. + + + \ No newline at end of file diff --git a/StardewInjector/bin/Debug/Microsoft.Xna.Framework.dll b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.dll new file mode 100644 index 00000000..a0caf6af Binary files /dev/null and b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.dll differ diff --git a/StardewInjector/bin/Debug/Microsoft.Xna.Framework.xml b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.xml new file mode 100644 index 00000000..6b8a1bd4 --- /dev/null +++ b/StardewInjector/bin/Debug/Microsoft.Xna.Framework.xml @@ -0,0 +1,7375 @@ + + + + + Defines an axis-aligned box-shaped 3D volume. + + + Creates an instance of BoundingBox. + The minimum point the BoundingBox includes. + The maximum point the BoundingBox includes. + + + Tests whether the BoundingBox contains another BoundingBox. + The BoundingBox to test for overlap. + + + Tests whether the BoundingBox contains a BoundingBox. + The BoundingBox to test for overlap. + [OutAttribute] Enumeration indicating the extent of overlap. + + + Tests whether the BoundingBox contains a BoundingFrustum. + The BoundingFrustum to test for overlap. + + + Tests whether the BoundingBox contains a BoundingSphere. + The BoundingSphere to test for overlap. + + + Tests whether the BoundingBox contains a BoundingSphere. + The BoundingSphere to test for overlap. + [OutAttribute] Enumeration indicating the extent of overlap. + + + Tests whether the BoundingBox contains a point. + The point to test for overlap. + + + Tests whether the BoundingBox contains a point. + The point to test for overlap. + [OutAttribute] Enumeration indicating the extent of overlap. + + + Specifies the total number of corners (8) in the BoundingBox. + + + Creates the smallest BoundingBox that will contain a group of points. + A list of points the BoundingBox should contain. + + + Creates the smallest BoundingBox that will contain the specified BoundingSphere. + The BoundingSphere to contain. + + + Creates the smallest BoundingBox that will contain the specified BoundingSphere. + The BoundingSphere to contain. + [OutAttribute] The created BoundingBox. + + + Creates the smallest BoundingBox that contains the two specified BoundingBox instances. + One of the BoundingBoxs to contain. + One of the BoundingBoxs to contain. + + + Creates the smallest BoundingBox that contains the two specified BoundingBox instances. + One of the BoundingBox instances to contain. + One of the BoundingBox instances to contain. + [OutAttribute] The created BoundingBox. + + + Determines whether two instances of BoundingBox are equal. + The BoundingBox to compare with the current BoundingBox. + + + Determines whether two instances of BoundingBox are equal. + The Object to compare with the current BoundingBox. + + + Gets an array of points that make up the corners of the BoundingBox. + + + Gets the array of points that make up the corners of the BoundingBox. + An existing array of at least 8 Vector3 points where the corners of the BoundingBox are written. + + + Gets the hash code for this instance. + + + Checks whether the current BoundingBox intersects another BoundingBox. + The BoundingBox to check for intersection with. + + + Checks whether the current BoundingBox intersects another BoundingBox. + The BoundingBox to check for intersection with. + [OutAttribute] true if the BoundingBox instances intersect; false otherwise. + + + Checks whether the current BoundingBox intersects a BoundingFrustum. + The BoundingFrustum to check for intersection with. + + + Checks whether the current BoundingBox intersects a BoundingSphere. + The BoundingSphere to check for intersection with. + + + Checks whether the current BoundingBox intersects a BoundingSphere. + The BoundingSphere to check for intersection with. + [OutAttribute] true if the BoundingBox and BoundingSphere intersect; false otherwise. + + + Checks whether the current BoundingBox intersects a Plane. + The Plane to check for intersection with. + + + Checks whether the current BoundingBox intersects a Plane. + The Plane to check for intersection with. + [OutAttribute] An enumeration indicating whether the BoundingBox intersects the Plane. + + + Checks whether the current BoundingBox intersects a Ray. + The Ray to check for intersection with. + + + Checks whether the current BoundingBox intersects a Ray. + The Ray to check for intersection with. + [OutAttribute] Distance at which the ray intersects the BoundingBox, or null if there is no intersection. + + + The maximum point the BoundingBox contains. + + + The minimum point the BoundingBox contains. + + + Determines whether two instances of BoundingBox are equal. + BoundingBox to compare. + BoundingBox to compare. + + + Determines whether two instances of BoundingBox are not equal. + The object to the left of the inequality operator. + The object to the right of the inequality operator. + + + Returns a String that represents the current BoundingBox. + + + Defines a frustum and helps determine whether forms intersect with it. + + + Creates a new instance of BoundingFrustum. + Combined matrix that usually takes view × projection matrix. + + + Gets the bottom plane of the BoundingFrustum. + + + Checks whether the current BoundingFrustum contains the specified BoundingBox. + The BoundingBox to check against the current BoundingFrustum. + + + Checks whether the current BoundingFrustum contains the specified BoundingBox. + The BoundingBox to test for overlap. + [OutAttribute] Enumeration indicating the extent of overlap. + + + Checks whether the current BoundingFrustum contains the specified BoundingFrustum. + The BoundingFrustum to check against the current BoundingFrustum. + + + Checks whether the current BoundingFrustum contains the specified BoundingSphere. + The BoundingSphere to check against the current BoundingFrustum. + + + Checks whether the current BoundingFrustum contains the specified BoundingSphere. + The BoundingSphere to test for overlap. + [OutAttribute] Enumeration indicating the extent of overlap. + + + Checks whether the current BoundingFrustum contains the specified point. + The point to check against the current BoundingFrustum. + + + Checks whether the current BoundingFrustum contains the specified point. + The point to test for overlap. + [OutAttribute] Enumeration indicating the extent of overlap. + + + Specifies the total number of corners (8) in the BoundingFrustum. + + + Determines whether the specified BoundingFrustum is equal to the current BoundingFrustum. + The BoundingFrustum to compare with the current BoundingFrustum. + + + Determines whether the specified Object is equal to the BoundingFrustum. + The Object to compare with the current BoundingFrustum. + + + Gets the far plane of the BoundingFrustum. + + + Gets an array of points that make up the corners of the BoundingFrustum. + + + Gets an array of points that make up the corners of the BoundingFrustum. + An existing array of at least 8 Vector3 points where the corners of the BoundingFrustum are written. + + + Gets the hash code for this instance. + + + Checks whether the current BoundingFrustum intersects the specified BoundingBox. + The BoundingBox to check for intersection. + + + Checks whether the current BoundingFrustum intersects a BoundingBox. + The BoundingBox to check for intersection with. + [OutAttribute] true if the BoundingFrustum and BoundingBox intersect; false otherwise. + + + Checks whether the current BoundingFrustum intersects the specified BoundingFrustum. + The BoundingFrustum to check for intersection. + + + Checks whether the current BoundingFrustum intersects the specified BoundingSphere. + The BoundingSphere to check for intersection. + + + Checks whether the current BoundingFrustum intersects a BoundingSphere. + The BoundingSphere to check for intersection with. + [OutAttribute] true if the BoundingFrustum and BoundingSphere intersect; false otherwise. + + + Checks whether the current BoundingFrustum intersects the specified Plane. + The Plane to check for intersection. + + + Checks whether the current BoundingFrustum intersects a Plane. + The Plane to check for intersection with. + [OutAttribute] An enumeration indicating whether the BoundingFrustum intersects the Plane. + + + Checks whether the current BoundingFrustum intersects the specified Ray. + The Ray to check for intersection. + + + Checks whether the current BoundingFrustum intersects a Ray. + The Ray to check for intersection with. + [OutAttribute] Distance at which the ray intersects the BoundingFrustum or null if there is no intersection. + + + Gets the left plane of the BoundingFrustum. + + + Gets or sets the Matrix that describes this bounding frustum. + + + Gets the near plane of the BoundingFrustum. + + + Determines whether two instances of BoundingFrustum are equal. + The BoundingFrustum to the left of the equality operator. + The BoundingFrustum to the right of the equality operator. + + + Determines whether two instances of BoundingFrustum are not equal. + The BoundingFrustum to the left of the inequality operator. + The BoundingFrustum to the right of the inequality operator. + + + Gets the right plane of the BoundingFrustum. + + + Gets the top plane of the BoundingFrustum. + + + Returns a String that represents the current BoundingFrustum. + + + Defines a sphere. + + + Creates a new instance of BoundingSphere. + Center point of the sphere. + Radius of the sphere. + + + The center point of the sphere. + + + Checks whether the current BoundingSphere contains the specified BoundingBox. + The BoundingBox to check against the current BoundingSphere. + + + Checks whether the current BoundingSphere contains the specified BoundingBox. + The BoundingBox to test for overlap. + [OutAttribute] Enumeration indicating the extent of overlap. + + + Checks whether the current BoundingSphere contains the specified BoundingFrustum. + The BoundingFrustum to check against the current BoundingSphere. + + + Checks whether the current BoundingSphere contains the specified BoundingSphere. + The BoundingSphere to check against the current BoundingSphere. + + + Checks whether the current BoundingSphere contains the specified BoundingSphere. + The BoundingSphere to test for overlap. + [OutAttribute] Enumeration indicating the extent of overlap. + + + Checks whether the current BoundingSphere contains the specified point. + The point to check against the current BoundingSphere. + + + Checks whether the current BoundingSphere contains the specified point. + The point to test for overlap. + [OutAttribute] Enumeration indicating the extent of overlap. + + + Creates the smallest BoundingSphere that can contain a specified BoundingBox. + The BoundingBox to create the BoundingSphere from. + + + Creates the smallest BoundingSphere that can contain a specified BoundingBox. + The BoundingBox to create the BoundingSphere from. + [OutAttribute] The created BoundingSphere. + + + Creates the smallest BoundingSphere that can contain a specified BoundingFrustum. + The BoundingFrustum to create the BoundingSphere with. + + + Creates a BoundingSphere that can contain a specified list of points. + List of points the BoundingSphere must contain. + + + Creates a BoundingSphere that contains the two specified BoundingSphere instances. + BoundingSphere to be merged. + BoundingSphere to be merged. + + + Creates a BoundingSphere that contains the two specified BoundingSphere instances. + BoundingSphere to be merged. + BoundingSphere to be merged. + [OutAttribute] The created BoundingSphere. + + + Determines whether the specified BoundingSphere is equal to the current BoundingSphere. + The BoundingSphere to compare with the current BoundingSphere. + + + Determines whether the specified Object is equal to the BoundingSphere. + The Object to compare with the current BoundingSphere. + + + Gets the hash code for this instance. + + + Checks whether the current BoundingSphere intersects with a specified BoundingBox. + The BoundingBox to check for intersection with the current BoundingSphere. + + + Checks whether the current BoundingSphere intersects a BoundingBox. + The BoundingBox to check for intersection with. + [OutAttribute] true if the BoundingSphere and BoundingBox intersect; false otherwise. + + + Checks whether the current BoundingSphere intersects with a specified BoundingFrustum. + The BoundingFrustum to check for intersection with the current BoundingSphere. + + + Checks whether the current BoundingSphere intersects with a specified BoundingSphere. + The BoundingSphere to check for intersection with the current BoundingSphere. + + + Checks whether the current BoundingSphere intersects another BoundingSphere. + The BoundingSphere to check for intersection with. + [OutAttribute] true if the BoundingSphere instances intersect; false otherwise. + + + Checks whether the current BoundingSphere intersects with a specified Plane. + The Plane to check for intersection with the current BoundingSphere. + + + Checks whether the current BoundingSphere intersects a Plane. + The Plane to check for intersection with. + [OutAttribute] An enumeration indicating whether the BoundingSphere intersects the Plane. + + + Checks whether the current BoundingSphere intersects with a specified Ray. + The Ray to check for intersection with the current BoundingSphere. + + + Checks whether the current BoundingSphere intersects a Ray. + The Ray to check for intersection with. + [OutAttribute] Distance at which the ray intersects the BoundingSphere or null if there is no intersection. + + + Determines whether two instances of BoundingSphere are equal. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Determines whether two instances of BoundingSphere are not equal. + The BoundingSphere to the left of the inequality operator. + The BoundingSphere to the right of the inequality operator. + + + The radius of the sphere. + + + Returns a String that represents the current BoundingSphere. + + + Translates and scales the BoundingSphere using a given Matrix. + A transformation matrix that might include translation, rotation, or uniform scaling. Note that BoundingSphere.Transform will not return correct results if there are non-uniform scaling, shears, or other unusual transforms in this transformation matrix. This is because there is no way to shear or non-uniformly scale a sphere. Such an operation would cause the sphere to lose its shape as a sphere. + + + Translates and scales the BoundingSphere using a given Matrix. + A transformation matrix that might include translation, rotation, or uniform scaling. Note that BoundingSphere.Transform will not return correct results if there are non-uniform scaling, shears, or other unusual transforms in this transformation matrix. This is because there is no way to shear or non-uniformly scale a sphere. Such an operation would cause the sphere to lose its shape as a sphere. + [OutAttribute] The transformed BoundingSphere. + + + Represents a four-component color using red, green, blue, and alpha data. + + + Creates a new instance of the class. + A three-component color. + + + Creates a new instance of the class. + A four-component color. + + + Creates a new instance of the class. + Red component. + Green component. + Blue component. + + + Creates a new instance of the class. + Red component. + Green component. + Blue component. + Alpha component. + + + Creates a new instance of the class. + Red component. + Green component. + Blue component. + + + Creates a new instance of the class. + Red component. + Green component. + Blue component. + Alpha component. + + + Gets or sets the alpha component value. + + + Gets a system-defined color with the value R:240 G:248 B:255 A:255. + + + Gets a system-defined color with the value R:250 G:235 B:215 A:255. + + + Gets a system-defined color with the value R:0 G:255 B:255 A:255. + + + Gets a system-defined color with the value R:127 G:255 B:212 A:255. + + + Gets a system-defined color with the value R:240 G:255 B:255 A:255. + + + Gets or sets the blue component value of this Color. + + + Gets a system-defined color with the value R:245 G:245 B:220 A:255. + + + Gets a system-defined color with the value R:255 G:228 B:196 A:255. + + + Gets a system-defined color with the value R:0 G:0 B:0 A:255. + + + Gets a system-defined color with the value R:255 G:235 B:205 A:255. + + + Gets a system-defined color with the value R:0 G:0 B:255 A:255. + + + Gets a system-defined color with the value R:138 G:43 B:226 A:255. + + + Gets a system-defined color with the value R:165 G:42 B:42 A:255. + + + Gets a system-defined color with the value R:222 G:184 B:135 A:255. + + + Gets a system-defined color with the value R:95 G:158 B:160 A:255. + + + Gets a system-defined color with the value R:127 G:255 B:0 A:255. + + + Gets a system-defined color with the value R:210 G:105 B:30 A:255. + + + Gets a system-defined color with the value R:255 G:127 B:80 A:255. + + + Gets a system-defined color with the value R:100 G:149 B:237 A:255. + + + Gets a system-defined color with the value R:255 G:248 B:220 A:255. + + + Gets a system-defined color with the value R:220 G:20 B:60 A:255. + + + Gets a system-defined color with the value R:0 G:255 B:255 A:255. + + + Gets a system-defined color with the value R:0 G:0 B:139 A:255. + + + Gets a system-defined color with the value R:0 G:139 B:139 A:255. + + + Gets a system-defined color with the value R:184 G:134 B:11 A:255. + + + Gets a system-defined color with the value R:169 G:169 B:169 A:255. + + + Gets a system-defined color with the value R:0 G:100 B:0 A:255. + + + Gets a system-defined color with the value R:189 G:183 B:107 A:255. + + + Gets a system-defined color with the value R:139 G:0 B:139 A:255. + + + Gets a system-defined color with the value R:85 G:107 B:47 A:255. + + + Gets a system-defined color with the value R:255 G:140 B:0 A:255. + + + Gets a system-defined color with the value R:153 G:50 B:204 A:255. + + + Gets a system-defined color with the value R:139 G:0 B:0 A:255. + + + Gets a system-defined color with the value R:233 G:150 B:122 A:255. + + + Gets a system-defined color with the value R:143 G:188 B:139 A:255. + + + Gets a system-defined color with the value R:72 G:61 B:139 A:255. + + + Gets a system-defined color with the value R:47 G:79 B:79 A:255. + + + Gets a system-defined color with the value R:0 G:206 B:209 A:255. + + + Gets a system-defined color with the value R:148 G:0 B:211 A:255. + + + Gets a system-defined color with the value R:255 G:20 B:147 A:255. + + + Gets a system-defined color with the value R:0 G:191 B:255 A:255. + + + Gets a system-defined color with the value R:105 G:105 B:105 A:255. + + + Gets a system-defined color with the value R:30 G:144 B:255 A:255. + + + Test a color to see if it is equal to the color in this instance. + A four-component color. + + + Test an instance of a color object to see if it is equal to this object. + A color object. + + + Gets a system-defined color with the value R:178 G:34 B:34 A:255. + + + Gets a system-defined color with the value R:255 G:250 B:240 A:255. + + + Gets a system-defined color with the value R:34 G:139 B:34 A:255. + + + Convert a non premultipled color into color data that contains alpha. + A four-component color. + + + Converts a non-premultipled alpha color to a color that contains premultiplied alpha. + Red component. + Green component. + Blue component. + Alpha component. + + + Gets a system-defined color with the value R:255 G:0 B:255 A:255. + + + Gets or sets the green component value of this Color. + + + Gets a system-defined color with the value R:220 G:220 B:220 A:255. + + + Serves as a hash function for a particular type. + + + Gets a system-defined color with the value R:248 G:248 B:255 A:255. + + + Gets a system-defined color with the value R:255 G:215 B:0 A:255. + + + Gets a system-defined color with the value R:218 G:165 B:32 A:255. + + + Gets a system-defined color with the value R:128 G:128 B:128 A:255. + + + Gets a system-defined color with the value R:0 G:128 B:0 A:255. + + + Gets a system-defined color with the value R:173 G:255 B:47 A:255. + + + Gets a system-defined color with the value R:240 G:255 B:240 A:255. + + + Gets a system-defined color with the value R:255 G:105 B:180 A:255. + + + Gets a system-defined color with the value R:205 G:92 B:92 A:255. + + + Gets a system-defined color with the value R:75 G:0 B:130 A:255. + + + Gets a system-defined color with the value R:255 G:255 B:240 A:255. + + + Gets a system-defined color with the value R:240 G:230 B:140 A:255. + + + Gets a system-defined color with the value R:230 G:230 B:250 A:255. + + + Gets a system-defined color with the value R:255 G:240 B:245 A:255. + + + Gets a system-defined color with the value R:124 G:252 B:0 A:255. + + + Gets a system-defined color with the value R:255 G:250 B:205 A:255. + + + Linearly interpolate a color. + A four-component color. + A four-component color. + Interpolation factor. + + + Gets a system-defined color with the value R:173 G:216 B:230 A:255. + + + Gets a system-defined color with the value R:240 G:128 B:128 A:255. + + + Gets a system-defined color with the value R:224 G:255 B:255 A:255. + + + Gets a system-defined color with the value R:250 G:250 B:210 A:255. + + + Gets a system-defined color with the value R:211 G:211 B:211 A:255. + + + Gets a system-defined color with the value R:144 G:238 B:144 A:255. + + + Gets a system-defined color with the value R:255 G:182 B:193 A:255. + + + Gets a system-defined color with the value R:255 G:160 B:122 A:255. + + + Gets a system-defined color with the value R:32 G:178 B:170 A:255. + + + Gets a system-defined color with the value R:135 G:206 B:250 A:255. + + + Gets a system-defined color with the value R:119 G:136 B:153 A:255. + + + Gets a system-defined color with the value R:176 G:196 B:222 A:255. + + + Gets a system-defined color with the value R:255 G:255 B:224 A:255. + + + Gets a system-defined color with the value R:0 G:255 B:0 A:255. + + + Gets a system-defined color with the value R:50 G:205 B:50 A:255. + + + Gets a system-defined color with the value R:250 G:240 B:230 A:255. + + + Gets a system-defined color with the value R:255 G:0 B:255 A:255. + + + Gets a system-defined color with the value R:128 G:0 B:0 A:255. + + + Gets a system-defined color with the value R:102 G:205 B:170 A:255. + + + Gets a system-defined color with the value R:0 G:0 B:205 A:255. + + + Gets a system-defined color with the value R:186 G:85 B:211 A:255. + + + Gets a system-defined color with the value R:147 G:112 B:219 A:255. + + + Gets a system-defined color with the value R:60 G:179 B:113 A:255. + + + Gets a system-defined color with the value R:123 G:104 B:238 A:255. + + + Gets a system-defined color with the value R:0 G:250 B:154 A:255. + + + Gets a system-defined color with the value R:72 G:209 B:204 A:255. + + + Gets a system-defined color with the value R:199 G:21 B:133 A:255. + + + Pack a four-component color from a vector format into the format of a color object. + A four-component color. + + + Gets a system-defined color with the value R:25 G:25 B:112 A:255. + + + Gets a system-defined color with the value R:245 G:255 B:250 A:255. + + + Gets a system-defined color with the value R:255 G:228 B:225 A:255. + + + Gets a system-defined color with the value R:255 G:228 B:181 A:255. + + + Multiply each color component by the scale factor. + The source, four-component color. + The scale factor. + + + Gets a system-defined color with the value R:255 G:222 B:173 A:255. + + + Gets a system-defined color R:0 G:0 B:128 A:255. + + + Gets a system-defined color with the value R:253 G:245 B:230 A:255. + + + Gets a system-defined color with the value R:128 G:128 B:0 A:255. + + + Gets a system-defined color with the value R:107 G:142 B:35 A:255. + + + Equality operator. + A four-component color. + A four-component color. + + + Equality operator for Testing two color objects to see if they are equal. + A four-component color. + A four-component color. + + + Multiply operator. + A four-component color + Scale factor. + + + Gets a system-defined color with the value R:255 G:165 B:0 A:255. + + + Gets a system-defined color with the value R:255 G:69 B:0 A:255. + + + Gets a system-defined color with the value R:218 G:112 B:214 A:255. + + + Gets the current color as a packed value. + + + Gets a system-defined color with the value R:238 G:232 B:170 A:255. + + + Gets a system-defined color with the value R:152 G:251 B:152 A:255. + + + Gets a system-defined color with the value R:175 G:238 B:238 A:255. + + + Gets a system-defined color with the value R:219 G:112 B:147 A:255. + + + Gets a system-defined color with the value R:255 G:239 B:213 A:255. + + + Gets a system-defined color with the value R:255 G:218 B:185 A:255. + + + Gets a system-defined color with the value R:205 G:133 B:63 A:255. + + + Gets a system-defined color with the value R:255 G:192 B:203 A:255. + + + Gets a system-defined color with the value R:221 G:160 B:221 A:255. + + + Gets a system-defined color with the value R:176 G:224 B:230 A:255. + + + Gets a system-defined color with the value R:128 G:0 B:128 A:255. + + + Gets or sets the red component value of this Color. + + + Gets a system-defined color with the value R:255 G:0 B:0 A:255. + + + Gets a system-defined color with the value R:188 G:143 B:143 A:255. + + + Gets a system-defined color with the value R:65 G:105 B:225 A:255. + + + Gets a system-defined color with the value R:139 G:69 B:19 A:255. + + + Gets a system-defined color with the value R:250 G:128 B:114 A:255. + + + Gets a system-defined color with the value R:244 G:164 B:96 A:255. + + + Gets a system-defined color with the value R:46 G:139 B:87 A:255. + + + Gets a system-defined color with the value R:255 G:245 B:238 A:255. + + + Gets a system-defined color with the value R:160 G:82 B:45 A:255. + + + Gets a system-defined color with the value R:192 G:192 B:192 A:255. + + + Gets a system-defined color with the value R:135 G:206 B:235 A:255. + + + Gets a system-defined color with the value R:106 G:90 B:205 A:255. + + + Gets a system-defined color with the value R:112 G:128 B:144 A:255. + + + Gets a system-defined color with the value R:255 G:250 B:250 A:255. + + + Gets a system-defined color with the value R:0 G:255 B:127 A:255. + + + Gets a system-defined color with the value R:70 G:130 B:180 A:255. + + + Gets a system-defined color with the value R:210 G:180 B:140 A:255. + + + Gets a system-defined color with the value R:0 G:128 B:128 A:255. + + + Gets a system-defined color with the value R:216 G:191 B:216 A:255. + + + Gets a system-defined color with the value R:255 G:99 B:71 A:255. + + + Gets a string representation of this object. + + + Gets a three-component vector representation for this object. + + + Gets a four-component vector representation for this object. + + + Gets a system-defined color with the value R:0 G:0 B:0 A:0. + + + Gets a system-defined color with the value R:64 G:224 B:208 A:255. + + + Gets a system-defined color with the value R:238 G:130 B:238 A:255. + + + Gets a system-defined color with the value R:245 G:222 B:179 A:255. + + + Gets a system-defined color with the value R:255 G:255 B:255 A:255. + + + Gets a system-defined color with the value R:245 G:245 B:245 A:255. + + + Gets a system-defined color with the value R:255 G:255 B:0 A:255. + + + Gets a system-defined color with the value R:154 G:205 B:50 A:255. + + + Indicates the extent to which bounding volumes intersect or contain one another. + + + Indicates that one bounding volume completely contains the other. + + + Indicates there is no overlap between the bounding volumes. + + + Indicates that the bounding volumes partially overlap. + + + Stores an arbitrary collection of 2D CurveKey points, and provides methods for evaluating features of the curve they define. + + + Initializes a new instance of Curve. + + + Creates a copy of the Curve. + + + Computes both the TangentIn and the TangentOut for a CurveKey specified by its index. + The index of the CurveKey for which to compute tangents (in the Keys collection of the Curve). + The type of tangents to compute (one of the types specified in the CurveTangent enumeration). + + + Computes a specified type of TangentIn and a specified type of TangentOut for a given CurveKey. + The index of the CurveKey for which to compute tangents (in the Keys collection of the Curve). + The type of TangentIn to compute (one of the types specified in the CurveTangent enumeration). + The type of TangentOut to compute (one of the types specified in the CurveTangent enumeration). + + + Computes all tangents for all CurveKeys in this Curve, using a specified tangent type for both TangentIn and TangentOut. + The type of TangentOut and TangentIn to compute (one of the types specified in the CurveTangent enumeration). + + + Computes all tangents for all CurveKeys in this Curve, using different tangent types for TangentOut and TangentIn. + The type of TangentIn to compute (one of the types specified in the CurveTangent enumeration). + The type of TangentOut to compute (one of the types specified in the CurveTangent enumeration). + + + Finds the value at a position on the Curve. + The position on the Curve. + + + Gets a value indicating whether the curve is constant. + + + The points that make up the curve. + + + Specifies how to handle weighting values that are greater than the last control point in the curve. + + + Specifies how to handle weighting values that are less than the first control point in the curve. + + + Defines the continuity of CurveKeys on a Curve. + + + Interpolation can be used between this CurveKey and the next. + + + Interpolation cannot be used between this CurveKey and the next. Specifying a position between the two points returns this point. + + + Represents a point in a multi-point curve. + + + Initializes a new instance of CurveKey. + Position in the curve. + Value of the control point. + + + Initializes a new instance of CurveKey. + Position in the curve. + Value of the control point. + Tangent approaching point from the previous point in the curve. + Tangent leaving point toward next point in the curve. + + + Initializes a new instance of CurveKey. + Position in the curve. + Value of the control point. + Tangent approaching point from the previous point in the curve. + Tangent leaving point toward next point in the curve. + Enum indicating whether the curve is discrete or continuous. + + + Creates a copy of the CurveKey. + + + Compares this instance to another CurveKey and returns an indication of their relative values. + CurveKey to compare to. + + + Describes whether the segment between this point and the next point in the curve is discrete or continuous. + + + Determines whether the specified Object is equal to the CurveKey. + The Object to compare with the current CurveKey. + + + Returns a value that indicates whether the current instance is equal to a specified object. + Object with which to make the comparison. + + + Returns the hash code for this instance. + + + Determines whether two CurveKey instances are equal. + CurveKey on the left of the equal sign. + CurveKey on the right of the equal sign. + + + Determines whether two CurveKey instances are not equal. + CurveKey on the left of the equal sign. + CurveKey on the right of the equal sign. + + + Position of the CurveKey in the curve. + + + Describes the tangent when approaching this point from the previous point in the curve. + + + Describes the tangent when leaving this point to the next point in the curve. + + + Describes the value of this point. + + + Contains the CurveKeys making up a Curve. + + + Initializes a new instance of CurveKeyCollection. + + + Adds a CurveKey to the CurveKeyCollection. + The CurveKey to add. + + + Removes all CurveKeys from the CurveKeyCollection. + + + Creates a copy of the CurveKeyCollection. + + + Determines whether the CurveKeyCollection contains a specific CurveKey. + true if the CurveKey is found in the CurveKeyCollection; false otherwise. + + + Copies the CurveKeys of the CurveKeyCollection to an array, starting at the array index provided. + The destination of the CurveKeys copied from CurveKeyCollection. The array must have zero-based indexing. + The zero-based index in the array to start copying from. + + + Gets the number of elements contained in the CurveKeyCollection. + + + Returns an enumerator that iterates through the CurveKeyCollection. + + + Determines the index of a CurveKey in the CurveKeyCollection. + CurveKey to locate in the CurveKeyCollection. + + + Returns a value indicating whether the CurveKeyCollection is read-only. + + + Gets or sets the element at the specified index. + The array index of the element. + + + Removes the first occurrence of a specific CurveKey from the CurveKeyCollection. + The CurveKey to remove from the CurveKeyCollection. + + + Removes the CurveKey at the specified index. + The zero-based index of the item to remove. + + + Returns an enumerator that iterates through the CurveKeyCollection. + + + Defines how the value of a Curve will be determined for positions before the first point on the Curve or after the last point on the Curve. + + + The Curve will evaluate to its first key for positions before the first point in the Curve and to the last key for positions after the last point. + + + Positions specified past the ends of the curve will wrap around to the opposite side of the Curve. + + + Positions specified past the ends of the curve will wrap around to the opposite side of the Curve. The value will be offset by the difference between the values of the first and last CurveKey multiplied by the number of times the position wraps around. If the position is before the first point in the Curve, the difference will be subtracted from its value; otherwise, the difference will be added. + + + Linear interpolation will be performed to determine the value. + + + Positions specified past the ends of the Curve act as an offset from the same side of the Curve toward the opposite side. + + + Specifies different tangent types to be calculated for CurveKey points in a Curve. + + + A Flat tangent always has a value equal to zero. + + + A Linear tangent at a CurveKey is equal to the difference between its Value and the Value of the preceding or succeeding CurveKey. For example, in Curve MyCurve, where i is greater than zero and (i + 1) is less than the total number of CurveKeys in MyCurve, the linear TangentIn of MyCurve.Keys[i] is equal to: ( MyCurve.Keys[i].Value - MyCurve.Keys[i - 1].Value ) Similarly, the linear TangentOut is equal to: ( MyCurve.Keys[i + 1].Value - MyCurve.Keys[i].Value.) + + + A Smooth tangent smooths the inflection between a TangentIn and TangentOut by taking into account the values of both neighbors of the CurveKey. The smooth TangentIn of MyCurve.Keys[i] is equal to: ( ( MyCurve.Keys[i + 1].Value - MyCurve.Keys[i - 1].Value ) * ( ( MyCurve.Keys[i].Position - MyCurve.Keys[i - 1].Position ) / ( MyCurve.Keys[i + 1].Position - MyCurve.Keys[i-1].Position ) ) ) Similarly, the smooth TangentOut is equal to: ( ( MyCurve.Keys[i + 1].Value - MyCurve.Keys[i - 1].Value ) * ( ( MyCurve.Keys[i + 1].Position - MyCurve.Keys[i].Position ) / ( MyCurve.Keys[i + 1].Position - MyCurve.Keys[i - 1].Position ) ) ) + + + Defines the display orientation. + + + The default display orientation. + + + The display is rotated counterclockwise 90 degrees into a landscape orientation, where the width is greater than the height. + + + The display is rotated clockwise 90 degrees into a landscape orientation, where the width is greater than the height. + + + The orientation is a portrait, where the height is greater than the width. + + + Processes XNA Framework event messages. + + + Updates the status of various framework components (such as power state and media), and raises related events. + + + Contains commonly used precalculated values. + + + Returns the Cartesian coordinate for one axis of a point that is defined by a given triangle and two normalized barycentric (areal) coordinates. + The coordinate on one axis of vertex 1 of the defining triangle. + The coordinate on the same axis of vertex 2 of the defining triangle. + The coordinate on the same axis of vertex 3 of the defining triangle. + The normalized barycentric (areal) coordinate b2, equal to the weighting factor for vertex 2, the coordinate of which is specified in value2. + The normalized barycentric (areal) coordinate b3, equal to the weighting factor for vertex 3, the coordinate of which is specified in value3. + + + Performs a Catmull-Rom interpolation using the specified positions. + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + + + Restricts a value to be within a specified range. Reference page contains links to related code samples. + The value to clamp. + The minimum value. If value is less than min, min will be returned. + The maximum value. If value is greater than max, max will be returned. + + + Calculates the absolute value of the difference of two values. + Source value. + Source value. + + + Represents the mathematical constant e. + + + Performs a Hermite spline interpolation. + Source position. + Source tangent. + Source position. + Source tangent. + Weighting factor. + + + Linearly interpolates between two values. + Source value. + Source value. + Value between 0 and 1 indicating the weight of value2. + + + Represents the log base ten of e. + + + Represents the log base two of e. + + + Returns the greater of two values. + Source value. + Source value. + + + Returns the lesser of two values. + Source value. + Source value. + + + Represents the value of pi. + + + Represents the value of pi divided by two. + + + Represents the value of pi divided by four. + + + Interpolates between two values using a cubic equation. + Source value. + Source value. + Weighting value. + + + Converts radians to degrees. + The angle in radians. + + + Converts degrees to radians. + The angle in degrees. + + + Represents the value of pi times two. + + + Reduces a given angle to a value between π and -π. + The angle to reduce, in radians. + + + Defines a matrix. + + + Initializes a new instance of Matrix. + Value to initialize m11 to. + Value to initialize m12 to. + Value to initialize m13 to. + Value to initialize m14 to. + Value to initialize m21 to. + Value to initialize m22 to. + Value to initialize m23 to. + Value to initialize m24 to. + Value to initialize m31 to. + Value to initialize m32 to. + Value to initialize m33 to. + Value to initialize m34 to. + Value to initialize m41 to. + Value to initialize m42 to. + Value to initialize m43 to. + Value to initialize m44 to. + + + Adds a matrix to another matrix. + Source matrix. + Source matrix. + + + Adds a matrix to another matrix. + Source matrix. + Source matrix. + [OutAttribute] Resulting matrix. + + + Gets and sets the backward vector of the Matrix. + + + Creates a spherical billboard that rotates around a specified object position. + Position of the object the billboard will rotate around. + Position of the camera. + The up vector of the camera. + Optional forward vector of the camera. + + + Creates a spherical billboard that rotates around a specified object position. + Position of the object the billboard will rotate around. + Position of the camera. + The up vector of the camera. + Optional forward vector of the camera. + [OutAttribute] The created billboard matrix. + + + Creates a cylindrical billboard that rotates around a specified axis. + Position of the object the billboard will rotate around. + Position of the camera. + Axis to rotate the billboard around. + Optional forward vector of the camera. + Optional forward vector of the object. + + + Creates a cylindrical billboard that rotates around a specified axis. + Position of the object the billboard will rotate around. + Position of the camera. + Axis to rotate the billboard around. + Optional forward vector of the camera. + Optional forward vector of the object. + [OutAttribute] The created billboard matrix. + + + Creates a new Matrix that rotates around an arbitrary vector. + The axis to rotate around. + The angle to rotate around the vector. + + + Creates a new Matrix that rotates around an arbitrary vector. + The axis to rotate around. + The angle to rotate around the vector. + [OutAttribute] The created Matrix. + + + Creates a rotation Matrix from a Quaternion. + Quaternion to create the Matrix from. + + + Creates a rotation Matrix from a Quaternion. + Quaternion to create the Matrix from. + [OutAttribute] The created Matrix. + + + Creates a new rotation matrix from a specified yaw, pitch, and roll. + Angle of rotation, in radians, around the y-axis. + Angle of rotation, in radians, around the x-axis. + Angle of rotation, in radians, around the z-axis. + + + Fills in a rotation matrix from a specified yaw, pitch, and roll. + Angle of rotation, in radians, around the y-axis. + Angle of rotation, in radians, around the x-axis. + Angle of rotation, in radians, around the z-axis. + [OutAttribute] An existing matrix filled in to represent the specified yaw, pitch, and roll. + + + Creates a view matrix. + The position of the camera. + The target towards which the camera is pointing. + The direction that is "up" from the camera's point of view. + + + Creates a view matrix. + The position of the camera. + The target towards which the camera is pointing. + The direction that is "up" from the camera's point of view. + [OutAttribute] The created view matrix. + + + Builds an orthogonal projection matrix. + Width of the view volume. + Height of the view volume. + Minimum z-value of the view volume. + Maximum z-value of the view volume. + + + Builds an orthogonal projection matrix. + Width of the view volume. + Height of the view volume. + Minimum z-value of the view volume. + Maximum z-value of the view volume. + [OutAttribute] The projection matrix. + + + Builds a customized, orthogonal projection matrix. + Minimum x-value of the view volume. + Maximum x-value of the view volume. + Minimum y-value of the view volume. + Maximum y-value of the view volume. + Minimum z-value of the view volume. + Maximum z-value of the view volume. + + + Builds a customized, orthogonal projection matrix. + Minimum x-value of the view volume. + Maximum x-value of the view volume. + Minimum y-value of the view volume. + Maximum y-value of the view volume. + Minimum z-value of the view volume. + Maximum z-value of the view volume. + [OutAttribute] The projection matrix. + + + Builds a perspective projection matrix and returns the result by value. + Width of the view volume at the near view plane. + Height of the view volume at the near view plane. + Distance to the near view plane. + Distance to the far view plane. + + + Builds a perspective projection matrix and returns the result by reference. + Width of the view volume at the near view plane. + Height of the view volume at the near view plane. + Distance to the near view plane. + Distance to the far view plane. + [OutAttribute] The projection matrix. + + + Builds a perspective projection matrix based on a field of view and returns by value. + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. To match the aspect ratio of the viewport, the property AspectRatio. + Distance to the near view plane. + Distance to the far view plane. + + + Builds a perspective projection matrix based on a field of view and returns by reference. + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. To match the aspect ratio of the viewport, the property AspectRatio. + Distance to the near view plane. + Distance to the far view plane. + [OutAttribute] The perspective projection matrix. + + + Builds a customized, perspective projection matrix. + Minimum x-value of the view volume at the near view plane. + Maximum x-value of the view volume at the near view plane. + Minimum y-value of the view volume at the near view plane. + Maximum y-value of the view volume at the near view plane. + Distance to the near view plane. + Distance to of the far view plane. + + + Builds a customized, perspective projection matrix. + Minimum x-value of the view volume at the near view plane. + Maximum x-value of the view volume at the near view plane. + Minimum y-value of the view volume at the near view plane. + Maximum y-value of the view volume at the near view plane. + Distance to the near view plane. + Distance to of the far view plane. + [OutAttribute] The created projection matrix. + + + Creates a Matrix that reflects the coordinate system about a specified Plane. + The Plane about which to create a reflection. + + + Fills in an existing Matrix so that it reflects the coordinate system about a specified Plane. + The Plane about which to create a reflection. + [OutAttribute] A Matrix that creates the reflection. + + + Returns a matrix that can be used to rotate a set of vertices around the x-axis. + The amount, in radians, in which to rotate around the x-axis. Note that you can use ToRadians to convert degrees to radians. + + + Populates data into a user-specified matrix that can be used to rotate a set of vertices around the x-axis. + The amount, in radians, in which to rotate around the x-axis. Note that you can use ToRadians to convert degrees to radians. + [OutAttribute] The matrix in which to place the calculated data. + + + Returns a matrix that can be used to rotate a set of vertices around the y-axis. + The amount, in radians, in which to rotate around the y-axis. Note that you can use ToRadians to convert degrees to radians. + + + Populates data into a user-specified matrix that can be used to rotate a set of vertices around the y-axis. + The amount, in radians, in which to rotate around the y-axis. Note that you can use ToRadians to convert degrees to radians. + [OutAttribute] The matrix in which to place the calculated data. + + + Returns a matrix that can be used to rotate a set of vertices around the z-axis. + The amount, in radians, in which to rotate around the z-axis. Note that you can use ToRadians to convert degrees to radians. + + + Populates data into a user-specified matrix that can be used to rotate a set of vertices around the z-axis. + The amount, in radians, in which to rotate around the z-axis. Note that you can use ToRadians to convert degrees to radians. + [OutAttribute] The rotation matrix. + + + Creates a scaling Matrix. + Amounts to scale by on the x, y, and z axes. + + + Creates a scaling Matrix. + Amounts to scale by on the x, y, and z axes. + [OutAttribute] The created scaling Matrix. + + + Creates a scaling Matrix. + Amount to scale by. + + + Creates a scaling Matrix. + Value to scale by. + [OutAttribute] The created scaling Matrix. + + + Creates a scaling Matrix. + Value to scale by on the x-axis. + Value to scale by on the y-axis. + Value to scale by on the z-axis. + + + Creates a scaling Matrix. + Value to scale by on the x-axis. + Value to scale by on the y-axis. + Value to scale by on the z-axis. + [OutAttribute] The created scaling Matrix. + + + Creates a Matrix that flattens geometry into a specified Plane as if casting a shadow from a specified light source. + A Vector3 specifying the direction from which the light that will cast the shadow is coming. + The Plane onto which the new matrix should flatten geometry so as to cast a shadow. + + + Fills in a Matrix to flatten geometry into a specified Plane as if casting a shadow from a specified light source. + A Vector3 specifying the direction from which the light that will cast the shadow is coming. + The Plane onto which the new matrix should flatten geometry so as to cast a shadow. + [OutAttribute] A Matrix that can be used to flatten geometry onto the specified plane from the specified direction. + + + Creates a translation Matrix. + Amounts to translate by on the x, y, and z axes. + + + Creates a translation Matrix. + Amounts to translate by on the x, y, and z axes. + [OutAttribute] The created translation Matrix. + + + Creates a translation Matrix. + Value to translate by on the x-axis. + Value to translate by on the y-axis. + Value to translate by on the z-axis. + + + Creates a translation Matrix. + Value to translate by on the x-axis. + Value to translate by on the y-axis. + Value to translate by on the z-axis. + [OutAttribute] The created translation Matrix. + + + Creates a world matrix with the specified parameters. + Position of the object. This value is used in translation operations. + Forward direction of the object. + Upward direction of the object; usually [0, 1, 0]. + + + Creates a world matrix with the specified parameters. + Position of the object. This value is used in translation operations. + Forward direction of the object. + Upward direction of the object; usually [0, 1, 0]. + [OutAttribute] The created world matrix. + + + Extracts the scalar, translation, and rotation components from a 3D scale/rotate/translate (SRT) Matrix. Reference page contains code sample. + [OutAttribute] The scalar component of the transform matrix, expressed as a Vector3. + [OutAttribute] The rotation component of the transform matrix, expressed as a Quaternion. + [OutAttribute] The translation component of the transform matrix, expressed as a Vector3. + + + Calculates the determinant of the matrix. + + + Divides the components of a matrix by the corresponding components of another matrix. + Source matrix. + The divisor. + + + Divides the components of a matrix by a scalar. + Source matrix. + The divisor. + + + Divides the components of a matrix by the corresponding components of another matrix. + Source matrix. + The divisor. + [OutAttribute] Result of the division. + + + Divides the components of a matrix by a scalar. + Source matrix. + The divisor. + [OutAttribute] Result of the division. + + + Gets and sets the down vector of the Matrix. + + + Determines whether the specified Object is equal to the Matrix. + The Object to compare with the current Matrix. + + + Returns a value that indicates whether the current instance is equal to a specified object. + Object with which to make the comparison. + + + Gets and sets the forward vector of the Matrix. + + + Gets the hash code of this object. + + + Returns an instance of the identity matrix. + + + Calculates the inverse of a matrix. + Source matrix. + + + Calculates the inverse of a matrix. + The source matrix. + [OutAttribute] The inverse of matrix. The same matrix can be used for both arguments. + + + Gets and sets the left vector of the Matrix. + + + Linearly interpolates between the corresponding values of two matrices. + Source matrix. + Source matrix. + Interpolation value. + + + Linearly interpolates between the corresponding values of two matrices. + Source matrix. + Source matrix. + Interpolation value. + [OutAttribute] Resulting matrix. + + + Value at row 1 column 1 of the matrix. + + + Value at row 1 column 2 of the matrix. + + + Value at row 1 column 3 of the matrix. + + + Value at row 1 column 4 of the matrix. + + + Value at row 2 column 1 of the matrix. + + + Value at row 2 column 2 of the matrix. + + + Value at row 2 column 3 of the matrix. + + + Value at row 2 column 4 of the matrix. + + + Value at row 3 column 1 of the matrix. + + + Value at row 3 column 2 of the matrix. + + + Value at row 3 column 3 of the matrix. + + + Value at row 3 column 4 of the matrix. + + + Value at row 4 column 1 of the matrix. + + + Value at row 4 column 2 of the matrix. + + + Value at row 4 column 3 of the matrix. + + + Value at row 4 column 4 of the matrix. + + + Multiplies a matrix by another matrix. + Source matrix. + Source matrix. + + + Multiplies a matrix by a scalar value. + Source matrix. + Scalar value. + + + Multiplies a matrix by another matrix. + Source matrix. + Source matrix. + [OutAttribute] Result of the multiplication. + + + Multiplies a matrix by a scalar value. + Source matrix. + Scalar value. + [OutAttribute] The result of the multiplication. + + + Negates individual elements of a matrix. + Source matrix. + + + Negates individual elements of a matrix. + Source matrix. + [OutAttribute] Negated matrix. + + + Adds a matrix to another matrix. + Source matrix. + Source matrix. + + + Divides the components of a matrix by the corresponding components of another matrix. + Source matrix. + The divisor. + + + Divides the components of a matrix by a scalar. + Source matrix. + The divisor. + + + Compares a matrix for equality with another matrix. + Source matrix. + Source matrix. + + + Tests a matrix for inequality with another matrix. + The matrix on the left of the equal sign. + The matrix on the right of the equal sign. + + + Multiplies a matrix by another matrix. + Source matrix. + Source matrix. + + + Multiplies a matrix by a scalar value. + Source matrix. + Scalar value. + + + Multiplies a matrix by a scalar value. + Scalar value. + Source matrix. + + + Subtracts matrices. + Source matrix. + Source matrix. + + + Negates individual elements of a matrix. + Source matrix. + + + Gets and sets the right vector of the Matrix. + + + Subtracts matrices. + Source matrix. + Source matrix. + + + Subtracts matrices. + Source matrix. + Source matrix. + [OutAttribute] Result of the subtraction. + + + Retrieves a string representation of the current object. + + + Transforms a Matrix by applying a Quaternion rotation. + The Matrix to transform. + The rotation to apply, expressed as a Quaternion. + + + Transforms a Matrix by applying a Quaternion rotation. + The Matrix to transform. + The rotation to apply, expressed as a Quaternion. + [OutAttribute] An existing Matrix filled in with the result of the transform. + + + Gets and sets the translation vector of the Matrix. + + + Transposes the rows and columns of a matrix. + Source matrix. + + + Transposes the rows and columns of a matrix. + Source matrix. + [OutAttribute] Transposed matrix. + + + Gets and sets the up vector of the Matrix. + + + Defines a plane. + + + Creates a new instance of Plane. + One point of a triangle defining the Plane. + One point of a triangle defining the Plane. + One point of a triangle defining the Plane. + + + Creates a new instance of Plane. + The normal vector to the Plane. + The Plane's distance along its normal from the origin. + + + Creates a new instance of Plane. + Vector4 with X, Y, and Z components defining the normal of the Plane. The W component defines the distance of the Plane along the normal from the origin. + + + Creates a new instance of Plane. + X component of the normal defining the Plane. + Y component of the normal defining the Plane. + Z component of the normal defining the Plane. + Distance of the Plane along its normal from the origin. + + + The distance of the Plane along its normal from the origin. + + + Calculates the dot product of a specified Vector4 and this Plane. + The Vector4 to multiply this Plane by. + + + Calculates the dot product of a specified Vector4 and this Plane. + The Vector4 to multiply this Plane by. + [OutAttribute] The dot product of the specified Vector4 and this Plane. + + + Returns the dot product of a specified Vector3 and the Normal vector of this Plane plus the distance (D) value of the Plane. + The Vector3 to multiply by. + + + Returns the dot product of a specified Vector3 and the Normal vector of this Plane plus the distance (D) value of the Plane. + The Vector3 to multiply by. + [OutAttribute] The resulting value. + + + Returns the dot product of a specified Vector3 and the Normal vector of this Plane. + The Vector3 to multiply by. + + + Returns the dot product of a specified Vector3 and the Normal vector of this Plane. + The Vector3 to multiply by. + [OutAttribute] The resulting dot product. + + + Determines whether the specified Plane is equal to the Plane. + The Plane to compare with the current Plane. + + + Determines whether the specified Object is equal to the Plane. + The Object to compare with the current Plane. + + + Gets the hash code for this object. + + + Checks whether the current Plane intersects a specified BoundingBox. + The BoundingBox to test for intersection with. + + + Checks whether the current Plane intersects a BoundingBox. + The BoundingBox to check for intersection with. + [OutAttribute] An enumeration indicating whether the Plane intersects the BoundingBox. + + + Checks whether the current Plane intersects a specified BoundingFrustum. + The BoundingFrustum to check for intersection with. + + + Checks whether the current Plane intersects a specified BoundingSphere. + The BoundingSphere to check for intersection with. + + + Checks whether the current Plane intersects a BoundingSphere. + The BoundingSphere to check for intersection with. + [OutAttribute] An enumeration indicating whether the Plane intersects the BoundingSphere. + + + The normal vector of the Plane. + + + Changes the coefficients of the Normal vector of this Plane to make it of unit length. + + + Changes the coefficients of the Normal vector of a Plane to make it of unit length. + The Plane to normalize. + + + Changes the coefficients of the Normal vector of a Plane to make it of unit length. + The Plane to normalize. + [OutAttribute] An existing plane Plane filled in with a normalized version of the specified plane. + + + Determines whether two instances of Plane are equal. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Determines whether two instances of Plane are not equal. + The object to the left of the inequality operator. + The object to the right of the inequality operator. + + + Returns a String that represents the current Plane. + + + Transforms a normalized Plane by a Matrix. + The normalized Plane to transform. This Plane must already be normalized, so that its Normal vector is of unit length, before this method is called. + The transform Matrix to apply to the Plane. + + + Transforms a normalized Plane by a Quaternion rotation. + The normalized Plane to transform. This Plane must already be normalized, so that its Normal vector is of unit length, before this method is called. + The Quaternion rotation to apply to the Plane. + + + Transforms a normalized Plane by a Matrix. + The normalized Plane to transform. This Plane must already be normalized, so that its Normal vector is of unit length, before this method is called. + The transform Matrix to apply to the Plane. + [OutAttribute] An existing Plane filled in with the results of applying the transform. + + + Transforms a normalized Plane by a Quaternion rotation. + The normalized Plane to transform. This Plane must already be normalized, so that its Normal vector is of unit length, before this method is called. + The Quaternion rotation to apply to the Plane. + [OutAttribute] An existing Plane filled in with the results of applying the rotation. + + + Describes the intersection between a plane and a bounding volume. + + + There is no intersection, and the bounding volume is in the negative half-space of the Plane. + + + There is no intersection, and the bounding volume is in the positive half-space of the Plane. + + + The Plane is intersected. + + + Specifies the game controller associated with a player. + + + The fourth controller. + + + The first controller. + + + The third controller. + + + The second controller. + + + Defines a point in 2D space. + + + Initializes a new instance of Point. + The x-coordinate of the Point. + The y-coordinate of the Point. + + + Determines whether two Point instances are equal. + The Point to compare this instance to. + + + Determines whether two Point instances are equal. + The object to compare this instance to. + + + Gets the hash code for this object. + + + Determines whether two Point instances are equal. + Point on the left side of the equal sign. + Point on the right side of the equal sign. + + + Determines whether two Point instances are not equal. + The Point on the left side of the equal sign. + The Point on the right side of the equal sign. + + + Returns a String that represents the current Point. + + + Specifies the x-coordinate of the Point. + + + Specifies the y-coordinate of the Point. + + + Returns the point (0,0). + + + Defines a four-dimensional vector (x,y,z,w), which is used to efficiently rotate an object about the (x, y, z) vector by the angle theta, where w = cos(theta/2). + + + Initializes a new instance of Quaternion. + The vector component of the quaternion. + The rotation component of the quaternion. + + + Initializes a new instance of Quaternion. + The x-value of the quaternion. + The y-value of the quaternion. + The z-value of the quaternion. + The w-value of the quaternion. + + + Adds two Quaternions. + Quaternion to add. + Quaternion to add. + + + Adds two Quaternions. + Quaternion to add. + Quaternion to add. + [OutAttribute] Result of adding the Quaternions. + + + Concatenates two Quaternions; the result represents the value1 rotation followed by the value2 rotation. + The first Quaternion rotation in the series. + The second Quaternion rotation in the series. + + + Concatenates two Quaternions; the result represents the value1 rotation followed by the value2 rotation. + The first Quaternion rotation in the series. + The second Quaternion rotation in the series. + [OutAttribute] The Quaternion rotation representing the concatenation of value1 followed by value2. + + + Transforms this Quaternion into its conjugate. + + + Returns the conjugate of a specified Quaternion. + The Quaternion of which to return the conjugate. + + + Returns the conjugate of a specified Quaternion. + The Quaternion of which to return the conjugate. + [OutAttribute] An existing Quaternion filled in to be the conjugate of the specified one. + + + Creates a Quaternion from a vector and an angle to rotate about the vector. + The vector to rotate around. + The angle to rotate around the vector. + + + Creates a Quaternion from a vector and an angle to rotate about the vector. + The vector to rotate around. + The angle to rotate around the vector. + [OutAttribute] The created Quaternion. + + + Creates a Quaternion from a rotation Matrix. + The rotation Matrix to create the Quaternion from. + + + Creates a Quaternion from a rotation Matrix. + The rotation Matrix to create the Quaternion from. + [OutAttribute] The created Quaternion. + + + Creates a new Quaternion from specified yaw, pitch, and roll angles. + The yaw angle, in radians, around the y-axis. + The pitch angle, in radians, around the x-axis. + The roll angle, in radians, around the z-axis. + + + Creates a new Quaternion from specified yaw, pitch, and roll angles. + The yaw angle, in radians, around the y-axis. + The pitch angle, in radians, around the x-axis. + The roll angle, in radians, around the z-axis. + [OutAttribute] An existing Quaternion filled in to express the specified yaw, pitch, and roll angles. + + + Divides a Quaternion by another Quaternion. + Source Quaternion. + The divisor. + + + Divides a Quaternion by another Quaternion. + Source Quaternion. + The divisor. + [OutAttribute] Result of the division. + + + Calculates the dot product of two Quaternions. + Source Quaternion. + Source Quaternion. + + + Calculates the dot product of two Quaternions. + Source Quaternion. + Source Quaternion. + [OutAttribute] Dot product of the Quaternions. + + + Determines whether the specified Object is equal to the Quaternion. + The Quaternion to compare with the current Quaternion. + + + Returns a value that indicates whether the current instance is equal to a specified object. + Object to make the comparison with. + + + Get the hash code of this object. + + + Returns a Quaternion representing no rotation. + + + Returns the inverse of a Quaternion. + Source Quaternion. + + + Returns the inverse of a Quaternion. + Source Quaternion. + [OutAttribute] The inverse of the Quaternion. + + + Calculates the length of a Quaternion. + + + Calculates the length squared of a Quaternion. + + + Linearly interpolates between two quaternions. + Source quaternion. + Source quaternion. + Value indicating how far to interpolate between the quaternions. + + + Linearly interpolates between two quaternions. + Source quaternion. + Source quaternion. + Value indicating how far to interpolate between the quaternions. + [OutAttribute] The resulting quaternion. + + + Multiplies two quaternions. + The quaternion on the left of the multiplication. + The quaternion on the right of the multiplication. + + + Multiplies a quaternion by a scalar value. + Source quaternion. + Scalar value. + + + Multiplies two quaternions. + The quaternion on the left of the multiplication. + The quaternion on the right of the multiplication. + [OutAttribute] The result of the multiplication. + + + Multiplies a quaternion by a scalar value. + Source quaternion. + Scalar value. + [OutAttribute] The result of the multiplication. + + + Flips the sign of each component of the quaternion. + Source quaternion. + + + Flips the sign of each component of the quaternion. + Source quaternion. + [OutAttribute] Negated quaternion. + + + Divides each component of the quaternion by the length of the quaternion. + + + Divides each component of the quaternion by the length of the quaternion. + Source quaternion. + + + Divides each component of the quaternion by the length of the quaternion. + Source quaternion. + [OutAttribute] Normalized quaternion. + + + Adds two Quaternions. + Quaternion to add. + Quaternion to add. + + + Divides a Quaternion by another Quaternion. + Source Quaternion. + The divisor. + + + Compares two Quaternions for equality. + Source Quaternion. + Source Quaternion. + + + Compare two Quaternions for inequality. + Source Quaternion. + Source Quaternion. + + + Multiplies two quaternions. + Source quaternion. + Source quaternion. + + + Multiplies a quaternion by a scalar value. + Source quaternion. + Scalar value. + + + Subtracts a quaternion from another quaternion. + Source quaternion. + Source quaternion. + + + Flips the sign of each component of the quaternion. + Source quaternion. + + + Interpolates between two quaternions, using spherical linear interpolation. + Source quaternion. + Source quaternion. + Value that indicates how far to interpolate between the quaternions. + + + Interpolates between two quaternions, using spherical linear interpolation. + Source quaternion. + Source quaternion. + Value that indicates how far to interpolate between the quaternions. + [OutAttribute] Result of the interpolation. + + + Subtracts a quaternion from another quaternion. + Source quaternion. + Source quaternion. + + + Subtracts a quaternion from another quaternion. + Source quaternion. + Source quaternion. + [OutAttribute] Result of the subtraction. + + + Retireves a string representation of the current object. + + + Specifies the rotation component of the quaternion. + + + Specifies the x-value of the vector component of the quaternion. + + + Specifies the y-value of the vector component of the quaternion. + + + Specifies the z-value of the vector component of the quaternion. + + + Defines a ray. + + + Creates a new instance of Ray. + The starting point of the Ray. + Unit vector describing the direction of the Ray. + + + Unit vector specifying the direction the Ray is pointing. + + + Determines whether the specified Ray is equal to the current Ray. + The Ray to compare with the current Ray. + + + Determines whether two instances of Ray are equal. + The Object to compare with the current Ray. + + + Gets the hash code for this instance. + + + Checks whether the Ray intersects a specified BoundingBox. + The BoundingBox to check for intersection with the Ray. + + + Checks whether the current Ray intersects a BoundingBox. + The BoundingBox to check for intersection with. + [OutAttribute] Distance at which the ray intersects the BoundingBox or null if there is no intersection. + + + Checks whether the Ray intersects a specified BoundingFrustum. + The BoundingFrustum to check for intersection with the Ray. + + + Checks whether the Ray intersects a specified BoundingSphere. + The BoundingSphere to check for intersection with the Ray. + + + Checks whether the current Ray intersects a BoundingSphere. + The BoundingSphere to check for intersection with. + [OutAttribute] Distance at which the ray intersects the BoundingSphere or null if there is no intersection. + + + Determines whether this Ray intersects a specified Plane. + The Plane with which to calculate this Ray's intersection. + + + Determines whether this Ray intersects a specified Plane. + The Plane with which to calculate this Ray's intersection. + [OutAttribute] The distance at which this Ray intersects the specified Plane, or null if there is no intersection. + + + Determines whether two instances of Ray are equal. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Determines whether two instances of Ray are not equal. + The object to the left of the inequality operator. + The object to the right of the inequality operator. + + + Specifies the starting point of the Ray. + + + Returns a String that represents the current Ray. + + + Defines a rectangle. + + + Initializes a new instance of Rectangle. + The x-coordinate of the rectangle. + The y-coordinate of the rectangle. + Width of the rectangle. + Height of the rectangle. + + + Returns the y-coordinate of the bottom of the rectangle. + + + Gets the Point that specifies the center of the rectangle. + + + Determines whether this Rectangle contains a specified Point. + The Point to evaluate. + + + Determines whether this Rectangle contains a specified Point. + The Point to evaluate. + [OutAttribute] true if the specified Point is contained within this Rectangle; false otherwise. + + + Determines whether this Rectangle entirely contains a specified Rectangle. + The Rectangle to evaluate. + + + Determines whether this Rectangle entirely contains a specified Rectangle. + The Rectangle to evaluate. + [OutAttribute] On exit, is true if this Rectangle entirely contains the specified Rectangle, or false if not. + + + Determines whether this Rectangle contains a specified point represented by its x- and y-coordinates. + The x-coordinate of the specified point. + The y-coordinate of the specified point. + + + Returns a Rectangle with all of its values set to zero. + + + Determines whether the specified Object is equal to the Rectangle. + The Object to compare with the current Rectangle. + + + Returns a value that indicates whether the current instance is equal to a specified object. + Object to make the comparison with. + + + Gets the hash code for this object. + + + Specifies the height of the rectangle. + + + Pushes the edges of the Rectangle out by the horizontal and vertical values specified. + Value to push the sides out by. + Value to push the top and bottom out by. + + + Creates a Rectangle defining the area where one rectangle overlaps with another rectangle. + The first Rectangle to compare. + The second Rectangle to compare. + + + Creates a Rectangle defining the area where one rectangle overlaps with another rectangle. + The first Rectangle to compare. + The second Rectangle to compare. + [OutAttribute] The area where the two first parameters overlap. + + + Determines whether a specified Rectangle intersects with this Rectangle. + The Rectangle to evaluate. + + + Determines whether a specified Rectangle intersects with this Rectangle. + The Rectangle to evaluate + [OutAttribute] true if the specified Rectangle intersects with this one; false otherwise. + + + Gets a value that indicates whether the Rectangle is empty. + + + Returns the x-coordinate of the left side of the rectangle. + + + Gets or sets the upper-left value of the Rectangle. + + + Changes the position of the Rectangle. + The values to adjust the position of the Rectangle by. + + + Changes the position of the Rectangle. + Change in the x-position. + Change in the y-position. + + + Compares two rectangles for equality. + Source rectangle. + Source rectangle. + + + Compares two rectangles for inequality. + Source rectangle. + Source rectangle. + + + Returns the x-coordinate of the right side of the rectangle. + + + Returns the y-coordinate of the top of the rectangle. + + + Retrieves a string representation of the current object. + + + Creates a new Rectangle that exactly contains two other rectangles. + The first Rectangle to contain. + The second Rectangle to contain. + + + Creates a new Rectangle that exactly contains two other rectangles. + The first Rectangle to contain. + The second Rectangle to contain. + [OutAttribute] The Rectangle that must be the union of the first two rectangles. + + + Specifies the width of the rectangle. + + + Specifies the x-coordinate of the rectangle. + + + Specifies the y-coordinate of the rectangle. + + + Provides file stream access to the title's default storage location. + + + Returns a stream to an existing file in the default title storage location. + The name of the file to open. + + + Defines a vector with two components. + + + Creates a new instance of Vector2. + Value to initialize both components to. + + + Initializes a new instance of Vector2. + Initial value for the x-component of the vector. + Initial value for the y-component of the vector. + + + Adds two vectors. + Source vector. + Source vector. + + + Adds two vectors. + Source vector. + Source vector. + [OutAttribute] Sum of the source vectors. + + + Returns a Vector2 containing the 2D Cartesian coordinates of a point specified in barycentric (areal) coordinates relative to a 2D triangle. + A Vector2 containing the 2D Cartesian coordinates of vertex 1 of the triangle. + A Vector2 containing the 2D Cartesian coordinates of vertex 2 of the triangle. + A Vector2 containing the 2D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in value2). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in value3). + + + Returns a Vector2 containing the 2D Cartesian coordinates of a point specified in barycentric (areal) coordinates relative to a 2D triangle. + A Vector2 containing the 2D Cartesian coordinates of vertex 1 of the triangle. + A Vector2 containing the 2D Cartesian coordinates of vertex 2 of the triangle. + A Vector2 containing the 2D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in value2). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in value3). + [OutAttribute] The 2D Cartesian coordinates of the specified point are placed in this Vector2 on exit. + + + Performs a Catmull-Rom interpolation using the specified positions. + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + + + Performs a Catmull-Rom interpolation using the specified positions. + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + [OutAttribute] A vector that is the result of the Catmull-Rom interpolation. + + + Restricts a value to be within a specified range. + The value to clamp. + The minimum value. + The maximum value. + + + Restricts a value to be within a specified range. + The value to clamp. + The minimum value. + The maximum value. + [OutAttribute] The clamped value. + + + Calculates the distance between two vectors. + Source vector. + Source vector. + + + Calculates the distance between two vectors. + Source vector. + Source vector. + [OutAttribute] The distance between the vectors. + + + Calculates the distance between two vectors squared. + Source vector. + Source vector. + + + Calculates the distance between two vectors squared. + Source vector. + Source vector. + [OutAttribute] The distance between the vectors squared. + + + Divides the components of a vector by the components of another vector. + Source vector. + Divisor vector. + + + Divides a vector by a scalar value. + Source vector. + The divisor. + + + Divides the components of a vector by the components of another vector. + Source vector. + The divisor. + [OutAttribute] The result of the division. + + + Divides a vector by a scalar value. + Source vector. + The divisor. + [OutAttribute] The result of the division. + + + Calculates the dot product of two vectors. If the two vectors are unit vectors, the dot product returns a floating point value between -1 and 1 that can be used to determine some properties of the angle between two vectors. For example, it can show whether the vectors are orthogonal, parallel, or have an acute or obtuse angle between them. + Source vector. + Source vector. + + + Calculates the dot product of two vectors and writes the result to a user-specified variable. If the two vectors are unit vectors, the dot product returns a floating point value between -1 and 1 that can be used to determine some properties of the angle between two vectors. For example, it can show whether the vectors are orthogonal, parallel, or have an acute or obtuse angle between them. + Source vector. + Source vector. + [OutAttribute] The dot product of the two vectors. + + + Determines whether the specified Object is equal to the Vector2. + The Object to compare with the current Vector2. + + + Returns a value that indicates whether the current instance is equal to a specified object. + Object to make the comparison with. + + + Gets the hash code of the vector object. + + + Performs a Hermite spline interpolation. + Source position vector. + Source tangent vector. + Source position vector. + Source tangent vector. + Weighting factor. + + + Performs a Hermite spline interpolation. + Source position vector. + Source tangent vector. + Source position vector. + Source tangent vector. + Weighting factor. + [OutAttribute] The result of the Hermite spline interpolation. + + + Calculates the length of the vector. + + + Calculates the length of the vector squared. + + + Performs a linear interpolation between two vectors. + Source vector. + Source vector. + Value between 0 and 1 indicating the weight of value2. + + + Performs a linear interpolation between two vectors. + Source vector. + Source vector. + Value between 0 and 1 indicating the weight of value2. + [OutAttribute] The result of the interpolation. + + + Returns a vector that contains the highest value from each matching pair of components. + Source vector. + Source vector. + + + Returns a vector that contains the highest value from each matching pair of components. + Source vector. + Source vector. + [OutAttribute] The maximized vector. + + + Returns a vector that contains the lowest value from each matching pair of components. + Source vector. + Source vector. + + + Returns a vector that contains the lowest value from each matching pair of components. + Source vector. + Source vector. + [OutAttribute] The minimized vector. + + + Multiplies the components of two vectors by each other. + Source vector. + Source vector. + + + Multiplies a vector by a scalar value. + Source vector. + Scalar value. + + + Multiplies the components of two vectors by each other. + Source vector. + Source vector. + [OutAttribute] The result of the multiplication. + + + Multiplies a vector by a scalar value. + Source vector. + Scalar value. + [OutAttribute] The result of the multiplication. + + + Returns a vector pointing in the opposite direction. + Source vector. + + + Returns a vector pointing in the opposite direction. + Source vector. + [OutAttribute] Vector pointing in the opposite direction. + + + Turns the current vector into a unit vector. The result is a vector one unit in length pointing in the same direction as the original vector. + + + Creates a unit vector from the specified vector. The result is a vector one unit in length pointing in the same direction as the original vector. + Source Vector2. + + + Creates a unit vector from the specified vector, writing the result to a user-specified variable. The result is a vector one unit in length pointing in the same direction as the original vector. + Source vector. + [OutAttribute] Normalized vector. + + + Returns a Vector2 with both of its components set to one. + + + Adds two vectors. + Source vector. + Source vector. + + + Divides the components of a vector by the components of another vector. + Source vector. + Divisor vector. + + + Divides a vector by a scalar value. + Source vector. + The divisor. + + + Tests vectors for equality. + Source vector. + Source vector. + + + Tests vectors for inequality. + Vector to compare. + Vector to compare. + + + Multiplies the components of two vectors by each other. + Source vector. + Source vector. + + + Multiplies a vector by a scalar value. + Source vector. + Scalar value. + + + Multiplies a vector by a scalar value. + Scalar value. + Source vector. + + + Subtracts a vector from a vector. + Source vector. + source vector. + + + Returns a vector pointing in the opposite direction. + Source vector. + + + Determines the reflect vector of the given vector and normal. + Source vector. + Normal of vector. + + + Determines the reflect vector of the given vector and normal. + Source vector. + Normal of vector. + [OutAttribute] The created reflect vector. + + + Interpolates between two values using a cubic equation. + Source value. + Source value. + Weighting value. + + + Interpolates between two values using a cubic equation. + Source value. + Source value. + Weighting value. + [OutAttribute] The interpolated value. + + + Subtracts a vector from a vector. + Source vector. + Source vector. + + + Subtracts a vector from a vector. + Source vector. + Source vector. + [OutAttribute] The result of the subtraction. + + + Retrieves a string representation of the current object. + + + Transforms the vector (x, y, 0, 1) by the specified matrix. + The source vector. + The transformation matrix. + + + Transforms a single Vector2, or the vector normal (x, y, 0, 0), by a specified Quaternion rotation. + The vector to rotate. + The Quaternion rotation to apply. + + + Transforms a Vector2 by the given Matrix. + The source Vector2. + The transformation Matrix. + [OutAttribute] The Vector2 resulting from the transformation. + + + Transforms a Vector2, or the vector normal (x, y, 0, 0), by a specified Quaternion rotation. + The vector to rotate. + The Quaternion rotation to apply. + [OutAttribute] An existing Vector2 filled in with the result of the rotation. + + + Transforms an array of Vector2s by a specified Matrix. + The array of Vector2s to transform. + The transform Matrix to apply. + An existing array into which the transformed Vector2s are written. + + + Transforms an array of Vector2s by a specified Quaternion. + The array of Vector2s to transform. + The transform Matrix to use. + An existing array into which the transformed Vector2s are written. + + + Transforms a specified range in an array of Vector2s by a specified Matrix and places the results in a specified range in a destination array. + The source array. + The index of the first Vector2 to transform in the source array. + The Matrix to transform by. + The destination array into which the resulting Vector2s will be written. + The index of the position in the destination array where the first result Vector2 should be written. + The number of Vector2s to be transformed. + + + Transforms a specified range in an array of Vector2s by a specified Quaternion and places the results in a specified range in a destination array. + The source array. + The index of the first Vector2 to transform in the source array. + The Quaternion rotation to apply. + The destination array into which the resulting Vector2s are written. + The index of the position in the destination array where the first result Vector2 should be written. + The number of Vector2s to be transformed. + + + Transforms a 2D vector normal by a matrix. + The source vector. + The transformation matrix. + + + Transforms a vector normal by a matrix. + The source vector. + The transformation matrix. + [OutAttribute] The Vector2 resulting from the transformation. + + + Transforms an array of Vector2 vector normals by a specified Matrix. + The array of vector normals to transform. + The transform Matrix to apply. + An existing array into which the transformed vector normals are written. + + + Transforms a specified range in an array of Vector2 vector normals by a specified Matrix and places the results in a specified range in a destination array. + The source array. + The index of the first Vector2 to transform in the source array. + The Matrix to apply. + The destination array into which the resulting Vector2s are written. + The index of the position in the destination array where the first result Vector2 should be written. + The number of vector normals to be transformed. + + + Returns the unit vector for the x-axis. + + + Returns the unit vector for the y-axis. + + + Gets or sets the x-component of the vector. + + + Gets or sets the y-component of the vector. + + + Returns a Vector2 with all of its components set to zero. + + + Defines a vector with three components. + + + Initializes a new instance of Vector3. + A vector containing the values to initialize x and y components with. + Initial value for the z-component of the vector. + + + Creates a new instance of Vector3. + Value to initialize each component to. + + + Initializes a new instance of Vector3. + Initial value for the x-component of the vector. + Initial value for the y-component of the vector. + Initial value for the z-component of the vector. + + + Adds two vectors. + Source vector. + Source vector. + + + Adds two vectors. + Source vector. + Source vector. + [OutAttribute] Sum of the source vectors. + + + Returns a unit Vector3 designating backward in a right-handed coordinate system (0, 0, 1). + + + Returns a Vector3 containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle. + A Vector3 containing the 3D Cartesian coordinates of vertex 1 of the triangle. + A Vector3 containing the 3D Cartesian coordinates of vertex 2 of the triangle. + A Vector3 containing the 3D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in value2). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in value3). + + + Returns a Vector3 containing the 3D Cartesian coordinates of a point specified in barycentric (areal) coordinates relative to a 3D triangle. + A Vector3 containing the 3D Cartesian coordinates of vertex 1 of the triangle. + A Vector3 containing the 3D Cartesian coordinates of vertex 2 of the triangle. + A Vector3 containing the 3D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in value2). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in value3). + [OutAttribute] The 3D Cartesian coordinates of the specified point are placed in this Vector3 on exit. + + + Performs a Catmull-Rom interpolation using the specified positions. + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + + + Performs a Catmull-Rom interpolation using the specified positions. + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + [OutAttribute] A vector that is the result of the Catmull-Rom interpolation. + + + Restricts a value to be within a specified range. + The value to clamp. + The minimum value. + The maximum value. + + + Restricts a value to be within a specified range. + The value to clamp. + The minimum value. + The maximum value. + [OutAttribute] The clamped value. + + + Calculates the cross product of two vectors. + Source vector. + Source vector. + + + Calculates the cross product of two vectors. + Source vector. + Source vector. + [OutAttribute] The cross product of the vectors. + + + Calculates the distance between two vectors. + Source vector. + Source vector. + + + Calculates the distance between two vectors. + Source vector. + Source vector. + [OutAttribute] The distance between the vectors. + + + Calculates the distance between two vectors squared. + Source vector. + Source vector. + + + Calculates the distance between two vectors squared. + Source vector. + Source vector. + [OutAttribute] The distance between the two vectors squared. + + + Divides the components of a vector by the components of another vector. + Source vector. + Divisor vector. + + + Divides a vector by a scalar value. + Source vector. + The divisor. + + + Divides the components of a vector by the components of another vector. + Source vector. + The divisor. + [OutAttribute] The result of the division. + + + Divides a vector by a scalar value. + Source vector. + The divisor. + [OutAttribute] The result of the division. + + + Calculates the dot product of two vectors. If the two vectors are unit vectors, the dot product returns a floating point value between -1 and 1 that can be used to determine some properties of the angle between two vectors. For example, it can show whether the vectors are orthogonal, parallel, or have an acute or obtuse angle between them. + Source vector. + Source vector. + + + Calculates the dot product of two vectors and writes the result to a user-specified variable. If the two vectors are unit vectors, the dot product returns a floating point value between -1 and 1 that can be used to determine some properties of the angle between two vectors. For example, it can show whether the vectors are orthogonal, parallel, or have an acute or obtuse angle between them. + Source vector. + Source vector. + [OutAttribute] The dot product of the two vectors. + + + Returns a unit Vector3 designating down (0, −1, 0). + + + Determines whether the specified Object is equal to the Vector3. + The Vector3 to compare with the current Vector3. + + + Returns a value that indicates whether the current instance is equal to a specified object. + Object to make the comparison with. + + + Returns a unit Vector3 designating forward in a right-handed coordinate system(0, 0, −1). + + + Gets the hash code of the vector object. + + + Performs a Hermite spline interpolation. + Source position vector. + Source tangent vector. + Source position vector. + Source tangent vector. + Weighting factor. + + + Performs a Hermite spline interpolation. + Source position vector. + Source tangent vector. + Source position vector. + Source tangent vector. + Weighting factor. + [OutAttribute] The result of the Hermite spline interpolation. + + + Returns a unit Vector3 designating left (−1, 0, 0). + + + Calculates the length of the vector. + + + Calculates the length of the vector squared. + + + Performs a linear interpolation between two vectors. + Source vector. + Source vector. + Value between 0 and 1 indicating the weight of value2. + + + Performs a linear interpolation between two vectors. + Source vector. + Source vector. + Value between 0 and 1 indicating the weight of value2. + [OutAttribute] The result of the interpolation. + + + Returns a vector that contains the highest value from each matching pair of components. + Source vector. + Source vector. + + + Returns a vector that contains the highest value from each matching pair of components. + Source vector. + Source vector. + [OutAttribute] The maximized vector. + + + Returns a vector that contains the lowest value from each matching pair of components. + Source vector. + Source vector. + + + Returns a vector that contains the lowest value from each matching pair of components. + Source vector. + Source vector. + [OutAttribute] The minimized vector. + + + Multiplies the components of two vectors by each other. + Source vector. + Source vector. + + + Multiplies a vector by a scalar value. + Source vector. + Scalar value. + + + Multiplies the components of two vectors by each other. + Source vector. + Source vector. + [OutAttribute] The result of the multiplication. + + + Multiplies a vector by a scalar value. + Source vector. + Scalar value. + [OutAttribute] The result of the multiplication. + + + Returns a vector pointing in the opposite direction. + Source vector. + + + Returns a vector pointing in the opposite direction. + Source vector. + [OutAttribute] Vector pointing in the opposite direction. + + + Turns the current vector into a unit vector. The result is a vector one unit in length pointing in the same direction as the original vector. + + + Creates a unit vector from the specified vector. The result is a vector one unit in length pointing in the same direction as the original vector. + The source Vector3. + + + Creates a unit vector from the specified vector, writing the result to a user-specified variable. The result is a vector one unit in length pointing in the same direction as the original vector. + Source vector. + [OutAttribute] The normalized vector. + + + Returns a Vector3 with ones in all of its components. + + + Adds two vectors. + Source vector. + Source vector. + + + Divides the components of a vector by the components of another vector. + Source vector. + Divisor vector. + + + Divides a vector by a scalar value. + Source vector. + The divisor. + + + Tests vectors for equality. + Source vector. + Source vector. + + + Tests vectors for inequality. + Vector to compare. + Vector to compare. + + + Multiplies the components of two vectors by each other. + Source vector. + Source vector. + + + Multiplies a vector by a scalar value. + Source vector. + Scalar value. + + + Multiplies a vector by a scalar value. + Scalar value. + Source vector. + + + Subtracts a vector from a vector. + Source vector. + Source vector. + + + Returns a vector pointing in the opposite direction. + Source vector. + + + Returns the reflection of a vector off a surface that has the specified normal. Reference page contains code sample. + Source vector. + Normal of the surface. + + + Returns the reflection of a vector off a surface that has the specified normal. Reference page contains code sample. + Source vector. + Normal of the surface. + [OutAttribute] The reflected vector. + + + Returns a unit Vector3 pointing to the right (1, 0, 0). + + + Interpolates between two values using a cubic equation. + Source value. + Source value. + Weighting value. + + + Interpolates between two values using a cubic equation. + Source vector. + Source vector. + Weighting value. + [OutAttribute] The interpolated value. + + + Subtracts a vector from a vector. + Source vector. + Source vector. + + + Subtracts a vector from a vector. + Source vector. + Source vector. + [OutAttribute] The result of the subtraction. + + + Retrieves a string representation of the current object. + + + Transforms a 3D vector by the given matrix. + The source vector. + The transformation matrix. + + + Transforms a Vector3 by a specified Quaternion rotation. + The Vector3 to rotate. + The Quaternion rotation to apply. + + + Transforms a Vector3 by the given Matrix. + The source Vector3. + The transformation Matrix. + [OutAttribute] The transformed vector. + + + Transforms a Vector3 by a specified Quaternion rotation. + The Vector3 to rotate. + The Quaternion rotation to apply. + [OutAttribute] An existing Vector3 filled in with the results of the rotation. + + + Transforms a source array of Vector3s by a specified Matrix and writes the results to an existing destination array. + The source array. + The transform Matrix to apply. + An existing destination array into which the transformed Vector3s are written. + + + Transforms a source array of Vector3s by a specified Quaternion rotation and writes the results to an existing destination array. + The source array. + The Quaternion rotation to apply. + An existing destination array into which the transformed Vector3s are written. + + + Applies a specified transform Matrix to a specified range of an array of Vector3s and writes the results into a specified range of a destination array. + The source array. + The index in the source array at which to start. + The transform Matrix to apply. + The existing destination array. + The index in the destination array at which to start. + The number of Vector3s to transform. + + + Applies a specified Quaternion rotation to a specified range of an array of Vector3s and writes the results into a specified range of a destination array. + The source array. + The index in the source array at which to start. + The Quaternion rotation to apply. + The existing destination array. + The index in the destination array at which to start. + The number of Vector3s to transform. + + + Transforms a 3D vector normal by a matrix. + The source vector. + The transformation matrix. + + + Transforms a vector normal by a matrix. + The source vector. + The transformation Matrix. + [OutAttribute] The Vector3 resulting from the transformation. + + + Transforms an array of 3D vector normals by a specified Matrix. + The array of Vector3 normals to transform. + The transform matrix to apply. + An existing Vector3 array into which the results of the transforms are written. + + + Transforms a specified range in an array of 3D vector normals by a specified Matrix and writes the results to a specified range in a destination array. + The source array of Vector3 normals. + The starting index in the source array. + The transform Matrix to apply. + The destination Vector3 array. + The starting index in the destination array. + The number of vectors to transform. + + + Returns the x unit Vector3 (1, 0, 0). + + + Returns the y unit Vector3 (0, 1, 0). + + + Returns the z unit Vector3 (0, 0, 1). + + + Returns a unit vector designating up (0, 1, 0). + + + Gets or sets the x-component of the vector. + + + Gets or sets the y-component of the vector. + + + Gets or sets the z-component of the vector. + + + Returns a Vector3 with all of its components set to zero. + + + Defines a vector with four components. + + + Initializes a new instance of Vector4. + A vector containing the values to initialize x and y components with. + Initial value for the z-component of the vector. + Initial value for the w-component of the vector. + + + Initializes a new instance of Vector4. + A vector containing the values to initialize x, y, and z components with. + Initial value for the w-component of the vector. + + + Creates a new instance of Vector4. + Value to initialize each component to. + + + Initializes a new instance of Vector4. + Initial value for the x-component of the vector. + Initial value for the y-component of the vector. + Initial value for the z-component of the vector. + Initial value for the w-component of the vector. + + + Adds two vectors. + Source vector. + Source vector. + + + Adds two vectors. + Source vector. + Source vector. + [OutAttribute] Sum of the source vectors. + + + Returns a Vector4 containing the 4D Cartesian coordinates of a point specified in barycentric (areal) coordinates relative to a 4D triangle. + A Vector4 containing the 4D Cartesian coordinates of vertex 1 of the triangle. + A Vector4 containing the 4D Cartesian coordinates of vertex 2 of the triangle. + A Vector4 containing the 4D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in value2). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in value3). + + + Returns a Vector4 containing the 4D Cartesian coordinates of a point specified in Barycentric (areal) coordinates relative to a 4D triangle. + A Vector4 containing the 4D Cartesian coordinates of vertex 1 of the triangle. + A Vector4 containing the 4D Cartesian coordinates of vertex 2 of the triangle. + A Vector4 containing the 4D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in value2). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in value3). + [OutAttribute] The 4D Cartesian coordinates of the specified point are placed in this Vector4 on exit. + + + Performs a Catmull-Rom interpolation using the specified positions. + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + + + Performs a Catmull-Rom interpolation using the specified positions. + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + [OutAttribute] A vector that is the result of the Catmull-Rom interpolation. + + + Restricts a value to be within a specified range. + The value to clamp. + The minimum value. + The maximum value. + + + Restricts a value to be within a specified range. + The value to clamp. + The minimum value. + The maximum value. + [OutAttribute] The clamped value. + + + Calculates the distance between two vectors. + Source vector. + Source vector. + + + Calculates the distance between two vectors. + Source vector. + Source vector. + [OutAttribute] The distance between the vectors. + + + Calculates the distance between two vectors squared. + Source vector. + Source vector. + + + Calculates the distance between two vectors squared. + Source vector. + Source vector. + [OutAttribute] The distance between the two vectors squared. + + + Divides the components of a vector by the components of another vector. + Source vector. + Divisor vector. + + + Divides a vector by a scalar value. + Source vector. + The divisor. + + + Divides the components of a vector by the components of another vector. + Source vector. + The divisor. + [OutAttribute] The result of the division. + + + Divides a vector by a scalar value. + Source vector. + The divisor. + [OutAttribute] The result of the division. + + + Calculates the dot product of two vectors. + Source vector. + Source vector. + + + Calculates the dot product of two vectors. + Source vector. + Source vector. + [OutAttribute] The dot product of the two vectors. + + + Determines whether the specified Object is equal to the Vector4. + The Vector4 to compare with the current Vector4. + + + Returns a value that indicates whether the current instance is equal to a specified object. + Object with which to make the comparison. + + + Gets the hash code of this object. + + + Performs a Hermite spline interpolation. + Source position vector. + Source tangent vector. + Source position vector. + Source tangent vector. + Weighting factor. + + + Performs a Hermite spline interpolation. + Source position vector. + Source tangent vector. + Source position vector. + Source tangent vector. + Weighting factor. + [OutAttribute] The result of the Hermite spline interpolation. + + + Calculates the length of the vector. + + + Calculates the length of the vector squared. + + + Performs a linear interpolation between two vectors. + Source vector. + Source vector. + Value between 0 and 1 indicating the weight of value2. + + + Performs a linear interpolation between two vectors. + Source vector. + Source vector. + Value between 0 and 1 indicating the weight of value2. + [OutAttribute] The result of the interpolation. + + + Returns a vector that contains the highest value from each matching pair of components. + Source vector. + Source vector. + + + Returns a vector that contains the highest value from each matching pair of components. + Source vector. + Source vector. + [OutAttribute] The maximized vector. + + + Returns a vector that contains the lowest value from each matching pair of components. + Source vector. + Source vector. + + + Returns a vector that contains the lowest value from each matching pair of components. + Source vector. + Source vector. + [OutAttribute] The minimized vector. + + + Multiplies the components of two vectors by each other. + Source vector. + Source vector. + + + Multiplies a vector by a scalar. + Source vector. + Scalar value. + + + Multiplies the components of two vectors by each other. + Source vector. + Source vector. + [OutAttribute] The result of the multiplication. + + + Multiplies a vector by a scalar value. + Source vector. + Scalar value. + [OutAttribute] The result of the multiplication. + + + Returns a vector pointing in the opposite direction. + Source vector. + + + Returns a vector pointing in the opposite direction. + Source vector. + [OutAttribute] Vector pointing in the opposite direction. + + + Turns the current vector into a unit vector. + + + Creates a unit vector from the specified vector. + The source Vector4. + + + Returns a normalized version of the specified vector. + Source vector. + [OutAttribute] The normalized vector. + + + Returns a Vector4 with all of its components set to one. + + + Adds two vectors. + Source vector. + Source vector. + + + Divides the components of a vector by the components of another vector. + Source vector. + Divisor vector. + + + Divides a vector by a scalar value. + Source vector. + The divisor. + + + Tests vectors for equality. + Source vector. + Source vector. + + + Tests vectors for inequality. + Vector to compare. + Vector to compare. + + + Multiplies the components of two vectors by each other. + Source vector. + Source vector. + + + Multiplies a vector by a scalar. + Source vector. + Scalar value. + + + Multiplies a vector by a scalar. + Scalar value. + Source vector. + + + Subtracts a vector from a vector. + Source vector. + Source vector. + + + Returns a vector pointing in the opposite direction. + Source vector. + + + Interpolates between two values using a cubic equation. + Source value. + Source value. + Weighting value. + + + Interpolates between two values using a cubic equation. + Source vector. + Source vector. + Weighting factor. + [OutAttribute] The interpolated value. + + + Subtracts a vector from a vector. + Source vector. + Source vector. + + + Subtracts a vector from a vector. + Source vector. + Source vector. + [OutAttribute] The result of the subtraction. + + + Retrieves a string representation of the current object. + + + Transforms a Vector2 by the given Matrix. + The source Vector2. + The transformation Matrix. + + + Transforms a Vector2 by a specified Quaternion into a Vector4. + The Vector2 to transform. + The Quaternion rotation to apply. + + + Transforms a Vector2 by the given Matrix. + The source Vector2. + The transformation Matrix. + [OutAttribute] The Vector4 resulting from the transformation. + + + Transforms a Vector2 by a specified Quaternion into a Vector4. + The Vector2 to transform. + The Quaternion rotation to apply. + [OutAttribute] The Vector4 resulting from the transformation. + + + Transforms a Vector3 by the given Matrix. + The source Vector3. + The transformation Matrix. + + + Transforms a Vector3 by a specified Quaternion into a Vector4. + The Vector3 to transform. + The Quaternion rotation to apply. + + + Transforms a Vector3 by the given Matrix. + The source Vector3. + The transformation Matrix. + [OutAttribute] The Vector4 resulting from the transformation. + + + Transforms a Vector3 by a specified Quaternion into a Vector4. + The Vector3 to transform. + The Quaternion rotation to apply. + [OutAttribute] The Vector4 resulting from the transformation. + + + Transforms a Vector4 by the specified Matrix. + The source Vector4. + The transformation Matrix. + + + Transforms a Vector4 by a specified Quaternion. + The Vector4 to transform. + The Quaternion rotation to apply. + + + Transforms a Vector4 by the given Matrix. + The source Vector4. + The transformation Matrix. + [OutAttribute] The Vector4 resulting from the transformation. + + + Transforms a Vector4 by a specified Quaternion. + The Vector4 to transform. + The Quaternion rotation to apply. + [OutAttribute] The Vector4 resulting from the transformation. + + + Transforms an array of Vector4s by a specified Matrix. + The array of Vector4s to transform. + The transform Matrix to apply. + The existing destination array into which the transformed Vector4s are written. + + + Transforms an array of Vector4s by a specified Quaternion. + The array of Vector4s to transform. + The Quaternion rotation to apply. + The existing destination array into which the transformed Vector4s are written. + + + Transforms a specified range in an array of Vector4s by a specified Matrix into a specified range in a destination array. + The array of Vector4s containing the range to transform. + The index in the source array of the first Vector4 to transform. + The transform Matrix to apply. + The existing destination array of Vector4s into which to write the results. + The index in the destination array of the first result Vector4 to write. + The number of Vector4s to transform. + + + Transforms a specified range in an array of Vector4s by a specified Quaternion into a specified range in a destination array. + The array of Vector4s containing the range to transform. + The index in the source array of the first Vector4 to transform. + The Quaternion rotation to apply. + The existing destination array of Vector4s into which to write the results. + The index in the destination array of the first result Vector4 to write. + The number of Vector4s to transform. + + + Returns the Vector4 (0, 0, 0, 1). + + + Returns the Vector4 (1, 0, 0, 0). + + + Returns the Vector4 (0, 1, 0, 0). + + + Returns the Vector4 (0, 0, 1, 0). + + + Gets or sets the w-component of the vector. + + + Gets or sets the x-component of the vector. + + + Gets or sets the y-component of the vector. + + + Gets or sets the z-component of the vector. + + + Returns a Vector4 with all of its components set to zero. + + + Defines the number of channels in the audio data. + + + Indicates audio data is contained in one channel. + + + Indicates audio data contains two channels. + + + Reference page contains links to related code samples. + + + Initializes a new instance of this class. + + + Gets or sets a scalar applied to the level of Doppler effect calculated between this and any AudioListener. + + + Gets or sets the forward orientation vector for this emitter. + + + Gets or sets the position of this emitter. Reference page contains links to related code samples. + + + Gets or sets the upward orientation vector for this emitter. + + + Gets or sets the velocity vector of this emitter. + + + Reference page contains links to related code samples. + + + Initializes a new instance of this class. + + + Gets or sets the forward orientation vector for this listener. + + + Gets or sets the position of this listener. Reference page contains links to related code samples. + + + Gets or sets the upward orientation vector for this listener. + + + Gets or sets the velocity vector of this listener. + + + Provides properties, methods, and events for play back of the audio buffer. + + + Initializes a new instance of this class, which creates a dynamic sound effect based on the specified sample rate and audio channel. + Sample rate, in Hertz (Hz), of audio content. + Number of channels in the audio data. + + + Event that occurs when the number of audio capture buffers awaiting playback is less than or equal to two. + + + + Returns the sample duration based on the specified size of the audio buffer. + Size, in bytes, of the audio data. + + + Returns the size of the audio buffer required to contain audio samples based on the specified duration. + TimeSpan object that contains the duration of the audio sample. + + + Indicates whether the audio playback of the DynamicSoundEffectInstance object is looped. + + + Returns the number of audio buffers in the queue awaiting playback. + + + Begins or resumes audio playback. + + + Submits an audio buffer for playback. Playback starts at the beginning, and the buffer is played in its entirety. Reference page contains links to related conceptual articles. + Buffer that contains the audio data. The audio format must be PCM wave data. + + + Submits an audio buffer for playback. Playback begins at the specifed offset, and the byte count determines the size of the sample played. Reference page contains links to related conceptual articles. + Buffer that contains the audio data. The audio format must be PCM wave data. + Offset, in bytes, to the starting position of the data. + Amount, in bytes, of data sent. + + + The exception that is thrown when there is an attempt to play more than the platform specific maximum SoundEffectInstance sounds concurrently. Reference page contains links to related conceptual articles. + + + Initializes a new instance of the InstancePlayLimitException class. + + + Initializes a new instance of the InstancePlayLimitException class with a specified error message. + A String that describes the error. The content of message is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. + + + Initializes a new instance of the InstancePlayLimitException class with a specified error message and a reference to the inner exception that is the cause of this exception. + Error message that explains the reason for the exception. + Exception that is the cause of the current exception. If innerException is not null, the current exception is raised in a catch block that handles the inner exception. + + + Provides properties, methods, and fields and events for capturing audio data with microphones. + + + Returns the collection of all currently-available microphones. + + + Gets or sets audio capture buffer duration of the microphone. + + + Event that occurs when the audio capture buffer is ready to processed. + + + + Returns the default attached microphone. + + + Gets the latest recorded data from the microphone based on the audio capture buffer. Reference page contains links to related conceptual articles. + Buffer, in bytes, containing the captured audio data. The audio format must be PCM wave data. + + + Gets the latest captured audio data from the microphone based on the specified offset and byte count. Reference page contains links to related conceptual articles. + Buffer, in bytes, containing the captured audio data. The audio format must be PCM wave data. + Offset, in bytes, to the starting position of the data. + Amount, in bytes, of desired audio data. + + + Returns the duration of audio playback based on the size of the buffer. + Size, in bytes, of the audio data. + + + Returns the size of the byte array required to hold the specified duration of audio for this microphone object. + TimeSpan object that contains the duration of the audio sample. + + + Determines if the microphone is a wired headset or a Bluetooth device. + + + Returns the friendly name of the microphone. + + + Returns the sample rate at which the microphone is capturing audio data. + + + Starts microphone audio capture. + + + Returns the recording state of the Microphone object. + + + Stops microphone audio capture. + + + Current state of the Microphone audio capture (started or stopped). + + + The Microphone audio capture has started. + + + The Microphone audio capture has stopped. + + + The exception that is thrown when no audio hardware is present, or when audio hardware is installed, but the device drivers for the audio hardware are not present or enabled. + + + Initializes a new instance of this class. + + + Initializes a new instance of this class with a specified error message. + A message that describes the error. + + + Initializes a new instance of this class with a specified error message and a reference to the inner exception that is the cause of this exception. + A message that describes the error. + The exception that is the cause of the current exception. If the inner parameter is not a null reference, the current exception is raised in a catch block that handles the inner exception. + + + The exception that is thrown when Microphone API calls are made on a disconnected microphone. + + + Initializes a new instance of the NoMicrophoneConnectedException class. + + + Initializes a new instance of the NoMicrophoneConnectedException class with a specified error message. + A String that describes the error. The content of message is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. + + + Initializes a new instance of the NoMicrophoneConnectedException class with a specified error message and a reference to the inner exception that is the cause of this exception. + A String that describes the error. The content of message is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. + Exception that is the cause of the current exception. If innerException is not null, the current exception is raised in a catch block that handles the inner exception. + + + Reference page contains links to related code samples. + + + Initializes a new instance of SoundEffect based on an audio buffer, sample rate, and number of audio channels. Reference page contains links to related conceptual articles. + Buffer that contains the audio data. The audio format must be PCM wave data. + Sample rate, in Hertz (Hz), of audio data. + Number of channels (mono or stereo) of audio data. + + + Initializes a new instance of SoundEffect with specified parameters such as audio sample rate, channels, looping criteria, and a buffer to hold the audio. Reference page contains links to related conceptual articles. + Buffer that contains the audio data. The audio format must be PCM wave data. + Offset, in bytes, to the starting position of the audio data. + Amount, in bytes, of audio data. + Sample rate, in Hertz (Hz), of audio data. + Number of channels (mono or stereo) of audio data. + Loop start in samples. + Loop length in samples. + + + Creates a new SoundEffectInstance for this SoundEffect. Reference page contains links to related code samples. + + + Releases the resources used by the SoundEffect. + + + Gets or sets a value that adjusts the effect of distance calculations on the sound (emitter). + + + Gets or sets a value that adjusts the effect of doppler calculations on the sound (emitter). + + + Gets the duration of the SoundEffect. + + + Creates a SoundEffect object based on the specified data stream. + Stream object that contains the data for this SoundEffect object. + + + Returns the sample duration based on the specified sample size and sample rate. + Size, in bytes, of audio data. + Sample rate, in Hertz (Hz), of audio content. The sampleRate must be between 8000 Hz and 48000 Hz. + Number of channels in the audio data. + + + Returns the size of the audio sample based on duration, sample rate, and audio channels. + TimeSpan object that contains the sample duration. + Sample rate, in Hertz (Hz), of audio content. The sampleRate parameter must be between 8,000 Hz and 48,000 Hz. + Number of channels in the audio data. + + + Gets a value that indicates whether the object is disposed. + + + Gets or sets the master volume that affects all SoundEffectInstance sounds. + + + Gets or sets the asset name of the SoundEffect. + + + Plays a sound. Reference page contains links to related code samples. + + + Plays a sound based on specified volume, pitch, and panning. Reference page contains links to related code samples. + Volume, ranging from 0.0f (silence) to 1.0f (full volume). 1.0f is full volume relative to SoundEffect.MasterVolume. + Pitch adjustment, ranging from -1.0f (down one octave) to 1.0f (up one octave). 0.0f is unity (normal) pitch. + Panning, ranging from -1.0f (full left) to 1.0f (full right). 0.0f is centered. + + + Returns the speed of sound: 343.5 meters per second. + + + Provides a single playing, paused, or stopped instance of a SoundEffect sound. + + + Applies 3D positioning to the sound using a single listener. Reference page contains links to related code samples. + Position of the listener. + Position of the emitter. + + + Applies 3D position to the sound using multiple listeners. Reference page contains links to related code samples. + Positions of each listener. + Position of the emitter. + + + Releases unmanaged resources held by this SoundEffectInstance. + + + Releases the unmanaged resources held by this SoundEffectInstance, and optionally releases the managed resources. + Pass true to release both the managed and unmanaged resources for this SoundEffectInstance. Passing false releases only the unmanaged resources. + + + Releases unmanaged resources and performs other cleanup operations before the SoundEffectInstance is reclaimed by garbage collection. + + + Gets a value that indicates whether the object is disposed. + + + Gets a value that indicates whether looping is enabled for the SoundEffectInstance. Reference page contains links to related code samples. + + + Gets or sets the panning for the SoundEffectInstance. + + + Pauses a SoundEffectInstance. + + + Gets or sets the pitch adjustment for the SoundEffectInstance. Reference page contains links to related code samples. + + + Plays or resumes a SoundEffectInstance. + + + Resumes playback for a SoundEffectInstance. + + + Gets the current state (playing, paused, or stopped) of the SoundEffectInstance. + + + Immediately stops playing a SoundEffectInstance. + + + Stops playing a SoundEffectInstance, either immediately or as authored. + Whether to stop playing immediately, or to break out of the loop region and play the release. Specify true to stop playing immediately, or false to break out of the loop region and play the release phase (the remainder of the sound). + + + Gets or sets the volume of the SoundEffectInstance. Reference page contains links to related code samples. + + + Current state (playing, paused, or stopped) of a SoundEffectInstance. + + + The SoundEffectInstance is paused. + + + The SoundEffectInstance is playing. + + + The SoundEffectInstance is stopped. + + + Exception used to report errors from the ContentManager.Load method. + + + Creates a new instance of ContentLoadException. + + + Creates a new instance of ContentLoadException. + Describes the value types that were being loaded when the exception occurred. + Describes the stream where the exception occurred. + + + Creates a new instance of ContentLoadException. + A message that describes the error. + + + Creates a new instance of ContentLoadException. + A message that describes the error. + The exception that is the cause of the current exception. If the innerException parameter is not a null reference, the current exception is raised in a catch block that handles the inner exception. + + + The ContentManager is the run-time component which loads managed objects from the binary files produced by the design time content pipeline. It also manages the lifespan of the loaded objects, disposing the content manager will also dispose any assets which are themselves IDisposable. + + + Initializes a new instance of ContentManager. Reference page contains code sample. + The service provider that the ContentManager should use to locate services. + + + Initializes a new instance of ContentManager. Reference page contains code sample. + The service provider the ContentManager should use to locate services. + The root directory to search for content. + + + Releases all resources used by the ContentManager class. + + + Releases the unmanaged resources used by the ContentManager and optionally releases the managed resources. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Loads an asset that has been processed by the Content Pipeline. Reference page contains code sample. + Asset name, relative to the loader root directory, and not including the .xnb extension. + + + Opens a stream for reading the specified asset. Derived classes can replace this to implement pack files or asset compression. + The name of the asset being read. + + + Low-level worker method that reads asset data. + The name of the asset to be loaded from disk. + Delegate function for handling the disposition of assets. If recordDisposableObject is null, the default lifespan tracking and management is used, so unloading or disposing of the content manager frees everything that has been loaded through it. If recordDisposableObject specifies a valid delegate, that delegate is used instead of the default lifespan tracking and is called every time the loader encounters a type that implements IDisposable. You must use your own code to unload assets loaded in this fashion, since ContentManager's Unload method will not be aware of them. + + + Gets or sets the root directory associated with this ContentManager. + + + Gets the service provider associated with the ContentManager. + + + Disposes all data that was loaded by this ContentManager. + + + A worker object that implements most of ContentManager.Load. A new ContentReader is constructed for each asset loaded. + + + Gets the name of the asset currently being read by this ContentReader. + + + Gets the ContentManager associated with the ContentReader. + + + Reads a Color value from the currently open stream. + + + Reads a double value from the currently open stream. + + + Reads a link to an external file. + + + Reads a Matrix value from the currently open stream. + + + Reads a single managed object from the current stream. Can be called recursively. + + + Reads a single managed object from the current stream. Can be called recursively. + The ContentTypeReader to use to read the object. + + + Reads a single managed object from the current stream. Can be called recursively. + The ContentTypeReader to use to read the object. + An existing object to write into. + + + Reads a single managed object from the current stream. Can be called recursively. + An existing object to write into. + + + Reads a Quaternion value from the current stream. + + + Reads a single managed object from the current stream as an instance of the specified type. If you specify a base class of the actual object type, this method reads data only from the base type. + + + Reads a single managed object from the current stream as an instance of the specified type. If a base class of the actual object type is specified only data from the base type will be read. + The ContentTypeReader to use to read the object. + + + Reads a single managed object from the current stream as an instance of the specified type. If you specify a base class of the actual object type, this method reads data only from the base type. + The ContentTypeReader to use to read the object. + An existing object to write into. + + + Reads a single managed object from the current stream as an instance of the specified type. If you specify a base class of the actual object type, the method reads data only from the base type. + An existing object to write into. + + + Reads a shared resource ID, and records it for subsequent fix-up. + The fix-up action to perform. + + + Reads a float value from the currently open stream. + + + Reads a Vector2 value from the current stream. + + + Reads a Vector3 value from the current stream. + + + Reads a Vector4 value from the current stream. + + + A custom Attribute that marks a field or property to control how it is serialized or to indicate that protected or private data should be included in serialization. + + + Creates a new instance of ContentSerializerAttribute. Reference page contains code sample. + + + Get or set a value indicating whether this member can have a null value (default=true). Reference page contains code sample. + + + Creates a copy of the ContentSerializerAttribute. + + + Gets or sets the XML element name for each item in a collection (default = "Item"). Reference page contains code sample. + + + Gets or sets the XML element name (default=name of the managed type member). Reference page contains code sample. + + + Gets or sets a value idicating whether to write member contents directly into the current XML context rather than wrapping the member in a new XML element (default=false). Reference page contains code sample. + + + Indicates whether an explicit CollectionItemName string is being used or the default value. Reference page contains code sample. + + + Indicates whether to write this element if the member is null and skip past it if not found when deserializing XML (default=false). Reference page contains code sample. + + + Indicates whether this member is referenced from multiple parents and should be serialized as a unique ID reference (default=false). Reference page contains code sample. + + + A custom Attribute that marks a collection class to specify the XML element name for each item in the collection. + + + Creates a new instance of ContentSerializerCollectionItemNameAttribute. Reference page contains code sample. + The name for each item in the collection. + + + Gets the name that will be used for each item in the collection. + + + A custom Attribute that marks public fields or properties to prevent them from being serialized. + + + Creates a new instance of ContentSerializerIgnoreAttribute. Reference page contains code sample. + + + + + + Creates a new instance of ContentSerializerRuntimeTypeAttribute. + The run-time type name of the object. + + + Gets the run-time type for the object. + + + + + + Creates a new instance of ContentSerializerTypeVersionAttribute. + The run-time type version of the object. + + + Gets the run-time type version for the object. + + + Worker for reading a specific managed type from a binary format. + + + Creates a new instance of ContentTypeReader. + The type handled by this reader component. + + + Determines if deserialization into an existing object is possible. + + + Retrieves and caches nested type readers. Called by the framework at creation time. + The content manager. + + + Reads a strongly typed object from the current stream. + The ContentReader used to read the object. + The object receiving the data, or null if a new instance of the object should be created. + + + Gets the type handled by this reader component. + + + Gets a format version number for this type. + + + Worker for reading a specific managed type from a binary format. Derive from this class to add new data types to the content pipeline system. + + + Creates a new instance of ContentTypeReader. + + + Reads an object from the current stream. + The ContentReader used to read the object. + An existing object to read into. + + + Reads a strongly typed object from the current stream. + The ContentReader used to read the object. + An existing object to read into. + + + A manager that constructs and keeps track of type reader objects. + + + Looks up a reader for the specified type. + The type the reader will handle. + + + Subclass of ContentManager, which is specialized to read from .resx resource files rather than directly from individual files on disk. + + + Creates a new instance of ResourceContentManager. + The service provider the ContentManager should use to locate services. + The resource manager for the ResourceContentManager to read from. + + + Opens a stream for reading the specified resource. Derived classes can replace this to implement pack files or asset compression. + The name of the asset being read. + + + Provides a unified way of converting BoundingBox values to other types, as well as for accessing standard values and subproperties. + + + Initializes a new instance of the BoundingBoxConverter class. + + + Converts the given object to the type of this converter, using the specified context and culture information. + The format context. + The current culture. + The object to convert. + + + Converts the given value object to the specified type, using the specified context and culture information. + The format context. + The culture to use in the conversion. + The object to convert. + The destination type. + + + Creates an instance of the type that this BoundingBoxConverter is associated with, using the specified context, given a set of property values for the object. + The format context. + The new property values. + + + Provides a unified way of converting BoundingSphere values to other types, as well as for accessing standard values and subproperties. + + + Initializes a new instance of the BoundingSphereConverter class. + + + Converts the given object to the type of this converter, using the specified context and culture information. + The format context. + The current culture. + The object to convert. + + + Converts the given value object to the specified type, using the specified context and culture information. + The format context. + The culture to use in the conversion. + The object to convert. + The destination type. + + + Creates an instance of the type that this BoundingSphereConverter is associated with, using the specified context, given a set of property values for the object. + The format context. + The new property values. + + + Provides a unified way of converting Color values to other types, as well as for accessing standard values and subproperties. + + + Initializes a new instance of the ColorConverter class. + + + Converts the given value to the type of this converter. + The format context. + The current culture. + The object to convert. + + + Converts the given value object to the specified type, using the specified context and culture information. + The format context. + The culture to use in the conversion. + The object to convert. + The destination type. + + + Re-creates an object given a set of property values for the object. + The format context. + The new property values. + + + Provides a unified way of converting math type values to other types, as well as for accessing standard values and subproperties. + + + Initializes a new instance of the MathTypeConverter class. + + + Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context. + The format context. + The type you want to convert from. + + + Returns whether this converter can convert an object of one type to the type of this converter. + The format context. + The destination type. + + + Returns whether changing a value on this object requires a call to CreateInstance to create a new value, using the specified context. + The format context. + + + Returns a collection of properties for the type of array specified by the value parameter. + The format context. + The type of array for which to get properties. + An array to use as a filter. + + + Returns whether this object supports properties, using the specified context. + The format context. + + + Represents a collection of PropertyDescriptor objects. + + + Returns whether string conversion is supported. + + + Provides a unified way of converting Matrix values to other types, as well as for accessing standard values and subproperties. + + + Initializes a new instance of the MatrixConverter class. + + + Converts the given value object to the specified type, using the specified context and culture information. + The format context. + The culture to use in the conversion. + The object to convert. + The destination type. + + + Creates an instance of the type that this MatrixConverter is associated with, using the specified context, given a set of property values for the object. + The format context. + The new property values. + + + Provides a unified way of converting Plane values to other types, as well as for accessing standard values and subproperties. + + + Initializes a new instance of the PlaneConverter class. + + + Converts the given value object to the specified type, using the specified context and culture information. + The format context. + The culture to use in the conversion. + The object to convert. + The destination type. + + + Creates an instance of the type that this PlaneConverter is associated with, using the specified context, given a set of property values for the object. + The format context. + The new property values. + + + Provides a unified way of converting Point values to other types, as well as for accessing standard values and subproperties. + + + Initializes a new instance of the PointConverter class. + + + Converts the given object to the type of this converter, using the specified context and culture information. + The format context. + The current culture. + The object to convert. + + + Converts the given value object to the specified type, using the specified context and culture information. + The format context. + The culture to use in the conversion. + The object to convert. + The destination type. + + + Creates an instance of the type that this PointConverter is associated with, using the specified context, given a set of property values for the object. + The format context. + The new property values. + + + Provides a unified way of converting Quaternion values to other types, as well as for accessing standard values and subproperties. + + + Initializes a new instance of the QuaternionConverter class. + + + Converts the given object to the type of this converter, using the specified context and culture information. + The format context. + The current culture. + The object to convert. + + + Converts the given value object to the specified type, using the specified context and culture information. + The format context. + The culture to use in the conversion. + The object to convert. + The destination type. + + + Creates an instance of the type that this QuaternionConverter is associated with, using the specified context, given a set of property values for the object. + The format context. + The new property values. + + + Provides a unified way of converting Ray values to other types, as well as for accessing standard values and subproperties. + + + Initializes a new instance of the RayConverter class. + + + Converts the given object to the type of this converter, using the specified context and culture information. + The format context. + The current culture. + The object to convert. + + + Converts the given value object to the specified type, using the specified context and culture information. + The format context. + The culture to use in the conversion. + The object to convert. + The destination type. + + + Creates an instance of the type that this RayConverter is associated with, using the specified context, given a set of property values for the object. + The format context. + The new property values. + + + Provides a unified way of converting Rectangle values to other types, as well as for accessing standard values and subproperties. + + + Initializes a new instance of the RectangleConverter class. + + + Converts the given value object to the specified type, using the specified context and culture information. + The format context. + The culture to use in the conversion. + The object to convert. + The destination type. + + + Creates an instance of the type that this RectangleConverter is associated with, using the specified context, given a set of property values for the object. + The format context. + The new property values. + + + Provides a unified way of converting Vector2 values to other types, as well as for accessing standard values and subproperties. + + + Initializes a new instance of the Vector2Converter class. + + + Converts the given object to the type of this converter, using the specified context and culture information. + The format context. + The current culture. + The object to convert. + + + Converts the given value object to the specified type, using the specified context and culture information. + The format context. + The culture to use in the conversion. + The object to convert. + The destination type. + + + Creates an instance of the type that this Vector2Converter is associated with, using the specified context, given a set of property values for the object. + The format context. + The new property values. + + + Provides a unified way of converting Vector3 values to other types, as well as for accessing standard values and subproperties. + + + Initializes a new instance of the Vector3Converter class. + + + Converts the given object to the type of this converter, using the specified context and culture information. + The format context. + The current culture. + The object to convert. + + + Converts the given value object to the specified type, using the specified context and culture information. + The format context. + The culture to use in the conversion. + The object to convert. + The destination type. + + + Creates an instance of the type that this Vector3Converter is associated with, using the specified context, given a set of property values for the object. + The format context. + The new property values. + + + Provides a unified way of converting Vector4 values to other types, as well as for accessing standard values and subproperties. + + + Initializes a new instance of the Vector4Converter class. + + + Converts the given object to the type of this converter, using the specified context and culture information. + The format context. + The current culture. + The object to convert. + + + Converts the given value object to the specified type, using the specified context and culture information. + The format context. + The culture to use in the conversion. + The object to convert. + The destination type. + + + Creates an instance of the type that this Vector4Converter is associated with, using the specified context, given a set of property values for the object. + The format context. + The new property values. + + + Packed vector type containing a single 8 bit normalized W value in the range of 0 to 1. + + + Initializes a new instance of the Alpha8 structure. + The initial value for the Alpha8 structure. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4. + The vector to create the packed representaion from. + + + Expands the packed representation into a Vector4. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Expands the packed representation to a System.Single. + + + Returns a string representation of the current instance. + + + Packed vector type containing unsigned normalized values ranging from 0 to 1. The x and z components use 5 bits, and the y component uses 6 bits. + + + Initializes a new instance of the Bgr565 structure. + A vector containing the initial values for the components of the Bgr565 structure. + + + Initializes a new instance of the Bgr565 class. + Initial value for the x component. + Initial value for the y component. + Initial value for the z component. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4. + The vector to create the packed representation from. + + + Expands the packed representation into a Vector4. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Returns a string representation of the current instance. + + + Expands the packed representation into a Vector3. + + + Packed vector type containing unsigned normalized values, ranging from 0 to 1, using 4 bits each for x, y, z, and w. + + + Creates an instance of this object. + Input value for all four components (xyzw). + + + Creates an instance of this object. + Initial value for the x component. + Initial value for the y component. + Initial value for the z component. + Initial value for the w component. + + + Tests an object to see if it is equal to this object. + The object to test. + + + Tests an object to see if it is equal to this object. + The object to test. + + + Gets the hash code for this object. + + + Converts a four-component vector into the format for this object. + The four-component vector. + + + Equality operator, which compares two objects to see if they are equal. + The first object. + The second object. + + + Tests two objects to see if they are not equal. + The first object. + The second object. + + + Gets or sets the packed representation of the vector. + + + Returns a string representation. + + + Unpacks this object to a four-component vector. + + + Packed vector type containing unsigned normalized values, ranging from 0 to 1, using 5 bits each for x, y, and z, and 1 bit for w. + + + Initializes a new instance of the Bgra5551 structure. + A vector containing the initial values for the components of the Bgra5551 structure. + + + Initializes a new instance of the Bgra5551 class. + Initial value for the x component. + Initial value for the y component. + Initial value for the z component. + Initial value for the w component. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4. + The vector to create the packed representation from. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Returns a string representation of the current instance. + + + Expands the packed representation into a Vector4. + + + Packed vector type containing four 8-bit unsigned integer values, ranging from 0 to 255. + + + Initializes a new instance of the Byte4 structure. + A vector containing the initial values for the components of the Byte4 structure. + + + Initializes a new instance of the Byte4 class. + Initial value for the x component. + Initial value for the y component. + Initial value for the z component. + Initial value for the w component. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4 + The vector to create packed representation from. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Returns a string representation of the current instance. + + + Expands the packed representation into a Vector4. + + + Packed vector type containing a single 16 bit floating point value. + + + Initializes a new instance of the HalfSingle structure. + The initial value of the HalfSingle structure. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4. + The vector to create the packed representation from. + + + Expands the packed representation into a Vector4. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Expands the HalfSingle to a Single. + + + Returns a string representation of the current instance. + + + Packed vector type containing two 16-bit floating-point values. + + + Initializes a new instance of the HalfVector2 structure. + A vector containing the initial values for the components of the HalfVector2 structure. + + + Initializes a new instance of the HalfVector2 structure. + Initial value for the x component. + Initial value for the y component. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4. + The vector to create the packed representation from. + + + Expands the packed representation into a Vector4. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Returns a string representation of the current instance. + + + Expands the HalfVector2 to a Vector2. + + + Packed vector type containing four 16-bit floating-point values. + + + Initializes a new instance of the HalfVector4 structure. + A vector containing the initial values for the components of the HalfVector4 structure. + + + Initializes a new instance of the HalfVector4 class. + Initial value for the x component. + Initial value for the y component. + Initial value for the z component. + Initial value for the w component. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4. + The vector to create the packed representation from. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Returns a string representation of the current instance. + + + Expands the packed representation into a Vector4. + + + Interface that converts packed vector types to and from Vector4 values, allowing multiple encodings to be manipulated in a generic way. + + + Sets the packed representation from a Vector4. + The vector to create the packed representation from. + + + Expands the packed representation into a Vector4. + + + Converts packed vector types to and from Vector4 values. + + + Directly gets or sets the packed representation of the value. + + + Packed vector type containing two 8-bit signed normalized values, ranging from −1 to 1. + + + Initializes a new instance of the NormalizedByte2 structure. + A vector containing the initial values for the components of the NormalizedByte2 structure. + + + Initializes a new instance of the NormalizedByte2 class. + Initial value for the x component. + Initial value for the y component. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4. + The vector to create the packed representation from. + + + Expands the packed representation into a Vector4. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Returns a string representation of the current instance. + + + Expands the packed representation to a vector. + + + Packed vector type containing four 8-bit signed normalized values, ranging from −1 to 1. + + + Initializes a new instance of the NormalizedByte4 structure. + A vector containing the initial values for the components of the NormalizedByte4 structure. + + + Initializes a new instance of the NormalizedByte4 class. + Initial value for the x component. + Initial value for the y component. + Initial value for the z component. + Initial value for the w component. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4. + The vector to create the packed representation from. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Returns a string representation of the current instance. + + + Expands the packed representation into a Vector4. + + + Packed vector type containing two 16-bit signed normalized values, ranging from −1 to 1. + + + Initializes a new instance of the NormalizedShort2 structure. + A vector containing the initial values for the components of the NormalizedShort2 structure. + + + Initializes a new instance of the NormalizedShort2 class. + Initial value for the x component. + Initial value for the y component. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4. + The vector to create the packed representation from. + + + Expands the packed representation into a Vector4. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Returns a string representation of the current instance. + + + Expands the packed representation to a vector. + + + Packed vector type containing four 16-bit signed normalized values, ranging from −1 to 1. + + + Initializes a new instance of the NormalizedShort4 structure. + A vector containing the initial values for the components of the NormalizedShort4 structure. + + + Initializes a new instance of the NormalizedShort4 class. + Initial value for the x component. + Initial value for the y component. + Initial value for the z component. + Initial value for the w component. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4. + The vector to create the packed representation from. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Returns a string representation of the current instance. + + + Expands the packed representation into a Vector4. + + + Packed vector type containing two 16-bit unsigned normalized values, ranging from 0 to 1. + + + Initializes a new instance of the Rg32 structure. + The vector containing the initial values for the components of the Rg32 structure. + + + Initializes a new instance of the Rg32 structure. + Initial value for the x component. + Initial value for the y component. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4 + The vector to create packed representation from. + + + Expands the packed representation into a Vector4. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Returns a string representation of the current instance. + + + Expands the packed vector representation into a Vector2. + + + Packed vector type containing unsigned normalized values, ranging from 0 to 1, using 10 bits each for x, y, and z, and 2 bits for w. + + + Initializes a new instance of the Rgba1010102 structure. + A vector containing the initial values for the components of the Rgba1010102 structure. + + + Initializes a new instance of the Rgba1010102 class. + Initial value for the x component. + Initial value for the y component. + Initial value for the z component. + Initial value for the w component. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4 + The vector to create the packed representation from. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the left of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Returns a string representation of the current instance. + + + Expands the packed representation into a Vector4. + + + Packed vector type containing four 16-bit unsigned normalized values, ranging from 0 to 1. + + + Initializes a new instance of the Rgba64 structure. + A vector containing the initial values for the components of the Rgba64 structure. + + + Initializes a new instance of the Rgba64 structure. + Initial value for the x component. + Initial value for the y component. + Initial value for the z component. + Initial value for the w component. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4. + The vector to create the packed representation from. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Returns a string representation of the current instance. + + + Expands the packed representation into a Vector4. + + + Packed vector type containing two 16-bit signed integer values. + + + Initializes a new instance of the Short2 structure. + A vector containing the initial values for the components of the Short2 structure. + + + Initializes a new instance of the Short2 class. + Initial value for the x component. + Initial value for the y component. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4. + The vector to create the packed representation from. + + + Expands the packed representation into a Vector4. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Returns a string representation of the current instance. + + + Expands the packed representation to a vector. + + + Packed vector type containing four 16-bit signed integer values. + + + Initializes a new instance of the Short4 structure. + A vector containing the initial values for the components of the Short4 structure. + + + Initializes a new instance of the Short4 class. + Initial value for the x component. + Initial value for the y component. + Initial value for the z component. + Initial value for the w component. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Returns a value that indicates whether the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for the current instance. + + + Sets the packed representation from a Vector4. + The vector to create the packed representation from. + + + Compares the current instance of a class to another instance to determine whether they are the same. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Compares the current instance of a class to another instance to determine whether they are different. + The object to the left of the equality operator. + The object to the right of the equality operator. + + + Directly gets or sets the packed representation of the value. + + + Returns a string representation of the current instance. + + + Expands the packed representation into a Vector4. + + + Enumerates input device buttons. + + + A button + + + B button + + + BACK button + + + Big button + + + Directional pad up + + + Directional pad left + + + Directional pad right + + + Directional pad down + + + Left bumper (shoulder) button + + + Left stick button (pressing the left stick) + + + Left stick is toward down + + + Left stick is toward the left + + + Left stick is toward the right + + + Left stick is toward up + + + Left trigger + + + Right bumper (shoulder) button + + + Right stick button (pressing the right stick) + + + Right stick is toward down + + + Right stick is toward the left + + + Right stick is toward the right + + + Right stick is toward up + + + Right trigger + + + START button + + + X button + + + Y button + + + Identifies the state of a controller button. + + + The button is pressed. + + + The button is released. + + + Allows retrieval of user interaction with an Xbox 360 Controller and setting of controller vibration motors. Reference page contains links to related code samples. + + + Retrieves the capabilities of an Xbox 360 Controller. + Index of the controller to query. + + + Gets the current state of a game pad controller. Reference page contains links to related code samples. + Player index for the controller you want to query. + + + Gets the current state of a game pad controller, using a specified dead zone on analog stick positions. Reference page contains links to related code samples. + Player index for the controller you want to query. + Enumerated value that specifies what dead zone type to use. + + + Sets the vibration motor speeds on an Xbox 360 Controller. Reference page contains links to related code samples. + Player index that identifies the controller to set. + The speed of the left motor, between 0.0 and 1.0. This motor is a low-frequency motor. + The speed of the right motor, between 0.0 and 1.0. This motor is a high-frequency motor. + + + Identifies whether buttons on an Xbox 360 Controller are pressed or released. Reference page contains links to related code samples. + + + Initializes a new instance of the GamePadButtons class, setting the specified buttons to pressed in. + Buttons to initialize as pressed. Specify a single button or combine multiple buttons using a bitwise OR operation. + + + Identifies if the A button on the Xbox 360 Controller is pressed. + + + Identifies if the B button on the Xbox 360 Controller is pressed. + + + Identifies if the BACK button on the Xbox 360 Controller is pressed. + + + Identifies if the BigButton button is pressed. + + + Returns a value that indicates if the current instance is equal to a specified object. + The object with which to make the comparison. + + + Gets the hash code for this instance. + + + Identifies if the left shoulder (bumper) button on the Xbox 360 Controller is pressed. + + + Identifies if the left stick button on the Xbox 360 Controller is pressed (the stick is "clicked" in). + + + Indicates if the two GamePadButton objects are equal. + The GamePadButtons instance on the left side of the equality. + The GamePadButtons instance on the right side of the equality. + + + Determines whether two GamePadButtons instances are not equal. + Object on the left of the equal sign. + Object on the right of the equal sign. + + + Identifies if the right shoulder (bumper) button on the Xbox 360 Controller is pressed. + + + Identifies if the right stick button on the Xbox 360 Controller is pressed (the stick is "clicked" in). + + + Identifies if the START button on the Xbox 360 Controller is pressed. + + + Retrieves a string representation of this object. + + + Identifies if the X button on the Xbox 360 Controller is pressed. + + + Identifies if the Y button on the Xbox 360 Controller is pressed. + + + Describes the capabilities of an Xbox 360 Controller, including controller type, and identifies if the controller supports voice. + + + Gets the type of controller. + + + Indicates whether the controller has an A button. + + + Indicates whether the controller has a BACK button. + + + Indicates whether the controller has a B button. + + + Indicates whether the controller has a BigButton button. + + + Indicates whether the controller has a directional pad DOWN button. + + + Indicates whether the controller has a directional pad LEFT button. + + + Indicates whether the controller has a directional pad RIGHT button. + + + Indicates whether the controller has a directional pad UP button. + + + Indicates whether the controller has a left bumper button. + + + Indicates whether the controller has a digital button control on the left analog stick. + + + Indicates whether the controller has a left analog trigger. + + + Indicates whether the controller has a low-frequency vibration motor. + + + Indicates whether the controller supports a left analog control with horizontal movement. + + + Indicates whether the controller supports a left analog control with vertical movement. + + + Indicates whether the controller has a right bumper button. + + + Indicates whether the controller has a digital button control on the right analog stick. + + + Indicates whether the controller has a right analog trigger. + + + Indicates whether the controller has a high-frequency vibration motor. + + + Indicates whether the controller supports a right analog control with horizontal movement. + + + Indicates whether the controller supports a right analog control with vertical movement. + + + Indicates whether the controller has a START button. + + + Indicates whether the controller supports voice. + + + Indicates whether the controller has an X button. + + + Indicates whether the controller has a Y button. + + + Indicates whether the Xbox 360 Controller is connected. + + + Specifies a type of dead zone processing to apply to Xbox 360 Controller analog sticks when calling GetState. + + + The combined X and Y position of each stick is compared to the dead zone. This provides better control than IndependentAxes when the stick is used as a two-dimensional control surface, such as when controlling a character's view in a first-person game. + + + The X and Y positions of each stick are compared against the dead zone independently. This setting is the default when calling GetState. + + + The values of each stick are not processed and are returned by GetState as "raw" values. This is best if you intend to implement your own dead zone processing. + + + Identifies which directions on the directional pad of an Xbox 360 Controller are being pressed. + + + Initializes a new instance of the GamePadDPad class. + Directional pad up button state. + Directional pad down button state. + Directional pad left button state. + Directional pad right button state. + + + Identifies whether the Down direction on the Xbox 360 Controller directional pad is pressed. + + + Returns a value that indicates whether the current instance is equal to a specified object. + Object with which to make the comparison. + + + Gets the hash code for this instance. + + + Identifies whether the Left direction on the Xbox 360 Controller directional pad is pressed. + + + Determines whether two GamePadDPad instances are equal. + Object on the left of the equal sign. + Object on the right of the equal sign. + + + Determines whether two GamePadDPad instances are not equal. + Object on the left of the equal sign. + Object on the right of the equal sign. + + + Identifies whether the Right direction on the Xbox 360 Controller directional pad is pressed. + + + Retrieves a string representation of this object. + + + Identifies whether the Up direction on the Xbox 360 Controller directional pad is pressed. + + + Represents specific information about the state of an Xbox 360 Controller, including the current state of buttons and sticks. Reference page contains links to related code samples. + + + Initializes a new instance of the GamePadState class using the specified GamePadThumbSticks, GamePadTriggers, GamePadButtons, and GamePadDPad. + Initial thumbstick state. + Initial trigger state. + Initial button state. + Initial directional pad state. + + + Initializes a new instance of the GamePadState class with the specified stick, trigger, and button values. + Left stick value. Each axis is clamped between −1.0 and 1.0. + Right stick value. Each axis is clamped between −1.0 and 1.0. + Left trigger value. This value is clamped between 0.0 and 1.0. + Right trigger value. This value is clamped between 0.0 and 1.0. + Array or parameter list of Buttons to initialize as pressed. + + + Returns a structure that identifies what buttons on the Xbox 360 controller are pressed. Reference page contains links to related code samples. + + + Returns a structure that identifies what directions of the directional pad on the Xbox 360 Controller are pressed. + + + Returns a value that indicates whether the current instance is equal to a specified object. + Object with which to make the comparison. + + + Gets the hash code for this instance. + + + Determines whether specified input device buttons are pressed in this GamePadState. + Buttons to query. Specify a single button, or combine multiple buttons using a bitwise OR operation. + + + Determines whether specified input device buttons are up (not pressed) in this GamePadState. + Buttons to query. Specify a single button, or combine multiple buttons using a bitwise OR operation. + + + Indicates whether the Xbox 360 Controller is connected. Reference page contains links to related code samples. + + + Determines whether two GamePadState instances are equal. + Object on the left of the equal sign. + Object on the right of the equal sign. + + + Determines whether two GamePadState instances are not equal. + Object on the left of the equal sign. + Object on the right of the equal sign. + + + Gets the packet number associated with this state. Reference page contains links to related code samples. + + + Returns a structure that indicates the position of the Xbox 360 Controller sticks (thumbsticks). + + + Retrieves a string representation of this object. + + + Returns a structure that identifies the position of triggers on the Xbox 360 controller. + + + Structure that represents the position of left and right sticks (thumbsticks) on an Xbox 360 Controller. + + + Initializes a new instance of the GamePadThumbSticks class. + Left stick value. Each axis is clamped between −1.0 and 1.0. + Right stick value. Each axis is clamped between −1.0 and 1.0. + + + Returns a value that indicates whether the current instance is equal to a specified object. + Object with which to make the comparison. + + + Gets the hash code for this instance. + + + Returns the position of the left Xbox 360 Controller stick (thumbstick) as a 2D vector. Reference page contains code sample. + + + Determines whether two GamePadThumbSticks instances are equal. + Object on the left of the equal sign. + Object on the right of the equal sign. + + + Determines whether two GamePadThumbSticks instances are not equal. + Object on the left of the equal sign. + Object on the right of the equal sign. + + + Returns the position of the right Xbox 360 Controller stick (thumbstick) as a 2D vector. + + + Retrieves a string representation of this object. + + + Structure that defines the position of the left and right triggers on an Xbox 360 Controller. + + + Initializes a new instance of the GamePadTriggers class. + Left trigger value. This value is clamped between 0.0 and 1.0. + Right trigger value. This value is clamped between 0.0 and 1.0. + + + Returns a value that indicates whether the current instance is equal to a specified object. + Object with which to make the comparison. + + + Gets the hash code for this instance. + + + Identifies the position of the left trigger on the Xbox 360 Controller. + + + Determines whether two GamePadTriggers instances are equal. + Object on the left of the equal sign. + Object on the right of the equal sign. + + + Determines whether two GamePadTriggers instances are not equal. + Object on the left of the equal sign. + Object on the right of the equal sign. + + + Identifies the position of the right trigger on the Xbox 360 Controller. + + + Retrieves a string representation of this object. + + + Describes the type of a specified Xbox 360 Controller. + + + Controller is an alternate guitar + + + Controller is an Arcade stick + + + Controller is a big button pad + + + Controller is a dance pad + + + Controller is a drum kit + + + Controller is a flight stick + + + Controller is the Xbox 360 Controller + + + Controller is a guitar + + + Controller is an unknown type + + + Controller is a wheel + + + Allows retrieval of keystrokes from a keyboard input device. Reference page contains links to related code samples. + + + Returns the current keyboard state. Reference page contains links to related code samples. + + + Returns the current Chatpad state for the specified player. Reference page contains links to related code samples. + Player index of the Chatpad to query. + + + Represents a state of keystrokes recorded by a keyboard input device. Reference page contains links to related code samples. + + + Initializes a new instance of the KeyboardState class. + Array or parameter list of Keys to initialize as pressed. + + + Returns a value that indicates whether the current instance is equal to a specified object. + Object to compare this object to. + + + Gets the hash code for this instance. + + + Gets an array of values that correspond to the keyboard keys that are currently being pressed. Reference page contains links to related code samples. + + + Returns whether a specified key is currently being pressed. Reference page contains links to related code samples. + Enumerated value that specifies the key to query. + + + Returns whether a specified key is currently not pressed. Reference page contains links to related code samples. + Enumerated value that specifies the key to query. + + + Returns the state of a particular key. Reference page contains links to related code samples. + Enumerated value representing the key to query. + + + Compares two objects to determine whether they are the same. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Compares two objects to determine whether they are different. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + Identifies a particular key on a keyboard. + + + A key + + + Add key + + + Applications key + + + Attn key + + + B key + + + BACKSPACE key + + + Windows 2000/XP: Browser Back key + + + Windows 2000/XP: Browser Favorites key + + + Windows 2000/XP: Browser Forward key + + + Windows 2000/XP: Browser Start and Home key + + + Windows 2000/XP: Browser Refresh key + + + Windows 2000/XP: Browser Search key + + + Windows 2000/XP: Browser Stop key + + + C key + + + CAPS LOCK key + + + Green ChatPad key + + + Orange ChatPad key + + + CrSel key + + + D key + + + Used for miscellaneous characters; it can vary by keyboard. + + + Used for miscellaneous characters; it can vary by keyboard. + + + Used for miscellaneous characters; it can vary by keyboard. + + + Used for miscellaneous characters; it can vary by keyboard. + + + Used for miscellaneous characters; it can vary by keyboard. + + + Used for miscellaneous characters; it can vary by keyboard. + + + Used for miscellaneous characters; it can vary by keyboard. + + + Used for miscellaneous characters; it can vary by keyboard. + + + Used for miscellaneous characters; it can vary by keyboard. + + + Used for miscellaneous characters; it can vary by keyboard. + + + Decimal key + + + DEL key + + + Divide key + + + DOWN ARROW key + + + E key + + + END key + + + ENTER key + + + Erase EOF key + + + ESC key + + + EXECUTE key + + + ExSel key + + + F key + + + F1 key + + + F10 key + + + F11 key + + + F12 key + + + F13 key + + + F14 key + + + F15 key + + + F16 key + + + F17 key + + + F18 key + + + F19 key + + + F2 key + + + F20 key + + + F21 key + + + F22 key + + + F23 key + + + F24 key + + + F3 key + + + F4 key + + + F5 key + + + F6 key + + + F7 key + + + F8 key + + + F9 key + + + G key + + + H key + + + HELP key + + + HOME key + + + I key + + + IME Convert key + + + IME NoConvert key + + + INS key + + + J key + + + K key + + + Kana key on Japanese keyboards + + + Kanji key on Japanese keyboards + + + L key + + + Windows 2000/XP: Start Application 1 key + + + Windows 2000/XP: Start Application 2 key + + + Windows 2000/XP: Start Mail key + + + LEFT ARROW key + + + Left ALT key + + + Left CONTROL key + + + Left SHIFT key + + + Left Windows key + + + M key + + + Windows 2000/XP: Next Track key + + + Windows 2000/XP: Play/Pause Media key + + + Windows 2000/XP: Previous Track key + + + Windows 2000/XP: Stop Media key + + + Multiply key + + + N key + + + Reserved + + + NUM LOCK key + + + Numeric keypad 0 key + + + Numeric keypad 1 key + + + Numeric keypad 2 key + + + Numeric keypad 3 key + + + Numeric keypad 4 key + + + Numeric keypad 5 key + + + Numeric keypad 6 key + + + Numeric keypad 7 key + + + Numeric keypad 8 key + + + Numeric keypad 9 key + + + O key + + + Used for miscellaneous characters; it can vary by keyboard. + + + OEM Auto key + + + Windows 2000/XP: The OEM angle bracket or backslash key on the RT 102 key keyboard + + + CLEAR key + + + Windows 2000/XP: The OEM close bracket key on a US standard keyboard + + + Windows 2000/XP: For any country/region, the ',' key + + + OEM Copy key + + + OEM Enlarge Window key + + + Windows 2000/XP: For any country/region, the '-' key + + + Windows 2000/XP: The OEM open bracket key on a US standard keyboard + + + Windows 2000/XP: For any country/region, the '.' key + + + Windows 2000/XP: The OEM pipe key on a US standard keyboard + + + Windows 2000/XP: For any country/region, the '+' key + + + Windows 2000/XP: The OEM question mark key on a US standard keyboard + + + Windows 2000/XP: The OEM singled/double quote key on a US standard keyboard + + + Windows 2000/XP: The OEM Semicolon key on a US standard keyboard + + + Windows 2000/XP: The OEM tilde key on a US standard keyboard + + + P key + + + PA1 key + + + PAGE DOWN key + + + PAGE UP key + + + PAUSE key + + + Play key + + + PRINT key + + + PRINT SCREEN key + + + Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key + + + Q key + + + R key + + + RIGHT ARROW key + + + Right ALT key + + + Right CONTROL key + + + Right SHIFT key + + + Right Windows key + + + S key + + + SCROLL LOCK key + + + SELECT key + + + Windows 2000/XP: Select Media key + + + Separator key + + + Computer Sleep key + + + SPACEBAR + + + Subtract key + + + T key + + + TAB key + + + U key + + + UP ARROW key + + + V key + + + Windows 2000/XP: Volume Down key + + + Windows 2000/XP: Volume Mute key + + + Windows 2000/XP: Volume Up key + + + W key + + + X key + + + Y key + + + Z key + + + Zoom key + + + Identifies the state of a keyboard key. + + + Key is pressed. + + + Key is released. + + + Allows retrieval of position and button clicks from a mouse input device. Reference page contains links to related code samples. + + + Gets the current state of the mouse, including mouse position and buttons pressed. Reference page contains links to related code samples. + + + Sets the position of the mouse cursor relative to the upper-left corner of the window. + The horizontal position of the mouse cursor, relative to the left edge of the game window. + The vertical position of the mouse cursor, relative to the upper edge of the game window. + + + Gets or sets the window used for mouse processing. Mouse coordinates returned by GetState are relative to the upper-left corner of this window. Reference page contains links to related code samples. + + + Represents the state of a mouse input device, including mouse cursor position and buttons pressed. Reference page contains links to related code samples. + + + Initializes a new instance of the MouseState class. + Horizontal mouse position. + Vertical mouse position. + Mouse scroll wheel value. + Left mouse button state. + Middle mouse button state. + Right mouse button state. + XBUTTON1 state. + XBUTTON2 state. + + + Returns a value that indicates whether the current instance is equal to a specified object. + Object with which to make the comparison. + + + Gets the hash code for this instance. + + + Returns the state of the left mouse button. + + + Returns the state of the middle mouse button. + + + Determines whether two MouseState instances are equal. + Object on the left of the equal sign. + Object on the right of the equal sign. + + + Determines whether two MouseState instances are not equal. + Object on the left of the equal sign. + Object on the right of the equal sign. + + + Returns the state of the right mouse button. + + + Gets the cumulative mouse scroll wheel value since the game was started. + + + Retrieves a string representation of this object. + + + Specifies the horizontal position of the mouse cursor. Reference page contains links to related code samples. + + + Returns the state of XBUTTON1. + + + Returns the state of XBUTTON2. + + + Specifies the vertical position of the mouse cursor. Reference page contains links to related code samples. + + + Provides access to an album in the media library. + + + Gets the Artist of the Album. + + + Immediately releases the unmanaged resources used by this object. + + + Gets the duration of the Album. + + + Determines whether the specified Album is equal to this Album. + Album to compare with this instance. + + + Determines whether the specified Object is equal to this Album. + Object to compare with this instance. + + + Gets the Genre of the Album. + + + Returns the stream that contains the album art image data. + + + Gets the hash code for this instance. + + + Returns the stream that contains the album thumbnail image data. + + + Gets a value indicating whether the Album has associated album art. + + + Gets a value indicating whether the object is disposed. + + + Gets the name of the Album. + + + Determines whether the specified Album instances are equal. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Determines whether the specified Album instances are not equal. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + Gets a SongCollection that contains the songs on the album. + + + Returns a String representation of this Album. + + + A collection of albums in the media library. + + + Gets the number of Album objects in the AlbumCollection. + + + Immediately releases the unmanaged resources used by this object. + + + Returns an enumerator that iterates through the AlbumCollection. + + + Gets a value indicating whether the object is disposed. + + + Gets the Album at the specified index in the AlbumCollection. + Index of the Album to get. + + + Returns an enumerator that iterates through the collection. + + + Provides access to artist information in the media library. + + + Gets the AlbumCollection for the Artist. + + + Immediately releases the unmanaged resources used by this object. + + + Determines whether the specified Artist is equal to this Artist. + Artist to compare with this instance. + + + Determines whether the specified Object is equal to this Artist. + Object to compare with this instance. + + + Gets the hash code for this instance. + + + Gets a value indicating whether the object is disposed. + + + Gets the name of the Artist. + + + Determines whether the specified Artist instances are equal. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Determines whether the specified Artist instances are not equal. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + Gets the SongCollection for the Artist. + + + Returns a String representation of the Artist. + + + The collection of all artists in the media library. + + + Gets the number of Artist objects in the ArtistCollection. + + + Immediately releases the unmanaged resources used by this object. + + + Returns an enumerator that iterates through the ArtistCollection. + + + Gets a value indicating whether the object is disposed. + + + Gets the Artist at the specified index in the ArtistCollection. + Index of the Artist to get. + + + Returns an enumerator that iterates through the collection. + + + Provides access to genre information in the media library. + + + Gets the AlbumCollection for the Genre. + + + Immediately releases the unmanaged resources used by this object. + + + Determines whether the specified Genre is equal to this Genre. + Genre to compare with this instance. + + + Determines whether the specified Object is equal to this Genre. + Object to compare with this instance. + + + Gets the hash code for this instance. + + + Gets a value indicating whether the object is disposed. + + + Gets the name of the Genre. + + + Determines whether the specified Genre instances are equal. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Determines whether the specified Genre instances are not equal. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + Gets the SongCollection for the Genre. + + + Returns a String representation of the Genre. + + + The collection of all genres in the media library. + + + Gets the number of Genre objects in the GenreCollection. + + + Immediately releases the unmanaged resources used by this object. + + + Returns an enumerator that iterates through the GenreCollection. + + + Gets a value indicating whether the object is disposed. + + + Gets the Genre at the specified index in the GenreCollection. + Index of the Genre to get. + + + Returns an enumerator that iterates through the collection. + + + Provides access to songs, playlists, and pictures in the device's media library. Reference page contains code sample. + + + Initializes a new instance of the MediaLibrary class. + + + Initializes a new instance of the MediaLibrary class, using a specific media source to create the new media library. Reference page contains code sample. + A media source that will be the source for the media library. + + + Gets the AlbumCollection that contains all albums in the media library. + + + Gets the ArtistCollection that contains all artists in the media library. + + + Releases the resources used by the MediaLibrary. + + + Gets the GenreCollection that contains all genres in the media library. + + + Retrieves a picture from the device's media library based on a picture token. Reference page contains links to related conceptual articles. + The picture token. This cannot be null + + + Gets a value indicating whether the object is disposed. + + + Gets the MediaSource with which this media library was constructed. + + + Gets the PictureCollection that contains all pictures in the media library. + + + Gets the PlaylistCollection that contains all playlists in the media library. + + + Gets the root PictureAlbum for all pictures in the media library. + + + Returns the collection of all saved pictures in the device's media library. + + + Saves the image to the media library, and then returns that saved image as a picture object. Reference page contains links to related conceptual articles. + Name of the image file saved to the media library. + Buffer that contains the image in the required JPEG file format. + + + Saves the image contained in the stream object to the media library, and then returns that saved image as a picture object. Reference page contains links to related conceptual articles. + Name of the image file that is saved to the media library. + Stream object that contains the image information in the required JPEG file format. + + + Gets the SongCollection that contains all songs in the media library. + + + Provides methods and properties to play, pause, resume, and stop songs. MediaPlayer also exposes shuffle, repeat, volume, play position, and visualization capabilities. Reference page contains links to related code samples. + + + Raised when the active song changes due to active playback or due to explicit calls to the MoveNext or MovePrevious methods. + + + + Determines whether the game has control of the background music. + + + Retrieves visualization (frequency and sample) data for the currently-playing song. Reference page contains code sample. + Visualization (frequency and sample) data for the currently playing song. + + + Gets or set the muted setting for the media player. + + + Gets or sets the repeat setting for the media player. + + + Gets or sets the shuffle setting for the media player. + + + Gets or sets the visualization enabled setting for the media player. + + + Raised when the media player play state changes. + + + + Moves to the next song in the queue of playing songs. + + + Moves to the previous song in the queue of playing songs. + + + Pauses the currently playing song. + + + Plays a Song. Reference page contains links to related code samples. + Song to play. + + + Plays a SongCollection. Reference page contains links to related code samples. + SongCollection to play. + + + Plays a SongCollection, starting with the Song at the specified index. Reference page contains links to related code samples. + SongCollection to play. + Index of the song in the collection at which playback should begin. + + + Gets the play position within the currently playing song. + + + Gets the media playback queue, MediaQueue. + + + Resumes a paused song. + + + Gets the media playback state, MediaState. + + + Stops playing a song. + + + Gets or sets the media player volume. + + + Provides methods and properties to access and control the queue of playing songs. + + + Gets the current Song in the queue of playing songs. + + + Gets or sets the index of the current (active) song in the queue of playing songs. + + + Gets the count of songs in the MediaQueue. + + + Gets the Song at the specified index in the MediaQueue. + + + + Provides methods and properties to access the source or sources from which the media will be read. + + + Gets the available media sources. Reference page contains code sample. + + + Gets the MediaSourceType of this media source. + + + Gets the name of this media source. + + + Returns the name of this media source. + + + Type of the media source. + + + A local device. + + + A Windows Media Connect device. + + + Media playback state (playing, paused, or stopped). + + + Media playback is paused. + + + Media is currently playing. + + + Media playback is stopped. + + + Provides access to a picture in the media library. + + + Gets the picture album that contains the picture. + + + Gets the picture's date. + + + Immediately releases the unmanaged resources used by this object. + + + Determines whether the specified Picture is equal to this Picture. + Picture to compare with this instance. + + + Determines whether the specified Object is equal to this Picture. + Object to compare with this instance. + + + Gets the hash code for this instance. + + + Returns the stream that contains the image data. + + + Returns the stream that contains the picture's thumbnail image data. + + + Gets the picture's height. + + + Gets a value indicating whether the object is disposed. + + + Gets the name of the Picture. + + + Determines whether the specified Picture instances are equal. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Determines whether the specified Picture instances are not equal. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + Returns a String representation of the Picture. + + + Gets the picture's width. + + + Provides access to a picture album in the media library. + + + Gets the collection of picture albums that are contained within the picture album (that is, picture albums that are children of the picture album). + + + Immediately releases the unmanaged resources used by this object. + + + Determines whether the specified PictureAlbum is equal to this PictureAlbum. + PictureAlbum to compare with this instance. + + + Determines whether the specified Object is equal to this PictureAlbum. + Object to compare with this instance. + + + Gets the hash code for this instance. + + + Gets a value indicating whether the object is disposed. + + + Gets the name of the PictureAlbum. + + + Determines whether the specified PictureAlbum instances are equal. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Determines whether the specified PictureAlbum instances are not equal. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + Gets the parent picture album. + + + Gets the collection of pictures in this picture album. + + + Returns a String representation of the PictureAlbum. + + + A collection of picture albums in the media library. + + + Gets the number of PictureAlbum objects in the PictureAlbumCollection. + + + Immediately releases the unmanaged resources used by this object. + + + Returns an enumerator that iterates through the PictureAlbumCollection. + + + Gets a value indicating whether the object is disposed. + + + Gets the PictureAlbum at the specified index in the PictureAlbumCollection. + + + + Returns an enumerator that iterates through the collection. + + + A collection of pictures in the media library. + + + Gets the number of Picture objects in the PictureCollection. + + + Immediately releases the unmanaged resources used by this object. + + + Returns an enumerator that iterates through the PictureCollection. + + + Gets a value indicating whether the object is disposed. + + + Gets the Picture at the specified index in the PictureCollection. + + + + Returns an enumerator that iterates through the collection. + + + Provides access to a playlist in the media library. + + + Immediately releases the unmanaged resources used by this object. + + + Gets the duration of the Playlist. + + + Determines whether the specified Playlist is equal to this Playlist. + Playlist to compare with this instance. + + + Determines whether the specified Object is equal to this Playlist. + Object to compare with this instance. + + + Gets the hash code for this instance. + + + Gets a value indicating whether the object is disposed. + + + Gets the name of the Playlist. + + + Determines whether the specified Playlist instances are equal. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Determines whether the specified Playlist instances are not equal. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + Gets a SongCollection that contains the songs in the playlist. + + + Returns a String representation of the Playlist. + + + A collection of playlists in the media library. + + + Gets the number of Playlist objects in the PlaylistCollection. + + + Immediately releases the unmanaged resources used by this object. + + + Returns an enumerator that iterates through the PlaylistCollection. + + + Gets a value indicating whether the object is disposed. + + + Gets the Playlist at the specified index in the PlaylistCollection. + + + + Returns an enumerator that iterates through the collection. + + + Provides access to a song in the song library. + + + Gets the Album on which the Song appears. + + + Gets the Artist of the Song. + + + Immediately releases the unmanaged resources used by this object. + + + Gets the duration of the Song. + + + Determines whether the specified Song is equal to this Song. + Song to compare with this instance. + + + Determines whether the specified Object is equal to this Song. + Object to compare with this instance. + + + Constructs a new Song object based on the specified URI. + Name of the song. + Uri object that represents the URI. + + + Gets the Genre of the Song. + + + Gets the hash code for this instance. + + + Gets a value indicating whether the object is disposed. + + + Gets a value that indicates whether the song is DRM protected content. + + + Gets a value that indicates whether the song has been rated by the user. + + + Gets the name of the Song. + + + Determines whether the specified Song instances are equal. + Object to the left of the equality operator. + Object to the right of the equality operator. + + + Determines whether the specified Song instances are not equal. + Object to the left of the inequality operator. + Object to the right of the inequality operator. + + + Gets the song play count. + + + Gets the user's rating for the Song. + + + Returns a String representation of the Song. + + + Gets the track number of the song on the song's Album. + + + A collection of songs in the song library. + + + Gets the number of Song objects in the SongCollection. + + + Immediately releases the unmanaged resources used by this object. + + + Returns an enumerator that iterates through the SongCollection. + + + Gets a value indicating whether the object is disposed. + + + Gets the Song at the specified index in the SongCollection. + + + + Returns an enumerator that iterates through the collection. + + + Encapsulates visualization (frequency and sample) data for the currently-playing song. + + + Initializes a new instance of the VisualizationData class. + + + Returns a collection of floats that contain frequency data. + + + Returns a collection of floats that contain sample data. + + + \ No newline at end of file diff --git a/StardewInjector/bin/Debug/Mono.Cecil.dll b/StardewInjector/bin/Debug/Mono.Cecil.dll new file mode 100644 index 00000000..c77c6809 Binary files /dev/null and b/StardewInjector/bin/Debug/Mono.Cecil.dll differ diff --git a/StardewInjector/bin/Debug/Stardew Valley.exe b/StardewInjector/bin/Debug/Stardew Valley.exe new file mode 100644 index 00000000..c0e1d4be Binary files /dev/null and b/StardewInjector/bin/Debug/Stardew Valley.exe differ diff --git a/StardewInjector/bin/Debug/StardewInjector.dll b/StardewInjector/bin/Debug/StardewInjector.dll new file mode 100644 index 00000000..ec198674 Binary files /dev/null and b/StardewInjector/bin/Debug/StardewInjector.dll differ diff --git a/StardewInjector/bin/Debug/StardewInjector.dll.config b/StardewInjector/bin/Debug/StardewInjector.dll.config new file mode 100644 index 00000000..f1914205 --- /dev/null +++ b/StardewInjector/bin/Debug/StardewInjector.dll.config @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/StardewInjector/bin/Debug/StardewInjector.pdb b/StardewInjector/bin/Debug/StardewInjector.pdb new file mode 100644 index 00000000..ea65643b Binary files /dev/null and b/StardewInjector/bin/Debug/StardewInjector.pdb differ diff --git a/StardewInjector/bin/Debug/StardewModdingAPI.exe b/StardewInjector/bin/Debug/StardewModdingAPI.exe new file mode 100644 index 00000000..c1090547 Binary files /dev/null and b/StardewInjector/bin/Debug/StardewModdingAPI.exe differ diff --git a/StardewInjector/bin/Debug/StardewModdingAPI.pdb b/StardewInjector/bin/Debug/StardewModdingAPI.pdb new file mode 100644 index 00000000..07545045 Binary files /dev/null and b/StardewInjector/bin/Debug/StardewModdingAPI.pdb differ diff --git a/StardewInjector/bin/Debug/Steamworks.NET.dll b/StardewInjector/bin/Debug/Steamworks.NET.dll new file mode 100644 index 00000000..06768479 Binary files /dev/null and b/StardewInjector/bin/Debug/Steamworks.NET.dll differ diff --git a/StardewInjector/bin/Debug/steam_appid.txt b/StardewInjector/bin/Debug/steam_appid.txt new file mode 100644 index 00000000..9fe92b96 --- /dev/null +++ b/StardewInjector/bin/Debug/steam_appid.txt @@ -0,0 +1 @@ +413150 \ No newline at end of file diff --git a/StardewInjector/bin/Debug/xTile.dll b/StardewInjector/bin/Debug/xTile.dll new file mode 100644 index 00000000..7a004924 Binary files /dev/null and b/StardewInjector/bin/Debug/xTile.dll differ diff --git a/StardewInjector/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/StardewInjector/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 00000000..836ea946 Binary files /dev/null and b/StardewInjector/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/StardewInjector/obj/Debug/StardewInjector.csproj.FileListAbsolute.txt b/StardewInjector/obj/Debug/StardewInjector.csproj.FileListAbsolute.txt new file mode 100644 index 00000000..95f28c1a --- /dev/null +++ b/StardewInjector/obj/Debug/StardewInjector.csproj.FileListAbsolute.txt @@ -0,0 +1,22 @@ +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\obj\Debug\StardewInjector.csprojResolveAssemblyReference.cache +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\steam_appid.txt +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\StardewInjector.dll.config +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\StardewInjector.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\StardewInjector.pdb +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\Microsoft.Xna.Framework.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\Microsoft.Xna.Framework.Game.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\Mono.Cecil.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\StardewModdingAPI.exe +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\Stardew Valley.exe +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\Microsoft.Xna.Framework.Graphics.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\xTile.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\Lidgren.Network.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\Microsoft.Xna.Framework.Xact.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\Steamworks.NET.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\StardewModdingAPI.pdb +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\Microsoft.Xna.Framework.xml +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\Microsoft.Xna.Framework.Game.xml +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\Microsoft.Xna.Framework.Graphics.xml +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\bin\Debug\Microsoft.Xna.Framework.Xact.xml +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\obj\Debug\StardewInjector.dll +C:\Users\zoryn\Documents\GitHub\SMAPI\StardewInjector\obj\Debug\StardewInjector.pdb diff --git a/StardewInjector/obj/Debug/StardewInjector.csprojResolveAssemblyReference.cache b/StardewInjector/obj/Debug/StardewInjector.csprojResolveAssemblyReference.cache new file mode 100644 index 00000000..e17ed343 Binary files /dev/null and b/StardewInjector/obj/Debug/StardewInjector.csprojResolveAssemblyReference.cache differ diff --git a/StardewInjector/obj/Debug/StardewInjector.dll b/StardewInjector/obj/Debug/StardewInjector.dll new file mode 100644 index 00000000..ec198674 Binary files /dev/null and b/StardewInjector/obj/Debug/StardewInjector.dll differ diff --git a/StardewInjector/obj/Debug/StardewInjector.pdb b/StardewInjector/obj/Debug/StardewInjector.pdb new file mode 100644 index 00000000..ea65643b Binary files /dev/null and b/StardewInjector/obj/Debug/StardewInjector.pdb differ diff --git a/StardewInjector/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/StardewInjector/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 00000000..e69de29b diff --git a/StardewInjector/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/StardewInjector/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 00000000..e69de29b diff --git a/StardewInjector/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/StardewInjector/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 00000000..e69de29b diff --git a/StardewInjector/packages.config b/StardewInjector/packages.config new file mode 100644 index 00000000..94c493b3 --- /dev/null +++ b/StardewInjector/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/StardewModdingAPI.sln b/StardewModdingAPI.sln index 76616134..7f30da48 100644 --- a/StardewModdingAPI.sln +++ b/StardewModdingAPI.sln @@ -3,12 +3,12 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 VisualStudioVersion = 12.0.21005.1 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StardewModdingAPI", "StardewModdingAPI\StardewModdingAPI.csproj", "{F1A573B0-F436-472C-AE29-0B91EA6B9F8F}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TrainerMod", "TrainerMod\TrainerMod.csproj", "{28480467-1A48-46A7-99F8-236D95225359}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StardewInjector", "StardewInjector\StardewInjector.csproj", "{C9388F35-68D2-431C-88BB-E26286272256}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StardewModdingAPI", "StardewModdingAPI\StardewModdingAPI.csproj", "{F1A573B0-F436-472C-AE29-0B91EA6B9F8F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -19,18 +19,6 @@ Global Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Debug|x86.ActiveCfg = Debug|x86 - {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Debug|x86.Build.0 = Debug|x86 - {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Release|Any CPU.Build.0 = Release|Any CPU - {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Release|Mixed Platforms.Build.0 = Release|x86 - {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Release|x86.ActiveCfg = Release|x86 - {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Release|x86.Build.0 = Release|x86 {28480467-1A48-46A7-99F8-236D95225359}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {28480467-1A48-46A7-99F8-236D95225359}.Debug|Any CPU.Build.0 = Debug|Any CPU {28480467-1A48-46A7-99F8-236D95225359}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -51,6 +39,18 @@ Global {C9388F35-68D2-431C-88BB-E26286272256}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {C9388F35-68D2-431C-88BB-E26286272256}.Release|Mixed Platforms.Build.0 = Release|Any CPU {C9388F35-68D2-431C-88BB-E26286272256}.Release|x86.ActiveCfg = Release|Any CPU + {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Debug|x86.ActiveCfg = Debug|x86 + {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Debug|x86.Build.0 = Debug|x86 + {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Release|Any CPU.Build.0 = Release|Any CPU + {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Release|Mixed Platforms.Build.0 = Release|x86 + {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Release|x86.ActiveCfg = Release|x86 + {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/StardewModdingAPI.v12.suo b/StardewModdingAPI.v12.suo index 26c037b0..0f5c0fce 100644 Binary files a/StardewModdingAPI.v12.suo and b/StardewModdingAPI.v12.suo differ diff --git a/StardewModdingAPI/Command.cs b/StardewModdingAPI/Command.cs index f0162a4d..bb18a9a6 100644 --- a/StardewModdingAPI/Command.cs +++ b/StardewModdingAPI/Command.cs @@ -104,7 +104,7 @@ namespace StardewModdingAPI Program.LogError("Command failed to fire because it's fire event is null: " + CommandName); return; } - CommandFired.Invoke(this, null); + CommandFired.Invoke(this, new EventArgsCommand(this)); } } } diff --git a/StardewModdingAPI/Program.cs b/StardewModdingAPI/Program.cs index dccc9ef3..a7065c69 100644 --- a/StardewModdingAPI/Program.cs +++ b/StardewModdingAPI/Program.cs @@ -1,4 +1,3 @@ -<<<<<<< HEAD using System; using System.CodeDom.Compiler; using System.Collections.Generic; @@ -237,7 +236,8 @@ namespace StardewModdingAPI LogInfo("Initializing Console Input Thread..."); consoleInputThread = new Thread(ConsoleInputThread); - //The only command in the API (at least it should be, for now) + //The only command in the API (at least it should be, for now)\ + Command.RegisterCommand("help", "Lists all commands | 'help ' returns command description").CommandFired += help_CommandFired; //Command.RegisterCommand("crash", "crashes sdv").CommandFired += delegate { Game1.player.draw(null); }; @@ -324,533 +324,21 @@ namespace StardewModdingAPI StardewForm = Control.FromHandle(Program.gamePtr.Window.Handle).FindForm(); StardewForm.Closing += StardewForm_Closing; - StardewGameInfo.SetValue(StardewProgramType, gamePtr); ready = true; if (StardewInjectorLoaded) { //StardewInjectorMod.Entry(true); - StardewAssembly.EntryPoint.Invoke(null, new object[] { new string[0] }); + StardewAssembly.EntryPoint.Invoke(null, new object[] {new string[0]}); + StardewGameInfo.SetValue(StardewProgramType, gamePtr); } - - gamePtr.Run(); - } - catch (Exception ex) - { - LogError("Game failed to start: " + ex); - } - } - - static void StardewForm_Closing(object sender, CancelEventArgs e) - { - e.Cancel = true; - gamePtr.Exit(); - gamePtr.Dispose(); - StardewForm.Hide(); - ready = false; - } - - public static void LoadMods() - { - LogColour(ConsoleColor.Green, "LOADING MODS"); - int loadedMods = 0; - foreach (string ModPath in ModPaths) - { - foreach (String s in Directory.GetFiles(ModPath, "*.dll")) - { - if (s.Contains("StardewInjector")) - continue; - LogColour(ConsoleColor.Green, "Found DLL: " + s); - try - { - Assembly mod = Assembly.UnsafeLoadFrom(s); //to combat internet-downloaded DLLs - - if (mod.DefinedTypes.Count(x => x.BaseType == typeof (Mod)) > 0) - { - LogColour(ConsoleColor.Green, "Loading Mod DLL..."); - TypeInfo tar = mod.DefinedTypes.First(x => x.BaseType == typeof (Mod)); - Mod m = (Mod) mod.CreateInstance(tar.ToString()); - Console.WriteLine("LOADED MOD: {0} by {1} - Version {2} | Description: {3}", m.Name, m.Authour, m.Version, m.Description); - loadedMods += 1; - m.Entry(); - } - else - { - LogError("Invalid Mod DLL"); - } - } - catch (Exception ex) - { - LogError("Failed to load mod '{0}'. Exception details:\n" + ex, s); - } - } - } - LogColour(ConsoleColor.Green, "LOADED {0} MODS", loadedMods); - } - - public static void ConsoleInputThread() - { - string input = string.Empty; - - while (true) - { - Command.CallCommand(Console.ReadLine()); - } - } - - static void Events_LoadContent() - { - LogInfo("Initializing Debug Assets..."); - DebugPixel = new Texture2D(Game1.graphics.GraphicsDevice, 1, 1); - DebugPixel.SetData(new Color[] { Color.White }); - - if (debug) - { - LogColour(ConsoleColor.Magenta, "REGISTERING BASE CUSTOM ITEM"); - SObject so = new SObject(); - so.Name = "Mario Block"; - so.CategoryName = "SMAPI Test Mod"; - so.Description = "It's a block from Mario!\nLoaded in realtime by SMAPI."; - so.Texture = Texture2D.FromStream(Game1.graphics.GraphicsDevice, new FileStream(ModContentPaths[0] + "\\Test.png", FileMode.Open)); - so.IsPassable = true; - so.IsPlaceable = true; - LogColour(ConsoleColor.Cyan, "REGISTERED WITH ID OF: " + SGame.RegisterModItem(so)); - - LogColour(ConsoleColor.Magenta, "REGISTERING SECOND CUSTOM ITEM"); - SObject so2 = new SObject(); - so2.Name = "Mario Painting"; - so2.CategoryName = "SMAPI Test Mod"; - so2.Description = "It's a painting of a creature from Mario!\nLoaded in realtime by SMAPI."; - so2.Texture = Texture2D.FromStream(Game1.graphics.GraphicsDevice, new FileStream(ModContentPaths[0] + "\\PaintingTest.png", FileMode.Open)); - so2.IsPassable = true; - so2.IsPlaceable = true; - LogColour(ConsoleColor.Cyan, "REGISTERED WITH ID OF: " + SGame.RegisterModItem(so2)); - } - - if (debug) - Command.CallCommand("load"); - } - - static void Events_KeyPressed(Keys key) - { - - } - - static void Events_MenuChanged(IClickableMenu newMenu) - { - LogInfo("NEW MENU: " + newMenu.GetType()); - if (newMenu is GameMenu) - { - Game1.activeClickableMenu = SGameMenu.ConstructFromBaseClass(Game1.activeClickableMenu as GameMenu); - } - } - - static void Events_LocationsChanged(List newLocations) - { - if (debug) - { - SGame.ModLocations = SGameLocation.ConstructFromBaseClasses(Game1.locations); - } - } - - static void Events_CurrentLocationChanged(GameLocation newLocation) - { - //SGame.CurrentLocation = null; - //System.Threading.Thread.Sleep(10); - if (debug) - { - Console.WriteLine(newLocation.name); - SGame.CurrentLocation = SGame.LoadOrCreateSGameLocationFromName(newLocation.name); - } - //Game1.currentLocation = SGame.CurrentLocation; - //LogInfo(((SGameLocation) newLocation).name); - //LogInfo("LOC CHANGED: " + SGame.currentLocation.name); - } - - public static void StardewInvoke(Action a) - { - StardewForm.Invoke(a); - } - - static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) - { - Console.WriteLine("An exception has been caught"); - File.WriteAllText(Program.LogPath + "\\MODDED_ErrorLog_" + Extensions.Random.Next(100000000, 999999999) + ".txt", e.ExceptionObject.ToString()); - } - - static void Application_ThreadException(object sender, ThreadExceptionEventArgs e) - { - Console.WriteLine("A thread exception has been caught"); - File.WriteAllText(Program.LogPath + "\\MODDED_ErrorLog_" + Extensions.Random.Next(100000000, 999999999) + ".txt", e.Exception.ToString()); - } - - static void help_CommandFired(Command cmd) - { - if (cmd.CalledArgs.Length > 0) - { - Command fnd = Command.FindCommand(cmd.CalledArgs[0]); - if (fnd == null) - LogError("The command specified could not be found"); else { - if (fnd.CommandArgs.Length > 0) - LogInfo("{0}: {1} - {2}", fnd.CommandName, fnd.CommandDesc, fnd.CommandArgs.ToSingular()); - else - LogInfo("{0}: {1}", fnd.CommandName, fnd.CommandDesc); - } - } - else - LogInfo("Commands: " + Command.RegisteredCommands.Select(x => x.CommandName).ToSingular()); - } - - #region Logging - - public static void Log(object o, params object[] format) - { - if (format.Length > 0) - { - if (format[0] is bool) - { - if ((bool)format[0] == false) - { - //suppress logging to file - Console.WriteLine("[{0}] {1}", System.DateTime.Now.ToLongTimeString(), String.Format(o.ToString(), format)); - return; - } - } - } - string toLog = string.Format("[{0}] {1}", System.DateTime.Now.ToLongTimeString(), String.Format(o.ToString(), format)); - Console.WriteLine(toLog); - - if (!disableLogging) - { - LogStream.WriteLine(toLog); - LogStream.Flush(); - } - } - - public static void LogColour(ConsoleColor c, object o, params object[] format) - { - Console.ForegroundColor = c; - Log(o.ToString(), format); - Console.ForegroundColor = ConsoleColor.Gray; - } - - public static void LogInfo(object o, params object[] format) - { - Console.ForegroundColor = ConsoleColor.Yellow; - Log(o.ToString(), format); - Console.ForegroundColor = ConsoleColor.Gray; - } - - public static void LogError(object o, params object[] format) - { - Console.ForegroundColor = ConsoleColor.Red; - Log(o.ToString(), format); - Console.ForegroundColor = ConsoleColor.Gray; - } - - public static void LogDebug(object o, params object[] format) - { - if (!debug) - return; - Console.ForegroundColor = ConsoleColor.DarkYellow; - Log(o.ToString(), format); - Console.ForegroundColor = ConsoleColor.Gray; - } - - public static void LogValueNotSpecified() - { - LogError(" must be specified"); - } - - public static void LogObjectValueNotSpecified() - { - LogError(" and must be specified"); - } - - public static void LogValueInvalid() - { - LogError(" is invalid"); - } - - public static void LogObjectInvalid() - { - LogError(" is invalid"); - } - - public static void LogValueNotInt32() - { - LogError(" must be a whole number (Int32)"); - } - - #endregion - } -} -======= -using System; -using System.CodeDom.Compiler; -using System.Collections.Generic; -using System.ComponentModel; -using System.IO; -using System.Linq; -using System.Reflection; -using System.Reflection.Emit; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Windows.Forms; -using Microsoft.CSharp; -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Graphics; -using Microsoft.Xna.Framework.Input; -using StardewModdingAPI.Inheritance; -using StardewModdingAPI.Inheritance.Menus; -using StardewValley; -using StardewValley.Menus; -using StardewValley.Minigames; -using StardewValley.Network; -using StardewValley.Tools; -using Keys = Microsoft.Xna.Framework.Input.Keys; -using Object = StardewValley.Object; - -namespace StardewModdingAPI -{ - public class Program - { - public static string ExecutionPath { get; private set; } - public static string DataPath = Path.Combine(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "StardewValley")); - public static List ModPaths = new List(); - public static List ModContentPaths = new List(); - public static string LogPath = Path.Combine(Path.Combine(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "StardewValley")), "ErrorLogs"); - public static string CurrentLog { get; private set; } - public static StreamWriter LogStream { get; private set; } - - public static Texture2D DebugPixel { get; private set; } - - public static SGame gamePtr; - public static bool ready; - - public static Assembly StardewAssembly; - public static Type StardewProgramType; - public static FieldInfo StardewGameInfo; - public static Form StardewForm; - - public static Thread gameThread; - public static Thread consoleInputThread; - - public const string Version = "0.36 Alpha"; - public const bool debug = true; - public static bool disableLogging { get; private set; } - - ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - [STAThread] - private static void Main(string[] args) - { - Console.Title = "Stardew Modding API Console"; - - Console.Title += " - Version " + Version; - if (debug) - Console.Title += " - DEBUG IS NOT FALSE, AUTHOUR NEEDS TO REUPLOAD THIS VERSION"; - - //TODO: Have an app.config and put the paths inside it so users can define locations to load mods from - ExecutionPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); - ModPaths.Add(Path.Combine(Path.Combine(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "StardewValley")), "Mods")); - ModPaths.Add(Path.Combine(ExecutionPath, "Mods")); - ModPaths.Add(Path.Combine(Path.Combine(ExecutionPath, "Mods"), "Content")); - ModContentPaths.Add(Path.Combine(Path.Combine(Path.Combine(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "StardewValley")), "Mods"), "Content")); - - //Checks that all defined modpaths exist as directories - foreach (string ModPath in ModPaths) - { - try - { - if (File.Exists(ModPath)) - File.Delete(ModPath); - if (!Directory.Exists(ModPath)) - Directory.CreateDirectory(ModPath); - } - catch (Exception ex) - { - - LogError("Could not create a missing ModPath: " + ModPath + "\n\n" + ex); - } - } - //Same for content - foreach (string ModContentPath in ModContentPaths) - { - try - { - if (!Directory.Exists(ModContentPath)) - Directory.CreateDirectory(ModContentPath); - } - catch (Exception ex) - { - LogError("Could not create a missing ModContentPath: " + ModContentPath + "\n\n" + ex); + StardewGameInfo.SetValue(StardewProgramType, gamePtr); + gamePtr.Run(); } } - //And then make sure we have an errorlog dir - try - { - if (!Directory.Exists(LogPath)) - Directory.CreateDirectory(LogPath); - } - catch (Exception ex) - { - LogError("Could not create the missing ErrorLogs path: " + LogPath + "\n\n" + ex); - } - - //Define the path to the current log file - CurrentLog = LogPath + "\\MODDED_ProgramLog_LATEST"/* + System.DateTime.Now.Ticks + */ + ".txt"; - - Log(ExecutionPath, false); - - //Create a writer to the log file - try - { - LogStream = new StreamWriter(CurrentLog, false); - } - catch (Exception ex) - { - disableLogging = true; - LogError("Could not initialize LogStream - Logging is disabled"); - } - - - LogInfo("Initializing SDV Assembly..."); - if (!File.Exists(ExecutionPath + "\\Stardew Valley.exe")) - { - //If the api isn't next to SDV.exe then terminate. Though it'll crash before we even get here w/o sdv.exe. Perplexing. - LogError("Could not find: " + ExecutionPath + "\\Stardew Valley.exe"); - LogError("The API will now terminate."); - Console.ReadKey(); - Environment.Exit(-4); - } - - //Load in that assembly. Also, ignore security :D - StardewAssembly = Assembly.UnsafeLoadFrom(ExecutionPath + "\\Stardew Valley.exe"); - StardewProgramType = StardewAssembly.GetType("StardewValley.Program", true); - StardewGameInfo = StardewProgramType.GetField("gamePtr"); - - //Change the game's version - LogInfo("Injecting New SDV Version..."); - Game1.version += "-Z_MODDED | SMAPI " + Version; - - //Create the thread for the game to run in. - gameThread = new Thread(RunGame); - LogInfo("Starting SDV..."); - gameThread.Start(); - - //I forget. - SGame.GetStaticFields(); - - while (!ready) - { - //Wait for the game to load up - } - - //SDV is running - Log("SDV Loaded Into Memory"); - - //Create definition to listen for input - LogInfo("Initializing Console Input Thread..."); - consoleInputThread = new Thread(ConsoleInputThread); - - //The only command in the API (at least it should be, for now) - Command.RegisterCommand("help", "Lists all commands | 'help ' returns command description").CommandFired += help_CommandFired; - //Command.RegisterCommand("crash", "crashes sdv").CommandFired += delegate { Game1.player.draw(null); }; - - //Subscribe to events - Events.KeyPressed += Events_KeyPressed; - Events.LoadContent += Events_LoadContent; - //Events.MenuChanged += Events_MenuChanged; //Idk right now - if (debug) - { - //Experimental - //Events.LocationsChanged += Events_LocationsChanged; - //Events.CurrentLocationChanged += Events_CurrentLocationChanged; - } - - //Do tweaks using winforms invoke because I'm lazy - LogInfo("Applying Final SDV Tweaks..."); - StardewInvoke(() => - { - gamePtr.IsMouseVisible = false; - gamePtr.Window.Title = "Stardew Valley - Version " + Game1.version; - StardewForm.Resize += Events.InvokeResize; - }); - - //Game's in memory now, send the event - LogInfo("Game Loaded"); - Events.InvokeGameLoaded(); - - LogColour(ConsoleColor.Cyan, "Type 'help' for help, or 'help ' for a command's usage"); - //Begin listening to input - consoleInputThread.Start(); - - - while (ready) - { - //Check if the game is still running 10 times a second - Thread.Sleep(1000 / 10); - } - - //abort the thread, we're closing - if (consoleInputThread != null && consoleInputThread.ThreadState == ThreadState.Running) - consoleInputThread.Abort(); - - LogInfo("Game Execution Finished"); - LogInfo("Shutting Down..."); - Thread.Sleep(100); - /* - int time = 0; - int step = 100; - int target = 1000; - while (true) - { - time += step; - Thread.Sleep(step); - - Console.Write("."); - - if (time >= target) - break; - } - */ - Environment.Exit(0); - } - - - - ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - - public static void RunGame() - { - //Does this even do anything??? - Application.ThreadException += Application_ThreadException; - Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); - AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; - //I've yet to see it called :| - - try - { - gamePtr = new SGame(); - LogInfo("Patching SDV Graphics Profile..."); - Game1.graphics.GraphicsProfile = GraphicsProfile.HiDef; - LoadMods(); - - StardewForm = Control.FromHandle(Program.gamePtr.Window.Handle).FindForm(); - StardewForm.Closing += StardewForm_Closing; - StardewGameInfo.SetValue(StardewProgramType, gamePtr); - - ready = true; - - gamePtr.Run(); - } catch (Exception ex) { LogError("Game failed to start: " + ex); @@ -874,6 +362,8 @@ namespace StardewModdingAPI { foreach (String s in Directory.GetFiles(ModPath, "*.dll")) { + if (s.Contains("StardewInjector")) + continue; LogColour(ConsoleColor.Green, "Found DLL: " + s); try { @@ -912,7 +402,7 @@ namespace StardewModdingAPI } } - static void Events_LoadContent(object sender, EventArgs e) + static void Events_LoadContent(object o, EventArgs e) { LogInfo("Initializing Debug Assets..."); DebugPixel = new Texture2D(Game1.graphics.GraphicsDevice, 1, 1); @@ -945,7 +435,7 @@ namespace StardewModdingAPI Command.CallCommand("load"); } - static void Events_KeyPressed(object key, EventArgs e) + static void Events_KeyPressed(object o, EventArgsKeyPressed e) { } @@ -998,12 +488,11 @@ namespace StardewModdingAPI File.WriteAllText(Program.LogPath + "\\MODDED_ErrorLog_" + Extensions.Random.Next(100000000, 999999999) + ".txt", e.Exception.ToString()); } - static void help_CommandFired(object sender, EventArgs e) + static void help_CommandFired(object o, EventArgsCommand e) { - Command cmd = sender as Command; - if (cmd.CalledArgs.Length > 0) + if (e.Command.CalledArgs.Length > 0) { - Command fnd = Command.FindCommand(cmd.CalledArgs[0]); + Command fnd = Command.FindCommand(e.Command.CalledArgs[0]); if (fnd == null) LogError("The command specified could not be found"); else @@ -1101,5 +590,4 @@ namespace StardewModdingAPI #endregion } -} ->>>>>>> origin/master +} \ No newline at end of file diff --git a/StardewModdingAPI/StardewModdingAPI.csproj b/StardewModdingAPI/StardewModdingAPI.csproj index 79747b7e..3e39ce98 100644 --- a/StardewModdingAPI/StardewModdingAPI.csproj +++ b/StardewModdingAPI/StardewModdingAPI.csproj @@ -1,4 +1,3 @@ -<<<<<<< HEAD  @@ -48,108 +47,6 @@ icon.ico - - - - - - Z:\Games\Stardew Valley\Stardew Valley.exe - - - - - - - - - - - - Z:\Games\Stardew Valley\xTile.dll - - - - - - - - - - - - - - - - - - - - - - - - - PreserveNewest - - - - - copy /y "$(SolutionDir)$(ProjectName)\$(OutDir)StardewModdingAPI.exe" "$(SolutionDir)Release\" - -======= - - - - - Debug - AnyCPU - {F1A573B0-F436-472C-AE29-0B91EA6B9F8F} - Exe - Properties - StardewModdingAPI - StardewModdingAPI - v4.5 - 512 - SAK - SAK - SAK - SAK - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - x86 - bin\x86\Debug\ - - - x86 - bin\x86\Release\ - - - icon.ico - - - - False - @@ -205,7 +102,6 @@ copy /y "$(SolutionDir)$(ProjectName)\$(OutDir)StardewModdingAPI.exe" "$(SolutionDir)Release\" ->>>>>>> origin/master