Annotation of quakeworld/client/vid.h, revision 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.