From 147ce37d11fae42e9fc9c70582a82008d0f26c0a Mon Sep 17 00:00:00 2001 From: chrisf Date: Thu, 5 Jul 2007 22:06:37 +0000 Subject: [PATCH] git-svn-id: svn://svn.ijw.co.nz/svn/OpenRa@1104 993157c7-ee19-0410-b2c4-bb4e9862e678 --- BluntDx.dll | Bin 0 -> 74752 bytes OpenRa.Game/MainWindow.cs | 42 +++++++++++++++++++ OpenRa.Game/OpenRa.Game.csproj | 56 +++++++++++++++++++++++++ OpenRa.Game/Program.cs | 18 ++++++++ OpenRa.Game/Properties/AssemblyInfo.cs | 17 ++++++++ OpenRa.sln | 12 ++++++ 6 files changed, 145 insertions(+) create mode 100644 BluntDx.dll create mode 100644 OpenRa.Game/MainWindow.cs create mode 100644 OpenRa.Game/OpenRa.Game.csproj create mode 100644 OpenRa.Game/Program.cs create mode 100644 OpenRa.Game/Properties/AssemblyInfo.cs diff --git a/BluntDx.dll b/BluntDx.dll new file mode 100644 index 0000000000000000000000000000000000000000..cf1f0d1ce26deba688bed96303d065d9f86a9cf5 GIT binary patch literal 74752 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 literal 0 HcmV?d00001 diff --git a/OpenRa.Game/MainWindow.cs b/OpenRa.Game/MainWindow.cs new file mode 100644 index 0000000000..4dc7d61195 --- /dev/null +++ b/OpenRa.Game/MainWindow.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; +using BluntDirectX.Direct3D; + +namespace OpenRa.Game +{ + class MainWindow : Form + { + GraphicsDevice device; + + public MainWindow() + { + Text = "OpenRA"; + ClientSize = new Size(640, 480); + + Visible = true; + + device = GraphicsDevice.Create(this, ClientSize.Width, ClientSize.Height, true, false); + } + + internal void Run() + { + while (Created && Visible) + { + Frame(); + Application.DoEvents(); + } + } + + void Frame() + { + device.Begin(); + device.Clear(0); + + device.End(); + device.Present(); + } + } +} diff --git a/OpenRa.Game/OpenRa.Game.csproj b/OpenRa.Game/OpenRa.Game.csproj new file mode 100644 index 0000000000..e1b307f99c --- /dev/null +++ b/OpenRa.Game/OpenRa.Game.csproj @@ -0,0 +1,56 @@ + + + Debug + AnyCPU + 8.0.50727 + 2.0 + {0DFB103F-2962-400F-8C6D-E2C28CCBA633} + WinExe + Properties + OpenRa.Game + OpenRa.Game + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\BluntDx.dll + + + + + + + + + + Form + + + + + + + \ No newline at end of file diff --git a/OpenRa.Game/Program.cs b/OpenRa.Game/Program.cs new file mode 100644 index 0000000000..b09eca57aa --- /dev/null +++ b/OpenRa.Game/Program.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; + +namespace OpenRa.Game +{ + static class Program + { + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + new MainWindow().Run(); + } + } +} \ No newline at end of file diff --git a/OpenRa.Game/Properties/AssemblyInfo.cs b/OpenRa.Game/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..dca63d92a2 --- /dev/null +++ b/OpenRa.Game/Properties/AssemblyInfo.cs @@ -0,0 +1,17 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("OpenRa.Game")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("OpenRa.Game")] +[assembly: AssemblyCopyright("Copyright © 2007")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +[assembly: ComVisible(false)] + +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenRa.sln b/OpenRa.sln index a7f66a1eb9..ad1b47e60c 100644 --- a/OpenRa.sln +++ b/OpenRa.sln @@ -9,6 +9,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRa.FileFormats", "OpenR EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRa.Core", "OpenRa.Core\OpenRa.Core.csproj", "{1B60782F-B2DD-43F1-B51D-B798485F317C}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRa.Game", "OpenRa.Game\OpenRa.Game.csproj", "{0DFB103F-2962-400F-8C6D-E2C28CCBA633}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -59,6 +61,16 @@ Global {1B60782F-B2DD-43F1-B51D-B798485F317C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {1B60782F-B2DD-43F1-B51D-B798485F317C}.Release|Mixed Platforms.Build.0 = Release|Any CPU {1B60782F-B2DD-43F1-B51D-B798485F317C}.Release|Win32.ActiveCfg = Release|Any CPU + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Debug|Win32.ActiveCfg = Debug|Any CPU + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Release|Any CPU.Build.0 = Release|Any CPU + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Release|Win32.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE