├── .gitignore
├── COPYING.txt
├── Help
├── Doxyfile
├── Doxyfile.debug
├── Help.vcxproj
├── Help.vcxproj.filters
├── Index.hhk
├── dxgl.css
├── dxgl.hhp
├── html
│ ├── .gitignore
│ ├── config
│ │ ├── 3dgraphics
│ │ │ ├── anisotropicfiltering.htmlbody
│ │ │ ├── anisotropicfiltering.htmltitle
│ │ │ ├── antialiasing.htmlbody
│ │ │ ├── antialiasing.htmltitle
│ │ │ ├── enabledithering.htmlbody
│ │ │ ├── enabledithering.htmltitle
│ │ │ ├── limitd3dtextureformats.htmlbody
│ │ │ ├── limitd3dtextureformats.htmltitle
│ │ │ ├── lowcolorrendering.htmlbody
│ │ │ ├── lowcolorrendering.htmltitle
│ │ │ ├── rendereraspectratio.htmlbody
│ │ │ ├── rendereraspectratio.htmltitle
│ │ │ ├── texturefilter.htmlbody
│ │ │ └── texturefilter.htmltitle
│ │ ├── 3dgraphicstab.htmlbody
│ │ ├── 3dgraphicstab.htmltitle
│ │ ├── abouttab.htmlbody
│ │ ├── abouttab.htmltitle
│ │ ├── advanced
│ │ │ ├── capturemouseinwindowmode.htmlbody
│ │ │ ├── capturemouseinwindowmode.htmltitle
│ │ │ ├── defaultwindowposition.htmlbody
│ │ │ ├── defaultwindowposition.htmltitle
│ │ │ ├── dontautosizewindow.htmlbody
│ │ │ ├── dontautosizewindow.htmltitle
│ │ │ ├── installationpath.htmlbody
│ │ │ ├── installationpath.htmltitle
│ │ │ ├── rememberedwindowposition.htmlbody
│ │ │ ├── rememberedwindowposition.htmltitle
│ │ │ ├── rememberedwindowsize.htmlbody
│ │ │ ├── rememberedwindowsize.htmltitle
│ │ │ ├── rememberwindowposition.htmlbody
│ │ │ ├── rememberwindowposition.htmltitle
│ │ │ ├── rememberwindowsize.htmlbody
│ │ │ ├── rememberwindowsize.htmltitle
│ │ │ ├── startresizablewindowmaximized.htmlbody
│ │ │ ├── startresizablewindowmaximized.htmltitle
│ │ │ ├── textureaccessmethod.htmlbody
│ │ │ ├── textureaccessmethod.htmltitle
│ │ │ ├── textureformat.htmlbody
│ │ │ ├── textureformat.htmltitle
│ │ │ ├── writeinifile.htmlbody
│ │ │ └── writeinifile.htmltitle
│ │ ├── advancedtab.htmlbody
│ │ ├── advancedtab.htmltitle
│ │ ├── debug
│ │ │ ├── debugblenddestinationcolor.htmlbody
│ │ │ ├── debugblenddestinationcolor.htmltitle
│ │ │ ├── disablearbdirectstateaccess.htmlbody
│ │ │ ├── disablearbdirectstateaccess.htmltitle
│ │ │ ├── disablearbframebuffers.htmlbody
│ │ │ ├── disablearbframebuffers.htmltitle
│ │ │ ├── disabledrawonpalettechange.htmlbody
│ │ │ ├── disabledrawonpalettechange.htmltitle
│ │ │ ├── disableextdirectstateaccess.htmlbody
│ │ │ ├── disableextdirectstateaccess.htmltitle
│ │ │ ├── disableextframebuffers.htmlbody
│ │ │ ├── disableextframebuffers.htmltitle
│ │ │ ├── disableextgpushader4.htmlbody
│ │ │ ├── disableextgpushader4.htmltitle
│ │ │ ├── disablegles2compatibility.htmlbody
│ │ │ ├── disablegles2compatibility.htmltitle
│ │ │ ├── disableglsl130support.htmlbody
│ │ │ ├── disableglsl130support.htmltitle
│ │ │ ├── disablemousecursorhooks.htmlbody
│ │ │ ├── disablemousecursorhooks.htmltitle
│ │ │ ├── disablesamplerobjects.htmlbody
│ │ │ ├── disablesamplerobjects.htmltitle
│ │ │ ├── maximumopenglversion.htmlbody
│ │ │ ├── maximumopenglversion.htmltitle
│ │ │ ├── uploadsurfacecontentsonunlock.htmlbody
│ │ │ └── uploadsurfacecontentsonunlock.htmltitle
│ │ ├── debugtab.htmlbody
│ │ ├── debugtab.htmltitle
│ │ ├── display
│ │ │ ├── addcolordepths.htmlbody
│ │ │ ├── addcolordepths.htmltitle
│ │ │ ├── additionaldisplaymodes.htmlbody
│ │ │ ├── additionaldisplaymodes.htmltitle
│ │ │ ├── changedisplaycolordepth.htmlbody
│ │ │ ├── changedisplaycolordepth.htmltitle
│ │ │ ├── customresolution.htmlbody
│ │ │ ├── customresolution.htmltitle
│ │ │ ├── dpiscalingmode.htmlbody
│ │ │ ├── dpiscalingmode.htmltitle
│ │ │ ├── fixedscaling.htmlbody
│ │ │ ├── fixedscaling.htmltitle
│ │ │ ├── fullscreenwindowmode.htmlbody
│ │ │ ├── fullscreenwindowmode.htmltitle
│ │ │ ├── scalingmethod.htmlbody
│ │ │ ├── scalingmethod.htmltitle
│ │ │ ├── screenaspectratio.htmlbody
│ │ │ ├── screenaspectratio.htmltitle
│ │ │ ├── setdisplayconfig.htmlbody
│ │ │ ├── setdisplayconfig.htmltitle
│ │ │ ├── singlebuffereddisplay.htmlbody
│ │ │ ├── singlebuffereddisplay.htmltitle
│ │ │ ├── sortvideomodes.htmlbody
│ │ │ ├── sortvideomodes.htmltitle
│ │ │ ├── verticalsync.htmlbody
│ │ │ ├── verticalsync.htmltitle
│ │ │ ├── videomode.htmlbody
│ │ │ ├── videomode.htmltitle
│ │ │ ├── windowmodescaling.htmlbody
│ │ │ └── windowmodescaling.htmltitle
│ │ ├── displaytab.htmlbody
│ │ ├── displaytab.htmltitle
│ │ ├── effects
│ │ │ ├── bltscalingfilter.htmlbody
│ │ │ ├── bltscalingfilter.htmltitle
│ │ │ ├── postprocessinputmultiplier.htmlbody
│ │ │ ├── postprocessinputmultiplier.htmltitle
│ │ │ ├── postprocessscaler.htmlbody
│ │ │ ├── postprocessscaler.htmltitle
│ │ │ ├── primarybufferscaling.htmlbody
│ │ │ └── primarybufferscaling.htmltitle
│ │ ├── effectstab.htmlbody
│ │ ├── effectstab.htmltitle
│ │ ├── gfxtest
│ │ │ ├── bltfast.htmlbody
│ │ │ ├── bltfast.htmltitle
│ │ │ ├── bltraster.htmlbody
│ │ │ ├── bltraster.htmltitle
│ │ │ ├── colorfill.htmlbody
│ │ │ ├── colorfill.htmltitle
│ │ │ ├── colorpalette.htmlbody
│ │ │ ├── colorpalette.htmltitle
│ │ │ ├── destkeyoverride.htmlbody
│ │ │ ├── destkeyoverride.htmltitle
│ │ │ ├── drawindexedprimitive.htmlbody
│ │ │ ├── drawindexedprimitive.htmltitle
│ │ │ ├── drawprimitivetextured.htmlbody
│ │ │ ├── drawprimitivetextured.htmltitle
│ │ │ ├── gditest.htmlbody
│ │ │ ├── gditest.htmltitle
│ │ │ ├── largebatchblt.htmlbody
│ │ │ ├── largebatchblt.htmltitle
│ │ │ ├── mirrorrotate.htmlbody
│ │ │ ├── mirrorrotate.htmltitle
│ │ │ ├── mousetest.htmlbody
│ │ │ ├── mousetest.htmltitle
│ │ │ ├── randomgdi.htmlbody
│ │ │ ├── randomgdi.htmltitle
│ │ │ ├── randomnoise.htmlbody
│ │ │ ├── randomnoise.htmltitle
│ │ │ ├── rasterop.htmlbody
│ │ │ ├── rasterop.htmltitle
│ │ │ ├── setcursorpos.htmlbody
│ │ │ ├── setcursorpos.htmltitle
│ │ │ ├── srckeyoverride.htmlbody
│ │ │ ├── srckeyoverride.htmltitle
│ │ │ ├── surfaceformat.htmlbody
│ │ │ ├── surfaceformat.htmltitle
│ │ │ ├── texturestageshaders.htmlbody
│ │ │ ├── texturestageshaders.htmltitle
│ │ │ ├── vertexshaders.htmlbody
│ │ │ ├── vertexshaders.htmltitle
│ │ │ ├── windowapitest.htmlbody
│ │ │ └── windowapitest.htmltitle
│ │ ├── gfxtesttab.htmlbody
│ │ ├── gfxtesttab.htmltitle
│ │ ├── hacks
│ │ │ ├── automaticallyexpandviewport.htmlbody
│ │ │ ├── automaticallyexpandviewport.htmltitle
│ │ │ ├── automaticexpandcomparisonmethod.htmlbody
│ │ │ ├── automaticexpandcomparisonmethod.htmltitle
│ │ │ ├── automaticexpandcomparisonvalue.htmlbody
│ │ │ ├── automaticexpandcomparisonvalue.htmltitle
│ │ │ ├── crop640480to640400.htmlbody
│ │ │ ├── crop640480to640400.htmltitle
│ │ │ ├── palettedrawdelayms.htmlbody
│ │ │ ├── palettedrawdelayms.htmltitle
│ │ │ ├── removetvcompatiblerefreshrates.htmlbody
│ │ │ ├── removetvcompatiblerefreshrates.htmltitle
│ │ │ ├── setcursorhidevisibility.htmlbody
│ │ │ ├── setcursorhidevisibility.htmltitle
│ │ │ ├── syncpaletteupdatetovsync.htmlbody
│ │ │ └── syncpaletteupdatetovsync.htmltitle
│ │ ├── hackstab.htmlbody
│ │ └── hackstab.htmltitle
│ ├── configuration.htmlbody
│ ├── configuration.htmltitle
│ ├── introduction.htmlbody
│ ├── introduction.htmltitle
│ ├── licenses.htmlbody
│ ├── licenses.htmltitle
│ ├── licenses
│ │ ├── crc32.htmlbody
│ │ ├── crc32.htmltitle
│ │ ├── dxgl.htmlbody
│ │ ├── dxgl.htmltitle
│ │ ├── inih.htmlbody
│ │ ├── inih.htmltitle
│ │ ├── mesa.htmlbody
│ │ ├── mesa.htmltitle
│ │ ├── minhook.htmlbody
│ │ ├── minhook.htmltitle
│ │ ├── sha.htmlbody
│ │ ├── sha.htmltitle
│ │ ├── wine.htmlbody
│ │ └── wine.htmltitle
│ ├── troubleshooting.htmlbody
│ └── troubleshooting.htmltitle
├── html5.js
├── images
│ ├── bltfast.png
│ ├── bltrop.png
│ ├── colorfill-random.png
│ ├── destkeyoverride.png
│ ├── drawindexedprimitive.png
│ ├── drawprimitivetextured.png
│ ├── dxgl-header.png
│ ├── dxglcfg-3dgraphics.png
│ ├── dxglcfg-about.png
│ ├── dxglcfg-advanced.png
│ ├── dxglcfg-debug.png
│ ├── dxglcfg-display.png
│ ├── dxglcfg-effects.png
│ ├── dxglcfg-hacks.png
│ ├── dxglcfg-saveini.png
│ ├── dxglcfg-tests.png
│ ├── gdi-pattern.png
│ ├── gdi-random.png
│ ├── gradients-15bpp.png
│ ├── gradients-16bpp.png
│ ├── gradients-24bpp.png
│ ├── gradients-8bpp.png
│ ├── large-batch-blt.png
│ ├── mirror-rotate.png
│ ├── mouse-test.png
│ ├── palette-8bpp.png
│ ├── random-noise.jpg
│ ├── rop-patterns.png
│ ├── setcursorpos.png
│ ├── srckeyoverride.png
│ ├── surfaceformat.png
│ ├── textureshader.png
│ ├── vertexshader.png
│ ├── windowapitest1.png
│ └── windowapitest2.png
├── template.html
└── toc.hhc
├── Installer
├── .gitignore
├── Installer.vcxproj
├── Installer.vcxproj.filters
└── dxgl.nsi
├── ReadMe.md
├── ThirdParty.txt
├── buildtool
├── buildtool.c
├── buildtool.rc
├── buildtool.vcxproj
├── buildtool.vcxproj.filters
├── resource.h
└── xp.manifest
├── cfgmgr
├── LibSha256.c
├── LibSha256.h
├── ReadMe.txt
├── cfgmgr.c
├── cfgmgr.cbp
├── cfgmgr.depend
├── cfgmgr.h
├── cfgmgr.vcxproj
├── cfgmgr.vcxproj.filters
├── crc32.c
├── crc32.h
└── inih
│ ├── .github
│ ├── FUNDING.yml
│ └── workflows
│ │ ├── cifuzz.yml
│ │ └── tests.yml
│ ├── .gitignore
│ ├── LICENSE.txt
│ ├── README.md
│ ├── cpp
│ ├── INIReader.cpp
│ └── INIReader.h
│ ├── examples
│ ├── INIReaderExample.cpp
│ ├── config.def
│ ├── cpptest.sh
│ ├── cpptest.txt
│ ├── ini_dump.c
│ ├── ini_example.c
│ ├── ini_xmacros.c
│ └── test.ini
│ ├── fuzzing
│ ├── OSS-FUZZ.MD
│ ├── build.sh
│ ├── fuzz.sh
│ ├── inihfuzz.c
│ ├── oss-fuzz.sh
│ └── testcases
│ │ └── case1.ini
│ ├── ini.c
│ ├── ini.h
│ ├── meson.build
│ ├── meson_options.txt
│ └── tests
│ ├── bad_comment.ini
│ ├── bad_multi.ini
│ ├── bad_section.ini
│ ├── baseline_alloc.txt
│ ├── baseline_allow_no_value.txt
│ ├── baseline_call_handler_on_new_section.txt
│ ├── baseline_disallow_inline_comments.txt
│ ├── baseline_handler_lineno.txt
│ ├── baseline_heap.txt
│ ├── baseline_heap_max_line.txt
│ ├── baseline_heap_realloc.txt
│ ├── baseline_heap_realloc_max_line.txt
│ ├── baseline_heap_string.txt
│ ├── baseline_multi.txt
│ ├── baseline_multi_max_line.txt
│ ├── baseline_single.txt
│ ├── baseline_stop_on_first_error.txt
│ ├── baseline_string.txt
│ ├── bom.ini
│ ├── duplicate_sections.ini
│ ├── multi_line.ini
│ ├── no_value.ini
│ ├── normal.ini
│ ├── unittest.bat
│ ├── unittest.c
│ ├── unittest.sh
│ ├── unittest_alloc.c
│ ├── unittest_string.c
│ └── user_error.ini
├── common
├── common.cbp
├── common.depend
├── common.vcxproj
├── common.vcxproj.filters
├── dxgl.ico
├── dxgl.png
├── dxgl48.ico
├── dxglicon-shadow.svg
├── dxglicon.svg
├── dxglinv.bmp
├── dxglinv64.bmp
├── dxglsm.ico
├── releasever.h
├── rev.in
├── star.ico
├── version.h.in
├── version.nsh.in
└── x16.ico
├── ddraw
├── BufferObject.c
├── BufferObject.h
├── DXGLQueue.h
├── DXGLRenderer.c
├── DXGLRenderer.h
├── DXGLRendererGL.c
├── DXGLRendererGL.h
├── DXGLTexture.h
├── ShaderGen2D.c
├── ShaderGen2D.h
├── ShaderGen3D.cpp
├── ShaderGen3D.h
├── ShaderManager.c
├── ShaderManager.h
├── colorconv.c
├── colorconv.h
├── common.h
├── const.c
├── const.h
├── ddraw.cpp
├── ddraw.def
├── ddraw.h
├── ddraw.rc
├── ddraw.vcxproj
├── ddraw.vcxproj.filters
├── dllmain.cpp
├── dxglDirectDrawSurface.cpp
├── dxglDirectDrawSurface.h
├── dxguid.c
├── fourcc.c
├── fourcc.h
├── glClassFactory.cpp
├── glClassFactory.h
├── glDirect3D.cpp
├── glDirect3D.h
├── glDirect3DDevice.cpp
├── glDirect3DDevice.h
├── glDirect3DExecuteBuffer.cpp
├── glDirect3DExecuteBuffer.h
├── glDirect3DLight.cpp
├── glDirect3DLight.h
├── glDirect3DMaterial.cpp
├── glDirect3DMaterial.h
├── glDirect3DTexture.cpp
├── glDirect3DTexture.h
├── glDirect3DVertexBuffer.cpp
├── glDirect3DVertexBuffer.h
├── glDirect3DViewport.cpp
├── glDirect3DViewport.h
├── glDirectDraw.cpp
├── glDirectDraw.h
├── glDirectDrawClipper.cpp
├── glDirectDrawClipper.h
├── glDirectDrawGammaControl.cpp
├── glDirectDrawGammaControl.h
├── glDirectDrawPalette.c
├── glDirectDrawPalette.h
├── glExtensions.c
├── glExtensions.h
├── glRenderWindow.cpp
├── glRenderWindow.h
├── glRenderer.cpp
├── glRenderer.h
├── glTexture.c
├── glTexture.h
├── glUtil.cpp
├── glUtil.h
├── hooks.c
├── hooks.h
├── include
│ ├── GL
│ │ ├── glext.h
│ │ └── wglext.h
│ ├── KHR
│ │ └── khrplatform.h
│ ├── d3d.h
│ ├── d3dcaps.h
│ ├── d3dtypes.h
│ ├── d3dvec.inl
│ ├── ddraw.h
│ ├── mingw-setdisplayconfig.h
│ └── winedef.h
├── matrix.c
├── matrix.h
├── precomp.cpp
├── resource.h
├── scalers.c
├── scalers.h
├── string.c
├── string.h
├── struct.h
├── timer.c
├── timer.h
├── trace.c
├── trace.h
├── util.c
└── util.h
├── dxgl-example.ini
├── dxgl-nsis
├── LibSha512.c
├── LibSha512.h
├── api.h
├── dxgl-nsis.c
├── dxgl-nsis.vcxproj
├── dxgl-nsis.vcxproj.filters
├── pluginapi.c
├── pluginapi.h
└── stdint.h
├── dxgl.sln
├── dxgl.workspace
├── dxglcfg-old
├── dxglcfg-old.c
├── dxglcfg-old.cbp
├── dxglcfg-old.depend
├── dxglcfg-old.rc
├── dxglcfg-old.vcxproj
├── dxglcfg-old.vcxproj.filters
├── resource.h
└── xp.manifest
├── dxglcfg
├── MultiDD.cpp
├── MultiDD.h
├── common.h
├── dxglcfg.cpp
├── dxglcfg.rc
├── dxglcfg.vcxproj
├── dxglcfg.vcxproj.filters
├── dxgltest.cpp
├── dxgltest.h
├── dxguid.cpp
├── include
│ └── vsstyle.h
├── misc.h
├── palette.cpp
├── palette.h
├── precomp.cpp
├── resource.h
├── surfacegen.cpp
├── surfacegen.h
├── tests.cpp
├── tests.h
├── timer.cpp
├── timer.h
└── xp.manifest
├── minhook
├── .editorconfig
├── .github
│ └── workflows
│ │ └── msbuild.yml
├── .gitignore
├── AUTHORS.txt
├── CMakeLists.txt
├── LICENSE.txt
├── README.md
├── build
│ ├── DXGL
│ │ ├── libMinHook.vcxproj
│ │ └── libMinHook.vcxproj.filters
│ ├── MinGW
│ │ ├── Makefile
│ │ ├── make.bat
│ │ └── make.sh
│ ├── VC10
│ │ ├── MinHook.vcxproj
│ │ ├── MinHookVC10.sln
│ │ ├── libMinHook.vcxproj
│ │ └── libMinHook.vcxproj.filters
│ ├── VC11
│ │ ├── MinHook.vcxproj
│ │ ├── MinHookVC11.sln
│ │ ├── libMinHook.vcxproj
│ │ └── libMinHook.vcxproj.filters
│ ├── VC12
│ │ ├── MinHook.vcxproj
│ │ ├── MinHookVC12.sln
│ │ ├── libMinHook.vcxproj
│ │ └── libMinHook.vcxproj.filters
│ ├── VC14
│ │ ├── MinHook.vcxproj
│ │ ├── MinHookVC14.sln
│ │ ├── libMinHook.vcxproj
│ │ └── libMinHook.vcxproj.filters
│ ├── VC15
│ │ ├── MinHook.vcxproj
│ │ ├── MinHookVC15.sln
│ │ ├── libMinHook.vcxproj
│ │ └── libMinHook.vcxproj.filters
│ ├── VC16
│ │ ├── MinHook.vcxproj
│ │ ├── MinHookVC16.sln
│ │ ├── libMinHook.vcxproj
│ │ └── libMinHook.vcxproj.filters
│ ├── VC17
│ │ ├── MinHook.vcxproj
│ │ ├── MinHookVC17.sln
│ │ ├── libMinHook.vcxproj
│ │ └── libMinHook.vcxproj.filters
│ └── VC9
│ │ ├── MinHook.vcproj
│ │ ├── MinHookVC9.sln
│ │ └── libMinHook.vcproj
├── cmake
│ └── minhook-config.cmake.in
├── dll_resources
│ ├── MinHook.def
│ └── MinHook.rc
├── include
│ └── MinHook.h
└── src
│ ├── buffer.c
│ ├── buffer.h
│ ├── hde
│ ├── hde32.c
│ ├── hde32.h
│ ├── hde64.c
│ ├── hde64.h
│ ├── pstdint.h
│ ├── table32.h
│ └── table64.h
│ ├── hook.c
│ ├── trampoline.c
│ └── trampoline.h
├── patches
├── SetCursorPos hack.patch
└── readme.txt
├── vs8
├── Help
│ └── Help.vcproj
├── Installer
│ └── Installer.vcproj
├── buildtool
│ └── buildtool.vcproj
├── cfgmgr
│ └── cfgmgr.vcproj
├── common
│ └── common.vcproj
├── ddraw
│ └── ddraw.vcproj
├── dxgl-nsis
│ └── dxgl-nsis.vcproj
├── dxgl-vs8.sln
├── dxglcfg
│ └── dxglcfg.vcproj
└── libMinHook
│ └── libMinHook.vcproj
└── vs9
├── Help
└── Help.vcproj
├── Installer
└── Installer.vcproj
├── buildtool
└── buildtool.vcproj
├── cfgmgr
└── cfgmgr.vcproj
├── common
└── common.vcproj
├── ddraw
└── ddraw.vcproj
├── dxgl-nsis
└── dxgl-nsis.vcproj
├── dxgl-vs9.sln
├── dxglcfg
└── dxglcfg.vcproj
└── libMinHook
└── libMinHook.vcproj
/Help/Index.hhk:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
9 |
10 |
--------------------------------------------------------------------------------
/Help/dxgl.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/dxgl.css
--------------------------------------------------------------------------------
/Help/html/.gitignore:
--------------------------------------------------------------------------------
1 | *.html
2 |
--------------------------------------------------------------------------------
/Help/html/config/3dgraphics/anisotropicfiltering.htmlbody:
--------------------------------------------------------------------------------
1 | This option is currently not implemented.
--------------------------------------------------------------------------------
/Help/html/config/3dgraphics/anisotropicfiltering.htmltitle:
--------------------------------------------------------------------------------
1 | Anisotropic filtering
--------------------------------------------------------------------------------
/Help/html/config/3dgraphics/antialiasing.htmlbody:
--------------------------------------------------------------------------------
1 | This option is currently not implemented.
2 | Valid settings are dependent on the graphics card.
--------------------------------------------------------------------------------
/Help/html/config/3dgraphics/antialiasing.htmltitle:
--------------------------------------------------------------------------------
1 | Antialiasing (MSAA)
--------------------------------------------------------------------------------
/Help/html/config/3dgraphics/enabledithering.htmlbody:
--------------------------------------------------------------------------------
1 | This option is currently not implemented.
--------------------------------------------------------------------------------
/Help/html/config/3dgraphics/enabledithering.htmltitle:
--------------------------------------------------------------------------------
1 | Enable dithering
--------------------------------------------------------------------------------
/Help/html/config/3dgraphics/limitd3dtextureformats.htmlbody:
--------------------------------------------------------------------------------
1 | Limits the surface formats exposed as Direct3D texture formats. This may help prevent buffer overruns in older applications that expect a limited number of texture formats. Default is to limit formats in Direct3D 5.0 and lower APIs.
2 | The following options are available:
3 | Disabled
4 | Exposes all supported pixel formats as texture formats.
5 | Enabled for DX5 and below
6 | Exposes all supported pixel formats when using Direct3D 6.0 or above APIs; when Direct3D 5.0 or below APIs exposes a limited subset of supported pixel formats.
7 | Enabled always
8 | Always exposes a limited set of supported pixel formats to Direct3D APIs. This setting is not recommended.
--------------------------------------------------------------------------------
/Help/html/config/3dgraphics/limitd3dtextureformats.htmltitle:
--------------------------------------------------------------------------------
1 | Limit D3D Texture Formats
--------------------------------------------------------------------------------
/Help/html/config/3dgraphics/lowcolorrendering.htmlbody:
--------------------------------------------------------------------------------
1 | This option is currently not implemented.
--------------------------------------------------------------------------------
/Help/html/config/3dgraphics/lowcolorrendering.htmltitle:
--------------------------------------------------------------------------------
1 | Low color rendering
--------------------------------------------------------------------------------
/Help/html/config/3dgraphics/rendereraspectratio.htmlbody:
--------------------------------------------------------------------------------
1 | This option is currently not implemented.
--------------------------------------------------------------------------------
/Help/html/config/3dgraphics/rendereraspectratio.htmltitle:
--------------------------------------------------------------------------------
1 | Renderer aspect ratio
--------------------------------------------------------------------------------
/Help/html/config/3dgraphics/texturefilter.htmlbody:
--------------------------------------------------------------------------------
1 | Specifies the filter to use when rendering 3D graphics.
2 | The following options are available:
3 | Application default
4 | Uses the mode specified by the application for filtering textures.
5 | Nearest
6 | Uses nearest-neighbor scaling for all textures.
7 | Bilinear
8 | Uses bilinear filtering for all textures.
9 |
10 | Nearest, nearest mipmap
11 | Nearest, linear mipmap
12 | Bilinear, nearest mipmap
13 | Bilinear, linear mipmap
14 |
15 | These options are currently not implemented.
--------------------------------------------------------------------------------
/Help/html/config/3dgraphics/texturefilter.htmltitle:
--------------------------------------------------------------------------------
1 | Texture filter
--------------------------------------------------------------------------------
/Help/html/config/3dgraphicstab.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 | The 3D Graphics tab adjusts various settings specific to 3D graphics. At this time, most options are not yet available.
4 |
5 |
6 | Texture filter
7 |
8 |
9 | Anisotropic filtering
10 |
11 |
12 | Antialiasing (MSAA)
13 |
14 |
15 | Renderer aspect ratio
16 |
17 |
18 | Low color rendering
19 |
20 |
21 | Enable dithering
22 |
23 |
24 | Limit D3D Texture Formats
25 |
--------------------------------------------------------------------------------
/Help/html/config/3dgraphicstab.htmltitle:
--------------------------------------------------------------------------------
1 | 3D Graphics tab
--------------------------------------------------------------------------------
/Help/html/config/abouttab.htmlbody:
--------------------------------------------------------------------------------
1 |
2 | 
3 | Displays copyright and licensing information for DXGL, as well as the current version of the DXGL ddraw.dll file.
4 |
--------------------------------------------------------------------------------
/Help/html/config/abouttab.htmltitle:
--------------------------------------------------------------------------------
1 | About tab
--------------------------------------------------------------------------------
/Help/html/config/advanced/capturemouseinwindowmode.htmlbody:
--------------------------------------------------------------------------------
1 | This option is available in DXGL 0.5.14 and newer.
2 | Captures the mouse when you first click inside the application window in forced window mode. You can exit mouse capture by pressing and releasing the Ctrl and Alt keys together.
--------------------------------------------------------------------------------
/Help/html/config/advanced/capturemouseinwindowmode.htmltitle:
--------------------------------------------------------------------------------
1 | Capture mouse in window mode (Press Ctrl+Alt to release)
--------------------------------------------------------------------------------
/Help/html/config/advanced/defaultwindowposition.htmlbody:
--------------------------------------------------------------------------------
1 |
2 | Selects the default position for forced-window mode.
3 | The following options are available:
4 |
5 | Centered
6 | Locates the window in the center of the display.
7 | Saved position
8 | Uses the position stored in “Remembered window position” to position the window, using logical window coordinates.
9 | Top left
10 | Locates the window at the top left of the display.
11 | Windows default
12 |
13 | Allows Windows to select the position to place the window.
14 |
15 | Top left and Windows default options are available in DXGL 0.5.14 and later.
16 |
17 |
--------------------------------------------------------------------------------
/Help/html/config/advanced/defaultwindowposition.htmltitle:
--------------------------------------------------------------------------------
1 | Default window position
--------------------------------------------------------------------------------
/Help/html/config/advanced/dontautosizewindow.htmlbody:
--------------------------------------------------------------------------------
1 | If resizable window mode is selected and this is enabled, display mode changes will not resize the window.
--------------------------------------------------------------------------------
/Help/html/config/advanced/dontautosizewindow.htmltitle:
--------------------------------------------------------------------------------
1 | Don’t auto-size window in resizable window mode
--------------------------------------------------------------------------------
/Help/html/config/advanced/installationpath.htmlbody:
--------------------------------------------------------------------------------
1 | Displays the path the current application profile is installed in.
--------------------------------------------------------------------------------
/Help/html/config/advanced/installationpath.htmltitle:
--------------------------------------------------------------------------------
1 | Installation path
--------------------------------------------------------------------------------
/Help/html/config/advanced/rememberedwindowposition.htmlbody:
--------------------------------------------------------------------------------
1 | If Default window position is set to Saved position, this will be the position to use when forced-window mode starts.
--------------------------------------------------------------------------------
/Help/html/config/advanced/rememberedwindowposition.htmltitle:
--------------------------------------------------------------------------------
1 | Remembered window position
--------------------------------------------------------------------------------
/Help/html/config/advanced/rememberedwindowsize.htmlbody:
--------------------------------------------------------------------------------
1 | If set, these values will be used to size the window in forced-window mode on startup. If not set, 640×480 will be used until the window is either resized or overridden by a display mode change.
--------------------------------------------------------------------------------
/Help/html/config/advanced/rememberedwindowsize.htmltitle:
--------------------------------------------------------------------------------
1 | Remembered window size
--------------------------------------------------------------------------------
/Help/html/config/advanced/rememberwindowposition.htmlbody:
--------------------------------------------------------------------------------
1 | If enabled, in forced-window mode, saves the last known position of the window in the registry, under the current application’s profile.
--------------------------------------------------------------------------------
/Help/html/config/advanced/rememberwindowposition.htmltitle:
--------------------------------------------------------------------------------
1 | Remember window position
--------------------------------------------------------------------------------
/Help/html/config/advanced/rememberwindowsize.htmlbody:
--------------------------------------------------------------------------------
1 | If enabled, in forced-window mode, saves the last known size and maximized state of the window in the registry, under the current application’s profile.
--------------------------------------------------------------------------------
/Help/html/config/advanced/rememberwindowsize.htmltitle:
--------------------------------------------------------------------------------
1 | Remember window size
--------------------------------------------------------------------------------
/Help/html/config/advanced/startresizablewindowmaximized.htmlbody:
--------------------------------------------------------------------------------
1 | If resizable window mode is enabled, checking this will start a resizable window in maximized mode, and use the remembered window size when the window is restored.
--------------------------------------------------------------------------------
/Help/html/config/advanced/startresizablewindowmaximized.htmltitle:
--------------------------------------------------------------------------------
1 | Start resizable window maximized
--------------------------------------------------------------------------------
/Help/html/config/advanced/textureaccessmethod.htmlbody:
--------------------------------------------------------------------------------
1 | This option is currently not available, and currently the only option available is Automatic.
--------------------------------------------------------------------------------
/Help/html/config/advanced/textureaccessmethod.htmltitle:
--------------------------------------------------------------------------------
1 | Texture access method
--------------------------------------------------------------------------------
/Help/html/config/advanced/textureformat.htmlbody:
--------------------------------------------------------------------------------
1 | This option is currently not implemented, and the only option available is “Automatic”
--------------------------------------------------------------------------------
/Help/html/config/advanced/textureformat.htmltitle:
--------------------------------------------------------------------------------
1 | Texture format
--------------------------------------------------------------------------------
/Help/html/config/advanced/writeinifile.htmltitle:
--------------------------------------------------------------------------------
1 | Write INI file...
--------------------------------------------------------------------------------
/Help/html/config/advancedtab.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 | The Advanced tab adjusts internal options for DXGL as well as specifying window behavior in forced-window mode.
4 |
5 |
6 | Texture format
7 |
8 |
9 | Texture access method
10 |
11 |
12 | Default window position
13 |
14 |
15 | Remember window position
16 |
17 |
18 | Remember window size
19 |
20 |
21 | Remembered window position
22 |
23 |
24 | Remembered window size
25 |
26 |
27 | Start resizable window maximized
28 |
29 |
30 | Don't auto-size window in resizable window mode
31 |
32 |
33 | Capture mouse in window mode (Press Ctrl+Alt to release)
34 |
35 |
36 | Installation path
37 |
38 |
39 | Write INI file...
40 |
--------------------------------------------------------------------------------
/Help/html/config/advancedtab.htmltitle:
--------------------------------------------------------------------------------
1 | Advanced tab
--------------------------------------------------------------------------------
/Help/html/config/debug/debugblenddestinationcolor.htmlbody:
--------------------------------------------------------------------------------
1 | This option is used for debugging destination color keying. If enabled, then the destination texture sampled for the color key operation will be blended with the source pixels, in order to determine of the shader is properly sampling the destination pixels. This option should normally be left off.
--------------------------------------------------------------------------------
/Help/html/config/debug/debugblenddestinationcolor.htmltitle:
--------------------------------------------------------------------------------
1 | DEBUG: Blend destination color key texture with source
--------------------------------------------------------------------------------
/Help/html/config/debug/disablearbdirectstateaccess.htmlbody:
--------------------------------------------------------------------------------
1 | Disables the GL_ARB_direct_state_access extension. If GL_EXT_direct_state_access is not available this will fall back to using classic OpenGL object manipulation functions.
--------------------------------------------------------------------------------
/Help/html/config/debug/disablearbdirectstateaccess.htmltitle:
--------------------------------------------------------------------------------
1 | Disable ARB direct state access
--------------------------------------------------------------------------------
/Help/html/config/debug/disablearbframebuffers.htmlbody:
--------------------------------------------------------------------------------
1 | Disables the GL_ARB_framebuffer_object extension. If the GL_EXT_framebuffer_object extension is not available DXGL will fail to load.
--------------------------------------------------------------------------------
/Help/html/config/debug/disablearbframebuffers.htmltitle:
--------------------------------------------------------------------------------
1 | Disable ARB framebuffers
--------------------------------------------------------------------------------
/Help/html/config/debug/disabledrawonpalettechange.htmlbody:
--------------------------------------------------------------------------------
1 |
2 | Disables redrawing the screen when the primary color palette is changed. If this is enabled, the palette will be updated the next time another DirectDraw API draws to the screen or flips the primary buffer.
3 |
--------------------------------------------------------------------------------
/Help/html/config/debug/disabledrawonpalettechange.htmltitle:
--------------------------------------------------------------------------------
1 | Disable draw on palette change
--------------------------------------------------------------------------------
/Help/html/config/debug/disableextdirectstateaccess.htmlbody:
--------------------------------------------------------------------------------
1 | Disables the GL_EXT_direct_state_access extension. If GL_ARB_direct_state_access is not available this will fall back to using classic OpenGL object manipulation functions.
--------------------------------------------------------------------------------
/Help/html/config/debug/disableextdirectstateaccess.htmltitle:
--------------------------------------------------------------------------------
1 | Disable EXT direct state access
--------------------------------------------------------------------------------
/Help/html/config/debug/disableextframebuffers.htmlbody:
--------------------------------------------------------------------------------
1 | Disables the GL_EXT_framebuffer_object extension. If the GL_ARB_framebuffer_object extension is not available DXGL will fail to load.
--------------------------------------------------------------------------------
/Help/html/config/debug/disableextframebuffers.htmltitle:
--------------------------------------------------------------------------------
1 | Disable EXT framebuffers
--------------------------------------------------------------------------------
/Help/html/config/debug/disableextgpushader4.htmlbody:
--------------------------------------------------------------------------------
1 | Disables support for the GL_EXT_gpu_shader4 extension. This is one of two methods used for supporting integer operations in shaders. If this is enabled and GLSL 1.30 is not available, then this will limit the availability of ROP operations and may make some operations less accurate.
--------------------------------------------------------------------------------
/Help/html/config/debug/disableextgpushader4.htmltitle:
--------------------------------------------------------------------------------
1 | Disable EXT_gpu_shader4 extension
--------------------------------------------------------------------------------
/Help/html/config/debug/disablegles2compatibility.htmlbody:
--------------------------------------------------------------------------------
1 | Disables the GL_ARB_ES2_compatibility extension. Disabling this will disable native support for 16 bit color mode, and fall back to an emulated mode.
--------------------------------------------------------------------------------
/Help/html/config/debug/disablegles2compatibility.htmltitle:
--------------------------------------------------------------------------------
1 | Disable GLES2 compatibility extension
--------------------------------------------------------------------------------
/Help/html/config/debug/disableglsl130support.htmlbody:
--------------------------------------------------------------------------------
1 | Disables support for version 1.30 of the OpenGL Shading Language. This is one of two methods used for supporting integer operations in shaders. If this is enabled and GL_EXT_gpu_shader4 is not available, then this will limit the availability of ROP operations and may make some operations less accurate.
--------------------------------------------------------------------------------
/Help/html/config/debug/disableglsl130support.htmltitle:
--------------------------------------------------------------------------------
1 | Disable GLSL 1.30 support
--------------------------------------------------------------------------------
/Help/html/config/debug/disablemousecursorhooks.htmlbody:
--------------------------------------------------------------------------------
1 |
2 | This option is available in DXGL 0.5.14 and newer.
3 |
4 | Disables all API hooks for translating the mouse cursor position in scaled and forced-window modes, such as GetCursorPos().
--------------------------------------------------------------------------------
/Help/html/config/debug/disablemousecursorhooks.htmltitle:
--------------------------------------------------------------------------------
1 | Disable mosue cursor hooks
--------------------------------------------------------------------------------
/Help/html/config/debug/disablesamplerobjects.htmlbody:
--------------------------------------------------------------------------------
1 | Disables the GL_ARB_sampler_objects extension. This will revert to attaching texture filtering modes to the texture objects themselves, and will result in inaccuracies in Direct3D mode if the same texture is used in different texture units.
--------------------------------------------------------------------------------
/Help/html/config/debug/disablesamplerobjects.htmltitle:
--------------------------------------------------------------------------------
1 | Disable sampler objects
--------------------------------------------------------------------------------
/Help/html/config/debug/maximumopenglversion.htmlbody:
--------------------------------------------------------------------------------
1 | Overrides the maximum core OpenGL version detected by DXGL. If your version of OpenGL is lower than the selected version, then your OpenGL version will be used instead.
2 | This option can be used to limit the OpenGL functionality available to DXGL.
--------------------------------------------------------------------------------
/Help/html/config/debug/maximumopenglversion.htmltitle:
--------------------------------------------------------------------------------
1 | Maximum OpenGL version
--------------------------------------------------------------------------------
/Help/html/config/debug/uploadsurfacecontentsonunlock.htmlbody:
--------------------------------------------------------------------------------
1 |
2 | This option is available in DXGL 0.5.14 and newer.
3 |
4 | Immediately uploads the contents of a surface when it is unlocked by the program. This can help with debugging, but can also cause a reduction in performance.
--------------------------------------------------------------------------------
/Help/html/config/debug/uploadsurfacecontentsonunlock.htmltitle:
--------------------------------------------------------------------------------
1 | Upload surface contents on unlock
--------------------------------------------------------------------------------
/Help/html/config/debugtab.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 | The Debug tab contains several options for testing purposes only.
4 |
5 |
6 | Disable EXT framebuffers
7 |
8 |
9 | Disable ARB framebuffers
10 |
11 |
12 | Disable GLES2 compatibility extension
13 |
14 |
15 | Disable EXT direct state access
16 |
17 |
18 | Disable ARB direct state access
19 |
20 |
21 | Disable sampler objects
22 |
23 |
24 | Disable EXT_gpu_shader4 extension
25 |
26 |
27 | Disable GLSL 1.30 support
28 |
29 |
30 | Upload surface contents on unlock
31 |
32 |
33 | Disable mouse cursor hooks
34 |
35 |
36 | Disable draw on palette change
37 |
38 |
39 | DEBUG: Blend destination color key texture with source
40 |
41 |
42 | Maximum OpenGL version
43 |
--------------------------------------------------------------------------------
/Help/html/config/debugtab.htmltitle:
--------------------------------------------------------------------------------
1 | Debug tab
--------------------------------------------------------------------------------
/Help/html/config/display/addcolordepths.htmltitle:
--------------------------------------------------------------------------------
1 | Add color depths
--------------------------------------------------------------------------------
/Help/html/config/display/additionaldisplaymodes.htmltitle:
--------------------------------------------------------------------------------
1 | Additional display modes
--------------------------------------------------------------------------------
/Help/html/config/display/changedisplaycolordepth.htmlbody:
--------------------------------------------------------------------------------
1 | Determines whether to change the color depth of the desktop if requested by the application. Use only for testing purposes, leave off otherwise.
--------------------------------------------------------------------------------
/Help/html/config/display/changedisplaycolordepth.htmltitle:
--------------------------------------------------------------------------------
1 | Change display color depth
--------------------------------------------------------------------------------
/Help/html/config/display/customresolution.htmlbody:
--------------------------------------------------------------------------------
1 |
2 | Defines a custom resolution for the Custom display mode or Custom size, centered modes.
3 | For specific applications, the refresh rate is optional.
4 |
--------------------------------------------------------------------------------
/Help/html/config/display/customresolution.htmltitle:
--------------------------------------------------------------------------------
1 | Custom resolution
--------------------------------------------------------------------------------
/Help/html/config/display/dpiscalingmode.htmlbody:
--------------------------------------------------------------------------------
1 | Fixes errors caused by Windows High DPI scaling in Windows Vista and greater. This option is always set to Per-monitor on older operating systems, as these operating systems apply high DPI modes to all applications.
2 | Disabled
3 | Disables the DPI scaling fix, unless specified by the program.
4 | Per-monitor
5 | Default setting. Enables the DPI scaling fix during program initialization. On Windows 8.1 or higher this sets DPI scaling to per-monitor DPI aware.
6 | Windows AppCompat
7 | Sets a compatibility flag to tell Windows to fix High DPI scaling. Use if Enabled does not work.
8 | System
9 | Enables the DPI scaling fix during program initialization. On Windows 8.1 or higher this sets the DPI scaling to system DPI aware.
10 | Per-monitor V2
11 | Enables the DPI scaling fix during program initialization. On Windows 10 version 1703 (Creators Update) or higher this sets the DPI scaling to Per-monitor DPI aware version 2. This will attempt to adjust the DPI of programs on-the-fly, but may cause various glitches.
--------------------------------------------------------------------------------
/Help/html/config/display/dpiscalingmode.htmltitle:
--------------------------------------------------------------------------------
1 | DPI scaling mode
--------------------------------------------------------------------------------
/Help/html/config/display/fixedscaling.htmlbody:
--------------------------------------------------------------------------------
1 | For Custom size multiplier, defines the amount to multiply the size of the display by, in the X and Y coordinates. You may use whole or partial number amounts.
--------------------------------------------------------------------------------
/Help/html/config/display/fixedscaling.htmltitle:
--------------------------------------------------------------------------------
1 | Fixed scaling
--------------------------------------------------------------------------------
/Help/html/config/display/fullscreenwindowmode.htmlbody:
--------------------------------------------------------------------------------
1 | Sets the mode to be used when creating a window for fullscreen mode.
2 | Exclusive fullscreen
3 | Sets the display to fullscreen mode. For Windows Vista and greater, causes the Windows graphics to be temporarily suspended, giving the GPU exclusive control of the screen. This mode is the default and may have the best fullscreen performance.
4 | Non-exclusive fullscreen
5 |
6 | Creates a window that fills the screen but tells the display driver not to take exclusive control of the screen. Try this mode if the application mixes DirectDraw with GDI and some graphics elements are missing.
7 | In Windows Vista and greater, this mode may have reduced performance, increased lag, or choppy graphics. In Windows 8 and 8.1, this performance reduction may be significant due to an operating system flaw.
8 |
9 | Non-resizable window
10 | Forces the fullscreen application to display in a floating window. Please note that some applications may capture the mouse and thus may cause compatibility issues.
11 | Resizable window
12 | Forces the fullscreen application to display in a floating window that can be resized or maximized. Please note that some applications may capture the mouse and thus may cause compatibility issues.
13 | Borderless window
14 | Forces the application to display in a borderless pop-up window. If the application is not running at the same resolution as the display, the window will be the same size as the application’s display resolution.
15 | Borderless window (scaled)
16 |
17 | Forces the application to display in a borderless pop-up window. Sizes the window to fill the screen. Similar to Non-exclusive fullscreen except that the window does not minimize when focus is lost.
18 | Depending on the “Video mode” setting, the graphics resolution may be changed to accomodate the application.
19 |
--------------------------------------------------------------------------------
/Help/html/config/display/fullscreenwindowmode.htmltitle:
--------------------------------------------------------------------------------
1 | Fullscreen window mode
--------------------------------------------------------------------------------
/Help/html/config/display/scalingmethod.htmlbody:
--------------------------------------------------------------------------------
1 |
2 | Selects the filter to use for scaling the output when the resolution is different than the desktop resolution, or when the optional postprocess scaling is in effect, the scaled resolution is different from the desktop resolution, as well as for blitting operations.
3 | As of DXGL 0.5.13, this no longer sets the scaling method for Blt commands.
4 |
5 | The following methods are available:
6 | Nearest
7 | Uses nearest-neighbor scaling.
8 | Bilinear
9 | Uses bilinear scaling. Reduces jagged edges, but may create visual artifacts in some applications.
--------------------------------------------------------------------------------
/Help/html/config/display/scalingmethod.htmltitle:
--------------------------------------------------------------------------------
1 | Scaling method
--------------------------------------------------------------------------------
/Help/html/config/display/screenaspectratio.htmlbody:
--------------------------------------------------------------------------------
1 | Overrides the aspect ratio for “Aspect corrected stretch” and “Scale if mode not found”. Enter as x:y or as a floating point ratio, for example 4:3 or 1.333333, or select a preset from the dropdown list. Default uses a square pixel ratio, with the aspect ratio depending on the dimensions of the current display mode.
--------------------------------------------------------------------------------
/Help/html/config/display/screenaspectratio.htmltitle:
--------------------------------------------------------------------------------
1 | Screen aspect ratio
--------------------------------------------------------------------------------
/Help/html/config/display/setdisplayconfig.htmlbody:
--------------------------------------------------------------------------------
1 | Uses the SetDisplayConfig() API in Windows if available to switch fullscreen modes. In Windows 10, this can cause display modes to change instantly without causing the display to flicker.
2 | Note that if the application crashes, the display mode will not be automatically restored to its previous settings.
--------------------------------------------------------------------------------
/Help/html/config/display/setdisplayconfig.htmltitle:
--------------------------------------------------------------------------------
1 | Use SetDisplayConfig API
--------------------------------------------------------------------------------
/Help/html/config/display/singlebuffereddisplay.htmlbody:
--------------------------------------------------------------------------------
1 | If checked, creates an OpenGL device that does not have double buffering. This will disable vertical sync and exclusive fullscreen mode. This may effect certain third party programs, for example Fraps will no longer display the FPS overlay.
--------------------------------------------------------------------------------
/Help/html/config/display/singlebuffereddisplay.htmltitle:
--------------------------------------------------------------------------------
1 | Single buffered display
--------------------------------------------------------------------------------
/Help/html/config/display/sortvideomodes.htmlbody:
--------------------------------------------------------------------------------
1 | Determines how to sort the video modes returned by IDirectDraw::EnumDisplayModes
2 | Use system order
3 | Lists modes by the order generated by the system and/or DXGL.
4 | Group by color depth
5 | Lists modes in groups of color depth, each group sorted by resolution.
6 | Group by resolution
7 | Lists modes sorted by resolution, with color depths listed in order for each resolution.
--------------------------------------------------------------------------------
/Help/html/config/display/sortvideomodes.htmltitle:
--------------------------------------------------------------------------------
1 | Sort video modes
--------------------------------------------------------------------------------
/Help/html/config/display/verticalsync.htmlbody:
--------------------------------------------------------------------------------
1 | Adjusts the vertical sync mode for DXGL. This can reduce or eliminate tearing or stutter at the cost of performance. The following modes are currently available:
2 | Application default
3 | Uses the application defined vertical sync mode, allowing the application to turn on or off vertical sync at will.
4 | Disabled
5 | Completely disables vertical sync. This may cause tearing and/or stutter, and may cause the application to run faster than expected.
6 | Enabled every flip or primary Blt
7 | Syncs every buffer flip or Blt operation to the primary buffer to the vertical retrace. This eliminates tearing, but may result in slow painting if the application writes or performs Blt operations directly to the primary buffer.
--------------------------------------------------------------------------------
/Help/html/config/display/verticalsync.htmltitle:
--------------------------------------------------------------------------------
1 | Vertical sync
--------------------------------------------------------------------------------
/Help/html/config/display/videomode.htmltitle:
--------------------------------------------------------------------------------
1 | Video mode
--------------------------------------------------------------------------------
/Help/html/config/display/windowmodescaling.htmlbody:
--------------------------------------------------------------------------------
1 | Selects the scaling amount used when a DirectDraw application is in windowed mode.
2 | This mode is currently experimental and will not work with all applications, and graphics drawn using GDI or another API other than DirectDraw will not be scaled.
--------------------------------------------------------------------------------
/Help/html/config/display/windowmodescaling.htmltitle:
--------------------------------------------------------------------------------
1 | Windowed mode scaling
--------------------------------------------------------------------------------
/Help/html/config/displaytab.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 | The Display tab sets basic options to adjust the appearance of the display output.
4 |
5 |
6 | Select one of the following options for more information:
7 |
8 |
9 | Video mode
10 |
11 |
12 | Add color depths
13 |
14 |
15 | Scaling method
16 |
17 |
18 | Additional display modes
19 |
20 |
21 | Screen aspect ratio
22 |
23 |
24 | Sort video modes
25 |
26 |
27 | DPI scaling mode
28 |
29 |
30 | Vertical sync
31 |
32 |
33 | Fullscreen window mode
34 |
35 |
36 | Fixed scaling
37 |
38 |
39 | Custom resolution
40 |
41 |
42 | Change display color depth
43 |
44 |
45 | Windowed mode scaling
46 |
47 |
48 | Single buffered display
49 |
50 |
51 | Use SetDisplayConfig API
52 |
--------------------------------------------------------------------------------
/Help/html/config/displaytab.htmltitle:
--------------------------------------------------------------------------------
1 | Display tab
--------------------------------------------------------------------------------
/Help/html/config/effects/bltscalingfilter.htmlbody:
--------------------------------------------------------------------------------
1 | Selects the method used for scaling Blt commands. The following modes are available:
2 | Nearest
3 | Uses nearest-neighbor scaling.
4 | Bilinear
5 | Uses bilinear scaling. Reduces jagged edges, but may create visual artifacts in some applications. This mode does not work in 8-bit color mode.
--------------------------------------------------------------------------------
/Help/html/config/effects/bltscalingfilter.htmltitle:
--------------------------------------------------------------------------------
1 | Blt scaling filter
--------------------------------------------------------------------------------
/Help/html/config/effects/postprocessinputmultiplier.htmlbody:
--------------------------------------------------------------------------------
1 |
2 | Selects the amount to scale the display on the first pass. There is an Auto preset as well as presets for fixed 1x, 2×1, 2x, 3x, and 4x ratios. In addition, a ratio can manually be set anywhere from 0.25×0.25 to 16×16. The Auto preset will automatically double pixels horizontally if the horizontal resolution is 400 pixels or less, and will double pixels vertically if the vertical resolution is 300 or less.
3 | In addition, if Video mode is set to Change desktop resolution and Add extra display modes is enabled, a subset of low resolution pixel doubled modes will be added, providing support for low resolution modes even if not supported by your graphics card.
4 | If Primary buffer scaling is set to Scale to screen, typing 0.5 in the box will enable 2×2 supersampling for Direct3D applications. This will also modify the behavior of “Change desktop resolution” in the Display tab.
5 |
--------------------------------------------------------------------------------
/Help/html/config/effects/postprocessinputmultiplier.htmltitle:
--------------------------------------------------------------------------------
1 | Postprocess input multiplier
--------------------------------------------------------------------------------
/Help/html/config/effects/postprocessscaler.htmlbody:
--------------------------------------------------------------------------------
1 |
2 | Scaling method for an optional image scaling pass. This can be used to create a pixelated effect while still preserving the ability to have filtered display scaling.
3 | In addition, it can be used to set the scaling filter for a postprocess pass, to be implemented in the future.
4 | The following methods are available:
5 |
6 | Nearest
7 | Uses nearest-neighbor scaling.
8 | Bilinear
9 | Uses bilinear scaling. 8-bit display modes will always use nearest scaling for this pass.
--------------------------------------------------------------------------------
/Help/html/config/effects/postprocessscaler.htmltitle:
--------------------------------------------------------------------------------
1 | Postprocess scaler
--------------------------------------------------------------------------------
/Help/html/config/effects/primarybufferscaling.htmlbody:
--------------------------------------------------------------------------------
1 |
2 | Selects an amount to scale the primary buffer by. May cause slowdowns in certain applications or on certain computers.
3 | Can enhance the resolution of 3D applications.
4 |
5 | The following options are available:
6 | 1x scale
7 | Disables primary buffer scaling.
8 | Scale to screen
9 | Scales the primary buffer to the current screen resolution. May cause significant artifacts.
10 | Maximum integer scaling
11 | Scales the primary buffer to an automatic amount, by a whole number amount. This may reduce artifacts compared to Scale to screen.
12 |
13 | 1.5x scale
14 | 2x scale
15 | 2.5x scale
16 | 3x scale
17 | 4x scale
18 | 5x SCALE
19 | 6X scale
20 | 7X scale
21 | 8x scale
22 |
23 | Scales the primary buffer by the specified amount. Note that this may fail if the selected mode scales the primary beyond your graphics card’s capability.
24 | Custom scale
25 | Scales the primary buffer by a custom amount. This amount can be entered in X and Y dimensions and may be an integer or floating point using the boxes provided. The default scaling is 1×1, disabling scaling.
--------------------------------------------------------------------------------
/Help/html/config/effects/primarybufferscaling.htmltitle:
--------------------------------------------------------------------------------
1 | Primary buffer scaling
--------------------------------------------------------------------------------
/Help/html/config/effectstab.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 | The Effects tab adjusts the scaling and filtering of the graphics, and allows the increasing of the resolution of the primary buffer.
4 |
5 |
6 | Postprocess scaler
7 |
8 |
9 | Postprocess input multiplier
10 |
11 |
12 | Primary buffer scaling
13 |
14 |
15 | Blt scaling filter
16 |
--------------------------------------------------------------------------------
/Help/html/config/effectstab.htmltitle:
--------------------------------------------------------------------------------
1 | Effects tab
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/bltfast.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test draws gradients in the background, with every other pixel left black, and draws several objects to the foreground. Two of the objects are drawn behind the dithered background (using a destination color key) and one of the objects drawn on the foreground has one of the colors of its palette not drawn due to using a color key. Everything is drawn using the BltFast() API, which has limited functionality compared to the Blt() API.
6 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/bltfast.htmltitle:
--------------------------------------------------------------------------------
1 | BltFast background and sprites
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/bltraster.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test draws a background consisting of gradients, and then draws three objects using three different common Win32 raster operations, specifically SRCCOPY, DSTINVERT, and PATCOPY. The SRCCOPY should be a color palette, the DSTINVERT should invert the background, and the PATCOPY should show a pattern revealed under the object (the object moves, the pattern doesn’t).
6 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/bltraster.htmltitle:
--------------------------------------------------------------------------------
1 | Blt background, Raster operation Blt sprites
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/colorfill.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test draws randomly colored rectangles to the primary buffer, using the Blt() API with the DDBLT_COLORFILL option. Please note that on some graphics cards this can result in up to thousands of frames per second.
6 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/colorfill.htmltitle:
--------------------------------------------------------------------------------
1 | Random color fill Blt() patterns
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/colorpalette.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test displays a color palette and one or more screens of gradients, whose smoothness is dependent on the color depth selected for this test.
6 | Since DXGL Test uses a “default” palette there is very little smoothness for the 8-bit mode.
For 15, 16, and 24/32 bit modes, the palette is generated mathematically to display as many of the possible colors as possible on the screen.
7 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/colorpalette.htmltitle:
--------------------------------------------------------------------------------
1 | Color palette and gradient screens
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/destkeyoverride.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test draws a set of gradients (or a color palette in 8-bit mode), then draws another set of gradients or a color palette on top, while cycling the color key on the second set. This test is similar to the source color key override test, except only one color from the second surface should appear at a time as it shows through the first surface.
6 | This uses the _DDBLT_KEYDESTOVERRIDE flag to set the color key.
7 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/destkeyoverride.htmltitle:
--------------------------------------------------------------------------------
1 | Destination color key override test
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/drawindexedprimitive.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test draws a colored cube, with a single directional light, using the DrawIndexedPrimitive() API.
6 | Please note, the Direct3D tests do not work correctly under 8-bit color as proper support is not yet implemented in DXGL.
7 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/drawindexedprimitive.htmltitle:
--------------------------------------------------------------------------------
1 | DrawIndexedPrimitive cube with directional light
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/drawprimitivetextured.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test draws a cube using the DrawPrimitive() API, using 4 different textures for 4 sides, with color formats RGBA4444, RGBA1555, RGB565, and RGBA8888.
6 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/drawprimitivetextured.htmltitle:
--------------------------------------------------------------------------------
1 | DrawPrimitive textured cube
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/gditest.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test draws various patterns using Windows GDI functions. It displays text, lines, beziers, polygons, rectangles, gradients, and bitmaps.
The gradients in this test, unlike the color palette test, are drawn dithered, resulting in greater smoothness.
6 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/gditest.htmltitle:
--------------------------------------------------------------------------------
1 | GDI Test patterns
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/largebatchblt.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test draws cycling colors in single pixels using color fill Blt() commands, to a 256×256 back buffer, then uses Blt() to stretch that buffer to the screen.
6 | Due to the current design of DXGL, this test takes several seconds per frame, but in the future may become much faster.
7 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/largebatchblt.htmltitle:
--------------------------------------------------------------------------------
1 | Large batch color fill Blt() operations
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/mirrorrotate.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test displays the DXGL logo using various combinations of flipping and 60 degree rotation, using combinations of DDBLTFX_MIRRORLEFTRIGHT, DDBLTFX_MIRRORUPDOWN, DDBLTFX_ROTATE90, DDBLTFX_ROTATE180, and DDBLTFX_ROTATE270.
6 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/mirrorrotate.htmltitle:
--------------------------------------------------------------------------------
1 | Mirrored and rotated Blt() test
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/mousetest.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test draws colored mouse pointers, displays the last few mouse related events to be posted to the test window, and the results of GetCursorPos().
6 | The colored pointers should follow the mouse pointer (which is a cross) and the events at the top of the screen should represent the current activity of the mouse.
7 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/mousetest.htmltitle:
--------------------------------------------------------------------------------
1 | Mouse pointer event test
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/randomgdi.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test paints random GDI commands to the primary buffer, unlocking and displaying it after each command.
6 | On some systems, this may be slow due to the method GDI access is currently implemented.
7 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/randomgdi.htmltitle:
--------------------------------------------------------------------------------
1 | Random GDI patterns
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/randomnoise.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test generates a pseudorandom noise pattern and copies it to the primary (or back) buffer.
6 | Depending on your graphics driver some color depths may be slow. For example, 15-bit color is slow on the VMWare SVGA3D driver.
7 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/randomnoise.htmltitle:
--------------------------------------------------------------------------------
1 | Random noise
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/rasterop.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test draws all 256 ternary raster operations supported by Windows, first using DirectDraw API and second using Windows GDI. The source is a 16×16 version of the DXGL logo, the destination is a checkerboard pattern, and the pattern is a different checkerboard.
6 | The DDraw screen should look exactly the same as the GDI screen, indicating the raster operations are working correctly.
7 | On graphics cards that do not support OpenGL 3, many of the DirectDraw raster operations will be replaced with a red X, indicating they cannot be drawn, as the necessary shader hardware is not detected to simulate the raster operations.
8 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/rasterop.htmltitle:
--------------------------------------------------------------------------------
1 | Raster operation Blt() test
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/setcursorpos.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test moves the mouse cursor, then reads back its position.
6 | In scaled modes, it is currently expected for a slight offset to be detected.
7 | The mouse cursor drawn by this test should follow the real cursor, which is a cross.
8 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/setcursorpos.htmltitle:
--------------------------------------------------------------------------------
1 | SetCursorPos test
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/srckeyoverride.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test draws a set of gradients (or a color palette in 8-bit mode), then draws another set of gradients or a color palette on top, while cycling the color key on the second set. You should see only that color change as it cycles. This uses the _DDBLT_KEYSRCOVERRIDE flag to set the color key.
6 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/srckeyoverride.htmltitle:
--------------------------------------------------------------------------------
1 | Source color key override test
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/surfaceformat.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This test is designed to display the surface formats currently available to DXGL. As an interactive test, you can select the format to be used as a Blt source or Direct3D texture and the format to act as a render target.
6 |
7 |
8 | Currently, this test supports Blt() from a video memory surface, Blt() from a system memory surface (there is currently no difference between video and system memory in DXGL), or drawing a Direct3D texture.
9 |
10 |
11 | Please note that not all combinations of source and destination format are currently supported, and unsupported combinations will result in either no image or distorted colors.
12 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/surfaceformat.htmltitle:
--------------------------------------------------------------------------------
1 | Surface/Texture format test
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/texturestageshaders.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This is an interactive test, which allows the user to experiment with the Direct3D7 texture stage pipeline.
6 | Please note this test is currently incomplete.
7 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/texturestageshaders.htmltitle:
--------------------------------------------------------------------------------
1 | Texture stage shaders
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/vertexshaders.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This is an interactive test, which allows the user to experiment with the Direct3D7 vertex pipeline, aka the T&L pipeline.
6 | This test is currently far from completion, and several parts do not work.
7 |
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/vertexshaders.htmltitle:
--------------------------------------------------------------------------------
1 | Vertex shaders
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/windowapitest.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | The Window API test displays status regarding the size and position of the DirectDraw window, and opens a dialog allowing you to manipulate the characteristics of the window.
7 | The numbers displayed within the window should represent the geometry of the window, and the green border should be just inside the border of the window. If windowed mode scaling is enabled, the numbers should be scaled accordingly.
8 | Use the dialog box to manipulate the style, position, and size of the test window.
--------------------------------------------------------------------------------
/Help/html/config/gfxtest/windowapitest.htmltitle:
--------------------------------------------------------------------------------
1 | Window API test
--------------------------------------------------------------------------------
/Help/html/config/gfxtesttab.htmltitle:
--------------------------------------------------------------------------------
1 | Graphics Tests tab
--------------------------------------------------------------------------------
/Help/html/config/hacks/automaticallyexpandviewport.htmlbody:
--------------------------------------------------------------------------------
1 | If the display is set to 640×480, this hack will test if there is a border around the display using the comparison function and value specified, and if so, expands the inner 512×448 pixels to the 640×480 screen. In addition, if the display is set to 320×240, this will expand the inner 256×224 pixels to the display.
2 | This hack is intended for emulators and similar applications that render at 256×224 or 512×448 resolution, while allowing menus to continue to display properly.
3 | For best quality, use a scaled display mode when using this hack.
4 | Currently, this hack only reads the upper-left pixel of the display.
5 | The following options are available:
6 | 512×448 to 640×480
7 | Expands 512×448 resolutions to the 640×480 display.
8 | 512×480 to 640×480
9 | Expands 512×480 resolutions to the 640×480 display (scaling only in the horizontal direction). This can be useful for displaying all 480 lines in NES emulation, or when outputting to a CRT display.
--------------------------------------------------------------------------------
/Help/html/config/hacks/automaticallyexpandviewport.htmltitle:
--------------------------------------------------------------------------------
1 | Automatically expand viewport
--------------------------------------------------------------------------------
/Help/html/config/hacks/automaticexpandcomparisonmethod.htmlbody:
--------------------------------------------------------------------------------
1 | Determines the method to use for comparing pixels when determining whether to expand the viewport.
2 | The following options are available:
3 | Match color
4 | Uses an exact match of the RGB value of the pixel’s color. When in 8-bit mode this will perform a palette lookup and use the RGB value of the palette entry to perform the comparison. In 16 or 15 bit mode this will convert the pixel to 32-bit color before comparing.
5 | Color less than or equal
6 | Matches if all of the R, G, and B channels match or are less than the comparison value, converting the pixel as described in “Match color.”
7 | Color greater than or equal
8 | Matches if all of the R, G, and B channels match or are less than the comparison value, converting the pixel as described in “Match color.”
9 | Match palette entry
10 | In 8-bit mode, uses the palette index of the pixel for comparison. In other modes, uses the numeric value of the pixel for comparison, matching at most 24 bits.
11 | Palette less than or equal
12 | Matches if the palette index or pixel’s numeric value matches or is less than the comparison value.
13 | Palette greater than or equal
14 | Matches if the palette index or pixel’s numeric value matches or is greater than the comparison value.
15 | Match 3 palette entries (8-bit only)
16 |
17 | In 8-bit color mode, matches up to 3 palette entries. These should be packed in the comparison value. For instance to match palette entries 1, 5, and 12, use value 01050C. If you need to match only 1 or 2 palette entries, duplicate the numbers, for instance to match entries 15 or 127 use 0F0F7F.
18 | In other color modes, functions the same as “Match palette entry.”
19 |
--------------------------------------------------------------------------------
/Help/html/config/hacks/automaticexpandcomparisonmethod.htmltitle:
--------------------------------------------------------------------------------
1 | Automatic expand comparison method
--------------------------------------------------------------------------------
/Help/html/config/hacks/automaticexpandcomparisonvalue.htmlbody:
--------------------------------------------------------------------------------
1 |
2 | Value to use, in hexadecimal, for the comparison value to use when comparing border pixels. For more details on the value to use, see Automatic expand comparison method.
3 |
4 | In DXGL Config, enter the number, up to 6 hexadecimal digits, without any prefix. In a dxgl.ini file, prefix the number with 0x.
--------------------------------------------------------------------------------
/Help/html/config/hacks/automaticexpandcomparisonvalue.htmltitle:
--------------------------------------------------------------------------------
1 | Automatic expand comparison value
--------------------------------------------------------------------------------
/Help/html/config/hacks/crop640480to640400.htmlbody:
--------------------------------------------------------------------------------
1 | If enabled, crops the 640×480 mode to a 640×400 display size.
2 | If the Video mode is set to Change desktop resolution this will attempt to switch the display to 640×400 mode.
3 | This hack is intended for some older games that render at 640×400 resolution, but switch the display to 640×480 due to limitations in early 3D accelerator cards.
--------------------------------------------------------------------------------
/Help/html/config/hacks/crop640480to640400.htmltitle:
--------------------------------------------------------------------------------
1 | Crop 640×480 to 640×400
--------------------------------------------------------------------------------
/Help/html/config/hacks/palettedrawdelayms.htmlbody:
--------------------------------------------------------------------------------
1 |
2 | Sets the time delay in milliseconds since the last frame was drawn before SetPalette or SetEntries causes the screen to be drawn. Setting this too low can generate excessive frames. Setting this too high can cause palette effects to be missed. The default is set to a reasonable delay for a 60Hz monitor.
3 |
--------------------------------------------------------------------------------
/Help/html/config/hacks/palettedrawdelayms.htmltitle:
--------------------------------------------------------------------------------
1 | Palette draw delay (ms)
--------------------------------------------------------------------------------
/Help/html/config/hacks/removetvcompatiblerefreshrates.htmlbody:
--------------------------------------------------------------------------------
1 | Removes TV-compatible refresh rates that may be added by Windows 7 and above. If a rounded refresh rate is not available it will be added. This may fix some games that may run at a reduced framerate due to these compatible refresh rates operating above the integer refresh rate.
--------------------------------------------------------------------------------
/Help/html/config/hacks/removetvcompatiblerefreshrates.htmltitle:
--------------------------------------------------------------------------------
1 | Remove TV-compatible refresh rates
--------------------------------------------------------------------------------
/Help/html/config/hacks/setcursorhidevisibility.htmlbody:
--------------------------------------------------------------------------------
1 | Applies a hook to the SetCursor() API to fix a flickering mouse cursor in some instances. Try enabling this hack if your mouse cursor is flickering in-game when it should be invisible.
--------------------------------------------------------------------------------
/Help/html/config/hacks/setcursorhidevisibility.htmltitle:
--------------------------------------------------------------------------------
1 | SetCursor hide visibility
--------------------------------------------------------------------------------
/Help/html/config/hacks/syncpaletteupdatetovsync.htmlbody:
--------------------------------------------------------------------------------
1 |
2 | Determines whether to wait for Vsync before drawing the screen due to a palette change. Setting to true can reduce tearing (or flickering on NVIDIA drivers) but may reduce framerate. Try adjusting the delay before changing this.
3 |
--------------------------------------------------------------------------------
/Help/html/config/hacks/syncpaletteupdatetovsync.htmltitle:
--------------------------------------------------------------------------------
1 | Sync palette update to Vsync
--------------------------------------------------------------------------------
/Help/html/config/hackstab.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 | This tab contains several rendering hacks, which should only be enabled in specific circumstances.
4 |
5 |
6 | Crop 640×480 to 640×400
7 |
8 |
9 | Automatically expand viewport
10 |
11 |
12 | Automatic expand comparison method
13 |
14 |
15 | Automatic expand comparison value
16 |
17 |
18 | Remove TV-compatible refresh rates
19 |
20 |
21 | SetCursor hide visibility
22 |
23 |
24 | Palette draw delay (ms)
25 |
26 |
27 | Sync palette update to Vsync
28 |
--------------------------------------------------------------------------------
/Help/html/config/hackstab.htmltitle:
--------------------------------------------------------------------------------
1 | Hacks tab
--------------------------------------------------------------------------------
/Help/html/configuration.htmlbody:
--------------------------------------------------------------------------------
1 |
2 |
3 | The DXGL Config application provides many options for customizing DXGL.
4 |
5 |
6 | Display tab
7 |
8 |
9 | Effects tab
10 |
11 |
12 | 3D Graphics tab
13 |
14 |
15 | Advanced tab
16 |
17 |
18 | Debug tab
19 |
20 |
21 | Hacks tab
22 |
23 |
24 | Graphics Tests tab
25 |
26 |
27 | About tab
28 |
--------------------------------------------------------------------------------
/Help/html/configuration.htmltitle:
--------------------------------------------------------------------------------
1 | Configuration
--------------------------------------------------------------------------------
/Help/html/introduction.htmltitle:
--------------------------------------------------------------------------------
1 | Introduction
--------------------------------------------------------------------------------
/Help/html/licenses.htmltitle:
--------------------------------------------------------------------------------
1 | Licenses
--------------------------------------------------------------------------------
/Help/html/licenses/crc32.htmlbody:
--------------------------------------------------------------------------------
1 | Contains CRC-32 version 2.0.0 by Craig Bruce, 2006-04-29, under the following declaration:
2 | THIS PROGRAM IS PUBLIC-DOMAIN SOFTWARE.
3 | Based on the byte-oriented implementation "File Verification Using CRC"
4 | by Mark R. Nelson in Dr. Dobb's Journal, May 1992, pp. 64-67.
--------------------------------------------------------------------------------
/Help/html/licenses/crc32.htmltitle:
--------------------------------------------------------------------------------
1 | CRC-32 Public Domain Declaration
--------------------------------------------------------------------------------
/Help/html/licenses/dxgl.htmltitle:
--------------------------------------------------------------------------------
1 | DXGL License
--------------------------------------------------------------------------------
/Help/html/licenses/inih.htmlbody:
--------------------------------------------------------------------------------
1 | The "inih" library is distributed under the New BSD license:
2 |
3 | Copyright (c) 2009, Ben Hoyt
4 | All rights reserved.
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are met:
8 | * Redistributions of source code must retain the above copyright
9 | notice, this list of conditions and the following disclaimer.
10 | * Redistributions in binary form must reproduce the above copyright
11 | notice, this list of conditions and the following disclaimer in the
12 | documentation and/or other materials provided with the distribution.
13 | * Neither the name of Ben Hoyt nor the names of its contributors
14 | may be used to endorse or promote products derived from this software
15 | without specific prior written permission.
16 |
17 | THIS SOFTWARE IS PROVIDED BY BEN HOYT ''AS IS'' AND ANY
18 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | DISCLAIMED. IN NO EVENT SHALL BEN HOYT BE LIABLE FOR ANY
21 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
/Help/html/licenses/inih.htmltitle:
--------------------------------------------------------------------------------
1 | inih License
--------------------------------------------------------------------------------
/Help/html/licenses/mesa.htmlbody:
--------------------------------------------------------------------------------
1 | SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
2 | Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a
5 | copy of this software and associated documentation files (the "Software"),
6 | to deal in the Software without restriction, including without limitation
7 | the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 | and/or sell copies of the Software, and to permit persons to whom the
9 | Software is furnished to do so, subject to the following conditions:
10 |
11 | The above copyright notice including the dates of first publication and
12 | either this permission notice or a reference to
13 | http://oss.sgi.com/projects/FreeB/
14 | shall be included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 | SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
21 | OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | SOFTWARE.
23 |
24 | Except as contained in this notice, the name of Silicon Graphics, Inc.
25 | shall not be used in advertising or otherwise to promote the sale, use or
26 | other dealings in this Software without prior written authorization from
27 | Silicon Graphics, Inc.
28 |
29 | Notice
30 | Since the publication of this license, the link to the SGI FREE SOFTWARE LICENSE B has become broken. The license can now be viewed online at https://spdx.org/licenses/SGI-B-2.0.html
--------------------------------------------------------------------------------
/Help/html/licenses/mesa.htmltitle:
--------------------------------------------------------------------------------
1 | Mesa SGI License
--------------------------------------------------------------------------------
/Help/html/licenses/minhook.htmltitle:
--------------------------------------------------------------------------------
1 | MinHook License
--------------------------------------------------------------------------------
/Help/html/licenses/sha.htmlbody:
--------------------------------------------------------------------------------
1 | This is free and unencumbered software released into the public domain.
2 |
3 | Anyone is free to copy, modify, publish, use, compile, sell, or
4 | distribute this software, either in source code form or as a compiled
5 | binary, for any purpose, commercial or non-commercial, and by any
6 | means.
7 |
8 | In jurisdictions that recognize copyright laws, the author or authors
9 | of this software dedicate any and all copyright interest in the
10 | software to the public domain. We make this dedication for the benefit
11 | of the public at large and to the detriment of our heirs and
12 | successors. We intend this dedication to be an overt act of
13 | relinquishment in perpetuity of all present and future rights to this
14 | software under copyright law.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22 | OTHER DEALINGS IN THE SOFTWARE.
23 |
24 | For more information, please refer to <http://unlicense.org/>
--------------------------------------------------------------------------------
/Help/html/licenses/sha.htmltitle:
--------------------------------------------------------------------------------
1 | WjCryptLib Unlicense
--------------------------------------------------------------------------------
/Help/html/licenses/wine.htmltitle:
--------------------------------------------------------------------------------
1 | Wine License
--------------------------------------------------------------------------------
/Help/html/troubleshooting.htmlbody:
--------------------------------------------------------------------------------
1 | Problem: DXGL does not load
2 | Cause: No application profile
3 | Solution: Open "Configure DXGL" and click the Add button. Browse to your program and double click it.
4 | Cause: System ddraw.dll registered under absolute path
5 | Solution: Make sure the "Fix DDraw COM Registration" option is selected when installing DXGL. After upgrading to Windows
6 | 8, you may need to re-run the installer to set the registry keys.
7 | Cause: Program does not use DirectDraw
8 | Solution: Make sure your program is configured to use DirectDraw or Direct3D up to version 7.
9 | Problem: Program crashes
10 | Cause: Incompatible Application Compatibility flags in registry
11 | Solution: Browse to the folder where the application is installed. Right click the program file and click Properties.
12 | Click the Compatibility tab and make sure no compatibility options are checked. If this does not solve your problem,
13 | open Registry Editor and browse to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
14 | and make sure there is no entry for your program. If there is, delete the entry.
15 | Cause: Bug in DXGL
16 | Solution: Go to https://www.williamfeely.info/bugzilla and create a
17 | bug report. Please be sure to be as descriptive as possible.
18 | Cause: Change color depth option checked
19 | Solution: Uncheck Change color depth in DXGL Config.
20 | Problem: Graphics corruption or missing graphics
21 | Cause: Bug in DXGL
22 | Solution: Go to https://www.williamfeely.info/bugzilla and create a
23 | bug report. Please be sure to be as descriptive as possible.
24 | Problem: OpenGL error message on load
25 | Cause: Incompatible drivers
26 | Solution: Make sure your graphics card supports OpenGL 2.0 and framebuffer objects. Then go to the graphics card
27 | manufacturer's website and download updated drivers.
--------------------------------------------------------------------------------
/Help/html/troubleshooting.htmltitle:
--------------------------------------------------------------------------------
1 | Troubleshooting
--------------------------------------------------------------------------------
/Help/images/bltfast.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/bltfast.png
--------------------------------------------------------------------------------
/Help/images/bltrop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/bltrop.png
--------------------------------------------------------------------------------
/Help/images/colorfill-random.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/colorfill-random.png
--------------------------------------------------------------------------------
/Help/images/destkeyoverride.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/destkeyoverride.png
--------------------------------------------------------------------------------
/Help/images/drawindexedprimitive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/drawindexedprimitive.png
--------------------------------------------------------------------------------
/Help/images/drawprimitivetextured.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/drawprimitivetextured.png
--------------------------------------------------------------------------------
/Help/images/dxgl-header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/dxgl-header.png
--------------------------------------------------------------------------------
/Help/images/dxglcfg-3dgraphics.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/dxglcfg-3dgraphics.png
--------------------------------------------------------------------------------
/Help/images/dxglcfg-about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/dxglcfg-about.png
--------------------------------------------------------------------------------
/Help/images/dxglcfg-advanced.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/dxglcfg-advanced.png
--------------------------------------------------------------------------------
/Help/images/dxglcfg-debug.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/dxglcfg-debug.png
--------------------------------------------------------------------------------
/Help/images/dxglcfg-display.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/dxglcfg-display.png
--------------------------------------------------------------------------------
/Help/images/dxglcfg-effects.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/dxglcfg-effects.png
--------------------------------------------------------------------------------
/Help/images/dxglcfg-hacks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/dxglcfg-hacks.png
--------------------------------------------------------------------------------
/Help/images/dxglcfg-saveini.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/dxglcfg-saveini.png
--------------------------------------------------------------------------------
/Help/images/dxglcfg-tests.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/dxglcfg-tests.png
--------------------------------------------------------------------------------
/Help/images/gdi-pattern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/gdi-pattern.png
--------------------------------------------------------------------------------
/Help/images/gdi-random.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/gdi-random.png
--------------------------------------------------------------------------------
/Help/images/gradients-15bpp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/gradients-15bpp.png
--------------------------------------------------------------------------------
/Help/images/gradients-16bpp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/gradients-16bpp.png
--------------------------------------------------------------------------------
/Help/images/gradients-24bpp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/gradients-24bpp.png
--------------------------------------------------------------------------------
/Help/images/gradients-8bpp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/gradients-8bpp.png
--------------------------------------------------------------------------------
/Help/images/large-batch-blt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/large-batch-blt.png
--------------------------------------------------------------------------------
/Help/images/mirror-rotate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/mirror-rotate.png
--------------------------------------------------------------------------------
/Help/images/mouse-test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/mouse-test.png
--------------------------------------------------------------------------------
/Help/images/palette-8bpp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/palette-8bpp.png
--------------------------------------------------------------------------------
/Help/images/random-noise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/random-noise.jpg
--------------------------------------------------------------------------------
/Help/images/rop-patterns.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/rop-patterns.png
--------------------------------------------------------------------------------
/Help/images/setcursorpos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/setcursorpos.png
--------------------------------------------------------------------------------
/Help/images/srckeyoverride.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/srckeyoverride.png
--------------------------------------------------------------------------------
/Help/images/surfaceformat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/surfaceformat.png
--------------------------------------------------------------------------------
/Help/images/textureshader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/textureshader.png
--------------------------------------------------------------------------------
/Help/images/vertexshader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/vertexshader.png
--------------------------------------------------------------------------------
/Help/images/windowapitest1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/windowapitest1.png
--------------------------------------------------------------------------------
/Help/images/windowapitest2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Help/images/windowapitest2.png
--------------------------------------------------------------------------------
/Installer/.gitignore:
--------------------------------------------------------------------------------
1 | /*.exe
2 |
--------------------------------------------------------------------------------
/Installer/Installer.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Installer/dxgl.nsi:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/Installer/dxgl.nsi
--------------------------------------------------------------------------------
/buildtool/buildtool.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/buildtool/buildtool.rc
--------------------------------------------------------------------------------
/buildtool/buildtool.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Resource Files
20 |
21 |
22 |
23 |
24 | Header Files
25 |
26 |
27 |
28 |
29 | Source Files
30 |
31 |
32 |
--------------------------------------------------------------------------------
/buildtool/resource.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2012 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
--------------------------------------------------------------------------------
/buildtool/xp.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 | DXGL Build Tool
10 |
11 |
12 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/cfgmgr/ReadMe.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/cfgmgr/ReadMe.txt
--------------------------------------------------------------------------------
/cfgmgr/cfgmgr.depend:
--------------------------------------------------------------------------------
1 | # depslib dependency file v1.0
2 |
--------------------------------------------------------------------------------
/cfgmgr/crc32.h:
--------------------------------------------------------------------------------
1 | /*
2 | * crc32.h
3 | */
4 | #ifndef _CRC32_H
5 | #define _CRC32_H
6 |
7 | int Crc32_ComputeFile( FILE *file, unsigned long *outCrc32 );
8 |
9 | unsigned long Crc32_ComputeBuf( unsigned long inCrc32, const void *buf,
10 | size_t bufLen );
11 |
12 | #endif /* _CRC32_H */
13 |
--------------------------------------------------------------------------------
/cfgmgr/inih/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: benhoyt
2 |
--------------------------------------------------------------------------------
/cfgmgr/inih/.github/workflows/cifuzz.yml:
--------------------------------------------------------------------------------
1 | name: CIFuzz
2 | on: [pull_request]
3 | permissions: {}
4 | jobs:
5 | Fuzzing:
6 | runs-on: ubuntu-latest
7 | permissions:
8 | security-events: write
9 | steps:
10 | - name: Build Fuzzers
11 | id: build
12 | uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
13 | with:
14 | oss-fuzz-project-name: 'inih'
15 | - name: Run Fuzzers
16 | uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
17 | with:
18 | oss-fuzz-project-name: 'inih'
19 | fuzz-seconds: 300
20 | output-sarif: true
21 | - name: Upload Crash
22 | uses: actions/upload-artifact@v3
23 | if: failure() && steps.build.outcome == 'success'
24 | with:
25 | name: artifacts
26 | path: ./out/artifacts
27 | - name: Upload Sarif
28 | if: always() && steps.build.outcome == 'success'
29 | uses: github/codeql-action/upload-sarif@v2
30 | with:
31 | # Path to SARIF file relative to the root of the repository
32 | sarif_file: cifuzz-sarif/results.sarif
33 | checkout_path: cifuzz-sarif
34 | category: CIFuzz
35 |
--------------------------------------------------------------------------------
/cfgmgr/inih/.github/workflows/tests.yml:
--------------------------------------------------------------------------------
1 | name: Tests
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 | pull_request:
7 | branches: [ master ]
8 |
9 | jobs:
10 | build-linux:
11 | runs-on: ubuntu-latest
12 |
13 | steps:
14 | - uses: actions/checkout@v2
15 |
16 | - name: Run Diff Tests
17 | run: |
18 | cd tests
19 | ./unittest.sh
20 | cd ../examples
21 | ./cpptest.sh
22 | git diff --exit-code
23 |
--------------------------------------------------------------------------------
/cfgmgr/inih/.gitignore:
--------------------------------------------------------------------------------
1 | fuzzing/findings
2 | fuzzing/inihfuzz
3 |
--------------------------------------------------------------------------------
/cfgmgr/inih/LICENSE.txt:
--------------------------------------------------------------------------------
1 |
2 | The "inih" library is distributed under the New BSD license:
3 |
4 | Copyright (c) 2009, Ben Hoyt
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 | * Redistributions of source code must retain the above copyright
10 | notice, this list of conditions and the following disclaimer.
11 | * Redistributions in binary form must reproduce the above copyright
12 | notice, this list of conditions and the following disclaimer in the
13 | documentation and/or other materials provided with the distribution.
14 | * Neither the name of Ben Hoyt nor the names of its contributors
15 | may be used to endorse or promote products derived from this software
16 | without specific prior written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY BEN HOYT ''AS IS'' AND ANY
19 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 | DISCLAIMED. IN NO EVENT SHALL BEN HOYT BE LIABLE FOR ANY
22 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
--------------------------------------------------------------------------------
/cfgmgr/inih/examples/INIReaderExample.cpp:
--------------------------------------------------------------------------------
1 | // Example that shows simple usage of the INIReader class
2 |
3 | #include
4 | #include "../cpp/INIReader.h"
5 |
6 | int main()
7 | {
8 | INIReader reader("../examples/test.ini");
9 |
10 | if (reader.ParseError() < 0) {
11 | std::cout << "Can't load 'test.ini'\n";
12 | return 1;
13 | }
14 | std::cout << "Config loaded from 'test.ini': version="
15 | << reader.GetInteger("protocol", "version", -1) << ", unsigned version="
16 | << reader.GetUnsigned("protocol", "version", -1) << ", trillion="
17 | << reader.GetInteger64("user", "trillion", -1) << ", unsigned trillion="
18 | << reader.GetUnsigned64("user", "trillion", -1) << ", name="
19 | << reader.Get("user", "name", "UNKNOWN") << ", email="
20 | << reader.Get("user", "email", "UNKNOWN") << ", pi="
21 | << reader.GetReal("user", "pi", -1) << ", active="
22 | << reader.GetBoolean("user", "active", true) << "\n";
23 | std::cout << "Has values: user.name=" << reader.HasValue("user", "name")
24 | << ", user.nose=" << reader.HasValue("user", "nose") << "\n";
25 | std::cout << "Has sections: user=" << reader.HasSection("user")
26 | << ", fizz=" << reader.HasSection("fizz") << "\n";
27 | return 0;
28 | }
29 |
--------------------------------------------------------------------------------
/cfgmgr/inih/examples/config.def:
--------------------------------------------------------------------------------
1 | // CFG(section, name, default)
2 |
3 | CFG(protocol, version, "0")
4 |
5 | CFG(user, name, "Fatty Lumpkin")
6 | CFG(user, email, "fatty@lumpkin.com")
7 |
8 | #undef CFG
9 |
--------------------------------------------------------------------------------
/cfgmgr/inih/examples/cpptest.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | g++ -Wall INIReaderExample.cpp ../cpp/INIReader.cpp ../ini.c -o INIReaderExample
4 | ./INIReaderExample > cpptest.txt
5 | rm INIReaderExample
6 |
--------------------------------------------------------------------------------
/cfgmgr/inih/examples/cpptest.txt:
--------------------------------------------------------------------------------
1 | Config loaded from 'test.ini': version=6, unsigned version=6, trillion=1000000000000, unsigned trillion=1000000000000, name=Bob Smith, email=bob@smith.com, pi=3.14159, active=1
2 | Has values: user.name=1, user.nose=0
3 | Has sections: user=1, fizz=0
4 |
--------------------------------------------------------------------------------
/cfgmgr/inih/examples/ini_dump.c:
--------------------------------------------------------------------------------
1 | /* ini.h example that simply dumps an INI file without comments */
2 |
3 | #include
4 | #include
5 | #include "../ini.h"
6 |
7 | static int dumper(void* user, const char* section, const char* name,
8 | const char* value)
9 | {
10 | static char prev_section[50] = "";
11 |
12 | if (strcmp(section, prev_section)) {
13 | printf("%s[%s]\n", (prev_section[0] ? "\n" : ""), section);
14 | strncpy(prev_section, section, sizeof(prev_section));
15 | prev_section[sizeof(prev_section) - 1] = '\0';
16 | }
17 | printf("%s = %s\n", name, value);
18 | return 1;
19 | }
20 |
21 | int main(int argc, char* argv[])
22 | {
23 | int error;
24 |
25 | if (argc <= 1) {
26 | printf("Usage: ini_dump filename.ini\n");
27 | return 1;
28 | }
29 |
30 | error = ini_parse(argv[1], dumper, NULL);
31 | if (error < 0) {
32 | printf("Can't read '%s'!\n", argv[1]);
33 | return 2;
34 | }
35 | else if (error) {
36 | printf("Bad config file (first error on line %d)!\n", error);
37 | return 3;
38 | }
39 | return 0;
40 | }
41 |
--------------------------------------------------------------------------------
/cfgmgr/inih/examples/ini_example.c:
--------------------------------------------------------------------------------
1 | /* Example: parse a simple configuration file */
2 |
3 | #include
4 | #include
5 | #include
6 | #include "../ini.h"
7 |
8 | typedef struct
9 | {
10 | int version;
11 | const char* name;
12 | const char* email;
13 | } configuration;
14 |
15 | static int handler(void* user, const char* section, const char* name,
16 | const char* value)
17 | {
18 | configuration* pconfig = (configuration*)user;
19 |
20 | #define MATCH(s, n) strcmp(section, s) == 0 && strcmp(name, n) == 0
21 | if (MATCH("protocol", "version")) {
22 | pconfig->version = atoi(value);
23 | } else if (MATCH("user", "name")) {
24 | pconfig->name = strdup(value);
25 | } else if (MATCH("user", "email")) {
26 | pconfig->email = strdup(value);
27 | } else {
28 | return 0; /* unknown section/name, error */
29 | }
30 | return 1;
31 | }
32 |
33 | int main(int argc, char* argv[])
34 | {
35 | configuration config;
36 | config.version = 0; /* set defaults */
37 | config.name = NULL;
38 | config.email = NULL;
39 |
40 | if (ini_parse("test.ini", handler, &config) < 0) {
41 | printf("Can't load 'test.ini'\n");
42 | return 1;
43 | }
44 | printf("Config loaded from 'test.ini': version=%d, name=%s, email=%s\n",
45 | config.version, config.name, config.email);
46 |
47 | if (config.name)
48 | free((void*)config.name);
49 | if (config.email)
50 | free((void*)config.email);
51 |
52 | return 0;
53 | }
54 |
--------------------------------------------------------------------------------
/cfgmgr/inih/examples/ini_xmacros.c:
--------------------------------------------------------------------------------
1 | /* Parse a configuration file into a struct using X-Macros */
2 |
3 | #include
4 | #include
5 | #include "../ini.h"
6 |
7 | /* define the config struct type */
8 | typedef struct {
9 | #define CFG(s, n, default) char *s##_##n;
10 | #include "config.def"
11 | } config;
12 |
13 | /* create one and fill in its default values */
14 | config Config = {
15 | #define CFG(s, n, default) default,
16 | #include "config.def"
17 | };
18 |
19 | /* process a line of the INI file, storing valid values into config struct */
20 | int handler(void *user, const char *section, const char *name,
21 | const char *value)
22 | {
23 | config *cfg = (config *)user;
24 |
25 | if (0) ;
26 | #define CFG(s, n, default) else if (strcmp(section, #s)==0 && \
27 | strcmp(name, #n)==0) cfg->s##_##n = strdup(value);
28 | #include "config.def"
29 |
30 | return 1;
31 | }
32 |
33 | /* print all the variables in the config, one per line */
34 | void dump_config(config *cfg)
35 | {
36 | #define CFG(s, n, default) printf("%s_%s = %s\n", #s, #n, cfg->s##_##n);
37 | #include "config.def"
38 | }
39 |
40 | int main(int argc, char* argv[])
41 | {
42 | if (ini_parse("test.ini", handler, &Config) < 0)
43 | printf("Can't load 'test.ini', using defaults\n");
44 | dump_config(&Config);
45 | return 0;
46 | }
47 |
--------------------------------------------------------------------------------
/cfgmgr/inih/examples/test.ini:
--------------------------------------------------------------------------------
1 | ; Test config file for ini_example.c and INIReaderTest.cpp
2 |
3 | [protocol] ; Protocol configuration
4 | version=6 ; IPv6
5 |
6 | [user]
7 | name = Bob Smith ; Spaces around '=' are stripped
8 | email = bob@smith.com ; And comments (like this) ignored
9 | active = true ; Test a boolean
10 | pi = 3.14159 ; Test a floating point number
11 | trillion = 1000000000000 ; Test 64-bit integers
12 |
--------------------------------------------------------------------------------
/cfgmgr/inih/fuzzing/OSS-FUZZ.MD:
--------------------------------------------------------------------------------
1 | ### oss-fuzz local build with ASAN
2 |
3 | ```
4 | export CC=clang
5 | export CFLAGS="-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link"
6 | export LIB_FUZZING_ENGINE="-fsanitize=fuzzer"
7 | ```
8 |
9 | ### oss-fuzz local build with MSAN
10 |
11 | ```
12 | export CC=clang
13 | export CFLAGS="-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory -fsanitize-memory-track-origins -fsanitize=fuzzer-no-link"
14 | export LIB_FUZZING_ENGINE="-fsanitize=fuzzer"
15 | ```
16 |
17 |
18 | ### oss-fuzz local build with UBSAN
19 | ```
20 | export CC=clang
21 | export CFLAGS="-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=array-bounds,bool,builtin,enum,float-divide-by-zero,function,integer-divide-by-zero,null,object-size,return,returns-nonnull-attribute,shift,signed-integer-overflow,unsigned-integer-overflow,unreachable,vla-bound,vptr -fno-sanitize-recover=array-bounds,bool,builtin,enum,float-divide-by-zero,function,integer-divide-by-zero,null,object-size,return,returns-nonnull-attribute,shift,signed-integer-overflow,unreachable,vla-bound,vptr -fsanitize=fuzzer-no-link"
22 | export LIB_FUZZING_ENGINE="-fsanitize=fuzzer"
23 | ```
24 |
25 | ### run fuzzer
26 | ```
27 | bash oss-fuzz.sh
28 | mkdir seed/
29 | cp ../tests/*.ini seed/
30 | ./inihfuzz seed/
31 | ```
32 |
--------------------------------------------------------------------------------
/cfgmgr/inih/fuzzing/build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | ../../afl-2.52b/afl-gcc inihfuzz.c ../ini.c -o inihfuzz
3 |
--------------------------------------------------------------------------------
/cfgmgr/inih/fuzzing/fuzz.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | ../../afl-2.52b/afl-fuzz -i testcases -o findings -- ./inihfuzz @@
3 |
--------------------------------------------------------------------------------
/cfgmgr/inih/fuzzing/inihfuzz.c:
--------------------------------------------------------------------------------
1 | /* This is a slightly tweaked copy of tests/unittest.c for fuzzing */
2 |
3 | #include
4 | #include
5 | #include
6 | #include "../ini.h"
7 |
8 | int User;
9 | char Prev_section[50];
10 |
11 | int dumper(void* user, const char* section, const char* name,
12 | const char* value)
13 | {
14 | User = *((int*)user);
15 | if (!name || strcmp(section, Prev_section)) {
16 | printf("... [%s]\n", section);
17 | strncpy(Prev_section, section, sizeof(Prev_section));
18 | Prev_section[sizeof(Prev_section) - 1] = '\0';
19 | }
20 | if (!name) {
21 | return 1;
22 | }
23 |
24 | printf("... %s%s%s;\n", name, value ? "=" : "", value ? value : "");
25 |
26 | if (!value) {
27 | // Happens when INI_ALLOW_NO_VALUE=1 and line has no value (no '=' or ':')
28 | return 1;
29 | }
30 |
31 | return strcmp(name, "user")==0 && strcmp(value, "parse_error")==0 ? 0 : 1;
32 | }
33 |
34 | void parse(const char* fname) {
35 | static int u = 100;
36 | int e;
37 |
38 | *Prev_section = '\0';
39 | e = ini_parse(fname, dumper, &u);
40 | printf("%s: e=%d user=%d\n", fname, e, User);
41 | u++;
42 | }
43 |
44 | #ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
45 |
46 | int main(int argc, char **argv)
47 | {
48 | if (argc < 2) {
49 | printf("usage: inihfuzz file.ini\n");
50 | return 1;
51 | }
52 | parse(argv[1]);
53 | return 0;
54 | }
55 |
56 | #else
57 |
58 | #define kMinInputLength 20
59 | #define kMaxInputLength 1024
60 |
61 | extern int LLVMFuzzerTestOneInput(const char *Data, size_t Size) {
62 |
63 | if (Size < kMinInputLength || Size > kMaxInputLength) {
64 | return 0;
65 | }
66 |
67 | int ret;
68 | *Prev_section = '\0';
69 | int u = 100;
70 |
71 | char *data = malloc(Size + 1);
72 | memcpy(data, Data, Size);
73 | data[Size] = '\0';
74 |
75 | ret = ini_parse(data, dumper, &u);
76 |
77 | free(data);
78 |
79 | return ret;
80 | }
81 |
82 | #endif
83 |
--------------------------------------------------------------------------------
/cfgmgr/inih/fuzzing/oss-fuzz.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | $CC $CFLAGS -c ../ini.c
3 | $CC $CFLAGS -c inihfuzz.c
4 | $CXX $CFLAGS $LIB_FUZZING_ENGINE inihfuzz.o ini.o -o inihfuzz
5 |
--------------------------------------------------------------------------------
/cfgmgr/inih/fuzzing/testcases/case1.ini:
--------------------------------------------------------------------------------
1 | ; comment
2 |
3 | [foo] ; section
4 | bar=1 ; name=value
5 |
6 | [bar]
7 | name = Bob
8 | age: 42
9 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/bad_comment.ini:
--------------------------------------------------------------------------------
1 | This is an error
2 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/bad_multi.ini:
--------------------------------------------------------------------------------
1 | indented
2 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/bad_section.ini:
--------------------------------------------------------------------------------
1 | [section1]
2 | name1=value1
3 | [section2
4 | [section3 ; comment ]
5 | name2=value2
6 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_alloc.txt:
--------------------------------------------------------------------------------
1 | ini_malloc(12)
2 | ... [section]
3 | ... foo=bar;
4 | ini_realloc(24)
5 | ... bazz=buzz quxx;
6 | ini_free()
7 | basic: e=0
8 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_allow_no_value.txt:
--------------------------------------------------------------------------------
1 | no_file.ini: e=-1 user=0
2 | ... [section1]
3 | ... one=This is a test;
4 | ... two=1234;
5 | ... [ section 2 ]
6 | ... happy=4;
7 | ... sad=;
8 | ... [comment_test]
9 | ... test1=1;2;3;
10 | ... test2=2;3;4;this won't be a comment, needs whitespace before ';';
11 | ... test;3=345;
12 | ... test4=4#5#6;
13 | ... test7=;
14 | ... test8=; not a comment, needs whitespace before ';';
15 | ... [colon_tests]
16 | ... Content-Type=text/html;
17 | ... foo=bar;
18 | ... adams=42;
19 | ... funny1=with = equals;
20 | ... funny2=with : colons;
21 | ... funny3=two = equals;
22 | ... funny4=two : colons;
23 | normal.ini: e=0 user=101
24 | ... [section1]
25 | ... name1=value1;
26 | ... name2=value2;
27 | bad_section.ini: e=3 user=102
28 | ... This is an error;
29 | bad_comment.ini: e=0 user=103
30 | ... [section]
31 | ... a=b;
32 | ... user=parse_error;
33 | ... c=d;
34 | user_error.ini: e=3 user=104
35 | ... [section1]
36 | ... single1=abc;
37 | ... multi=this is a;
38 | ... multi=multi-line value;
39 | ... single2=xyz;
40 | ... [section2]
41 | ... multi=a;
42 | ... multi=b;
43 | ... multi=c;
44 | ... [section3]
45 | ... single=ghi;
46 | ... multi=the quick;
47 | ... multi=brown fox;
48 | ... name=bob smith;
49 | ... foo=bar;
50 | ... foo=Hi World;
51 | multi_line.ini: e=0 user=105
52 | ... indented;
53 | bad_multi.ini: e=0 user=106
54 | ... [bom_section]
55 | ... bom_name=bom_value;
56 | ... key“=value“;
57 | bom.ini: e=0 user=107
58 | ... [section1]
59 | ... single1=abc;
60 | ... single2=xyz;
61 | ... single1=def;
62 | ... single2=qrs;
63 | duplicate_sections.ini: e=0 user=108
64 | ... [section_list]
65 | ... section0;
66 | ... section1;
67 | ... [section0]
68 | ... key0=val0;
69 | ... [section1]
70 | ... key1=val1;
71 | no_value.ini: e=0 user=109
72 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_call_handler_on_new_section.txt:
--------------------------------------------------------------------------------
1 | no_file.ini: e=-1 user=0
2 | ... [section1]
3 | ... one=This is a test;
4 | ... two=1234;
5 | ... [ section 2 ]
6 | ... happy=4;
7 | ... sad=;
8 | ... [empty]
9 | ... [comment_test]
10 | ... test1=1;2;3;
11 | ... test2=2;3;4;this won't be a comment, needs whitespace before ';';
12 | ... test;3=345;
13 | ... test4=4#5#6;
14 | ... test7=;
15 | ... test8=; not a comment, needs whitespace before ';';
16 | ... [colon_tests]
17 | ... Content-Type=text/html;
18 | ... foo=bar;
19 | ... adams=42;
20 | ... funny1=with = equals;
21 | ... funny2=with : colons;
22 | ... funny3=two = equals;
23 | ... funny4=two : colons;
24 | normal.ini: e=0 user=101
25 | ... [section1]
26 | ... name1=value1;
27 | ... name2=value2;
28 | bad_section.ini: e=3 user=102
29 | bad_comment.ini: e=1 user=102
30 | ... [section]
31 | ... a=b;
32 | ... user=parse_error;
33 | ... c=d;
34 | user_error.ini: e=3 user=104
35 | ... [section1]
36 | ... single1=abc;
37 | ... multi=this is a;
38 | ... multi=multi-line value;
39 | ... single2=xyz;
40 | ... [section2]
41 | ... multi=a;
42 | ... multi=b;
43 | ... multi=c;
44 | ... [section3]
45 | ... single=ghi;
46 | ... multi=the quick;
47 | ... multi=brown fox;
48 | ... name=bob smith;
49 | ... foo=bar;
50 | ... foo=Hi World;
51 | multi_line.ini: e=0 user=105
52 | bad_multi.ini: e=1 user=105
53 | ... [bom_section]
54 | ... bom_name=bom_value;
55 | ... key“=value“;
56 | bom.ini: e=0 user=107
57 | ... [section1]
58 | ... single1=abc;
59 | ... single2=xyz;
60 | ... [section1]
61 | ... single1=def;
62 | ... single2=qrs;
63 | duplicate_sections.ini: e=0 user=108
64 | ... [section_list]
65 | ... [section0]
66 | ... key0=val0;
67 | ... [section1]
68 | ... key1=val1;
69 | no_value.ini: e=2 user=109
70 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_disallow_inline_comments.txt:
--------------------------------------------------------------------------------
1 | no_file.ini: e=-1 user=0
2 | ... [section1]
3 | ... one=This is a test ; name=value comment;
4 | ... two=1234;
5 | ... [ section 2 ]
6 | ... happy=4;
7 | ... sad=;
8 | ... [comment_test]
9 | ... test1=1;2;3 ; only this will be a comment;
10 | ... test2=2;3;4;this won't be a comment, needs whitespace before ';';
11 | ... test;3=345 ; key should be "test;3";
12 | ... test4=4#5#6 ; '#' only starts a comment at start of line;
13 | ... test7=; blank value, except if inline comments disabled;
14 | ... test8=; not a comment, needs whitespace before ';';
15 | ... [colon_tests]
16 | ... Content-Type=text/html;
17 | ... foo=bar;
18 | ... adams=42;
19 | ... funny1=with = equals;
20 | ... funny2=with : colons;
21 | ... funny3=two = equals;
22 | ... funny4=two : colons;
23 | normal.ini: e=0 user=101
24 | ... [section1]
25 | ... name1=value1;
26 | ... [section3 ; comment ]
27 | ... name2=value2;
28 | bad_section.ini: e=3 user=102
29 | bad_comment.ini: e=1 user=102
30 | ... [section]
31 | ... a=b;
32 | ... user=parse_error;
33 | ... c=d;
34 | user_error.ini: e=3 user=104
35 | ... [section1]
36 | ... single1=abc;
37 | ... multi=this is a;
38 | ... multi=multi-line value;
39 | ... single2=xyz;
40 | ... [section2]
41 | ... multi=a;
42 | ... multi=b;
43 | ... multi=c;
44 | ... [section3]
45 | ... single=ghi;
46 | ... multi=the quick;
47 | ... multi=brown fox;
48 | ... name=bob smith ; comment line 1;
49 | ... foo=bar ;c1;
50 | ... foo=Hi World ;c2;
51 | multi_line.ini: e=0 user=105
52 | bad_multi.ini: e=1 user=105
53 | ... [bom_section]
54 | ... bom_name=bom_value;
55 | ... key“=value“;
56 | bom.ini: e=0 user=107
57 | ... [section1]
58 | ... single1=abc;
59 | ... single2=xyz;
60 | ... single1=def;
61 | ... single2=qrs;
62 | duplicate_sections.ini: e=0 user=108
63 | ... [section0]
64 | ... key0=val0;
65 | ... [section1]
66 | ... key1=val1;
67 | no_value.ini: e=2 user=109
68 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_handler_lineno.txt:
--------------------------------------------------------------------------------
1 | no_file.ini: e=-1 user=0
2 | ... [section1]
3 | ... one=This is a test; line 3
4 | ... two=1234; line 4
5 | ... [ section 2 ]
6 | ... happy=4; line 8
7 | ... sad=; line 9
8 | ... [comment_test]
9 | ... test1=1;2;3; line 15
10 | ... test2=2;3;4;this won't be a comment, needs whitespace before ';'; line 16
11 | ... test;3=345; line 17
12 | ... test4=4#5#6; line 18
13 | ... test7=; line 21
14 | ... test8=; not a comment, needs whitespace before ';'; line 22
15 | ... [colon_tests]
16 | ... Content-Type=text/html; line 25
17 | ... foo=bar; line 26
18 | ... adams=42; line 27
19 | ... funny1=with = equals; line 28
20 | ... funny2=with : colons; line 29
21 | ... funny3=two = equals; line 30
22 | ... funny4=two : colons; line 31
23 | normal.ini: e=0 user=101
24 | ... [section1]
25 | ... name1=value1; line 2
26 | ... name2=value2; line 5
27 | bad_section.ini: e=3 user=102
28 | bad_comment.ini: e=1 user=102
29 | ... [section]
30 | ... a=b; line 2
31 | ... user=parse_error; line 3
32 | ... c=d; line 4
33 | user_error.ini: e=3 user=104
34 | ... [section1]
35 | ... single1=abc; line 2
36 | ... multi=this is a; line 3
37 | ... multi=multi-line value; line 4
38 | ... single2=xyz; line 5
39 | ... [section2]
40 | ... multi=a; line 7
41 | ... multi=b; line 8
42 | ... multi=c; line 9
43 | ... [section3]
44 | ... single=ghi; line 11
45 | ... multi=the quick; line 12
46 | ... multi=brown fox; line 13
47 | ... name=bob smith; line 14
48 | ... foo=bar; line 16
49 | ... foo=Hi World; line 17
50 | multi_line.ini: e=0 user=105
51 | bad_multi.ini: e=1 user=105
52 | ... [bom_section]
53 | ... bom_name=bom_value; line 2
54 | ... key“=value“; line 3
55 | bom.ini: e=0 user=107
56 | ... [section1]
57 | ... single1=abc; line 2
58 | ... single2=xyz; line 3
59 | ... single1=def; line 5
60 | ... single2=qrs; line 6
61 | duplicate_sections.ini: e=0 user=108
62 | ... [section0]
63 | ... key0=val0; line 6
64 | ... [section1]
65 | ... key1=val1; line 9
66 | no_value.ini: e=2 user=109
67 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_heap.txt:
--------------------------------------------------------------------------------
1 | no_file.ini: e=-1 user=0
2 | ... [section1]
3 | ... one=This is a test;
4 | ... two=1234;
5 | ... [ section 2 ]
6 | ... happy=4;
7 | ... sad=;
8 | ... [comment_test]
9 | ... test1=1;2;3;
10 | ... test2=2;3;4;this won't be a comment, needs whitespace before ';';
11 | ... test;3=345;
12 | ... test4=4#5#6;
13 | ... test7=;
14 | ... test8=; not a comment, needs whitespace before ';';
15 | ... [colon_tests]
16 | ... Content-Type=text/html;
17 | ... foo=bar;
18 | ... adams=42;
19 | ... funny1=with = equals;
20 | ... funny2=with : colons;
21 | ... funny3=two = equals;
22 | ... funny4=two : colons;
23 | normal.ini: e=0 user=101
24 | ... [section1]
25 | ... name1=value1;
26 | ... name2=value2;
27 | bad_section.ini: e=3 user=102
28 | bad_comment.ini: e=1 user=102
29 | ... [section]
30 | ... a=b;
31 | ... user=parse_error;
32 | ... c=d;
33 | user_error.ini: e=3 user=104
34 | ... [section1]
35 | ... single1=abc;
36 | ... multi=this is a;
37 | ... multi=multi-line value;
38 | ... single2=xyz;
39 | ... [section2]
40 | ... multi=a;
41 | ... multi=b;
42 | ... multi=c;
43 | ... [section3]
44 | ... single=ghi;
45 | ... multi=the quick;
46 | ... multi=brown fox;
47 | ... name=bob smith;
48 | ... foo=bar;
49 | ... foo=Hi World;
50 | multi_line.ini: e=0 user=105
51 | bad_multi.ini: e=1 user=105
52 | ... [bom_section]
53 | ... bom_name=bom_value;
54 | ... key“=value“;
55 | bom.ini: e=0 user=107
56 | ... [section1]
57 | ... single1=abc;
58 | ... single2=xyz;
59 | ... single1=def;
60 | ... single2=qrs;
61 | duplicate_sections.ini: e=0 user=108
62 | ... [section0]
63 | ... key0=val0;
64 | ... [section1]
65 | ... key1=val1;
66 | no_value.ini: e=2 user=109
67 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_heap_max_line.txt:
--------------------------------------------------------------------------------
1 | no_file.ini: e=-1 user=0
2 | ... [section1]
3 | ... one=This is a test;
4 | ... two=1234;
5 | ... [ section 2 ]
6 | ... happy=4;
7 | ... sad=;
8 | ... [comment_test]
9 | ... test1=1;2;3;
10 | ... test2=2;3;4;this;
11 | ... test2=needs whitespace b;
12 | ... test;3=345;
13 | ... test4=4#5#6;
14 | ... test4=only starts a comm;
15 | ... test7=;
16 | ... test8=; not a comm;
17 | ... [colon_tests]
18 | ... Content-Type=text/;
19 | ... foo=bar;
20 | ... adams=42;
21 | ... funny1=with = equ;
22 | ... funny2=with : col;
23 | ... funny3=two = equa;
24 | ... funny4=two : colo;
25 | normal.ini: e=2 user=101
26 | ... [section1]
27 | ... name1=value1;
28 | ... name2=value2;
29 | bad_section.ini: e=3 user=102
30 | bad_comment.ini: e=1 user=102
31 | ... [section]
32 | ... a=b;
33 | ... user=parse_error;
34 | ... c=d;
35 | user_error.ini: e=3 user=104
36 | ... [section1]
37 | ... single1=abc;
38 | ... multi=this is a;
39 | ... multi=multi-line;
40 | ... single2=xyz;
41 | ... [section2]
42 | ... multi=a;
43 | ... multi=b;
44 | ... multi=c;
45 | ... [section3]
46 | ... single=ghi;
47 | ... multi=the quick;
48 | ... multi=brown fox;
49 | ... name=bob smith;
50 | ... name=comment line 1;
51 | ... name=comment line 2;
52 | ... foo=bar;
53 | ... foo=Hi World;
54 | multi_line.ini: e=5 user=105
55 | bad_multi.ini: e=1 user=105
56 | ... [bom_section]
57 | ... bom_name=bom_value;
58 | ... key“=value“;
59 | bom.ini: e=0 user=107
60 | ... [section1]
61 | ... single1=abc;
62 | ... single2=xyz;
63 | ... single1=def;
64 | ... single2=qrs;
65 | duplicate_sections.ini: e=0 user=108
66 | ... [section0]
67 | ... key0=val0;
68 | ... [section1]
69 | ... key1=val1;
70 | no_value.ini: e=2 user=109
71 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_heap_realloc.txt:
--------------------------------------------------------------------------------
1 | no_file.ini: e=-1 user=0
2 | ... [section1]
3 | ... one=This is a test;
4 | ... two=1234;
5 | ... [ section 2 ]
6 | ... happy=4;
7 | ... sad=;
8 | ... [comment_test]
9 | ... test1=1;2;3;
10 | ... test2=2;3;4;this won't be a comment, needs whitespace before ';';
11 | ... test;3=345;
12 | ... test4=4#5#6;
13 | ... test7=;
14 | ... test8=; not a comment, needs whitespace before ';';
15 | ... [colon_tests]
16 | ... Content-Type=text/html;
17 | ... foo=bar;
18 | ... adams=42;
19 | ... funny1=with = equals;
20 | ... funny2=with : colons;
21 | ... funny3=two = equals;
22 | ... funny4=two : colons;
23 | normal.ini: e=0 user=101
24 | ... [section1]
25 | ... name1=value1;
26 | ... name2=value2;
27 | bad_section.ini: e=3 user=102
28 | bad_comment.ini: e=1 user=102
29 | ... [section]
30 | ... a=b;
31 | ... user=parse_error;
32 | ... c=d;
33 | user_error.ini: e=3 user=104
34 | ... [section1]
35 | ... single1=abc;
36 | ... multi=this is a;
37 | ... multi=multi-line value;
38 | ... single2=xyz;
39 | ... [section2]
40 | ... multi=a;
41 | ... multi=b;
42 | ... multi=c;
43 | ... [section3]
44 | ... single=ghi;
45 | ... multi=the quick;
46 | ... multi=brown fox;
47 | ... name=bob smith;
48 | ... foo=bar;
49 | ... foo=Hi World;
50 | multi_line.ini: e=0 user=105
51 | bad_multi.ini: e=1 user=105
52 | ... [bom_section]
53 | ... bom_name=bom_value;
54 | ... key“=value“;
55 | bom.ini: e=0 user=107
56 | ... [section1]
57 | ... single1=abc;
58 | ... single2=xyz;
59 | ... single1=def;
60 | ... single2=qrs;
61 | duplicate_sections.ini: e=0 user=108
62 | ... [section0]
63 | ... key0=val0;
64 | ... [section1]
65 | ... key1=val1;
66 | no_value.ini: e=2 user=109
67 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_heap_realloc_max_line.txt:
--------------------------------------------------------------------------------
1 | no_file.ini: e=-1 user=0
2 | ... [section1]
3 | ... one=This is a test;
4 | ... two=1234;
5 | ... [ section 2 ]
6 | ... happy=4;
7 | ... sad=;
8 | ... [comment_test]
9 | ... test1=1;2;3;
10 | ... test2=2;3;4;this;
11 | ... test2=needs whitespace b;
12 | ... test;3=345;
13 | ... test4=4#5#6;
14 | ... test4=only starts a comm;
15 | ... test7=;
16 | ... test8=; not a comm;
17 | ... [colon_tests]
18 | ... Content-Type=text/;
19 | ... foo=bar;
20 | ... adams=42;
21 | ... funny1=with = equ;
22 | ... funny2=with : col;
23 | ... funny3=two = equa;
24 | ... funny4=two : colo;
25 | normal.ini: e=2 user=101
26 | ... [section1]
27 | ... name1=value1;
28 | ... name2=value2;
29 | bad_section.ini: e=3 user=102
30 | bad_comment.ini: e=1 user=102
31 | ... [section]
32 | ... a=b;
33 | ... user=parse_error;
34 | ... c=d;
35 | user_error.ini: e=3 user=104
36 | ... [section1]
37 | ... single1=abc;
38 | ... multi=this is a;
39 | ... multi=multi-line;
40 | ... single2=xyz;
41 | ... [section2]
42 | ... multi=a;
43 | ... multi=b;
44 | ... multi=c;
45 | ... [section3]
46 | ... single=ghi;
47 | ... multi=the quick;
48 | ... multi=brown fox;
49 | ... name=bob smith;
50 | ... name=comment line 1;
51 | ... name=comment line 2;
52 | ... foo=bar;
53 | ... foo=Hi World;
54 | multi_line.ini: e=5 user=105
55 | bad_multi.ini: e=1 user=105
56 | ... [bom_section]
57 | ... bom_name=bom_value;
58 | ... key“=value“;
59 | bom.ini: e=0 user=107
60 | ... [section1]
61 | ... single1=abc;
62 | ... single2=xyz;
63 | ... single1=def;
64 | ... single2=qrs;
65 | duplicate_sections.ini: e=0 user=108
66 | ... [section0]
67 | ... key0=val0;
68 | ... [section1]
69 | ... key1=val1;
70 | no_value.ini: e=2 user=109
71 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_heap_string.txt:
--------------------------------------------------------------------------------
1 | empty string: e=0 user=0
2 | ... [section]
3 | ... foo=bar;
4 | ... bazz=buzz quxx;
5 | basic: e=0 user=101
6 | ... [section]
7 | ... hello=world;
8 | ... forty_two=42;
9 | crlf: e=0 user=102
10 | ... [sec]
11 | ... foo=0123456789012;
12 | ... bar=4321;
13 | long line: e=3 user=103
14 | ... [sec]
15 | ... foo=0123456789012;
16 | ... bix=1234;
17 | long continued: e=0 user=104
18 | ... [s]
19 | ... a=1;
20 | ... c=3;
21 | error: e=3 user=105
22 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_multi.txt:
--------------------------------------------------------------------------------
1 | no_file.ini: e=-1 user=0
2 | ... [section1]
3 | ... one=This is a test;
4 | ... two=1234;
5 | ... [ section 2 ]
6 | ... happy=4;
7 | ... sad=;
8 | ... [comment_test]
9 | ... test1=1;2;3;
10 | ... test2=2;3;4;this won't be a comment, needs whitespace before ';';
11 | ... test;3=345;
12 | ... test4=4#5#6;
13 | ... test7=;
14 | ... test8=; not a comment, needs whitespace before ';';
15 | ... [colon_tests]
16 | ... Content-Type=text/html;
17 | ... foo=bar;
18 | ... adams=42;
19 | ... funny1=with = equals;
20 | ... funny2=with : colons;
21 | ... funny3=two = equals;
22 | ... funny4=two : colons;
23 | normal.ini: e=0 user=101
24 | ... [section1]
25 | ... name1=value1;
26 | ... name2=value2;
27 | bad_section.ini: e=3 user=102
28 | bad_comment.ini: e=1 user=102
29 | ... [section]
30 | ... a=b;
31 | ... user=parse_error;
32 | ... c=d;
33 | user_error.ini: e=3 user=104
34 | ... [section1]
35 | ... single1=abc;
36 | ... multi=this is a;
37 | ... multi=multi-line value;
38 | ... single2=xyz;
39 | ... [section2]
40 | ... multi=a;
41 | ... multi=b;
42 | ... multi=c;
43 | ... [section3]
44 | ... single=ghi;
45 | ... multi=the quick;
46 | ... multi=brown fox;
47 | ... name=bob smith;
48 | ... foo=bar;
49 | ... foo=Hi World;
50 | multi_line.ini: e=0 user=105
51 | bad_multi.ini: e=1 user=105
52 | ... [bom_section]
53 | ... bom_name=bom_value;
54 | ... key“=value“;
55 | bom.ini: e=0 user=107
56 | ... [section1]
57 | ... single1=abc;
58 | ... single2=xyz;
59 | ... single1=def;
60 | ... single2=qrs;
61 | duplicate_sections.ini: e=0 user=108
62 | ... [section0]
63 | ... key0=val0;
64 | ... [section1]
65 | ... key1=val1;
66 | no_value.ini: e=2 user=109
67 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_multi_max_line.txt:
--------------------------------------------------------------------------------
1 | no_file.ini: e=-1 user=0
2 | ... [section1]
3 | ... one=This is a test;
4 | ... two=1234;
5 | ... [ section 2 ]
6 | ... happy=4;
7 | ... sad=;
8 | ... [comment_test]
9 | ... test1=1;2;3;
10 | ... test2=2;3;4;this;
11 | ... test2=needs whitespace b;
12 | ... test;3=345;
13 | ... test4=4#5#6;
14 | ... test4=only starts a comm;
15 | ... test7=;
16 | ... test8=; not a comm;
17 | ... [colon_tests]
18 | ... Content-Type=text/;
19 | ... foo=bar;
20 | ... adams=42;
21 | ... funny1=with = equ;
22 | ... funny2=with : col;
23 | ... funny3=two = equa;
24 | ... funny4=two : colo;
25 | normal.ini: e=2 user=101
26 | ... [section1]
27 | ... name1=value1;
28 | ... name2=value2;
29 | bad_section.ini: e=3 user=102
30 | bad_comment.ini: e=1 user=102
31 | ... [section]
32 | ... a=b;
33 | ... user=parse_error;
34 | ... c=d;
35 | user_error.ini: e=3 user=104
36 | ... [section1]
37 | ... single1=abc;
38 | ... multi=this is a;
39 | ... multi=multi-line;
40 | ... single2=xyz;
41 | ... [section2]
42 | ... multi=a;
43 | ... multi=b;
44 | ... multi=c;
45 | ... [section3]
46 | ... single=ghi;
47 | ... multi=the quick;
48 | ... multi=brown fox;
49 | ... name=bob smith;
50 | ... name=comment line 1;
51 | ... name=comment line 2;
52 | ... foo=bar;
53 | ... foo=Hi World;
54 | multi_line.ini: e=5 user=105
55 | bad_multi.ini: e=1 user=105
56 | ... [bom_section]
57 | ... bom_name=bom_value;
58 | ... key“=value“;
59 | bom.ini: e=0 user=107
60 | ... [section1]
61 | ... single1=abc;
62 | ... single2=xyz;
63 | ... single1=def;
64 | ... single2=qrs;
65 | duplicate_sections.ini: e=0 user=108
66 | ... [section0]
67 | ... key0=val0;
68 | ... [section1]
69 | ... key1=val1;
70 | no_value.ini: e=2 user=109
71 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_single.txt:
--------------------------------------------------------------------------------
1 | no_file.ini: e=-1 user=0
2 | ... [section1]
3 | ... one=This is a test;
4 | ... two=1234;
5 | ... [ section 2 ]
6 | ... happy=4;
7 | ... sad=;
8 | ... [comment_test]
9 | ... test1=1;2;3;
10 | ... test2=2;3;4;this won't be a comment, needs whitespace before ';';
11 | ... test;3=345;
12 | ... test4=4#5#6;
13 | ... test7=;
14 | ... test8=; not a comment, needs whitespace before ';';
15 | ... [colon_tests]
16 | ... Content-Type=text/html;
17 | ... foo=bar;
18 | ... adams=42;
19 | ... funny1=with = equals;
20 | ... funny2=with : colons;
21 | ... funny3=two = equals;
22 | ... funny4=two : colons;
23 | normal.ini: e=0 user=101
24 | ... [section1]
25 | ... name1=value1;
26 | ... name2=value2;
27 | bad_section.ini: e=3 user=102
28 | bad_comment.ini: e=1 user=102
29 | ... [section]
30 | ... a=b;
31 | ... user=parse_error;
32 | ... c=d;
33 | user_error.ini: e=3 user=104
34 | ... [section1]
35 | ... single1=abc;
36 | ... multi=this is a;
37 | ... single2=xyz;
38 | ... [section2]
39 | ... multi=a;
40 | ... [section3]
41 | ... single=ghi;
42 | ... multi=the quick;
43 | ... name=bob smith;
44 | ... foo=bar;
45 | multi_line.ini: e=4 user=105
46 | bad_multi.ini: e=1 user=105
47 | ... [bom_section]
48 | ... bom_name=bom_value;
49 | ... key“=value“;
50 | bom.ini: e=0 user=107
51 | ... [section1]
52 | ... single1=abc;
53 | ... single2=xyz;
54 | ... single1=def;
55 | ... single2=qrs;
56 | duplicate_sections.ini: e=0 user=108
57 | ... [section0]
58 | ... key0=val0;
59 | ... [section1]
60 | ... key1=val1;
61 | no_value.ini: e=2 user=109
62 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_stop_on_first_error.txt:
--------------------------------------------------------------------------------
1 | no_file.ini: e=-1 user=0
2 | ... [section1]
3 | ... one=This is a test;
4 | ... two=1234;
5 | ... [ section 2 ]
6 | ... happy=4;
7 | ... sad=;
8 | ... [comment_test]
9 | ... test1=1;2;3;
10 | ... test2=2;3;4;this won't be a comment, needs whitespace before ';';
11 | ... test;3=345;
12 | ... test4=4#5#6;
13 | ... test7=;
14 | ... test8=; not a comment, needs whitespace before ';';
15 | ... [colon_tests]
16 | ... Content-Type=text/html;
17 | ... foo=bar;
18 | ... adams=42;
19 | ... funny1=with = equals;
20 | ... funny2=with : colons;
21 | ... funny3=two = equals;
22 | ... funny4=two : colons;
23 | normal.ini: e=0 user=101
24 | ... [section1]
25 | ... name1=value1;
26 | bad_section.ini: e=3 user=102
27 | bad_comment.ini: e=1 user=102
28 | ... [section]
29 | ... a=b;
30 | ... user=parse_error;
31 | user_error.ini: e=3 user=104
32 | ... [section1]
33 | ... single1=abc;
34 | ... multi=this is a;
35 | ... multi=multi-line value;
36 | ... single2=xyz;
37 | ... [section2]
38 | ... multi=a;
39 | ... multi=b;
40 | ... multi=c;
41 | ... [section3]
42 | ... single=ghi;
43 | ... multi=the quick;
44 | ... multi=brown fox;
45 | ... name=bob smith;
46 | ... foo=bar;
47 | ... foo=Hi World;
48 | multi_line.ini: e=0 user=105
49 | bad_multi.ini: e=1 user=105
50 | ... [bom_section]
51 | ... bom_name=bom_value;
52 | ... key“=value“;
53 | bom.ini: e=0 user=107
54 | ... [section1]
55 | ... single1=abc;
56 | ... single2=xyz;
57 | ... single1=def;
58 | ... single2=qrs;
59 | duplicate_sections.ini: e=0 user=108
60 | no_value.ini: e=2 user=108
61 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/baseline_string.txt:
--------------------------------------------------------------------------------
1 | empty string: e=0 user=0
2 | ... [section]
3 | ... foo=bar;
4 | ... bazz=buzz quxx;
5 | basic: e=0 user=101
6 | ... [section]
7 | ... hello=world;
8 | ... forty_two=42;
9 | crlf: e=0 user=102
10 | ... [sec]
11 | ... foo=0123456789012;
12 | ... bar=4321;
13 | long line: e=3 user=103
14 | ... [sec]
15 | ... foo=0123456789012;
16 | ... bix=1234;
17 | long continued: e=0 user=104
18 | ... [s]
19 | ... a=1;
20 | ... c=3;
21 | error: e=3 user=105
22 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/bom.ini:
--------------------------------------------------------------------------------
1 | [bom_section]
2 | bom_name=bom_value
3 | key“ = value“
4 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/duplicate_sections.ini:
--------------------------------------------------------------------------------
1 | [section1]
2 | single1 = abc
3 | single2 = xyz
4 | [section1]
5 | single1 = def
6 | single2 = qrs
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/multi_line.ini:
--------------------------------------------------------------------------------
1 | [section1]
2 | single1 = abc
3 | multi = this is a
4 | multi-line value
5 | single2 = xyz
6 | [section2]
7 | multi = a
8 | b
9 | c
10 | [section3]
11 | single: ghi
12 | multi: the quick
13 | brown fox
14 | name = bob smith ; comment line 1
15 | ; comment line 2
16 | foo = bar ;c1
17 | Hi World ;c2
18 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/no_value.ini:
--------------------------------------------------------------------------------
1 | [section_list]
2 | section0
3 | section1
4 |
5 | [section0]
6 | key0=val0
7 |
8 | [section1]
9 | key1=val1
10 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/normal.ini:
--------------------------------------------------------------------------------
1 | ; This is an INI file
2 | [section1] ; section comment
3 | one=This is a test ; name=value comment
4 | two = 1234
5 | ; x=y
6 |
7 | [ section 2 ]
8 | happy = 4
9 | sad =
10 |
11 | [empty]
12 | ; do nothing
13 |
14 | [comment_test]
15 | test1 = 1;2;3 ; only this will be a comment
16 | test2 = 2;3;4;this won't be a comment, needs whitespace before ';'
17 | test;3 = 345 ; key should be "test;3"
18 | test4 = 4#5#6 ; '#' only starts a comment at start of line
19 | #test5 = 567 ; entire line commented
20 | # test6 = 678 ; entire line commented, except in MULTILINE mode
21 | test7 = ; blank value, except if inline comments disabled
22 | test8 =; not a comment, needs whitespace before ';'
23 |
24 | [colon_tests]
25 | Content-Type: text/html
26 | foo:bar
27 | adams : 42
28 | funny1 : with = equals
29 | funny2 = with : colons
30 | funny3 = two = equals
31 | funny4 : two : colons
32 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/unittest.bat:
--------------------------------------------------------------------------------
1 | @call tcc ..\ini.c -I..\ -run unittest.c > baseline_multi.txt
2 | @call tcc ..\ini.c -I..\ -DINI_MAX_LINE=20 -run unittest.c > baseline_multi_max_line.txt
3 | @call tcc ..\ini.c -I..\ -DINI_ALLOW_MULTILINE=0 -run unittest.c > baseline_single.txt
4 | @call tcc ..\ini.c -I..\ -DINI_ALLOW_INLINE_COMMENTS=0 -run unittest.c > baseline_disallow_inline_comments.txt
5 | @call tcc ..\ini.c -I..\ -DINI_STOP_ON_FIRST_ERROR=1 -run unittest.c > baseline_stop_on_first_error.txt
6 | @call tcc ..\ini.c -I..\ -DINI_HANDLER_LINENO=1 -run unittest.c > baseline_handler_lineno.txt
7 | @call tcc ..\ini.c -I..\ -DINI_USE_STACK=0 -run unittest.c > baseline_heap.txt
8 | @call tcc ..\ini.c -I..\ -DINI_USE_STACK=0 -DINI_MAX_LINE=20 -DINI_INITIAL_ALLOC=20 -run unittest.c > baseline_heap_max_line.txt
9 | @call tcc ..\ini.c -I..\ -DINI_USE_STACK=0 -DINI_ALLOW_REALLOC=1 -DINI_INITIAL_ALLOC=5 -run unittest.c > baseline_heap_realloc.txt
10 | @call tcc ..\ini.c -I..\ -DINI_USE_STACK=0 -DINI_MAX_LINE=20 -DINI_ALLOW_REALLOC=1 -DINI_INITIAL_ALLOC=5 -run unittest.c > baseline_heap_realloc_max_line.txt
11 | @call tcc ..\ini.c -I..\ -DINI_USE_STACK=0 -DINI_MAX_LINE=20 -DINI_INITIAL_ALLOC=20 -run unittest.c > baseline_heap_string.txt
12 | @call tcc ..\ini.c -I..\ -DINI_CALL_HANDLER_ON_NEW_SECTION=1 -run unittest.c > baseline_call_handler_on_new_section.txt
13 | @call tcc ..\ini.c -I..\ -DINI_ALLOW_NO_VALUE=1 -run unittest.c > baseline_allow_no_value.txt
14 | @call tcc ..\ini.c -I..\ -DINI_CUSTOM_ALLOCATOR=1 -DINI_USE_STACK=0 -DINI_ALLOW_REALLOC=1 -DINI_INITIAL_ALLOC=12 -run unittest_alloc.c > baseline_alloc.txt
15 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/unittest_alloc.c:
--------------------------------------------------------------------------------
1 | /* inih -- unit tests for custom memory allocator */
2 |
3 | #include
4 | #include
5 | #include
6 | #include "../ini.h"
7 |
8 | void* ini_malloc(size_t size) {
9 | printf("ini_malloc(%d)\n", (int)size);
10 | return malloc(size);
11 | }
12 |
13 | void ini_free(void* ptr) {
14 | printf("ini_free()\n");
15 | free(ptr);
16 | }
17 |
18 | void* ini_realloc(void* ptr, size_t size) {
19 | printf("ini_realloc(%d)\n", (int)size);
20 | return realloc(ptr, size);
21 | }
22 |
23 | char Prev_section[50];
24 |
25 | int dumper(void* user, const char* section, const char* name,
26 | const char* value)
27 | {
28 | if (strcmp(section, Prev_section)) {
29 | printf("... [%s]\n", section);
30 | strncpy(Prev_section, section, sizeof(Prev_section));
31 | Prev_section[sizeof(Prev_section) - 1] = '\0';
32 | }
33 | printf("... %s=%s;\n", name, value);
34 | return 1;
35 | }
36 |
37 | void parse(const char* name, const char* string) {
38 | int e;
39 |
40 | *Prev_section = '\0';
41 | e = ini_parse_string(string, dumper, NULL);
42 | printf("%s: e=%d\n", name, e);
43 | }
44 |
45 | int main(void)
46 | {
47 | parse("basic", "[section]\nfoo = bar\nbazz = buzz quxx");
48 | return 0;
49 | }
50 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/unittest_string.c:
--------------------------------------------------------------------------------
1 | /* inih -- unit tests for ini_parse_string() */
2 |
3 | #include
4 | #include
5 | #include
6 | #include "../ini.h"
7 |
8 | int User;
9 | char Prev_section[50];
10 |
11 | int dumper(void* user, const char* section, const char* name,
12 | const char* value)
13 | {
14 | User = *((int*)user);
15 | if (strcmp(section, Prev_section)) {
16 | printf("... [%s]\n", section);
17 | strncpy(Prev_section, section, sizeof(Prev_section));
18 | Prev_section[sizeof(Prev_section) - 1] = '\0';
19 | }
20 | printf("... %s=%s;\n", name, value);
21 | return 1;
22 | }
23 |
24 | void parse(const char* name, const char* string) {
25 | static int u = 100;
26 | int e;
27 |
28 | *Prev_section = '\0';
29 | e = ini_parse_string(string, dumper, &u);
30 | printf("%s: e=%d user=%d\n", name, e, User);
31 | u++;
32 | }
33 |
34 | int main(void)
35 | {
36 | parse("empty string", "");
37 | parse("basic", "[section]\nfoo = bar\nbazz = buzz quxx");
38 | parse("crlf", "[section]\r\nhello = world\r\nforty_two = 42\r\n");
39 | parse("long line", "[sec]\nfoo = 01234567890123456789\nbar=4321\n");
40 | parse("long continued", "[sec]\nfoo = 0123456789012bix=1234\n");
41 | parse("error", "[s]\na=1\nb\nc=3");
42 | return 0;
43 | }
44 |
--------------------------------------------------------------------------------
/cfgmgr/inih/tests/user_error.ini:
--------------------------------------------------------------------------------
1 | [section]
2 | a = b
3 | user = parse_error
4 | c = d
5 |
--------------------------------------------------------------------------------
/common/common.depend:
--------------------------------------------------------------------------------
1 | # depslib dependency file v1.0
2 |
--------------------------------------------------------------------------------
/common/common.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Resource Files
20 |
21 |
22 | Resource Files
23 |
24 |
25 | Resource Files
26 |
27 |
28 | Resource Files
29 |
30 |
31 | Header Files
32 |
33 |
34 | Resource Files
35 |
36 |
37 | Resource Files
38 |
39 |
40 | Resource Files
41 |
42 |
43 | Resource Files
44 |
45 |
46 |
47 |
48 | Header Files
49 |
50 |
51 | Header Files
52 |
53 |
54 |
--------------------------------------------------------------------------------
/common/dxgl.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/common/dxgl.ico
--------------------------------------------------------------------------------
/common/dxgl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/common/dxgl.png
--------------------------------------------------------------------------------
/common/dxgl48.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/common/dxgl48.ico
--------------------------------------------------------------------------------
/common/dxglinv.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/common/dxglinv.bmp
--------------------------------------------------------------------------------
/common/dxglinv64.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/common/dxglinv64.bmp
--------------------------------------------------------------------------------
/common/dxglsm.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/common/dxglsm.ico
--------------------------------------------------------------------------------
/common/releasever.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #ifndef __VERSION_H
3 | #define __VERSION_H
4 |
5 | /* Removed due to transition to Git - Git tags will set the version number
6 | #define DXGLMAJORVER 0
7 | #define DXGLMINORVER 5
8 | #define DXGLPOINTVER 23
9 | #define DXGLBETA 0
10 |
11 |
12 | #define STR2(x) #x
13 | #define STR(x) STR2(x)
14 |
15 | #define DXGLSTRVER STR(DXGLMAJORVER) "." STR(DXGLMINORVER) "." STR(DXGLPOINTVER)
16 | */
17 |
18 | /* sign modes
19 | 0 - never sign
20 | 1 - sign non-beta only
21 | 2 - sign release only
22 | 3 - sign all */
23 | #define SIGNMODE 0
24 |
25 | #endif //__VERSION_H
26 |
--------------------------------------------------------------------------------
/common/rev.in:
--------------------------------------------------------------------------------
1 | $WCREV$
--------------------------------------------------------------------------------
/common/star.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/common/star.ico
--------------------------------------------------------------------------------
/common/version.h.in:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #ifndef __VERSION_H
3 | #define __VERSION_H
4 |
5 | #define DXGLMAJOR $MAJOR
6 | #define DXGLMINOR $MINOR
7 | #define DXGLPOINT $POINT
8 | #define DXGLBUILD $BUILD
9 | #define DXGLBRANCH $BRANCH
10 | #define DXGLREVISION $REVISION
11 | #define DXGLBETA
12 |
13 | #define DXGLVERNUMBER DXGLMAJOR,DXGLMINOR,DXGLPOINT,DXGLBUILD
14 | #define DXGLVERQWORD (((unsigned __int64)DXGLMAJOR<<48)+((unsigned __int64)DXGLMINOR<<32)+((unsigned __int64)DXGLPOINT<<16)+(unsigned __int64)DXGLBUILD)
15 | #define DXGLVERSTRING $VERSTRING
16 |
17 | #define COPYYEAR 2024
18 | #define COPYYEARSTRING "2024"
19 |
20 | #define SHADER2DVERSION 1
21 | #define SHADER3DVERSION 1
22 |
23 | #endif //__VERSION_H
24 |
--------------------------------------------------------------------------------
/common/version.nsh.in:
--------------------------------------------------------------------------------
1 | !define PRODUCT_VERSION $PRODUCTVERSTRING
2 | !define PRODUCT_VERSION_NUMBER $PRODUCTVERNUMBER
3 | !define COMPILER $COMPILERTYPE
4 | !define SIGNTOOL $SIGNTOOL
5 | ;!define _BETA
6 | ;!define _DEBUG
7 | ;!define _CPU_X64
--------------------------------------------------------------------------------
/common/x16.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/common/x16.ico
--------------------------------------------------------------------------------
/ddraw/BufferObject.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2015-2016 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY W ARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #pragma once
19 | #ifndef __PBO_H
20 | #define __PBO_H
21 |
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | struct glUtil;
27 |
28 | void BufferObject_Create(BufferObject **out, glExtensions *ext, struct glUtil *util);
29 | void BufferObject_AddRef(BufferObject *This);
30 | void BufferObject_Release(BufferObject *This);
31 | void BufferObject_SetData(BufferObject *This, GLenum target, GLsizeiptr size, GLvoid *data, GLenum usage);
32 | void BufferObject_Bind(BufferObject *This, GLenum target);
33 | void BufferObject_Unbind(BufferObject *This, GLenum target);
34 | void *BufferObject_Map(BufferObject *This, GLenum target, GLenum access);
35 | GLboolean BufferObject_Unmap(BufferObject *This, GLenum target);
36 |
37 | #ifdef __cplusplus
38 | }
39 | #endif
40 |
41 |
42 | #endif //__PBO_H
--------------------------------------------------------------------------------
/ddraw/DXGLRenderer.c:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2022 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #include "common.h"
19 | #include "DXGLQueue.h"
20 | #include "DXGLRenderer.h"
21 | #include "DXGLRendererGL.h"
22 |
23 |
24 | HRESULT CreateDXGLRenderer(GUID* guid, LPDXGLRENDERER* out)
25 | {
26 | IDXGLRendererGL *glrenderer;
27 | HRESULT error;
28 | error = DXGLRendererGL_Create(guid, (LPDXGLRENDERERGL*)&glrenderer);
29 | if (FAILED(error)) return error;
30 | *out = (LPDXGLRENDERER)glrenderer;
31 | return error;
32 | }
--------------------------------------------------------------------------------
/ddraw/ShaderManager.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2011-2016 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #pragma once
19 | #ifndef __SHADERMANAGER_H
20 | #define __SHADERMANAGER_H
21 |
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | extern const SHADER shader_template[];
27 |
28 | #define PROG_TEXTURE 0
29 | #define PROG_PAL256 1
30 | #define PROG_CLIPSTENCIL 2
31 |
32 | struct TEXTURESTAGE;
33 | struct ShaderGen3D;
34 |
35 | void ShaderManager_Init(glExtensions *glext, ShaderManager *shaderman);
36 | void ShaderManager_Delete(ShaderManager *This);
37 | void ShaderManager_SetShader(ShaderManager *This, __int64 id, __int64 *texstate, int type);
38 |
39 | #ifdef __cplusplus
40 | }
41 | #endif
42 |
43 | #endif //__SHADERMANAGER_H
44 |
--------------------------------------------------------------------------------
/ddraw/const.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2016-2017 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #pragma once
19 | #ifndef __CONST_H
20 | #define __CONST_H
21 |
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | #define RENDERSTATE_COUNT 153
27 |
28 | extern const RECT nullrect;
29 | extern const DWORD valid_rop_codes[256];
30 | extern const DWORD rop_texture_usage[256];
31 | extern const DWORD supported_rops[8];
32 | extern const DWORD supported_rops_gl2[8];
33 |
34 | #ifdef _M_X64
35 | #define _PTR_MASK 0xFFFFFFFFFFFFFFFFui64
36 | #else
37 | #define _PTR_MASK 0xFFFFFFFF
38 | #endif
39 | #ifdef __cplusplus
40 | }
41 | #endif
42 |
43 | #endif //__CONST_H
--------------------------------------------------------------------------------
/ddraw/ddraw.def:
--------------------------------------------------------------------------------
1 | ; DXGL
2 | ; Copyright (C) 2011-2016 William Feely
3 |
4 | ; This library is free software; you can redistribute it and/or
5 | ; modify it under the terms of the GNU Lesser General Public
6 | ; License as published by the Free Software Foundation; either
7 | ; version 2.1 of the License, or (at your option) any later version.
8 |
9 | ; This library is distributed in the hope that it will be useful,
10 | ; but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | ; Lesser General Public License for more details.
13 |
14 | ; You should have received a copy of the GNU Lesser General Public
15 | ; License along with this library; if not, write to the Free Software
16 | ; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | LIBRARY "ddraw"
19 | EXPORTS
20 | AcquireDDThreadLock
21 | CompleteCreateSystemSurface
22 | D3DParseUnknownCommand
23 | DDGetAttachedSurfaceLcl
24 | DDInternalLock
25 | DDInternalUnlock
26 | DSoundHelp
27 | DirectDrawCreate
28 | DirectDrawCreateClipper
29 | DirectDrawCreateEx
30 | DirectDrawEnumerateA
31 | DirectDrawEnumerateExA
32 | DirectDrawEnumerateExW
33 | DirectDrawEnumerateW
34 | DllCanUnloadNow PRIVATE
35 | DllGetClassObject PRIVATE
36 | GetDDSurfaceLocal
37 | GetOLEThunkData
38 | GetSurfaceFromDC=GlobalGetSurfaceFromDC
39 | RegisterSpecialCase
40 | ReleaseDDThreadLock
41 | SetAppCompatData
42 | IsDXGLDDraw
43 | DXGLBreak
--------------------------------------------------------------------------------
/ddraw/ddraw.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/ddraw/ddraw.rc
--------------------------------------------------------------------------------
/ddraw/dxguid.c:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2011 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #define INITGUID
19 | #include
20 | #include "include/ddraw.h"
21 | #include "include/d3d.h"
--------------------------------------------------------------------------------
/ddraw/fourcc.c:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2018-2019 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #include
19 | #include
20 | #include "fourcc.h"
21 |
22 | static const int START_FOURCC = __LINE__;
23 | const DWORD dxglfourcc[] =
24 | {
25 | MAKEFOURCC('U','Y','V','Y'),
26 | MAKEFOURCC('U','Y','N','V'),
27 | MAKEFOURCC('Y','4','2','2'),
28 | MAKEFOURCC('Y','U','Y','2'),
29 | MAKEFOURCC('Y','U','Y','V'),
30 | MAKEFOURCC('Y','U','N','V'),
31 | MAKEFOURCC('Y','V','Y','U'),
32 | MAKEFOURCC('A','Y','U','V'),
33 | MAKEFOURCC('Y','8',' ',' '),
34 | MAKEFOURCC('Y','8','0','0'),
35 | MAKEFOURCC('G','R','E','Y'),
36 | MAKEFOURCC('Y','1','6',' '),
37 | MAKEFOURCC('R','G','B','G'),
38 | MAKEFOURCC('G','R','G','B')
39 | };
40 | static const int END_FOURCC = __LINE__ - 4;
41 |
42 | int GetNumFOURCC()
43 | {
44 | return END_FOURCC - START_FOURCC;
45 | }
--------------------------------------------------------------------------------
/ddraw/fourcc.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2018 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #pragma once
19 | #ifndef __FOURCC_H
20 | #define __FOURCC_H
21 |
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | extern const DWORD dxglfourcc[];
27 | int GetNumFOURCC();
28 |
29 | #ifdef __cplusplus
30 | }
31 | #endif
32 |
33 | #endif //__FOURCC_H
--------------------------------------------------------------------------------
/ddraw/glExtensions.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2011-2016 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #pragma once
19 | #ifndef _GLEXTENSIONS_H
20 | #define _GLEXTENSIONS_H
21 |
22 | #ifndef GL_DEPTH_BUFFER
23 | #define GL_DEPTH_BUFFER 0x8223
24 | #endif
25 | #ifndef GL_STENCIL_BUFFER
26 | #define GL_STENCIL_BUFFER 0x8224
27 | #endif
28 |
29 | #define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047
30 | #define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049
31 | #define GL_RGB565 0x8D62
32 |
33 | #ifdef __cplusplus
34 | extern "C" {
35 | #endif
36 |
37 | void glExtensions_Init(glExtensions *ext, HDC hdc, BOOL core);
38 |
39 | #ifdef __cplusplus
40 | }
41 | #endif
42 |
43 | #endif //_GLEXTENSIONS_H
44 |
--------------------------------------------------------------------------------
/ddraw/glRenderWindow.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2012-2021 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #pragma once
19 | #ifndef _GLRENDERWINDOW_H
20 | #define _GLRENDERWINDOW_H
21 |
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | LRESULT CALLBACK RenderWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
27 |
28 | struct glDirectDraw7;
29 |
30 | void WaitForObjectAndMessages(HANDLE object);
31 |
32 | typedef struct glRenderWindow
33 | {
34 | HWND hWnd;
35 | HWND hParentWnd;
36 | HANDLE hThread;
37 | HANDLE ReadyEvent;
38 | int width;
39 | int height;
40 | BOOL fullscreen;
41 | BOOL dead;
42 | BOOL device;
43 | glDirectDraw7 *ddInterface;
44 | } glRenderWindow;
45 |
46 | HRESULT glRenderWindow_Create(int width, int height, BOOL fullscreen,
47 | HWND parent, glDirectDraw7 *glDD7, BOOL devwnd, glRenderWindow **renderwnd);
48 | void glRenderWindow_Delete(glRenderWindow *This);
49 | //void glRenderWindow_resize(glRenderWindow *This, int width, int height);
50 | LRESULT glRenderWindow_WndProc(glRenderWindow *This, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
51 | DWORD WINAPI glRenderWindow_ThreadEntry(void *entry);
52 | DWORD glRenderWindow__Entry(glRenderWindow *This);
53 |
54 | #ifdef __cplusplus
55 | }
56 | #endif
57 |
58 | #endif //_GLRENDERWINDOW_H
59 |
--------------------------------------------------------------------------------
/ddraw/include/winedef.h:
--------------------------------------------------------------------------------
1 | /**
2 | * This file has no copyright assigned and is placed in the Public Domain.
3 | * This file is part of the w64 mingw-runtime package.
4 | * No warranty is given; refer to the file DISCLAIMER within this package.
5 | */
6 |
7 | #pragma once
8 | #ifndef _WINEDEF_H
9 | #define _WINEDEF_H
10 | #ifndef DUMMYUNIONNAME1
11 | #define DUMMYUNIONNAME1 // fix MSVC
12 | #endif //DUMMYUNIONNAME1
13 | #ifndef DUMMYUNIONNAME
14 | # ifdef NONAMELESSUNION
15 | # define DUMMYUNIONNAME u
16 | # define DUMMYUNIONNAME1 u1
17 | # define DUMMYUNIONNAME2 u2
18 | # define DUMMYUNIONNAME3 u3
19 | # define DUMMYUNIONNAME4 u4
20 | # define DUMMYUNIONNAME5 u5
21 | # else /* NONAMELESSUNION */
22 | # define DUMMYUNIONNAME
23 | # define DUMMYUNIONNAME1
24 | # define DUMMYUNIONNAME2
25 | # define DUMMYUNIONNAME3
26 | # define DUMMYUNIONNAME4
27 | # define DUMMYUNIONNAME5
28 | # endif
29 | #endif /* DUMMYUNIONNAME */
30 |
31 | #ifndef DUMMYSTRUCTNAME
32 | # ifdef NONAMELESSSTRUCT
33 | # define DUMMYSTRUCTNAME s
34 | # else
35 | # define DUMMYSTRUCTNAME
36 | # endif
37 | #endif
38 |
39 |
40 | /* These are for compatibility with the Wine source tree */
41 |
42 | #ifndef WINELIB_NAME_AW
43 | # ifdef __MINGW_NAME_AW
44 | # define WINELIB_NAME_AW __MINGW_NAME_AW
45 | # else
46 | # ifdef UNICODE
47 | # define WINELIB_NAME_AW(func) func##W
48 | # else
49 | # define WINELIB_NAME_AW(func) func##A
50 | # endif
51 | # endif
52 | #endif /* WINELIB_NAME_AW */
53 |
54 | #ifndef DECL_WINELIB_TYPE_AW
55 | # ifdef __MINGW_TYPEDEF_AW
56 | # define DECL_WINELIB_TYPE_AW __MINGW_TYPEDEF_AW
57 | # else
58 | # define DECL_WINELIB_TYPE_AW(type) typedef WINELIB_NAME_AW(type) type;
59 | # endif
60 | #endif /* DECL_WINELIB_TYPE_AW */
61 |
62 | #ifndef __MSABI_LONG
63 | # if defined(_MSC_VER) || defined(__MINGW32__) || defined(__CYGWIN__)
64 | # define __MSABI_LONG(x) x ## l
65 | # else
66 | # define __MSABI_LONG(x) x
67 | # endif
68 | #endif
69 |
70 | #endif //_WINEDEF_H
71 |
--------------------------------------------------------------------------------
/ddraw/precomp.cpp:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2011 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #include "common.h"
--------------------------------------------------------------------------------
/ddraw/resource.h:
--------------------------------------------------------------------------------
1 | #ifndef IDC_STATIC
2 | #define IDC_STATIC (-1)
3 | #endif
4 |
5 | #define IDI_ICON1 100
6 | #define IDD_COMPAT 101
7 |
--------------------------------------------------------------------------------
/ddraw/scalers.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2011-2014 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #pragma once
19 | #ifndef _SCALERS_H
20 | #define _SCALERS_H
21 |
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | void ScaleNearest8(void *dest, void *src, int dw, int dh, int sw, int sh, int inpitch, int outpitch);
27 | void ScaleNearest16(void *dest, void *src, int dw, int dh, int sw, int sh, int inpitch, int outpitch);
28 | void ScaleNearest24(void *dest, void *src, int dw, int dh, int sw, int sh, int inpitch, int outpitch);
29 | void ScaleNearest32(void *dest, void *src, int dw, int dh, int sw, int sh, int inpitch, int outpitch);
30 |
31 | #ifdef __cplusplus
32 | }
33 | #endif
34 |
35 | #endif //_SCALERS_H
36 |
--------------------------------------------------------------------------------
/ddraw/string.c:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2014 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #include "common.h"
19 | #include "string.h"
20 |
21 | void String_Append(STRING *str, const char *str2)
22 | {
23 | if (!str->ptr)
24 | {
25 | str->ptr = malloc(strlen(str2)+129);
26 | str->size = strlen(str2)+128;
27 | strcpy(str->ptr, str2);
28 | return;
29 | }
30 | else
31 | {
32 | if (str->size < strlen(str->ptr) + strlen(str2))
33 | {
34 | str->ptr = realloc(str->ptr, str->size + strlen(str2)+129);
35 | str->size += strlen(str2) + 128;
36 | }
37 | strcat(str->ptr, str2);
38 | }
39 | }
40 | void String_Assign(STRING *str, const char *str2)
41 | {
42 | if (!str->ptr)
43 | {
44 | str->ptr = malloc(strlen(str2) + 129);
45 | str->size = strlen(str2) + 128;
46 | strcpy(str->ptr, str2);
47 | return;
48 | }
49 | else
50 | {
51 | if (str->size > strlen(str2))
52 | {
53 | str->ptr = realloc(str->ptr, strlen(str2) + 129);
54 | str->size = strlen(str2) + 128;
55 | }
56 | strcpy(str->ptr, str2);
57 | }
58 | }
59 |
60 | void String_Free(STRING *str)
61 | {
62 | if (str->ptr)
63 | {
64 | free(str->ptr);
65 | ZeroMemory(str, sizeof(STRING));
66 | }
67 | }
--------------------------------------------------------------------------------
/ddraw/string.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2014 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #pragma once
19 | #ifndef _DXGL_STRING_H
20 | #define _DXGL_STRING_H
21 |
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | typedef struct STRING
27 | {
28 | char *ptr;
29 | size_t size;
30 | }STRING;
31 |
32 | void String_Append(STRING *str, const char *str2);
33 | void String_Assign(STRING *str, const char *str2);
34 | void String_Free(STRING *str);
35 |
36 | #ifdef __cplusplus
37 | }
38 | #endif
39 |
40 | #endif //_DXGL_STRING_H
41 |
--------------------------------------------------------------------------------
/ddraw/timer.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2013-2014 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #pragma once
19 | #ifndef _DXGLTIMER_H
20 | #define _DXGLTIMER_H
21 |
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | void DXGLTimer_Init(DXGLTimer *timer);
27 | void DXGLTimer_Calibrate(DXGLTimer *timer, unsigned int lines, unsigned int frequency);
28 | unsigned int DXGLTimer_GetScanLine(DXGLTimer *timer);
29 | void DXGLTimer_SetLastDraw(DXGLTimer *timer);
30 | BOOL DXGLTimer_CheckLastDraw(DXGLTimer *timer, DWORD ms);
31 |
32 | #ifdef __cplusplus
33 | }
34 | #endif
35 |
36 |
37 | #endif //_DXGLTIMER_H
38 |
--------------------------------------------------------------------------------
/ddraw/util.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2013-2019 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #pragma once
19 | #ifndef _DXGLUTIL_H
20 | #define _DXGLUTIL_H
21 |
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | char IsReadablePointer(void *ptr, LONG_PTR size);
27 | char IsWritablePointer(void *ptr, LONG_PTR size, BOOL preserve);
28 | void AndMem(void *dest, const void *a, const void *b, size_t size);
29 | BOOL comp_bltfx(DDBLTFX *a, DDBLTFX *b, DWORD flags);
30 | BOOL IsAlphaCKey();
31 |
32 | extern WNDCLASSEX wndclassdxgltemp;
33 | extern ATOM wndclassdxgltempatom;
34 |
35 | void RegisterDXGLTempWindowClass();
36 | void UnregisterDXGLTempWindowClass();
37 |
38 | int DivCeiling(int dividend, int divisor);
39 |
40 | void EnterSpinlock(DWORD *lock);
41 | void ExitSpinlock(DWORD *lock);
42 |
43 | #ifdef __cplusplus
44 | }
45 | #endif
46 |
47 | #endif //_DXGLUITIL_H
48 |
--------------------------------------------------------------------------------
/dxgl-nsis/dxgl-nsis.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 | Source Files
23 |
24 |
25 | Source Files
26 |
27 |
28 |
29 |
30 | Header Files
31 |
32 |
33 | Header Files
34 |
35 |
36 | Header Files
37 |
38 |
39 | Header Files
40 |
41 |
42 |
--------------------------------------------------------------------------------
/dxgl.workspace:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/dxglcfg-old/dxglcfg-old.depend:
--------------------------------------------------------------------------------
1 | # depslib dependency file v1.0
2 | 1324232573 source:c:\programming\projects\dxgl\dxglcfg-old\dxglcfg-old.rc
3 |
4 |
5 |
6 | "resource.h"
7 | "../common/version.h"
8 |
9 | 1324232573 c:\programming\projects\dxgl\dxglcfg-old\resource.h
10 |
11 | 1324232573 c:\programming\projects\dxgl\common\version.h
12 |
13 | 1324750330 source:c:\programming\projects\dxgl\dxglcfg-old\dxglcfg-old.cpp
14 |
15 |
16 |
17 |
18 |
19 |
20 | "resource.h"
21 | "../cfgmgr/cfgmgr.h"
22 |
23 |
24 |
25 | 1324232573 c:\programming\projects\dxgl\cfgmgr\cfgmgr.h
26 |
27 |
--------------------------------------------------------------------------------
/dxglcfg-old/dxglcfg-old.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/dxglcfg-old/dxglcfg-old.rc
--------------------------------------------------------------------------------
/dxglcfg-old/dxglcfg-old.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Resource Files
20 |
21 |
22 |
23 |
24 | Header Files
25 |
26 |
27 |
28 |
29 | Resource Files
30 |
31 |
32 |
33 |
34 | Source Files
35 |
36 |
37 |
--------------------------------------------------------------------------------
/dxglcfg-old/xp.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 | DXGL Configuration Program
10 |
11 |
12 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 | true/pm
34 |
35 |
36 |
--------------------------------------------------------------------------------
/dxglcfg/dxglcfg.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/dxglcfg/dxglcfg.cpp
--------------------------------------------------------------------------------
/dxglcfg/dxglcfg.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dxgldotorg/dxgl/321fee08b8ffa4ce3a1c2feafc4ad1a7020703b3/dxglcfg/dxglcfg.rc
--------------------------------------------------------------------------------
/dxglcfg/dxgltest.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2011 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #pragma once
19 |
20 | #include "resource.h"
21 |
22 | void ResetModeList(HWND hWnd);
23 | INT_PTR CALLBACK TestTabCallback(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
24 | INT_PTR CALLBACK AboutTabCallback(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
25 |
--------------------------------------------------------------------------------
/dxglcfg/dxguid.cpp:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2011 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #define INITGUID
19 | #include
20 | #include "../ddraw/include/ddraw.h"
21 | #include "../ddraw/include/d3d.h"
--------------------------------------------------------------------------------
/dxglcfg/misc.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2011 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #pragma once
19 | #ifndef _MISC_H
20 | #define _MISC_H
21 |
22 | inline unsigned int rand32(unsigned int &n)
23 | {
24 | return n=(((unsigned int) 1103515245 * n) + (unsigned int) 12345) %
25 | (unsigned int) 0xFFFFFFFF;
26 | }
27 |
28 | inline float randfloat(float multiple)
29 | {
30 | return ((float)rand() / (float)RAND_MAX)*multiple;
31 | }
32 |
33 | #endif //_MISC_H
--------------------------------------------------------------------------------
/dxglcfg/palette.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2011-2019 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | extern const unsigned char DefaultPalette1[8];
19 | extern const unsigned char DefaultPalette2[16];
20 | extern const unsigned char DefaultPalette4[64];
21 | extern const unsigned char DefaultPalette8[1024];
22 |
--------------------------------------------------------------------------------
/dxglcfg/precomp.cpp:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2011 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #include "common.h"
--------------------------------------------------------------------------------
/dxglcfg/tests.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2011-2020 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #pragma once
19 | #ifndef _TESTS_H
20 | #define _TESTS_H
21 |
22 | typedef struct
23 | {
24 | MultiDirectDrawSurface *surface;
25 | IDirectDrawPalette *palette;
26 | DDSURFACEDESC2 ddsd;
27 | float width;
28 | float height;
29 | float x;
30 | float y;
31 | float xvelocity;
32 | float yvelocity;
33 | DWORD bltflags;
34 | RECT rect;
35 | DDBLTFX bltfx;
36 | } DDSPRITE;
37 |
38 | void RunDXGLTest(int testnum, int width, int height, int bpp, int refresh, int backbuffers, int apiver,
39 | int filter, int msaa, double fps, bool fullscreen, bool resizable, BOOL is3d, BOOL softd3d, HWND parent);
40 |
41 | #endif //_TESTS_H
42 |
--------------------------------------------------------------------------------
/dxglcfg/timer.h:
--------------------------------------------------------------------------------
1 | // DXGL
2 | // Copyright (C) 2011 William Feely
3 |
4 | // This library is free software; you can redistribute it and/or
5 | // modify it under the terms of the GNU Lesser General Public
6 | // License as published by the Free Software Foundation; either
7 | // version 2.1 of the License, or (at your option) any later version.
8 |
9 | // This library is distributed in the hope that it will be useful,
10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 | // Lesser General Public License for more details.
13 |
14 | // You should have received a copy of the GNU Lesser General Public
15 | // License along with this library; if not, write to the Free Software
16 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 |
18 | #pragma once
19 | #ifndef _TIMER_H
20 | #define _TIMER_H
21 |
22 |
23 | extern bool stoptimer;
24 | void StartTimer(HWND hWnd, UINT message, double framerate);
25 | void StopTimer();
26 |
27 | #endif //_TIMER_H
--------------------------------------------------------------------------------
/dxglcfg/xp.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 | DXGL Configuration Program
10 |
11 |
12 |
20 |
21 |
22 |
23 |
24 |
25 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/minhook/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig is awesome: http://EditorConfig.org
2 |
3 | # top-most EditorConfig file
4 | root = true
5 |
6 | # Windows-style newlines with a newline ending every file
7 | [*]
8 | end_of_line = crlf
9 | insert_final_newline = true
10 |
11 | # 4 space indentation
12 | [*.{c,h,def}]
13 | indent_style = space
14 | indent_size = 4
15 |
16 | # Trim trailing whitespaces
17 | [*.{c,h,def,txt}]
18 | trim_trailing_whitespace = true
19 |
20 | # UTF-8 with BOM
21 | [*.{c,h,def,txt}]
22 | charset=utf-8-bom
23 |
24 | # C/C++ code formatting
25 | [*.{c,h}]
26 | cpp_space_pointer_reference_alignment = right
27 |
--------------------------------------------------------------------------------
/minhook/.gitignore:
--------------------------------------------------------------------------------
1 | #OS junk files
2 | [Tt]humbs.db
3 | *.DS_Store
4 |
5 | #Visual Studio files
6 | *.[Oo]bj
7 | *.user
8 | *.aps
9 | *.pch
10 | *.vspscc
11 | *.vssscc
12 | *_i.c
13 | *_p.c
14 | *.ncb
15 | *.suo
16 | *.tlb
17 | *.tlh
18 | *.bak
19 | *.[Cc]ache
20 | *.ilk
21 | *.log
22 | *.sbr
23 | *.sdf
24 | *.opensdf
25 | *.unsuccessfulbuild
26 | ipch/
27 | obj/
28 | [Ll]ib
29 | [Bb]in
30 | [Dd]ebug*/
31 | [Rr]elease*/
32 | Ankh.NoLoad
33 | *.VC.db
34 | .vs/
35 |
36 | #GCC files
37 | *.o
38 | *.d
39 | *.res
40 | *.dll
41 | *.a
42 |
43 | #Visual Studio Code files
44 | .vscode/
45 |
--------------------------------------------------------------------------------
/minhook/AUTHORS.txt:
--------------------------------------------------------------------------------
1 | Tsuda Kageyu
2 | Creator, maintainer
3 |
4 | Michael Maltsev
5 | Added "Queue" functions. A lot of bug fixes.
6 |
7 | Andrey Unis
8 | Rewrote the hook engine in plain C.
9 |
--------------------------------------------------------------------------------
/minhook/build/DXGL/libMinHook.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Source Files
6 |
7 |
8 | Source Files
9 |
10 |
11 | Source Files
12 |
13 |
14 | HDE
15 |
16 |
17 | HDE
18 |
19 |
20 |
21 |
22 | Header Files
23 |
24 |
25 | Header Files
26 |
27 |
28 |
29 | HDE
30 |
31 |
32 | HDE
33 |
34 |
35 | HDE
36 |
37 |
38 | HDE
39 |
40 |
41 | HDE
42 |
43 |
44 |
45 |
46 | {9d24b740-be2e-4cfd-b9a4-340a50946ee9}
47 |
48 |
49 | {76381bc7-2863-4cc5-aede-926ec2c506e4}
50 |
51 |
52 | {56ddb326-6179-430d-ae19-e13bfd767bfa}
53 |
54 |
55 |
--------------------------------------------------------------------------------
/minhook/build/MinGW/Makefile:
--------------------------------------------------------------------------------
1 | WINDRES:=$(CROSS_PREFIX)windres
2 | DLLTOOL:=$(CROSS_PREFIX)dlltool
3 | AR:=$(CROSS_PREFIX)ar
4 | CC:=$(CROSS_PREFIX)gcc
5 | CCLD:=$(CC)
6 | SRCS:=$(wildcard src/*.c src/hde/*.c)
7 | OBJS:=$(SRCS:%.c=%.o)
8 | DEPS:=$(SRCS:%.c=%.d)
9 | INCS:=-Isrc -Iinclude
10 | CFLAGS:=-masm=intel -Wall -Werror -std=c11
11 | LDFLAGS:=-Wl,-enable-stdcall-fixup -s -static-libgcc
12 |
13 | all: MinHook.dll libMinHook.dll.a libMinHook.a
14 |
15 | -include $(DEPS)
16 |
17 | libMinHook.a: $(OBJS)
18 | $(AR) r $@ $^
19 | libMinHook.dll.a: MinHook.dll dll_resources/MinHook.def
20 | $(DLLTOOL) --dllname MinHook.dll --input-def dll_resources/MinHook.def --output-lib $@
21 | MinHook.dll: $(OBJS) dll_resources/MinHook.res dll_resources/MinHook.def
22 | $(CCLD) -o $@ -shared $(LDFLAGS) $^
23 |
24 | .rc.res:
25 | $(WINDRES) -o $@ --input-format=rc --output-format=coff $<
26 | .c.o:
27 | $(CC) -o $@ -c -MMD -MP $(INCS) $(CFLAGS) $<
28 |
29 | clean:
30 | rm -f $(OBJS) $(DEPS) MinHook.dll libMinHook.dll.a libMinHook.a dll_resources/MinHook.res
31 |
32 | .PHONY: clean
33 | .SUFFIXES: .rc .res
34 |
--------------------------------------------------------------------------------
/minhook/build/MinGW/make.bat:
--------------------------------------------------------------------------------
1 | windres -i ../../dll_resources/MinHook.rc -o MinHook_rc.o && dllwrap --driver-name g++ -o MinHook.dll -masm=intel --def ../../dll_resources/MinHook.def -Wl,-enable-stdcall-fixup -Wall MinHook_rc.o ../../src/*.c ../../src/HDE/*.c -I../../include -I../../src -Werror -std=c++11 -s -static-libgcc -static-libstdc++|| pause
--------------------------------------------------------------------------------
/minhook/build/MinGW/make.sh:
--------------------------------------------------------------------------------
1 | x86_64-w64-mingw32-windres -i ../../dll_resources/MinHook.rc -o MinHook_rc.o &&
2 | x86_64-w64-mingw32-dllwrap -o MinHook.dll -masm=intel --def ../../dll_resources/MinHook.def -Wl,-enable-stdcall-fixup -Wall MinHook_rc.o ../../src/*.c ../../src/hde/*.c -I../../include -I../../src -Werror -s -static-libgcc -static-libstdc++
3 |
--------------------------------------------------------------------------------
/minhook/build/VC10/libMinHook.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Source Files
6 |
7 |
8 | Source Files
9 |
10 |
11 | Source Files
12 |
13 |
14 | HDE
15 |
16 |
17 | HDE
18 |
19 |
20 |
21 |
22 | Header Files
23 |
24 |
25 | Header Files
26 |
27 |
28 |
29 | HDE
30 |
31 |
32 | HDE
33 |
34 |
35 | HDE
36 |
37 |
38 | HDE
39 |
40 |
41 | HDE
42 |
43 |
44 |
45 |
46 | {9d24b740-be2e-4cfd-b9a4-340a50946ee9}
47 |
48 |
49 | {76381bc7-2863-4cc5-aede-926ec2c506e4}
50 |
51 |
52 | {56ddb326-6179-430d-ae19-e13bfd767bfa}
53 |
54 |
55 |
--------------------------------------------------------------------------------
/minhook/build/VC11/libMinHook.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Source Files
6 |
7 |
8 | Source Files
9 |
10 |
11 | Source Files
12 |
13 |
14 | HDE
15 |
16 |
17 | HDE
18 |
19 |
20 |
21 |
22 | Header Files
23 |
24 |
25 | Header Files
26 |
27 |
28 |
29 | HDE
30 |
31 |
32 | HDE
33 |
34 |
35 | HDE
36 |
37 |
38 | HDE
39 |
40 |
41 | HDE
42 |
43 |
44 |
45 |
46 | {9d24b740-be2e-4cfd-b9a4-340a50946ee9}
47 |
48 |
49 | {76381bc7-2863-4cc5-aede-926ec2c506e4}
50 |
51 |
52 | {56ddb326-6179-430d-ae19-e13bfd767bfa}
53 |
54 |
55 |
--------------------------------------------------------------------------------
/minhook/build/VC12/libMinHook.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Source Files
6 |
7 |
8 | Source Files
9 |
10 |
11 | Source Files
12 |
13 |
14 | HDE
15 |
16 |
17 | HDE
18 |
19 |
20 |
21 |
22 | Header Files
23 |
24 |
25 | Header Files
26 |
27 |
28 |
29 | HDE
30 |
31 |
32 | HDE
33 |
34 |
35 | HDE
36 |
37 |
38 | HDE
39 |
40 |
41 | HDE
42 |
43 |
44 |
45 |
46 | {9d24b740-be2e-4cfd-b9a4-340a50946ee9}
47 |
48 |
49 | {76381bc7-2863-4cc5-aede-926ec2c506e4}
50 |
51 |
52 | {56ddb326-6179-430d-ae19-e13bfd767bfa}
53 |
54 |
55 |
--------------------------------------------------------------------------------
/minhook/build/VC14/libMinHook.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Source Files
6 |
7 |
8 | Source Files
9 |
10 |
11 | Source Files
12 |
13 |
14 | HDE
15 |
16 |
17 | HDE
18 |
19 |
20 |
21 |
22 | Header Files
23 |
24 |
25 | Header Files
26 |
27 |
28 |
29 | HDE
30 |
31 |
32 | HDE
33 |
34 |
35 | HDE
36 |
37 |
38 | HDE
39 |
40 |
41 | HDE
42 |
43 |
44 |
45 |
46 | {9d24b740-be2e-4cfd-b9a4-340a50946ee9}
47 |
48 |
49 | {76381bc7-2863-4cc5-aede-926ec2c506e4}
50 |
51 |
52 | {56ddb326-6179-430d-ae19-e13bfd767bfa}
53 |
54 |
55 |
--------------------------------------------------------------------------------
/minhook/build/VC15/libMinHook.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Source Files
6 |
7 |
8 | Source Files
9 |
10 |
11 | Source Files
12 |
13 |
14 | HDE
15 |
16 |
17 | HDE
18 |
19 |
20 |
21 |
22 | Header Files
23 |
24 |
25 | Header Files
26 |
27 |
28 |
29 | HDE
30 |
31 |
32 | HDE
33 |
34 |
35 | HDE
36 |
37 |
38 | HDE
39 |
40 |
41 | HDE
42 |
43 |
44 |
45 |
46 | {9d24b740-be2e-4cfd-b9a4-340a50946ee9}
47 |
48 |
49 | {76381bc7-2863-4cc5-aede-926ec2c506e4}
50 |
51 |
52 | {56ddb326-6179-430d-ae19-e13bfd767bfa}
53 |
54 |
55 |
--------------------------------------------------------------------------------
/minhook/build/VC16/libMinHook.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Source Files
6 |
7 |
8 | Source Files
9 |
10 |
11 | Source Files
12 |
13 |
14 | HDE
15 |
16 |
17 | HDE
18 |
19 |
20 |
21 |
22 | Header Files
23 |
24 |
25 | Header Files
26 |
27 |
28 |
29 | HDE
30 |
31 |
32 | HDE
33 |
34 |
35 | HDE
36 |
37 |
38 | HDE
39 |
40 |
41 | HDE
42 |
43 |
44 |
45 |
46 | {9d24b740-be2e-4cfd-b9a4-340a50946ee9}
47 |
48 |
49 | {76381bc7-2863-4cc5-aede-926ec2c506e4}
50 |
51 |
52 | {56ddb326-6179-430d-ae19-e13bfd767bfa}
53 |
54 |
55 |
--------------------------------------------------------------------------------
/minhook/build/VC17/libMinHook.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Source Files
6 |
7 |
8 | Source Files
9 |
10 |
11 | Source Files
12 |
13 |
14 | HDE
15 |
16 |
17 | HDE
18 |
19 |
20 |
21 |
22 | Header Files
23 |
24 |
25 | Header Files
26 |
27 |
28 |
29 | HDE
30 |
31 |
32 | HDE
33 |
34 |
35 | HDE
36 |
37 |
38 | HDE
39 |
40 |
41 | HDE
42 |
43 |
44 |
45 |
46 | {9d24b740-be2e-4cfd-b9a4-340a50946ee9}
47 |
48 |
49 | {76381bc7-2863-4cc5-aede-926ec2c506e4}
50 |
51 |
52 | {56ddb326-6179-430d-ae19-e13bfd767bfa}
53 |
54 |
55 |
--------------------------------------------------------------------------------
/minhook/cmake/minhook-config.cmake.in:
--------------------------------------------------------------------------------
1 | # MinHook - The Minimalistic API Hooking Library for x64/x86
2 | # Copyright (C) 2009-2017 Tsuda Kageyu.
3 | # All rights reserved.
4 | #
5 | # Redistribution and use in source and binary forms, with or without
6 | # modification, are permitted provided that the following conditions
7 | # are met:
8 | #
9 | # 1. Redistributions of source code must retain the above copyright
10 | # notice, this list of conditions and the following disclaimer.
11 | # 2. Redistributions in binary form must reproduce the above copyright
12 | # notice, this list of conditions and the following disclaimer in the
13 | # documentation and/or other materials provided with the distribution.
14 | #
15 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17 | # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
18 | # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER
19 | # OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
22 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23 | # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
24 | # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 | # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 |
27 | set(MINHOOK_MAJOR_VERSION "@MINHOOK_MAJOR_VERSION@")
28 | set(MINHOOK_MINOR_VERSION "@MINHOOK_MINOR_VERSION@")
29 | set(MINHOOK_PATCH_VERSION "@MINHOOK_PATCH_VERSION@")
30 | set(MINHOOK_VERSION "@MINHOOK_VERSION@")
31 |
32 | @PACKAGE_INIT@
33 |
34 | set(MINHOOK_FOUND ON)
35 |
36 | set_and_check(MINHOOK_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/include/")
37 | set_and_check(MINHOOK_LIBRARY_DIRS "${PACKAGE_PREFIX_DIR}/lib")
38 |
39 | include("${PACKAGE_PREFIX_DIR}/share/minhook/minhook-targets.cmake")
40 |
--------------------------------------------------------------------------------
/minhook/dll_resources/MinHook.def:
--------------------------------------------------------------------------------
1 | EXPORTS
2 | MH_Initialize
3 | MH_Uninitialize
4 |
5 | MH_CreateHook
6 | MH_CreateHookApi
7 | MH_CreateHookApiEx
8 | MH_RemoveHook
9 | MH_EnableHook
10 | MH_DisableHook
11 | MH_QueueEnableHook
12 | MH_QueueDisableHook
13 | MH_ApplyQueued
14 | MH_StatusToString
15 |
--------------------------------------------------------------------------------
/minhook/dll_resources/MinHook.rc:
--------------------------------------------------------------------------------
1 | 1 VERSIONINFO
2 | FILEVERSION 1,3,4,0
3 | PRODUCTVERSION 1,3,4,0
4 | FILEFLAGSMASK 0x17L
5 | #ifdef _DEBUG
6 | FILEFLAGS 0x1L
7 | #else
8 | FILEFLAGS 0x0L
9 | #endif
10 | FILEOS 0x4L
11 | FILETYPE 0x2L
12 | FILESUBTYPE 0x0L
13 | BEGIN
14 | BLOCK "StringFileInfo"
15 | BEGIN
16 | BLOCK "040904b0"
17 | BEGIN
18 | VALUE "CompanyName", "Tsuda Kageyu"
19 | VALUE "FileDescription", "MinHook - The Minimalistic API Hook Library for x64/x86"
20 | VALUE "FileVersion", "1.3.4.0"
21 | VALUE "InternalName", "MinHookD"
22 | VALUE "LegalCopyright", "Copyright (C) 2009-2017 Tsuda Kageyu. All rights reserved."
23 | VALUE "LegalTrademarks", "Tsuda Kageyu"
24 | VALUE "ProductName", "MinHook DLL"
25 | VALUE "ProductVersion", "1.3.4.0"
26 | END
27 | END
28 | BLOCK "VarFileInfo"
29 | BEGIN
30 | VALUE "Translation", 0x409, 1200
31 | END
32 | END
33 |
--------------------------------------------------------------------------------
/minhook/src/buffer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * MinHook - The Minimalistic API Hooking Library for x64/x86
3 | * Copyright (C) 2009-2017 Tsuda Kageyu.
4 | * All rights reserved.
5 | *
6 | * Redistribution and use in source and binary forms, with or without
7 | * modification, are permitted provided that the following conditions
8 | * are met:
9 | *
10 | * 1. Redistributions of source code must retain the above copyright
11 | * notice, this list of conditions and the following disclaimer.
12 | * 2. Redistributions in binary form must reproduce the above copyright
13 | * notice, this list of conditions and the following disclaimer in the
14 | * documentation and/or other materials provided with the distribution.
15 | *
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18 | * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
19 | * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER
20 | * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 |
29 | #pragma once
30 |
31 | // Size of each memory slot.
32 | #if defined(_M_X64) || defined(__x86_64__)
33 | #define MEMORY_SLOT_SIZE 64
34 | #else
35 | #define MEMORY_SLOT_SIZE 32
36 | #endif
37 |
38 | VOID InitializeBuffer(VOID);
39 | VOID UninitializeBuffer(VOID);
40 | LPVOID AllocateBuffer(LPVOID pOrigin);
41 | VOID FreeBuffer(LPVOID pBuffer);
42 | BOOL IsExecutableAddress(LPVOID pAddress);
43 |
--------------------------------------------------------------------------------
/minhook/src/hde/pstdint.h:
--------------------------------------------------------------------------------
1 | /*
2 | * MinHook - The Minimalistic API Hooking Library for x64/x86
3 | * Copyright (C) 2009-2017 Tsuda Kageyu. All rights reserved.
4 | *
5 | * Redistribution and use in source and binary forms, with or without
6 | * modification, are permitted provided that the following conditions
7 | * are met:
8 | *
9 | * 1. Redistributions of source code must retain the above copyright
10 | * notice, this list of conditions and the following disclaimer.
11 | * 2. Redistributions in binary form must reproduce the above copyright
12 | * notice, this list of conditions and the following disclaimer in the
13 | * documentation and/or other materials provided with the distribution.
14 | *
15 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
16 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 | */
26 |
27 | #pragma once
28 |
29 | #include
30 |
31 | // Integer types for HDE.
32 | typedef INT8 int8_t;
33 | typedef INT16 int16_t;
34 | typedef INT32 int32_t;
35 | typedef INT64 int64_t;
36 | typedef UINT8 uint8_t;
37 | typedef UINT16 uint16_t;
38 | typedef UINT32 uint32_t;
39 | typedef UINT64 uint64_t;
40 |
--------------------------------------------------------------------------------
/patches/readme.txt:
--------------------------------------------------------------------------------
1 | These files have already been merged into DXGL, but are provided for reference purposes.
2 |
3 | SetCursorPos hack.patch - Copyright (C) 2018 Syahmi Azhar - Merged manually against revision 799.
--------------------------------------------------------------------------------