#ifdef GLI_IS_MULTIDRIVER typedef struct GLI_TheInterface_ { /* DOMATxxx.C */ void (* GLI_vDoTextureSelection)(GLI_tdstInternalGlobalValuesFor3dEngine *p_stGlobaleMT); void (* GLI_DRV_vWrite16bBitmapToBackBuffer) ( GLD_tdhDevice _hGLDDevice,GLD_tdhViewport _hGLDViewport,void *_p_vSourceBuffer,long _lWidth,long _lHeight,long _lDestX,long _lDestY ); void (* GLI_vSetFogParams)( tdstFogParams *_p_stFogParams ); /* ACCES_XXXX.C */ void (* GLI_vDrawTriangle)(void); void (* GLI_vDrawZSortedTriangle)(void *p_3Point); void (* GLI_DRV_vSendSpriteToClip)(GLI_tdstAligned2DVector *a4_st2DVertex ,MTH_tdxReal xZ ,GLI_tdstInternalGlobalValuesFor3dEngine *p_stGlobaleMT); void (* GLI_DRV_vSendSpriteToClipWithUV)( GLI_tdstAligned2DVector *a4_st2DVertex , MTH_tdxReal *a8_stUVVertex, MTH_tdxReal xZ , GLI_tdstInternalGlobalValuesFor3dEngine *p_stGlobaleMT); /* ACCES_ALL.C */ void (* GLI_TestBackfaceClockwise)(void); void (* GLI_TestBackfaceCounterClockwize)(void); void (* GLI_vComputeMovingUVW)(void); void (* GLI_vComputeNormalUVW)(void); void (* GLI_vComputeMirrorUVW)(void); void (* GLI_vComputeXYZ)(void); void (* GLI_FastMirrorCulling)(void); void (* GLI_FastZCull)(void); void (* GLI_bCullingXMax_XMin)(void); void (* GLI_bCullingXMax)(void); void (* GLI_bCullingXMin)(void); void (* GLI_bCullingYMax_YMin)(void); void (* GLI_bCullingYMax)(void); void (* GLI_bCullingYMin)(void); void (* GLI_bCullingXYALL)(void); void (* GLI_XMinCLipping)(void); void (* GLI_YMinCLipping)(void); void (* GLI_XMaxCLipping)(void); void (* GLI_YMaxCLipping)(void); void (* GLI_vZClipping)(void); void (* GLI_FastMirrorCLipping)(void); void (* GLI_FastWaterCLipping)(void); /* HDWTex_xxx.C */ void (* GLI_DRV_vDownLoadTextures)(long , long, BOOL); long (* GLI_DRV_lGetHardwareTotalTextureMemorySize)(long); long (* GLI_DRV_lGetHardwareMaxTextureSize)(void); long (* GLI_DRV_lIsHardwareAcceptNonSquaredTextures)(void); void (* GLI_DRV_vUnLoadTextures)(void); /* init_XXX.c */ void (* GLI_DRV_vFlipDevice)(long lNbFrames); void (* GLI_DRV_vClearDevice)(BOOL ZBuffer, BOOL ColorBuffer, unsigned long Color); void (* GLI_vBeginDrawingTexturedMirrors)(void); void (* GLI_vBeginDrawingTexturedMirrorsSurfaces)(void); void (* GLI_vEndDrawingTexturedMirrors)(void); void (* GLI_DRV_xInitDriver) (void); void (* GLI_DRV_vCloseDriver) (void); long (* GLI_DRV_lWhatIsGli)(void); long (* GLI_lGetNumOfVersion)(void); unsigned char *(* GLI_ucGetTextOfVersion)(void); void (* GLI_DRV_vClearZBufferRegion)(long lXStart,long lXEnd,long lYStart,long lYEnd); } GLI_TheInterface; #define GLI_INTERFACE_FUNC(a) a##GLI_DRIVER #else #define GLI_INTERFACE_FUNC(a) a #endif