-
Notifications
You must be signed in to change notification settings - Fork 56
/
Copy pathinit.h
289 lines (244 loc) · 4.86 KB
/
init.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
/*!
* \file
* \ingroup init
* \brief Initialization related functions.
*/
#ifndef __INIT_H__
#define __INIT_H__
#ifdef __cplusplus
extern "C" {
#endif
#include "list.h"
/*!
* Binary configuration data
*/
typedef struct
{
int cfg_version_num; /*!< version number of the configuration */
/*!
* \name Inventory window position
*/
/*! @{ */
int items_menu_x;
int items_menu_y;
/*! @} */
/*!
* \name Ground items menu position
*/
/*! @{ */
int ground_items_menu_x;
int ground_items_menu_y;
/*! @} */
/*!
* \name Manufacture window position
*/
/*! @{ */
int manufacture_menu_x;
int manufacture_menu_y;
/*! @} */
/*!
* \name Trade window position
*/
/*! @{ */
int trade_menu_x;
int trade_menu_y;
/*! @} */
/*!
* \name Options window position
*/
/*! @{ */
int elconfig_menu_x;
int elconfig_menu_y;
/*! @} */
/*!
* \name Stats window position
*/
/*! @{ */
int tab_stats_x;
int tab_stats_y;
/*! @} */
/*!
* \name Sigils window position
*/
/*! @{ */
int sigil_menu_x;
int sigil_menu_y;
/*! @} */
/*!
* \name Dialogues window position
*/
/*! @{ */
int dialogue_menu_x;
int dialogue_menu_y;
/*! @} */
/*!
* \name Help window position
*/
/*! @{ */
int tab_help_x;
int tab_help_y;
/*! @} */
/*!
* \name Quickbar location and flags
*/
/*! @{ */
int quickbar_x;
int quickbar_y;
int quickbar_flags;
/*! @} */
unsigned int hud_indicators_options;
int has_accepted_rules;
int quantity[6];
int storage_win_x;
int storage_win_y;
int buddy_menu_x;
int buddy_menu_y;
int quantity_selected;
/*!
* \name Banner settings configured via banner popup menu
*/
/*! @{ */
int banner_settings;
/*! @} */
/*!
* \name Item lists - active list index.
*/
/*! @{ */
unsigned int active_item_list;
/*! @} */
unsigned int hud_indicators_position;
/*!
* \name quest log window position
*/
/*! @{ */
int questlog_win_x;
int questlog_win_y;
/*! @} */
/*!
* \name minimap window position and settings
*/
/*! @{ */
int minimap_win_x;
int minimap_win_y;
int minimap_zoom;
/*! @} */
/*!
* \name current selected tabs 4 bits each
*/
/*! @{ */
unsigned tab_selected;
/*! @} */
/*!
* \name Camera position and attributes
*/
/*! @{ */
float camera_x;
float camera_y;
float camera_z;
float zoom_level;
/*! @} */
/*!
* \name Astrology window position
*/
/*! @{ */
int astrology_win_x;
int astrology_win_y;
/*! @} */
/*!
* \name info tab window position
*/
/*! @{ */
int tab_info_x;
int tab_info_y;
/*! @} */
/*!
* \name Language selection window - saved flag
*/
/*! @{ */
int have_saved_langsel;
/*! @} */
/*!
* \name Misc bool options
*/
/*! @{ */
int misc_bool_options;
/*! @} */
/*!
* \name User menu options
*/
/*! @{ */
int user_menu_options;
int user_menu_win_x;
int user_menu_win_y;
/*! @} */
/*!
* \name do spells start minimized?
*/
/*! @{ */
int start_mini_spells;
/*! @} */
int emotes_menu_x;
int emotes_menu_y;
int watch_this_stats[5];
unsigned int floating_counter_flags;
unsigned int questlog_flags;
/*!
* \name Ranging window loc
*/
/*! @{ */
int ranging_win_x;
int ranging_win_y;
/*! @} */
// the following additions are backwards compatible to previous files and have the same version number
/*!
* \name quick spell window position and options
*/
/*! @{ */
unsigned int quickspell_win_position;
unsigned int quickspell_win_options;
/*! @} */
/*!
* \name chat window position
*/
/*! @{ */
int chat_win_x;
int chat_win_y;
/*! @} */
}bin_cfg;
extern char configdir[256]; /*!< the default directory where we look for configuration files */
extern char datadir[256]; /*!< the default directory where we look for data files (aka installation dir) */
/*!
* \ingroup readconfig
* \brief Reads the server configuration file.
*
* Reads the server configuration, or the default one if no server selected.
*
* \pre If the config could not be read, the function calls exit.
*/
void read_config(void);
/*!
* \ingroup loadsave
* \brief Stores the window layout in the binary cfg file.
*
* Stores the window layout and related information in the binary cfg file.
*
* \pre If the cfg file could not be opened for writing, the function returns without performing any actions.
*/
void save_bin_cfg(void);
/*!
* \ingroup init
* \brief Does all the necessary initialization at program startup time.
*
* The function will be called from \ref main and does all necessary initialization at program startup time.
*
* \callgraph
*
* \pre If the rules.xml file is missing, the function will terminate the program with an exit code of 3.
*
* \note If SDLNet_Init fails the function will terminate the program with an exit code of 2. If the SDL timer subsystem initialization fails, it will terminate with an exit code of 1.
*/
void init_stuff(void);
#ifdef __cplusplus
} // extern "C"
#endif
#endif //__INIT_H__