Subversion Repositories spacemission

Rev

Rev 1 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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