home *** CD-ROM | disk | FTP | other *** search
/ Total Destruction / Total_Destruction.iso / addons / Lccwin32.exe / Lccwin32 / lccpub / include / d3drmdef.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-12-04  |  7.5 KB  |  208 lines

  1. #ifndef    __D3DRMDEFS_H__ 
  2. #define    __D3DRMDEFS_H__ 
  3. #include    <stddef.h> 
  4. #include    "d3dtypes.h" 
  5. #define    D3DRMAPI __stdcall 
  6. #ifndef    TRUE 
  7. #define    FALSE 0 
  8. #define    TRUE 1 
  9. #endif    
  10. typedef    struct _D3DRMVECTOR4D { D3DVALUE x, y, z, w; } D3DRMVECTOR4D, *LPD3DRMVECTOR4D; 
  11. typedef    D3DVALUE D3DRMMATRIX4D[4][4]; 
  12. typedef    struct _D3DRMQUATERNION { D3DVALUE s; D3DVECTOR v; } D3DRMQUATERNION, *LPD3DRMQUATERNION; 
  13. typedef    struct _D3DRMBOX { D3DVECTOR min, max; } D3DRMBOX, *LPD3DRMBOX; 
  14. typedef    void (*D3DRMWRAPCALLBACK) (LPD3DVECTOR, int*,int* ,LPD3DVECTOR,LPD3DVECTOR,LPVOID); 
  15. typedef    enum _D3DRMLIGHTTYPE 
  16. {    D3DRMLIGHT_AMBIENT, 
  17.     D3DRMLIGHT_POINT, 
  18.     D3DRMLIGHT_SPOT, 
  19.     D3DRMLIGHT_DIRECTIONAL, 
  20.     D3DRMLIGHT_PARALLELPOINT 
  21. }    D3DRMLIGHTTYPE, *LPD3DRMLIGHTTYPE; 
  22. typedef    enum _D3DRMSHADEMODE { 
  23.     D3DRMSHADE_FLAT = 0, 
  24.     D3DRMSHADE_GOURAUD = 1, 
  25.     D3DRMSHADE_PHONG = 2, 
  26.     D3DRMSHADE_MASK = 7, 
  27.     D3DRMSHADE_MAX = 8 
  28. }    D3DRMSHADEMODE, *LPD3DRMSHADEMODE; 
  29. typedef    enum _D3DRMLIGHTMODE { 
  30.     D3DRMLIGHT_OFF = 0 * D3DRMSHADE_MAX, 
  31.     D3DRMLIGHT_ON = 1 * D3DRMSHADE_MAX, 
  32.     D3DRMLIGHT_MASK = 7 * D3DRMSHADE_MAX, 
  33.     D3DRMLIGHT_MAX = 8 * D3DRMSHADE_MAX 
  34. }    D3DRMLIGHTMODE, *LPD3DRMLIGHTMODE; 
  35. typedef    enum _D3DRMFILLMODE { 
  36.     D3DRMFILL_POINTS = 0 * D3DRMLIGHT_MAX, 
  37.     D3DRMFILL_WIREFRAME = 1 * D3DRMLIGHT_MAX, 
  38.     D3DRMFILL_SOLID = 2 * D3DRMLIGHT_MAX, 
  39.     D3DRMFILL_MASK = 7 * D3DRMLIGHT_MAX, 
  40.     D3DRMFILL_MAX = 8 * D3DRMLIGHT_MAX 
  41. }    D3DRMFILLMODE, *LPD3DRMFILLMODE; 
  42. typedef    DWORD D3DRMRENDERQUALITY, *LPD3DRMRENDERQUALITY; 
  43. #define    D3DRMRENDER_WIREFRAME (D3DRMSHADE_FLAT+D3DRMLIGHT_OFF+D3DRMFILL_WIREFRAME) 
  44. #define    D3DRMRENDER_UNLITFLAT (D3DRMSHADE_FLAT+D3DRMLIGHT_OFF+D3DRMFILL_SOLID) 
  45. #define    D3DRMRENDER_FLAT (D3DRMSHADE_FLAT+D3DRMLIGHT_ON+D3DRMFILL_SOLID) 
  46. #define    D3DRMRENDER_GOURAUD (D3DRMSHADE_GOURAUD+D3DRMLIGHT_ON+D3DRMFILL_SOLID) 
  47. #define    D3DRMRENDER_PHONG (D3DRMSHADE_PHONG+D3DRMLIGHT_ON+D3DRMFILL_SOLID) 
  48. typedef    enum _D3DRMTEXTUREQUALITY 
  49. {    D3DRMTEXTURE_NEAREST, 
  50.     D3DRMTEXTURE_LINEAR, 
  51.     D3DRMTEXTURE_MIPNEAREST, 
  52.     D3DRMTEXTURE_MIPLINEAR, 
  53.     D3DRMTEXTURE_LINEARMIPNEAREST,
  54.     D3DRMTEXTURE_LINEARMIPLINEAR 
  55. }    D3DRMTEXTUREQUALITY, *LPD3DRMTEXTUREQUALITY; 
  56. typedef    enum _D3DRMCOMBINETYPE 
  57. {    D3DRMCOMBINE_REPLACE, 
  58.     D3DRMCOMBINE_BEFORE, 
  59.     D3DRMCOMBINE_AFTER 
  60. }    D3DRMCOMBINETYPE, *LPD3DRMCOMBINETYPE; 
  61. typedef    D3DCOLORMODEL D3DRMCOLORMODEL, *LPD3DRMCOLORMODEL; 
  62. typedef    enum _D3DRMPALETTEFLAGS 
  63. {    D3DRMPALETTE_FREE, 
  64.     D3DRMPALETTE_READONLY,
  65.     D3DRMPALETTE_RESERVED
  66. }    D3DRMPALETTEFLAGS, *LPD3DRMPALETTEFLAGS; 
  67. typedef    struct _D3DRMPALETTEENTRY 
  68. {    unsigned char red;
  69.     unsigned char green;
  70.     unsigned char blue; 
  71.     unsigned char flags; 
  72. }    D3DRMPALETTEENTRY, *LPD3DRMPALETTEENTRY; 
  73. typedef    struct _D3DRMIMAGE 
  74. {    int width, height;
  75.     int aspectx, aspecty; 
  76.     int depth;
  77.     int rgb;
  78.     int bytes_per_line; 
  79.     void* buffer1; 
  80.     void* buffer2; 
  81.     unsigned long red_mask; 
  82.     unsigned long green_mask; 
  83.     unsigned long blue_mask; 
  84.     unsigned long alpha_mask;
  85.     int palette_size; 
  86.     D3DRMPALETTEENTRY* palette; 
  87. }    D3DRMIMAGE, *LPD3DRMIMAGE; 
  88. typedef    enum _D3DRMWRAPTYPE 
  89. {    D3DRMWRAP_FLAT, 
  90.     D3DRMWRAP_CYLINDER, 
  91.     D3DRMWRAP_SPHERE, 
  92.     D3DRMWRAP_CHROME 
  93. }    D3DRMWRAPTYPE, *LPD3DRMWRAPTYPE; 
  94. #define    D3DRMWIREFRAME_CULL 1 
  95. #define    D3DRMWIREFRAME_HIDDENLINE 2 
  96. typedef    enum _D3DRMPROJECTIONTYPE 
  97. {    D3DRMPROJECT_PERSPECTIVE, 
  98.     D3DRMPROJECT_ORTHOGRAPHIC 
  99. }    D3DRMPROJECTIONTYPE, *LPD3DRMPROJECTIONTYPE; 
  100. typedef    enum _D3DRMXOFFORMAT 
  101. {    D3DRMXOF_BINARY, 
  102.     D3DRMXOF_COMPRESSED, 
  103.     D3DRMXOF_TEXT 
  104. }    D3DRMXOFFORMAT, *LPD3DRMXOFFORMAT; 
  105. typedef    DWORD D3DRMSAVEOPTIONS; 
  106. #define    D3DRMXOFSAVE_NORMALS 1 
  107. #define    D3DRMXOFSAVE_TEXTURECOORDINATES 2 
  108. #define    D3DRMXOFSAVE_MATERIALS 4 
  109. #define    D3DRMXOFSAVE_TEXTURENAMES 8 
  110. #define    D3DRMXOFSAVE_ALL 15 
  111. #define    D3DRMXOFSAVE_TEMPLATES 16 
  112. typedef    enum _D3DRMCOLORSOURCE 
  113. {    D3DRMCOLOR_FROMFACE, 
  114.     D3DRMCOLOR_FROMVERTEX 
  115. }    D3DRMCOLORSOURCE, *LPD3DRMCOLORSOURCE; 
  116. typedef    enum _D3DRMFRAMECONSTRAINT 
  117. {    D3DRMCONSTRAIN_Z, 
  118.     D3DRMCONSTRAIN_Y, 
  119.     D3DRMCONSTRAIN_X 
  120. }    D3DRMFRAMECONSTRAINT, *LPD3DRMFRAMECONSTRAINT; 
  121. typedef    enum _D3DRMMATERIALMODE 
  122. {    D3DRMMATERIAL_FROMMESH, 
  123.     D3DRMMATERIAL_FROMPARENT, 
  124.     D3DRMMATERIAL_FROMFRAME 
  125. }    D3DRMMATERIALMODE, *LPD3DRMMATERIALMODE; 
  126. typedef    enum _D3DRMFOGMODE 
  127. {    D3DRMFOG_LINEAR, 
  128.     D3DRMFOG_EXPONENTIAL, 
  129.     D3DRMFOG_EXPONENTIALSQUARED 
  130. }    D3DRMFOGMODE, *LPD3DRMFOGMODE; 
  131.     
  132. typedef    enum _D3DRMZBUFFERMODE { 
  133.     D3DRMZBUFFER_FROMPARENT, 
  134.     D3DRMZBUFFER_ENABLE,
  135.     D3DRMZBUFFER_DISABLE 
  136. }    D3DRMZBUFFERMODE, *LPD3DRMZBUFFERMODE; 
  137. typedef    enum _D3DRMSORTMODE { 
  138.     D3DRMSORT_FROMPARENT,
  139.     D3DRMSORT_NONE,
  140.     D3DRMSORT_FRONTTOBACK,
  141.     D3DRMSORT_BACKTOFRONT 
  142. }    D3DRMSORTMODE, *LPD3DRMSORTMODE; 
  143. typedef    DWORD D3DRMANIMATIONOPTIONS; 
  144. #define    D3DRMANIMATION_OPEN 1 
  145. #define    D3DRMANIMATION_CLOSED 2 
  146. #define    D3DRMANIMATION_LINEARPOSITION 4 
  147. #define    D3DRMANIMATION_SPLINEPOSITION 8 
  148. #define    D3DRMANIMATION_SCALEANDROTATION 16 
  149. #define    D3DRMANIMATION_POSITION 32 
  150. typedef    DWORD D3DRMLOADOPTIONS; 
  151. #define    D3DRMLOAD_FROMFILE 0x00L 
  152. #define    D3DRMLOAD_FROMRESOURCE 0x01L 
  153. #define    D3DRMLOAD_FROMMEMORY 0x02L 
  154. #define    D3DRMLOAD_FROMSTREAM 0x04L 
  155. #define    D3DRMLOAD_BYNAME 0x10L 
  156. #define    D3DRMLOAD_BYPOSITION 0x20L 
  157. #define    D3DRMLOAD_BYGUID 0x40L 
  158. #define    D3DRMLOAD_FIRST 0x80L 
  159. #define    D3DRMLOAD_INSTANCEBYREFERENCE 0x100L 
  160. #define    D3DRMLOAD_INSTANCEBYCOPYING 0x200L 
  161. typedef    struct _D3DRMLOADRESOURCE { 
  162.     HMODULE hModule; 
  163.     LPCTSTR lpName; 
  164.     LPCTSTR lpType; 
  165. }    D3DRMLOADRESOURCE, *LPD3DRMLOADRESOURCE; 
  166. typedef    struct _D3DRMLOADMEMORY { 
  167.     LPVOID lpMemory; 
  168.     DWORD dSize; 
  169. }    D3DRMLOADMEMORY, *LPD3DRMLOADMEMORY; 
  170. typedef    enum _D3DRMUSERVISUALREASON { 
  171.     D3DRMUSERVISUAL_CANSEE, 
  172.     D3DRMUSERVISUAL_RENDER 
  173. }    D3DRMUSERVISUALREASON, *LPD3DRMUSERVISUALREASON; 
  174. typedef    DWORD D3DRMMAPPING, D3DRMMAPPINGFLAG, *LPD3DRMMAPPING; 
  175. static    const D3DRMMAPPINGFLAG D3DRMMAP_WRAPU = 1; 
  176. static    const D3DRMMAPPINGFLAG D3DRMMAP_WRAPV = 2; 
  177. static    const D3DRMMAPPINGFLAG D3DRMMAP_PERSPCORRECT = 4; 
  178. typedef    struct _D3DRMVERTEX 
  179. {    D3DVECTOR position; 
  180.     D3DVECTOR normal; 
  181.     D3DVALUE tu, tv; 
  182.     D3DCOLOR color; 
  183. }    D3DRMVERTEX, *LPD3DRMVERTEX; 
  184. typedef    LONG D3DRMGROUPINDEX; 
  185. static    const D3DRMGROUPINDEX D3DRMGROUP_ALLGROUPS = -1; 
  186. extern    D3DCOLOR D3DRMAPI D3DRMCreateColorRGB(D3DVALUE,D3DVALUE,D3DVALUE); 
  187. extern    D3DCOLOR D3DRMAPI D3DRMCreateColorRGBA(D3DVALUE,D3DVALUE,D3DVALUE,D3DVALUE); 
  188. extern    D3DVALUE D3DRMAPI D3DRMColorGetRed(D3DCOLOR); 
  189. extern    D3DVALUE D3DRMAPI D3DRMColorGetGreen(D3DCOLOR); 
  190. extern    D3DVALUE D3DRMAPI D3DRMColorGetBlue(D3DCOLOR); 
  191. extern    D3DVALUE D3DRMAPI D3DRMColorGetAlpha(D3DCOLOR); 
  192. extern    LPD3DVECTOR D3DRMAPI D3DRMVectorAdd(LPD3DVECTOR,LPD3DVECTOR,LPD3DVECTOR); 
  193. extern    LPD3DVECTOR D3DRMAPI D3DRMVectorSubtract(LPD3DVECTOR,LPD3DVECTOR,LPD3DVECTOR); 
  194. extern    LPD3DVECTOR D3DRMAPI D3DRMVectorReflect(LPD3DVECTOR,LPD3DVECTOR,LPD3DVECTOR); 
  195. extern    LPD3DVECTOR D3DRMAPI D3DRMVectorCrossProduct(LPD3DVECTOR,LPD3DVECTOR,LPD3DVECTOR); 
  196. extern    D3DVALUE D3DRMAPI D3DRMVectorDotProduct(LPD3DVECTOR,LPD3DVECTOR); 
  197. extern    LPD3DVECTOR D3DRMAPI D3DRMVectorNormalize(LPD3DVECTOR); 
  198. #define    D3DRMVectorNormalise D3DRMVectorNormalize 
  199. extern    D3DVALUE D3DRMAPI D3DRMVectorModulus(LPD3DVECTOR); 
  200. extern    LPD3DVECTOR D3DRMAPI D3DRMVectorRotate(LPD3DVECTOR,LPD3DVECTOR,LPD3DVECTOR,D3DVALUE); 
  201. extern    LPD3DVECTOR D3DRMAPI D3DRMVectorScale(LPD3DVECTOR,LPD3DVECTOR,D3DVALUE); 
  202. extern    LPD3DVECTOR D3DRMAPI D3DRMVectorRandom(LPD3DVECTOR); 
  203. extern    LPD3DRMQUATERNION D3DRMAPI D3DRMQuaternionFromRotation(LPD3DRMQUATERNION,LPD3DVECTOR,D3DVALUE); 
  204. extern    LPD3DRMQUATERNION D3DRMAPI D3DRMQuaternionMultiply(LPD3DRMQUATERNION,LPD3DRMQUATERNION,LPD3DRMQUATERNION); 
  205. extern    LPD3DRMQUATERNION D3DRMAPI D3DRMQuaternionSlerp(LPD3DRMQUATERNION,LPD3DRMQUATERNION,LPD3DRMQUATERNION,D3DVALUE); 
  206. extern    void D3DRMAPI D3DRMMatrixFromQuaternion(D3DRMMATRIX4D,LPD3DRMQUATERNION); 
  207. #endif    
  208.