Skip to content

Commit

Permalink
DXGL 0.0.6:
Browse files Browse the repository at this point in the history
New faster surface locking engine
Fix distortion in non-multiple-of-8 video modes
Add LGPL license file
Fix configuration loading for DirectDrawCreateEx()
Add DDRAW caps bits
Add IDirectDraw::GetDisplayMode()
Add IDirectDraw::RestoreDisplayMode()
Start creating NSIS installer
Various minor fixes

git-svn-id: https://www.williamfeely.info/svn/dxgl@6 8a90861a-4eca-46d5-b744-240ff16d0c4d
  • Loading branch information
dxgldotorg committed Nov 19, 2011
1 parent 5183495 commit 49df16b
Show file tree
Hide file tree
Showing 17 changed files with 1,170 additions and 212 deletions.
502 changes: 502 additions & 0 deletions COPYING.txt

Large diffs are not rendered by default.

112 changes: 112 additions & 0 deletions Installer/dxgl.nsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
; Script generated by the HM NIS Edit Script Wizard.

SetCompressor /SOLID lzma

; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "DXGL"
!define PRODUCT_VERSION "0.0.6"
!define PRODUCT_PUBLISHER "William Feely"
!define PRODUCT_WEB_SITE "https://www.williamfeely.info/wiki/DXGL"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\dxglcfg.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"

; MUI2
!include "MUI2.nsh"

; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"

; Welcome page
!insertmacro MUI_PAGE_WELCOME
; License page
!insertmacro MUI_PAGE_LICENSE "..\COPYING.txt"
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!define MUI_FINISHPAGE_RUN "$INSTDIR\dxglcfg.exe"
!define MUI_FINISHPAGE_RUN_TEXT "Configure DXGL"
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\ReadMe.txt"
!insertmacro MUI_PAGE_FINISH

; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES

; Language files
!insertmacro MUI_LANGUAGE "English"

; MUI end ------

Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "DXGL-0.0.6-win32.exe"
InstallDir "$PROGRAMFILES\DXGL"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show
ShowUnInstDetails show

Section "MainSection" SEC01
SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "..\Release\dxgltest.exe"
CreateDirectory "$SMPROGRAMS\DXGL"
CreateShortCut "$SMPROGRAMS\DXGL\DXGL Test.lnk" "$INSTDIR\dxgltest.exe"
File "..\Release\dxglcfg.exe"
CreateShortCut "$SMPROGRAMS\DXGL\Configure DXGL.lnk" "$INSTDIR\dxglcfg.exe"
File "..\Release\ddraw.dll"
File "..\ReadMe.txt"
File "..\COPYING.txt"
SectionEnd

Section -AdditionalIcons
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
CreateShortCut "$SMPROGRAMS\DXGL\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
CreateShortCut "$SMPROGRAMS\DXGL\Uninstall.lnk" "$INSTDIR\uninst.exe"
SectionEnd

Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\dxglcfg.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\dxglcfg.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd


Function un.onUninstSuccess
HideWindow
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."
FunctionEnd

Function un.onInit
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2
Abort
FunctionEnd

Section Uninstall
Delete "$INSTDIR\${PRODUCT_NAME}.url"
Delete "$INSTDIR\uninst.exe"
Delete "$INSTDIR\COPYING.txt"
Delete "$INSTDIR\ReadMe.txt"
Delete "$INSTDIR\ddraw.dll"
Delete "$INSTDIR\dxglcfg.exe"
Delete "$INSTDIR\dxgltest.exe"

Delete "$SMPROGRAMS\DXGL\Uninstall.lnk"
Delete "$SMPROGRAMS\DXGL\Website.lnk"
Delete "$SMPROGRAMS\DXGL\Configure DXGL.lnk"
Delete "$SMPROGRAMS\DXGL\DXGL Test.lnk"

RMDir "$SMPROGRAMS\DXGL"
RMDir "$INSTDIR"

DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
SetAutoClose true
SectionEnd
33 changes: 23 additions & 10 deletions ReadMe.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ DXGL is currently in a pre-alpha stage and very little works at this point.
== System Requirements ==

* Windows operating system (currently XP or above)
* OpenGL 2.0 or higher compatible video card, with hardware accelerated non-power-of-two size textures
* OpenGL 2.0 or higher compatible video card, with hardware accelerated non-power-of-two size textures.
Geforce FX series graphics cards are NOT supported because non-power-of-two textures are emulated in software.

== Build Requirements ==
* Visual Studio 2010 or Visual C++ 2010 Express
Expand All @@ -24,27 +25,30 @@ http://www.microsoft.com/downloads/en/details.aspx?FamilyID=689655B4-C55D-4F9B-9

