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