1 /// This module has been automatically generated.
2 
3 module tcod.c.functions;
4 
5 import core.runtime : Runtime;
6 import std.algorithm.iteration : map;
7 import std.path : dirName, dirSeparator;
8 import std.range : array;
9 import std.string: join, toStringz;
10 
11 import derelict.util.loader;
12 import derelict.util.system;
13 
14 import tcod.c.all;
15 import tcod.c.types;
16 
17 extern(C) @nogc nothrow {
18     alias da_TCOD_bsp_contains = bool function(TCOD_bsp_t*, int, int);
19     alias da_TCOD_bsp_delete = void function(TCOD_bsp_t*);
20     alias da_TCOD_bsp_father = TCOD_bsp_t* function(TCOD_bsp_t*);
21     alias da_TCOD_bsp_find_node = TCOD_bsp_t* function(TCOD_bsp_t*, int, int);
22     alias da_TCOD_bsp_is_leaf = bool function(TCOD_bsp_t*);
23     alias da_TCOD_bsp_left = TCOD_bsp_t* function(TCOD_bsp_t*);
24     alias da_TCOD_bsp_new = TCOD_bsp_t* function();
25     alias da_TCOD_bsp_new_with_size = TCOD_bsp_t* function(int, int, int, int);
26     alias da_TCOD_bsp_remove_sons = void function(TCOD_bsp_t*);
27     alias da_TCOD_bsp_resize = void function(TCOD_bsp_t*, int, int, int, int);
28     alias da_TCOD_bsp_right = TCOD_bsp_t* function(TCOD_bsp_t*);
29     alias da_TCOD_bsp_split_once = void function(TCOD_bsp_t*, bool, int);
30     alias da_TCOD_bsp_split_recursive = void function(TCOD_bsp_t*, TCOD_random_t, int, int, int, float, float);
31     alias da_TCOD_bsp_traverse_in_order = bool function(TCOD_bsp_t*, TCOD_bsp_callback_t, void*);
32     alias da_TCOD_bsp_traverse_inverted_level_order = bool function(TCOD_bsp_t*, TCOD_bsp_callback_t, void*);
33     alias da_TCOD_bsp_traverse_level_order = bool function(TCOD_bsp_t*, TCOD_bsp_callback_t, void*);
34     alias da_TCOD_bsp_traverse_post_order = bool function(TCOD_bsp_t*, TCOD_bsp_callback_t, void*);
35     alias da_TCOD_bsp_traverse_pre_order = bool function(TCOD_bsp_t*, TCOD_bsp_callback_t, void*);
36     alias da_TCOD_close_library = void function(TCOD_library_t);
37     alias da_TCOD_color_HSV = TCOD_color_t function(float, float, float);
38     alias da_TCOD_color_RGB = TCOD_color_t function(uint8, uint8, uint8);
39     alias da_TCOD_color_add = TCOD_color_t function(TCOD_color_t, TCOD_color_t);
40     alias da_TCOD_color_equals = bool function(TCOD_color_t, TCOD_color_t);
41     alias da_TCOD_color_gen_map = void function(TCOD_color_t*, int, const TCOD_color_t*, const int*);
42     alias da_TCOD_color_get_HSV = void function(TCOD_color_t, float*, float*, float*);
43     alias da_TCOD_color_get_hue = float function(TCOD_color_t);
44     alias da_TCOD_color_get_saturation = float function(TCOD_color_t);
45     alias da_TCOD_color_get_value = float function(TCOD_color_t);
46     alias da_TCOD_color_lerp = TCOD_color_t function(TCOD_color_t, TCOD_color_t, float);
47     alias da_TCOD_color_multiply = TCOD_color_t function(TCOD_color_t, TCOD_color_t);
48     alias da_TCOD_color_multiply_scalar = TCOD_color_t function(TCOD_color_t, TCOD_color_t, float);
49     alias da_TCOD_color_scale_HSV = void function(TCOD_color_t*, float, float);
50     alias da_TCOD_color_set_HSV = void function(TCOD_color_t*, float, float, float);
51     alias da_TCOD_color_set_hue = void function(TCOD_color_t*, float);
52     alias da_TCOD_color_set_saturation = void function(TCOD_color_t*, float);
53     alias da_TCOD_color_set_value = void function(TCOD_color_t*, float);
54     alias da_TCOD_color_shift_hue = void function(TCOD_color_t*, float);
55     alias da_TCOD_color_subtract = TCOD_color_t function(TCOD_color_t, TCOD_color_t);
56     alias da_TCOD_condition_broadcast = void function(TCOD_cond_t);
57     alias da_TCOD_condition_delete = void function(TCOD_cond_t);
58     alias da_TCOD_condition_new = TCOD_cond_t function();
59     alias da_TCOD_condition_signal = void function(TCOD_cond_t);
60     alias da_TCOD_condition_wait = void function(TCOD_cond_t, TCOD_mutex_t);
61     alias da_TCOD_console_blit = void function(TCOD_console_t, int, int, int, int, TCOD_console_t, int, int, float, float);
62     alias da_TCOD_console_check_for_keypress = TCOD_key_t function(int);
63     alias da_TCOD_console_clear = void function(TCOD_console_t);
64     alias da_TCOD_console_credits = void function();
65     alias da_TCOD_console_credits_render = bool function(int, int, bool);
66     alias da_TCOD_console_credits_reset = void function();
67     alias da_TCOD_console_delete = void function(TCOD_console_t);
68     alias da_TCOD_console_disable_keyboard_repeat = void function();
69     alias da_TCOD_console_flush = void function();
70     alias da_TCOD_console_from_file = TCOD_console_t function(charptr);
71     alias da_TCOD_console_get_alignment = TCOD_alignment_t function(TCOD_console_t);
72     alias da_TCOD_console_get_background_flag = TCOD_bkgnd_flag_t function(TCOD_console_t);
73     alias da_TCOD_console_get_char = int function(TCOD_console_t, int, int);
74     alias da_TCOD_console_get_char_background = TCOD_color_t function(TCOD_console_t, int, int);
75     alias da_TCOD_console_get_char_foreground = TCOD_color_t function(TCOD_console_t, int, int);
76     alias da_TCOD_console_get_default_background = TCOD_color_t function(TCOD_console_t);
77     alias da_TCOD_console_get_default_foreground = TCOD_color_t function(TCOD_console_t);
78     alias da_TCOD_console_get_fade = ubyte function();
79     alias da_TCOD_console_get_fading_color = TCOD_color_t function();
80     alias da_TCOD_console_get_height = int function(TCOD_console_t);
81     alias da_TCOD_console_get_height_rect = int function(TCOD_console_t, int, int, int, int, charptr, ...);
82     alias da_TCOD_console_get_height_rect_utf = int function(TCOD_console_t,int, int, int, int, wchar_tptr, ...);
83     alias da_TCOD_console_get_width = int function(TCOD_console_t);
84     alias da_TCOD_console_hline = void function(TCOD_console_t, int, int, int, TCOD_bkgnd_flag_t);
85     alias da_TCOD_console_init_root = void function(int, int, charptr, bool, TCOD_renderer_t);
86     alias da_TCOD_console_is_fullscreen = bool function();
87     alias da_TCOD_console_is_key_pressed = bool function(TCOD_keycode_t);
88     alias da_TCOD_console_is_window_closed = bool function();
89     alias da_TCOD_console_load_apf = bool function(TCOD_console_t, charptr);
90     alias da_TCOD_console_load_asc = bool function(TCOD_console_t, charptr);
91     alias da_TCOD_console_map_ascii_code_to_font = void function(int, int, int);
92     alias da_TCOD_console_map_ascii_codes_to_font = void function(int, int, int, int);
93     alias da_TCOD_console_map_string_to_font = void function(charptr, int, int);
94     alias da_TCOD_console_map_string_to_font_utf = void function(wchar_tptr, int, int);
95     alias da_TCOD_console_new = TCOD_console_t function(int, int);
96     alias da_TCOD_console_print = void function(TCOD_console_t, int, int, charptr, ...);
97     alias da_TCOD_console_print_ex = void function(TCOD_console_t, int, int, TCOD_bkgnd_flag_t, TCOD_alignment_t, charptr, ...);
98     alias da_TCOD_console_print_ex_utf = void function(TCOD_console_t, int, int, TCOD_bkgnd_flag_t, TCOD_alignment_t, wchar_tptr, ...);
99     alias da_TCOD_console_print_frame = void function(TCOD_console_t, int, int, int, int, bool, TCOD_bkgnd_flag_t, charptr, ...);
100     alias da_TCOD_console_print_rect = int function(TCOD_console_t, int, int, int, int, charptr, ...);
101     alias da_TCOD_console_print_rect_ex = int function(TCOD_console_t, int, int, int, int, TCOD_bkgnd_flag_t, TCOD_alignment_t, charptr, ...);
102     alias da_TCOD_console_print_rect_ex_utf = int function(TCOD_console_t, int, int, int, int, TCOD_bkgnd_flag_t, TCOD_alignment_t, wchar_tptr, ...);
103     alias da_TCOD_console_print_rect_utf = int function(TCOD_console_t,int, int, int, int, wchar_tptr, ...);
104     alias da_TCOD_console_print_utf = void function(TCOD_console_t, int, int, wchar_tptr, ...);
105     alias da_TCOD_console_put_char = void function(TCOD_console_t, int, int, int, TCOD_bkgnd_flag_t);
106     alias da_TCOD_console_put_char_ex = void function(TCOD_console_t, int, int, int, TCOD_color_t, TCOD_color_t);
107     alias da_TCOD_console_rect = void function(TCOD_console_t, int, int, int, int, bool, TCOD_bkgnd_flag_t);
108     alias da_TCOD_console_save_apf = bool function(TCOD_console_t, charptr);
109     alias da_TCOD_console_save_asc = bool function(TCOD_console_t, charptr);
110     alias da_TCOD_console_set_alignment = void function(TCOD_console_t, TCOD_alignment_t);
111     alias da_TCOD_console_set_background_flag = void function(TCOD_console_t, TCOD_bkgnd_flag_t);
112     alias da_TCOD_console_set_char = void function(TCOD_console_t, int, int, int);
113     alias da_TCOD_console_set_char_background = void function(TCOD_console_t, int, int, TCOD_color_t, TCOD_bkgnd_flag_t);
114     alias da_TCOD_console_set_char_foreground = void function(TCOD_console_t, int, int, TCOD_color_t);
115     alias da_TCOD_console_set_color_control = void function(TCOD_colctrl_t, TCOD_color_t, TCOD_color_t);
116     alias da_TCOD_console_set_custom_font = void function(charptr, int, int, int);
117     alias da_TCOD_console_set_default_background = void function(TCOD_console_t, TCOD_color_t);
118     alias da_TCOD_console_set_default_foreground = void function(TCOD_console_t, TCOD_color_t);
119     alias da_TCOD_console_set_dirty = void function(int, int, int, int);
120     alias da_TCOD_console_set_fade = void function(ubyte, TCOD_color_t);
121     alias da_TCOD_console_set_fullscreen = void function(bool);
122     alias da_TCOD_console_set_key_color = void function(TCOD_console_t, TCOD_color_t);
123     alias da_TCOD_console_set_keyboard_repeat = void function(int, int);
124     alias da_TCOD_console_set_window_title = void function(charptr);
125     alias da_TCOD_console_vline = void function(TCOD_console_t, int, int, int, TCOD_bkgnd_flag_t);
126     alias da_TCOD_console_wait_for_keypress = TCOD_key_t function(bool);
127     alias da_TCOD_dijkstra_compute = void function(TCOD_dijkstra_t, int, int);
128     alias da_TCOD_dijkstra_delete = void function(TCOD_dijkstra_t);
129     alias da_TCOD_dijkstra_get = void function(TCOD_dijkstra_t, int, int*, int*);
130     alias da_TCOD_dijkstra_get_distance = float function(TCOD_dijkstra_t, int, int);
131     alias da_TCOD_dijkstra_is_empty = bool function(TCOD_dijkstra_t);
132     alias da_TCOD_dijkstra_new = TCOD_dijkstra_t function(TCOD_map_t, float);
133     alias da_TCOD_dijkstra_new_using_function = TCOD_dijkstra_t function(int, int, TCOD_path_func_t, void*, float);
134     alias da_TCOD_dijkstra_path_set = bool function(TCOD_dijkstra_t, int, int);
135     alias da_TCOD_dijkstra_path_walk = bool function(TCOD_dijkstra_t, int*, int*);
136     alias da_TCOD_dijkstra_reverse = void function(TCOD_dijkstra_t);
137     alias da_TCOD_dijkstra_size = int function(TCOD_dijkstra_t);
138     alias da_TCOD_get_function_address = void* function(TCOD_library_t, charptr);
139     alias da_TCOD_heightmap_add = void function(TCOD_heightmap_t*, float);
140     alias da_TCOD_heightmap_add_fbm = void function(TCOD_heightmap_t*, TCOD_noise_t, float, float, float, float, float, float, float);
141     alias da_TCOD_heightmap_add_hill = void function(TCOD_heightmap_t*, float, float, float, float);
142     alias da_TCOD_heightmap_add_hm = void function(const TCOD_heightmap_t*, const TCOD_heightmap_t*, TCOD_heightmap_t*);
143     alias da_TCOD_heightmap_add_voronoi = void function(TCOD_heightmap_t*, int, int, const float*, TCOD_random_t);
144     alias da_TCOD_heightmap_clamp = void function(TCOD_heightmap_t*, float, float);
145     alias da_TCOD_heightmap_clear = void function(TCOD_heightmap_t*);
146     alias da_TCOD_heightmap_copy = void function(const TCOD_heightmap_t*, TCOD_heightmap_t*);
147     alias da_TCOD_heightmap_count_cells = int function(const TCOD_heightmap_t*, float, float);
148     alias da_TCOD_heightmap_delete = void function(TCOD_heightmap_t*);
149     alias da_TCOD_heightmap_dig_bezier = void function(TCOD_heightmap_t*, int[4], int[4], float, float, float, float);
150     alias da_TCOD_heightmap_dig_hill = void function(TCOD_heightmap_t*, float, float, float, float);
151     alias da_TCOD_heightmap_get_interpolated_value = float function(const TCOD_heightmap_t*, float, float);
152     alias da_TCOD_heightmap_get_minmax = void function(const TCOD_heightmap_t*, float*, float*);
153     alias da_TCOD_heightmap_get_normal = void function(const TCOD_heightmap_t*, float, float, float[3], float);
154     alias da_TCOD_heightmap_get_slope = float function(const TCOD_heightmap_t*, int, int);
155     alias da_TCOD_heightmap_get_value = float function(const TCOD_heightmap_t*, int, int);
156     alias da_TCOD_heightmap_has_land_on_border = bool function(const TCOD_heightmap_t*, float);
157     alias da_TCOD_heightmap_islandify = void function(TCOD_heightmap_t*, float, TCOD_random_t);
158     alias da_TCOD_heightmap_kernel_transform = void function(TCOD_heightmap_t*, int, const int*, const int*, const float*, float, float);
159     alias da_TCOD_heightmap_lerp_hm = void function(const TCOD_heightmap_t*, const TCOD_heightmap_t*, TCOD_heightmap_t*, float);
160     alias da_TCOD_heightmap_multiply_hm = void function(const TCOD_heightmap_t*, const TCOD_heightmap_t*, TCOD_heightmap_t*);
161     alias da_TCOD_heightmap_new = TCOD_heightmap_t* function(int, int);
162     alias da_TCOD_heightmap_normalize = void function(TCOD_heightmap_t*, float, float);
163     alias da_TCOD_heightmap_rain_erosion = void function(TCOD_heightmap_t*, int, float, float, TCOD_random_t);
164     alias da_TCOD_heightmap_scale = void function(TCOD_heightmap_t*, float);
165     alias da_TCOD_heightmap_scale_fbm = void function(TCOD_heightmap_t*, TCOD_noise_t, float, float, float, float, float, float, float);
166     alias da_TCOD_heightmap_set_value = void function(TCOD_heightmap_t*, int, int, float);
167     alias da_TCOD_image_blit = void function(TCOD_image_t, TCOD_console_t, float, float, TCOD_bkgnd_flag_t, float, float, float);
168     alias da_TCOD_image_blit_2x = void function(TCOD_image_t, TCOD_console_t, int, int, int, int, int, int);
169     alias da_TCOD_image_blit_rect = void function(TCOD_image_t, TCOD_console_t, int, int, int, int, TCOD_bkgnd_flag_t);
170     alias da_TCOD_image_clear = void function(TCOD_image_t, TCOD_color_t);
171     alias da_TCOD_image_delete = void function(TCOD_image_t);
172     alias da_TCOD_image_from_console = TCOD_image_t function(TCOD_console_t);
173     alias da_TCOD_image_get_alpha = int function(TCOD_image_t, int, int);
174     alias da_TCOD_image_get_mipmap_pixel = TCOD_color_t function(TCOD_image_t, float, float, float, float);
175     alias da_TCOD_image_get_pixel = TCOD_color_t function(TCOD_image_t, int, int);
176     alias da_TCOD_image_get_size = void function(TCOD_image_t, int*, int*);
177     alias da_TCOD_image_hflip = void function(TCOD_image_t);
178     alias da_TCOD_image_invert = void function(TCOD_image_t);
179     alias da_TCOD_image_is_pixel_transparent = bool function(TCOD_image_t, int, int);
180     alias da_TCOD_image_load = TCOD_image_t function(charptr);
181     alias da_TCOD_image_new = TCOD_image_t function(int, int);
182     alias da_TCOD_image_put_pixel = void function(TCOD_image_t, int, int, TCOD_color_t);
183     alias da_TCOD_image_refresh_console = void function(TCOD_image_t, TCOD_console_t);
184     alias da_TCOD_image_rotate90 = void function(TCOD_image_t, int);
185     alias da_TCOD_image_save = void function(TCOD_image_t, charptr);
186     alias da_TCOD_image_scale = void function(TCOD_image_t, int, int);
187     alias da_TCOD_image_set_key_color = void function(TCOD_image_t, TCOD_color_t);
188     alias da_TCOD_image_vflip = void function(TCOD_image_t);
189     alias da_TCOD_lex_delete = void function(TCOD_lex_t*);
190     alias da_TCOD_lex_expect_token_type = bool function(TCOD_lex_t*, int);
191     alias da_TCOD_lex_expect_token_value = bool function(TCOD_lex_t*, int, charptr);
192     alias da_TCOD_lex_get_last_error = char* function();
193     alias da_TCOD_lex_get_last_javadoc = char* function(TCOD_lex_t*);
194     alias da_TCOD_lex_get_token_name = charptr function(int);
195     alias da_TCOD_lex_hextoint = int function(char);
196     alias da_TCOD_lex_new = TCOD_lex_t* function(charptr*, charptr*, charptr, charptr, charptr, charptr, charptr, int);
197     alias da_TCOD_lex_new_intern = TCOD_lex_t* function();
198     alias da_TCOD_lex_parse = int function(TCOD_lex_t*);
199     alias da_TCOD_lex_parse_until_token_type = int function(TCOD_lex_t*, int);
200     alias da_TCOD_lex_parse_until_token_value = int function(TCOD_lex_t*, charptr);
201     alias da_TCOD_lex_restore = void function(TCOD_lex_t*, TCOD_lex_t*);
202     alias da_TCOD_lex_savepoint = void function(TCOD_lex_t*, TCOD_lex_t*);
203     alias da_TCOD_lex_set_data_buffer = void function(TCOD_lex_t*, char* dat);
204     alias da_TCOD_lex_set_data_file = bool function(TCOD_lex_t*, charptr);
205     alias da_TCOD_line = bool function(int, int, int, int, TCOD_line_listener_t);
206     alias da_TCOD_line_init = void function(int, int, int, int);
207     alias da_TCOD_line_init_mt = void function(int, int, int, int, TCOD_bresenham_data_t*);
208     alias da_TCOD_line_mt = bool function(int, int, int, int, TCOD_line_listener_t, TCOD_bresenham_data_t*);
209     alias da_TCOD_line_step = bool function(int*, int*);
210     alias da_TCOD_line_step_mt = bool function(int*, int*, TCOD_bresenham_data_t*);
211     alias da_TCOD_list_add_all = void function(TCOD_list_t, TCOD_list_t);
212     alias da_TCOD_list_allocate = TCOD_list_t function(int);
213     alias da_TCOD_list_begin = void** function(TCOD_list_t);
214     alias da_TCOD_list_clear = void function(TCOD_list_t);
215     alias da_TCOD_list_clear_and_delete = void function(TCOD_list_t);
216     alias da_TCOD_list_contains = bool function(TCOD_list_t, void*);
217     alias da_TCOD_list_delete = void function(TCOD_list_t);
218     alias da_TCOD_list_duplicate = TCOD_list_t function(TCOD_list_t);
219     alias da_TCOD_list_end = void** function(TCOD_list_t);
220     alias da_TCOD_list_get = void* function(TCOD_list_t, int);
221     alias da_TCOD_list_insert_before = void** function(TCOD_list_t, void*, int);
222     alias da_TCOD_list_is_empty = bool function(TCOD_list_t);
223     alias da_TCOD_list_new = TCOD_list_t function();
224     alias da_TCOD_list_peek = void* function(TCOD_list_t);
225     alias da_TCOD_list_pop = void* function(TCOD_list_t);
226     alias da_TCOD_list_push = void function(TCOD_list_t, void*);
227     alias da_TCOD_list_remove = void function(TCOD_list_t, void*);
228     alias da_TCOD_list_remove_iterator = void** function(TCOD_list_t, void*);
229     alias da_TCOD_list_remove_iterator_fast = void** function(TCOD_list_t, void*);
230     alias da_TCOD_list_reverse = void function(TCOD_list_t);
231     alias da_TCOD_list_set = void function(TCOD_list_t, void*, int);
232     alias da_TCOD_list_size = int function(TCOD_list_t);
233     alias da_TCOD_load_library = TCOD_library_t function(charptr);
234     alias da_TCOD_map_clear = void function(TCOD_map_t, bool, bool);
235     alias da_TCOD_map_compute_fov = void function(TCOD_map_t, int, int, int, bool, TCOD_fov_algorithm_t);
236     alias da_TCOD_map_copy = void function(TCOD_map_t, TCOD_map_t);
237     alias da_TCOD_map_delete = void function(TCOD_map_t);
238     alias da_TCOD_map_get_height = int function(TCOD_map_t);
239     alias da_TCOD_map_get_nb_cells = int function(TCOD_map_t);
240     alias da_TCOD_map_get_width = int function(TCOD_map_t);
241     alias da_TCOD_map_is_in_fov = bool function(TCOD_map_t, int, int);
242     alias da_TCOD_map_is_transparent = bool function(TCOD_map_t, int, int);
243     alias da_TCOD_map_is_walkable = bool function(TCOD_map_t, int, int);
244     alias da_TCOD_map_new = TCOD_map_t function(int, int);
245     alias da_TCOD_map_set_in_fov = void function(TCOD_map_t, int, int, bool);
246     alias da_TCOD_map_set_properties = void function(TCOD_map_t, int, int, bool, bool);
247     alias da_TCOD_mouse_get_status = TCOD_mouse_t function();
248     alias da_TCOD_mouse_includes_touch = void function(bool);
249     alias da_TCOD_mouse_is_cursor_visible = bool function();
250     alias da_TCOD_mouse_move = void function(int, int);
251     alias da_TCOD_mouse_show_cursor = void function(bool);
252     alias da_TCOD_mutex_delete = void function(TCOD_mutex_t);
253     alias da_TCOD_mutex_in = void function(TCOD_mutex_t);
254     alias da_TCOD_mutex_new = TCOD_mutex_t function();
255     alias da_TCOD_mutex_out = void function(TCOD_mutex_t);
256     alias da_TCOD_namegen_destroy = void function();
257     alias da_TCOD_namegen_generate = charptr function(charptr, bool);
258     alias da_TCOD_namegen_generate_custom = charptr function(charptr, charptr, bool);
259     alias da_TCOD_namegen_get_sets = TCOD_list_t function();
260     alias da_TCOD_namegen_parse = void function(charptr, TCOD_random_t);
261     alias da_TCOD_noise_delete = void function(TCOD_noise_t);
262     alias da_TCOD_noise_get = float function(TCOD_noise_t, float*);
263     alias da_TCOD_noise_get_ex = float function(TCOD_noise_t, float*, TCOD_noise_type_t);
264     alias da_TCOD_noise_get_fbm = float function(TCOD_noise_t, float*, float);
265     alias da_TCOD_noise_get_fbm_ex = float function(TCOD_noise_t, float*, float, TCOD_noise_type_t);
266     alias da_TCOD_noise_get_turbulence = float function(TCOD_noise_t, float*, float);
267     alias da_TCOD_noise_get_turbulence_ex = float function(TCOD_noise_t, float*, float, TCOD_noise_type_t);
268     alias da_TCOD_noise_new = TCOD_noise_t function(int, float, float, TCOD_random_t);
269     alias da_TCOD_noise_set_type = void function(TCOD_noise_t, TCOD_noise_type_t);
270     alias da_TCOD_parse_bool_value = TCOD_value_t function();
271     alias da_TCOD_parse_char_value = TCOD_value_t function();
272     alias da_TCOD_parse_color_value = TCOD_value_t function();
273     alias da_TCOD_parse_dice_value = TCOD_value_t function();
274     alias da_TCOD_parse_float_value = TCOD_value_t function();
275     alias da_TCOD_parse_integer_value = TCOD_value_t function();
276     alias da_TCOD_parse_property_value = TCOD_value_t function(TCOD_parser_int_t*, TCOD_parser_struct_t, charptr, bool);
277     alias da_TCOD_parse_string_value = TCOD_value_t function();
278     alias da_TCOD_parse_value_list_value = TCOD_value_t function(TCOD_struct_int_t*, int);
279     alias da_TCOD_parser_delete = void function(TCOD_parser_t);
280     alias da_TCOD_parser_error = void function(charptr, ...);
281     alias da_TCOD_parser_get_bool_property = bool function(TCOD_parser_t, charptr);
282     alias da_TCOD_parser_get_char_property = int function(TCOD_parser_t, charptr);
283     alias da_TCOD_parser_get_color_property = TCOD_color_t function(TCOD_parser_t, charptr);
284     alias da_TCOD_parser_get_custom_property = void* function(TCOD_parser_t, charptr);
285     alias da_TCOD_parser_get_dice_property = TCOD_dice_t function(TCOD_parser_t, charptr);
286     alias da_TCOD_parser_get_dice_property_py = void function(TCOD_parser_t, charptr, TCOD_dice_t*);
287     alias da_TCOD_parser_get_float_property = float function(TCOD_parser_t, charptr);
288     alias da_TCOD_parser_get_int_property = int function(TCOD_parser_t, charptr);
289     alias da_TCOD_parser_get_list_property = TCOD_list_t function(TCOD_parser_t, charptr, TCOD_value_type_t);
290     alias da_TCOD_parser_get_string_property = charptr function(TCOD_parser_t, charptr);
291     alias da_TCOD_parser_new = TCOD_parser_t function();
292     alias da_TCOD_parser_new_custom_type = TCOD_parser_struct_t function(TCOD_parser_t, TCOD_parser_custom_t);
293     alias da_TCOD_parser_new_struct = TCOD_parser_struct_t function(TCOD_parser_t, charptr);
294     alias da_TCOD_parser_run = void function(TCOD_parser_t, charptr, TCOD_parser_listener_t*);
295     alias da_TCOD_path_compute = bool function(TCOD_path_t, int, int, int, int);
296     alias da_TCOD_path_delete = void function(TCOD_path_t);
297     alias da_TCOD_path_get = void function(TCOD_path_t, int, int*, int*);
298     alias da_TCOD_path_get_destination = void function(TCOD_path_t, int*, int*);
299     alias da_TCOD_path_get_origin = void function(TCOD_path_t, int*, int*);
300     alias da_TCOD_path_is_empty = bool function(TCOD_path_t);
301     alias da_TCOD_path_new_using_function = TCOD_path_t function(int, int, TCOD_path_func_t, void*, float);
302     alias da_TCOD_path_new_using_map = TCOD_path_t function(TCOD_map_t, float);
303     alias da_TCOD_path_reverse = void function(TCOD_path_t);
304     alias da_TCOD_path_size = int function(TCOD_path_t);
305     alias da_TCOD_path_walk = bool function(TCOD_path_t, int*, int*, bool);
306     alias da_TCOD_random_delete = void function(TCOD_random_t);
307     alias da_TCOD_random_dice_new = TCOD_dice_t function(charptr);
308     alias da_TCOD_random_dice_roll = int function(TCOD_random_t, TCOD_dice_t);
309     alias da_TCOD_random_dice_roll_s = int function(TCOD_random_t, charptr);
310     alias da_TCOD_random_get_double = double function(TCOD_random_t, double, double);
311     alias da_TCOD_random_get_double_mean = double function(TCOD_random_t, double, double, double);
312     alias da_TCOD_random_get_float = float function(TCOD_random_t, float, float);
313     alias da_TCOD_random_get_float_mean = float function(TCOD_random_t, float, float, float);
314     alias da_TCOD_random_get_instance = TCOD_random_t function();
315     alias da_TCOD_random_get_int = int function(TCOD_random_t, int, int);
316     alias da_TCOD_random_get_int_mean = int function(TCOD_random_t, int, int, int);
317     alias da_TCOD_random_new = TCOD_random_t function(TCOD_random_algo_t);
318     alias da_TCOD_random_new_from_seed = TCOD_random_t function(TCOD_random_algo_t, uint);
319     alias da_TCOD_random_restore = void function(TCOD_random_t, TCOD_random_t);
320     alias da_TCOD_random_save = TCOD_random_t function(TCOD_random_t);
321     alias da_TCOD_random_set_distribution = void function(TCOD_random_t, TCOD_distribution_t);
322     alias da_TCOD_semaphore_delete = void function(TCOD_semaphore_t);
323     alias da_TCOD_semaphore_lock = void function(TCOD_semaphore_t);
324     alias da_TCOD_semaphore_new = TCOD_semaphore_t function(int);
325     alias da_TCOD_semaphore_unlock = void function(TCOD_semaphore_t);
326     alias da_TCOD_struct_add_flag = void function(TCOD_parser_struct_t, charptr);
327     alias da_TCOD_struct_add_list_property = void function(TCOD_parser_struct_t, charptr, TCOD_value_type_t, bool);
328     alias da_TCOD_struct_add_property = void function(TCOD_parser_struct_t, charptr, TCOD_value_type_t, bool);
329     alias da_TCOD_struct_add_structure = void function(TCOD_parser_struct_t, TCOD_parser_struct_t);
330     alias da_TCOD_struct_add_value_list = void function(TCOD_parser_struct_t, charptr, charptr*, bool);
331     alias da_TCOD_struct_add_value_list_sized = void function(TCOD_parser_struct_t, charptr, charptr*, int, bool);
332     alias da_TCOD_struct_get_name = charptr function(TCOD_parser_struct_t);
333     alias da_TCOD_struct_get_type = TCOD_value_type_t function(TCOD_parser_struct_t, charptr);
334     alias da_TCOD_struct_is_mandatory = bool function(TCOD_parser_struct_t, charptr);
335     alias da_TCOD_sys_check_for_event = TCOD_event_t function(int, TCOD_key_t*, TCOD_mouse_t*);
336     alias da_TCOD_sys_clipboard_get = charptr function();
337     alias da_TCOD_sys_clipboard_set = void function(charptr);
338     alias da_TCOD_sys_create_directory = bool function(charptr);
339     alias da_TCOD_sys_delete_directory = bool function(charptr);
340     alias da_TCOD_sys_delete_file = bool function(charptr);
341     alias da_TCOD_sys_elapsed_milli = uint function();
342     alias da_TCOD_sys_elapsed_seconds = float function();
343     alias da_TCOD_sys_file_exists = bool function(charptr, ...);
344     alias da_TCOD_sys_force_fullscreen_resolution = void function(int, int);
345     alias da_TCOD_sys_get_char_size = void function(int*, int*);
346     alias da_TCOD_sys_get_current_resolution = void function(int*, int*);
347     alias da_TCOD_sys_get_directory_content = TCOD_list_t function(charptr, charptr);
348     alias da_TCOD_sys_get_fps = int function();
349     alias da_TCOD_sys_get_fullscreen_offsets = void function(int*, int*);
350     alias da_TCOD_sys_get_last_frame_length = float function();
351     alias da_TCOD_sys_get_num_cores = int function();
352     alias da_TCOD_sys_get_renderer = TCOD_renderer_t function();
353     alias da_TCOD_sys_get_sdl_window = void* function();
354     alias da_TCOD_sys_is_directory = bool function(charptr);
355     alias da_TCOD_sys_read_file = bool function(charptr, charptr*, uint32*);
356     alias da_TCOD_sys_register_SDL_renderer = void function(SDL_renderer_t);
357     alias da_TCOD_sys_save_screenshot = void function(charptr);
358     alias da_TCOD_sys_set_fps = void function(int);
359     alias da_TCOD_sys_set_renderer = void function(TCOD_renderer_t);
360     alias da_TCOD_sys_sleep_milli = void function(uint);
361     alias da_TCOD_sys_update_char = void function(int, int, int, TCOD_image_t, int, int);
362     alias da_TCOD_sys_wait_for_event = TCOD_event_t function(int, TCOD_key_t*, TCOD_mouse_t*, bool);
363     alias da_TCOD_sys_write_file = bool function(charptr, charptr, uint32);
364     alias da_TCOD_text_delete = void function(TCOD_text_t);
365     alias da_TCOD_text_get = charptr function(TCOD_text_t);
366     alias da_TCOD_text_init = TCOD_text_t function(int, int, int, int, int);
367     alias da_TCOD_text_render = void function(TCOD_text_t, TCOD_console_t);
368     alias da_TCOD_text_reset = void function(TCOD_text_t);
369     alias da_TCOD_text_set_colors = void function(TCOD_text_t, TCOD_color_t, TCOD_color_t, float);
370     alias da_TCOD_text_set_properties = void function(TCOD_text_t, int, int, charptr, int);
371     alias da_TCOD_text_update = bool function(TCOD_text_t, TCOD_key_t);
372     alias da_TCOD_thread_delete = void function(TCOD_thread_t);
373     alias da_TCOD_thread_new = TCOD_thread_t function(int function(void*)*, void*);
374     alias da_TCOD_thread_wait = void function(TCOD_thread_t);
375     alias da_TCOD_tree_add_son = void function(TCOD_tree_t*, TCOD_tree_t*);
376     alias da_TCOD_tree_new = TCOD_tree_t* function();
377     alias da_TCOD_zip_delete = void function(TCOD_zip_t);
378     alias da_TCOD_zip_get_char = char function(TCOD_zip_t);
379     alias da_TCOD_zip_get_color = TCOD_color_t function(TCOD_zip_t);
380     alias da_TCOD_zip_get_console = TCOD_console_t function(TCOD_zip_t);
381     alias da_TCOD_zip_get_current_bytes = uint32 function(TCOD_zip_t);
382     alias da_TCOD_zip_get_data = int function(TCOD_zip_t, int, void*);
383     alias da_TCOD_zip_get_float = float function(TCOD_zip_t);
384     alias da_TCOD_zip_get_image = TCOD_image_t function(TCOD_zip_t);
385     alias da_TCOD_zip_get_int = int function(TCOD_zip_t);
386     alias da_TCOD_zip_get_remaining_bytes = uint32 function(TCOD_zip_t);
387     alias da_TCOD_zip_get_string = char* function(TCOD_zip_t);
388     alias da_TCOD_zip_load_from_file = int function(TCOD_zip_t, charptr);
389     alias da_TCOD_zip_new = TCOD_zip_t function();
390     alias da_TCOD_zip_put_char = void function(TCOD_zip_t, char);
391     alias da_TCOD_zip_put_color = void function(TCOD_zip_t, const TCOD_color_t);
392     alias da_TCOD_zip_put_console = void function(TCOD_zip_t, const TCOD_console_t);
393     alias da_TCOD_zip_put_data = void function(TCOD_zip_t, int, const void*);
394     alias da_TCOD_zip_put_float = void function(TCOD_zip_t, float);
395     alias da_TCOD_zip_put_image = void function(TCOD_zip_t, const TCOD_image_t);
396     alias da_TCOD_zip_put_int = void function(TCOD_zip_t, int);
397     alias da_TCOD_zip_put_string = void function(TCOD_zip_t, charptr);
398     alias da_TCOD_zip_save_to_file = int function(TCOD_zip_t, charptr);
399     alias da_TCOD_zip_skip_bytes = void function(TCOD_zip_t, uint32);
400 }
401 
402 __gshared {
403     da_TCOD_bsp_contains TCOD_bsp_contains;
404     da_TCOD_bsp_delete TCOD_bsp_delete;
405     da_TCOD_bsp_father TCOD_bsp_father;
406     da_TCOD_bsp_find_node TCOD_bsp_find_node;
407     da_TCOD_bsp_is_leaf TCOD_bsp_is_leaf;
408     da_TCOD_bsp_left TCOD_bsp_left;
409     da_TCOD_bsp_new TCOD_bsp_new;
410     da_TCOD_bsp_new_with_size TCOD_bsp_new_with_size;
411     da_TCOD_bsp_remove_sons TCOD_bsp_remove_sons;
412     da_TCOD_bsp_resize TCOD_bsp_resize;
413     da_TCOD_bsp_right TCOD_bsp_right;
414     da_TCOD_bsp_split_once TCOD_bsp_split_once;
415     da_TCOD_bsp_split_recursive TCOD_bsp_split_recursive;
416     da_TCOD_bsp_traverse_in_order TCOD_bsp_traverse_in_order;
417     da_TCOD_bsp_traverse_inverted_level_order TCOD_bsp_traverse_inverted_level_order;
418     da_TCOD_bsp_traverse_level_order TCOD_bsp_traverse_level_order;
419     da_TCOD_bsp_traverse_post_order TCOD_bsp_traverse_post_order;
420     da_TCOD_bsp_traverse_pre_order TCOD_bsp_traverse_pre_order;
421     da_TCOD_close_library TCOD_close_library;
422     da_TCOD_color_HSV TCOD_color_HSV;
423     da_TCOD_color_RGB TCOD_color_RGB;
424     da_TCOD_color_add TCOD_color_add;
425     da_TCOD_color_equals TCOD_color_equals;
426     da_TCOD_color_gen_map TCOD_color_gen_map;
427     da_TCOD_color_get_HSV TCOD_color_get_HSV;
428     da_TCOD_color_get_hue TCOD_color_get_hue;
429     da_TCOD_color_get_saturation TCOD_color_get_saturation;
430     da_TCOD_color_get_value TCOD_color_get_value;
431     da_TCOD_color_lerp TCOD_color_lerp;
432     da_TCOD_color_multiply TCOD_color_multiply;
433     da_TCOD_color_multiply_scalar TCOD_color_multiply_scalar;
434     da_TCOD_color_scale_HSV TCOD_color_scale_HSV;
435     da_TCOD_color_set_HSV TCOD_color_set_HSV;
436     da_TCOD_color_set_hue TCOD_color_set_hue;
437     da_TCOD_color_set_saturation TCOD_color_set_saturation;
438     da_TCOD_color_set_value TCOD_color_set_value;
439     da_TCOD_color_shift_hue TCOD_color_shift_hue;
440     da_TCOD_color_subtract TCOD_color_subtract;
441     da_TCOD_condition_broadcast TCOD_condition_broadcast;
442     da_TCOD_condition_delete TCOD_condition_delete;
443     da_TCOD_condition_new TCOD_condition_new;
444     da_TCOD_condition_signal TCOD_condition_signal;
445     da_TCOD_condition_wait TCOD_condition_wait;
446     da_TCOD_console_blit TCOD_console_blit;
447     da_TCOD_console_check_for_keypress TCOD_console_check_for_keypress;
448     da_TCOD_console_clear TCOD_console_clear;
449     da_TCOD_console_credits TCOD_console_credits;
450     da_TCOD_console_credits_render TCOD_console_credits_render;
451     da_TCOD_console_credits_reset TCOD_console_credits_reset;
452     da_TCOD_console_delete TCOD_console_delete;
453     da_TCOD_console_disable_keyboard_repeat TCOD_console_disable_keyboard_repeat;
454     da_TCOD_console_flush TCOD_console_flush;
455     da_TCOD_console_from_file TCOD_console_from_file;
456     da_TCOD_console_get_alignment TCOD_console_get_alignment;
457     da_TCOD_console_get_background_flag TCOD_console_get_background_flag;
458     da_TCOD_console_get_char TCOD_console_get_char;
459     da_TCOD_console_get_char_background TCOD_console_get_char_background;
460     da_TCOD_console_get_char_foreground TCOD_console_get_char_foreground;
461     da_TCOD_console_get_default_background TCOD_console_get_default_background;
462     da_TCOD_console_get_default_foreground TCOD_console_get_default_foreground;
463     da_TCOD_console_get_fade TCOD_console_get_fade;
464     da_TCOD_console_get_fading_color TCOD_console_get_fading_color;
465     da_TCOD_console_get_height TCOD_console_get_height;
466     da_TCOD_console_get_height_rect TCOD_console_get_height_rect;
467     da_TCOD_console_get_height_rect_utf TCOD_console_get_height_rect_utf;
468     da_TCOD_console_get_width TCOD_console_get_width;
469     da_TCOD_console_hline TCOD_console_hline;
470     da_TCOD_console_init_root TCOD_console_init_root;
471     da_TCOD_console_is_fullscreen TCOD_console_is_fullscreen;
472     da_TCOD_console_is_key_pressed TCOD_console_is_key_pressed;
473     da_TCOD_console_is_window_closed TCOD_console_is_window_closed;
474     da_TCOD_console_load_apf TCOD_console_load_apf;
475     da_TCOD_console_load_asc TCOD_console_load_asc;
476     da_TCOD_console_map_ascii_code_to_font TCOD_console_map_ascii_code_to_font;
477     da_TCOD_console_map_ascii_codes_to_font TCOD_console_map_ascii_codes_to_font;
478     da_TCOD_console_map_string_to_font TCOD_console_map_string_to_font;
479     da_TCOD_console_map_string_to_font_utf TCOD_console_map_string_to_font_utf;
480     da_TCOD_console_new TCOD_console_new;
481     da_TCOD_console_print TCOD_console_print;
482     da_TCOD_console_print_ex TCOD_console_print_ex;
483     da_TCOD_console_print_ex_utf TCOD_console_print_ex_utf;
484     da_TCOD_console_print_frame TCOD_console_print_frame;
485     da_TCOD_console_print_rect TCOD_console_print_rect;
486     da_TCOD_console_print_rect_ex TCOD_console_print_rect_ex;
487     da_TCOD_console_print_rect_ex_utf TCOD_console_print_rect_ex_utf;
488     da_TCOD_console_print_rect_utf TCOD_console_print_rect_utf;
489     da_TCOD_console_print_utf TCOD_console_print_utf;
490     da_TCOD_console_put_char TCOD_console_put_char;
491     da_TCOD_console_put_char_ex TCOD_console_put_char_ex;
492     da_TCOD_console_rect TCOD_console_rect;
493     da_TCOD_console_save_apf TCOD_console_save_apf;
494     da_TCOD_console_save_asc TCOD_console_save_asc;
495     da_TCOD_console_set_alignment TCOD_console_set_alignment;
496     da_TCOD_console_set_background_flag TCOD_console_set_background_flag;
497     da_TCOD_console_set_char TCOD_console_set_char;
498     da_TCOD_console_set_char_background TCOD_console_set_char_background;
499     da_TCOD_console_set_char_foreground TCOD_console_set_char_foreground;
500     da_TCOD_console_set_color_control TCOD_console_set_color_control;
501     da_TCOD_console_set_custom_font TCOD_console_set_custom_font;
502     da_TCOD_console_set_default_background TCOD_console_set_default_background;
503     da_TCOD_console_set_default_foreground TCOD_console_set_default_foreground;
504     da_TCOD_console_set_dirty TCOD_console_set_dirty;
505     da_TCOD_console_set_fade TCOD_console_set_fade;
506     da_TCOD_console_set_fullscreen TCOD_console_set_fullscreen;
507     da_TCOD_console_set_key_color TCOD_console_set_key_color;
508     da_TCOD_console_set_keyboard_repeat TCOD_console_set_keyboard_repeat;
509     da_TCOD_console_set_window_title TCOD_console_set_window_title;
510     da_TCOD_console_vline TCOD_console_vline;
511     da_TCOD_console_wait_for_keypress TCOD_console_wait_for_keypress;
512     da_TCOD_dijkstra_compute TCOD_dijkstra_compute;
513     da_TCOD_dijkstra_delete TCOD_dijkstra_delete;
514     da_TCOD_dijkstra_get TCOD_dijkstra_get;
515     da_TCOD_dijkstra_get_distance TCOD_dijkstra_get_distance;
516     da_TCOD_dijkstra_is_empty TCOD_dijkstra_is_empty;
517     da_TCOD_dijkstra_new TCOD_dijkstra_new;
518     da_TCOD_dijkstra_new_using_function TCOD_dijkstra_new_using_function;
519     da_TCOD_dijkstra_path_set TCOD_dijkstra_path_set;
520     da_TCOD_dijkstra_path_walk TCOD_dijkstra_path_walk;
521     da_TCOD_dijkstra_reverse TCOD_dijkstra_reverse;
522     da_TCOD_dijkstra_size TCOD_dijkstra_size;
523     da_TCOD_get_function_address TCOD_get_function_address;
524     da_TCOD_heightmap_add TCOD_heightmap_add;
525     da_TCOD_heightmap_add_fbm TCOD_heightmap_add_fbm;
526     da_TCOD_heightmap_add_hill TCOD_heightmap_add_hill;
527     da_TCOD_heightmap_add_hm TCOD_heightmap_add_hm;
528     da_TCOD_heightmap_add_voronoi TCOD_heightmap_add_voronoi;
529     da_TCOD_heightmap_clamp TCOD_heightmap_clamp;
530     da_TCOD_heightmap_clear TCOD_heightmap_clear;
531     da_TCOD_heightmap_copy TCOD_heightmap_copy;
532     da_TCOD_heightmap_count_cells TCOD_heightmap_count_cells;
533     da_TCOD_heightmap_delete TCOD_heightmap_delete;
534     da_TCOD_heightmap_dig_bezier TCOD_heightmap_dig_bezier;
535     da_TCOD_heightmap_dig_hill TCOD_heightmap_dig_hill;
536     da_TCOD_heightmap_get_interpolated_value TCOD_heightmap_get_interpolated_value;
537     da_TCOD_heightmap_get_minmax TCOD_heightmap_get_minmax;
538     da_TCOD_heightmap_get_normal TCOD_heightmap_get_normal;
539     da_TCOD_heightmap_get_slope TCOD_heightmap_get_slope;
540     da_TCOD_heightmap_get_value TCOD_heightmap_get_value;
541     da_TCOD_heightmap_has_land_on_border TCOD_heightmap_has_land_on_border;
542     da_TCOD_heightmap_islandify TCOD_heightmap_islandify;
543     da_TCOD_heightmap_kernel_transform TCOD_heightmap_kernel_transform;
544     da_TCOD_heightmap_lerp_hm TCOD_heightmap_lerp_hm;
545     da_TCOD_heightmap_multiply_hm TCOD_heightmap_multiply_hm;
546     da_TCOD_heightmap_new TCOD_heightmap_new;
547     da_TCOD_heightmap_normalize TCOD_heightmap_normalize;
548     da_TCOD_heightmap_rain_erosion TCOD_heightmap_rain_erosion;
549     da_TCOD_heightmap_scale TCOD_heightmap_scale;
550     da_TCOD_heightmap_scale_fbm TCOD_heightmap_scale_fbm;
551     da_TCOD_heightmap_set_value TCOD_heightmap_set_value;
552     da_TCOD_image_blit TCOD_image_blit;
553     da_TCOD_image_blit_2x TCOD_image_blit_2x;
554     da_TCOD_image_blit_rect TCOD_image_blit_rect;
555     da_TCOD_image_clear TCOD_image_clear;
556     da_TCOD_image_delete TCOD_image_delete;
557     da_TCOD_image_from_console TCOD_image_from_console;
558     da_TCOD_image_get_alpha TCOD_image_get_alpha;
559     da_TCOD_image_get_mipmap_pixel TCOD_image_get_mipmap_pixel;
560     da_TCOD_image_get_pixel TCOD_image_get_pixel;
561     da_TCOD_image_get_size TCOD_image_get_size;
562     da_TCOD_image_hflip TCOD_image_hflip;
563     da_TCOD_image_invert TCOD_image_invert;
564     da_TCOD_image_is_pixel_transparent TCOD_image_is_pixel_transparent;
565     da_TCOD_image_load TCOD_image_load;
566     da_TCOD_image_new TCOD_image_new;
567     da_TCOD_image_put_pixel TCOD_image_put_pixel;
568     da_TCOD_image_refresh_console TCOD_image_refresh_console;
569     da_TCOD_image_rotate90 TCOD_image_rotate90;
570     da_TCOD_image_save TCOD_image_save;
571     da_TCOD_image_scale TCOD_image_scale;
572     da_TCOD_image_set_key_color TCOD_image_set_key_color;
573     da_TCOD_image_vflip TCOD_image_vflip;
574     da_TCOD_lex_delete TCOD_lex_delete;
575     da_TCOD_lex_expect_token_type TCOD_lex_expect_token_type;
576     da_TCOD_lex_expect_token_value TCOD_lex_expect_token_value;
577     da_TCOD_lex_get_last_error TCOD_lex_get_last_error;
578     da_TCOD_lex_get_last_javadoc TCOD_lex_get_last_javadoc;
579     da_TCOD_lex_get_token_name TCOD_lex_get_token_name;
580     da_TCOD_lex_hextoint TCOD_lex_hextoint;
581     da_TCOD_lex_new TCOD_lex_new;
582     da_TCOD_lex_new_intern TCOD_lex_new_intern;
583     da_TCOD_lex_parse TCOD_lex_parse;
584     da_TCOD_lex_parse_until_token_type TCOD_lex_parse_until_token_type;
585     da_TCOD_lex_parse_until_token_value TCOD_lex_parse_until_token_value;
586     da_TCOD_lex_restore TCOD_lex_restore;
587     da_TCOD_lex_savepoint TCOD_lex_savepoint;
588     da_TCOD_lex_set_data_buffer TCOD_lex_set_data_buffer;
589     da_TCOD_lex_set_data_file TCOD_lex_set_data_file;
590     da_TCOD_line TCOD_line;
591     da_TCOD_line_init TCOD_line_init;
592     da_TCOD_line_init_mt TCOD_line_init_mt;
593     da_TCOD_line_mt TCOD_line_mt;
594     da_TCOD_line_step TCOD_line_step;
595     da_TCOD_line_step_mt TCOD_line_step_mt;
596     da_TCOD_list_add_all TCOD_list_add_all;
597     da_TCOD_list_allocate TCOD_list_allocate;
598     da_TCOD_list_begin TCOD_list_begin;
599     da_TCOD_list_clear TCOD_list_clear;
600     da_TCOD_list_clear_and_delete TCOD_list_clear_and_delete;
601     da_TCOD_list_contains TCOD_list_contains;
602     da_TCOD_list_delete TCOD_list_delete;
603     da_TCOD_list_duplicate TCOD_list_duplicate;
604     da_TCOD_list_end TCOD_list_end;
605     da_TCOD_list_get TCOD_list_get;
606     da_TCOD_list_insert_before TCOD_list_insert_before;
607     da_TCOD_list_is_empty TCOD_list_is_empty;
608     da_TCOD_list_new TCOD_list_new;
609     da_TCOD_list_peek TCOD_list_peek;
610     da_TCOD_list_pop TCOD_list_pop;
611     da_TCOD_list_push TCOD_list_push;
612     da_TCOD_list_remove TCOD_list_remove;
613     da_TCOD_list_remove_iterator TCOD_list_remove_iterator;
614     da_TCOD_list_remove_iterator_fast TCOD_list_remove_iterator_fast;
615     da_TCOD_list_reverse TCOD_list_reverse;
616     da_TCOD_list_set TCOD_list_set;
617     da_TCOD_list_size TCOD_list_size;
618     da_TCOD_load_library TCOD_load_library;
619     da_TCOD_map_clear TCOD_map_clear;
620     da_TCOD_map_compute_fov TCOD_map_compute_fov;
621     da_TCOD_map_copy TCOD_map_copy;
622     da_TCOD_map_delete TCOD_map_delete;
623     da_TCOD_map_get_height TCOD_map_get_height;
624     da_TCOD_map_get_nb_cells TCOD_map_get_nb_cells;
625     da_TCOD_map_get_width TCOD_map_get_width;
626     da_TCOD_map_is_in_fov TCOD_map_is_in_fov;
627     da_TCOD_map_is_transparent TCOD_map_is_transparent;
628     da_TCOD_map_is_walkable TCOD_map_is_walkable;
629     da_TCOD_map_new TCOD_map_new;
630     da_TCOD_map_set_in_fov TCOD_map_set_in_fov;
631     da_TCOD_map_set_properties TCOD_map_set_properties;
632     da_TCOD_mouse_get_status TCOD_mouse_get_status;
633     da_TCOD_mouse_includes_touch TCOD_mouse_includes_touch;
634     da_TCOD_mouse_is_cursor_visible TCOD_mouse_is_cursor_visible;
635     da_TCOD_mouse_move TCOD_mouse_move;
636     da_TCOD_mouse_show_cursor TCOD_mouse_show_cursor;
637     da_TCOD_mutex_delete TCOD_mutex_delete;
638     da_TCOD_mutex_in TCOD_mutex_in;
639     da_TCOD_mutex_new TCOD_mutex_new;
640     da_TCOD_mutex_out TCOD_mutex_out;
641     da_TCOD_namegen_destroy TCOD_namegen_destroy;
642     da_TCOD_namegen_generate TCOD_namegen_generate;
643     da_TCOD_namegen_generate_custom TCOD_namegen_generate_custom;
644     da_TCOD_namegen_get_sets TCOD_namegen_get_sets;
645     da_TCOD_namegen_parse TCOD_namegen_parse;
646     da_TCOD_noise_delete TCOD_noise_delete;
647     da_TCOD_noise_get TCOD_noise_get;
648     da_TCOD_noise_get_ex TCOD_noise_get_ex;
649     da_TCOD_noise_get_fbm TCOD_noise_get_fbm;
650     da_TCOD_noise_get_fbm_ex TCOD_noise_get_fbm_ex;
651     da_TCOD_noise_get_turbulence TCOD_noise_get_turbulence;
652     da_TCOD_noise_get_turbulence_ex TCOD_noise_get_turbulence_ex;
653     da_TCOD_noise_new TCOD_noise_new;
654     da_TCOD_noise_set_type TCOD_noise_set_type;
655     da_TCOD_parse_bool_value TCOD_parse_bool_value;
656     da_TCOD_parse_char_value TCOD_parse_char_value;
657     da_TCOD_parse_color_value TCOD_parse_color_value;
658     da_TCOD_parse_dice_value TCOD_parse_dice_value;
659     da_TCOD_parse_float_value TCOD_parse_float_value;
660     da_TCOD_parse_integer_value TCOD_parse_integer_value;
661     da_TCOD_parse_property_value TCOD_parse_property_value;
662     da_TCOD_parse_string_value TCOD_parse_string_value;
663     da_TCOD_parse_value_list_value TCOD_parse_value_list_value;
664     da_TCOD_parser_delete TCOD_parser_delete;
665     da_TCOD_parser_error TCOD_parser_error;
666     da_TCOD_parser_get_bool_property TCOD_parser_get_bool_property;
667     da_TCOD_parser_get_char_property TCOD_parser_get_char_property;
668     da_TCOD_parser_get_color_property TCOD_parser_get_color_property;
669     da_TCOD_parser_get_custom_property TCOD_parser_get_custom_property;
670     da_TCOD_parser_get_dice_property TCOD_parser_get_dice_property;
671     da_TCOD_parser_get_dice_property_py TCOD_parser_get_dice_property_py;
672     da_TCOD_parser_get_float_property TCOD_parser_get_float_property;
673     da_TCOD_parser_get_int_property TCOD_parser_get_int_property;
674     da_TCOD_parser_get_list_property TCOD_parser_get_list_property;
675     da_TCOD_parser_get_string_property TCOD_parser_get_string_property;
676     da_TCOD_parser_new TCOD_parser_new;
677     da_TCOD_parser_new_custom_type TCOD_parser_new_custom_type;
678     da_TCOD_parser_new_struct TCOD_parser_new_struct;
679     da_TCOD_parser_run TCOD_parser_run;
680     da_TCOD_path_compute TCOD_path_compute;
681     da_TCOD_path_delete TCOD_path_delete;
682     da_TCOD_path_get TCOD_path_get;
683     da_TCOD_path_get_destination TCOD_path_get_destination;
684     da_TCOD_path_get_origin TCOD_path_get_origin;
685     da_TCOD_path_is_empty TCOD_path_is_empty;
686     da_TCOD_path_new_using_function TCOD_path_new_using_function;
687     da_TCOD_path_new_using_map TCOD_path_new_using_map;
688     da_TCOD_path_reverse TCOD_path_reverse;
689     da_TCOD_path_size TCOD_path_size;
690     da_TCOD_path_walk TCOD_path_walk;
691     da_TCOD_random_delete TCOD_random_delete;
692     da_TCOD_random_dice_new TCOD_random_dice_new;
693     da_TCOD_random_dice_roll TCOD_random_dice_roll;
694     da_TCOD_random_dice_roll_s TCOD_random_dice_roll_s;
695     da_TCOD_random_get_double TCOD_random_get_double;
696     da_TCOD_random_get_double_mean TCOD_random_get_double_mean;
697     da_TCOD_random_get_float TCOD_random_get_float;
698     da_TCOD_random_get_float_mean TCOD_random_get_float_mean;
699     da_TCOD_random_get_instance TCOD_random_get_instance;
700     da_TCOD_random_get_int TCOD_random_get_int;
701     da_TCOD_random_get_int_mean TCOD_random_get_int_mean;
702     da_TCOD_random_new TCOD_random_new;
703     da_TCOD_random_new_from_seed TCOD_random_new_from_seed;
704     da_TCOD_random_restore TCOD_random_restore;
705     da_TCOD_random_save TCOD_random_save;
706     da_TCOD_random_set_distribution TCOD_random_set_distribution;
707     da_TCOD_semaphore_delete TCOD_semaphore_delete;
708     da_TCOD_semaphore_lock TCOD_semaphore_lock;
709     da_TCOD_semaphore_new TCOD_semaphore_new;
710     da_TCOD_semaphore_unlock TCOD_semaphore_unlock;
711     da_TCOD_struct_add_flag TCOD_struct_add_flag;
712     da_TCOD_struct_add_list_property TCOD_struct_add_list_property;
713     da_TCOD_struct_add_property TCOD_struct_add_property;
714     da_TCOD_struct_add_structure TCOD_struct_add_structure;
715     da_TCOD_struct_add_value_list TCOD_struct_add_value_list;
716     da_TCOD_struct_add_value_list_sized TCOD_struct_add_value_list_sized;
717     da_TCOD_struct_get_name TCOD_struct_get_name;
718     da_TCOD_struct_get_type TCOD_struct_get_type;
719     da_TCOD_struct_is_mandatory TCOD_struct_is_mandatory;
720     da_TCOD_sys_check_for_event TCOD_sys_check_for_event;
721     da_TCOD_sys_clipboard_get TCOD_sys_clipboard_get;
722     da_TCOD_sys_clipboard_set TCOD_sys_clipboard_set;
723     da_TCOD_sys_create_directory TCOD_sys_create_directory;
724     da_TCOD_sys_delete_directory TCOD_sys_delete_directory;
725     da_TCOD_sys_delete_file TCOD_sys_delete_file;
726     da_TCOD_sys_elapsed_milli TCOD_sys_elapsed_milli;
727     da_TCOD_sys_elapsed_seconds TCOD_sys_elapsed_seconds;
728     da_TCOD_sys_file_exists TCOD_sys_file_exists;
729     da_TCOD_sys_force_fullscreen_resolution TCOD_sys_force_fullscreen_resolution;
730     da_TCOD_sys_get_char_size TCOD_sys_get_char_size;
731     da_TCOD_sys_get_current_resolution TCOD_sys_get_current_resolution;
732     da_TCOD_sys_get_directory_content TCOD_sys_get_directory_content;
733     da_TCOD_sys_get_fps TCOD_sys_get_fps;
734     da_TCOD_sys_get_fullscreen_offsets TCOD_sys_get_fullscreen_offsets;
735     da_TCOD_sys_get_last_frame_length TCOD_sys_get_last_frame_length;
736     da_TCOD_sys_get_num_cores TCOD_sys_get_num_cores;
737     da_TCOD_sys_get_renderer TCOD_sys_get_renderer;
738     da_TCOD_sys_get_sdl_window TCOD_sys_get_sdl_window;
739     da_TCOD_sys_is_directory TCOD_sys_is_directory;
740     da_TCOD_sys_read_file TCOD_sys_read_file;
741     da_TCOD_sys_register_SDL_renderer TCOD_sys_register_SDL_renderer;
742     da_TCOD_sys_save_screenshot TCOD_sys_save_screenshot;
743     da_TCOD_sys_set_fps TCOD_sys_set_fps;
744     da_TCOD_sys_set_renderer TCOD_sys_set_renderer;
745     da_TCOD_sys_sleep_milli TCOD_sys_sleep_milli;
746     da_TCOD_sys_update_char TCOD_sys_update_char;
747     da_TCOD_sys_wait_for_event TCOD_sys_wait_for_event;
748     da_TCOD_sys_write_file TCOD_sys_write_file;
749     da_TCOD_text_delete TCOD_text_delete;
750     da_TCOD_text_get TCOD_text_get;
751     da_TCOD_text_init TCOD_text_init;
752     da_TCOD_text_render TCOD_text_render;
753     da_TCOD_text_reset TCOD_text_reset;
754     da_TCOD_text_set_colors TCOD_text_set_colors;
755     da_TCOD_text_set_properties TCOD_text_set_properties;
756     da_TCOD_text_update TCOD_text_update;
757     da_TCOD_thread_delete TCOD_thread_delete;
758     da_TCOD_thread_new TCOD_thread_new;
759     da_TCOD_thread_wait TCOD_thread_wait;
760     da_TCOD_tree_add_son TCOD_tree_add_son;
761     da_TCOD_tree_new TCOD_tree_new;
762     da_TCOD_zip_delete TCOD_zip_delete;
763     da_TCOD_zip_get_char TCOD_zip_get_char;
764     da_TCOD_zip_get_color TCOD_zip_get_color;
765     da_TCOD_zip_get_console TCOD_zip_get_console;
766     da_TCOD_zip_get_current_bytes TCOD_zip_get_current_bytes;
767     da_TCOD_zip_get_data TCOD_zip_get_data;
768     da_TCOD_zip_get_float TCOD_zip_get_float;
769     da_TCOD_zip_get_image TCOD_zip_get_image;
770     da_TCOD_zip_get_int TCOD_zip_get_int;
771     da_TCOD_zip_get_remaining_bytes TCOD_zip_get_remaining_bytes;
772     da_TCOD_zip_get_string TCOD_zip_get_string;
773     da_TCOD_zip_load_from_file TCOD_zip_load_from_file;
774     da_TCOD_zip_new TCOD_zip_new;
775     da_TCOD_zip_put_char TCOD_zip_put_char;
776     da_TCOD_zip_put_color TCOD_zip_put_color;
777     da_TCOD_zip_put_console TCOD_zip_put_console;
778     da_TCOD_zip_put_data TCOD_zip_put_data;
779     da_TCOD_zip_put_float TCOD_zip_put_float;
780     da_TCOD_zip_put_image TCOD_zip_put_image;
781     da_TCOD_zip_put_int TCOD_zip_put_int;
782     da_TCOD_zip_put_string TCOD_zip_put_string;
783     da_TCOD_zip_save_to_file TCOD_zip_save_to_file;
784     da_TCOD_zip_skip_bytes TCOD_zip_skip_bytes;
785 }
786 
787 class DerelictTCODLoader : SharedLibLoader {
788     this(string libNames) {
789         super(libNames);
790     }
791 
792     ~this() {
793         unload();
794     }
795 
796     override void loadSymbols()
797     {
798         bindFunc(cast(void**)&TCOD_bsp_contains, "TCOD_bsp_contains");
799         bindFunc(cast(void**)&TCOD_bsp_delete, "TCOD_bsp_delete");
800         bindFunc(cast(void**)&TCOD_bsp_father, "TCOD_bsp_father");
801         bindFunc(cast(void**)&TCOD_bsp_find_node, "TCOD_bsp_find_node");
802         bindFunc(cast(void**)&TCOD_bsp_is_leaf, "TCOD_bsp_is_leaf");
803         bindFunc(cast(void**)&TCOD_bsp_left, "TCOD_bsp_left");
804         bindFunc(cast(void**)&TCOD_bsp_new, "TCOD_bsp_new");
805         bindFunc(cast(void**)&TCOD_bsp_new_with_size, "TCOD_bsp_new_with_size");
806         bindFunc(cast(void**)&TCOD_bsp_remove_sons, "TCOD_bsp_remove_sons");
807         bindFunc(cast(void**)&TCOD_bsp_resize, "TCOD_bsp_resize");
808         bindFunc(cast(void**)&TCOD_bsp_right, "TCOD_bsp_right");
809         bindFunc(cast(void**)&TCOD_bsp_split_once, "TCOD_bsp_split_once");
810         bindFunc(cast(void**)&TCOD_bsp_split_recursive, "TCOD_bsp_split_recursive");
811         bindFunc(cast(void**)&TCOD_bsp_traverse_in_order, "TCOD_bsp_traverse_in_order");
812         bindFunc(cast(void**)&TCOD_bsp_traverse_inverted_level_order, "TCOD_bsp_traverse_inverted_level_order");
813         bindFunc(cast(void**)&TCOD_bsp_traverse_level_order, "TCOD_bsp_traverse_level_order");
814         bindFunc(cast(void**)&TCOD_bsp_traverse_post_order, "TCOD_bsp_traverse_post_order");
815         bindFunc(cast(void**)&TCOD_bsp_traverse_pre_order, "TCOD_bsp_traverse_pre_order");
816         bindFunc(cast(void**)&TCOD_close_library, "TCOD_close_library");
817         bindFunc(cast(void**)&TCOD_color_HSV, "TCOD_color_HSV");
818         bindFunc(cast(void**)&TCOD_color_RGB, "TCOD_color_RGB");
819         bindFunc(cast(void**)&TCOD_color_add, "TCOD_color_add");
820         bindFunc(cast(void**)&TCOD_color_equals, "TCOD_color_equals");
821         bindFunc(cast(void**)&TCOD_color_gen_map, "TCOD_color_gen_map");
822         bindFunc(cast(void**)&TCOD_color_get_HSV, "TCOD_color_get_HSV");
823         bindFunc(cast(void**)&TCOD_color_get_hue, "TCOD_color_get_hue");
824         bindFunc(cast(void**)&TCOD_color_get_saturation, "TCOD_color_get_saturation");
825         bindFunc(cast(void**)&TCOD_color_get_value, "TCOD_color_get_value");
826         bindFunc(cast(void**)&TCOD_color_lerp, "TCOD_color_lerp");
827         bindFunc(cast(void**)&TCOD_color_multiply, "TCOD_color_multiply");
828         bindFunc(cast(void**)&TCOD_color_multiply_scalar, "TCOD_color_multiply_scalar");
829         bindFunc(cast(void**)&TCOD_color_scale_HSV, "TCOD_color_scale_HSV");
830         bindFunc(cast(void**)&TCOD_color_set_HSV, "TCOD_color_set_HSV");
831         bindFunc(cast(void**)&TCOD_color_set_hue, "TCOD_color_set_hue");
832         bindFunc(cast(void**)&TCOD_color_set_saturation, "TCOD_color_set_saturation");
833         bindFunc(cast(void**)&TCOD_color_set_value, "TCOD_color_set_value");
834         bindFunc(cast(void**)&TCOD_color_shift_hue, "TCOD_color_shift_hue");
835         bindFunc(cast(void**)&TCOD_color_subtract, "TCOD_color_subtract");
836         bindFunc(cast(void**)&TCOD_condition_broadcast, "TCOD_condition_broadcast");
837         bindFunc(cast(void**)&TCOD_condition_delete, "TCOD_condition_delete");
838         bindFunc(cast(void**)&TCOD_condition_new, "TCOD_condition_new");
839         bindFunc(cast(void**)&TCOD_condition_signal, "TCOD_condition_signal");
840         bindFunc(cast(void**)&TCOD_condition_wait, "TCOD_condition_wait");
841         bindFunc(cast(void**)&TCOD_console_blit, "TCOD_console_blit");
842         bindFunc(cast(void**)&TCOD_console_check_for_keypress, "TCOD_console_check_for_keypress");
843         bindFunc(cast(void**)&TCOD_console_clear, "TCOD_console_clear");
844         bindFunc(cast(void**)&TCOD_console_credits, "TCOD_console_credits");
845         bindFunc(cast(void**)&TCOD_console_credits_render, "TCOD_console_credits_render");
846         bindFunc(cast(void**)&TCOD_console_credits_reset, "TCOD_console_credits_reset");
847         bindFunc(cast(void**)&TCOD_console_delete, "TCOD_console_delete");
848         bindFunc(cast(void**)&TCOD_console_disable_keyboard_repeat, "TCOD_console_disable_keyboard_repeat");
849         bindFunc(cast(void**)&TCOD_console_flush, "TCOD_console_flush");
850         bindFunc(cast(void**)&TCOD_console_from_file, "TCOD_console_from_file");
851         bindFunc(cast(void**)&TCOD_console_get_alignment, "TCOD_console_get_alignment");
852         bindFunc(cast(void**)&TCOD_console_get_background_flag, "TCOD_console_get_background_flag");
853         bindFunc(cast(void**)&TCOD_console_get_char, "TCOD_console_get_char");
854         bindFunc(cast(void**)&TCOD_console_get_char_background, "TCOD_console_get_char_background");
855         bindFunc(cast(void**)&TCOD_console_get_char_foreground, "TCOD_console_get_char_foreground");
856         bindFunc(cast(void**)&TCOD_console_get_default_background, "TCOD_console_get_default_background");
857         bindFunc(cast(void**)&TCOD_console_get_default_foreground, "TCOD_console_get_default_foreground");
858         bindFunc(cast(void**)&TCOD_console_get_fade, "TCOD_console_get_fade");
859         bindFunc(cast(void**)&TCOD_console_get_fading_color, "TCOD_console_get_fading_color");
860         bindFunc(cast(void**)&TCOD_console_get_height, "TCOD_console_get_height");
861         bindFunc(cast(void**)&TCOD_console_get_height_rect, "TCOD_console_get_height_rect");
862         bindFunc(cast(void**)&TCOD_console_get_height_rect_utf, "TCOD_console_get_height_rect_utf");
863         bindFunc(cast(void**)&TCOD_console_get_width, "TCOD_console_get_width");
864         bindFunc(cast(void**)&TCOD_console_hline, "TCOD_console_hline");
865         bindFunc(cast(void**)&TCOD_console_init_root, "TCOD_console_init_root");
866         bindFunc(cast(void**)&TCOD_console_is_fullscreen, "TCOD_console_is_fullscreen");
867         bindFunc(cast(void**)&TCOD_console_is_key_pressed, "TCOD_console_is_key_pressed");
868         bindFunc(cast(void**)&TCOD_console_is_window_closed, "TCOD_console_is_window_closed");
869         bindFunc(cast(void**)&TCOD_console_load_apf, "TCOD_console_load_apf");
870         bindFunc(cast(void**)&TCOD_console_load_asc, "TCOD_console_load_asc");
871         bindFunc(cast(void**)&TCOD_console_map_ascii_code_to_font, "TCOD_console_map_ascii_code_to_font");
872         bindFunc(cast(void**)&TCOD_console_map_ascii_codes_to_font, "TCOD_console_map_ascii_codes_to_font");
873         bindFunc(cast(void**)&TCOD_console_map_string_to_font, "TCOD_console_map_string_to_font");
874         bindFunc(cast(void**)&TCOD_console_map_string_to_font_utf, "TCOD_console_map_string_to_font_utf");
875         bindFunc(cast(void**)&TCOD_console_new, "TCOD_console_new");
876         bindFunc(cast(void**)&TCOD_console_print, "TCOD_console_print");
877         bindFunc(cast(void**)&TCOD_console_print_ex, "TCOD_console_print_ex");
878         bindFunc(cast(void**)&TCOD_console_print_ex_utf, "TCOD_console_print_ex_utf");
879         bindFunc(cast(void**)&TCOD_console_print_frame, "TCOD_console_print_frame");
880         bindFunc(cast(void**)&TCOD_console_print_rect, "TCOD_console_print_rect");
881         bindFunc(cast(void**)&TCOD_console_print_rect_ex, "TCOD_console_print_rect_ex");
882         bindFunc(cast(void**)&TCOD_console_print_rect_ex_utf, "TCOD_console_print_rect_ex_utf");
883         bindFunc(cast(void**)&TCOD_console_print_rect_utf, "TCOD_console_print_rect_utf");
884         bindFunc(cast(void**)&TCOD_console_print_utf, "TCOD_console_print_utf");
885         bindFunc(cast(void**)&TCOD_console_put_char, "TCOD_console_put_char");
886         bindFunc(cast(void**)&TCOD_console_put_char_ex, "TCOD_console_put_char_ex");
887         bindFunc(cast(void**)&TCOD_console_rect, "TCOD_console_rect");
888         bindFunc(cast(void**)&TCOD_console_save_apf, "TCOD_console_save_apf");
889         bindFunc(cast(void**)&TCOD_console_save_asc, "TCOD_console_save_asc");
890         bindFunc(cast(void**)&TCOD_console_set_alignment, "TCOD_console_set_alignment");
891         bindFunc(cast(void**)&TCOD_console_set_background_flag, "TCOD_console_set_background_flag");
892         bindFunc(cast(void**)&TCOD_console_set_char, "TCOD_console_set_char");
893         bindFunc(cast(void**)&TCOD_console_set_char_background, "TCOD_console_set_char_background");
894         bindFunc(cast(void**)&TCOD_console_set_char_foreground, "TCOD_console_set_char_foreground");
895         bindFunc(cast(void**)&TCOD_console_set_color_control, "TCOD_console_set_color_control");
896         bindFunc(cast(void**)&TCOD_console_set_custom_font, "TCOD_console_set_custom_font");
897         bindFunc(cast(void**)&TCOD_console_set_default_background, "TCOD_console_set_default_background");
898         bindFunc(cast(void**)&TCOD_console_set_default_foreground, "TCOD_console_set_default_foreground");
899         bindFunc(cast(void**)&TCOD_console_set_dirty, "TCOD_console_set_dirty");
900         bindFunc(cast(void**)&TCOD_console_set_fade, "TCOD_console_set_fade");
901         bindFunc(cast(void**)&TCOD_console_set_fullscreen, "TCOD_console_set_fullscreen");
902         bindFunc(cast(void**)&TCOD_console_set_key_color, "TCOD_console_set_key_color");
903         bindFunc(cast(void**)&TCOD_console_set_keyboard_repeat, "TCOD_console_set_keyboard_repeat");
904         bindFunc(cast(void**)&TCOD_console_set_window_title, "TCOD_console_set_window_title");
905         bindFunc(cast(void**)&TCOD_console_vline, "TCOD_console_vline");
906         bindFunc(cast(void**)&TCOD_console_wait_for_keypress, "TCOD_console_wait_for_keypress");
907         bindFunc(cast(void**)&TCOD_dijkstra_compute, "TCOD_dijkstra_compute");
908         bindFunc(cast(void**)&TCOD_dijkstra_delete, "TCOD_dijkstra_delete");
909         bindFunc(cast(void**)&TCOD_dijkstra_get, "TCOD_dijkstra_get");
910         bindFunc(cast(void**)&TCOD_dijkstra_get_distance, "TCOD_dijkstra_get_distance");
911         bindFunc(cast(void**)&TCOD_dijkstra_is_empty, "TCOD_dijkstra_is_empty");
912         bindFunc(cast(void**)&TCOD_dijkstra_new, "TCOD_dijkstra_new");
913         bindFunc(cast(void**)&TCOD_dijkstra_new_using_function, "TCOD_dijkstra_new_using_function");
914         bindFunc(cast(void**)&TCOD_dijkstra_path_set, "TCOD_dijkstra_path_set");
915         bindFunc(cast(void**)&TCOD_dijkstra_path_walk, "TCOD_dijkstra_path_walk");
916         bindFunc(cast(void**)&TCOD_dijkstra_reverse, "TCOD_dijkstra_reverse");
917         bindFunc(cast(void**)&TCOD_dijkstra_size, "TCOD_dijkstra_size");
918         bindFunc(cast(void**)&TCOD_get_function_address, "TCOD_get_function_address");
919         bindFunc(cast(void**)&TCOD_heightmap_add, "TCOD_heightmap_add");
920         bindFunc(cast(void**)&TCOD_heightmap_add_fbm, "TCOD_heightmap_add_fbm");
921         bindFunc(cast(void**)&TCOD_heightmap_add_hill, "TCOD_heightmap_add_hill");
922         bindFunc(cast(void**)&TCOD_heightmap_add_hm, "TCOD_heightmap_add_hm");
923         bindFunc(cast(void**)&TCOD_heightmap_add_voronoi, "TCOD_heightmap_add_voronoi");
924         bindFunc(cast(void**)&TCOD_heightmap_clamp, "TCOD_heightmap_clamp");
925         bindFunc(cast(void**)&TCOD_heightmap_clear, "TCOD_heightmap_clear");
926         bindFunc(cast(void**)&TCOD_heightmap_copy, "TCOD_heightmap_copy");
927         bindFunc(cast(void**)&TCOD_heightmap_count_cells, "TCOD_heightmap_count_cells");
928         bindFunc(cast(void**)&TCOD_heightmap_delete, "TCOD_heightmap_delete");
929         bindFunc(cast(void**)&TCOD_heightmap_dig_bezier, "TCOD_heightmap_dig_bezier");
930         bindFunc(cast(void**)&TCOD_heightmap_dig_hill, "TCOD_heightmap_dig_hill");
931         bindFunc(cast(void**)&TCOD_heightmap_get_interpolated_value, "TCOD_heightmap_get_interpolated_value");
932         bindFunc(cast(void**)&TCOD_heightmap_get_minmax, "TCOD_heightmap_get_minmax");
933         bindFunc(cast(void**)&TCOD_heightmap_get_normal, "TCOD_heightmap_get_normal");
934         bindFunc(cast(void**)&TCOD_heightmap_get_slope, "TCOD_heightmap_get_slope");
935         bindFunc(cast(void**)&TCOD_heightmap_get_value, "TCOD_heightmap_get_value");
936         bindFunc(cast(void**)&TCOD_heightmap_has_land_on_border, "TCOD_heightmap_has_land_on_border");
937         bindFunc(cast(void**)&TCOD_heightmap_islandify, "TCOD_heightmap_islandify");
938         bindFunc(cast(void**)&TCOD_heightmap_kernel_transform, "TCOD_heightmap_kernel_transform");
939         bindFunc(cast(void**)&TCOD_heightmap_lerp_hm, "TCOD_heightmap_lerp_hm");
940         bindFunc(cast(void**)&TCOD_heightmap_multiply_hm, "TCOD_heightmap_multiply_hm");
941         bindFunc(cast(void**)&TCOD_heightmap_new, "TCOD_heightmap_new");
942         bindFunc(cast(void**)&TCOD_heightmap_normalize, "TCOD_heightmap_normalize");
943         bindFunc(cast(void**)&TCOD_heightmap_rain_erosion, "TCOD_heightmap_rain_erosion");
944         bindFunc(cast(void**)&TCOD_heightmap_scale, "TCOD_heightmap_scale");
945         bindFunc(cast(void**)&TCOD_heightmap_scale_fbm, "TCOD_heightmap_scale_fbm");
946         bindFunc(cast(void**)&TCOD_heightmap_set_value, "TCOD_heightmap_set_value");
947         bindFunc(cast(void**)&TCOD_image_blit, "TCOD_image_blit");
948         bindFunc(cast(void**)&TCOD_image_blit_2x, "TCOD_image_blit_2x");
949         bindFunc(cast(void**)&TCOD_image_blit_rect, "TCOD_image_blit_rect");
950         bindFunc(cast(void**)&TCOD_image_clear, "TCOD_image_clear");
951         bindFunc(cast(void**)&TCOD_image_delete, "TCOD_image_delete");
952         bindFunc(cast(void**)&TCOD_image_from_console, "TCOD_image_from_console");
953         bindFunc(cast(void**)&TCOD_image_get_alpha, "TCOD_image_get_alpha");
954         bindFunc(cast(void**)&TCOD_image_get_mipmap_pixel, "TCOD_image_get_mipmap_pixel");
955         bindFunc(cast(void**)&TCOD_image_get_pixel, "TCOD_image_get_pixel");
956         bindFunc(cast(void**)&TCOD_image_get_size, "TCOD_image_get_size");
957         bindFunc(cast(void**)&TCOD_image_hflip, "TCOD_image_hflip");
958         bindFunc(cast(void**)&TCOD_image_invert, "TCOD_image_invert");
959         bindFunc(cast(void**)&TCOD_image_is_pixel_transparent, "TCOD_image_is_pixel_transparent");
960         bindFunc(cast(void**)&TCOD_image_load, "TCOD_image_load");
961         bindFunc(cast(void**)&TCOD_image_new, "TCOD_image_new");
962         bindFunc(cast(void**)&TCOD_image_put_pixel, "TCOD_image_put_pixel");
963         bindFunc(cast(void**)&TCOD_image_refresh_console, "TCOD_image_refresh_console");
964         bindFunc(cast(void**)&TCOD_image_rotate90, "TCOD_image_rotate90");
965         bindFunc(cast(void**)&TCOD_image_save, "TCOD_image_save");
966         bindFunc(cast(void**)&TCOD_image_scale, "TCOD_image_scale");
967         bindFunc(cast(void**)&TCOD_image_set_key_color, "TCOD_image_set_key_color");
968         bindFunc(cast(void**)&TCOD_image_vflip, "TCOD_image_vflip");
969         bindFunc(cast(void**)&TCOD_lex_delete, "TCOD_lex_delete");
970         bindFunc(cast(void**)&TCOD_lex_expect_token_type, "TCOD_lex_expect_token_type");
971         bindFunc(cast(void**)&TCOD_lex_expect_token_value, "TCOD_lex_expect_token_value");
972         bindFunc(cast(void**)&TCOD_lex_get_last_error, "TCOD_lex_get_last_error");
973         bindFunc(cast(void**)&TCOD_lex_get_last_javadoc, "TCOD_lex_get_last_javadoc");
974         bindFunc(cast(void**)&TCOD_lex_get_token_name, "TCOD_lex_get_token_name");
975         bindFunc(cast(void**)&TCOD_lex_hextoint, "TCOD_lex_hextoint");
976         bindFunc(cast(void**)&TCOD_lex_new, "TCOD_lex_new");
977         bindFunc(cast(void**)&TCOD_lex_new_intern, "TCOD_lex_new_intern");
978         bindFunc(cast(void**)&TCOD_lex_parse, "TCOD_lex_parse");
979         bindFunc(cast(void**)&TCOD_lex_parse_until_token_type, "TCOD_lex_parse_until_token_type");
980         bindFunc(cast(void**)&TCOD_lex_parse_until_token_value, "TCOD_lex_parse_until_token_value");
981         bindFunc(cast(void**)&TCOD_lex_restore, "TCOD_lex_restore");
982         bindFunc(cast(void**)&TCOD_lex_savepoint, "TCOD_lex_savepoint");
983         bindFunc(cast(void**)&TCOD_lex_set_data_buffer, "TCOD_lex_set_data_buffer");
984         bindFunc(cast(void**)&TCOD_lex_set_data_file, "TCOD_lex_set_data_file");
985         bindFunc(cast(void**)&TCOD_line, "TCOD_line");
986         bindFunc(cast(void**)&TCOD_line_init, "TCOD_line_init");
987         bindFunc(cast(void**)&TCOD_line_init_mt, "TCOD_line_init_mt");
988         bindFunc(cast(void**)&TCOD_line_mt, "TCOD_line_mt");
989         bindFunc(cast(void**)&TCOD_line_step, "TCOD_line_step");
990         bindFunc(cast(void**)&TCOD_line_step_mt, "TCOD_line_step_mt");
991         bindFunc(cast(void**)&TCOD_list_add_all, "TCOD_list_add_all");
992         bindFunc(cast(void**)&TCOD_list_allocate, "TCOD_list_allocate");
993         bindFunc(cast(void**)&TCOD_list_begin, "TCOD_list_begin");
994         bindFunc(cast(void**)&TCOD_list_clear, "TCOD_list_clear");
995         bindFunc(cast(void**)&TCOD_list_clear_and_delete, "TCOD_list_clear_and_delete");
996         bindFunc(cast(void**)&TCOD_list_contains, "TCOD_list_contains");
997         bindFunc(cast(void**)&TCOD_list_delete, "TCOD_list_delete");
998         bindFunc(cast(void**)&TCOD_list_duplicate, "TCOD_list_duplicate");
999         bindFunc(cast(void**)&TCOD_list_end, "TCOD_list_end");
1000         bindFunc(cast(void**)&TCOD_list_get, "TCOD_list_get");
1001         bindFunc(cast(void**)&TCOD_list_insert_before, "TCOD_list_insert_before");
1002         bindFunc(cast(void**)&TCOD_list_is_empty, "TCOD_list_is_empty");
1003         bindFunc(cast(void**)&TCOD_list_new, "TCOD_list_new");
1004         bindFunc(cast(void**)&TCOD_list_peek, "TCOD_list_peek");
1005         bindFunc(cast(void**)&TCOD_list_pop, "TCOD_list_pop");
1006         bindFunc(cast(void**)&TCOD_list_push, "TCOD_list_push");
1007         bindFunc(cast(void**)&TCOD_list_remove, "TCOD_list_remove");
1008         bindFunc(cast(void**)&TCOD_list_remove_iterator, "TCOD_list_remove_iterator");
1009         bindFunc(cast(void**)&TCOD_list_remove_iterator_fast, "TCOD_list_remove_iterator_fast");
1010         bindFunc(cast(void**)&TCOD_list_reverse, "TCOD_list_reverse");
1011         bindFunc(cast(void**)&TCOD_list_set, "TCOD_list_set");
1012         bindFunc(cast(void**)&TCOD_list_size, "TCOD_list_size");
1013         bindFunc(cast(void**)&TCOD_load_library, "TCOD_load_library");
1014         bindFunc(cast(void**)&TCOD_map_clear, "TCOD_map_clear");
1015         bindFunc(cast(void**)&TCOD_map_compute_fov, "TCOD_map_compute_fov");
1016         bindFunc(cast(void**)&TCOD_map_copy, "TCOD_map_copy");
1017         bindFunc(cast(void**)&TCOD_map_delete, "TCOD_map_delete");
1018         bindFunc(cast(void**)&TCOD_map_get_height, "TCOD_map_get_height");
1019         bindFunc(cast(void**)&TCOD_map_get_nb_cells, "TCOD_map_get_nb_cells");
1020         bindFunc(cast(void**)&TCOD_map_get_width, "TCOD_map_get_width");
1021         bindFunc(cast(void**)&TCOD_map_is_in_fov, "TCOD_map_is_in_fov");
1022         bindFunc(cast(void**)&TCOD_map_is_transparent, "TCOD_map_is_transparent");
1023         bindFunc(cast(void**)&TCOD_map_is_walkable, "TCOD_map_is_walkable");
1024         bindFunc(cast(void**)&TCOD_map_new, "TCOD_map_new");
1025         bindFunc(cast(void**)&TCOD_map_set_in_fov, "TCOD_map_set_in_fov");
1026         bindFunc(cast(void**)&TCOD_map_set_properties, "TCOD_map_set_properties");
1027         bindFunc(cast(void**)&TCOD_mouse_get_status, "TCOD_mouse_get_status");
1028         //bindFunc(cast(void**)&TCOD_mouse_includes_touch, "TCOD_mouse_includes_touch");
1029         bindFunc(cast(void**)&TCOD_mouse_is_cursor_visible, "TCOD_mouse_is_cursor_visible");
1030         bindFunc(cast(void**)&TCOD_mouse_move, "TCOD_mouse_move");
1031         bindFunc(cast(void**)&TCOD_mouse_show_cursor, "TCOD_mouse_show_cursor");
1032         bindFunc(cast(void**)&TCOD_mutex_delete, "TCOD_mutex_delete");
1033         bindFunc(cast(void**)&TCOD_mutex_in, "TCOD_mutex_in");
1034         bindFunc(cast(void**)&TCOD_mutex_new, "TCOD_mutex_new");
1035         bindFunc(cast(void**)&TCOD_mutex_out, "TCOD_mutex_out");
1036         bindFunc(cast(void**)&TCOD_namegen_destroy, "TCOD_namegen_destroy");
1037         bindFunc(cast(void**)&TCOD_namegen_generate, "TCOD_namegen_generate");
1038         bindFunc(cast(void**)&TCOD_namegen_generate_custom, "TCOD_namegen_generate_custom");
1039         bindFunc(cast(void**)&TCOD_namegen_get_sets, "TCOD_namegen_get_sets");
1040         bindFunc(cast(void**)&TCOD_namegen_parse, "TCOD_namegen_parse");
1041         bindFunc(cast(void**)&TCOD_noise_delete, "TCOD_noise_delete");
1042         bindFunc(cast(void**)&TCOD_noise_get, "TCOD_noise_get");
1043         bindFunc(cast(void**)&TCOD_noise_get_ex, "TCOD_noise_get_ex");
1044         bindFunc(cast(void**)&TCOD_noise_get_fbm, "TCOD_noise_get_fbm");
1045         bindFunc(cast(void**)&TCOD_noise_get_fbm_ex, "TCOD_noise_get_fbm_ex");
1046         bindFunc(cast(void**)&TCOD_noise_get_turbulence, "TCOD_noise_get_turbulence");
1047         bindFunc(cast(void**)&TCOD_noise_get_turbulence_ex, "TCOD_noise_get_turbulence_ex");
1048         bindFunc(cast(void**)&TCOD_noise_new, "TCOD_noise_new");
1049         bindFunc(cast(void**)&TCOD_noise_set_type, "TCOD_noise_set_type");
1050         bindFunc(cast(void**)&TCOD_parse_bool_value, "TCOD_parse_bool_value");
1051         bindFunc(cast(void**)&TCOD_parse_char_value, "TCOD_parse_char_value");
1052         bindFunc(cast(void**)&TCOD_parse_color_value, "TCOD_parse_color_value");
1053         bindFunc(cast(void**)&TCOD_parse_dice_value, "TCOD_parse_dice_value");
1054         bindFunc(cast(void**)&TCOD_parse_float_value, "TCOD_parse_float_value");
1055         bindFunc(cast(void**)&TCOD_parse_integer_value, "TCOD_parse_integer_value");
1056         bindFunc(cast(void**)&TCOD_parse_property_value, "TCOD_parse_property_value");
1057         bindFunc(cast(void**)&TCOD_parse_string_value, "TCOD_parse_string_value");
1058         bindFunc(cast(void**)&TCOD_parse_value_list_value, "TCOD_parse_value_list_value");
1059         bindFunc(cast(void**)&TCOD_parser_delete, "TCOD_parser_delete");
1060         bindFunc(cast(void**)&TCOD_parser_error, "TCOD_parser_error");
1061         bindFunc(cast(void**)&TCOD_parser_get_bool_property, "TCOD_parser_get_bool_property");
1062         bindFunc(cast(void**)&TCOD_parser_get_char_property, "TCOD_parser_get_char_property");
1063         bindFunc(cast(void**)&TCOD_parser_get_color_property, "TCOD_parser_get_color_property");
1064         bindFunc(cast(void**)&TCOD_parser_get_custom_property, "TCOD_parser_get_custom_property");
1065         bindFunc(cast(void**)&TCOD_parser_get_dice_property, "TCOD_parser_get_dice_property");
1066         bindFunc(cast(void**)&TCOD_parser_get_dice_property_py, "TCOD_parser_get_dice_property_py");
1067         bindFunc(cast(void**)&TCOD_parser_get_float_property, "TCOD_parser_get_float_property");
1068         bindFunc(cast(void**)&TCOD_parser_get_int_property, "TCOD_parser_get_int_property");
1069         bindFunc(cast(void**)&TCOD_parser_get_list_property, "TCOD_parser_get_list_property");
1070         bindFunc(cast(void**)&TCOD_parser_get_string_property, "TCOD_parser_get_string_property");
1071         bindFunc(cast(void**)&TCOD_parser_new, "TCOD_parser_new");
1072         bindFunc(cast(void**)&TCOD_parser_new_custom_type, "TCOD_parser_new_custom_type");
1073         bindFunc(cast(void**)&TCOD_parser_new_struct, "TCOD_parser_new_struct");
1074         bindFunc(cast(void**)&TCOD_parser_run, "TCOD_parser_run");
1075         bindFunc(cast(void**)&TCOD_path_compute, "TCOD_path_compute");
1076         bindFunc(cast(void**)&TCOD_path_delete, "TCOD_path_delete");
1077         bindFunc(cast(void**)&TCOD_path_get, "TCOD_path_get");
1078         bindFunc(cast(void**)&TCOD_path_get_destination, "TCOD_path_get_destination");
1079         bindFunc(cast(void**)&TCOD_path_get_origin, "TCOD_path_get_origin");
1080         bindFunc(cast(void**)&TCOD_path_is_empty, "TCOD_path_is_empty");
1081         bindFunc(cast(void**)&TCOD_path_new_using_function, "TCOD_path_new_using_function");
1082         bindFunc(cast(void**)&TCOD_path_new_using_map, "TCOD_path_new_using_map");
1083         bindFunc(cast(void**)&TCOD_path_reverse, "TCOD_path_reverse");
1084         bindFunc(cast(void**)&TCOD_path_size, "TCOD_path_size");
1085         bindFunc(cast(void**)&TCOD_path_walk, "TCOD_path_walk");
1086         bindFunc(cast(void**)&TCOD_random_delete, "TCOD_random_delete");
1087         bindFunc(cast(void**)&TCOD_random_dice_new, "TCOD_random_dice_new");
1088         bindFunc(cast(void**)&TCOD_random_dice_roll, "TCOD_random_dice_roll");
1089         bindFunc(cast(void**)&TCOD_random_dice_roll_s, "TCOD_random_dice_roll_s");
1090         bindFunc(cast(void**)&TCOD_random_get_double, "TCOD_random_get_double");
1091         bindFunc(cast(void**)&TCOD_random_get_double_mean, "TCOD_random_get_double_mean");
1092         bindFunc(cast(void**)&TCOD_random_get_float, "TCOD_random_get_float");
1093         bindFunc(cast(void**)&TCOD_random_get_float_mean, "TCOD_random_get_float_mean");
1094         bindFunc(cast(void**)&TCOD_random_get_instance, "TCOD_random_get_instance");
1095         bindFunc(cast(void**)&TCOD_random_get_int, "TCOD_random_get_int");
1096         bindFunc(cast(void**)&TCOD_random_get_int_mean, "TCOD_random_get_int_mean");
1097         bindFunc(cast(void**)&TCOD_random_new, "TCOD_random_new");
1098         bindFunc(cast(void**)&TCOD_random_new_from_seed, "TCOD_random_new_from_seed");
1099         bindFunc(cast(void**)&TCOD_random_restore, "TCOD_random_restore");
1100         bindFunc(cast(void**)&TCOD_random_save, "TCOD_random_save");
1101         bindFunc(cast(void**)&TCOD_random_set_distribution, "TCOD_random_set_distribution");
1102         bindFunc(cast(void**)&TCOD_semaphore_delete, "TCOD_semaphore_delete");
1103         bindFunc(cast(void**)&TCOD_semaphore_lock, "TCOD_semaphore_lock");
1104         bindFunc(cast(void**)&TCOD_semaphore_new, "TCOD_semaphore_new");
1105         bindFunc(cast(void**)&TCOD_semaphore_unlock, "TCOD_semaphore_unlock");
1106         bindFunc(cast(void**)&TCOD_struct_add_flag, "TCOD_struct_add_flag");
1107         bindFunc(cast(void**)&TCOD_struct_add_list_property, "TCOD_struct_add_list_property");
1108         bindFunc(cast(void**)&TCOD_struct_add_property, "TCOD_struct_add_property");
1109         bindFunc(cast(void**)&TCOD_struct_add_structure, "TCOD_struct_add_structure");
1110         bindFunc(cast(void**)&TCOD_struct_add_value_list, "TCOD_struct_add_value_list");
1111         bindFunc(cast(void**)&TCOD_struct_add_value_list_sized, "TCOD_struct_add_value_list_sized");
1112         bindFunc(cast(void**)&TCOD_struct_get_name, "TCOD_struct_get_name");
1113         bindFunc(cast(void**)&TCOD_struct_get_type, "TCOD_struct_get_type");
1114         bindFunc(cast(void**)&TCOD_struct_is_mandatory, "TCOD_struct_is_mandatory");
1115         bindFunc(cast(void**)&TCOD_sys_check_for_event, "TCOD_sys_check_for_event");
1116         bindFunc(cast(void**)&TCOD_sys_clipboard_get, "TCOD_sys_clipboard_get");
1117         bindFunc(cast(void**)&TCOD_sys_clipboard_set, "TCOD_sys_clipboard_set");
1118         bindFunc(cast(void**)&TCOD_sys_create_directory, "TCOD_sys_create_directory");
1119         bindFunc(cast(void**)&TCOD_sys_delete_directory, "TCOD_sys_delete_directory");
1120         bindFunc(cast(void**)&TCOD_sys_delete_file, "TCOD_sys_delete_file");
1121         bindFunc(cast(void**)&TCOD_sys_elapsed_milli, "TCOD_sys_elapsed_milli");
1122         bindFunc(cast(void**)&TCOD_sys_elapsed_seconds, "TCOD_sys_elapsed_seconds");
1123         bindFunc(cast(void**)&TCOD_sys_file_exists, "TCOD_sys_file_exists");
1124         bindFunc(cast(void**)&TCOD_sys_force_fullscreen_resolution, "TCOD_sys_force_fullscreen_resolution");
1125         bindFunc(cast(void**)&TCOD_sys_get_char_size, "TCOD_sys_get_char_size");
1126         bindFunc(cast(void**)&TCOD_sys_get_current_resolution, "TCOD_sys_get_current_resolution");
1127         bindFunc(cast(void**)&TCOD_sys_get_directory_content, "TCOD_sys_get_directory_content");
1128         bindFunc(cast(void**)&TCOD_sys_get_fps, "TCOD_sys_get_fps");
1129         bindFunc(cast(void**)&TCOD_sys_get_fullscreen_offsets, "TCOD_sys_get_fullscreen_offsets");
1130         bindFunc(cast(void**)&TCOD_sys_get_last_frame_length, "TCOD_sys_get_last_frame_length");
1131         bindFunc(cast(void**)&TCOD_sys_get_num_cores, "TCOD_sys_get_num_cores");
1132         bindFunc(cast(void**)&TCOD_sys_get_renderer, "TCOD_sys_get_renderer");
1133         //bindFunc(cast(void**)&TCOD_sys_get_sdl_window, "TCOD_sys_get_sdl_window");
1134         bindFunc(cast(void**)&TCOD_sys_is_directory, "TCOD_sys_is_directory");
1135         bindFunc(cast(void**)&TCOD_sys_read_file, "TCOD_sys_read_file");
1136         bindFunc(cast(void**)&TCOD_sys_register_SDL_renderer, "TCOD_sys_register_SDL_renderer");
1137         bindFunc(cast(void**)&TCOD_sys_save_screenshot, "TCOD_sys_save_screenshot");
1138         bindFunc(cast(void**)&TCOD_sys_set_fps, "TCOD_sys_set_fps");
1139         bindFunc(cast(void**)&TCOD_sys_set_renderer, "TCOD_sys_set_renderer");
1140         bindFunc(cast(void**)&TCOD_sys_sleep_milli, "TCOD_sys_sleep_milli");
1141         bindFunc(cast(void**)&TCOD_sys_update_char, "TCOD_sys_update_char");
1142         bindFunc(cast(void**)&TCOD_sys_wait_for_event, "TCOD_sys_wait_for_event");
1143         bindFunc(cast(void**)&TCOD_sys_write_file, "TCOD_sys_write_file");
1144         bindFunc(cast(void**)&TCOD_text_delete, "TCOD_text_delete");
1145         bindFunc(cast(void**)&TCOD_text_get, "TCOD_text_get");
1146         bindFunc(cast(void**)&TCOD_text_init, "TCOD_text_init");
1147         bindFunc(cast(void**)&TCOD_text_render, "TCOD_text_render");
1148         bindFunc(cast(void**)&TCOD_text_reset, "TCOD_text_reset");
1149         bindFunc(cast(void**)&TCOD_text_set_colors, "TCOD_text_set_colors");
1150         bindFunc(cast(void**)&TCOD_text_set_properties, "TCOD_text_set_properties");
1151         bindFunc(cast(void**)&TCOD_text_update, "TCOD_text_update");
1152         bindFunc(cast(void**)&TCOD_thread_delete, "TCOD_thread_delete");
1153         bindFunc(cast(void**)&TCOD_thread_new, "TCOD_thread_new");
1154         bindFunc(cast(void**)&TCOD_thread_wait, "TCOD_thread_wait");
1155         bindFunc(cast(void**)&TCOD_tree_add_son, "TCOD_tree_add_son");
1156         bindFunc(cast(void**)&TCOD_tree_new, "TCOD_tree_new");
1157         bindFunc(cast(void**)&TCOD_zip_delete, "TCOD_zip_delete");
1158         bindFunc(cast(void**)&TCOD_zip_get_char, "TCOD_zip_get_char");
1159         bindFunc(cast(void**)&TCOD_zip_get_color, "TCOD_zip_get_color");
1160         bindFunc(cast(void**)&TCOD_zip_get_console, "TCOD_zip_get_console");
1161         bindFunc(cast(void**)&TCOD_zip_get_current_bytes, "TCOD_zip_get_current_bytes");
1162         bindFunc(cast(void**)&TCOD_zip_get_data, "TCOD_zip_get_data");
1163         bindFunc(cast(void**)&TCOD_zip_get_float, "TCOD_zip_get_float");
1164         bindFunc(cast(void**)&TCOD_zip_get_image, "TCOD_zip_get_image");
1165         bindFunc(cast(void**)&TCOD_zip_get_int, "TCOD_zip_get_int");
1166         bindFunc(cast(void**)&TCOD_zip_get_remaining_bytes, "TCOD_zip_get_remaining_bytes");
1167         bindFunc(cast(void**)&TCOD_zip_get_string, "TCOD_zip_get_string");
1168         bindFunc(cast(void**)&TCOD_zip_load_from_file, "TCOD_zip_load_from_file");
1169         bindFunc(cast(void**)&TCOD_zip_new, "TCOD_zip_new");
1170         bindFunc(cast(void**)&TCOD_zip_put_char, "TCOD_zip_put_char");
1171         bindFunc(cast(void**)&TCOD_zip_put_color, "TCOD_zip_put_color");
1172         bindFunc(cast(void**)&TCOD_zip_put_console, "TCOD_zip_put_console");
1173         bindFunc(cast(void**)&TCOD_zip_put_data, "TCOD_zip_put_data");
1174         bindFunc(cast(void**)&TCOD_zip_put_float, "TCOD_zip_put_float");
1175         bindFunc(cast(void**)&TCOD_zip_put_image, "TCOD_zip_put_image");
1176         bindFunc(cast(void**)&TCOD_zip_put_int, "TCOD_zip_put_int");
1177         bindFunc(cast(void**)&TCOD_zip_put_string, "TCOD_zip_put_string");
1178         bindFunc(cast(void**)&TCOD_zip_save_to_file, "TCOD_zip_save_to_file");
1179         bindFunc(cast(void**)&TCOD_zip_skip_bytes, "TCOD_zip_skip_bytes");
1180     }
1181 }
1182 
1183 __gshared DerelictTCODLoader DerelictTCOD;
1184 
1185 shared static this()
1186 {
1187     string[] libNames;
1188     if(Derelict_OS_Windows) {
1189         libNames = ["libtcod_debug.dll", "libtcod.dll"];
1190     } else if(Derelict_OS_Linux) {
1191         libNames = ["libtcod_debug.so", "libtcod.so"];
1192 
1193         // prepend executable path to library names
1194         string path = dirName(Runtime.args[0]);
1195         libNames = array(map!(e => path ~ dirSeparator ~ e)(libNames));
1196     } else
1197     assert(0, "libtcod-d is not supported on this operating system.");
1198 
1199     DerelictTCOD = new DerelictTCODLoader(join(libNames, ','));
1200     DerelictTCOD.load();
1201 }