⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hw_drv.h

📁 The source code of Doom legacy for windows
💻 H
字号:
// Emacs style mode select   -*- C++ -*- //-----------------------------------------------------------------------------//// $Id: hw_drv.h,v 1.12 2001/02/24 13:35:22 bpereira Exp $//// Copyright (C) 1998-2000 by DooM Legacy Team.//// This program is free software; you can redistribute it and/or// modify it under the terms of the GNU General Public License// as published by the Free Software Foundation; either version 2// of the License, or (at your option) any later version.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// GNU General Public License for more details.////// $Log: hw_drv.h,v $// Revision 1.12  2001/02/24 13:35:22  bpereira// no message//// Revision 1.11  2001/02/13 20:37:27  metzgermeister// *** empty log message ***//// Revision 1.10  2001/01/05 18:18:39  hurdler// add renderer version checking//// Revision 1.9  2000/11/04 16:23:44  bpereira// no message//// Revision 1.8  2000/10/04 16:21:57  hurdler// small clean-up//// Revision 1.7  2000/08/21 21:13:26  metzgermeister// SDL support//// Revision 1.6  2000/08/10 14:16:25  hurdler// no message//// Revision 1.5  2000/04/14 16:34:26  hurdler// some nice changes for coronas//// Revision 1.4  2000/04/12 19:32:28  metzgermeister// added GetRenderer function//// Revision 1.3  2000/04/07 23:10:15  metzgermeister// fullscreen support under X in Linux//// Revision 1.2  2000/02/27 00:42:11  hurdler// fix CR+LF problem//// Revision 1.1.1.1  2000/02/22 20:32:33  hurdler// Initial import into CVS (v1.29 pr3)////// DESCRIPTION://      imports/exports for the 3D hardware low-level interface API////-----------------------------------------------------------------------------#ifndef __HWR_DRV_H__#define __HWR_DRV_H__// this must be here 19991024 by Kin#include "../screen.h"#include "hw_data.h"#include "hw_defs.h"#include "hw_md2.h"// Function declaration for exports from the DLL :// EXPORT <return-type> HWRAPI(<function-name>) ( <arguments> ) ;// If _CREATE_DLL_ is defined the above declaration translates to :// __declspec(dllexport) <return-type> WINAPI <function-name> ( <arguments> ) ;// If _CREATE_DLL_ is NOT DEFINED the above declaration translates to :// __declspec(dllexport) <return->type> (WINAPI *<function-name>) ( <arguments> ) ;#ifdef _CREATE_DLL_#ifdef __WIN32__    #ifdef __cplusplus    #define EXPORT  extern "C" __declspec( dllexport )    #else    #define EXPORT  __declspec( dllexport )    #endif    #define HWRAPI(fn)  WINAPI fn#else    #ifdef __cplusplus    #define EXPORT  extern "C"    #else    #define EXPORT    #endif    #define HWRAPI(fn)  fn#endif   #else // _CREATE_DLL_    #define EXPORT      typedef#ifdef __WIN32__    #define HWRAPI(fn)  (WINAPI *fn)#else    #define HWRAPI(fn)  (*fn)#endif#endif// ==========================================================================//                                                       STANDARD DLL EXPORTS// ==========================================================================typedef void (*I_Error_t) (char *error, ...);EXPORT boolean HWRAPI( Init ) (I_Error_t ErrorFunction) ;EXPORT void HWRAPI( Shutdown ) (void) ;#ifdef __WIN32__EXPORT void    HWRAPI( GetModeList ) (vmode_t** pvidmodes, int* numvidmodes) ;EXPORT void    HWRAPI( SetPalette ) (RGBA_t* pal, RGBA_t *gamma) ;#endif#ifdef VID_X11EXPORT Window  HWRAPI( HookXwin ) (Display*,int,int,boolean) ;EXPORT void    HWRAPI( SetPalette ) (RGBA_t* pal, RGBA_t *gamma) ;#endif#if defined( PURESDL) || defined(__MACOS__)EXPORT void HWRAPI( SetPalette ) (int*, RGBA_t *gamma);#endifEXPORT void HWRAPI( FinishUpdate ) ( int waitvbl ) ;EXPORT void HWRAPI( Draw2DLine ) ( F2DCoord * v1, F2DCoord * v2, RGBA_t Color );EXPORT void HWRAPI( DrawPolygon ) ( FSurfaceInfo  *pSurf,                                    //FTextureInfo  *pTexInfo,                                    FOutVector    *pOutVerts,                                    FUINT         iNumPts,                                    FBITFIELD     PolyFlags );EXPORT void HWRAPI( SetBlend ) ( FBITFIELD PolyFlags );EXPORT void HWRAPI( ClearBuffer ) ( FBOOLEAN ColorMask,                                    FBOOLEAN DepthMask,                                    FRGBAFloat *ClearColor );EXPORT void HWRAPI( SetTexture ) ( FTextureInfo *TexInfo );EXPORT void HWRAPI( ReadRect ) (int x, int y, int width, int height,                                int dst_stride, unsigned short * dst_data) ;EXPORT void HWRAPI( GClipRect ) (int minx, int miny, int maxx, int maxy, float nearclip) ;EXPORT void HWRAPI( ClearMipMapCache ) (void) ;//Hurdler: added for backward compatibilityEXPORT void HWRAPI( SetSpecialState ) (hwdspecialstate_t IdState, int Value) ;//Hurdler: added for new developmentEXPORT void HWRAPI( DrawMD2 ) (int *gl_cmd_buffer, md2_frame_t *frame, FTransform *pos);EXPORT void HWRAPI( SetTransform ) (FTransform *transform);EXPORT int  HWRAPI( GetTextureUsed ) (void);EXPORT int  HWRAPI( GetRenderVersion ) (void);#ifdef VID_X11 // ifdef to be removed as soon as windoze supports that as well// metzgermeister: added for Voodoo detectionEXPORT char *HWRAPI( GetRenderer ) (void);#endif// ==========================================================================//                                      HWR DRIVER OBJECT, FOR CLIENT PROGRAM// ==========================================================================#if !defined(_CREATE_DLL_)struct hwdriver_s {    Init                pfnInit;    Shutdown            pfnShutdown;#ifdef __WIN32__    GetModeList         pfnGetModeList;#endif#ifdef VID_X11    HookXwin            pfnHookXwin;#endif    SetPalette          pfnSetPalette;    FinishUpdate        pfnFinishUpdate;    Draw2DLine          pfnDraw2DLine;    DrawPolygon         pfnDrawPolygon;    SetBlend            pfnSetBlend;    ClearBuffer         pfnClearBuffer;    SetTexture          pfnSetTexture;    ReadRect            pfnReadRect;    GClipRect           pfnGClipRect;    ClearMipMapCache    pfnClearMipMapCache;    SetSpecialState     pfnSetSpecialState;//Hurdler: added for backward compatibility    DrawMD2             pfnDrawMD2;    SetTransform        pfnSetTransform;    GetTextureUsed      pfnGetTextureUsed;    GetRenderVersion    pfnGetRenderVersion;#ifdef VID_X11    GetRenderer         pfnGetRenderer;#endif};extern struct hwdriver_s hwdriver;//Hurdler: 16/10/99: added for OpenGL gamma correction//extern RGBA_t  gamma_correction;#define HWD hwdriver#endif //not defined _CREATE_DLL_#endif __HWR_DRV_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -