165 lines
5.7 KiB
Plaintext
165 lines
5.7 KiB
Plaintext
/*==========================================================================;
|
|
*
|
|
* Copyright (C) 1995-1996 Microsoft Corporation. All Rights Reserved.
|
|
*
|
|
* File: d3drm.h
|
|
* Content: Direct3DRM include file
|
|
*@@BEGIN_MSINTERNAL
|
|
*
|
|
* History:
|
|
* Date By Reason
|
|
* ==== == ======
|
|
* 27/02/96 stevela Moved from RL to D3DRM.
|
|
*@@END_MSINTERNAL
|
|
*
|
|
***************************************************************************/
|
|
|
|
#ifndef __D3DRM_H__
|
|
#define __D3DRM_H__
|
|
|
|
//@@BEGIN_MSINTERNAL
|
|
#include "d3prmobj.h"
|
|
#if 0
|
|
//@@END_MSINTERNAL
|
|
#include "d3drmobj.h"
|
|
//@@BEGIN_MSINTERNAL
|
|
#endif
|
|
//@@END_MSINTERNAL
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
struct IDirect3DRM;
|
|
#endif
|
|
|
|
//@@BEGIN_MSINTERNAL
|
|
typedef void (*D3DRMERRORHANDLER)(HRESULT error, void *arg);
|
|
#ifdef BUILD_RLAPI
|
|
typedef D3DRMERRORHANDLER RLErrorHandler;
|
|
#endif
|
|
//@@END_MSINTERNAL
|
|
|
|
typedef void (*D3DRMDEVICEPALETTECALLBACK)
|
|
(LPDIRECT3DRMDEVICE lpDirect3DRMDev, LPVOID lpArg, DWORD dwIndex, LONG red, LONG green, LONG blue);
|
|
//@@BEGIN_MSINTERNAL
|
|
#ifdef BUILD_RLAPI
|
|
typedef D3DRMDEVICEPALETTECALLBACK RLDevicePaletteCallback;
|
|
#endif
|
|
//@@END_MSINTERNAL
|
|
|
|
DEFINE_GUID(IID_IDirect3DRM, 0x2bc49361, 0x8327, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
|
|
WIN_TYPES(IDirect3DRM, DIRECT3DRM);
|
|
|
|
//@@BEGIN_MSINTERNAL
|
|
/* Set the Reality Lab memory allocators */
|
|
STDAPI IDirect3DRMSetAllocator(D3DRMMALLOCFUNCTION, D3DRMREALLOCFUNCTION, D3DRMFREEFUNCTION);
|
|
STDAPI IDirect3DRMGetAllocator(LPD3DRMMALLOCFUNCTION, LPD3DRMREALLOCFUNCTION, LPD3DRMFREEFUNCTION);
|
|
//@@END_MSINTERNAL
|
|
|
|
/* Create a Direct3DRM API */
|
|
STDAPI Direct3DRMCreate(LPDIRECT3DRM FAR *lplpDirect3DRM);
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirect3DRM
|
|
|
|
DECLARE_INTERFACE_(IDirect3DRM, IUnknown)
|
|
{
|
|
IUNKNOWN_METHODS(PURE);
|
|
|
|
STDMETHOD(CreateObject)
|
|
(THIS_ REFCLSID rclsid, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID FAR* ppv) PURE;
|
|
STDMETHOD(CreateFrame) (THIS_ LPDIRECT3DRMFRAME, LPDIRECT3DRMFRAME *) PURE;
|
|
STDMETHOD(CreateMesh) (THIS_ LPDIRECT3DRMMESH *) PURE;
|
|
STDMETHOD(CreateMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER *) PURE;
|
|
STDMETHOD(CreateFace) (THIS_ LPDIRECT3DRMFACE *) PURE;
|
|
STDMETHOD(CreateAnimation) (THIS_ LPDIRECT3DRMANIMATION *) PURE;
|
|
STDMETHOD(CreateAnimationSet)(THIS_ LPDIRECT3DRMANIMATIONSET *) PURE;
|
|
STDMETHOD(CreateTexture) (THIS_ LPD3DRMIMAGE, LPDIRECT3DRMTEXTURE *) PURE;
|
|
STDMETHOD(CreateLight) (THIS_ D3DRMLIGHTTYPE, D3DCOLOR, LPDIRECT3DRMLIGHT *) PURE;
|
|
STDMETHOD(CreateLightRGB)
|
|
(THIS_ D3DRMLIGHTTYPE, D3DVALUE, D3DVALUE, D3DVALUE, LPDIRECT3DRMLIGHT *) PURE;
|
|
STDMETHOD(CreateMaterial) (THIS_ D3DVALUE, LPDIRECT3DRMMATERIAL *) PURE;
|
|
STDMETHOD(CreateDevice) (THIS_ DWORD, DWORD, LPDIRECT3DRMDEVICE *) PURE;
|
|
|
|
/* Create a Windows Device using DirectDraw surfaces */
|
|
STDMETHOD(CreateDeviceFromSurface)
|
|
( THIS_ LPGUID lpGUID, LPDIRECTDRAW lpDD,
|
|
LPDIRECTDRAWSURFACE lpDDSBack, LPDIRECT3DRMDEVICE *
|
|
) PURE;
|
|
|
|
/* Create a Windows Device using D3D objects */
|
|
STDMETHOD(CreateDeviceFromD3D)
|
|
( THIS_ LPDIRECT3D lpD3D, LPDIRECT3DDEVICE lpD3DDev,
|
|
LPDIRECT3DRMDEVICE *
|
|
) PURE;
|
|
|
|
STDMETHOD(CreateDeviceFromClipper)
|
|
( THIS_ LPDIRECTDRAWCLIPPER lpDDClipper, LPGUID lpGUID,
|
|
int width, int height, LPDIRECT3DRMDEVICE *) PURE;
|
|
|
|
STDMETHOD(CreateTextureFromSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDS, LPDIRECT3DRMTEXTURE *) PURE;
|
|
|
|
STDMETHOD(CreateShadow)
|
|
( THIS_ LPDIRECT3DRMVISUAL, LPDIRECT3DRMLIGHT,
|
|
D3DVALUE px, D3DVALUE py, D3DVALUE pz,
|
|
D3DVALUE nx, D3DVALUE ny, D3DVALUE nz,
|
|
LPDIRECT3DRMVISUAL *
|
|
) PURE;
|
|
STDMETHOD(CreateViewport)
|
|
( THIS_ LPDIRECT3DRMDEVICE, LPDIRECT3DRMFRAME, DWORD, DWORD,
|
|
DWORD, DWORD, LPDIRECT3DRMVIEWPORT *
|
|
) PURE;
|
|
STDMETHOD(CreateWrap)
|
|
( THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME,
|
|
D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
|
|
D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
|
|
D3DVALUE ux, D3DVALUE uy, D3DVALUE uz,
|
|
D3DVALUE ou, D3DVALUE ov,
|
|
D3DVALUE su, D3DVALUE sv,
|
|
LPDIRECT3DRMWRAP *
|
|
) PURE;
|
|
STDMETHOD(CreateUserVisual) (THIS_ D3DRMUSERVISUALCALLBACK, LPVOID lPArg, LPDIRECT3DRMUSERVISUAL *) PURE;
|
|
STDMETHOD(LoadTexture) (THIS_ const char *, LPDIRECT3DRMTEXTURE *) PURE;
|
|
STDMETHOD(LoadTextureFromResource) (THIS_ HRSRC rs, LPDIRECT3DRMTEXTURE *) PURE;
|
|
|
|
STDMETHOD(SetSearchPath) (THIS_ LPCSTR) PURE;
|
|
STDMETHOD(AddSearchPath) (THIS_ LPCSTR) PURE;
|
|
STDMETHOD(GetSearchPath) (THIS_ DWORD *size_return, LPSTR path_return);
|
|
//STDMETHOD(GetSearchPath) (THIS_ int *return_count, char ***return_path) PURE;
|
|
STDMETHOD(SetDefaultTextureColors)(THIS_ DWORD) PURE;
|
|
STDMETHOD(SetDefaultTextureShades)(THIS_ DWORD) PURE;
|
|
|
|
STDMETHOD(GetDevices) (THIS_ LPDIRECT3DRMDEVICEARRAY *) PURE;
|
|
STDMETHOD(GetNamedObject) (THIS_ const char *, LPDIRECT3DRMOBJECT *) PURE;
|
|
|
|
STDMETHOD(EnumerateObjects) (THIS_ D3DRMOBJECTCALLBACK, LPVOID) PURE;
|
|
|
|
STDMETHOD(Load)
|
|
( THIS_ LPVOID, LPVOID, LPIID *, DWORD, D3DRMLOADOPTIONS,
|
|
D3DRMLOADCALLBACK, LPVOID, D3DRMLOADTEXTURECALLBACK, LPVOID,
|
|
LPDIRECT3DRMFRAME
|
|
) PURE;
|
|
STDMETHOD(Tick) (THIS_ D3DVALUE) PURE;
|
|
};
|
|
|
|
#define D3DRM_OK DD_OK
|
|
#define D3DRMERR_BADOBJECT MAKE_DDHRESULT(781)
|
|
#define D3DRMERR_BADTYPE MAKE_DDHRESULT(782)
|
|
#define D3DRMERR_BADALLOC MAKE_DDHRESULT(783)
|
|
#define D3DRMERR_FACEUSED MAKE_DDHRESULT(784)
|
|
#define D3DRMERR_NOTFOUND MAKE_DDHRESULT(785)
|
|
#define D3DRMERR_NOTDONEYET MAKE_DDHRESULT(786)
|
|
#define D3DRMERR_FILENOTFOUND MAKE_DDHRESULT(787)
|
|
#define D3DRMERR_BADFILE MAKE_DDHRESULT(788)
|
|
#define D3DRMERR_BADDEVICE MAKE_DDHRESULT(789)
|
|
#define D3DRMERR_BADVALUE MAKE_DDHRESULT(790)
|
|
#define D3DRMERR_BADMAJORVERSION MAKE_DDHRESULT(791)
|
|
#define D3DRMERR_BADMINORVERSION MAKE_DDHRESULT(792)
|
|
#define D3DRMERR_UNABLETOEXECUTE MAKE_DDHRESULT(793)
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif
|
|
|
|
#endif /* _D3DRMAPI_H_ */
|
|
|