Subversion Repositories spacemission

Rev

Rev 4 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 daniel-mar 1
unit DXETable;
2
 
3
interface
4
 
5
{$INCLUDE DelphiXcfg.inc}
6
 
7
uses
4 daniel-mar 8
  Windows, SysUtils,
9
{$IfDef StandardDX}
10
  {$ifdef DX7}
11
  DirectDraw, Direct3D,DirectInput,DirectPlay,DirectSound;
12
  {$else}
13
  {$IfDef DX9}
14
  DirectDraw, Direct3D9, Direct3D, D3DX9, {Direct3D8,} DX7toDX8, DirectInput, DirectPlay8, DirectSound;
15
//  {$Else}
16
//  {$IfDef DX81}
17
//  D3DX8, Direct3D8, DirectInput8, DirectXGraphics, DX7toDX8, DirectPlay8;
18
//  {$Else}
19
//  DirectInput, Direct3D, Direct3DRM, DirectPlay;
20
  {$EndIf}
21
  {$EndIf}
22
{$Else}
23
  DirectX;
24
{$EndIf}
1 daniel-mar 25
 
4 daniel-mar 26
 
1 daniel-mar 27
function WindowsErrorMsg(ErrorCode: HRESULT): string;
28
function DDrawErrorMsg(ErrorCode: HRESULT): string;
29
function D3DErrorMsg(ErrorCode: HRESULT): string;
4 daniel-mar 30
{$IFDEF D3DRM}
1 daniel-mar 31
function D3DRMErrorMsg(ErrorCode: HRESULT): string;
4 daniel-mar 32
{$ENDIF}
1 daniel-mar 33
function DSoundErrorMsg(ErrorCode: HRESULT): string;
34
function DInputErrorMsg(ErrorCode: HRESULT): string;
57 daniel-mar 35
{$IFDEF UseDirectPlay}
1 daniel-mar 36
function DPlayErrorMsg(ErrorCode: HRESULT): string;
57 daniel-mar 37
{$EndIf} // UseDirectPlay
1 daniel-mar 38
 
39
implementation
40
 
41
uses DXConsts;
42
 
43
function WindowsErrorMsg(ErrorCode: HRESULT): string;
44
var
45
  Buf: array [Byte] of Char;
46
begin
47
  Result := '';
48
  if ErrorCode<>0 then
49
  begin
50
    if FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, nil,
51
      ErrorCode, LOCALE_USER_DEFAULT, Buf, sizeof(Buf), nil)<>0 then
52
    begin
53
      Result := Buf;
