1 /* XQF - Quake server browser and launcher
2  * Copyright (C) 1998-2000 Roman Pozlevich <roma@botik.ru>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (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.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
17  */
18 
19 #ifndef __PREF_H__
20 #define __PREF_H__
21 
22 
23 #include <gtk/gtk.h>
24 #include "game.h"
25 
26 
27 #ifndef PATH_MAX
28 # ifdef MAXPATHLEN
29 #  define PATH_MAX MAXPATHLEN
30 # else
31 #  define PATH_MAX 8192
32 # endif
33 #endif
34 
35 enum {
36 	PREF_PAGE_GENERAL = 0,
37 	PREF_PAGE_GAMES,
38 	PREF_PAGE_APPEARANCE,
39 	PREF_PAGE_QSTAT,
40 	PREF_PAGE_SOUNDS,
41 	PREF_PAGE_SCRIPTS
42 };
43 
44 extern char *user_rcdir;
45 
46 extern char *default_q1_name;
47 extern char *default_qw_name;
48 extern char *default_q2_name;
49 extern char *default_t2_name;
50 extern char *default_qw_team;
51 extern char *default_qw_skin;
52 extern char *default_q2_skin;
53 extern int default_q1_top_color;
54 extern int default_q1_bottom_color;
55 extern int default_qw_top_color;
56 extern int default_qw_bottom_color;
57 
58 extern int default_qw_rate;
59 extern int default_q2_rate;
60 extern int default_qw_cl_nodelta;
61 extern int default_q2_cl_nodelta;
62 extern int default_qw_cl_predict;
63 extern int default_q2_cl_predict;
64 extern int default_noaim;
65 extern int default_qw_noskins;
66 extern int default_q2_noskins;
67 extern int default_b_switch;
68 extern int default_w_switch;
69 
70 extern int pushlatency_mode;
71 extern int pushlatency_value;
72 
73 extern int default_qw_is_quakeforge;
74 
75 extern int default_nosound;
76 extern int default_nocdaudio;
77 
78 extern int show_hostnames;
79 extern int show_default_port;
80 
81 extern int serverlist_countbots;
82 
83 extern int default_terminate;
84 extern int default_stopxmms;
85 extern int default_iconify;
86 extern int default_launchinfo;
87 extern int default_prelaunchexec;
88 extern int default_save_lists;
89 extern int default_save_srvinfo;
90 extern int default_save_plrinfo;
91 extern int default_auto_favorites;
92 extern int default_show_splash;
93 extern int default_show_tray_icon;
94 extern int default_always_resolve;
95 extern int default_toolbar_style;
96 extern int default_toolbar_tips;
97 extern int default_refresh_sorts;
98 extern int default_refresh_on_update;
99 extern int default_resolve_on_update;
100 extern int default_show_only_configured_games;
101 extern char* default_icontheme;
102 
103 extern int maxretries;
104 extern int maxsimultaneous;
105 extern char* qstat_srcip;
106 extern unsigned short qstat_srcport_low;
107 extern unsigned short qstat_srcport_high;
108 
109 extern int sound_enable;
110 extern char *sound_player;
111 extern char *sound_xqf_start;
112 extern char *sound_xqf_quit;
113 extern char *sound_update_done;
114 extern char *sound_refresh_done;
115 extern char *sound_stop;
116 extern char *sound_server_connect;
117 extern char *sound_redial_success;
118 
119 extern int skip_startup_mapscan;
120 
121 void q1_prefs_load(struct game* g);
122 void qw_prefs_load(struct game* g);
123 void q2_prefs_load(struct game* g);
124 void q3_prefs_load(struct game* g);
125 void q3_prefs_load_common(struct game* g);
126 void tribes2_prefs_load(struct game* g);
127 
128 void q1_update_prefs (struct game* g);
129 void qw_update_prefs (struct game* g);
130 void q2_update_prefs (struct game* g);
131 void q3_update_prefs (struct game* g);
132 void q3_update_prefs_common (struct game* g);
133 void doom3_update_prefs (struct game* g);
134 void quake4_update_prefs (struct game* g);
135 void tribes2_update_prefs (struct game* g);
136 void ut2004_update_prefs (struct game* g);
137 
138 extern int set_working_dir (char *dir);
139 extern void preferences_dialog (int page_num);
140 extern int fix_qw_player_color (int color);
141 
142 extern int init_user_info (void);
143 extern void free_user_info (void);
144 
145 extern int prefs_load (void);
146 
147 #endif /* __PREF_H__ */
148