Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Renaming Windows to WindowsGL #1049

Closed
wants to merge 1 commit into from

7 participants

Tom Spilman Dean Ellis Hüseyin Uslu matthiasgrumet Steve 'Sly' Williams dan-i-am Jordan Singh
Tom Spilman
Owner

I'm starting to implement the new Windows Desktop platform using DirectX 11.

We currently have the following Windows projects:

  • MonoGame.Framework.Windows
  • MonoGame.Framework.Windows8
  • MonoGame.Framework.WindowsPhone

The first step seemed to be renaming the existing Windows project to WindowsGL so that the new project can be named Windows. This seemed like a more logical name than WindowsDX.

I'm open to better ideas, but this seems like the best one so far if we want to maintain the OpenGL Windows code.

Not sure if this affects anything else in the codebase.... installer script or templates maybe? Please let me know and i'll fix those as well.

Dean Ellis
Owner

@tomspilman can we leave this PR open till after we have tagged the 3.0 release?
There are a few other changes we need in this. We will need 2 Windows, templates OpenGL and DirectX. The current Windows directory will need to be renamed unless we plan to put both directx and opengl code in that area.

The installer will need tweaking as we are starting to split up the assemblies into their own directories.

Tom Spilman
Owner

can we leave this PR open till after we have tagged the 3.0 release?

Sure... i sort of expected that.

We will need 2 Windows, templates OpenGL and DirectX.

I would think it would be a WindowsGL and a Windows template. I will copy the existing one and fix it up.

We could also consider not having a template for WindowsGL... it depends on if we feel it is a real platform for us or if it is simply a tool to ease GL development.

unless we plan to put both directx and opengl code in that area

We should end up with two folders... putting them under one would confuse things.

The installer will need tweaking

Looks like it is a plain text file... i'll take a first stab at fixing it.

Hüseyin Uslu

Doesn't WindowsMetro, WindowsModern or even WindowsRT better fit the Windows8 branch?

Tom Spilman
Owner

@raistlinthewiz

We named it Windows8 months ago. I figure it will change eventually, but I see no good changes to it right now.

WindowsMetro makes MS folk unhappy. WindowsModern is not an official or even well known term. WindowsRT is confusing as it is the name of their ARM OS... we support both Windows 8 and Windows RT.

he renaming of Windows to WindowsGL is simply to get it out of the way for the DirectX implementation.

matthiasgrumet

will the DirectX implementation for Windows Desktop be part of the 3.0 release?

will it be possible to directly make calls to the underlying SharpDX library?

Tom Spilman
Owner

will the DirectX implementation for Windows Desktop be part of the 3.0 release?

No.

The Windows desktop with DirectX platform will not be available for the 3.0 release as that will happen really soon.

That said moving forward MonoGame will have much more frequent releases, so an installer with Windows DX should be available in the next month or two.

will it be possible to directly make calls to the underlying SharpDX library?

Sure. The Windows DirectX platform will be no different than the other DirectX implementations. They all use SharpDX under the hood.

Hüseyin Uslu

@tomspilman how about WindowsStore?
Oh and great news that we'll see WindowsDX soon :)

Tom Spilman
Owner

how about WindowsStore

To me WindowsStore is worse than WindowsModern. I know Microsoft is using the term "Windows Store App"... i don't think that will stick long term.

The point is this: until there is a clear "perfect" name for the new style Windows apps... we will not change MonoGame. It is a complete waste of time to change it now.

matthiasgrumet

@tomspilman do you have an ETA when the first WindowsDX build will be available for testing?

also, will it use DirectX9 or DirectX11 for rendering?

thanks!

Steve 'Sly' Williams
Owner
Tom Spilman
Owner

@matthiasgrumet

I actually already have it working (yes it is DX11). If you want to mess with my work in progress you can check out my branch:

https://github.com/SickheadGames/MonoGame/tree/windesktop

Just waiting for the 3.0 installer to be released and we move develop3d back to master. Then this pull request can be pushed thru and I can submit the pull request for the new platform.

Hüseyin Uslu

