From 3879d450b480eabd0582292b1d50300fb66d32cd Mon Sep 17 00:00:00 2001 From: Glatzemann Date: Thu, 1 Dec 2011 06:28:41 +0000 Subject: [PATCH] added SharpDX.Diagnostics to AddIns using SharpDX for explicit error messages added information about OperatingSystem and Version to AddInSystemFactory added IsSupported field to AddIn Creators AddInSystemFactory now only loads supported AddIns added Metadata resource files to all AddIns containing information about supported platforms. --- ANX.Framework/NonXNA/AddInSystemFactory.cs | 86 +++++++++++- ANX.Framework/NonXNA/ICreator.cs | 2 + ANX.Framework/Properties/AssemblyInfo.cs | 4 +- .../ANX.InputSystem.Windows.Kinect.csproj | 9 ++ .../ANX.InputSystem.Windows.Kinect/Creator.cs | 9 ++ .../Metadata.Designer.cs | 72 ++++++++++ .../Metadata.resx | 123 ++++++++++++++++++ .../ANX.InputSystem.Windows.XInput.csproj | 14 ++ .../ANX.InputSystem.Windows.XInput/Creator.cs | 9 ++ .../Metadata.Designer.cs | 72 ++++++++++ .../Metadata.resx | 123 ++++++++++++++++++ .../ANX.InputSystems.Windows.Recording.csproj | 11 ++ .../Creator.cs | 12 +- .../Metadata.Designer.cs | 72 ++++++++++ .../Metadata.resx | 123 ++++++++++++++++++ .../ANX.Framework.Windows.DX10.csproj | 14 ++ .../ANX.Framework.Windows.DX10/Creator.cs | 9 ++ .../Metadata.Designer.cs | 72 ++++++++++ .../ANX.Framework.Windows.DX10/Metadata.resx | 123 ++++++++++++++++++ .../ANX.Framework.Windows.GL3.csproj | 11 ++ .../ANX.Framework.Windows.GL3/Creator.cs | 11 ++ .../Metadata.Designer.cs | 72 ++++++++++ .../ANX.Framework.Windows.GL3/Metadata.resx | 123 ++++++++++++++++++ .../ANX.RenderSystem.Windows.DX11.csproj | 14 ++ .../ANX.RenderSystem.Windows.DX11/Creator.cs | 9 ++ .../Metadata.Designer.cs | 72 ++++++++++ .../Metadata.resx | 123 ++++++++++++++++++ Samples/SimpleSprite/Game1.cs | 5 + .../ANX.SoundSystem.Windows.XAudio.csproj | 14 ++ .../ANX.SoundSystem.Windows.XAudio/Creator.cs | 9 ++ .../Metadata.Designer.cs | 72 ++++++++++ .../Metadata.resx | 123 ++++++++++++++++++ 32 files changed, 1611 insertions(+), 6 deletions(-) create mode 100644 InputSystems/ANX.InputSystem.Windows.Kinect/Metadata.Designer.cs create mode 100644 InputSystems/ANX.InputSystem.Windows.Kinect/Metadata.resx create mode 100644 InputSystems/ANX.InputSystem.Windows.XInput/Metadata.Designer.cs create mode 100644 InputSystems/ANX.InputSystem.Windows.XInput/Metadata.resx create mode 100644 InputSystems/ANX.InputSystems.Windows.Recording/Metadata.Designer.cs create mode 100644 InputSystems/ANX.InputSystems.Windows.Recording/Metadata.resx create mode 100644 RenderSystems/ANX.Framework.Windows.DX10/Metadata.Designer.cs create mode 100644 RenderSystems/ANX.Framework.Windows.DX10/Metadata.resx create mode 100644 RenderSystems/ANX.Framework.Windows.GL3/Metadata.Designer.cs create mode 100644 RenderSystems/ANX.Framework.Windows.GL3/Metadata.resx create mode 100644 RenderSystems/ANX.RenderSystem.Windows.DX11/Metadata.Designer.cs create mode 100644 RenderSystems/ANX.RenderSystem.Windows.DX11/Metadata.resx create mode 100644 SoundSystems/ANX.SoundSystem.Windows.XAudio/Metadata.Designer.cs create mode 100644 SoundSystems/ANX.SoundSystem.Windows.XAudio/Metadata.resx diff --git a/ANX.Framework/NonXNA/AddInSystemFactory.cs b/ANX.Framework/NonXNA/AddInSystemFactory.cs index 0cf1100d..3aba855c 100644 --- a/ANX.Framework/NonXNA/AddInSystemFactory.cs +++ b/ANX.Framework/NonXNA/AddInSystemFactory.cs @@ -6,6 +6,8 @@ using System.Collections.Generic; using System.Linq; using ANX.Framework.Input; using NLog; +using System.Collections; +using System.Resources; #endregion // Using Statements @@ -64,6 +66,8 @@ namespace ANX.Framework.NonXNA private static AddInSystemFactory instance; private bool initialized; private Dictionary defaultCreators = new Dictionary(); + private OperatingSystem operatingSystem; + private Version operatingSystemVersion; private static Logger logger = LogManager.GetCurrentClassLogger(); @@ -84,6 +88,10 @@ namespace ANX.Framework.NonXNA private AddInSystemFactory() { this.creators = new Dictionary(); + + this.operatingSystem = Environment.OSVersion; + this.operatingSystemVersion = this.operatingSystem.Version; + logger.Info("Operating System: {0} ({1})", operatingSystem.VersionString, operatingSystemVersion.ToString()); } public void Initialize() @@ -122,10 +130,30 @@ namespace ANX.Framework.NonXNA typeof(ISoundSystemCreator).IsAssignableFrom(p) )) { - logger.Info("[ANX] registering instance of '{0}'...", t.FullName); + logger.Info("[ANX] testing if assembly is supported on current platform"); + string[] platforms = FetchSupportedPlattforms(part); + bool supportedPlatform = false; - var instance = part.CreateInstance(t.FullName); - ((ICreator)instance).RegisterCreator(this); + foreach (string platform in platforms) + { + if (string.Equals(OperatingSystem.Platform.ToString(), platform, StringComparison.InvariantCultureIgnoreCase)) + { + supportedPlatform = true; + break; + } + } + + if (supportedPlatform) + { + logger.Info("[ANX] registering instance of '{0}'...", t.FullName); + + var instance = part.CreateInstance(t.FullName); + ((ICreator)instance).RegisterCreator(this); + } + else + { + logger.Info("[ANX] current platform '{0}' is not supported by '{1}'", OperatingSystem.Platform.ToString(), t.FullName); + } } } } @@ -216,6 +244,22 @@ namespace ANX.Framework.NonXNA defaultCreators[creator.GetType().GetInterfaces()[0]] = creator; } + public OperatingSystem OperatingSystem + { + get + { + return this.operatingSystem; + } + } + + public Version OperatingSystemVersion + { + get + { + return this.operatingSystemVersion; + } + } + private void SetDefaultCreators() { foreach (ICreator creator in this.creators.Values) @@ -248,11 +292,47 @@ namespace ANX.Framework.NonXNA SetDefaultCreator(inputSystemCreator); } break; + case "ANX.Framework.NonXNA.ICreator": + break; default: throw new InvalidOperationException(String.Format("unable to set a default system for creator of type '{0}'", type)); } } } + private string[] FetchSupportedPlattforms(Assembly assembly) + { + string[] platforms = null; + string[] res = assembly.GetManifestResourceNames(); + + if (res != null) + { + foreach (string ressource in res) + { + Stream manifestResourceStream = assembly.GetManifestResourceStream(ressource); + + if (manifestResourceStream != null) + { + using (ResourceReader resourceReader = new ResourceReader(manifestResourceStream)) + { + IDictionaryEnumerator dict = resourceReader.GetEnumerator(); + while (dict.MoveNext()) + { + if (string.Equals(dict.Key.ToString(), "SupportedPlatforms", StringComparison.InvariantCultureIgnoreCase) && + dict.Value.GetType() == typeof(string)) + { + platforms = dict.Value.ToString().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + return platforms; + } + } + resourceReader.Close(); + } + } + } + } + + return platforms; + } + } } diff --git a/ANX.Framework/NonXNA/ICreator.cs b/ANX.Framework/NonXNA/ICreator.cs index 6fe32b5b..559d7ebf 100644 --- a/ANX.Framework/NonXNA/ICreator.cs +++ b/ANX.Framework/NonXNA/ICreator.cs @@ -64,5 +64,7 @@ namespace ANX.Framework.NonXNA string Name { get; } int Priority { get; } + + bool IsSupported { get; } } } diff --git a/ANX.Framework/Properties/AssemblyInfo.cs b/ANX.Framework/Properties/AssemblyInfo.cs index 9d367894..eb385917 100644 --- a/ANX.Framework/Properties/AssemblyInfo.cs +++ b/ANX.Framework/Properties/AssemblyInfo.cs @@ -31,8 +31,8 @@ using System.Runtime.InteropServices; // // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: -[assembly: AssemblyVersion("0.4.30.*")] -[assembly: AssemblyFileVersion("0.4.30.0")] +[assembly: AssemblyVersion("0.4.31.*")] +[assembly: AssemblyFileVersion("0.4.31.0")] [assembly:InternalsVisibleTo("ANX.Framework.Windows.DX10")] [assembly:InternalsVisibleTo("ANX.RenderSystem.Windows.DX11")] diff --git a/InputSystems/ANX.InputSystem.Windows.Kinect/ANX.InputSystem.Windows.Kinect.csproj b/InputSystems/ANX.InputSystem.Windows.Kinect/ANX.InputSystem.Windows.Kinect.csproj index c6617776..3c57a416 100644 --- a/InputSystems/ANX.InputSystem.Windows.Kinect/ANX.InputSystem.Windows.Kinect.csproj +++ b/InputSystems/ANX.InputSystem.Windows.Kinect/ANX.InputSystem.Windows.Kinect.csproj @@ -55,7 +55,16 @@ + + Metadata.resx + True + True + + + PublicResXFileCodeGenerator + Metadata.Designer.cs + ResXFileCodeGenerator Resources.Designer.cs diff --git a/InputSystems/ANX.InputSystem.Windows.Kinect/Creator.cs b/InputSystems/ANX.InputSystem.Windows.Kinect/Creator.cs index e58aa68b..f71ff9c1 100644 --- a/InputSystems/ANX.InputSystem.Windows.Kinect/Creator.cs +++ b/InputSystems/ANX.InputSystem.Windows.Kinect/Creator.cs @@ -67,6 +67,15 @@ namespace ANX.InputSystem.Windows.Kinect get { return int.MaxValue; } } + public bool IsSupported + { + get + { + //TODO: this is just a very basic version of test for support + return AddInSystemFactory.Instance.OperatingSystem.Platform == PlatformID.Win32NT; + } + } + public void RegisterCreator(AddInSystemFactory factory) { factory.AddCreator(this); diff --git a/InputSystems/ANX.InputSystem.Windows.Kinect/Metadata.Designer.cs b/InputSystems/ANX.InputSystem.Windows.Kinect/Metadata.Designer.cs new file mode 100644 index 00000000..7f23c917 --- /dev/null +++ b/InputSystems/ANX.InputSystem.Windows.Kinect/Metadata.Designer.cs @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.239 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace ANX.Framework.Windows.DX10 { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Metadata { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Metadata() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ANX.Framework.Windows.DX10.Metadata", typeof(Metadata).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Win32NT ähnelt. + /// + public static string SupportedPlatforms { + get { + return ResourceManager.GetString("SupportedPlatforms", resourceCulture); + } + } + } +} diff --git a/InputSystems/ANX.InputSystem.Windows.Kinect/Metadata.resx b/InputSystems/ANX.InputSystem.Windows.Kinect/Metadata.resx new file mode 100644 index 00000000..c90f8c84 --- /dev/null +++ b/InputSystems/ANX.InputSystem.Windows.Kinect/Metadata.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Win32NT + + \ No newline at end of file diff --git a/InputSystems/ANX.InputSystem.Windows.XInput/ANX.InputSystem.Windows.XInput.csproj b/InputSystems/ANX.InputSystem.Windows.XInput/ANX.InputSystem.Windows.XInput.csproj index 5cce4d3e..4157d691 100644 --- a/InputSystems/ANX.InputSystem.Windows.XInput/ANX.InputSystem.Windows.XInput.csproj +++ b/InputSystems/ANX.InputSystem.Windows.XInput/ANX.InputSystem.Windows.XInput.csproj @@ -38,6 +38,9 @@ ..\..\lib\SharpDX\Bin\SharpDX.dll + + ..\..\lib\SharpDX\Bin\SharpDX.Diagnostics.dll + ..\..\lib\SharpDX\Bin\SharpDX.DirectInput.dll @@ -57,6 +60,11 @@ + + Metadata.resx + True + True + @@ -67,6 +75,12 @@ ANX.Framework + + + PublicResXFileCodeGenerator + Metadata.Designer.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Win32NT + + \ No newline at end of file diff --git a/InputSystems/ANX.InputSystems.Windows.Recording/ANX.InputSystems.Windows.Recording.csproj b/InputSystems/ANX.InputSystems.Windows.Recording/ANX.InputSystems.Windows.Recording.csproj index 3529aba6..5d785f3c 100644 --- a/InputSystems/ANX.InputSystems.Windows.Recording/ANX.InputSystems.Windows.Recording.csproj +++ b/InputSystems/ANX.InputSystems.Windows.Recording/ANX.InputSystems.Windows.Recording.csproj @@ -40,6 +40,11 @@ + + Metadata.resx + True + True + @@ -54,6 +59,12 @@ ANX.Framework + + + PublicResXFileCodeGenerator + Metadata.Designer.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Win32NT + + \ No newline at end of file diff --git a/RenderSystems/ANX.Framework.Windows.DX10/ANX.Framework.Windows.DX10.csproj b/RenderSystems/ANX.Framework.Windows.DX10/ANX.Framework.Windows.DX10.csproj index 098e4537..24844c03 100644 --- a/RenderSystems/ANX.Framework.Windows.DX10/ANX.Framework.Windows.DX10.csproj +++ b/RenderSystems/ANX.Framework.Windows.DX10/ANX.Framework.Windows.DX10.csproj @@ -43,6 +43,9 @@ False ..\..\lib\SharpDX\Bin\SharpDX.D3DCompiler.dll + + ..\..\lib\SharpDX\Bin\SharpDX.Diagnostics.dll + False ..\..\lib\SharpDX\Bin\SharpDX.Direct3D10.dll @@ -72,6 +75,11 @@ + + True + True + Metadata.resx + @@ -89,6 +97,12 @@ ANX.Framework + + + PublicResXFileCodeGenerator + Metadata.Designer.cs + + diff --git a/RenderSystems/ANX.Framework.Windows.DX10/Creator.cs b/RenderSystems/ANX.Framework.Windows.DX10/Creator.cs index d0224bcb..f5f9fa8a 100644 --- a/RenderSystems/ANX.Framework.Windows.DX10/Creator.cs +++ b/RenderSystems/ANX.Framework.Windows.DX10/Creator.cs @@ -73,6 +73,15 @@ namespace ANX.Framework.Windows.DX10 get { return 10; } } + public bool IsSupported + { + get + { + //TODO: this is just a very basic version of test for support + return AddInSystemFactory.Instance.OperatingSystem.Platform == PlatformID.Win32NT; + } + } + public GameHost CreateGameHost(Game game) { return new WindowsGameHost(game); diff --git a/RenderSystems/ANX.Framework.Windows.DX10/Metadata.Designer.cs b/RenderSystems/ANX.Framework.Windows.DX10/Metadata.Designer.cs new file mode 100644 index 00000000..7f23c917 --- /dev/null +++ b/RenderSystems/ANX.Framework.Windows.DX10/Metadata.Designer.cs @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.239 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace ANX.Framework.Windows.DX10 { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Metadata { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Metadata() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ANX.Framework.Windows.DX10.Metadata", typeof(Metadata).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Win32NT ähnelt. + /// + public static string SupportedPlatforms { + get { + return ResourceManager.GetString("SupportedPlatforms", resourceCulture); + } + } + } +} diff --git a/RenderSystems/ANX.Framework.Windows.DX10/Metadata.resx b/RenderSystems/ANX.Framework.Windows.DX10/Metadata.resx new file mode 100644 index 00000000..c90f8c84 --- /dev/null +++ b/RenderSystems/ANX.Framework.Windows.DX10/Metadata.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Win32NT + + \ No newline at end of file diff --git a/RenderSystems/ANX.Framework.Windows.GL3/ANX.Framework.Windows.GL3.csproj b/RenderSystems/ANX.Framework.Windows.GL3/ANX.Framework.Windows.GL3.csproj index 91783b0b..a1229110 100644 --- a/RenderSystems/ANX.Framework.Windows.GL3/ANX.Framework.Windows.GL3.csproj +++ b/RenderSystems/ANX.Framework.Windows.GL3/ANX.Framework.Windows.GL3.csproj @@ -52,6 +52,11 @@ + + Metadata.resx + True + True + @@ -68,6 +73,12 @@ ANX.Framework + + + PublicResXFileCodeGenerator + Metadata.Designer.cs + + diff --git a/RenderSystems/ANX.Framework.Windows.GL3/Creator.cs b/RenderSystems/ANX.Framework.Windows.GL3/Creator.cs index a7e2a157..88df3cf1 100644 --- a/RenderSystems/ANX.Framework.Windows.GL3/Creator.cs +++ b/RenderSystems/ANX.Framework.Windows.GL3/Creator.cs @@ -78,6 +78,17 @@ namespace ANX.Framework.Windows.GL3 get { return 100; } } + public bool IsSupported + { + get + { + //TODO: this is just a very basic version of test for support + return AddInSystemFactory.Instance.OperatingSystem.Platform == PlatformID.Win32NT || + AddInSystemFactory.Instance.OperatingSystem.Platform == PlatformID.Unix || + AddInSystemFactory.Instance.OperatingSystem.Platform == PlatformID.MacOSX; + } + } + #endregion #region RegisterRenderSystemCreator diff --git a/RenderSystems/ANX.Framework.Windows.GL3/Metadata.Designer.cs b/RenderSystems/ANX.Framework.Windows.GL3/Metadata.Designer.cs new file mode 100644 index 00000000..63673f2d --- /dev/null +++ b/RenderSystems/ANX.Framework.Windows.GL3/Metadata.Designer.cs @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.239 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace ANX.Framework.Windows.GL3 { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Metadata { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Metadata() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ANX.Framework.Windows.GL3.Metadata", typeof(Metadata).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Win32NT Unix MacOsX ähnelt. + /// + public static string SupportedPlatforms { + get { + return ResourceManager.GetString("SupportedPlatforms", resourceCulture); + } + } + } +} diff --git a/RenderSystems/ANX.Framework.Windows.GL3/Metadata.resx b/RenderSystems/ANX.Framework.Windows.GL3/Metadata.resx new file mode 100644 index 00000000..8451d556 --- /dev/null +++ b/RenderSystems/ANX.Framework.Windows.GL3/Metadata.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Win32NT Unix MacOsX + + \ No newline at end of file diff --git a/RenderSystems/ANX.RenderSystem.Windows.DX11/ANX.RenderSystem.Windows.DX11.csproj b/RenderSystems/ANX.RenderSystem.Windows.DX11/ANX.RenderSystem.Windows.DX11.csproj index e5806fe5..9b2296b6 100644 --- a/RenderSystems/ANX.RenderSystem.Windows.DX11/ANX.RenderSystem.Windows.DX11.csproj +++ b/RenderSystems/ANX.RenderSystem.Windows.DX11/ANX.RenderSystem.Windows.DX11.csproj @@ -54,6 +54,9 @@ False ..\..\lib\SharpDX\Bin\SharpDX.D3DCompiler.dll + + ..\..\lib\SharpDX\Bin\SharpDX.Diagnostics.dll + ..\..\lib\SharpDX\Bin\SharpDX.Direct3D11.dll @@ -67,9 +70,20 @@ + + Metadata.resx + True + True + + + + PublicResXFileCodeGenerator + Metadata.Designer.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Win32NT + + \ No newline at end of file diff --git a/Samples/SimpleSprite/Game1.cs b/Samples/SimpleSprite/Game1.cs index b553c3f0..6a1e24b4 100644 --- a/Samples/SimpleSprite/Game1.cs +++ b/Samples/SimpleSprite/Game1.cs @@ -91,6 +91,11 @@ namespace WindowsGame1 /// protected override void Initialize() { + //TODO: currently not working in OpenGL3 + //graphics.PreferredBackBufferWidth = 800; + //graphics.PreferredBackBufferHeight = 600; + //graphics.ApplyChanges(); + base.Initialize(); } diff --git a/SoundSystems/ANX.SoundSystem.Windows.XAudio/ANX.SoundSystem.Windows.XAudio.csproj b/SoundSystems/ANX.SoundSystem.Windows.XAudio/ANX.SoundSystem.Windows.XAudio.csproj index 91fb85df..3020c6e5 100644 --- a/SoundSystems/ANX.SoundSystem.Windows.XAudio/ANX.SoundSystem.Windows.XAudio.csproj +++ b/SoundSystems/ANX.SoundSystem.Windows.XAudio/ANX.SoundSystem.Windows.XAudio.csproj @@ -34,6 +34,9 @@ ..\..\lib\SharpDX\Bin\SharpDX.dll + + ..\..\lib\SharpDX\Bin\SharpDX.Diagnostics.dll + ..\..\lib\SharpDX\Bin\SharpDX.XAudio2.dll @@ -47,6 +50,11 @@ + + Metadata.resx + True + True + @@ -55,6 +63,12 @@ ANX.Framework + + + PublicResXFileCodeGenerator + Metadata.Designer.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Win32NT + + \ No newline at end of file