Annotation of quakeworld/client/vid.h, revision 1.1.1.1

1.1       root        1: /*
                      2: Copyright (C) 1996-1997 Id Software, Inc.
                      3: 
                      4: This program is free software; you can redistribute it and/or
                      5: modify it under the terms of the GNU General Public License
                      6: as published by the Free Software Foundation; either version 2
                      7: of the License, or (at your option) any later version.
                      8: 
                      9: This program is distributed in the hope that it will be useful,
                     10: but WITHOUT ANY WARRANTY; without even the implied warranty of
                     11: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
                     12: 
                     13: See the GNU General Public License for more details.
                     14: 
                     15: You should have received a copy of the GNU General Public License
                     16: along with this program; if not, write to the Free Software
                     17: Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
                     18: 
                     19: */
                     20: // vid.h -- video driver defs
                     21: 
                     22: #define VID_CBITS      6
                     23: #define VID_GRADES     (1 << VID_CBITS)
                     24: 
                     25: // a pixel can be one, two, or four bytes
                     26: typedef byte pixel_t;
                     27: 
                     28: typedef struct vrect_s
                     29: {
                     30:        int                             x,y,width,height;
                     31:        struct vrect_s  *pnext;
                     32: } vrect_t;
                     33: 
                     34: typedef struct
                     35: {
                     36:        pixel_t                 *buffer;                // invisible buffer
                     37:        pixel_t                 *colormap;              // 256 * VID_GRADES size
                     38:        unsigned short  *colormap16;    // 256 * VID_GRADES size
                     39:        int                             fullbright;             // index of first fullbright color
                     40:        unsigned                rowbytes;       // may be > width if displayed in a window
                     41:        unsigned                width;          
                     42:        unsigned                height;
                     43:        float                   aspect;         // width / height -- < 0 is taller than wide
                     44:        int                             numpages;
                     45:        int                             recalc_refdef;  // if true, recalc vid-based stuff
                     46:        pixel_t                 *conbuffer;
                     47:        int                             conrowbytes;
                     48:        unsigned                conwidth;
                     49:        unsigned                conheight;
                     50:        int                             maxwarpwidth;
                     51:        int                             maxwarpheight;
                     52:        pixel_t                 *direct;                // direct drawing to framebuffer, if not
                     53:                                                                        //  NULL
                     54: } viddef_t;
                     55: 
                     56: extern viddef_t        vid;                            // global video state
                     57: extern unsigned short  d_8to16table[256];
                     58: extern unsigned        d_8to24table[256];
                     59: extern void (*vid_menudrawfn)(void);
                     60: extern void (*vid_menukeyfn)(int key);
                     61: 
                     62: void   VID_SetPalette (unsigned char *palette);
                     63: // called at startup and after any gamma correction
                     64: 
                     65: void   VID_ShiftPalette (unsigned char *palette);
                     66: // called for bonus and pain flashes, and for underwater color changes
                     67: 
                     68: void   VID_Init (unsigned char *palette);
                     69: // Called at startup to set up translation tables, takes 256 8 bit RGB values
                     70: // the palette data will go away after the call, so it must be copied off if
                     71: // the video driver will need it again
                     72: 
                     73: void   VID_Shutdown (void);
                     74: // Called at shutdown
                     75: 
                     76: void   VID_Update (vrect_t *rects);
                     77: // flushes the given rectangles from the view buffer to the screen
                     78: 
                     79: int VID_SetMode (int modenum, unsigned char *palette);
                     80: // sets the mode; only used by the Quake engine for resetting to mode 0 (the
                     81: // base mode) on memory allocation failures
                     82: 
                     83: void VID_HandlePause (qboolean pause);
                     84: // called only on Win32, when pause happens, so the mouse can be released
                     85: 
                     86: void VID_LockBuffer (void);
                     87: void VID_UnlockBuffer (void);
                     88: 
                     89: #ifdef GLQUAKE
                     90: qboolean VID_Is8bit(void);
                     91: #endif
                     92: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.