X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=vid.h;h=fffadd1e2e250e2bfbf3ad6220bc53a32714edda;hp=2df5d6fc0fc6c99b862e64384f5a77351164f24a;hb=77997e91156c09e1f8fcaa192ed23b68a22c0223;hpb=c2995f2c4c030b1c3adb163fd84b4ea5b3d2b104 diff --git a/vid.h b/vid.h index 2df5d6fc..fffadd1e 100644 --- a/vid.h +++ b/vid.h @@ -19,46 +19,96 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // vid.h -- video driver defs +#ifndef VID_H +#define VID_H + +extern int cl_available; + typedef struct { // these are set with VID_GetWindowSize and can change from frame to frame - int realx; - int realy; - int realwidth; - int realheight; -// int recalc_refdef; // if true, recalc vid-based stuff - - int conwidth; - int conheight; + int realx; + int realy; + int realwidth; + int realheight; + + int conwidth; + int conheight; } viddef_t; -extern viddef_t vid; // global video state +// global video state +extern viddef_t vid; extern void (*vid_menudrawfn)(void); extern void (*vid_menukeyfn)(int key); -extern cvar_t vid_mode; -extern cvar_t vid_mouse; -extern cvar_t vid_fullscreen; +extern int vid_hidden; +extern int vid_activewindow; -void VID_InitCvars(void); +extern cvar_t vid_fullscreen; +extern cvar_t vid_width; +extern cvar_t vid_height; +extern cvar_t vid_bitsperpixel; +extern cvar_t vid_mouse; +extern cvar_t vid_stencil; + +extern int gl_stencil; + +// brand of graphics chip +extern const char *gl_vendor; +// graphics chip model and other information +extern const char *gl_renderer; +// begins with 1.0.0, 1.1.0, 1.2.0, 1.2.1, 1.3.0, 1.3.1, or 1.4.0 +extern const char *gl_version; +// extensions list, space separated +extern const char *gl_extensions; +// WGL, GLX, or AGL +extern const char *gl_platform; +// another extensions list, containing platform-specific extensions that are +// not in the main list +extern const char *gl_platformextensions; +// name of driver library (opengl32.dll, libGL.so.1, or whatever) +extern char gl_driver[256]; + +// compatibility hacks +extern qboolean isG200; +extern qboolean isRagePro; + +// LordHavoc: GLX_SGI_video_sync and WGL_EXT_swap_control +extern int gl_videosyncavailable; + +int GL_OpenLibrary(const char *name); +void GL_CloseLibrary(void); +void *GL_GetProcAddress(const char *name); +int GL_CheckExtension(const char *name, const dllfunction_t *funcs, const char *disableparm, int silent); + +void VID_Shared_Init(void); void GL_Init (void); void VID_CheckExtensions(void); -void VID_Init (void); +void VID_Init (void); // Called at startup -void VID_Shutdown (void); +void VID_Shutdown (void); // Called at shutdown int VID_SetMode (int modenum); // sets the mode; only used by the Quake engine for resetting to mode 0 (the // base mode) on memory allocation failures -// sets hardware gamma correction, returns false if the device does not support gamma control +// sets hardware gamma correction, returns false if the device does not +// support gamma control int VID_SetGamma (float prescale, float gamma, float scale, float base); void VID_GetWindowSize (int *x, int *y, int *width, int *height); void VID_Finish (void); + +void VID_Restart_f(void); + +void VID_Open (void); +void VID_Close (void); + +#endif +