diff options
Diffstat (limited to 'apps/plugins/sdl/progs/quake/vid.h')
-rw-r--r-- | apps/plugins/sdl/progs/quake/vid.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/apps/plugins/sdl/progs/quake/vid.h b/apps/plugins/sdl/progs/quake/vid.h new file mode 100644 index 0000000000..1708ba825f --- /dev/null +++ b/apps/plugins/sdl/progs/quake/vid.h | |||
@@ -0,0 +1,85 @@ | |||
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 | |||