DXFile.pas 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655
  1. {******************************************************************************}
  2. {* *}
  3. {* Copyright (C) 1999 Microsoft Corporation. All Rights Reserved. *}
  4. {* *}
  5. {* File: dxfile.h, rmxfguid.h, rmxftmpl.h *}
  6. {* Content: Interfaces to access Rendermorthics eXtensible file format *}
  7. {* *}
  8. {* XFile Delphi adaptation by Alexey Barkovoy *}
  9. {* E-Mail: clootie@reactor.ru *}
  10. {* *}
  11. {* Modified: 10-Dec-2002 *}
  12. {* *}
  13. {* Partly based upon : *}
  14. {* DirectX 7.0 Delphi adaptation by *}
  15. {* Erik Unger, e-Mail: DelphiDirectX@next-reality.com *}
  16. {* *}
  17. {* Latest version can be downloaded from: *}
  18. {* http://clootie.narod.ru/delphi/ *}
  19. {* *}
  20. {* This File contains interfaces to access Rendermorthics eXtensible file *}
  21. {* known as 'X-file'. Also this file contains GUID's and templates from *}
  22. {* Direct3D Retained mode "rmxfguid.h" and "rmxftmpl.h" (they are used by *}
  23. {* Direct3D8 Immediate mode samples). *}
  24. {* *}
  25. {******************************************************************************}
  26. { }
  27. { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
  28. { }
  29. { The contents of this file are used with permission, subject to the Mozilla }
  30. { Public License Version 1.1 (the "License"); you may not use this file except }
  31. { in compliance with the License. You may obtain a copy of the License at }
  32. { http://www.mozilla.org/MPL/MPL-1.1.html }
  33. { }
  34. { Software distributed under the License is distributed on an "AS IS" basis, }
  35. { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
  36. { the specific language governing rights and limitations under the License. }
  37. { }
  38. { Alternatively, the contents of this file may be used under the terms of the }
  39. { GNU Lesser General Public License (the "LGPL License"), in which case the }
  40. { provisions of the LGPL License are applicable instead of those above. }
  41. { If you wish to allow use of your version of this file only under the terms }
  42. { of the LGPL License and not to allow others to use your version of this file }
  43. { under the MPL, indicate your decision by deleting the provisions above and }
  44. { replace them with the notice and other provisions required by the LGPL }
  45. { License. If you do not delete the provisions above, a recipient may use }
  46. { your version of this file under either the MPL or the LGPL License. }
  47. { }
  48. { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
  49. { }
  50. {******************************************************************************}
  51. {$I DirectX.inc}
  52. unit DXFile;
  53. interface
  54. (*$HPPEMIT '#include "dxfile.h"'{*)
  55. (*$HPPEMIT '#include "rmxfguid.h"'{*)
  56. (*$HPPEMIT '#include "rmxftmpl.h"'{*)
  57. uses Windows;
  58. (***************************************************************************
  59. {*
  60. {* Copyright (C) 1998-1999 Microsoft Corporation. All Rights Reserved.
  61. {*
  62. {* File: dxfile.h
  63. {*
  64. {* Content: DirectX File public header file
  65. {*
  66. {***************************************************************************)
  67. type
  68. DXFILEFORMAT = DWORD;
  69. {$EXTERNALSYM DXFILEFORMAT}
  70. TDXFileFormat = DXFILEFORMAT;
  71. const
  72. DXFILEFORMAT_BINARY = 0;
  73. {$EXTERNALSYM DXFILEFORMAT_BINARY}
  74. DXFILEFORMAT_TEXT = 1;
  75. {$EXTERNALSYM DXFILEFORMAT_TEXT}
  76. DXFILEFORMAT_COMPRESSED = 2;
  77. {$EXTERNALSYM DXFILEFORMAT_COMPRESSED}
  78. type
  79. DXFILELOADOPTIONS = {$IFDEF TYPE_IDENTITY}type {$ENDIF}DWord;
  80. {$EXTERNALSYM DXFILELOADOPTIONS}
  81. TDXFileLoadOptions = DXFILELOADOPTIONS;
  82. const
  83. DXFILELOAD_FROMFILE = $00;
  84. {$EXTERNALSYM DXFILELOAD_FROMFILE}
  85. DXFILELOAD_FROMRESOURCE = $01;
  86. {$EXTERNALSYM DXFILELOAD_FROMRESOURCE}
  87. DXFILELOAD_FROMMEMORY = $02;
  88. {$EXTERNALSYM DXFILELOAD_FROMMEMORY}
  89. DXFILELOAD_FROMSTREAM = $04;
  90. {$EXTERNALSYM DXFILELOAD_FROMSTREAM}
  91. DXFILELOAD_FROMURL = $08;
  92. {$EXTERNALSYM DXFILELOAD_FROMURL}
  93. type
  94. PDXFileLoadResource = ^TDXFileLoadResource;
  95. _DXFILELOADRESOURCE = packed record
  96. hModule: HModule;
  97. lpName: PChar;
  98. lpType: PChar;
  99. end;
  100. {$EXTERNALSYM _DXFILELOADRESOURCE}
  101. DXFILELOADRESOURCE = _DXFILELOADRESOURCE;
  102. {$EXTERNALSYM DXFILELOADRESOURCE}
  103. TDXFileLoadResource = _DXFILELOADRESOURCE;
  104. PDXFileLoadMemory = ^TDXFileLoadMemory;
  105. _DXFILELOADMEMORY = packed record
  106. lpMemory: Pointer;
  107. dSize: DWord;
  108. end;
  109. {$EXTERNALSYM _DXFILELOADMEMORY}
  110. DXFILELOADMEMORY = _DXFILELOADMEMORY;
  111. {$EXTERNALSYM DXFILELOADMEMORY}
  112. TDXFileLoadMemory = _DXFILELOADMEMORY;
  113. (*
  114. {* DirectX File object types.
  115. {*)
  116. type
  117. IDirectXFile = interface;
  118. {$EXTERNALSYM IDirectXFile}
  119. {$HPPEMIT 'typedef System::DelphiInterface<IDirectXFile> _di_IDirectXFile;'}
  120. IDirectXFileEnumObject = interface;
  121. {$EXTERNALSYM IDirectXFileEnumObject}
  122. {$HPPEMIT 'typedef System::DelphiInterface<IDirectXFileEnumObject> _di_IDirectXFileEnumObject;'}
  123. IDirectXFileSaveObject = interface;
  124. {$EXTERNALSYM IDirectXFileSaveObject}
  125. {$HPPEMIT 'typedef System::DelphiInterface<IDirectXFileSaveObject> _di_IDirectXFileSaveObject;'}
  126. IDirectXFileObject = interface;
  127. {$EXTERNALSYM IDirectXFileObject}
  128. {$HPPEMIT 'typedef System::DelphiInterface<IDirectXFileObject> _di_IDirectXFileObject;'}
  129. IDirectXFileData = interface;
  130. {$EXTERNALSYM IDirectXFileData}
  131. {$HPPEMIT 'typedef System::DelphiInterface<IDirectXFileData> _di_IDirectXFileData;'}
  132. IDirectXFileDataReference = interface;
  133. {$EXTERNALSYM IDirectXFileDataReference}
  134. {$HPPEMIT 'typedef System::DelphiInterface<IDirectXFileDataReference> _di_IDirectXFileDataReference;'}
  135. IDirectXFileBinary = interface;
  136. {$EXTERNALSYM IDirectXFileBinary}
  137. {$HPPEMIT 'typedef System::DelphiInterface<IDirectXFileBinary> _di_IDirectXFileBinary;'}
  138. (*
  139. {* DirectX File interfaces.
  140. {*)
  141. IDirectXFile = interface(IUnknown)
  142. ['{3d82ab40-62da-11cf-ab39-0020af71e433}']
  143. function CreateEnumObject (pvSource: Pointer;
  144. dwLoadOptions: TDXFileLoadOptions;
  145. var ppEnumObj: IDirectXFileEnumObject): HResult; stdcall;
  146. function CreateSaveObject (szFileName: PChar; dwFileFormat: TDXFileFormat;
  147. var ppSaveObj: IDirectXFileSaveObject): HResult; stdcall;
  148. function RegisterTemplates (pvData: Pointer; cbSize: DWORD): HResult; stdcall;
  149. end;
  150. IDirectXFileEnumObject = interface (IUnknown)
  151. ['{3d82ab41-62da-11cf-ab39-0020af71e433}']
  152. function GetNextDataObject (var ppDataObj: IDirectXFileData) : HResult; stdcall;
  153. function GetDataObjectById
  154. (const rguid: TGUID; var ppDataObj: IDirectXFileData) : HResult; stdcall;
  155. function GetDataObjectByName
  156. (szName: PChar; var ppDataObj: IDirectXFileData) : HResult; stdcall;
  157. end;
  158. IDirectXFileSaveObject = interface (IUnknown)
  159. ['{3d82ab42-62da-11cf-ab39-0020af71e433}']
  160. function SaveTemplates
  161. (cTemplates: DWORD; var ppguidTemplates: PGUID) : HResult; stdcall;
  162. function CreateDataObject (const rguidTemplate: TGUID; szName: PChar;
  163. pguid: PGUID; cbSize: DWORD; pvData: Pointer;
  164. var ppDataObj: IDirectXFileData) : HResult; stdcall;
  165. function SaveData (pDataObj: IDirectXFileData) : HResult; stdcall;
  166. end;
  167. IDirectXFileObject = interface (IUnknown)
  168. ['{3d82ab43-62da-11cf-ab39-0020af71e433}']
  169. function GetName (pstrNameBuf: PChar; var dwBufLen: DWORD) : HResult; stdcall;
  170. function GetId (var pGuidBuf: TGUID) : HResult; stdcall;
  171. end;
  172. IDirectXFileData = interface (IDirectXFileObject)
  173. ['{3d82ab44-62da-11cf-ab39-0020af71e433}']
  174. function GetData
  175. (szMember: PChar; var pcbSize: DWORD; var ppvData: Pointer) : HResult; stdcall;
  176. function GetType (var ppguid: PGUID) : HResult; stdcall;
  177. function GetNextObject (var ppChildObj: IDirectXFileObject) : HResult; stdcall;
  178. function AddDataObject (pDataObj: IDirectXFileData) : HResult; stdcall;
  179. function AddDataReference (szRef: PChar; pguidRef: PGUID) : HResult; stdcall;
  180. function AddBinaryObject (szName: PChar; pguid: PGUID; szMimeType: PChar;
  181. pvData: Pointer; cbSize: DWORD) : HResult; stdcall;
  182. end;
  183. IDirectXFileDataReference = interface (IDirectXFileObject)
  184. ['{3d82ab45-62da-11cf-ab39-0020af71e433}']
  185. function Resolve (var ppDataObj: IDirectXFileData) : HResult; stdcall;
  186. end;
  187. IDirectXFileBinary = interface (IDirectXFileObject)
  188. ['{3d82ab46-62da-11cf-ab39-0020af71e433}']
  189. function GetSize (var pcbSize: DWORD) : HResult; stdcall;
  190. function GetMimeType (var pszMimeType: PChar) : HResult; stdcall;
  191. function Read(pvData: Pointer; cbSize: DWORD; pcbRead: PDWORD{?}) : HResult; stdcall;
  192. end;
  193. (*
  194. {* DirectXFile Object Class Id (for CoCreateInstance())
  195. {*)
  196. const
  197. CLSID_CDirectXFile: TGUID =
  198. (D1:$4516ec43;D2:$8f20;D3:$11d0;D4:($9b,$6d,$00,$00,$c0,$78,$1b,$c3));
  199. {$EXTERNALSYM CLSID_CDirectXFile}
  200. (*
  201. {* DirectX File Interface GUIDs.
  202. {*)
  203. type
  204. IID_IDirectXFile = IDirectXFile;
  205. {$EXTERNALSYM IID_IDirectXFile}
  206. IID_IDirectXFileEnumObject = IDirectXFileEnumObject;
  207. {$EXTERNALSYM IID_IDirectXFileEnumObject}
  208. IID_IDirectXFileSaveObject = IDirectXFileSaveObject;
  209. {$EXTERNALSYM IID_IDirectXFileSaveObject}
  210. IID_IDirectXFileObject = IDirectXFileObject;
  211. {$EXTERNALSYM IID_IDirectXFileObject}
  212. IID_IDirectXFileData = IDirectXFileData;
  213. {$EXTERNALSYM IID_IDirectXFileData}
  214. IID_IDirectXFileDataReference = IDirectXFileDataReference;
  215. {$EXTERNALSYM IID_IDirectXFileDataReference}
  216. IID_IDirectXFileBinary = IDirectXFileBinary;
  217. {$EXTERNALSYM IID_IDirectXFileBinary}
  218. (*
  219. {* DirectX File Header template's GUID.
  220. {*)
  221. const
  222. TID_DXFILEHeader: TGUID =
  223. (D1:$3d82ab43;D2:$62da;D3:$11cf;D4:($ab,$39,$00,$20,$af,$71,$e4,$33));
  224. {$EXTERNALSYM TID_DXFILEHeader}
  225. (*
  226. {* DirectX File errors.
  227. {*)
  228. const
  229. _FACD3D = $876;
  230. {$EXTERNALSYM _FACD3D}
  231. // #define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code )
  232. function MAKE_DDHRESULT(Code: DWord): DWord;
  233. {$EXTERNALSYM MAKE_DDHRESULT}
  234. const
  235. MAKE_DDHRESULT_D = (1 shl 31) or (_FACD3D shl 16);
  236. DXFILE_OK = 0;
  237. {$EXTERNALSYM DXFILE_OK}
  238. DXFILEERR_BADOBJECT = HResult(MAKE_DDHRESULT_D or 850);
  239. {$EXTERNALSYM DXFILEERR_BADOBJECT}
  240. DXFILEERR_BADVALUE = HResult(MAKE_DDHRESULT_D or 851);
  241. {$EXTERNALSYM DXFILEERR_BADVALUE}
  242. DXFILEERR_BADTYPE = HResult(MAKE_DDHRESULT_D or 852);
  243. {$EXTERNALSYM DXFILEERR_BADTYPE}
  244. DXFILEERR_BADSTREAMHANDLE = HResult(MAKE_DDHRESULT_D or 853);
  245. {$EXTERNALSYM DXFILEERR_BADSTREAMHANDLE}
  246. DXFILEERR_BADALLOC = HResult(MAKE_DDHRESULT_D or 854);
  247. {$EXTERNALSYM DXFILEERR_BADALLOC}
  248. DXFILEERR_NOTFOUND = HResult(MAKE_DDHRESULT_D or 855);
  249. {$EXTERNALSYM DXFILEERR_NOTFOUND}
  250. DXFILEERR_NOTDONEYET = HResult(MAKE_DDHRESULT_D or 856);
  251. {$EXTERNALSYM DXFILEERR_NOTDONEYET}
  252. DXFILEERR_FILENOTFOUND = HResult(MAKE_DDHRESULT_D or 857);
  253. {$EXTERNALSYM DXFILEERR_FILENOTFOUND}
  254. DXFILEERR_RESOURCENOTFOUND = HResult(MAKE_DDHRESULT_D or 858);
  255. {$EXTERNALSYM DXFILEERR_RESOURCENOTFOUND}
  256. DXFILEERR_URLNOTFOUND = HResult(MAKE_DDHRESULT_D or 859);
  257. {$EXTERNALSYM DXFILEERR_URLNOTFOUND}
  258. DXFILEERR_BADRESOURCE = HResult(MAKE_DDHRESULT_D or 860);
  259. {$EXTERNALSYM DXFILEERR_BADRESOURCE}
  260. DXFILEERR_BADFILETYPE = HResult(MAKE_DDHRESULT_D or 861);
  261. {$EXTERNALSYM DXFILEERR_BADFILETYPE}
  262. DXFILEERR_BADFILEVERSION = HResult(MAKE_DDHRESULT_D or 862);
  263. {$EXTERNALSYM DXFILEERR_BADFILEVERSION}
  264. DXFILEERR_BADFILEFLOATSIZE = HResult(MAKE_DDHRESULT_D or 863);
  265. {$EXTERNALSYM DXFILEERR_BADFILEFLOATSIZE}
  266. DXFILEERR_BADFILECOMPRESSIONTYPE = HResult(MAKE_DDHRESULT_D or 864);
  267. {$EXTERNALSYM DXFILEERR_BADFILECOMPRESSIONTYPE}
  268. DXFILEERR_BADFILE = HResult(MAKE_DDHRESULT_D or 865);
  269. {$EXTERNALSYM DXFILEERR_BADFILE}
  270. DXFILEERR_PARSEERROR = HResult(MAKE_DDHRESULT_D or 866);
  271. {$EXTERNALSYM DXFILEERR_PARSEERROR}
  272. DXFILEERR_NOTEMPLATE = HResult(MAKE_DDHRESULT_D or 867);
  273. {$EXTERNALSYM DXFILEERR_NOTEMPLATE}
  274. DXFILEERR_BADARRAYSIZE = HResult(MAKE_DDHRESULT_D or 868);
  275. {$EXTERNALSYM DXFILEERR_BADARRAYSIZE}
  276. DXFILEERR_BADDATAREFERENCE = HResult(MAKE_DDHRESULT_D or 869);
  277. {$EXTERNALSYM DXFILEERR_BADDATAREFERENCE}
  278. DXFILEERR_INTERNALERROR = HResult(MAKE_DDHRESULT_D or 870);
  279. {$EXTERNALSYM DXFILEERR_INTERNALERROR}
  280. DXFILEERR_NOMOREOBJECTS = HResult(MAKE_DDHRESULT_D or 871);
  281. {$EXTERNALSYM DXFILEERR_NOMOREOBJECTS}
  282. DXFILEERR_BADINTRINSICS = HResult(MAKE_DDHRESULT_D or 872);
  283. {$EXTERNALSYM DXFILEERR_BADINTRINSICS}
  284. DXFILEERR_NOMORESTREAMHANDLES = HResult(MAKE_DDHRESULT_D or 873);
  285. {$EXTERNALSYM DXFILEERR_NOMORESTREAMHANDLES}
  286. DXFILEERR_NOMOREDATA = HResult(MAKE_DDHRESULT_D or 874);
  287. {$EXTERNALSYM DXFILEERR_NOMOREDATA}
  288. DXFILEERR_BADCACHEFILE = HResult(MAKE_DDHRESULT_D or 875);
  289. {$EXTERNALSYM DXFILEERR_BADCACHEFILE}
  290. DXFILEERR_NOINTERNET = HResult(MAKE_DDHRESULT_D or 876);
  291. {$EXTERNALSYM DXFILEERR_NOINTERNET}
  292. (*
  293. {* API for creating IDirectXFile interface.
  294. {*)
  295. function DirectXFileCreate(out lplpDirectXFile: IDirectXFile): HResult; stdcall;
  296. {$EXTERNALSYM DirectXFileCreate}
  297. (***************************************************************************
  298. {*
  299. {* Copyright (C) 1998-1999 Microsoft Corporation. All Rights Reserved.
  300. {*
  301. {* File: rmxfguid.h
  302. {*
  303. {* Content: Defines GUIDs of D3DRM's templates.
  304. {*
  305. {***************************************************************************)
  306. const
  307. TID_D3DRMInfo: TGUID = '{2B957100-9E9A-11cf-AB39-0020AF71E433}';
  308. {$EXTERNALSYM TID_D3DRMInfo}
  309. TID_D3DRMMesh: TGUID = '{3D82AB44-62DA-11cf-AB39-0020AF71E433}';
  310. {$EXTERNALSYM TID_D3DRMMesh}
  311. TID_D3DRMVector: TGUID = '{3D82AB5E-62DA-11cf-AB39-0020AF71E433}';
  312. {$EXTERNALSYM TID_D3DRMVector}
  313. TID_D3DRMMeshFace: TGUID = '{3D82AB5F-62DA-11cf-AB39-0020AF71E433}';
  314. {$EXTERNALSYM TID_D3DRMMeshFace}
  315. TID_D3DRMMaterial: TGUID = '{3D82AB4D-62DA-11cf-AB39-0020AF71E433}';
  316. {$EXTERNALSYM TID_D3DRMMaterial}
  317. TID_D3DRMMaterialArray: TGUID = '{35FF44E1-6C7C-11cf-8F52-0040333594A3}';
  318. {$EXTERNALSYM TID_D3DRMMaterialArray}
  319. TID_D3DRMFrame: TGUID = '{3D82AB46-62DA-11cf-AB39-0020AF71E433}';
  320. {$EXTERNALSYM TID_D3DRMFrame}
  321. TID_D3DRMFrameTransformMatrix: TGUID = '{F6F23F41-7686-11cf-8F52-0040333594A3}';
  322. {$EXTERNALSYM TID_D3DRMFrameTransformMatrix}
  323. TID_D3DRMMeshMaterialList: TGUID = '{F6F23F42-7686-11cf-8F52-0040333594A3}';
  324. {$EXTERNALSYM TID_D3DRMMeshMaterialList}
  325. TID_D3DRMMeshTextureCoords: TGUID = '{F6F23F40-7686-11cf-8F52-0040333594A3}';
  326. {$EXTERNALSYM TID_D3DRMMeshTextureCoords}
  327. TID_D3DRMMeshNormals: TGUID = '{F6F23F43-7686-11cf-8F52-0040333594A3}';
  328. {$EXTERNALSYM TID_D3DRMMeshNormals}
  329. TID_D3DRMCoords2d: TGUID = '{F6F23F44-7686-11cf-8F52-0040333594A3}';
  330. {$EXTERNALSYM TID_D3DRMCoords2d}
  331. TID_D3DRMMatrix4x4: TGUID = '{F6F23F45-7686-11cf-8F52-0040333594A3}';
  332. {$EXTERNALSYM TID_D3DRMMatrix4x4}
  333. TID_D3DRMAnimation: TGUID = '{3D82AB4F-62DA-11cf-AB39-0020AF71E433}';
  334. {$EXTERNALSYM TID_D3DRMAnimation}
  335. TID_D3DRMAnimationSet: TGUID = '{3D82AB50-62DA-11cf-AB39-0020AF71E433}';
  336. {$EXTERNALSYM TID_D3DRMAnimationSet}
  337. TID_D3DRMAnimationKey: TGUID = '{10DD46A8-775B-11cf-8F52-0040333594A3}';
  338. {$EXTERNALSYM TID_D3DRMAnimationKey}
  339. TID_D3DRMFloatKeys: TGUID = '{10DD46A9-775B-11cf-8F52-0040333594A3}';
  340. {$EXTERNALSYM TID_D3DRMFloatKeys}
  341. TID_D3DRMMaterialAmbientColor: TGUID = '{01411840-7786-11cf-8F52-0040333594A3}';
  342. {$EXTERNALSYM TID_D3DRMMaterialAmbientColor}
  343. TID_D3DRMMaterialDiffuseColor: TGUID = '{01411841-7786-11cf-8F52-0040333594A3}';
  344. {$EXTERNALSYM TID_D3DRMMaterialDiffuseColor}
  345. TID_D3DRMMaterialSpecularColor: TGUID = '{01411842-7786-11cf-8F52-0040333594A3}';
  346. {$EXTERNALSYM TID_D3DRMMaterialSpecularColor}
  347. TID_D3DRMMaterialEmissiveColor: TGUID = '{D3E16E80-7835-11cf-8F52-0040333594A3}';
  348. {$EXTERNALSYM TID_D3DRMMaterialEmissiveColor}
  349. TID_D3DRMMaterialPower: TGUID = '{01411843-7786-11cf-8F52-0040333594A3}';
  350. {$EXTERNALSYM TID_D3DRMMaterialPower}
  351. TID_D3DRMColorRGBA: TGUID = '{35FF44E0-6C7C-11cf-8F52-0040333594A3}';
  352. {$EXTERNALSYM TID_D3DRMColorRGBA}
  353. TID_D3DRMColorRGB: TGUID = '{D3E16E81-7835-11cf-8F52-0040333594A3}';
  354. {$EXTERNALSYM TID_D3DRMColorRGB}
  355. TID_D3DRMGuid: TGUID = '{A42790E0-7810-11cf-8F52-0040333594A3}';
  356. {$EXTERNALSYM TID_D3DRMGuid}
  357. TID_D3DRMTextureFilename: TGUID = '{A42790E1-7810-11cf-8F52-0040333594A3}';
  358. {$EXTERNALSYM TID_D3DRMTextureFilename}
  359. TID_D3DRMTextureReference: TGUID = '{A42790E2-7810-11cf-8F52-0040333594A3}';
  360. {$EXTERNALSYM TID_D3DRMTextureReference}
  361. TID_D3DRMIndexedColor: TGUID = '{1630B820-7842-11cf-8F52-0040333594A3}';
  362. {$EXTERNALSYM TID_D3DRMIndexedColor}
  363. TID_D3DRMMeshVertexColors: TGUID = '{1630B821-7842-11cf-8F52-0040333594A3}';
  364. {$EXTERNALSYM TID_D3DRMMeshVertexColors}
  365. TID_D3DRMMaterialWrap: TGUID = '{4885AE60-78E8-11cf-8F52-0040333594A3}';
  366. {$EXTERNALSYM TID_D3DRMMaterialWrap}
  367. TID_D3DRMBoolean: TGUID = '{537DA6A0-CA37-11d0-941C-0080C80CFA7B}';
  368. {$EXTERNALSYM TID_D3DRMBoolean}
  369. TID_D3DRMMeshFaceWraps: TGUID = '{ED1EC5C0-C0A8-11d0-941C-0080C80CFA7B}';
  370. {$EXTERNALSYM TID_D3DRMMeshFaceWraps}
  371. TID_D3DRMBoolean2d: TGUID = '{4885AE63-78E8-11cf-8F52-0040333594A3}';
  372. {$EXTERNALSYM TID_D3DRMBoolean2d}
  373. TID_D3DRMTimedFloatKeys: TGUID = '{F406B180-7B3B-11cf-8F52-0040333594A3}';
  374. {$EXTERNALSYM TID_D3DRMTimedFloatKeys}
  375. TID_D3DRMAnimationOptions: TGUID = '{E2BF56C0-840F-11cf-8F52-0040333594A3}';
  376. {$EXTERNALSYM TID_D3DRMAnimationOptions}
  377. TID_D3DRMFramePosition: TGUID = '{E2BF56C1-840F-11cf-8F52-0040333594A3}';
  378. {$EXTERNALSYM TID_D3DRMFramePosition}
  379. TID_D3DRMFrameVelocity: TGUID = '{E2BF56C2-840F-11cf-8F52-0040333594A3}';
  380. {$EXTERNALSYM TID_D3DRMFrameVelocity}
  381. TID_D3DRMFrameRotation: TGUID = '{E2BF56C3-840F-11cf-8F52-0040333594A3}';
  382. {$EXTERNALSYM TID_D3DRMFrameRotation}
  383. TID_D3DRMLight: TGUID = '{3D82AB4A-62DA-11cf-AB39-0020AF71E433}';
  384. {$EXTERNALSYM TID_D3DRMLight}
  385. TID_D3DRMCamera: TGUID = '{3D82AB51-62DA-11cf-AB39-0020AF71E433}';
  386. {$EXTERNALSYM TID_D3DRMCamera}
  387. TID_D3DRMAppData: TGUID = '{E5745280-B24F-11cf-9DD5-00AA00A71A2F}';
  388. {$EXTERNALSYM TID_D3DRMAppData}
  389. TID_D3DRMLightUmbra: TGUID = '{AED22740-B31F-11cf-9DD5-00AA00A71A2F}';
  390. {$EXTERNALSYM TID_D3DRMLightUmbra}
  391. TID_D3DRMLightRange: TGUID = '{AED22742-B31F-11cf-9DD5-00AA00A71A2F}';
  392. {$EXTERNALSYM TID_D3DRMLightRange}
  393. TID_D3DRMLightPenumbra: TGUID = '{AED22741-B31F-11cf-9DD5-00AA00A71A2F}';
  394. {$EXTERNALSYM TID_D3DRMLightPenumbra}
  395. TID_D3DRMLightAttenuation: TGUID = '{A8A98BA0-C5E5-11cf-B941-0080C80CFA7B}';
  396. {$EXTERNALSYM TID_D3DRMLightAttenuation}
  397. TID_D3DRMInlineData: TGUID = '{3A23EEA0-94B1-11d0-AB39-0020AF71E433}';
  398. {$EXTERNALSYM TID_D3DRMInlineData}
  399. TID_D3DRMUrl: TGUID = '{3A23EEA1-94B1-11d0-AB39-0020AF71E433}';
  400. {$EXTERNALSYM TID_D3DRMUrl}
  401. TID_D3DRMProgressiveMesh: TGUID = '{8A63C360-997D-11d0-941C-0080C80CFA7B}';
  402. {$EXTERNALSYM TID_D3DRMProgressiveMesh}
  403. TID_D3DRMExternalVisual: TGUID = '{98116AA0-BDBA-11d1-82C0-00A0C9697271}';
  404. {$EXTERNALSYM TID_D3DRMExternalVisual}
  405. TID_D3DRMStringProperty: TGUID = '{7F0F21E0-BFE1-11d1-82C0-00A0C9697271}';
  406. {$EXTERNALSYM TID_D3DRMStringProperty}
  407. TID_D3DRMPropertyBag: TGUID = '{7F0F21E1-BFE1-11d1-82C0-00A0C9697271}';
  408. {$EXTERNALSYM TID_D3DRMPropertyBag}
  409. TID_D3DRMRightHanded: TGUID = '{7F5D5EA0-D53A-11d1-82C0-00A0C9697271}';
  410. {$EXTERNALSYM TID_D3DRMRightHanded}
  411. (*==========================================================================;
  412. {*
  413. {* Copyright (C) 1995-1997 Microsoft Corporation. All Rights Reserved.
  414. {*
  415. {* File: rmxftmpl.h
  416. {* Content: D3DRM XFile templates in binary form
  417. {*
  418. {***************************************************************************)
  419. const
  420. D3DRM_XTEMPLATE_BYTES = 3278;
  421. {$EXTERNALSYM D3DRM_XTEMPLATE_BYTES}
  422. {$EXTERNALSYM D3DRM_XTEMPLATES}
  423. D3DRM_XTEMPLATES: array [0..D3DRM_XTEMPLATE_BYTES-1] of byte = (
  424. $78, $6f, $66, $20, $30, $33, $30, $32, $62, $69, $6e, $20, $30, $30, $36, $34, $1f, 0, $1,
  425. 0, $6, 0, 0, 0, $48, $65, $61, $64, $65, $72, $a, 0, $5, 0, $43, $ab, $82, $3d, $da,
  426. $62, $cf, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $28, 0, $1, 0, $5, 0, 0, 0, $6d,
  427. $61, $6a, $6f, $72, $14, 0, $28, 0, $1, 0, $5, 0, 0, 0, $6d, $69, $6e, $6f, $72, $14,
  428. 0, $29, 0, $1, 0, $5, 0, 0, 0, $66, $6c, $61, $67, $73, $14, 0, $b, 0, $1f, 0,
  429. $1, 0, $6, 0, 0, 0, $56, $65, $63, $74, $6f, $72, $a, 0, $5, 0, $5e, $ab, $82, $3d,
  430. $da, $62, $cf, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $2a, 0, $1, 0, $1, 0, 0, 0,
  431. $78, $14, 0, $2a, 0, $1, 0, $1, 0, 0, 0, $79, $14, 0, $2a, 0, $1, 0, $1, 0,
  432. 0, 0, $7a, $14, 0, $b, 0, $1f, 0, $1, 0, $8, 0, 0, 0, $43, $6f, $6f, $72, $64,
  433. $73, $32, $64, $a, 0, $5, 0, $44, $3f, $f2, $f6, $86, $76, $cf, $11, $8f, $52, 0, $40, $33,
  434. $35, $94, $a3, $2a, 0, $1, 0, $1, 0, 0, 0, $75, $14, 0, $2a, 0, $1, 0, $1, 0,
  435. 0, 0, $76, $14, 0, $b, 0, $1f, 0, $1, 0, $9, 0, 0, 0, $4d, $61, $74, $72, $69,
  436. $78, $34, $78, $34, $a, 0, $5, 0, $45, $3f, $f2, $f6, $86, $76, $cf, $11, $8f, $52, 0, $40,
  437. $33, $35, $94, $a3, $34, 0, $2a, 0, $1, 0, $6, 0, 0, 0, $6d, $61, $74, $72, $69, $78,
  438. $e, 0, $3, 0, $10, 0, 0, 0, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0, $9, 0,
  439. 0, 0, $43, $6f, $6c, $6f, $72, $52, $47, $42, $41, $a, 0, $5, 0, $e0, $44, $ff, $35, $7c,
  440. $6c, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $2a, 0, $1, 0, $3, 0, 0, 0, $72,
  441. $65, $64, $14, 0, $2a, 0, $1, 0, $5, 0, 0, 0, $67, $72, $65, $65, $6e, $14, 0, $2a,
  442. 0, $1, 0, $4, 0, 0, 0, $62, $6c, $75, $65, $14, 0, $2a, 0, $1, 0, $5, 0, 0,
  443. 0, $61, $6c, $70, $68, $61, $14, 0, $b, 0, $1f, 0, $1, 0, $8, 0, 0, 0, $43, $6f,
  444. $6c, $6f, $72, $52, $47, $42, $a, 0, $5, 0, $81, $6e, $e1, $d3, $35, $78, $cf, $11, $8f, $52,
  445. 0, $40, $33, $35, $94, $a3, $2a, 0, $1, 0, $3, 0, 0, 0, $72, $65, $64, $14, 0, $2a,
  446. 0, $1, 0, $5, 0, 0, 0, $67, $72, $65, $65, $6e, $14, 0, $2a, 0, $1, 0, $4, 0,
  447. 0, 0, $62, $6c, $75, $65, $14, 0, $b, 0, $1f, 0, $1, 0, $c, 0, 0, 0, $49, $6e,
  448. $64, $65, $78, $65, $64, $43, $6f, $6c, $6f, $72, $a, 0, $5, 0, $20, $b8, $30, $16, $42, $78,
  449. $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $29, 0, $1, 0, $5, 0, 0, 0, $69, $6e,
  450. $64, $65, $78, $14, 0, $1, 0, $9, 0, 0, 0, $43, $6f, $6c, $6f, $72, $52, $47, $42, $41,
  451. $1, 0, $a, 0, 0, 0, $69, $6e, $64, $65, $78, $43, $6f, $6c, $6f, $72, $14, 0, $b, 0,
  452. $1f, 0, $1, 0, $7, 0, 0, 0, $42, $6f, $6f, $6c, $65, $61, $6e, $a, 0, $5, 0, $a0,
  453. $a6, $7d, $53, $37, $ca, $d0, $11, $94, $1c, 0, $80, $c8, $c, $fa, $7b, $29, 0, $1, 0, $9,
  454. 0, 0, 0, $74, $72, $75, $65, $66, $61, $6c, $73, $65, $14, 0, $b, 0, $1f, 0, $1, 0,
  455. $9, 0, 0, 0, $42, $6f, $6f, $6c, $65, $61, $6e, $32, $64, $a, 0, $5, 0, $63, $ae, $85,
  456. $48, $e8, $78, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $1, 0, $7, 0, 0, 0, $42,
  457. $6f, $6f, $6c, $65, $61, $6e, $1, 0, $1, 0, 0, 0, $75, $14, 0, $1, 0, $7, 0, 0,
  458. 0, $42, $6f, $6f, $6c, $65, $61, $6e, $1, 0, $1, 0, 0, 0, $76, $14, 0, $b, 0, $1f,
  459. 0, $1, 0, $c, 0, 0, 0, $4d, $61, $74, $65, $72, $69, $61, $6c, $57, $72, $61, $70, $a,
  460. 0, $5, 0, $60, $ae, $85, $48, $e8, $78, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $1,
  461. 0, $7, 0, 0, 0, $42, $6f, $6f, $6c, $65, $61, $6e, $1, 0, $1, 0, 0, 0, $75, $14,
  462. 0, $1, 0, $7, 0, 0, 0, $42, $6f, $6f, $6c, $65, $61, $6e, $1, 0, $1, 0, 0, 0,
  463. $76, $14, 0, $b, 0, $1f, 0, $1, 0, $f, 0, 0, 0, $54, $65, $78, $74, $75, $72, $65,
  464. $46, $69, $6c, $65, $6e, $61, $6d, $65, $a, 0, $5, 0, $e1, $90, $27, $a4, $10, $78, $cf, $11,
  465. $8f, $52, 0, $40, $33, $35, $94, $a3, $31, 0, $1, 0, $8, 0, 0, 0, $66, $69, $6c, $65,
  466. $6e, $61, $6d, $65, $14, 0, $b, 0, $1f, 0, $1, 0, $8, 0, 0, 0, $4d, $61, $74, $65,
  467. $72, $69, $61, $6c, $a, 0, $5, 0, $4d, $ab, $82, $3d, $da, $62, $cf, $11, $ab, $39, 0, $20,
  468. $af, $71, $e4, $33, $1, 0, $9, 0, 0, 0, $43, $6f, $6c, $6f, $72, $52, $47, $42, $41, $1,
  469. 0, $9, 0, 0, 0, $66, $61, $63, $65, $43, $6f, $6c, $6f, $72, $14, 0, $2a, 0, $1, 0,
  470. $5, 0, 0, 0, $70, $6f, $77, $65, $72, $14, 0, $1, 0, $8, 0, 0, 0, $43, $6f, $6c,
  471. $6f, $72, $52, $47, $42, $1, 0, $d, 0, 0, 0, $73, $70, $65, $63, $75, $6c, $61, $72, $43,
  472. $6f, $6c, $6f, $72, $14, 0, $1, 0, $8, 0, 0, 0, $43, $6f, $6c, $6f, $72, $52, $47, $42,
  473. $1, 0, $d, 0, 0, 0, $65, $6d, $69, $73, $73, $69, $76, $65, $43, $6f, $6c, $6f, $72, $14,
  474. 0, $e, 0, $12, 0, $12, 0, $12, 0, $f, 0, $b, 0, $1f, 0, $1, 0, $8, 0, 0,
  475. 0, $4d, $65, $73, $68, $46, $61, $63, $65, $a, 0, $5, 0, $5f, $ab, $82, $3d, $da, $62, $cf,
  476. $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $29, 0, $1, 0, $12, 0, 0, 0, $6e, $46, $61,
  477. $63, $65, $56, $65, $72, $74, $65, $78, $49, $6e, $64, $69, $63, $65, $73, $14, 0, $34, 0, $29,
  478. 0, $1, 0, $11, 0, 0, 0, $66, $61, $63, $65, $56, $65, $72, $74, $65, $78, $49, $6e, $64,
  479. $69, $63, $65, $73, $e, 0, $1, 0, $12, 0, 0, 0, $6e, $46, $61, $63, $65, $56, $65, $72,
  480. $74, $65, $78, $49, $6e, $64, $69, $63, $65, $73, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0,
  481. $d, 0, 0, 0, $4d, $65, $73, $68, $46, $61, $63, $65, $57, $72, $61, $70, $73, $a, 0, $5,
  482. 0, $c0, $c5, $1e, $ed, $a8, $c0, $d0, $11, $94, $1c, 0, $80, $c8, $c, $fa, $7b, $29, 0, $1,
  483. 0, $f, 0, 0, 0, $6e, $46, $61, $63, $65, $57, $72, $61, $70, $56, $61, $6c, $75, $65, $73,
  484. $14, 0, $34, 0, $1, 0, $9, 0, 0, 0, $42, $6f, $6f, $6c, $65, $61, $6e, $32, $64, $1,
  485. 0, $e, 0, 0, 0, $66, $61, $63, $65, $57, $72, $61, $70, $56, $61, $6c, $75, $65, $73, $e,
  486. 0, $1, 0, $f, 0, 0, 0, $6e, $46, $61, $63, $65, $57, $72, $61, $70, $56, $61, $6c, $75,
  487. $65, $73, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0, $11, 0, 0, 0, $4d, $65, $73, $68,
  488. $54, $65, $78, $74, $75, $72, $65, $43, $6f, $6f, $72, $64, $73, $a, 0, $5, 0, $40, $3f, $f2,
  489. $f6, $86, $76, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $29, 0, $1, 0, $e, 0, 0,
  490. 0, $6e, $54, $65, $78, $74, $75, $72, $65, $43, $6f, $6f, $72, $64, $73, $14, 0, $34, 0, $1,
  491. 0, $8, 0, 0, 0, $43, $6f, $6f, $72, $64, $73, $32, $64, $1, 0, $d, 0, 0, 0, $74,
  492. $65, $78, $74, $75, $72, $65, $43, $6f, $6f, $72, $64, $73, $e, 0, $1, 0, $e, 0, 0, 0,
  493. $6e, $54, $65, $78, $74, $75, $72, $65, $43, $6f, $6f, $72, $64, $73, $f, 0, $14, 0, $b, 0,
  494. $1f, 0, $1, 0, $10, 0, 0, 0, $4d, $65, $73, $68, $4d, $61, $74, $65, $72, $69, $61, $6c,
  495. $4c, $69, $73, $74, $a, 0, $5, 0, $42, $3f, $f2, $f6, $86, $76, $cf, $11, $8f, $52, 0, $40,
  496. $33, $35, $94, $a3, $29, 0, $1, 0, $a, 0, 0, 0, $6e, $4d, $61, $74, $65, $72, $69, $61,
  497. $6c, $73, $14, 0, $29, 0, $1, 0, $c, 0, 0, 0, $6e, $46, $61, $63, $65, $49, $6e, $64,
  498. $65, $78, $65, $73, $14, 0, $34, 0, $29, 0, $1, 0, $b, 0, 0, 0, $66, $61, $63, $65,
  499. $49, $6e, $64, $65, $78, $65, $73, $e, 0, $1, 0, $c, 0, 0, 0, $6e, $46, $61, $63, $65,
  500. $49, $6e, $64, $65, $78, $65, $73, $f, 0, $14, 0, $e, 0, $1, 0, $8, 0, 0, 0, $4d,
  501. $61, $74, $65, $72, $69, $61, $6c, $f, 0, $b, 0, $1f, 0, $1, 0, $b, 0, 0, 0, $4d,
  502. $65, $73, $68, $4e, $6f, $72, $6d, $61, $6c, $73, $a, 0, $5, 0, $43, $3f, $f2, $f6, $86, $76,
  503. $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $29, 0, $1, 0, $8, 0, 0, 0, $6e, $4e,
  504. $6f, $72, $6d, $61, $6c, $73, $14, 0, $34, 0, $1, 0, $6, 0, 0, 0, $56, $65, $63, $74,
  505. $6f, $72, $1, 0, $7, 0, 0, 0, $6e, $6f, $72, $6d, $61, $6c, $73, $e, 0, $1, 0, $8,
  506. 0, 0, 0, $6e, $4e, $6f, $72, $6d, $61, $6c, $73, $f, 0, $14, 0, $29, 0, $1, 0, $c,
  507. 0, 0, 0, $6e, $46, $61, $63, $65, $4e, $6f, $72, $6d, $61, $6c, $73, $14, 0, $34, 0, $1,
  508. 0, $8, 0, 0, 0, $4d, $65, $73, $68, $46, $61, $63, $65, $1, 0, $b, 0, 0, 0, $66,
  509. $61, $63, $65, $4e, $6f, $72, $6d, $61, $6c, $73, $e, 0, $1, 0, $c, 0, 0, 0, $6e, $46,
  510. $61, $63, $65, $4e, $6f, $72, $6d, $61, $6c, $73, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0,
  511. $10, 0, 0, 0, $4d, $65, $73, $68, $56, $65, $72, $74, $65, $78, $43, $6f, $6c, $6f, $72, $73,
  512. $a, 0, $5, 0, $21, $b8, $30, $16, $42, $78, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3,
  513. $29, 0, $1, 0, $d, 0, 0, 0, $6e, $56, $65, $72, $74, $65, $78, $43, $6f, $6c, $6f, $72,
  514. $73, $14, 0, $34, 0, $1, 0, $c, 0, 0, 0, $49, $6e, $64, $65, $78, $65, $64, $43, $6f,
  515. $6c, $6f, $72, $1, 0, $c, 0, 0, 0, $76, $65, $72, $74, $65, $78, $43, $6f, $6c, $6f, $72,
  516. $73, $e, 0, $1, 0, $d, 0, 0, 0, $6e, $56, $65, $72, $74, $65, $78, $43, $6f, $6c, $6f,
  517. $72, $73, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0, $4, 0, 0, 0, $4d, $65, $73, $68,
  518. $a, 0, $5, 0, $44, $ab, $82, $3d, $da, $62, $cf, $11, $ab, $39, 0, $20, $af, $71, $e4, $33,
  519. $29, 0, $1, 0, $9, 0, 0, 0, $6e, $56, $65, $72, $74, $69, $63, $65, $73, $14, 0, $34,
  520. 0, $1, 0, $6, 0, 0, 0, $56, $65, $63, $74, $6f, $72, $1, 0, $8, 0, 0, 0, $76,
  521. $65, $72, $74, $69, $63, $65, $73, $e, 0, $1, 0, $9, 0, 0, 0, $6e, $56, $65, $72, $74,
  522. $69, $63, $65, $73, $f, 0, $14, 0, $29, 0, $1, 0, $6, 0, 0, 0, $6e, $46, $61, $63,
  523. $65, $73, $14, 0, $34, 0, $1, 0, $8, 0, 0, 0, $4d, $65, $73, $68, $46, $61, $63, $65,
  524. $1, 0, $5, 0, 0, 0, $66, $61, $63, $65, $73, $e, 0, $1, 0, $6, 0, 0, 0, $6e,
  525. $46, $61, $63, $65, $73, $f, 0, $14, 0, $e, 0, $12, 0, $12, 0, $12, 0, $f, 0, $b,
  526. 0, $1f, 0, $1, 0, $14, 0, 0, 0, $46, $72, $61, $6d, $65, $54, $72, $61, $6e, $73, $66,
  527. $6f, $72, $6d, $4d, $61, $74, $72, $69, $78, $a, 0, $5, 0, $41, $3f, $f2, $f6, $86, $76, $cf,
  528. $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $1, 0, $9, 0, 0, 0, $4d, $61, $74, $72, $69,
  529. $78, $34, $78, $34, $1, 0, $b, 0, 0, 0, $66, $72, $61, $6d, $65, $4d, $61, $74, $72, $69,
  530. $78, $14, 0, $b, 0, $1f, 0, $1, 0, $5, 0, 0, 0, $46, $72, $61, $6d, $65, $a, 0,
  531. $5, 0, $46, $ab, $82, $3d, $da, $62, $cf, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $e, 0,
  532. $12, 0, $12, 0, $12, 0, $f, 0, $b, 0, $1f, 0, $1, 0, $9, 0, 0, 0, $46, $6c,
  533. $6f, $61, $74, $4b, $65, $79, $73, $a, 0, $5, 0, $a9, $46, $dd, $10, $5b, $77, $cf, $11, $8f,
  534. $52, 0, $40, $33, $35, $94, $a3, $29, 0, $1, 0, $7, 0, 0, 0, $6e, $56, $61, $6c, $75,
  535. $65, $73, $14, 0, $34, 0, $2a, 0, $1, 0, $6, 0, 0, 0, $76, $61, $6c, $75, $65, $73,
  536. $e, 0, $1, 0, $7, 0, 0, 0, $6e, $56, $61, $6c, $75, $65, $73, $f, 0, $14, 0, $b,
  537. 0, $1f, 0, $1, 0, $e, 0, 0, 0, $54, $69, $6d, $65, $64, $46, $6c, $6f, $61, $74, $4b,
  538. $65, $79, $73, $a, 0, $5, 0, $80, $b1, $6, $f4, $3b, $7b, $cf, $11, $8f, $52, 0, $40, $33,
  539. $35, $94, $a3, $29, 0, $1, 0, $4, 0, 0, 0, $74, $69, $6d, $65, $14, 0, $1, 0, $9,
  540. 0, 0, 0, $46, $6c, $6f, $61, $74, $4b, $65, $79, $73, $1, 0, $6, 0, 0, 0, $74, $66,
  541. $6b, $65, $79, $73, $14, 0, $b, 0, $1f, 0, $1, 0, $c, 0, 0, 0, $41, $6e, $69, $6d,
  542. $61, $74, $69, $6f, $6e, $4b, $65, $79, $a, 0, $5, 0, $a8, $46, $dd, $10, $5b, $77, $cf, $11,
  543. $8f, $52, 0, $40, $33, $35, $94, $a3, $29, 0, $1, 0, $7, 0, 0, 0, $6b, $65, $79, $54,
  544. $79, $70, $65, $14, 0, $29, 0, $1, 0, $5, 0, 0, 0, $6e, $4b, $65, $79, $73, $14, 0,
  545. $34, 0, $1, 0, $e, 0, 0, 0, $54, $69, $6d, $65, $64, $46, $6c, $6f, $61, $74, $4b, $65,
  546. $79, $73, $1, 0, $4, 0, 0, 0, $6b, $65, $79, $73, $e, 0, $1, 0, $5, 0, 0, 0,
  547. $6e, $4b, $65, $79, $73, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0, $10, 0, 0, 0, $41,
  548. $6e, $69, $6d, $61, $74, $69, $6f, $6e, $4f, $70, $74, $69, $6f, $6e, $73, $a, 0, $5, 0, $c0,
  549. $56, $bf, $e2, $f, $84, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $29, 0, $1, 0, $a,
  550. 0, 0, 0, $6f, $70, $65, $6e, $63, $6c, $6f, $73, $65, $64, $14, 0, $29, 0, $1, 0, $f,
  551. 0, 0, 0, $70, $6f, $73, $69, $74, $69, $6f, $6e, $71, $75, $61, $6c, $69, $74, $79, $14, 0,
  552. $b, 0, $1f, 0, $1, 0, $9, 0, 0, 0, $41, $6e, $69, $6d, $61, $74, $69, $6f, $6e, $a,
  553. 0, $5, 0, $4f, $ab, $82, $3d, $da, $62, $cf, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $e,
  554. 0, $12, 0, $12, 0, $12, 0, $f, 0, $b, 0, $1f, 0, $1, 0, $c, 0, 0, 0, $41,
  555. $6e, $69, $6d, $61, $74, $69, $6f, $6e, $53, $65, $74, $a, 0, $5, 0, $50, $ab, $82, $3d, $da,
  556. $62, $cf, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $e, 0, $1, 0, $9, 0, 0, 0, $41,
  557. $6e, $69, $6d, $61, $74, $69, $6f, $6e, $f, 0, $b, 0, $1f, 0, $1, 0, $a, 0, 0, 0,
  558. $49, $6e, $6c, $69, $6e, $65, $44, $61, $74, $61, $a, 0, $5, 0, $a0, $ee, $23, $3a, $b1, $94,
  559. $d0, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $e, 0, $1, 0, $6, 0, 0, 0, $42, $49,
  560. $4e, $41, $52, $59, $f, 0, $b, 0, $1f, 0, $1, 0, $3, 0, 0, 0, $55, $72, $6c, $a,
  561. 0, $5, 0, $a1, $ee, $23, $3a, $b1, $94, $d0, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $29,
  562. 0, $1, 0, $5, 0, 0, 0, $6e, $55, $72, $6c, $73, $14, 0, $34, 0, $31, 0, $1, 0,
  563. $4, 0, 0, 0, $75, $72, $6c, $73, $e, 0, $1, 0, $5, 0, 0, 0, $6e, $55, $72, $6c,
  564. $73, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0, $f, 0, 0, 0, $50, $72, $6f, $67, $72,
  565. $65, $73, $73, $69, $76, $65, $4d, $65, $73, $68, $a, 0, $5, 0, $60, $c3, $63, $8a, $7d, $99,
  566. $d0, $11, $94, $1c, 0, $80, $c8, $c, $fa, $7b, $e, 0, $1, 0, $3, 0, 0, 0, $55, $72,
  567. $6c, $13, 0, $1, 0, $a, 0, 0, 0, $49, $6e, $6c, $69, $6e, $65, $44, $61, $74, $61, $f,
  568. 0, $b, 0, $1f, 0, $1, 0, $4, 0, 0, 0, $47, $75, $69, $64, $a, 0, $5, 0, $e0,
  569. $90, $27, $a4, $10, $78, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $29, 0, $1, 0, $5,
  570. 0, 0, 0, $64, $61, $74, $61, $31, $14, 0, $28, 0, $1, 0, $5, 0, 0, 0, $64, $61,
  571. $74, $61, $32, $14, 0, $28, 0, $1, 0, $5, 0, 0, 0, $64, $61, $74, $61, $33, $14, 0,
  572. $34, 0, $2d, 0, $1, 0, $5, 0, 0, 0, $64, $61, $74, $61, $34, $e, 0, $3, 0, $8,
  573. 0, 0, 0, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0, $e, 0, 0, 0, $53, $74, $72,
  574. $69, $6e, $67, $50, $72, $6f, $70, $65, $72, $74, $79, $a, 0, $5, 0, $e0, $21, $f, $7f, $e1,
  575. $bf, $d1, $11, $82, $c0, 0, $a0, $c9, $69, $72, $71, $31, 0, $1, 0, $3, 0, 0, 0, $6b,
  576. $65, $79, $14, 0, $31, 0, $1, 0, $5, 0, 0, 0, $76, $61, $6c, $75, $65, $14, 0, $b,
  577. 0, $1f, 0, $1, 0, $b, 0, 0, 0, $50, $72, $6f, $70, $65, $72, $74, $79, $42, $61, $67,
  578. $a, 0, $5, 0, $e1, $21, $f, $7f, $e1, $bf, $d1, $11, $82, $c0, 0, $a0, $c9, $69, $72, $71,
  579. $e, 0, $1, 0, $e, 0, 0, 0, $53, $74, $72, $69, $6e, $67, $50, $72, $6f, $70, $65, $72,
  580. $74, $79, $f, 0, $b, 0, $1f, 0, $1, 0, $e, 0, 0, 0, $45, $78, $74, $65, $72, $6e,
  581. $61, $6c, $56, $69, $73, $75, $61, $6c, $a, 0, $5, 0, $a0, $6a, $11, $98, $ba, $bd, $d1, $11,
  582. $82, $c0, 0, $a0, $c9, $69, $72, $71, $1, 0, $4, 0, 0, 0, $47, $75, $69, $64, $1, 0,
  583. $12, 0, 0, 0, $67, $75, $69, $64, $45, $78, $74, $65, $72, $6e, $61, $6c, $56, $69, $73, $75,
  584. $61, $6c, $14, 0, $e, 0, $12, 0, $12, 0, $12, 0, $f, 0, $b, 0, $1f, 0, $1, 0,
  585. $b, 0, 0, 0, $52, $69, $67, $68, $74, $48, $61, $6e, $64, $65, $64, $a, 0, $5, 0, $a0,
  586. $5e, $5d, $7f, $3a, $d5, $d1, $11, $82, $c0, 0, $a0, $c9, $69, $72, $71, $29, 0, $1, 0, $c,
  587. 0, 0, 0, $62, $52, $69, $67, $68, $74, $48, $61, $6e, $64, $65, $64, $14, 0, $b, 0);
  588. implementation
  589. // #define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code )
  590. function MAKE_DDHRESULT(Code: DWord): DWord;
  591. begin
  592. Result:= DWord((1 shl 31) or (_FACD3D shl 16)) or Code;
  593. end;
  594. (*
  595. {* API for creating IDirectXFile interface.
  596. {*)
  597. const
  598. DXFileDLL = 'D3DXOF.DLL';
  599. function DirectXFileCreate; external DXFileDLL;
  600. end.