DirectX 5 Redocumentation
A redocumentation of DirectX 5, brought to you by a bunch of Infomaniacs.
d3drm.h
Go to the documentation of this file.
1/*==========================================================================;
2 *
3 * Copyright (C) 1995-1997 Microsoft Corporation. All Rights Reserved.
4 *
5 * File: d3drm.h
6 * Content: Direct3DRM include file
7 *
8 ***************************************************************************/
9
10#ifndef __D3DRM_H__
11#define __D3DRM_H__
12
13#include "ddraw.h"
14#include "d3drmobj.h"
15
16#ifdef __cplusplus
17extern "C" {
18struct IDirect3DRM;
19#endif
20
21
22DEFINE_GUID(IID_IDirect3DRM, 0x2bc49361, 0x8327, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
23DEFINE_GUID(IID_IDirect3DRM2, 0x4516ecc8, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
24WIN_TYPES(IDirect3DRM, DIRECT3DRM);
25WIN_TYPES(IDirect3DRM2, DIRECT3DRM2);
26
27
29STDAPI Direct3DRMCreate(LPDIRECT3DRM FAR *lplpDirect3DRM);
30
31#undef INTERFACE
32#define INTERFACE IDirect3DRM
33
35{
36 IUNKNOWN_METHODS(PURE);
37
38 STDMETHOD(CreateObject)
39 (THIS_ REFCLSID rclsid, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID FAR* ppv) PURE;
40 STDMETHOD(CreateFrame) (THIS_ LPDIRECT3DRMFRAME, LPDIRECT3DRMFRAME *) PURE;
41 STDMETHOD(CreateMesh) (THIS_ LPDIRECT3DRMMESH *) PURE;
42 STDMETHOD(CreateMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER *) PURE;
43 STDMETHOD(CreateFace) (THIS_ LPDIRECT3DRMFACE *) PURE;
44 STDMETHOD(CreateAnimation) (THIS_ LPDIRECT3DRMANIMATION *) PURE;
45 STDMETHOD(CreateAnimationSet)(THIS_ LPDIRECT3DRMANIMATIONSET *) PURE;
46 STDMETHOD(CreateTexture) (THIS_ LPD3DRMIMAGE, LPDIRECT3DRMTEXTURE *) PURE;
47 STDMETHOD(CreateLight) (THIS_ D3DRMLIGHTTYPE, D3DCOLOR, LPDIRECT3DRMLIGHT *) PURE;
48 STDMETHOD(CreateLightRGB)
49 (THIS_ D3DRMLIGHTTYPE, D3DVALUE, D3DVALUE, D3DVALUE, LPDIRECT3DRMLIGHT *) PURE;
50 STDMETHOD(CreateMaterial) (THIS_ D3DVALUE, LPDIRECT3DRMMATERIAL *) PURE;
51 STDMETHOD(CreateDevice) (THIS_ DWORD, DWORD, LPDIRECT3DRMDEVICE *) PURE;
52
54 STDMETHOD(CreateDeviceFromSurface)
55 ( THIS_ LPGUID lpGUID, LPDIRECTDRAW lpDD,
56 LPDIRECTDRAWSURFACE lpDDSBack, LPDIRECT3DRMDEVICE *
57 ) PURE;
58
60 STDMETHOD(CreateDeviceFromD3D)
61 ( THIS_ LPDIRECT3D lpD3D, LPDIRECT3DDEVICE lpD3DDev,
62 LPDIRECT3DRMDEVICE *
63 ) PURE;
64
65 STDMETHOD(CreateDeviceFromClipper)
66 ( THIS_ LPDIRECTDRAWCLIPPER lpDDClipper, LPGUID lpGUID,
67 int width, int height, LPDIRECT3DRMDEVICE *) PURE;
68
69 STDMETHOD(CreateTextureFromSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDS, LPDIRECT3DRMTEXTURE *) PURE;
70
71 STDMETHOD(CreateShadow)
72 ( THIS_ LPDIRECT3DRMVISUAL, LPDIRECT3DRMLIGHT,
73 D3DVALUE px, D3DVALUE py, D3DVALUE pz,
74 D3DVALUE nx, D3DVALUE ny, D3DVALUE nz,
75 LPDIRECT3DRMVISUAL *
76 ) PURE;
77 STDMETHOD(CreateViewport)
78 ( THIS_ LPDIRECT3DRMDEVICE, LPDIRECT3DRMFRAME, DWORD, DWORD,
79 DWORD, DWORD, LPDIRECT3DRMVIEWPORT *
80 ) PURE;
81 STDMETHOD(CreateWrap)
82 ( THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME,
83 D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
84 D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
85 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz,
86 D3DVALUE ou, D3DVALUE ov,
87 D3DVALUE su, D3DVALUE sv,
88 LPDIRECT3DRMWRAP *
89 ) PURE;
90 STDMETHOD(CreateUserVisual) (THIS_ D3DRMUSERVISUALCALLBACK, LPVOID lPArg, LPDIRECT3DRMUSERVISUAL *) PURE;
91 STDMETHOD(LoadTexture) (THIS_ const char *, LPDIRECT3DRMTEXTURE *) PURE;
92 STDMETHOD(LoadTextureFromResource) (THIS_ HRSRC rs, LPDIRECT3DRMTEXTURE *) PURE;
93
94 STDMETHOD(SetSearchPath) (THIS_ LPCSTR) PURE;
95 STDMETHOD(AddSearchPath) (THIS_ LPCSTR) PURE;
96 STDMETHOD(GetSearchPath) (THIS_ DWORD *size_return, LPSTR path_return) PURE;
97 STDMETHOD(SetDefaultTextureColors)(THIS_ DWORD) PURE;
98 STDMETHOD(SetDefaultTextureShades)(THIS_ DWORD) PURE;
99
100 STDMETHOD(GetDevices) (THIS_ LPDIRECT3DRMDEVICEARRAY *) PURE;
101 STDMETHOD(GetNamedObject) (THIS_ const char *, LPDIRECT3DRMOBJECT *) PURE;
102
103 STDMETHOD(EnumerateObjects) (THIS_ D3DRMOBJECTCALLBACK, LPVOID) PURE;
104
105 STDMETHOD(Load)
106 ( THIS_ LPVOID, LPVOID, LPIID *, DWORD, D3DRMLOADOPTIONS,
108 LPDIRECT3DRMFRAME
109 ) PURE;
110 STDMETHOD(Tick) (THIS_ D3DVALUE) PURE;
111};
112
113#undef INTERFACE
114#define INTERFACE IDirect3DRM2
115
117{
118 IUNKNOWN_METHODS(PURE);
119
120 STDMETHOD(CreateObject)
121 (THIS_ REFCLSID rclsid, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID FAR* ppv) PURE;
122 STDMETHOD(CreateFrame) (THIS_ LPDIRECT3DRMFRAME, LPDIRECT3DRMFRAME2 *) PURE;
123 STDMETHOD(CreateMesh) (THIS_ LPDIRECT3DRMMESH *) PURE;
124 STDMETHOD(CreateMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER2 *) PURE;
125 STDMETHOD(CreateFace) (THIS_ LPDIRECT3DRMFACE *) PURE;
126 STDMETHOD(CreateAnimation) (THIS_ LPDIRECT3DRMANIMATION *) PURE;
127 STDMETHOD(CreateAnimationSet)(THIS_ LPDIRECT3DRMANIMATIONSET *) PURE;
128 STDMETHOD(CreateTexture) (THIS_ LPD3DRMIMAGE, LPDIRECT3DRMTEXTURE2 *) PURE;
129 STDMETHOD(CreateLight) (THIS_ D3DRMLIGHTTYPE, D3DCOLOR, LPDIRECT3DRMLIGHT *) PURE;
130 STDMETHOD(CreateLightRGB)
131 (THIS_ D3DRMLIGHTTYPE, D3DVALUE, D3DVALUE, D3DVALUE, LPDIRECT3DRMLIGHT *) PURE;
132 STDMETHOD(CreateMaterial) (THIS_ D3DVALUE, LPDIRECT3DRMMATERIAL *) PURE;
133 STDMETHOD(CreateDevice) (THIS_ DWORD, DWORD, LPDIRECT3DRMDEVICE2 *) PURE;
134
136 STDMETHOD(CreateDeviceFromSurface)
137 ( THIS_ LPGUID lpGUID, LPDIRECTDRAW lpDD,
138 LPDIRECTDRAWSURFACE lpDDSBack, LPDIRECT3DRMDEVICE2 *
139 ) PURE;
140
142 STDMETHOD(CreateDeviceFromD3D)
143 ( THIS_ LPDIRECT3D2 lpD3D, LPDIRECT3DDEVICE2 lpD3DDev,
144 LPDIRECT3DRMDEVICE2 *
145 ) PURE;
146
147 STDMETHOD(CreateDeviceFromClipper)
148 ( THIS_ LPDIRECTDRAWCLIPPER lpDDClipper, LPGUID lpGUID,
149 int width, int height, LPDIRECT3DRMDEVICE2 *) PURE;
150
151 STDMETHOD(CreateTextureFromSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDS, LPDIRECT3DRMTEXTURE2 *) PURE;
152
153 STDMETHOD(CreateShadow)
154 ( THIS_ LPDIRECT3DRMVISUAL, LPDIRECT3DRMLIGHT,
155 D3DVALUE px, D3DVALUE py, D3DVALUE pz,
156 D3DVALUE nx, D3DVALUE ny, D3DVALUE nz,
157 LPDIRECT3DRMVISUAL *
158 ) PURE;
159 STDMETHOD(CreateViewport)
160 ( THIS_ LPDIRECT3DRMDEVICE, LPDIRECT3DRMFRAME, DWORD, DWORD,
161 DWORD, DWORD, LPDIRECT3DRMVIEWPORT *
162 ) PURE;
163 STDMETHOD(CreateWrap)
164 ( THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME,
165 D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
166 D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
167 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz,
168 D3DVALUE ou, D3DVALUE ov,
169 D3DVALUE su, D3DVALUE sv,
170 LPDIRECT3DRMWRAP *
171 ) PURE;
172 STDMETHOD(CreateUserVisual) (THIS_ D3DRMUSERVISUALCALLBACK, LPVOID lPArg, LPDIRECT3DRMUSERVISUAL *) PURE;
173 STDMETHOD(LoadTexture) (THIS_ const char *, LPDIRECT3DRMTEXTURE2 *) PURE;
174 STDMETHOD(LoadTextureFromResource) (THIS_ HMODULE hModule, LPCTSTR strName, LPCTSTR strType, LPDIRECT3DRMTEXTURE2 *) PURE;
175
176 STDMETHOD(SetSearchPath) (THIS_ LPCSTR) PURE;
177 STDMETHOD(AddSearchPath) (THIS_ LPCSTR) PURE;
178 STDMETHOD(GetSearchPath) (THIS_ DWORD *size_return, LPSTR path_return) PURE;
179 STDMETHOD(SetDefaultTextureColors)(THIS_ DWORD) PURE;
180 STDMETHOD(SetDefaultTextureShades)(THIS_ DWORD) PURE;
181
182 STDMETHOD(GetDevices) (THIS_ LPDIRECT3DRMDEVICEARRAY *) PURE;
183 STDMETHOD(GetNamedObject) (THIS_ const char *, LPDIRECT3DRMOBJECT *) PURE;
184
185 STDMETHOD(EnumerateObjects) (THIS_ D3DRMOBJECTCALLBACK, LPVOID) PURE;
186
187 STDMETHOD(Load)
188 ( THIS_ LPVOID, LPVOID, LPIID *, DWORD, D3DRMLOADOPTIONS,
190 LPDIRECT3DRMFRAME
191 ) PURE;
192 STDMETHOD(Tick) (THIS_ D3DVALUE) PURE;
193
194 STDMETHOD(CreateProgressiveMesh)(THIS_ LPDIRECT3DRMPROGRESSIVEMESH *) PURE;
195};
196
197#define D3DRM_OK DD_OK
198#define D3DRMERR_BADOBJECT MAKE_DDHRESULT(781)
199#define D3DRMERR_BADTYPE MAKE_DDHRESULT(782)
200#define D3DRMERR_BADALLOC MAKE_DDHRESULT(783)
201#define D3DRMERR_FACEUSED MAKE_DDHRESULT(784)
202#define D3DRMERR_NOTFOUND MAKE_DDHRESULT(785)
203#define D3DRMERR_NOTDONEYET MAKE_DDHRESULT(786)
204#define D3DRMERR_FILENOTFOUND MAKE_DDHRESULT(787)
205#define D3DRMERR_BADFILE MAKE_DDHRESULT(788)
206#define D3DRMERR_BADDEVICE MAKE_DDHRESULT(789)
207#define D3DRMERR_BADVALUE MAKE_DDHRESULT(790)
208#define D3DRMERR_BADMAJORVERSION MAKE_DDHRESULT(791)
209#define D3DRMERR_BADMINORVERSION MAKE_DDHRESULT(792)
210#define D3DRMERR_UNABLETOEXECUTE MAKE_DDHRESULT(793)
211#define D3DRMERR_LIBRARYNOTFOUND MAKE_DDHRESULT(794)
212#define D3DRMERR_INVALIDLIBRARY MAKE_DDHRESULT(795)
213#define D3DRMERR_PENDING MAKE_DDHRESULT(796)
214#define D3DRMERR_NOTENOUGHDATA MAKE_DDHRESULT(797)
215#define D3DRMERR_REQUESTTOOLARGE MAKE_DDHRESULT(798)
216#define D3DRMERR_REQUESTTOOSMALL MAKE_DDHRESULT(799)
217#define D3DRMERR_CONNECTIONLOST MAKE_DDHRESULT(800)
218#define D3DRMERR_LOADABORTED MAKE_DDHRESULT(801)
219#define D3DRMERR_NOINTERNET MAKE_DDHRESULT(802)
220#define D3DRMERR_BADCACHEFILE MAKE_DDHRESULT(803)
221#define D3DRMERR_BOXNOTSET MAKE_DDHRESULT(804)
222#define D3DRMERR_BADPMDATA MAKE_DDHRESULT(805)
223
224#ifdef __cplusplus
225};
226#endif
227
228#endif /* _D3DRMAPI_H_ */
229
struct IDirect3D * LPDIRECT3D
Definition: d3d.h:85
struct IDirect3DDevice2 * LPDIRECT3DDEVICE2
Definition: d3d.h:88
struct IDirect3DDevice * LPDIRECT3DDEVICE
Definition: d3d.h:87
struct IDirect3D2 * LPDIRECT3D2
Definition: d3d.h:86
LPSTR LPSTR LPVOID
Definition: d3dcaps.h:213
WIN_TYPES(IDirect3DRM, DIRECT3DRM)
STDAPI Direct3DRMCreate(LPDIRECT3DRM FAR *lplpDirect3DRM)
DECLARE_INTERFACE_(IDirect3DRM, IUnknown)
Definition: d3drm.h:34
DEFINE_GUID(IID_IDirect3DRM, 0x2bc49361, 0x8327, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1)
struct _D3DRMIMAGE * LPD3DRMIMAGE
enum _D3DRMWRAPTYPE D3DRMWRAPTYPE
enum _D3DRMLIGHTTYPE D3DRMLIGHTTYPE
DWORD D3DRMLOADOPTIONS
Definition: d3drmdef.h:267
#define IUNKNOWN_METHODS(kind)
Definition: d3drmobj.h:26
void(CDECL * D3DRMOBJECTCALLBACK)(LPDIRECT3DRMOBJECT obj, LPVOID arg)
Definition: d3drmobj.h:149
HRESULT(CDECL * D3DRMLOADTEXTURECALLBACK)(char *tex_name, void *arg, LPDIRECT3DRMTEXTURE *)
Definition: d3drmobj.h:157
void(CDECL * D3DRMLOADCALLBACK)(LPDIRECT3DRMOBJECT object, REFIID objectguid, LPVOID arg)
Definition: d3drmobj.h:159
int(CDECL * D3DRMUSERVISUALCALLBACK)(LPDIRECT3DRMUSERVISUAL obj, LPVOID arg, D3DRMUSERVISUALREASON reason, LPDIRECT3DRMDEVICE dev, LPDIRECT3DRMVIEWPORT view)
Definition: d3drmobj.h:153
float D3DVALUE
Definition: d3dtypes.h:28
DWORD D3DCOLOR
Definition: d3dtypes.h:103
#define IUnknown
Definition: ddraw.h:28
struct IDirectDrawClipper FAR * LPDIRECTDRAWCLIPPER
Definition: ddraw.h:79
struct IDirectDrawSurface FAR * LPDIRECTDRAWSURFACE
Definition: ddraw.h:74
typedef DWORD(FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper
struct IDirectDraw FAR * LPDIRECTDRAW
Definition: ddraw.h:72