== Progress ==
What works:
* DirectDraw object creation and destruction
* DirectDraw object creation and destruction (versions 1 to 7)
* Display mode enumeration and switching (with emulated mode switching)
* Fullscreen and windowed modes.
* Basic Blt() functionality
* 8-bit color

What partially works:
* SetCooperativeLevel (not always on top for debugging purposes.)
* 8-bit color
* SetCooperativeLevel (destroys the GL context if switching between windowed and fullscreen modes)

What doesn't work:
* Most functions are stubbed out and return an error
* No 3D graphics support
* Blt() may cause crashing

== Roadmap ==
These are goals to be set for future releases.
Please see https://www.williamfeely.info/wiki/DXGL for updated information.

- Version 0.0.6 Pre-Alpha
* Fix distortion on non-multiple-of-8 width physical modes
* Improve surface locking and unlocking
* Start making DirectDraw programs run
* Start an AppDB for compatible programs
- Version 0.0.7 Pre-Alpha
* Fix blitting in fullscreen.

- Version 0.1.0 Alpha
* Implement per-application settings
* Create installer

== Installation ==

Expand All @@ -58,7 +62,16 @@ SVN readonly access is available at:
https://www.williamfeely.info/svn/dxgl

There is a Mediawiki-based SVN log at:
http://www.williamfeely.info/wiki/Special:Code/DXGL
https://www.williamfeely.info/wiki/Special:Code/DXGL

== AppDB ==

An AppDB system (similar to that on winehq.org) is now available at:

https://www.williamfeely.info/appdb/

This requires a user account separate from the other services.


== Bug reports ==

Expand Down
1 change: 1 addition & 0 deletions ddraw/ddraw.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ HRESULT WINAPI DirectDrawCreateClipper(DWORD dwFlags, LPDIRECTDRAWCLIPPER FAR *l
}
HRESULT WINAPI DirectDrawCreateEx(GUID FAR *lpGUID, LPVOID *lplpDD, REFIID iid, IUnknown FAR *pUnkOuter)
{
GetCurrentConfig(&dxglcfg);
glDirectDraw7 *myddraw;
HRESULT error;
if(iid != IID_IDirectDraw7) return DDERR_UNSUPPORTED;
Expand Down
8 changes: 4 additions & 4 deletions ddraw/ddraw.rc
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ IDI_ICON1 ICON "..\\common\\dxgl.ico"
//
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
1 VERSIONINFO
FILEVERSION 0,0,5,0
PRODUCTVERSION 0,0,5,0
FILEVERSION 0,0,6,0
PRODUCTVERSION 0,0,6,0
FILEOS VOS__WINDOWS32
FILETYPE VFT_DLL
FILESUBTYPE VFT2_UNKNOWN
Expand All @@ -50,12 +50,12 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
{
VALUE "CompanyName", "William Feely"
VALUE "FileDescription", "DXGL DDraw Library"
VALUE "FileVersion", "0.0.5.0"
VALUE "FileVersion", "0.0.6.0"
VALUE "InternalName", "DXGL"
VALUE "LegalCopyright", "Copyright (C) 2011 William Feely"
VALUE "OriginalFilename", "DDraw.dll"
VALUE "ProductName", "DXGL"
VALUE "ProductVersion", "0.0.5.0"
VALUE "ProductVersion", "0.0.6.0"
}
}
BLOCK "VarFileInfo"
Expand Down
2 changes: 2 additions & 0 deletions ddraw/ddraw.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@
<ClInclude Include="include\GL\glext.h" />
<ClInclude Include="include\GL\wglext.h" />
<ClInclude Include="include\winedef.h" />
<ClInclude Include="scalers.h" />
<ClInclude Include="shaders.h" />
</ItemGroup>
<ItemGroup>
Expand Down Expand Up @@ -207,6 +208,7 @@
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release no DXGL|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="scalers.cpp" />
<ClCompile Include="shaders.cpp" />
</ItemGroup>
<ItemGroup>
Expand Down
6 changes: 6 additions & 0 deletions ddraw/ddraw.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@
<ClInclude Include="include\GL\wglext.h">
<Filter>Header Files\include\GL</Filter>
</ClInclude>
<ClInclude Include="scalers.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="ddraw.cpp">
Expand Down Expand Up @@ -100,6 +103,9 @@
<ClCompile Include="dxguid.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="scalers.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="ddraw.rc">
Expand Down
Loading

0 comments on commit 49df16b

Please sign in to comment.