mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -04:00
Fixes from Mike Christel to work with the latest Direct X SDK
This commit is contained in:
parent
eaa2b052cb
commit
d427b8559f
@ -762,24 +762,30 @@ def SdkLocateDirectX():
|
|||||||
if (sys.platform != "win32"): return
|
if (sys.platform != "win32"): return
|
||||||
if (os.path.isdir("sdks/directx8")): SDK["DX8"]="sdks/directx8"
|
if (os.path.isdir("sdks/directx8")): SDK["DX8"]="sdks/directx8"
|
||||||
if (os.path.isdir("sdks/directx9")): SDK["DX9"]="sdks/directx9"
|
if (os.path.isdir("sdks/directx9")): SDK["DX9"]="sdks/directx9"
|
||||||
uninstaller = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall";
|
if (SDK.has_key("DX9")==0):
|
||||||
for subdir in ListRegistryKeys(uninstaller):
|
## Try to locate the key within the "new" March 2009 location in the registry (yecch):
|
||||||
if (subdir[0]=="{"):
|
dir = GetRegistryKey("SOFTWARE\\Microsoft\\DirectX\\Microsoft DirectX SDK (March 2009)", "InstallPath")
|
||||||
dir = GetRegistryKey(uninstaller+"\\"+subdir, "InstallLocation")
|
if (dir != 0):
|
||||||
if (dir != 0):
|
SDK["DX9"] = dir.replace("\\", "/").rstrip("/")
|
||||||
if ((SDK.has_key("DX8")==0) and
|
if (SDK.has_key("DX9")==0 or SDK.has_key("DX8")==0):
|
||||||
(os.path.isfile(dir+"\\Include\\d3d8.h")) and
|
uninstaller = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall";
|
||||||
(os.path.isfile(dir+"\\Include\\d3dx8.h")) and
|
for subdir in ListRegistryKeys(uninstaller):
|
||||||
(os.path.isfile(dir+"\\Lib\\d3d8.lib")) and
|
if (subdir[0]=="{"):
|
||||||
(os.path.isfile(dir+"\\Lib\\d3dx8.lib"))):
|
dir = GetRegistryKey(uninstaller+"\\"+subdir, "InstallLocation")
|
||||||
SDK["DX8"] = dir.replace("\\", "/").rstrip("/")
|
if (dir != 0):
|
||||||
if ((SDK.has_key("DX9")==0) and
|
if ((SDK.has_key("DX8")==0) and
|
||||||
(os.path.isfile(dir+"\\Include\\d3d9.h")) and
|
(os.path.isfile(dir+"\\Include\\d3d8.h")) and
|
||||||
(os.path.isfile(dir+"\\Include\\d3dx9.h")) and
|
(os.path.isfile(dir+"\\Include\\d3dx8.h")) and
|
||||||
(os.path.isfile(dir+"\\Include\\dxsdkver.h")) and
|
(os.path.isfile(dir+"\\Lib\\d3d8.lib")) and
|
||||||
(os.path.isfile(dir+"\\Lib\\x86\\d3d9.lib")) and
|
(os.path.isfile(dir+"\\Lib\\d3dx8.lib"))):
|
||||||
(os.path.isfile(dir+"\\Lib\\x86\\d3dx9.lib"))):
|
SDK["DX8"] = dir.replace("\\", "/").rstrip("/")
|
||||||
SDK["DX9"] = dir.replace("\\", "/").rstrip("/")
|
if ((SDK.has_key("DX9")==0) and
|
||||||
|
(os.path.isfile(dir+"\\Include\\d3d9.h")) and
|
||||||
|
(os.path.isfile(dir+"\\Include\\d3dx9.h")) and
|
||||||
|
(os.path.isfile(dir+"\\Include\\dxsdkver.h")) and
|
||||||
|
(os.path.isfile(dir+"\\Lib\\x86\\d3d9.lib")) and
|
||||||
|
(os.path.isfile(dir+"\\Lib\\x86\\d3dx9.lib"))):
|
||||||
|
SDK["DX9"] = dir.replace("\\", "/").rstrip("/")
|
||||||
if (SDK.has_key("DX9")):
|
if (SDK.has_key("DX9")):
|
||||||
SDK["DIRECTCAM"] = SDK["DX9"]
|
SDK["DIRECTCAM"] = SDK["DX9"]
|
||||||
|
|
||||||
|
@ -60,6 +60,17 @@
|
|||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
|
||||||
|
// NOTE: there is a problem with dxtrans.h missing from newer Microsoft DirectX SDKs (including March 2009)
|
||||||
|
// See "dxtrans.h missing in Microsoft DirectX SDK" at
|
||||||
|
// http://social.msdn.microsoft.com/forums/en-US/windowssdk/thread/ed097d2c-3d68-4f48-8448-277eaaf68252/ for example.
|
||||||
|
// This header file is referenced only by qedit.h and not needed.
|
||||||
|
// Solution: add this pragma and these 4 defines before the qedit.h inclusion:
|
||||||
|
#pragma include_alias( "dxtrans.h", "qedit.h" )
|
||||||
|
#define __IDxtCompositor_INTERFACE_DEFINED__
|
||||||
|
#define __IDxtAlphaSetter_INTERFACE_DEFINED__
|
||||||
|
#define __IDxtJpeg_INTERFACE_DEFINED_
|
||||||
|
#define __IDxtKey_INTERFACE_DEFINED__
|
||||||
#include <qedit.h>
|
#include <qedit.h>
|
||||||
#include <atlbase.h>
|
#include <atlbase.h>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user