/*=========================================================================== * * D3DCom.H - Dave Humphrey (uesp@m0use.net), 30 October 2000 * *=========================================================================*/ #ifndef __D3DCOM_H #define __D3DCOM_H #define D3D_OVERLOADS /* Required Includes */ #include <windows.h> #include <direct.h> #include <d3drmwin.h> #include "d3drmobj.h" #include "genutil.h" /*=========================================================================== * * Begin Defines * *=========================================================================*/ /* Defines what we should query for when creating D3D/DD objects */ #define DIRECT3D_CLASS_OBJECT 2 #define DIRECTDRAW_CLASS_OBJECT 1 /*=========================================================================== * End of Defines *=========================================================================*/ /*=========================================================================== * * Begin Type Definitions * *=========================================================================*/ /* Define the default D3DRM types */ typedef interface IDirect3DRM2 CDirect3D, *pCDirect3D, **ppCDirect3D; typedef interface IDirectDraw CDirectDraw, *pCDirectDraw, **ppCDirectDraw; typedef interface IDirectDraw2 CDirectDraw2, *pCDirectDraw2, **ppCDirectDraw2; typedef interface IDirectDrawClipper CDDClipper, *pCDDClipper, **ppCDDClipper; typedef interface IDirect3DRMFrame2 CD3DFrame, *pCD3DFrame, **ppCD3DFrame; typedef interface IDirect3DRMFrameArray CD3DFrameArray, *pCD3DFrameArray, **ppCD3DFrameArray; typedef interface IDirect3DRMDevice2 CD3DDevice, *pCD3DDevice, **ppCD3DDevice; typedef interface IDirect3DRMViewport CD3DView, *pCD3DView, **ppCD3DView; typedef interface IDirectDrawSurface CDDSurface, *pCDDSurface, **ppCDDSurface; typedef interface IDirect3DRMFace CD3DFace, *pCD3DFace, **ppCD3DFace; typedef interface IDirect3DRMFaceArray CD3DFaceArray, *pCD3DFaceArray, **ppCD3DFaceArray; typedef interface IDirect3DRMVisual CD3DVisual, *pCD3DVisual, **ppCD3DVisual; typedef interface IDirect3DRMPickedArray CD3DPickedArray, *pCD3DPickedArray, **ppCD3DPickedArray; typedef interface IDirect3DRMPicked2Array CD3DPickedArray2, *pCD3DPickedArray2, **ppCD3DPickedArray2; typedef interface IDirect3DRMMeshBuilder2 CD3DMeshBuilder, *pCD3DMeshBuilder, **ppCD3DMeshBuilder; typedef interface IDirect3DRMMesh CD3DMesh, *pCD3DMesh, **ppCD3DMesh; typedef interface IDirect3DRMWinDevice CD3DWinDevice, *pCD3DWinDevice, **ppCD3DWinDevice; typedef interface IDirect3DRMTexture2 CD3DTexture, *pCD3DTexture, **ppCD3DTexture; typedef interface IDirect3DRMLight CD3DLight, *pCD3DLight, **ppCD3DLight; typedef interface IDirect3DRMWrap CD3DWrap, *pCD3DWrap, **ppCD3DWrap; typedef interface IDirect3DRMMaterial CD3DMaterial, *pCD3DMaterial, **ppCD3DMaterial; typedef interface IDirectDrawPalette CDDPalette, *pCDDPalette, **ppCDDPalette; typedef interface IDirect3DRMObject CD3DObject, *pCD3DObject, **ppCD3DObject; typedef D3DVALUE d3dvalue_t; typedef D3DVECTOR d3dvector_t; typedef D3DCOLOR d3dcolor_t; typedef D3DRMRENDERQUALITY d3drenderq_t; typedef D3DRMTEXTUREQUALITY d3dtextureq_t; typedef D3DRMFILLMODE d3dfillmode_t; typedef DDSCAPS ddscaps_t; typedef DDSURFACEDESC ddsdesc_t; typedef D3DRMPICKDESC d3dpickdesc_t; typedef D3DRMPICKDESC2 d3dpickdesc2_t; typedef D3DRMRAY d3dray_t; typedef D3DRMFILLMODE d3dfillmode_t; typedef D3DRMFOGMODE d3dfogmode_t; typedef D3DRMPALETTEENTRY d3dpalentry_t; typedef PALETTEENTRY ddpalentry_t; typedef D3DRMIMAGE d3dimage_t; typedef D3DRMBOX d3dbox_t; /*=========================================================================== * End of Type Definitions *=========================================================================*/ /*=========================================================================== * * Begin Function Definitions * *=========================================================================*/ /* Create DirectDraw and Direct3D objects of the required type */ boolean CreateDirectDrawObject (ppCDirectDraw ppDirectDraw); boolean CreateDirect3DObject (ppCDirect3D ppDirect3D); /* Convert a Direct3D/DirectDraw result code to a string */ char* D3DRMErrorToString (HRESULT error); /* Standard message box function */ void __cdecl D3DMessage (HWND hWindow, const char* pTitle, char* pString, ...); /* Get/set the current D3DRM objects */ CDirect3D* GetD3DRM (void); void SetD3DRM (CDirect3D* pObject); /* Get/set the current DD objects */ CDirectDraw* GetDD (void); void SetDD (CDirectDraw* pObject); /*=========================================================================== * End of Function Definitions *=========================================================================*/ #endif /*=========================================================================== * End of File D3DCom.H *=========================================================================*/