Avoid non-alpha characters in _qdgdfv_alnum in win32.
[qdgdf.git] / qdgdf_video.h
blob3136415bb760f44813a10e59480263c9b0d39009
1 /*
3 Quick and Dirty Game Development Framework (QDGDF)
5 Copyright (C) 2001/2011 Angel Ortega <angel@triptico.com>
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; either version 2
10 of the License, or (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 http://www.triptico.com
25 #ifndef QDGDF_VIDEO_H_
26 #define QDGDF_VIDEO_H_
28 #include <stdio.h>
30 #ifdef CONFOPT_OPENGL
31 #include <GL/gl.h>
32 #include <GL/glu.h>
33 #endif
35 extern char _qdgdfv_fopen_path[250];
37 extern int _qdgdfv_use_logger;
38 extern char _qdgdfv_logger_file[150];
40 extern int _qdgdfv_scale;
41 extern int _qdgdfv_double_mode;
42 extern int _qdgdfv_scale2x;
43 extern unsigned char *_qdgdfv_virtual_screen;
44 extern unsigned char _qdgdfv_clear_color;
45 extern unsigned int _qdgdfv_screen_x_size;
46 extern unsigned int _qdgdfv_screen_y_size;
47 extern int _qdgdfv_window_x;
48 extern int _qdgdfv_window_y;
49 extern char _qdgdfv_window_title[150];
50 extern char _qdgdfv_additional_info[150];
51 extern int _qdgdfv_additional_int_info;
52 extern int _qdgdfv_double_antialias;
53 extern int _qdgdfv_gamma_correct;
55 extern int _qdgdfv_key_up;
56 extern int _qdgdfv_key_down;
57 extern int _qdgdfv_key_left;
58 extern int _qdgdfv_key_right;
59 extern int _qdgdfv_key_escape;
60 extern int _qdgdfv_key_space;
61 extern int _qdgdfv_key_enter;
62 extern int _qdgdfv_key_pgup;
63 extern int _qdgdfv_key_pgdn;
64 extern int _qdgdfv_key_home;
65 extern int _qdgdfv_key_end;
66 extern int _qdgdfv_key_f1;
67 extern int _qdgdfv_key_f2;
68 extern int _qdgdfv_key_f3;
69 extern int _qdgdfv_key_f4;
70 extern int _qdgdfv_key_f5;
71 extern int _qdgdfv_key_f6;
72 extern int _qdgdfv_key_f7;
73 extern int _qdgdfv_key_f8;
74 extern int _qdgdfv_key_f9;
75 extern int _qdgdfv_key_f10;
77 /* Dan Compton made these changes and additions */
78 extern int _qdgdfv_key_control;
79 extern int _qdgdfv_key_shift_l;
80 extern int _qdgdfv_key_shift_r;
81 extern int _qdgdfv_key_alnum; /* catches alpha chars and numbers */
82 extern char _qdgdfv_alnum; /* contains the ascii char of alpha or number or
83 might contain a OS dependent defined keycode
84 which would be conditionally compiled in for
85 x11 or win32 */
87 extern unsigned int _qdgdfv_palette[256 * 3];
88 extern unsigned int _qdgdfv_extended_palette[256];
89 extern int _qdgdfv_pixel_size;
90 unsigned int _qdgdfv_red_mask;
91 unsigned int _qdgdfv_green_mask;
92 unsigned int _qdgdfv_blue_mask;
93 int _qdgdfv_red_shift;
94 int _qdgdfv_green_shift;
95 int _qdgdfv_blue_shift;
97 extern char *_qdgdfv_version;
99 extern int _qdgdfv_font_height;
100 extern int _qdgdfv_font_blend;
101 extern int _qdgdfv_convert_ktl_to_proportional;
103 extern int _qdgdfv_full_screen;
105 struct _qdgdfv_driver {
106 char *name;
107 void (*set_palette) (void);
108 void (*dump_virtual_screen) (void);
109 void (*input_poll) (void);
110 int (*timer) (int);
111 int (*opengl) (int);
112 int (*startup) (void);
113 void (*shutdown) (void);
117 char *qdgdfv_sprintf(char *fmt, ...);
118 void qdgdfv_logger(char *where, char *msg);
119 void *qdgdfv_malloc(int size);
121 FILE *_qdgdfv_fopen(char *file, char *mode);
122 FILE *qdgdfv_fopen(char *file, char *mode);
123 char *qdgdfv_path_find(const char *file);
125 void qdgdfv_bang(char *where, char *msg);
126 #define qdgdfv_bangif(where,cond) if(cond) qdgdfv_bang(where,#cond)
128 void qdgdfv_load_pcx(unsigned char *pcx, char *pcxfile, int size);
129 void qdgdfv_load_pcx_pal(unsigned char *pcx, char *pcxfile, int size);
130 void qdgdfv_load_pcx_pal_set(unsigned char *pcx, char *pcxfile, int size);
132 void qdgdfv_load_palette(char *palfile);
133 void qdgdfv_set_palette(void);
135 void qdgdfv_input_poll(void);
136 void qdgdfv_clear_virtual_screen(void);
138 void _qdgdfv_dump2_screen(unsigned char *, short *);
139 void _qdgdfv_dump4_screen(unsigned char *, int *);
141 void _qdgdfv_double_dump1_screen(unsigned char *, char *);
142 void _qdgdfv_double_dump2_screen(unsigned char *, short *);
143 void _qdgdfv_double_dump4_screen(unsigned char *, int *);
145 void _qdgdfv_triple_dump1_screen(unsigned char *, char *);
146 void _qdgdfv_triple_dump2_screen(unsigned char *, short *);
147 void _qdgdfv_triple_dump4_screen(unsigned char *, int *);
149 void _qdgdfv_s2x_dump1_screen(unsigned char *, char *);
150 void _qdgdfv_s2x_dump2_screen(unsigned char *, short *);
151 void _qdgdfv_s2x_dump4_screen(unsigned char *, int *);
153 void _qdgdfv_s3x_dump1_screen(unsigned char *, char *);
154 void _qdgdfv_s3x_dump2_screen(unsigned char *, short *);
155 void _qdgdfv_s3x_dump4_screen(unsigned char *, int *);
157 void qdgdfv_dump_virtual_screen(void);
158 void qdgdfv_assert_in_virtual_screen(char *func, unsigned char *ptr);
160 unsigned char qdgdfv_seek_color(int r, int g, int b);
162 int qdgdfv_timer(int reset);
164 void qdgdfv_build_light_table(unsigned char *lut, int levels, int mid);
165 void qdgdfv_build_light_table_ext(unsigned char *lut, int levels,
166 int mid, int fr, int fg, int fb);
168 unsigned char qdgdfv_blend_color(unsigned char c1, unsigned char c2,
169 int percent);
171 void qdgdfv_set_accum_buffer(int percent);
173 int qdgdfv_extended_key_status(int *key_var);
175 void qdgdfv_load_ktl_font(char *fontfile);
176 int qdgdfv_font_size(char *string);
177 void qdgdfv_font_print(int x, int y, unsigned char *string,
178 unsigned char color);
180 char *qdgdfv_home_dir(void);
181 char *qdgdfv_app_dir(void);
183 int qdgdfv_opengl(int onoff);
185 void qdgdfv_startup(void);
186 void qdgdfv_shutdown(void);
188 #endif /* QDGDF_VIDEO_H_ */