Index: ReadMe.txt |
— | — | @@ -1,3 +1,6 @@ |
| 2 | +DXGL 0.1.6
|
| 3 | +http://www.williamfeely.info/wiki/DXGL
|
| 4 | +
|
2 | 5 | == Introduction ==
|
3 | 6 |
|
4 | 7 | DXGL is a project to create a DirectDraw/Direct3D version 1 to 7 implementation that runs on OpenGL 2.0. It is intended to alleviate some of the graphics glitches inherent with using legacy DirectX interfaces on modern video cards. The API will be 100% binary compatible with the system ddraw.dll file.
|
— | — | @@ -6,15 +9,15 @@ |
7 | 10 |
|
8 | 11 | == System Requirements ==
|
9 | 12 |
|
10 | | -* Windows operating system (currently XP or above)
|
11 | | -* OpenGL 2.0 or higher compatible video card, with hardware accelerated non-power-of-two size textures.
|
12 | | - Geforce FX series graphics cards are NOT supported because non-power-of-two textures are emulated in software.
|
| 13 | +* Windows XP, Vista, 7, or 8 (May work under recent builds of Wine)
|
| 14 | +* OpenGL 2.0 or higher compatible video card, with hardware accelerated non-power-of-two size textures
|
| 15 | +* Visual C++ 2010 x86 runtime, available at http://www.microsoft.com/download/en/details.aspx?id=5555 (will be installed if not present)
|
13 | 16 |
|
14 | 17 | == Build Requirements ==
|
15 | 18 | * Visual Studio 2010 or Visual C++ 2010 Express
|
16 | | -* Latest version of Windows SDK
|
| 19 | +* Latest version of Windows SDK may be required
|
17 | 20 |
|
18 | | -== Build instructions ==
|
| 21 | +== Build Instructions ==
|
19 | 22 | These instructions assume that you do not have any of the required software installed. If you already have any or all of this software installed and set up, skip those steps.
|
20 | 23 | * Install Visual C++ 2010 Express at http://www.microsoft.com/express/downloads/#2010-Visual-CPP
|
21 | 24 | * Install the Windows SDK at:
|
— | — | @@ -24,13 +27,13 @@ |
25 | 28 | * Open the dxgl.sln file, select your build configuration (Debug or Release) in the toolbar, and press F5.
|
26 | 29 |
|
27 | 30 | == Progress ==
|
28 | | -For detailed progress information, please check https://www.williamfeely.info/wiki/DXGL_Features
|
| 31 | +For detailed progress information, please check http://www.williamfeely.info/wiki/DXGL_Features
|
29 | 32 | What works:
|
30 | 33 | * DirectDraw object creation and destruction (versions 1 to 7)
|
31 | 34 | * Display mode enumeration and switching (with emulated mode switching)
|
32 | 35 | * Fullscreen and windowed modes.
|
33 | 36 | * Basic Blt() functionality
|
34 | | -* 8-bit color
|
| 37 | +* 8-bit color with GLSL shader
|
35 | 38 |
|
36 | 39 | What partially works:
|
37 | 40 | * SetCooperativeLevel (destroys the GL context if switching between windowed and fullscreen modes)
|
— | — | @@ -50,7 +53,7 @@ |
51 | 54 | https://www.williamfeely.info/svn/dxgl
|
52 | 55 |
|
53 | 56 | There is a Mediawiki-based SVN log at:
|
54 | | -https://www.williamfeely.info/wiki/Special:Code/DXGL
|
| 57 | +http://www.williamfeely.info/wiki/Special:Code/DXGL
|
55 | 58 |
|
56 | 59 | == AppDB ==
|
57 | 60 |
|
Index: common/version.h |
— | — | @@ -4,12 +4,12 @@ |
5 | 5 |
|
6 | 6 | #define DXGLMAJOR 0
|
7 | 7 | #define DXGLMINOR 1
|
8 | | -#define DXGLPOINT 5
|
| 8 | +#define DXGLPOINT 6
|
9 | 9 | #define DXGLBUILD 0
|
10 | 10 |
|
11 | 11 | #define DXGLVERNUMBER DXGLMAJOR,DXGLMINOR,DXGLPOINT,DXGLBUILD
|
12 | 12 | #define DXGLVERQWORD (((unsigned __int64)DXGLMAJOR<<48)+((unsigned __int64)DXGLMINOR<<32)+((unsigned __int64)DXGLPOINT<<16)+(unsigned __int64)DXGLBUILD)
|
13 | | -#define DXGLVERSTRING "0.1.5.0"
|
| 13 | +#define DXGLVERSTRING "0.1.6.0"
|
14 | 14 |
|
15 | 15 |
|
16 | 16 | #endif //__VERSION_H
|
Index: ddraw/glDirectDraw.cpp |
— | — | @@ -649,9 +649,14 @@ |
650 | 650 | }
|
651 | 651 | if(riid == IID_IDirect3D7)
|
652 | 652 | {
|
| 653 | + #ifdef _DEBUG
|
653 | 654 | this->AddRef();
|
654 | 655 | *ppvObj = new glDirect3D7(this);
|
655 | 656 | return DD_OK;
|
| 657 | + #else
|
| 658 | + FIXME("Add IDirect3D Interfaces\n");
|
| 659 | + ERR(DDERR_GENERIC);
|
| 660 | + #endif
|
656 | 661 | }
|
657 | 662 | if(riid == IID_IDirectDrawGammaControl)
|
658 | 663 | {
|
Index: dxgltest/dxgltest.cpp |
— | — | @@ -713,11 +713,15 @@ |
714 | 714 | tab.pszText = _T("2D Graphics");
|
715 | 715 | hTab = GetDlgItem(hWnd,IDC_TABS);
|
716 | 716 | SendDlgItemMessage(hWnd,IDC_TABS,TCM_INSERTITEM,1,(LPARAM)&tab);
|
| 717 | + #ifdef _DEBUG
|
717 | 718 | tab.pszText = _T("3D Graphics");
|
718 | 719 | SendDlgItemMessage(hWnd,IDC_TABS,TCM_INSERTITEM,2,(LPARAM)&tab);
|
| 720 | + #endif
|
719 | 721 | tabwnd[0] = CreateDialog(hinstance,MAKEINTRESOURCE(IDD_SYSINFO),hTab,SysTabCallback);
|
720 | 722 | tabwnd[1] = CreateDialog(hinstance,MAKEINTRESOURCE(IDD_TESTGFX),hTab,Test2DCallback);
|
| 723 | + #ifdef _DEBUG
|
721 | 724 | tabwnd[2] = CreateDialog(hinstance,MAKEINTRESOURCE(IDD_TESTGFX),hTab,Test3DCallback);
|
| 725 | + #endif
|
722 | 726 | SendDlgItemMessage(hWnd,IDC_TABS,TCM_GETITEMRECT,0,(LPARAM)&tabrect);
|
723 | 727 | SetWindowPos(tabwnd[0],NULL,tabrect.left,tabrect.bottom+3,0,0,SWP_SHOWWINDOW|SWP_NOSIZE);
|
724 | 728 | ShowWindow(tabwnd[1],SW_HIDE);
|