@tomspilman I've started testing your windesktop port (windx) with my voxeliq engine but it just throws exceptions for me on game.run(). Anything specific to look for?

[Fatal] [Program]: Voxeliq Engine is terminating because of unhandled exception.
 - [Exception] System.NullReferenceException: Object reference not set to an ins
tance of an object.
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.Uns
afeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int
32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 r
eason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason
, ApplicationContext context)
   at System.Windows.Forms.Application.Run(Form mainForm)
   at MonoGame.Framework.WinFormsGameWindow.RunLoop()
   at MonoGame.Framework.WinFormsGamePlatform.RunLoop()
   at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior)
   at Microsoft.Xna.Framework.Game.Run()
   at VoxeliqGame.Program.Main(String[] args) in D:\coding\voxeliq\src\game\Prog
ram.cs:line 53

and

```csharp
[Fatal] [Program]: Voxeliq Engine is terminating because of unhandled exception.
 - [Exception] SharpDX.SharpDXException: HRESULT: [0x80070057], Module: [Unknown
], ApiCode: [Unknown/Unknown], Message: The parameter is incorrect.

**Update:** Fixed my problem by following @tomspilman SV_POSITION advice over: http://monogame.codeplex.com/discussions/402753
dan-i-am

To me WindowsStore is worse than WindowsModern. I know Microsoft is using the term "Windows Store App"... i don't think that will stick long term.

"WindowsApp" ?

I agree that term won't stick.

Jordan Singh

Just wondering, what will be the Windows DX redistributable requirements to clients? Just the usual DirectX11 installed + .net 4.0/4.5?

Tom Spilman
Owner

@xanather - Yea... something like that. The idea is to have it work on Windows Vista and up.

Jordan Singh

That's awesome, windows 7 will just need .net installed and windows 8 will be able to run MonoGame without anything installed!

Tom Spilman
Owner

Closing this pull. It is part of #1204

Tom Spilman tomspilman closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
This page is out of date. Refresh to see the latest.
4 MonoGame.Framework.Content.Pipeline/MonoGame.Framework.Content.Pipeline.Windows.csproj
View
@@ -148,9 +148,9 @@
<Compile Include="VideoContent.cs" />
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\MonoGame.Framework\MonoGame.Framework.Windows.csproj">
+ <ProjectReference Include="..\MonoGame.Framework\MonoGame.Framework.WindowsGL.csproj">
<Project>{7DE47032-A904-4C29-BD22-2D235E8D91BA}</Project>
- <Name>MonoGame.Framework.Windows</Name>
+ <Name>MonoGame.Framework.WindowsGL</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />
63 MonoGame.Framework.Windows.sln
View
@@ -1,63 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGame.Framework.Windows", "MonoGame.Framework\MonoGame.Framework.Windows.csproj", "{7DE47032-A904-4C29-BD22-2D235E8D91BA}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lidgren.Network.Windows", "ThirdParty\Lidgren.Network\Lidgren.Network.Windows.csproj", "{AE483C29-042E-4226-BA52-D247CE7676DA}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGame.Framework.Content.Pipeline.Windows", "MonoGame.Framework.Content.Pipeline\MonoGame.Framework.Content.Pipeline.Windows.csproj", "{B950DE10-AC5D-4BD9-B817-51247C4A732D}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Debug|Mixed Platforms = Debug|Mixed Platforms
- Debug|x86 = Debug|x86
- Release|Any CPU = Release|Any CPU
- Release|Mixed Platforms = Release|Mixed Platforms
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Debug|x86.ActiveCfg = Debug|x86
- {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Debug|x86.Build.0 = Debug|x86
- {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Release|Any CPU.Build.0 = Release|Any CPU
- {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Release|x86.ActiveCfg = Release|x86
- {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Release|x86.Build.0 = Release|x86
- {AE483C29-042E-4226-BA52-D247CE7676DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {AE483C29-042E-4226-BA52-D247CE7676DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {AE483C29-042E-4226-BA52-D247CE7676DA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {AE483C29-042E-4226-BA52-D247CE7676DA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {AE483C29-042E-4226-BA52-D247CE7676DA}.Debug|x86.ActiveCfg = Debug|Any CPU
- {AE483C29-042E-4226-BA52-D247CE7676DA}.Debug|x86.Build.0 = Debug|Any CPU
- {AE483C29-042E-4226-BA52-D247CE7676DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {AE483C29-042E-4226-BA52-D247CE7676DA}.Release|Any CPU.Build.0 = Release|Any CPU
- {AE483C29-042E-4226-BA52-D247CE7676DA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {AE483C29-042E-4226-BA52-D247CE7676DA}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {AE483C29-042E-4226-BA52-D247CE7676DA}.Release|x86.ActiveCfg = Release|Any CPU
- {AE483C29-042E-4226-BA52-D247CE7676DA}.Release|x86.Build.0 = Release|Any CPU
- {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Debug|x86.ActiveCfg = Debug|x86
- {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Debug|x86.Build.0 = Debug|x86
- {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Release|Any CPU.Build.0 = Release|Any CPU
- {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Release|x86.ActiveCfg = Release|x86
- {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Release|x86.Build.0 = Release|x86
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(MonoDevelopProperties) = preSolution
- StartupItem = MonoGame.Framework\MonoGame.Framework.Windows.csproj
- EndGlobalSection
-EndGlobal
35 MonoGame.Framework.WindowsGL.sln
View
@@ -0,0 +1,35 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGame.Framework.WindowsGL", "MonoGame.Framework\MonoGame.Framework.WindowsGL.csproj", "{7DE47032-A904-4C29-BD22-2D235E8D91BA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lidgren.Network.Windows", "ThirdParty\Lidgren.Network\Lidgren.Network.Windows.csproj", "{AE483C29-042E-4226-BA52-D247CE7676DA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoGame.Framework.Content.Pipeline.Windows", "MonoGame.Framework.Content.Pipeline\MonoGame.Framework.Content.Pipeline.Windows.csproj", "{B950DE10-AC5D-4BD9-B817-51247C4A732D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7DE47032-A904-4C29-BD22-2D235E8D91BA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AE483C29-042E-4226-BA52-D247CE7676DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AE483C29-042E-4226-BA52-D247CE7676DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AE483C29-042E-4226-BA52-D247CE7676DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AE483C29-042E-4226-BA52-D247CE7676DA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B950DE10-AC5D-4BD9-B817-51247C4A732D}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(MonoDevelopProperties) = preSolution
+ StartupItem = MonoGame.Framework\MonoGame.Framework.WindowsGL.csproj
+ EndGlobalSection
+EndGlobal
10 MonoGame.Framework/MonoGame.Framework.Windows.csproj → ...ame.Framework/MonoGame.Framework.WindowsGL.csproj
View
@@ -9,7 +9,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Microsoft.Xna.Framework</RootNamespace>
- <AssemblyName>MonoGame.Framework.Windows</AssemblyName>
+ <AssemblyName>MonoGame.Framework.WindowsGL</AssemblyName>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>
@@ -21,7 +21,7 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugType>full</DebugType>
<Optimize>false</Optimize>
- <OutputPath>bin\Debug\</OutputPath>
+ <OutputPath>bin\WindowsGL\Debug\</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
@@ -32,7 +32,7 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
- <OutputPath>bin\Release\</OutputPath>
+ <OutputPath>bin\WindowsGL\Release\</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DefineConstants>TRACE;WINDOWS;OPENGL</DefineConstants>
@@ -42,7 +42,7 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugType>full</DebugType>
<Optimize>false</Optimize>
- <OutputPath>bin\Debug</OutputPath>
+ <OutputPath>bin\WindowsGL\Debug</OutputPath>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugSymbols>true</DebugSymbols>
@@ -55,7 +55,7 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<Optimize>true</Optimize>
- <OutputPath>bin\Release</OutputPath>
+ <OutputPath>bin\WindowsGL\Release</OutputPath>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<RegisterForComInterop>False</RegisterForComInterop>
Something went wrong with that request. Please try again.