move OpenGL/ UWP/ and Sneak.sln into public repo

This commit is contained in:
Colin McMillen 2020-11-20 17:42:05 -05:00
parent 8792db1eed
commit 6293d549dd
18 changed files with 590 additions and 0 deletions

BIN
OpenGL/Icon.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

BIN
OpenGL/Icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

32
OpenGL/OpenGL.csproj Normal file
View File

@ -0,0 +1,32 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<PublishReadyToRun>false</PublishReadyToRun>
<TieredCompilation>false</TieredCompilation>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>app.manifest</ApplicationManifest>
<ApplicationIcon>Icon.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<None Remove="Icon.ico" />
<None Remove="Icon.bmp" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Icon.ico" />
<EmbeddedResource Include="Icon.bmp" />
</ItemGroup>
<ItemGroup>
<MonoGameContentReference Include="..\Content\Content.mgcb" />
</ItemGroup>
<ItemGroup>
<TrimmerRootAssembly Include="Microsoft.Xna.Framework.Content.ContentTypeReader" Visible="false" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="MonoGame.Framework.DesktopGL" Version="3.8.0.1641" />
<PackageReference Include="MonoGame.Content.Builder.Task" Version="3.8.0.1641" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
</ItemGroup>
<Import Project="..\Shared\Shared.projitems" Label="Shared" />
</Project>

47
OpenGL/OpenGLProgram.cs Normal file
View File

@ -0,0 +1,47 @@
using Microsoft.Xna.Framework;
using System;
namespace SemiColinGames {
public class OpenGLDisplay : IDisplay {
private GameWindow window;
private GraphicsDeviceManager graphics;
public void Initialize(GameWindow window, GraphicsDeviceManager graphics) {
this.window = window;
this.graphics = graphics;
window.Title = "Sneak";
}
public void SetFullScreen(bool fullScreen) {
if (fullScreen) {
// In OpenGL, we misappropriate "fullscreen" to be "the settings good for recording
// gameplay GIFs".
window.IsBorderless = true;
// graphics.PreferredBackBufferWidth = 720;
// graphics.PreferredBackBufferHeight = 405;
graphics.PreferredBackBufferWidth = graphics.GraphicsDevice.DisplayMode.Width;
graphics.PreferredBackBufferHeight = graphics.GraphicsDevice.DisplayMode.Height;
} else {
window.IsBorderless = false;
graphics.PreferredBackBufferWidth = 1920;
graphics.PreferredBackBufferHeight = 1080;
}
Debug.WriteLine("display: {0}x{1}, fullscreen={2}",
graphics.PreferredBackBufferWidth,
graphics.PreferredBackBufferHeight,
fullScreen);
graphics.ApplyChanges();
}
}
public static class OpenGLProgram {
[STAThread]
static void Main() {
using (var game = new SneakGame()) {
game.Services.AddService(typeof(IDisplay), new OpenGLDisplay());
game.Run();
}
}
}
}

43
OpenGL/app.manifest Normal file
View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="Sneak.OpenGL"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on and is
is designed to work with. Uncomment the appropriate elements and Windows will
automatically selected the most compatible environment. -->
<!-- Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
<!-- Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">permonitorv2,permonitor</dpiAwareness>
</windowsSettings>
</application>
</assembly>

4
OpenGL/packages.config Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net472" />
</packages>

127
Sneak.sln Normal file
View File