54
      {  Last #13#10 is deleted.  }
55
      while Copy(Result, Length(Result)-1, 2)=#13#10 do
56
        Result := Copy(Result, 1, Length(Result)-2);
57
    end else
58
      Result := Format(SUnknownError, [ErrorCode]);
59
  end;
60
end;
61
 
62
function DDrawErrorMsg(ErrorCode: HRESULT): string;
63
begin              
64
  case ErrorCode of
65
    DD_OK                               : Result := 'DD_OK';
66
    DDERR_ALREADYINITIALIZED            : Result := 'DDERR_ALREADYINITIALIZED';
67
    DDERR_BLTFASTCANTCLIP               : Result := 'DDERR_BLTFASTCANTCLIP';
68
    DDERR_CANNOTATTACHSURFACE           : Result := 'DDERR_CANNOTATTACHSURFACE';
69
    DDERR_CANTCREATEDC                  : Result := 'DDERR_CANTCREATEDC';
70
    DDERR_CANTDUPLICATE                 : Result := 'DDERR_CANTDUPLICATE';
71
    DDERR_CLIPPERISUSINGHWND            : Result := 'DDERR_CLIPPERISUSINGHWND';
72
    DDERR_COLORKEYNOTSET                : Result := 'DDERR_COLORKEYNOTSET';
73
    DDERR_CURRENTLYNOTAVAIL             : Result := 'DDERR_CURRENTLYNOTAVAIL';
74
    DDERR_DIRECTDRAWALREADYCREATED      : Result := 'DDERR_DIRECTDRAWALREADYCREATED';
75
    DDERR_EXCEPTION                     : Result := 'DDERR_EXCEPTION';
76
    DDERR_EXCLUSIVEMODEALREADYSET       : Result := 'DDERR_EXCLUSIVEMODEALREADYSET';
77
    DDERR_GENERIC                       : Result := 'DDERR_GENERIC';
78
    DDERR_HEIGHTALIGN                   : Result := 'DDERR_HEIGHTALIGN';
79
    DDERR_HWNDALREADYSET                : Result := 'DDERR_HWNDALREADYSET';
80
    DDERR_HWNDSUBCLASSED                : Result := 'DDERR_HWNDSUBCLASSED';
81
    DDERR_IMPLICITLYCREATED             : Result := 'DDERR_IMPLICITLYCREATED';
82
    DDERR_INCOMPATIBLEPRIMARY           : Result := 'DDERR_INCOMPATIBLEPRIMARY';
83
    DDERR_INVALIDCAPS                   : Result := 'DDERR_INVALIDCAPS';
84
    DDERR_INVALIDCLIPLIST               : Result := 'DDERR_INVALIDCLIPLIST';
85
    DDERR_INVALIDDIRECTDRAWGUID         : Result := 'DDERR_INVALIDDIRECTDRAWGUID';
86
    DDERR_INVALIDMODE                   : Result := 'DDERR_INVALIDMODE';
87
    DDERR_INVALIDOBJECT                 : Result := 'DDERR_INVALIDOBJECT';
88
    DDERR_INVALIDPARAMS                 : Result := 'DDERR_INVALIDPARAMS';
89
    DDERR_INVALIDPIXELFORMAT            : Result := 'DDERR_INVALIDPIXELFORMAT';
90
    DDERR_INVALIDPOSITION               : Result := 'DDERR_INVALIDPOSITION';
91
    DDERR_INVALIDRECT                   : Result := 'DDERR_INVALIDRECT';
92
    DDERR_LOCKEDSURFACES                : Result := 'DDERR_LOCKEDSURFACES';
93
    DDERR_NO3D                          : Result := 'DDERR_NO3D';
94
    DDERR_NOALPHAHW                     : Result := 'DDERR_NOALPHAHW';
95
    DDERR_NOBLTHW                       : Result := 'DDERR_NOBLTHW';
96
    DDERR_NOCLIPLIST                    : Result := 'DDERR_NOCLIPLIST';
97
    DDERR_NOCLIPPERATTACHED             : Result := 'DDERR_NOCLIPPERATTACHED';
98
    DDERR_NOCOLORCONVHW                 : Result := 'DDERR_NOCOLORCONVHW';
99
    DDERR_NOCOLORKEY                    : Result := 'DDERR_NOCOLORKEY';
100
    DDERR_NOCOLORKEYHW                  : Result := 'DDERR_NOCOLORKEYHW';
101
    DDERR_NOCOOPERATIVELEVELSET         : Result := 'DDERR_NOCOOPERATIVELEVELSET';
102
    DDERR_NODC                          : Result := 'DDERR_NODC';
103
    DDERR_NODDROPSHW                    : Result := 'DDERR_NODDROPSHW';
104
    DDERR_NODIRECTDRAWHW                : Result := 'DDERR_NODIRECTDRAWHW';
105
    DDERR_NOEMULATION                   : Result := 'DDERR_NOEMULATION';
106
    DDERR_NOEXCLUSIVEMODE               : Result := 'DDERR_NOEXCLUSIVEMODE';
107
    DDERR_NOFLIPHW                      : Result := 'DDERR_NOFLIPHW';
108
    DDERR_NOGDI                         : Result := 'DDERR_NOGDI';
109
    DDERR_NOHWND                        : Result := 'DDERR_NOHWND';
110
    DDERR_NOMIRRORHW                    : Result := 'DDERR_NOMIRRORHW';
111
    DDERR_NOOVERLAYDEST                 : Result := 'DDERR_NOOVERLAYDEST';
112
    DDERR_NOOVERLAYHW                   : Result := 'DDERR_NOOVERLAYHW';
113
    DDERR_NOPALETTEATTACHED             : Result := 'DDERR_NOPALETTEATTACHED';
114
    DDERR_NOPALETTEHW                   : Result := 'DDERR_NOPALETTEHW';
115
    DDERR_NORASTEROPHW                  : Result := 'DDERR_NORASTEROPHW';
116
    DDERR_NOROTATIONHW                  : Result := 'DDERR_NOROTATIONHW';
117
    DDERR_NOSTRETCHHW                   : Result := 'DDERR_NOSTRETCHHW';
118
    DDERR_NOT4BITCOLOR                  : Result := 'DDERR_NOT4BITCOLOR';
119
    DDERR_NOT4BITCOLORINDEX             : Result := 'DDERR_NOT4BITCOLORINDEX';
120
    DDERR_NOT8BITCOLOR                  : Result := 'DDERR_NOT8BITCOLOR';
121
    DDERR_NOTAOVERLAYSURFACE            : Result := 'DDERR_NOTAOVERLAYSURFACE';
122
    DDERR_NOTEXTUREHW                   : Result := 'DDERR_NOTEXTUREHW';
123
    DDERR_NOTFLIPPABLE                  : Result := 'DDERR_NOTFLIPPABLE';
124
    DDERR_NOTFOUND                      : Result := 'DDERR_NOTFOUND';
125
    DDERR_NOTLOCKED                     : Result := 'DDERR_NOTLOCKED';
126
    DDERR_NOTPALETTIZED                 : Result := 'DDERR_NOTPALETTIZED';
127
    DDERR_NOVSYNCHW                     : Result := 'DDERR_NOVSYNCHW';
128
    DDERR_NOZBUFFERHW                   : Result := 'DDERR_NOZBUFFERHW';
129
    DDERR_NOZOVERLAYHW                  : Result := 'DDERR_NOZOVERLAYHW';
130
    DDERR_OUTOFCAPS                     : Result := 'DDERR_OUTOFCAPS';
131
    DDERR_OUTOFMEMORY                   : Result := 'DDERR_OUTOFMEMORY';
132
    DDERR_OUTOFVIDEOMEMORY              : Result := 'DDERR_OUTOFVIDEOMEMORY';
133
    DDERR_OVERLAYCANTCLIP               : Result := 'DDERR_OVERLAYCANTCLIP';
134
    DDERR_OVERLAYCOLORKEYONLYONEACTIVE  : Result := 'DDERR_OVERLAYCOLORKEYONLYONEACTIVE';
135
    DDERR_OVERLAYNOTVISIBLE             : Result := 'DDERR_OVERLAYNOTVISIBLE';
136
    DDERR_PALETTEBUSY                   : Result := 'DDERR_PALETTEBUSY';
137
    DDERR_PRIMARYSURFACEALREADYEXISTS   : Result := 'DDERR_PRIMARYSURFACEALREADYEXISTS';
138
    DDERR_REGIONTOOSMALL                : Result := 'DDERR_REGIONTOOSMALL';
139
    DDERR_SURFACEALREADYATTACHED        : Result := 'DDERR_SURFACEALREADYATTACHED';
140
    DDERR_SURFACEALREADYDEPENDENT       : Result := 'DDERR_SURFACEALREADYDEPENDENT';
141
    DDERR_SURFACEBUSY                   : Result := 'DDERR_SURFACEBUSY';
142
    DDERR_SURFACEISOBSCURED             : Result := 'DDERR_SURFACEISOBSCURED';
143
    DDERR_SURFACELOST                   : Result := 'DDERR_SURFACELOST';
144
    DDERR_SURFACENOTATTACHED            : Result := 'DDERR_SURFACENOTATTACHED';
145
    DDERR_TOOBIGHEIGHT                  : Result := 'DDERR_TOOBIGHEIGHT';
146
    DDERR_TOOBIGSIZE                    : Result := 'DDERR_TOOBIGSIZE';
147
    DDERR_TOOBIGWIDTH                   : Result := 'DDERR_TOOBIGWIDTH';
148
    DDERR_UNSUPPORTED                   : Result := 'DDERR_UNSUPPORTED';
149
    DDERR_UNSUPPORTEDFORMAT             : Result := 'DDERR_UNSUPPORTEDFORMAT';
150
    DDERR_UNSUPPORTEDMASK               : Result := 'DDERR_UNSUPPORTEDMASK';
151
    DDERR_VERTICALBLANKINPROGRESS       : Result := 'DDERR_VERTICALBLANKINPROGRESS';
152
    DDERR_WASSTILLDRAWING               : Result := 'DDERR_WASSTILLDRAWING';
153
    DDERR_WRONGMODE                     : Result := 'DDERR_WRONGMODE';
154
    DDERR_XALIGN                        : Result := 'DDERR_XALIGN';
155
  else
156
    Result := WindowsErrorMsg(ErrorCode);
157
  end;
158
end;
159
 
160
function D3DErrorMsg(ErrorCode: HRESULT): string;
161
begin
162
  case ErrorCode of
163
    D3D_OK                              : Result := 'D3D_OK';
164
    D3DERR_BADMAJORVERSION              : Result := 'D3DERR_BADMAJORVERSION';
165
    D3DERR_BADMINORVERSION              : Result := 'D3DERR_BADMINORVERSION';
166
    D3DERR_INVALID_DEVICE               : Result := 'D3DERR_INVALID_DEVICE';
167
    D3DERR_INITFAILED                   : Result := 'D3DERR_INITFAILED';
168
    D3DERR_DEVICEAGGREGATED             : Result := 'D3DERR_DEVICEAGGREGATED';
169
    D3DERR_EXECUTE_CREATE_FAILED        : Result := 'D3DERR_EXECUTE_CREATE_FAILED';
170
    D3DERR_EXECUTE_DESTROY_FAILED       : Result := 'D3DERR_EXECUTE_DESTROY_FAILED';
171
    D3DERR_EXECUTE_LOCK_FAILED          : Result := 'D3DERR_EXECUTE_LOCK_FAILED';
172
    D3DERR_EXECUTE_UNLOCK_FAILED        : Result := 'D3DERR_EXECUTE_UNLOCK_FAILED';
173
    D3DERR_EXECUTE_LOCKED               : Result := 'D3DERR_EXECUTE_LOCKED';
174
    D3DERR_EXECUTE_NOT_LOCKED           : Result := 'D3DERR_EXECUTE_NOT_LOCKED';
175
    D3DERR_EXECUTE_FAILED               : Result := 'D3DERR_EXECUTE_FAILED';
176
    D3DERR_EXECUTE_CLIPPED_FAILED       : Result := 'D3DERR_EXECUTE_CLIPPED_FAILED';
177
    D3DERR_TEXTURE_NO_SUPPORT           : Result := 'D3DERR_TEXTURE_NO_SUPPORT';
178
    D3DERR_TEXTURE_CREATE_FAILED        : Result := 'D3DERR_TEXTURE_CREATE_FAILED';
179
    D3DERR_TEXTURE_DESTROY_FAILED       : Result := 'D3DERR_TEXTURE_DESTROY_FAILED';
180
    D3DERR_TEXTURE_LOCK_FAILED          : Result := 'D3DERR_TEXTURE_LOCK_FAILED';
181
    D3DERR_TEXTURE_UNLOCK_FAILED        : Result := 'D3DERR_TEXTURE_UNLOCK_FAILED';
182
    D3DERR_TEXTURE_LOAD_FAILED          : Result := 'D3DERR_TEXTURE_LOAD_FAILED';
183
    D3DERR_TEXTURE_SWAP_FAILED          : Result := 'D3DERR_TEXTURE_SWAP_FAILED';
184
    D3DERR_TEXTURE_LOCKED               : Result := 'D3DERR_TEXTURE_LOCKED';
185
    D3DERR_TEXTURE_NOT_LOCKED           : Result := 'D3DERR_TEXTURE_NOT_LOCKED';
186
    D3DERR_TEXTURE_GETSURF_FAILED       : Result := 'D3DERR_TEXTURE_GETSURF_FAILED';
187
    D3DERR_MATRIX_CREATE_FAILED         : Result := 'D3DERR_MATRIX_CREATE_FAILED';
188
    D3DERR_MATRIX_DESTROY_FAILED        : Result := 'D3DERR_MATRIX_DESTROY_FAILED';
189
    D3DERR_MATRIX_SETDATA_FAILED        : Result := 'D3DERR_MATRIX_SETDATA_FAILED';
190
    D3DERR_MATRIX_GETDATA_FAILED        : Result := 'D3DERR_MATRIX_GETDATA_FAILED';
191
    D3DERR_SETVIEWPORTDATA_FAILED       : Result := 'D3DERR_SETVIEWPORTDATA_FAILED';
192
 
193
    D3DERR_INVALIDCURRENTVIEWPORT       : Result := 'D3DERR_INVALIDCURRENTVIEWPORT';
194
    D3DERR_INVALIDPRIMITIVETYPE         : Result := 'D3DERR_INVALIDPRIMITIVETYPE';
195
    D3DERR_INVALIDVERTEXTYPE            : Result := 'D3DERR_INVALIDVERTEXTYPE';
196
    D3DERR_TEXTURE_BADSIZE              : Result := 'D3DERR_TEXTURE_BADSIZE';
197
    D3DERR_INVALIDRAMPTEXTURE           : Result := 'D3DERR_INVALIDRAMPTEXTURE';
198
    D3DERR_MATERIAL_CREATE_FAILED       : Result := 'D3DERR_MATERIAL_CREATE_FAILED';
199
    D3DERR_MATERIAL_DESTROY_FAILED      : Result := 'D3DERR_MATERIAL_DESTROY_FAILED';
200
    D3DERR_MATERIAL_SETDATA_FAILED      : Result := 'D3DERR_MATERIAL_SETDATA_FAILED';
201
    D3DERR_MATERIAL_GETDATA_FAILED      : Result := 'D3DERR_MATERIAL_GETDATA_FAILED';
202
    D3DERR_INVALIDPALETTE               : Result := 'D3DERR_INVALIDPALETTE';
203
 
204
    D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY     : Result := 'D3DERR_ZBUFF_NEEDS_SYSTEMMEMORY';
205
    D3DERR_ZBUFF_NEEDS_VIDEOMEMORY      : Result := 'D3DERR_ZBUFF_NEEDS_VIDEOMEMORY';
206
    D3DERR_SURFACENOTINVIDMEM           : Result := 'D3DERR_SURFACENOTINVIDMEM';
207
    D3DERR_LIGHT_SET_FAILED             : Result := 'D3DERR_LIGHT_SET_FAILED';
208
    D3DERR_LIGHTHASVIEWPORT             : Result := 'D3DERR_LIGHTHASVIEWPORT';
209
 
210
    D3DERR_LIGHTNOTINTHISVIEWPORT       : Result := 'D3DERR_LIGHTNOTINTHISVIEWPORT';
211
    D3DERR_SCENE_IN_SCENE               : Result := 'D3DERR_SCENE_IN_SCENE';
212
    D3DERR_SCENE_NOT_IN_SCENE           : Result := 'D3DERR_SCENE_NOT_IN_SCENE';
213
 
214
 
215
    D3DERR_SCENE_BEGIN_FAILED           : Result := 'D3DERR_SCENE_BEGIN_FAILED';
216
    D3DERR_SCENE_END_FAILED             : Result := 'D3DERR_SCENE_END_FAILED';
217
    D3DERR_INBEGIN                      : Result := 'D3DERR_INBEGIN';
218
    D3DERR_NOTINBEGIN                   : Result := 'D3DERR_NOTINBEGIN';
219
    D3DERR_NOVIEWPORTS                  : Result := 'D3DERR_NOVIEWPORTS';
220
    D3DERR_VIEWPORTDATANOTSET           : Result := 'D3DERR_VIEWPORTDATANOTSET';
221
    D3DERR_VIEWPORTHASNODEVICE          : Result := 'D3DERR_VIEWPORTHASNODEVICE';
222
 
223
    D3DERR_NOCURRENTVIEWPORT            : Result := 'D3DERR_NOCURRENTVIEWPORT';
224
  else
225
    Result := WindowsErrorMsg(ErrorCode);                                                          
226
  end;
227
end;
4 daniel-mar 228
{$IFDEF D3DRM}
1 daniel-mar 229
function D3DRMErrorMsg(ErrorCode: HRESULT): string;
230
begin
231
  case ErrorCode of
232
    D3DRM_OK                            : Result := 'D3DRM_OK';
233
    D3DRMERR_BADALLOC                   : Result := 'D3DRMERR_BADALLOC';
234
    D3DRMERR_BADDEVICE                  : Result := 'D3DRMERR_BADDEVICE';
235
    D3DRMERR_BADFILE                    : Result := 'D3DRMERR_BADFILE';
236
    D3DRMERR_BADMAJORVERSION            : Result := 'D3DRMERR_BADMAJORVERSION';
237
    D3DRMERR_BADMINORVERSION            : Result := 'D3DRMERR_BADMINORVERSION';
238
    D3DRMERR_BADOBJECT                  : Result := 'D3DRMERR_BADOBJECT';
239
    D3DRMERR_BADTYPE                    : Result := 'D3DRMERR_BADTYPE';
240
    D3DRMERR_BADVALUE                   : Result := 'D3DRMERR_BADVALUE';
241
    D3DRMERR_FACEUSED                   : Result := 'D3DRMERR_FACEUSED';
242
    D3DRMERR_FILENOTFOUND               : Result := 'D3DRMERR_FILENOTFOUND';
243
    D3DRMERR_NOTDONEYET                 : Result := 'D3DRMERR_NOTDONEYET';
244
    D3DRMERR_NOTFOUND                   : Result := 'D3DRMERR_NOTFOUND';
245
    D3DRMERR_UNABLETOEXECUTE            : Result := 'D3DRMERR_UNABLETOEXECUTE';
246
  else
247
    Result := WindowsErrorMsg(ErrorCode);
248
  end;
249
end;
4 daniel-mar 250
{$ENDIF}
1 daniel-mar 251
function DSoundErrorMsg(ErrorCode: HRESULT): string;
252
begin
253
  case ErrorCode of
254
    DS_OK                               : Result := 'DS_OK';
255
    DSERR_ALLOCATED                     : Result := 'DSERR_ALLOCATED';
256
    DSERR_ALREADYINITIALIZED            : Result := 'DSERR_ALREADYINITIALIZED';
257
    DSERR_BADFORMAT                     : Result := 'DSERR_BADFORMAT';
258
    DSERR_BUFFERLOST                    : Result := 'DSERR_BUFFERLOST';
259
    DSERR_CONTROLUNAVAIL                : Result := 'DSERR_CONTROLUNAVAIL';
260
    DSERR_GENERIC                       : Result := 'DSERR_GENERIC';
261
    DSERR_INVALIDPARAM                  : Result := 'DSERR_INVALIDPARAM';
262
    DSERR_INVALIDCALL                   : Result := 'DSERR_INVALIDCALL';
263
    DSERR_NOAGGREGATION                 : Result := 'DSERR_NOAGGREGATION';
264
    DSERR_NODRIVER                      : Result := 'DSERR_NODRIVER';
265
    DSERR_OUTOFMEMORY                   : Result := 'DSERR_OUTOFMEMORY';
266
    DSERR_PRIOLEVELNEEDED               : Result := 'DSERR_PRIOLEVELNEEDED';
267
    DSERR_UNSUPPORTED                   : Result := 'DSERR_UNSUPPORTED';
268
  else
269
    Result := WindowsErrorMsg(ErrorCode);
270
  end;
271
end;
272
 
273
function DInputErrorMsg(ErrorCode: HRESULT): string;
274
begin
275
  case ErrorCode of
276
    DI_OK                               : Result := 'DI_OK';
277
    DI_NOTATTACHED                      : Result := 'DI_NOTATTACHED, DI_BUFFEROVERFLOW, DI_PROPNOEFFECT, DI_POLLEDDEVICE';
278
    DIERR_OLDDIRECTINPUTVERSION         : Result := 'DIERR_OLDDIRECTINPUTVERSION';
279
    DIERR_BETADIRECTINPUTVERSION        : Result := 'DIERR_BETADIRECTINPUTVERSION';
280
    DIERR_BADDRIVERVER                  : Result := 'DIERR_BADDRIVERVER';
281
    DIERR_DEVICENOTREG                  : Result := 'DIERR_DEVICENOTREG';
282
    DIERR_OBJECTNOTFOUND                : Result := 'DIERR_OBJECTNOTFOUND';
283
    DIERR_INVALIDPARAM                  : Result := 'DIERR_INVALIDPARAM';
284
    DIERR_NOINTERFACE                   : Result := 'DIERR_NOINTERFACE';
285
    DIERR_GENERIC                       : Result := 'DIERR_GENERIC';
286
    DIERR_OUTOFMEMORY                   : Result := 'DIERR_OUTOFMEMORY';
287
    DIERR_UNSUPPORTED                   : Result := 'DIERR_UNSUPPORTED';
288
    DIERR_NOTINITIALIZED                : Result := 'DIERR_NOTINITIALIZED';
289
    DIERR_ALREADYINITIALIZED            : Result := 'DIERR_ALREADYINITIALIZED';
290
    DIERR_NOAGGREGATION                 : Result := 'DIERR_NOAGGREGATION';
291
    DIERR_OTHERAPPHASPRIO               : Result := 'DIERR_OTHERAPPHASPRIO, DIERR_READONLY, DIERR_HANDLEEXISTS';
292
    DIERR_INPUTLOST                     : Result := 'DIERR_INPUTLOST';
293
    DIERR_ACQUIRED                      : Result := 'DIERR_ACQUIRED';
294
    DIERR_NOTACQUIRED                   : Result := 'DIERR_NOTACQUIRED';
4 daniel-mar 295
    HRESULT(E_PENDING)                  : Result := 'E_PENDING';
1 daniel-mar 296
  else
297
    Result := WindowsErrorMsg(ErrorCode);
298
  end;
299
end;
57 daniel-mar 300
{$IFDEF UseDirectPlay}
4 daniel-mar 301
{$IfDef DX9}
1 daniel-mar 302
function DPlayErrorMsg(ErrorCode: HRESULT): string;
303
begin
304
  case ErrorCode of
4 daniel-mar 305
    DPN_OK                               : Result := 'DPN_OK';
306
    DPNERR_ALREADYINITIALIZED            : Result := 'DPNERR_ALREADYINITIALIZED';
307
    //DPNERR_ACCESSDENIED                  : Result := 'DPNERR_ACCESSDENIED';
308
    //DPNERR_ACTIVEPLAYERS                 : Result := 'DPNERR_ACTIVEPLAYERS';
309
    DPNERR_BUFFERTOOSMALL                : Result := 'DPNERR_BUFFERTOOSMALL';
310
    //DPNERR_CANTADDPLAYER                 : Result := 'DPNERR_CANTADDPLAYER';
311
    DPNERR_CANTCREATEGROUP               : Result := 'DPNERR_CANTCREATEGROUP';
312
    DPNERR_CANTCREATEPLAYER              : Result := 'DPNERR_CANTCREATEPLAYER';
313
    //DPNERR_CANTCREATESESSION             : Result := 'DPNERR_CANTCREATESESSION';
314
    //DPNERR_CAPSNOTAVAILABLEYET           : Result := 'DPNERR_CAPSNOTAVAILABLEYET';
315
    DPNERR_EXCEPTION                     : Result := 'DPNERR_EXCEPTION';
316
    DPNERR_GENERIC                       : Result := 'DPNERR_GENERIC';
317
    DPNERR_INVALIDFLAGS                  : Result := 'DPNERR_INVALIDFLAGS';
318
    DPNERR_INVALIDOBJECT                 : Result := 'DPNERR_INVALIDOBJECT';
319
    DPNERR_INVALIDPARAM                  : Result := 'DPNERR_INVALIDPARAM, DPNERR_INVALIDPARAMS';
320
    DPNERR_INVALIDPLAYER                 : Result := 'DPNERR_INVALIDPLAYER';
321
    DPNERR_INVALIDGROUP                  : Result := 'DPNERR_INVALIDGROUP';
322
    DPNERR_NOCAPS                        : Result := 'DPNERR_NOCAPS';
323
    DPNERR_NOCONNECTION                  : Result := 'DPNERR_NOCONNECTION';
324
    //DPNERR_NOMEMORY                      : Result := 'DPNERR_NOMEMORY, DPNERR_OUTOFMEMORY';
325
    //DPNERR_NOMESSAGES                    : Result := 'DPNERR_NOMESSAGES';
326
    //DPNERR_NONAMESERVERFOUND             : Result := 'DPNERR_NONAMESERVERFOUND';
327
    //DPNERR_NOPLAYERS                     : Result := 'DPNERR_NOPLAYERS';
328
    //DPNERR_NOSESSIONS                    : Result := 'DPNERR_NOSESSIONS';
329
    DPNERR_PENDING                       : Result := 'DPNERR_PENDING';
330
    //DPNERR_SENDTOOBIG                    : Result := 'DPNERR_SENDTOOBIG';
331
    //DPNERR_TIMEOUT                       : Result := 'DPNERR_TIMEOUT';
332
    //DPNERR_UNAVAILABLE                   : Result := 'DPNERR_UNAVAILABLE';
333
    DPNERR_UNSUPPORTED                   : Result := 'DPNERR_UNSUPPORTED';
334
    //DPNERR_BUSY                          : Result := 'DPNERR_BUSY';
335
    DPNERR_USERCANCEL                    : Result := 'DPNERR_USERCANCEL';
336
    DPNERR_NOINTERFACE                   : Result := 'DPNERR_NOINTERFACE';
337
    //DPNERR_CANNOTCREATESERVER            : Result := 'DPNERR_CANNOTCREATESERVER';
338
    DPNERR_PLAYERLOST                    : Result := 'DPNERR_PLAYERLOST';
339
    //DPNERR_SESSIONLOST                   : Result := 'DPNERR_SESSIONLOST';
340
    DPNERR_UNINITIALIZED                 : Result := 'DPNERR_UNINITIALIZED';
341
    //DPNERR_NONEWPLAYERS                  : Result := 'DPNERR_NONEWPLAYERS';
342
    DPNERR_INVALIDPASSWORD               : Result := 'DPNERR_INVALIDPASSWORD';
343
    DPNERR_CONNECTING                    : Result := 'DPNERR_CONNECTING';
344
    //DPNERR_BUFFERTOOLARGE                : Result := 'DPNERR_BUFFERTOOLARGE';
345
    //DPNERR_CANTCREATEPROCESS             : Result := 'DPNERR_CANTCREATEPROCESS';
346
    //DPNERR_APPNOTSTARTED                 : Result := 'DPNERR_APPNOTSTARTED';
347
    DPNERR_INVALIDINTERFACE              : Result := 'DPNERR_INVALIDINTERFACE';
348
    //DPNERR_NOSERVICEPROVIDER             : Result := 'DPNERR_NOSERVICEPROVIDER';
349
    //DPNERR_UNKNOWNAPPLICATION            : Result := 'DPNERR_UNKNOWNAPPLICATION';
350
    //DPNERR_NOTLOBBIED                    : Result := 'DPNERR_NOTLOBBIED';
351
    //DPNERR_SERVICEPROVIDERLOADED         : Result := 'DPNERR_SERVICEPROVIDERLOADED';
352
    DPNERR_NOTREGISTERED                 : Result := 'DPNERR_NOTREGISTERED';
353
// Security related errors
354
    //DPNERR_AUTHENTICATIONFAILED          : Result := 'DPNERR_AUTHENTICATIONFAILED';
355
    //DPNERR_CANTLOADSSPI                  : Result := 'DPNERR_CANTLOADSSPI';
356
    //DPNERR_ENCRYPTIONFAILED              : Result := 'DPNERR_ENCRYPTIONFAILED';
357
    //DPNERR_SIGNFAILED                    : Result := 'DPNERR_SIGNFAILED';
358
    //DPNERR_CANTLOADSECURITYPACKAGE       : Result := 'DPNERR_CANTLOADSECURITYPACKAGE';
359
    //DPNERR_ENCRYPTIONNOTSUPPORTED        : Result := 'DPNERR_ENCRYPTIONNOTSUPPORTED';
360
    //DPNERR_CANTLOADCAPI                  : Result := 'DPNERR_CANTLOADCAPI';
361
    //DPNERR_NOTLOGGEDIN                   : Result := 'DPNERR_NOTLOGGEDIN';
362
    //DPNERR_LOGONDENIED                   : Result := 'DPNERR_LOGONDENIED';
363
  else
364
    Result := WindowsErrorMsg(ErrorCode);
365
  end;
366
end;
367
{$Else}
368
function DPlayErrorMsg(ErrorCode: HRESULT): string;
369
begin
370
  case ErrorCode of
1 daniel-mar 371
    DP_OK                               : Result := 'DP_OK';
372
    DPERR_ALREADYINITIALIZED            : Result := 'DPERR_ALREADYINITIALIZED';
373
    DPERR_ACCESSDENIED                  : Result := 'DPERR_ACCESSDENIED';
374
    DPERR_ACTIVEPLAYERS                 : Result := 'DPERR_ACTIVEPLAYERS';
375
    DPERR_BUFFERTOOSMALL                : Result := 'DPERR_BUFFERTOOSMALL';
376
    DPERR_CANTADDPLAYER                 : Result := 'DPERR_CANTADDPLAYER';
377
    DPERR_CANTCREATEGROUP               : Result := 'DPERR_CANTCREATEGROUP';
378
    DPERR_CANTCREATEPLAYER              : Result := 'DPERR_CANTCREATEPLAYER';
379
    DPERR_CANTCREATESESSION             : Result := 'DPERR_CANTCREATESESSION';
380
    DPERR_CAPSNOTAVAILABLEYET           : Result := 'DPERR_CAPSNOTAVAILABLEYET';
381
    DPERR_EXCEPTION                     : Result := 'DPERR_EXCEPTION';
382
    DPERR_GENERIC                       : Result := 'DPERR_GENERIC';
383
    DPERR_INVALIDFLAGS                  : Result := 'DPERR_INVALIDFLAGS';
384
    DPERR_INVALIDOBJECT                 : Result := 'DPERR_INVALIDOBJECT';
385
    DPERR_INVALIDPARAM                  : Result := 'DPERR_INVALIDPARAM, DPERR_INVALIDPARAMS';
386
    DPERR_INVALIDPLAYER                 : Result := 'DPERR_INVALIDPLAYER';
387
    DPERR_INVALIDGROUP                  : Result := 'DPERR_INVALIDGROUP';
388
    DPERR_NOCAPS                        : Result := 'DPERR_NOCAPS';
389
    DPERR_NOCONNECTION                  : Result := 'DPERR_NOCONNECTION';
390
    DPERR_NOMEMORY                      : Result := 'DPERR_NOMEMORY, DPERR_OUTOFMEMORY';
391
    DPERR_NOMESSAGES                    : Result := 'DPERR_NOMESSAGES';
392
    DPERR_NONAMESERVERFOUND             : Result := 'DPERR_NONAMESERVERFOUND';
393
    DPERR_NOPLAYERS                     : Result := 'DPERR_NOPLAYERS';
394
    DPERR_NOSESSIONS                    : Result := 'DPERR_NOSESSIONS';
395
    DPERR_PENDING                       : Result := 'DPERR_PENDING';
396
    DPERR_SENDTOOBIG                    : Result := 'DPERR_SENDTOOBIG';
397
    DPERR_TIMEOUT                       : Result := 'DPERR_TIMEOUT';
398
    DPERR_UNAVAILABLE                   : Result := 'DPERR_UNAVAILABLE';
399
    DPERR_UNSUPPORTED                   : Result := 'DPERR_UNSUPPORTED';
400
    DPERR_BUSY                          : Result := 'DPERR_BUSY';
401
    DPERR_USERCANCEL                    : Result := 'DPERR_USERCANCEL';
402
    DPERR_NOINTERFACE                   : Result := 'DPERR_NOINTERFACE';
403
    DPERR_CANNOTCREATESERVER            : Result := 'DPERR_CANNOTCREATESERVER';
404
    DPERR_PLAYERLOST                    : Result := 'DPERR_PLAYERLOST';
405
    DPERR_SESSIONLOST                   : Result := 'DPERR_SESSIONLOST';
406
    DPERR_UNINITIALIZED                 : Result := 'DPERR_UNINITIALIZED';
407
    DPERR_NONEWPLAYERS                  : Result := 'DPERR_NONEWPLAYERS';
408
    DPERR_INVALIDPASSWORD               : Result := 'DPERR_INVALIDPASSWORD';
409
    DPERR_CONNECTING                    : Result := 'DPERR_CONNECTING';
410
    DPERR_BUFFERTOOLARGE                : Result := 'DPERR_BUFFERTOOLARGE';
411
    DPERR_CANTCREATEPROCESS             : Result := 'DPERR_CANTCREATEPROCESS';
412
    DPERR_APPNOTSTARTED                 : Result := 'DPERR_APPNOTSTARTED';
413
    DPERR_INVALIDINTERFACE              : Result := 'DPERR_INVALIDINTERFACE';
414
    DPERR_NOSERVICEPROVIDER             : Result := 'DPERR_NOSERVICEPROVIDER';
415
    DPERR_UNKNOWNAPPLICATION            : Result := 'DPERR_UNKNOWNAPPLICATION';
416
    DPERR_NOTLOBBIED                    : Result := 'DPERR_NOTLOBBIED';
417
    DPERR_SERVICEPROVIDERLOADED         : Result := 'DPERR_SERVICEPROVIDERLOADED';
418
    DPERR_NOTREGISTERED                 : Result := 'DPERR_NOTREGISTERED';
419
// Security related errors
420
    DPERR_AUTHENTICATIONFAILED          : Result := 'DPERR_AUTHENTICATIONFAILED';
421
    DPERR_CANTLOADSSPI                  : Result := 'DPERR_CANTLOADSSPI';
422
    DPERR_ENCRYPTIONFAILED              : Result := 'DPERR_ENCRYPTIONFAILED';
423
    DPERR_SIGNFAILED                    : Result := 'DPERR_SIGNFAILED';
424
    DPERR_CANTLOADSECURITYPACKAGE       : Result := 'DPERR_CANTLOADSECURITYPACKAGE';
425
    DPERR_ENCRYPTIONNOTSUPPORTED        : Result := 'DPERR_ENCRYPTIONNOTSUPPORTED';
426
    DPERR_CANTLOADCAPI                  : Result := 'DPERR_CANTLOADCAPI';
427
    DPERR_NOTLOGGEDIN                   : Result := 'DPERR_NOTLOGGEDIN';
428
    DPERR_LOGONDENIED                   : Result := 'DPERR_LOGONDENIED';
429
  else
430
    Result := WindowsErrorMsg(ErrorCode);
431
  end;
432
end;
4 daniel-mar 433
{$EndIf}
57 daniel-mar 434
{$EndIf} // UseDirectPlay
435
end.