home *** CD-ROM | disk | FTP | other *** search
/ The Elite Hackers Toolkit / TheEliteHackersToolkitVolume1_1998.rar / HACKERS.BIN / appcraks / P5WGLIDE.ZIP / POINTERS.H < prev    next >
C/C++ Source or Header  |  1998-01-03  |  14KB  |  266 lines

  1. // pointers.h
  2.  
  3. // Declarations for all of our imported glide functions. These are assigned from
  4. // the LoadLibrary("glide2x.dll") call in imports.c
  5.  
  6. // Copr. 1998 - Justin Frankel/Nullsoft, Inc. (http://www.nullsoft.com)
  7.  
  8. // Notes: these aren't ALL of the functions exported by glide2x.dll, but they are all most 
  9. // applications should use. Feel free to add more if you need them.
  10.  
  11. // if we are imports.c, actually create these variables, otherwise delcare them extern
  12. #ifdef IMPORTS_C
  13. #define DECL_TEMP
  14. #else
  15. #define DECL_TEMP extern
  16. #endif
  17.  
  18. typedef void (*GrErrorCallbackFnc_t)( const char *string, FxBool fatal );
  19.  
  20. DECL_TEMP void (*_grDrawLine)( const GrVertex *v1, const GrVertex *v2 );
  21. DECL_TEMP void (*_grDrawPlanarPolygon)( int nverts, const int ilist[], const GrVertex vlist[] );
  22. DECL_TEMP void (*_grDrawPlanarPolygonVertexList)( int nverts, const GrVertex vlist[] );
  23. DECL_TEMP void (*_grDrawPoint)( const GrVertex *pt );
  24. DECL_TEMP void (*_grDrawPolygon)( int nverts, const int ilist[], const GrVertex vlist[] );
  25. DECL_TEMP void (*_grDrawPolygonVertexList)( int nverts, const GrVertex vlist[] );
  26. DECL_TEMP void (*_grDrawTriangle)( const GrVertex *a, const GrVertex *b, const GrVertex *c );
  27. DECL_TEMP void (*_grBufferClear)( GrColor_t color, GrAlpha_t alpha, FxU16 depth );
  28. DECL_TEMP int (*_grBufferNumPending)( void );
  29. DECL_TEMP void (*_grBufferSwap)( int swap_interval );
  30. DECL_TEMP void (*_grRenderBuffer)( GrBuffer_t buffer );
  31. DECL_TEMP void (*_grErrorSetCallback)( GrErrorCallbackFnc_t fnc );
  32. DECL_TEMP void (*_grSstIdle)(void);
  33. DECL_TEMP FxU32 (*_grSstVideoLine)( void );
  34. DECL_TEMP FxBool (*_grSstVRetraceOn)( void );
  35. DECL_TEMP FxBool (*_grSstIsBusy)( void );
  36. DECL_TEMP FxBool (*_grSstWinOpen)(FxU32 hWnd,GrScreenResolution_t screen_resolution,GrScreenRefresh_t refresh_rate,
  37.                             GrColorFormat_t color_format, GrOriginLocation_t origin_location, int nColBuffers,
  38.                             int nAuxBuffers);
  39. DECL_TEMP void (*_grSstWinClose)( void );
  40. DECL_TEMP FxBool (*_grSstControl)( FxU32 code );
  41. DECL_TEMP FxBool (*_grSstQueryHardware)( GrHwConfiguration *hwconfig );
  42. DECL_TEMP FxBool (*_grSstQueryBoards)( GrHwConfiguration *hwconfig );
  43. DECL_TEMP void (*_grSstOrigin)(GrOriginLocation_t  origin);
  44. DECL_TEMP void (*_grSstSelect)( int which_sst );
  45. DECL_TEMP FxU32 (*_grSstScreenHeight)( void );
  46. DECL_TEMP FxU32 (*_grSstScreenWidth)( void );
  47. DECL_TEMP FxU32 (*_grSstStatus)( void );
  48. DECL_TEMP void (*_grSstPerfStats)(GrSstPerfStats_t *pStats);
  49. DECL_TEMP void (*_grSstResetPerfStats)(void);
  50. DECL_TEMP void (*_grResetTriStats)();
  51. DECL_TEMP void (*_grTriStats)(FxU32 *trisProcessed, FxU32 *trisDrawn);
  52. DECL_TEMP void (*_grAlphaBlendFunction)(
  53.                      GrAlphaBlendFnc_t rgb_sf,   GrAlphaBlendFnc_t rgb_df,
  54.                      GrAlphaBlendFnc_t alpha_sf, GrAlphaBlendFnc_t alpha_df);
  55. DECL_TEMP void (*_grAlphaCombine)(
  56.                GrCombineFunction_t function, GrCombineFactor_t factor,
  57.                GrCombineLocal_t local, GrCombineOther_t other,
  58.                FxBool invert);
  59. DECL_TEMP void (*_grAlphaControlsITRGBLighting)( FxBool enable );
  60. DECL_TEMP void (*_grAlphaTestFunction)( GrCmpFnc_t function );
  61. DECL_TEMP void (*_grAlphaTestReferenceValue)( GrAlpha_t value );
  62. DECL_TEMP void (*_grChromakeyMode)( GrChromakeyMode_t mode );
  63. DECL_TEMP void (*_grChromakeyValue)( GrColor_t value );
  64. DECL_TEMP void (*_grClipWindow)( FxU32 minx, FxU32 miny, FxU32 maxx, FxU32 maxy );
  65. DECL_TEMP void (*_grColorCombine)(
  66.                GrCombineFunction_t function, GrCombineFactor_t factor,
  67.                GrCombineLocal_t local, GrCombineOther_t other,
  68.                FxBool invert );
  69. DECL_TEMP void (*_grColorMask)( FxBool rgb, FxBool a );
  70. DECL_TEMP void (*_grCullMode)( GrCullMode_t mode );
  71. DECL_TEMP void (*_grConstantColorValue)( GrColor_t value );
  72. DECL_TEMP void (*_grConstantColorValue4)( float a, float r, float g, float b );
  73. DECL_TEMP void (*_grDepthBiasLevel)( FxI16 level );
  74. DECL_TEMP void (*_grDepthBufferFunction)( GrCmpFnc_t function );
  75. DECL_TEMP void (*_grDepthBufferMode)( GrDepthBufferMode_t mode );
  76. DECL_TEMP void (*_grDepthMask)( FxBool mask );
  77. DECL_TEMP void (*_grDisableAllEffects)( void );
  78. DECL_TEMP void (*_grDitherMode)( GrDitherMode_t mode );
  79. DECL_TEMP void (*_grFogColorValue)( GrColor_t fogcolor );
  80. DECL_TEMP void (*_grFogMode)( GrFogMode_t mode );
  81. DECL_TEMP void (*_grFogTable)( const GrFog_t ft[GR_FOG_TABLE_SIZE] );
  82. DECL_TEMP void (*_grGammaCorrectionValue)( float value );
  83. DECL_TEMP void (*_grSplash)(float x, float y, float width, float height, FxU32 frame);
  84. DECL_TEMP FxU32 (*_grTexCalcMemRequired)(GrLOD_t lodmin, GrLOD_t lodmax,GrAspectRatio_t aspect, GrTextureFormat_t fmt);
  85. DECL_TEMP FxU32 (*_grTexTextureMemRequired)( FxU32     evenOdd,     GrTexInfo *info   );
  86. DECL_TEMP FxU32 (*_grTexMinAddress)( GrChipID_t tmu );
  87. DECL_TEMP FxU32 (*_grTexMaxAddress)( GrChipID_t tmu );
  88. DECL_TEMP void (*_grTexNCCTable)( GrChipID_t tmu, GrNCCTable_t table );
  89. DECL_TEMP void (*_grTexSource)( GrChipID_t tmu, FxU32      startAddress, FxU32      evenOdd, GrTexInfo  *info );
  90. DECL_TEMP void (*_grTexClampMode)(GrChipID_t tmu, GrTextureClampMode_t s_clampmode, GrTextureClampMode_t t_clampmode);
  91. DECL_TEMP void (*_grTexCombine)(GrChipID_t tmu,GrCombineFunction_t rgb_function,GrCombineFactor_t rgb_factor, 
  92.                     GrCombineFunction_t alpha_function,GrCombineFactor_t alpha_factor,FxBool rgb_invert,
  93.                     FxBool alpha_invert);
  94. DECL_TEMP void (*_grTexCombineFunction)(GrChipID_t tmu,GrTextureCombineFnc_t fnc);
  95. DECL_TEMP void (*_grTexDetailControl)(GrChipID_t tmu,int lod_bias,FxU8 detail_scale,float detail_max);
  96. DECL_TEMP void (*_grTexFilterMode)(GrChipID_t tmu,GrTextureFilterMode_t minfilter_mode,GrTextureFilterMode_t magfilter_mode);
  97. DECL_TEMP void (*_grTexLodBiasValue)(GrChipID_t tmu, float bias );
  98. DECL_TEMP void (*_grTexDownloadMipMap)( GrChipID_t tmu,FxU32      startAddress,FxU32      evenOdd,GrTexInfo  *info );
  99. DECL_TEMP void (*_grTexDownloadMipMapLevel)( GrChipID_t        tmu,
  100.                           FxU32             startAddress,
  101.                           GrLOD_t           thisLod,
  102.                           GrLOD_t           largeLod,
  103.                           GrAspectRatio_t   aspectRatio,
  104.                           GrTextureFormat_t format,
  105.                           FxU32             evenOdd,
  106.                           void              *data );
  107. DECL_TEMP void (*_grTexDownloadMipMapLevelPartial)( GrChipID_t        tmu,
  108.                                  FxU32             startAddress,
  109.                                  GrLOD_t           thisLod,
  110.                                  GrLOD_t           largeLod,
  111.                                  GrAspectRatio_t   aspectRatio,
  112.                                  GrTextureFormat_t format,
  113.                                  FxU32             evenOdd,
  114.                                  void              *data,
  115.                                  int               start,
  116.                                  int               end );
  117.  
  118. DECL_TEMP void (*_ConvertAndDownloadRle)( GrChipID_t        tmu,
  119.                         FxU32             startAddress,
  120.                         GrLOD_t           thisLod,
  121.                         GrLOD_t           largeLod,
  122.                         GrAspectRatio_t   aspectRatio,
  123.                         GrTextureFormat_t format,
  124.                         FxU32             evenOdd,
  125.                         FxU8              *bm_data,
  126.                         long              bm_h,
  127.                         FxU32             u0,
  128.                         FxU32             v0,
  129.                         FxU32             width,
  130.                         FxU32             height,
  131.                         FxU32             dest_width,
  132.                         FxU32             dest_height,
  133.                         FxU16             *tlut);
  134.  
  135. DECL_TEMP void (*_grCheckForRoom)(FxI32 n);
  136.  
  137. DECL_TEMP void (*_grTexDownloadTable)( GrChipID_t   tmu,
  138.                     GrTexTable_t type, 
  139.                     void         *data );
  140.  
  141. DECL_TEMP void (*_grTexDownloadTablePartial)( GrChipID_t   tmu,
  142.                            GrTexTable_t type, 
  143.                            void         *data,
  144.                            int          start,
  145.                            int          end );
  146.  
  147. DECL_TEMP void (*_grTexMipMapMode)( GrChipID_t     tmu, 
  148.                  GrMipMapMode_t mode,
  149.                  FxBool         lodBlend );
  150.  
  151. DECL_TEMP void (*_grTexMultibase)( GrChipID_t tmu,
  152.                 FxBool     enable );
  153.  
  154. DECL_TEMP void (*_grTexMultibaseAddress)( GrChipID_t       tmu,
  155.                        GrTexBaseRange_t range,
  156.                        FxU32            startAddress,
  157.                        FxU32            evenOdd,
  158.                        GrTexInfo        *info );
  159.  
  160. DECL_TEMP GrMipMapId_t (*_guTexAllocateMemory)(
  161.                     GrChipID_t tmu,
  162.                     FxU8 odd_even_mask,
  163.                     int width, int height,
  164.                     GrTextureFormat_t fmt,
  165.                     GrMipMapMode_t mm_mode,
  166.                     GrLOD_t smallest_lod, GrLOD_t largest_lod,
  167.                     GrAspectRatio_t aspect,
  168.                     GrTextureClampMode_t s_clamp_mode,
  169.                     GrTextureClampMode_t t_clamp_mode,
  170.                     GrTextureFilterMode_t minfilter_mode,
  171.                     GrTextureFilterMode_t magfilter_mode,
  172.                     float lod_bias,
  173.                     FxBool trilinear
  174.                     );
  175.  
  176. DECL_TEMP FxBool (*_guTexChangeAttributes)(
  177.                       GrMipMapId_t mmid,
  178.                       int width, int height,
  179.                       GrTextureFormat_t fmt,
  180.                       GrMipMapMode_t mm_mode,
  181.                       GrLOD_t smallest_lod, GrLOD_t largest_lod,
  182.                       GrAspectRatio_t aspect,
  183.                       GrTextureClampMode_t s_clamp_mode,
  184.                       GrTextureClampMode_t t_clamp_mode,
  185.                       GrTextureFilterMode_t minFilterMode,
  186.                       GrTextureFilterMode_t magFilterMode
  187.                       );
  188.  
  189. DECL_TEMP void (*_guTexCombineFunction)(
  190.                      GrChipID_t tmu,
  191.                      GrTextureCombineFnc_t fnc
  192.                      );
  193.  
  194. DECL_TEMP GrMipMapId_t (*_guTexGetCurrentMipMap)( GrChipID_t tmu );
  195.  
  196. DECL_TEMP GrMipMapInfo * (*_guTexGetMipMapInfo)( GrMipMapId_t mmid );
  197.  
  198. DECL_TEMP FxU32 (*_guTexMemQueryAvail)( GrChipID_t tmu );
  199.  
  200. DECL_TEMP void (*_guTexMemReset)( void );
  201.  
  202. DECL_TEMP void (*_guTexDownloadMipMap)(
  203.                     GrMipMapId_t mmid,
  204.                     const void *src,
  205.                     const GuNccTable *table
  206.                     );
  207.  
  208. DECL_TEMP void (*_guTexDownloadMipMapLevel)(
  209.                          GrMipMapId_t mmid,
  210.                          GrLOD_t lod,
  211.                          const void **src
  212.                          );
  213. DECL_TEMP void (*_guTexSource)( GrMipMapId_t id );
  214.  
  215. DECL_TEMP FxBool (*_grLfbLock)( GrLock_t type, GrBuffer_t buffer, GrLfbWriteMode_t writeMode,
  216.            GrOriginLocation_t origin, FxBool pixelPipeline, 
  217.            GrLfbInfo_t *info );
  218. DECL_TEMP FxBool (*_grLfbUnlock)( GrLock_t type, GrBuffer_t buffer );
  219. DECL_TEMP void (*_grLfbConstantAlpha)( GrAlpha_t alpha );
  220. DECL_TEMP void (*_grLfbConstantDepth)( FxU16 depth );
  221. DECL_TEMP void (*_grLfbWriteColorSwizzle)(FxBool swizzleBytes, FxBool swapWords);
  222. DECL_TEMP void (*_grLfbWriteColorFormat)(GrColorFormat_t colorFormat);
  223. DECL_TEMP FxBool (*_grLfbWriteRegion)( GrBuffer_t dst_buffer, 
  224.                   FxU32 dst_x, FxU32 dst_y, 
  225.                   GrLfbSrcFmt_t src_format, 
  226.                   FxU32 src_width, FxU32 src_height, 
  227.                   FxI32 src_stride, void *src_data );
  228. DECL_TEMP FxBool (*_grLfbReadRegion)( GrBuffer_t src_buffer,
  229.                  FxU32 src_x, FxU32 src_y,
  230.                  FxU32 src_width, FxU32 src_height,
  231.                  FxU32 dst_stride, void *dst_data );
  232. DECL_TEMP void (*_grAADrawLine)(const GrVertex *v1, const GrVertex *v2);
  233. DECL_TEMP void (*_grAADrawPoint)(const GrVertex *pt );
  234. DECL_TEMP void (*_grAADrawPolygon)(const int nverts, const int ilist[], const GrVertex vlist[]);
  235. DECL_TEMP void (*_grAADrawPolygonVertexList)(const int nverts, const GrVertex vlist[]);
  236. DECL_TEMP void (*_grAADrawTriangle)(
  237.                  const GrVertex *a, const GrVertex *b, const GrVertex *c,
  238.                  FxBool ab_antialias, FxBool bc_antialias, FxBool ca_antialias
  239.                  );
  240. DECL_TEMP void (*_grGlideInit)( void );
  241. DECL_TEMP void (*_grGlideShutdown)( void );
  242. DECL_TEMP void (*_grGlideGetVersion)( char version[80] );
  243. DECL_TEMP void (*_grGlideGetState)( GrState *state );
  244. DECL_TEMP void (*_grGlideSetState)( const GrState *state );
  245. DECL_TEMP void (*_grGlideShamelessPlug)(const FxBool on);
  246. DECL_TEMP void (*_grHints)(GrHint_t hintType, FxU32 hintMask);
  247. DECL_TEMP void (*_guAADrawTriangleWithClip)( const GrVertex *a, const GrVertex *b, const GrVertex *c);
  248. DECL_TEMP void (*_guDrawTriangleWithClip)(const GrVertex *a,const GrVertex *b,const GrVertex *c);
  249. DECL_TEMP void (*_guDrawPolygonVertexListWithClip)( int nverts, const GrVertex vlist[] );
  250. DECL_TEMP void (*_guAlphaSource)( GrAlphaSource_t mode );
  251. DECL_TEMP void (*_guColorCombineFunction)( GrColorCombineFnc_t fnc );
  252. DECL_TEMP int (*_guEncodeRLE16)( void *dst, void *src, FxU32 width, FxU32 height );
  253. DECL_TEMP FxU16 *(*_guTexCreateColorMipMap)( void );
  254. DECL_TEMP void (*_guMovieStart)( void );
  255. DECL_TEMP void (*_guMovieStop)( void );
  256. DECL_TEMP void (*_guMovieSetName)( const char *name );
  257. DECL_TEMP float (*_guFogTableIndexToW)( int i );
  258. DECL_TEMP void (*_guFogGenerateExp)( GrFog_t fogtable[GR_FOG_TABLE_SIZE], float density );
  259. DECL_TEMP void (*_guFogGenerateExp2)( GrFog_t fogtable[GR_FOG_TABLE_SIZE], float density );
  260. DECL_TEMP void (*_guFogGenerateLinear)(GrFog_t fogtable[GR_FOG_TABLE_SIZE],float nearZ, float farZ );
  261. DECL_TEMP FxU32 (*_guEndianSwapWords)( FxU32 value );
  262. DECL_TEMP FxU16 (*_guEndianSwapBytes)( FxU16 value );
  263. DECL_TEMP FxBool (*_gu3dfGetInfo)( const char *filename, Gu3dfInfo *info );
  264. DECL_TEMP FxBool (*_gu3dfLoad)( const char *filename, Gu3dfInfo *data );
  265.  
  266. #undef DECL_TEMP