@ -0,0 +1,127 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29613.14
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UWP", "UWP\UWP.csproj", "{21570905-5FFD-49FC-B523-1E7E6F191142}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenGL", "OpenGL\OpenGL.csproj", "{E25E2743-F2FD-437B-9411-E55C104451FF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Content", "Content\Content.csproj", "{304FB3E1-0AC3-4331-BA87-0CA35F335203}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Shared", "Shared\Shared.shproj", "{2785994A-A14F-424E-8E77-2E464D28747F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SharedTests", "SharedTests\SharedTests.csproj", "{C86694A5-DD99-4421-AA2C-1230F11C10F8}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{0A43C3DD-813E-4860-AFC0-205D0F0EFE0B}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
EndProjectSection
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
Shared\Shared.projitems*{21570905-5ffd-49fc-b523-1e7e6f191142}*SharedItemsImports = 4
Shared\Shared.projitems*{2785994a-a14f-424e-8e77-2e464d28747f}*SharedItemsImports = 13
Shared\Shared.projitems*{c86694a5-dd99-4421-aa2c-1230f11c10f8}*SharedItemsImports = 5
Shared\Shared.projitems*{e25e2743-f2fd-437b-9411-e55c104451ff}*SharedItemsImports = 5
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{21570905-5FFD-49FC-B523-1E7E6F191142}.Debug|Any CPU.ActiveCfg = Debug|x86
{21570905-5FFD-49FC-B523-1E7E6F191142}.Debug|Any CPU.Build.0 = Debug|x86
{21570905-5FFD-49FC-B523-1E7E6F191142}.Debug|ARM.ActiveCfg = Debug|ARM
{21570905-5FFD-49FC-B523-1E7E6F191142}.Debug|ARM.Build.0 = Debug|ARM
{21570905-5FFD-49FC-B523-1E7E6F191142}.Debug|ARM.Deploy.0 = Debug|ARM
{21570905-5FFD-49FC-B523-1E7E6F191142}.Debug|ARM64.ActiveCfg = Debug|ARM64
{21570905-5FFD-49FC-B523-1E7E6F191142}.Debug|ARM64.Build.0 = Debug|ARM64
{21570905-5FFD-49FC-B523-1E7E6F191142}.Debug|ARM64.Deploy.0 = Debug|ARM64
{21570905-5FFD-49FC-B523-1E7E6F191142}.Debug|x64.ActiveCfg = Debug|x64
{21570905-5FFD-49FC-B523-1E7E6F191142}.Debug|x64.Build.0 = Debug|x64
{21570905-5FFD-49FC-B523-1E7E6F191142}.Debug|x64.Deploy.0 = Debug|x64
{21570905-5FFD-49FC-B523-1E7E6F191142}.Debug|x86.ActiveCfg = Debug|x86
{21570905-5FFD-49FC-B523-1E7E6F191142}.Debug|x86.Build.0 = Debug|x86
{21570905-5FFD-49FC-B523-1E7E6F191142}.Debug|x86.Deploy.0 = Debug|x86
{21570905-5FFD-49FC-B523-1E7E6F191142}.Release|Any CPU.ActiveCfg = Release|x86
{21570905-5FFD-49FC-B523-1E7E6F191142}.Release|ARM.ActiveCfg = Release|ARM
{21570905-5FFD-49FC-B523-1E7E6F191142}.Release|ARM.Build.0 = Release|ARM
{21570905-5FFD-49FC-B523-1E7E6F191142}.Release|ARM.Deploy.0 = Release|ARM
{21570905-5FFD-49FC-B523-1E7E6F191142}.Release|ARM64.ActiveCfg = Release|ARM64
{21570905-5FFD-49FC-B523-1E7E6F191142}.Release|ARM64.Build.0 = Release|ARM64
{21570905-5FFD-49FC-B523-1E7E6F191142}.Release|ARM64.Deploy.0 = Release|ARM64
{21570905-5FFD-49FC-B523-1E7E6F191142}.Release|x64.ActiveCfg = Release|x64
{21570905-5FFD-49FC-B523-1E7E6F191142}.Release|x64.Build.0 = Release|x64
{21570905-5FFD-49FC-B523-1E7E6F191142}.Release|x64.Deploy.0 = Release|x64
{21570905-5FFD-49FC-B523-1E7E6F191142}.Release|x86.ActiveCfg = Release|x86
{21570905-5FFD-49FC-B523-1E7E6F191142}.Release|x86.Build.0 = Release|x86
{21570905-5FFD-49FC-B523-1E7E6F191142}.Release|x86.Deploy.0 = Release|x86
{E25E2743-F2FD-437B-9411-E55C104451FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Debug|ARM.ActiveCfg = Debug|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Debug|ARM.Build.0 = Debug|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Debug|ARM64.Build.0 = Debug|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Debug|x64.ActiveCfg = Debug|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Debug|x64.Build.0 = Debug|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Debug|x86.ActiveCfg = Debug|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Debug|x86.Build.0 = Debug|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Release|Any CPU.Build.0 = Release|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Release|ARM.ActiveCfg = Release|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Release|ARM.Build.0 = Release|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Release|ARM64.ActiveCfg = Release|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Release|ARM64.Build.0 = Release|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Release|x64.ActiveCfg = Release|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Release|x64.Build.0 = Release|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Release|x86.ActiveCfg = Release|Any CPU
{E25E2743-F2FD-437B-9411-E55C104451FF}.Release|x86.Build.0 = Release|Any CPU
{304FB3E1-0AC3-4331-BA87-0CA35F335203}.Debug|Any CPU.ActiveCfg = Debug|x86
{304FB3E1-0AC3-4331-BA87-0CA35F335203}.Debug|ARM.ActiveCfg = Debug|x86
{304FB3E1-0AC3-4331-BA87-0CA35F335203}.Debug|ARM64.ActiveCfg = Debug|x86
{304FB3E1-0AC3-4331-BA87-0CA35F335203}.Debug|x64.ActiveCfg = Debug|x86
{304FB3E1-0AC3-4331-BA87-0CA35F335203}.Debug|x86.ActiveCfg = Debug|x86
{304FB3E1-0AC3-4331-BA87-0CA35F335203}.Debug|x86.Build.0 = Debug|x86
{304FB3E1-0AC3-4331-BA87-0CA35F335203}.Release|Any CPU.ActiveCfg = Release|x86
{304FB3E1-0AC3-4331-BA87-0CA35F335203}.Release|ARM.ActiveCfg = Release|x86
{304FB3E1-0AC3-4331-BA87-0CA35F335203}.Release|ARM64.ActiveCfg = Release|x86
{304FB3E1-0AC3-4331-BA87-0CA35F335203}.Release|x64.ActiveCfg = Release|x86
{304FB3E1-0AC3-4331-BA87-0CA35F335203}.Release|x86.ActiveCfg = Release|x86
{304FB3E1-0AC3-4331-BA87-0CA35F335203}.Release|x86.Build.0 = Release|x86
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Debug|ARM.ActiveCfg = Debug|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Debug|ARM.Build.0 = Debug|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Debug|ARM64.Build.0 = Debug|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Debug|x64.ActiveCfg = Debug|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Debug|x64.Build.0 = Debug|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Debug|x86.ActiveCfg = Debug|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Debug|x86.Build.0 = Debug|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Release|Any CPU.Build.0 = Release|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Release|ARM.ActiveCfg = Release|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Release|ARM.Build.0 = Release|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Release|ARM64.ActiveCfg = Release|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Release|ARM64.Build.0 = Release|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Release|x64.ActiveCfg = Release|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Release|x64.Build.0 = Release|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Release|x86.ActiveCfg = Release|Any CPU
{C86694A5-DD99-4421-AA2C-1230F11C10F8}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {85EDD2CE-D4B6-4920-8425-2A366104EA0A}
EndGlobalSection
EndGlobal

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
UWP/Assets/StoreLogo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

34
UWP/Package.appxmanifest Normal file
View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="uap mp">
<Identity Name="SemiColinGames.SneakDemo" Publisher="CN=B0C5F3A2-84E0-4658-BEEE-53B8D6543FC4" Version="1.0.12.0" />
<mp:PhoneIdentity PhoneProductId="1af20c63-1e24-43cd-85f0-ae08451bf3d5" PhonePublisherId="00000000-0000-0000-0000-000000000000" />
<Properties>
<DisplayName>Sneak Demo</DisplayName>
<PublisherDisplayName>SemiColin Games</PublisherDisplayName>
<Logo>Assets\StoreLogo.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
</Dependencies>
<Resources>
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="Sneak.UWP.App">
<uap:VisualElements DisplayName="Sneak Demo" Square44x44Logo="Assets\Square44x44Logo.png" Description="Sneak Demo" BackgroundColor="#464646" Square150x150Logo="Assets\Square150x150Logo.png">
<uap:SplashScreen Image="Assets\SplashScreen.png" BackgroundColor="#000000"/>
<uap:InitialRotationPreference>
<uap:Rotation Preference="landscape" />
</uap:InitialRotationPreference>
<uap:DefaultTile>
<uap:ShowNameOnTiles>
<uap:ShowOn Tile="square150x150Logo"/>
</uap:ShowNameOnTiles>
</uap:DefaultTile>
</uap:VisualElements>
</Application>
</Applications>
<Capabilities>
<Capability Name="internetClient"/></Capabilities>
</Package>

View File

@ -0,0 +1,29 @@
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("Sneak")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Sneak")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 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")]
[assembly: ComVisible(false)]

View File

@ -0,0 +1,31 @@
<!--
This file contains Runtime Directives used by .NET Native. The defaults here are suitable for most
developers. However, you can modify these parameters to modify the behavior of the .NET Native
optimizer.
Runtime Directives are documented at http://go.microsoft.com/fwlink/?LinkID=391919
To fully enable reflection for App1.MyClass and all of its public/private members
<Type Name="App1.MyClass" Dynamic="Required All"/>
To enable dynamic creation of the specific instantiation of AppClass<T> over System.Int32
<TypeInstantiation Name="App1.AppClass" Arguments="System.Int32" Activate="Required Public" />
Using the Namespace directive to apply reflection policy to all the types in a particular namespace
<Namespace Name="DataClasses.ViewModels" Seralize="All" />
-->
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
<Application>
<!--
An Assembly element with Name="*Application*" applies to all assemblies in
the application package. The asterisks are not wildcards.
-->
<Assembly Name="*Application*" Dynamic="Required All" />
<!-- Add your application specific runtime directives here. -->
</Application>
</Directives>

201
UWP/UWP.csproj Normal file
View File

@ -0,0 +1,201 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.Common.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProjectGuid>{21570905-5FFD-49FC-B523-1E7E6F191142}</ProjectGuid>
<OutputType>AppContainerExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SemiColinGames</RootNamespace>
<LangVersion>latest</LangVersion>
<AssemblyName>Sneak</AssemblyName>
<DefaultLanguage>en-US</DefaultLanguage>
<TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
<TargetPlatformVersion Condition=" '$(TargetPlatformVersion)' == '' ">10.0.18362.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.17134.0</TargetPlatformMinVersion>
<MinimumVisualStudioVersion>14</MinimumVisualStudioVersion>
<EnableDotNetNativeCompatibleProfile>true</EnableDotNetNativeCompatibleProfile>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<PackageCertificateKeyFile>
</PackageCertificateKeyFile>
<MonoGamePlatform>WindowsStoreApp</MonoGamePlatform>
<PackageCertificateThumbprint>B8F461B8E646D1DFB7110FE44442EDA3E61FBC26</PackageCertificateThumbprint>
<AppxPackageSigningEnabled>True</AppxPackageSigningEnabled>
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
<AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
<AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
<GenerateTestArtifacts>True</GenerateTestArtifacts>
<AppxBundle>Always</AppxBundle>
<AppxBundlePlatforms>x86|x64|arm|arm64</AppxBundlePlatforms>
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\WindowsUniversal\$(Platform)\$(Configuration)\</OutputPath>
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants>
<NoWarn>;2008</NoWarn>
<DebugType>full</DebugType>
<PlatformTarget>ARM</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
<OutputPath>bin\WindowsUniversal\$(Platform)\$(Configuration)\</OutputPath>
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants>
<Optimize>true</Optimize>
<NoWarn>;2008</NoWarn>
<DebugType>pdbonly</DebugType>
<PlatformTarget>ARM</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\WindowsUniversal\$(Platform)\$(Configuration)\</OutputPath>
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants>
<NoWarn>;2008</NoWarn>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\WindowsUniversal\$(Platform)\$(Configuration)\</OutputPath>
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants>
<Optimize>true</Optimize>
<NoWarn>;2008</NoWarn>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\WindowsUniversal\$(Platform)\$(Configuration)\</OutputPath>
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants>
<NoWarn>;2008</NoWarn>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\WindowsUniversal\$(Platform)\$(Configuration)\</OutputPath>
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants>
<Optimize>true</Optimize>
<NoWarn>;2008</NoWarn>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
</PropertyGroup>
<PropertyGroup>
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\ARM64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UAP;CODE_ANALYSIS</DefineConstants>
<NoWarn>;2008</NoWarn>
<NoStdLib>true</NoStdLib>
<DebugType>full</DebugType>
<PlatformTarget>ARM64</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM64'">
<OutputPath>bin\ARM64\Release\</OutputPath>
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UAP;CODE_ANALYSIS</DefineConstants>
<Optimize>true</Optimize>
<NoWarn>;2008</NoWarn>
<NoStdLib>true</NoStdLib>
<DebugType>pdbonly</DebugType>
<PlatformTarget>ARM64</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Compile Include="UwpProgram.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<AppxManifest Include="Package.appxmanifest">
<SubType>Designer</SubType>
</AppxManifest>
<MonoGameContentReference Include="..\Content\Content.mgcb">
<Link>Content\Content.mgcb</Link>
</MonoGameContentReference>
</ItemGroup>
<ItemGroup>
<None Include="Package.StoreAssociation.xml" />
<Content Include="Properties\Default.rd.xml" />
<Content Include="Assets\LockScreenLogo.scale-200.png" />
<Content Include="Assets\SplashScreen.scale-200.png" />
<Content Include="Assets\Square150x150Logo.scale-200.png" />
<Content Include="Assets\Square44x44Logo.scale-200.png" />
<Content Include="Assets\StoreLogo.png" />
<Content Include="Assets\Wide310x150Logo.scale-200.png" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
<Version>6.2.10</Version>
</PackageReference>
<PackageReference Include="Newtonsoft.Json">
<Version>12.0.3</Version>
</PackageReference>
<PackageReference Include="SharpDX">
<Version>4.2.0</Version>
</PackageReference>
<PackageReference Include="SharpDX.Direct2D1">
<Version>4.2.0</Version>
</PackageReference>
<PackageReference Include="SharpDX.Direct3D11">
<Version>4.2.0</Version>
</PackageReference>
<PackageReference Include="SharpDX.DXGI">
<Version>4.2.0</Version>
</PackageReference>
<PackageReference Include="SharpDX.MediaFoundation">
<Version>4.2.0</Version>
</PackageReference>
<PackageReference Include="SharpDX.XAudio2">
<Version>4.2.0</Version>
</PackageReference>
</ItemGroup>
<Import Project="..\Shared\Shared.projitems" Label="Shared" />
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' ">
<VisualStudioVersion>14.0</VisualStudioVersion>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
<ItemGroup>
<PackageReference Include="MonoGame.Framework.WindowsUniversal" Version="3.8.0.*" />
<PackageReference Include="MonoGame.Content.Builder.Task" Version="3.8.0.*" />
</ItemGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

42
UWP/UwpProgram.cs Normal file
View File

@ -0,0 +1,42 @@
using Microsoft.Xna.Framework;
using Windows.Foundation;
using Windows.UI.ViewManagement;
namespace SemiColinGames {
public class UwpDisplay : IDisplay {
private GraphicsDeviceManager graphics;
public void Initialize(GameWindow window, GraphicsDeviceManager graphics) {
this.graphics = graphics;
SetFullScreen(true);
}
public void SetFullScreen(bool fullScreen) {
graphics.IsFullScreen = fullScreen;
graphics.ApplyChanges();
Debug.WriteLine("display: {0}x{1}, fullscreen={2}",
graphics.PreferredBackBufferWidth,
graphics.PreferredBackBufferHeight,
fullScreen);
}
}
public class UwpSneakGame : SneakGame {
public UwpSneakGame() {
Services.AddService(typeof(IDisplay), new UwpDisplay());
}
}
public static class UwpProgram {
static void Main() {
ApplicationView.PreferredLaunchViewSize = new Size(1920, 1080);
// Could also choose FullScreen here, if we wanted.
ApplicationView.PreferredLaunchWindowingMode =
ApplicationViewWindowingMode.PreferredLaunchViewSize;
var factory = new MonoGame.Framework.GameFrameworkViewSource<UwpSneakGame>();
Windows.ApplicationModel.Core.CoreApplication.Run(factory);
}
}
}