X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=vid.h;h=2ab444355bde42bead28d3cbb136745526e85078;hp=d08d5dcc587c64e898da558560fc3d94ece8ca8e;hb=d50e528c1dd3db3c06ef820d05d45a9834f81d49;hpb=8dcce44300385b12c46d494c06aadcfa35a8bc14 diff --git a/vid.h b/vid.h index d08d5dcc..2ab44435 100644 --- a/vid.h +++ b/vid.h @@ -8,7 +8,7 @@ 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. +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -19,62 +19,56 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // vid.h -- video driver defs -#define VID_CBITS 6 -#define VID_GRADES (1 << VID_CBITS) - -// a pixel can be one, two, or four bytes -typedef byte pixel_t; - -typedef struct vrect_s -{ - int x,y,width,height; - struct vrect_s *pnext; -} vrect_t; +#ifndef VID_H +#define VID_H typedef struct { - pixel_t *buffer; // invisible buffer - pixel_t *colormap; // 256 * VID_GRADES size - unsigned short *colormap16; // 256 * VID_GRADES size - int fullbright; // index of first fullbright color - unsigned width; - unsigned height; - float aspect; // width / height -- < 0 is taller than wide - int numpages; - int recalc_refdef; // if true, recalc vid-based stuff - pixel_t *conbuffer; - unsigned conwidth; - unsigned conheight; - int maxwarpwidth; - int maxwarpheight; - pixel_t *direct; // direct drawing to framebuffer, if not - // NULL + // these are set with VID_GetWindowSize and can change from frame to frame + int realx; + int realy; + int realwidth; + int realheight; + + int conwidth; + int conheight; } viddef_t; -extern viddef_t vid; // global video state -extern unsigned short d_8to16table[256]; -extern unsigned d_8to24table[256]; +// global video state +extern viddef_t vid; extern void (*vid_menudrawfn)(void); extern void (*vid_menukeyfn)(int key); -void VID_SetPalette (unsigned char *palette); -// called at startup +extern int vid_hidden; +extern int vid_activewindow; -void VID_Init (unsigned char *palette); -// Called at startup to set up translation tables, takes 256 8 bit RGB values -// the palette data will go away after the call, so it must be copied off if -// the video driver will need it again +extern cvar_t vid_mode; +extern cvar_t vid_mouse; +extern cvar_t vid_fullscreen; -void VID_Shutdown (void); -// Called at shutdown +void VID_InitCvars(void); + +void GL_Init (void); + +void VID_CheckExtensions(void); -void VID_Update (vrect_t *rects); -// flushes the given rectangles from the view buffer to the screen +void VID_Init (void); +// Called at startup -int VID_SetMode (int modenum, unsigned char *palette); +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 -void VID_HandlePause (qboolean pause); -// called only on Win32, when pause happens, so the mouse can be released +// 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); + +#endif