dxstdafx.h
上传用户:junlon
上传日期:2022-01-05
资源大小:39075k
文件大小:4k
源码类别:

DirextX编程

开发平台:

Visual C++

  1. //--------------------------------------------------------------------------------------
  2. // File: DxStdAfx.h
  3. //
  4. // Desc: Standard includes and precompiled headers for DXUT
  5. //
  6. // Copyright (c) Microsoft Corporation. All rights reserved.
  7. //--------------------------------------------------------------------------------------
  8. #pragma once
  9. #ifndef DXSDK_STDAFX_H
  10. #define DXSDK_STDAFX_H
  11. #ifndef STRICT
  12. #define STRICT
  13. #endif
  14. // If app hasn't choosen, set to work with Windows 98, Windows Me, Windows 2000, Windows XP and beyond
  15. #ifndef WINVER
  16. #define WINVER         0x0410
  17. #endif
  18. #ifndef _WIN32_WINDOWS
  19. #define _WIN32_WINDOWS 0x0410 
  20. #endif
  21. #ifndef _WIN32_WINNT
  22. #define _WIN32_WINNT   0x0500 
  23. #endif
  24. // #define DXUT_AUTOLIB to automatically include the libs needed for DXUT 
  25. #ifdef DXUT_AUTOLIB
  26. #pragma comment( lib, "dxerr.lib" )
  27. #pragma comment( lib, "dxguid.lib" )
  28. #if defined(DEBUG) || defined(_DEBUG)
  29. #pragma comment( lib, "d3dx9d.lib" )
  30. #else
  31. #pragma comment( lib, "d3dx9.lib" )
  32. #endif
  33. #pragma comment( lib, "d3d9.lib" )
  34. #pragma comment( lib, "winmm.lib" )
  35. #pragma comment( lib, "comctl32.lib" )
  36. #endif
  37. #pragma warning( disable : 4100 ) // disable unreference formal parameter warnings for /W4 builds
  38. //#include <afx.h>
  39. //#include <afxwin.h>         // MFC 核心组件和标准组件
  40. //#include <afxext.h>         // MFC 扩展
  41. //#include <afxdtctl.h> // MFC 对 Internet Explorer 4 公共控件的支持
  42. #include <windows.h>
  43. #include <assert.h>
  44. #include <wchar.h>
  45. #include <mmsystem.h>
  46. #include <commctrl.h> // for InitCommonControls() 
  47. #include <shellapi.h> // for ExtractIcon()
  48. #include <new.h>      // for placement new
  49. #include <math.h>      
  50. #include <limits.h>      
  51. #include <stdio.h>
  52. #include <XInput.h> // Header for XInput APIs
  53. // CRT's memory leak detection
  54. #if defined(DEBUG) || defined(_DEBUG)
  55. #include <crtdbg.h>
  56. #endif
  57. // Enable extra D3D debugging in debug builds if using the debug DirectX runtime.  
  58. // This makes D3D objects work well in the debugger watch window, but slows down 
  59. // performance slightly.
  60. #if defined(DEBUG) || defined(_DEBUG)
  61. #ifndef D3D_DEBUG_INFO
  62. #define D3D_DEBUG_INFO
  63. #endif
  64. #endif
  65. // Direct3D includes
  66. #include <d3d9.h>
  67. #include <d3dx9.h>
  68. #include <dxerr.h>
  69. // DirectSound includes
  70. #include <mmsystem.h>
  71. #include <mmreg.h>
  72. #include <dsound.h>
  73. // strsafe.h deprecates old unsecure string functions.  If you 
  74. // really do not want to it to (not recommended), then uncomment the next line 
  75. //#define STRSAFE_NO_DEPRECATE
  76. #ifndef STRSAFE_NO_DEPRECATE
  77. #pragma deprecated("strncpy")
  78. #pragma deprecated("wcsncpy")
  79. #pragma deprecated("_tcsncpy")
  80. #pragma deprecated("wcsncat")
  81. #pragma deprecated("strncat")
  82. #pragma deprecated("_tcsncat")
  83. #endif
  84. #pragma warning( disable : 4996 ) // disable deprecated warning 
  85. #include <strsafe.h>
  86. #pragma warning( default : 4996 ) 
  87. #include "DXUT.h"
  88. #include "DXUTmisc.h"
  89. #include "DXUTenum.h"
  90. #include "DXUTmesh.h"
  91. #include "DXUTMesh.h"
  92. #include "DXUTgui.h"
  93. #include "DXUTsettingsDlg.h"
  94. #include "DXUTSound.h"
  95. #include "DXUTRes.h"
  96. #if defined(DEBUG) || defined(_DEBUG)
  97. #ifndef V
  98. #define V(x)           { hr = x; if( FAILED(hr) ) { DXUTTrace( __FILE__, (DWORD)__LINE__, hr, L#x, true ); } }
  99. #endif
  100. #ifndef V_RETURN
  101. #define V_RETURN(x)    { hr = x; if( FAILED(hr) ) { return DXUTTrace( __FILE__, (DWORD)__LINE__, hr, L#x, true ); } }
  102. #endif
  103. #else
  104. #ifndef V
  105. #define V(x)           { hr = x; }
  106. #endif
  107. #ifndef V_RETURN
  108. #define V_RETURN(x)    { hr = x; if( FAILED(hr) ) { return hr; } }
  109. #endif
  110. #endif
  111. #ifndef SAFE_DELETE
  112. #define SAFE_DELETE(p)       { if(p) { delete (p);     (p)=NULL; } }
  113. #endif    
  114. #ifndef SAFE_DELETE_ARRAY
  115. #define SAFE_DELETE_ARRAY(p) { if(p) { delete[] (p);   (p)=NULL; } }
  116. #endif    
  117. #ifndef SAFE_RELEASE
  118. #define SAFE_RELEASE(p)      { if(p) { (p)->Release(); (p)=NULL; } }
  119. #endif
  120. #endif // !defined(DXSDK_STDAFX_H)