tcod-sys 3.0.1

Raw FFI bindings & build script to link against libtcod.
#![allow(non_camel_case_types, non_snake_case, non_upper_case_globals,
         missing_copy_implementations, raw_pointer_derive)]
// This is not added by rust-bindgen even though it's used heavily in the
// generated code:
extern crate libc;


/* automatically generated by rust-bindgen */

pub type __int128_t = ::libc::c_void;
pub type __uint128_t = ::libc::c_void;
pub type __builtin_va_list = [__va_list_tag; 1usize];
pub enum Struct__IO_FILE { }
pub type FILE = Struct__IO_FILE;
pub type __FILE = Struct__IO_FILE;
pub type __gnuc_va_list = __builtin_va_list;
pub type size_t = ::libc::c_ulong;
pub type wchar_t = ::libc::c_int;
pub type wint_t = ::libc::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed1 {
    pub __count: ::libc::c_int,
    pub __value: Union_Unnamed2,
}
impl ::std::default::Default for Struct_Unnamed1 {
    fn default() -> Struct_Unnamed1 { unsafe { ::std::mem::zeroed() } }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Union_Unnamed2 {
    pub _bindgen_data_: [u32; 1usize],
}
impl Union_Unnamed2 {
    pub unsafe fn __wch(&mut self) -> *mut ::libc::c_uint {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn __wchb(&mut self) -> *mut [::libc::c_char; 4usize] {
        ::std::mem::transmute(&self._bindgen_data_)
    }
}
impl ::std::default::Default for Union_Unnamed2 {
    fn default() -> Union_Unnamed2 { unsafe { ::std::mem::zeroed() } }
}
pub type __mbstate_t = Struct_Unnamed1;
pub type mbstate_t = __mbstate_t;
pub enum Struct_tm { }
pub enum Struct___locale_data { }
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct___locale_struct {
    pub __locales: [*mut Struct___locale_data; 13usize],
    pub __ctype_b: *const ::libc::c_ushort,
    pub __ctype_tolower: *const ::libc::c_int,
    pub __ctype_toupper: *const ::libc::c_int,
    pub __names: [*const ::libc::c_char; 13usize],
}
impl ::std::default::Default for Struct___locale_struct {
    fn default() -> Struct___locale_struct { unsafe { ::std::mem::zeroed() } }
}
pub type __locale_t = *mut Struct___locale_struct;
pub type locale_t = __locale_t;
pub type uint8 = ::libc::c_uchar;
pub type int8 = ::libc::c_char;
pub type uint16 = ::libc::c_ushort;
pub type int16 = ::libc::c_short;
pub type uint32 = ::libc::c_uint;
pub type int32 = ::libc::c_int;
pub type intptr = ::libc::c_long;
pub type uintptr = ::libc::c_ulong;
pub type _bool = uint8;
pub type TCOD_list_t = *mut ::libc::c_void;
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct Struct_Unnamed3 {
    pub r: uint8,
    pub g: uint8,
    pub b: uint8,
}
impl ::std::default::Default for Struct_Unnamed3 {
    fn default() -> Struct_Unnamed3 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_color_t = Struct_Unnamed3;
pub type Enum_Unnamed4 = ::libc::c_uint;
pub const TCOD_COLOR_RED: ::libc::c_uint = 0;
pub const TCOD_COLOR_FLAME: ::libc::c_uint = 1;
pub const TCOD_COLOR_ORANGE: ::libc::c_uint = 2;
pub const TCOD_COLOR_AMBER: ::libc::c_uint = 3;
pub const TCOD_COLOR_YELLOW: ::libc::c_uint = 4;
pub const TCOD_COLOR_LIME: ::libc::c_uint = 5;
pub const TCOD_COLOR_CHARTREUSE: ::libc::c_uint = 6;
pub const TCOD_COLOR_GREEN: ::libc::c_uint = 7;
pub const TCOD_COLOR_SEA: ::libc::c_uint = 8;
pub const TCOD_COLOR_TURQUOISE: ::libc::c_uint = 9;
pub const TCOD_COLOR_CYAN: ::libc::c_uint = 10;
pub const TCOD_COLOR_SKY: ::libc::c_uint = 11;
pub const TCOD_COLOR_AZURE: ::libc::c_uint = 12;
pub const TCOD_COLOR_BLUE: ::libc::c_uint = 13;
pub const TCOD_COLOR_HAN: ::libc::c_uint = 14;
pub const TCOD_COLOR_VIOLET: ::libc::c_uint = 15;
pub const TCOD_COLOR_PURPLE: ::libc::c_uint = 16;
pub const TCOD_COLOR_FUCHSIA: ::libc::c_uint = 17;
pub const TCOD_COLOR_MAGENTA: ::libc::c_uint = 18;
pub const TCOD_COLOR_PINK: ::libc::c_uint = 19;
pub const TCOD_COLOR_CRIMSON: ::libc::c_uint = 20;
pub const TCOD_COLOR_NB: ::libc::c_uint = 21;
pub type Enum_Unnamed5 = ::libc::c_uint;
pub const TCOD_COLOR_DESATURATED: ::libc::c_uint = 0;
pub const TCOD_COLOR_LIGHTEST: ::libc::c_uint = 1;
pub const TCOD_COLOR_LIGHTER: ::libc::c_uint = 2;
pub const TCOD_COLOR_LIGHT: ::libc::c_uint = 3;
pub const TCOD_COLOR_NORMAL: ::libc::c_uint = 4;
pub const TCOD_COLOR_DARK: ::libc::c_uint = 5;
pub const TCOD_COLOR_DARKER: ::libc::c_uint = 6;
pub const TCOD_COLOR_DARKEST: ::libc::c_uint = 7;
pub const TCOD_COLOR_LEVELS: ::libc::c_uint = 8;
pub type Enum_Unnamed6 = ::libc::c_uint;
pub const TCODK_NONE: ::libc::c_uint = 0;
pub const TCODK_ESCAPE: ::libc::c_uint = 1;
pub const TCODK_BACKSPACE: ::libc::c_uint = 2;
pub const TCODK_TAB: ::libc::c_uint = 3;
pub const TCODK_ENTER: ::libc::c_uint = 4;
pub const TCODK_SHIFT: ::libc::c_uint = 5;
pub const TCODK_CONTROL: ::libc::c_uint = 6;
pub const TCODK_ALT: ::libc::c_uint = 7;
pub const TCODK_PAUSE: ::libc::c_uint = 8;
pub const TCODK_CAPSLOCK: ::libc::c_uint = 9;
pub const TCODK_PAGEUP: ::libc::c_uint = 10;
pub const TCODK_PAGEDOWN: ::libc::c_uint = 11;
pub const TCODK_END: ::libc::c_uint = 12;
pub const TCODK_HOME: ::libc::c_uint = 13;
pub const TCODK_UP: ::libc::c_uint = 14;
pub const TCODK_LEFT: ::libc::c_uint = 15;
pub const TCODK_RIGHT: ::libc::c_uint = 16;
pub const TCODK_DOWN: ::libc::c_uint = 17;
pub const TCODK_PRINTSCREEN: ::libc::c_uint = 18;
pub const TCODK_INSERT: ::libc::c_uint = 19;
pub const TCODK_DELETE: ::libc::c_uint = 20;
pub const TCODK_LWIN: ::libc::c_uint = 21;
pub const TCODK_RWIN: ::libc::c_uint = 22;
pub const TCODK_APPS: ::libc::c_uint = 23;
pub const TCODK_0: ::libc::c_uint = 24;
pub const TCODK_1: ::libc::c_uint = 25;
pub const TCODK_2: ::libc::c_uint = 26;
pub const TCODK_3: ::libc::c_uint = 27;
pub const TCODK_4: ::libc::c_uint = 28;
pub const TCODK_5: ::libc::c_uint = 29;
pub const TCODK_6: ::libc::c_uint = 30;
pub const TCODK_7: ::libc::c_uint = 31;
pub const TCODK_8: ::libc::c_uint = 32;
pub const TCODK_9: ::libc::c_uint = 33;
pub const TCODK_KP0: ::libc::c_uint = 34;
pub const TCODK_KP1: ::libc::c_uint = 35;
pub const TCODK_KP2: ::libc::c_uint = 36;
pub const TCODK_KP3: ::libc::c_uint = 37;
pub const TCODK_KP4: ::libc::c_uint = 38;
pub const TCODK_KP5: ::libc::c_uint = 39;
pub const TCODK_KP6: ::libc::c_uint = 40;
pub const TCODK_KP7: ::libc::c_uint = 41;
pub const TCODK_KP8: ::libc::c_uint = 42;
pub const TCODK_KP9: ::libc::c_uint = 43;
pub const TCODK_KPADD: ::libc::c_uint = 44;
pub const TCODK_KPSUB: ::libc::c_uint = 45;
pub const TCODK_KPDIV: ::libc::c_uint = 46;
pub const TCODK_KPMUL: ::libc::c_uint = 47;
pub const TCODK_KPDEC: ::libc::c_uint = 48;
pub const TCODK_KPENTER: ::libc::c_uint = 49;
pub const TCODK_F1: ::libc::c_uint = 50;
pub const TCODK_F2: ::libc::c_uint = 51;
pub const TCODK_F3: ::libc::c_uint = 52;
pub const TCODK_F4: ::libc::c_uint = 53;
pub const TCODK_F5: ::libc::c_uint = 54;
pub const TCODK_F6: ::libc::c_uint = 55;
pub const TCODK_F7: ::libc::c_uint = 56;
pub const TCODK_F8: ::libc::c_uint = 57;
pub const TCODK_F9: ::libc::c_uint = 58;
pub const TCODK_F10: ::libc::c_uint = 59;
pub const TCODK_F11: ::libc::c_uint = 60;
pub const TCODK_F12: ::libc::c_uint = 61;
pub const TCODK_NUMLOCK: ::libc::c_uint = 62;
pub const TCODK_SCROLLLOCK: ::libc::c_uint = 63;
pub const TCODK_SPACE: ::libc::c_uint = 64;
pub const TCODK_CHAR: ::libc::c_uint = 65;
pub type TCOD_keycode_t = Enum_Unnamed6;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed7 {
    pub vk: TCOD_keycode_t,
    pub c: ::libc::c_char,
    pub pressed: _bool,
    pub lalt: _bool,
    pub lctrl: _bool,
    pub ralt: _bool,
    pub rctrl: _bool,
    pub shift: _bool,
}
impl ::std::default::Default for Struct_Unnamed7 {
    fn default() -> Struct_Unnamed7 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_key_t = Struct_Unnamed7;
pub type Enum_Unnamed8 = ::libc::c_uint;
pub const TCOD_CHAR_HLINE: ::libc::c_uint = 196;
pub const TCOD_CHAR_VLINE: ::libc::c_uint = 179;
pub const TCOD_CHAR_NE: ::libc::c_uint = 191;
pub const TCOD_CHAR_NW: ::libc::c_uint = 218;
pub const TCOD_CHAR_SE: ::libc::c_uint = 217;
pub const TCOD_CHAR_SW: ::libc::c_uint = 192;
pub const TCOD_CHAR_TEEW: ::libc::c_uint = 180;
pub const TCOD_CHAR_TEEE: ::libc::c_uint = 195;
pub const TCOD_CHAR_TEEN: ::libc::c_uint = 193;
pub const TCOD_CHAR_TEES: ::libc::c_uint = 194;
pub const TCOD_CHAR_CROSS: ::libc::c_uint = 197;
pub const TCOD_CHAR_DHLINE: ::libc::c_uint = 205;
pub const TCOD_CHAR_DVLINE: ::libc::c_uint = 186;
pub const TCOD_CHAR_DNE: ::libc::c_uint = 187;
pub const TCOD_CHAR_DNW: ::libc::c_uint = 201;
pub const TCOD_CHAR_DSE: ::libc::c_uint = 188;
pub const TCOD_CHAR_DSW: ::libc::c_uint = 200;
pub const TCOD_CHAR_DTEEW: ::libc::c_uint = 185;
pub const TCOD_CHAR_DTEEE: ::libc::c_uint = 204;
pub const TCOD_CHAR_DTEEN: ::libc::c_uint = 202;
pub const TCOD_CHAR_DTEES: ::libc::c_uint = 203;
pub const TCOD_CHAR_DCROSS: ::libc::c_uint = 206;
pub const TCOD_CHAR_BLOCK1: ::libc::c_uint = 176;
pub const TCOD_CHAR_BLOCK2: ::libc::c_uint = 177;
pub const TCOD_CHAR_BLOCK3: ::libc::c_uint = 178;
pub const TCOD_CHAR_ARROW_N: ::libc::c_uint = 24;
pub const TCOD_CHAR_ARROW_S: ::libc::c_uint = 25;
pub const TCOD_CHAR_ARROW_E: ::libc::c_uint = 26;
pub const TCOD_CHAR_ARROW_W: ::libc::c_uint = 27;
pub const TCOD_CHAR_ARROW2_N: ::libc::c_uint = 30;
pub const TCOD_CHAR_ARROW2_S: ::libc::c_uint = 31;
pub const TCOD_CHAR_ARROW2_E: ::libc::c_uint = 16;
pub const TCOD_CHAR_ARROW2_W: ::libc::c_uint = 17;
pub const TCOD_CHAR_DARROW_H: ::libc::c_uint = 29;
pub const TCOD_CHAR_DARROW_V: ::libc::c_uint = 18;
pub const TCOD_CHAR_CHECKBOX_UNSET: ::libc::c_uint = 224;
pub const TCOD_CHAR_CHECKBOX_SET: ::libc::c_uint = 225;
pub const TCOD_CHAR_RADIO_UNSET: ::libc::c_uint = 9;
pub const TCOD_CHAR_RADIO_SET: ::libc::c_uint = 10;
pub const TCOD_CHAR_SUBP_NW: ::libc::c_uint = 226;
pub const TCOD_CHAR_SUBP_NE: ::libc::c_uint = 227;
pub const TCOD_CHAR_SUBP_N: ::libc::c_uint = 228;
pub const TCOD_CHAR_SUBP_SE: ::libc::c_uint = 229;
pub const TCOD_CHAR_SUBP_DIAG: ::libc::c_uint = 230;
pub const TCOD_CHAR_SUBP_E: ::libc::c_uint = 231;
pub const TCOD_CHAR_SUBP_SW: ::libc::c_uint = 232;
pub const TCOD_CHAR_SMILIE: ::libc::c_uint = 1;
pub const TCOD_CHAR_SMILIE_INV: ::libc::c_uint = 2;
pub const TCOD_CHAR_HEART: ::libc::c_uint = 3;
pub const TCOD_CHAR_DIAMOND: ::libc::c_uint = 4;
pub const TCOD_CHAR_CLUB: ::libc::c_uint = 5;
pub const TCOD_CHAR_SPADE: ::libc::c_uint = 6;
pub const TCOD_CHAR_BULLET: ::libc::c_uint = 7;
pub const TCOD_CHAR_BULLET_INV: ::libc::c_uint = 8;
pub const TCOD_CHAR_MALE: ::libc::c_uint = 11;
pub const TCOD_CHAR_FEMALE: ::libc::c_uint = 12;
pub const TCOD_CHAR_NOTE: ::libc::c_uint = 13;
pub const TCOD_CHAR_NOTE_DOUBLE: ::libc::c_uint = 14;
pub const TCOD_CHAR_LIGHT: ::libc::c_uint = 15;
pub const TCOD_CHAR_EXCLAM_DOUBLE: ::libc::c_uint = 19;
pub const TCOD_CHAR_PILCROW: ::libc::c_uint = 20;
pub const TCOD_CHAR_SECTION: ::libc::c_uint = 21;
pub const TCOD_CHAR_POUND: ::libc::c_uint = 156;
pub const TCOD_CHAR_MULTIPLICATION: ::libc::c_uint = 158;
pub const TCOD_CHAR_FUNCTION: ::libc::c_uint = 159;
pub const TCOD_CHAR_RESERVED: ::libc::c_uint = 169;
pub const TCOD_CHAR_HALF: ::libc::c_uint = 171;
pub const TCOD_CHAR_ONE_QUARTER: ::libc::c_uint = 172;
pub const TCOD_CHAR_COPYRIGHT: ::libc::c_uint = 184;
pub const TCOD_CHAR_CENT: ::libc::c_uint = 189;
pub const TCOD_CHAR_YEN: ::libc::c_uint = 190;
pub const TCOD_CHAR_CURRENCY: ::libc::c_uint = 207;
pub const TCOD_CHAR_THREE_QUARTERS: ::libc::c_uint = 243;
pub const TCOD_CHAR_DIVISION: ::libc::c_uint = 246;
pub const TCOD_CHAR_GRADE: ::libc::c_uint = 248;
pub const TCOD_CHAR_UMLAUT: ::libc::c_uint = 249;
pub const TCOD_CHAR_POW1: ::libc::c_uint = 251;
pub const TCOD_CHAR_POW3: ::libc::c_uint = 252;
pub const TCOD_CHAR_POW2: ::libc::c_uint = 253;
pub const TCOD_CHAR_BULLET_SQUARE: ::libc::c_uint = 254;
pub type TCOD_chars_t = Enum_Unnamed8;
pub type Enum_Unnamed9 = ::libc::c_uint;
pub const TCOD_COLCTRL_1: ::libc::c_uint = 1;
pub const TCOD_COLCTRL_2: ::libc::c_uint = 2;
pub const TCOD_COLCTRL_3: ::libc::c_uint = 3;
pub const TCOD_COLCTRL_4: ::libc::c_uint = 4;
pub const TCOD_COLCTRL_5: ::libc::c_uint = 5;
pub const TCOD_COLCTRL_NUMBER: ::libc::c_uint = 5;
pub const TCOD_COLCTRL_FORE_RGB: ::libc::c_uint = 6;
pub const TCOD_COLCTRL_BACK_RGB: ::libc::c_uint = 7;
pub const TCOD_COLCTRL_STOP: ::libc::c_uint = 8;
pub type TCOD_colctrl_t = Enum_Unnamed9;
pub type Enum_Unnamed10 = ::libc::c_uint;
pub const TCOD_BKGND_NONE: ::libc::c_uint = 0;
pub const TCOD_BKGND_SET: ::libc::c_uint = 1;
pub const TCOD_BKGND_MULTIPLY: ::libc::c_uint = 2;
pub const TCOD_BKGND_LIGHTEN: ::libc::c_uint = 3;
pub const TCOD_BKGND_DARKEN: ::libc::c_uint = 4;
pub const TCOD_BKGND_SCREEN: ::libc::c_uint = 5;
pub const TCOD_BKGND_COLOR_DODGE: ::libc::c_uint = 6;
pub const TCOD_BKGND_COLOR_BURN: ::libc::c_uint = 7;
pub const TCOD_BKGND_ADD: ::libc::c_uint = 8;
pub const TCOD_BKGND_ADDA: ::libc::c_uint = 9;
pub const TCOD_BKGND_BURN: ::libc::c_uint = 10;
pub const TCOD_BKGND_OVERLAY: ::libc::c_uint = 11;
pub const TCOD_BKGND_ALPH: ::libc::c_uint = 12;
pub const TCOD_BKGND_DEFAULT: ::libc::c_uint = 13;
pub type TCOD_bkgnd_flag_t = Enum_Unnamed10;
pub type Enum_Unnamed11 = ::libc::c_uint;
pub const TCOD_KEY_PRESSED: ::libc::c_uint = 1;
pub const TCOD_KEY_RELEASED: ::libc::c_uint = 2;
pub type TCOD_key_status_t = Enum_Unnamed11;
pub type Enum_Unnamed12 = ::libc::c_uint;
pub const TCOD_FONT_LAYOUT_ASCII_INCOL: ::libc::c_uint = 1;
pub const TCOD_FONT_LAYOUT_ASCII_INROW: ::libc::c_uint = 2;
pub const TCOD_FONT_TYPE_GREYSCALE: ::libc::c_uint = 4;
pub const TCOD_FONT_TYPE_GRAYSCALE: ::libc::c_uint = 4;
pub const TCOD_FONT_LAYOUT_TCOD: ::libc::c_uint = 8;
pub type TCOD_font_flags_t = Enum_Unnamed12;
pub type Enum_Unnamed13 = ::libc::c_uint;
pub const TCOD_RENDERER_GLSL: ::libc::c_uint = 0;
pub const TCOD_RENDERER_OPENGL: ::libc::c_uint = 1;
pub const TCOD_RENDERER_SDL: ::libc::c_uint = 2;
pub const TCOD_NB_RENDERERS: ::libc::c_uint = 3;
pub type TCOD_renderer_t = Enum_Unnamed13;
pub type Enum_Unnamed14 = ::libc::c_uint;
pub const TCOD_LEFT: ::libc::c_uint = 0;
pub const TCOD_RIGHT: ::libc::c_uint = 1;
pub const TCOD_CENTER: ::libc::c_uint = 2;
pub type TCOD_alignment_t = Enum_Unnamed14;
pub type TCOD_console_t = *mut ::libc::c_void;
pub type TCOD_image_t = *mut ::libc::c_void;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed15 {
    pub x: ::libc::c_int,
    pub y: ::libc::c_int,
    pub dx: ::libc::c_int,
    pub dy: ::libc::c_int,
    pub cx: ::libc::c_int,
    pub cy: ::libc::c_int,
    pub dcx: ::libc::c_int,
    pub dcy: ::libc::c_int,
    pub lbutton: _bool,
    pub rbutton: _bool,
    pub mbutton: _bool,
    pub lbutton_pressed: _bool,
    pub rbutton_pressed: _bool,
    pub mbutton_pressed: _bool,
    pub wheel_up: _bool,
    pub wheel_down: _bool,
}
impl ::std::default::Default for Struct_Unnamed15 {
    fn default() -> Struct_Unnamed15 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_mouse_t = Struct_Unnamed15;
pub type Enum_Unnamed16 = ::libc::c_uint;
pub const TCOD_EVENT_NONE: ::libc::c_uint = 0;
pub const TCOD_EVENT_KEY_PRESS: ::libc::c_uint = 1;
pub const TCOD_EVENT_KEY_RELEASE: ::libc::c_uint = 2;
pub const TCOD_EVENT_KEY: ::libc::c_uint = 3;
pub const TCOD_EVENT_MOUSE_MOVE: ::libc::c_uint = 4;
pub const TCOD_EVENT_MOUSE_PRESS: ::libc::c_uint = 8;
pub const TCOD_EVENT_MOUSE_RELEASE: ::libc::c_uint = 16;
pub const TCOD_EVENT_MOUSE: ::libc::c_uint = 28;
pub const TCOD_EVENT_FINGER_MOVE: ::libc::c_uint = 32;
pub const TCOD_EVENT_FINGER_PRESS: ::libc::c_uint = 64;
pub const TCOD_EVENT_FINGER_RELEASE: ::libc::c_uint = 128;
pub const TCOD_EVENT_FINGER: ::libc::c_uint = 224;
pub const TCOD_EVENT_ANY: ::libc::c_uint = 255;
pub type TCOD_event_t = Enum_Unnamed16;
pub type TCOD_thread_t = *mut ::libc::c_void;
pub type TCOD_semaphore_t = *mut ::libc::c_void;
pub type TCOD_mutex_t = *mut ::libc::c_void;
pub type TCOD_cond_t = *mut ::libc::c_void;
pub type TCOD_library_t = *mut ::libc::c_void;
pub type SDL_renderer_t =
    ::std::option::Option<extern "C" fn(sdl_surface: *mut ::libc::c_void)>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed17 {
    pub nb_rolls: ::libc::c_int,
    pub nb_faces: ::libc::c_int,
    pub multiplier: ::libc::c_float,
    pub addsub: ::libc::c_float,
}
impl ::std::default::Default for Struct_Unnamed17 {
    fn default() -> Struct_Unnamed17 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_dice_t = Struct_Unnamed17;
pub type Enum_Unnamed18 = ::libc::c_uint;
pub const TCOD_RNG_MT: ::libc::c_uint = 0;
pub const TCOD_RNG_CMWC: ::libc::c_uint = 1;
pub type TCOD_random_algo_t = Enum_Unnamed18;
pub type Enum_Unnamed19 = ::libc::c_uint;
pub const TCOD_DISTRIBUTION_LINEAR: ::libc::c_uint = 0;
pub const TCOD_DISTRIBUTION_GAUSSIAN: ::libc::c_uint = 1;
pub const TCOD_DISTRIBUTION_GAUSSIAN_RANGE: ::libc::c_uint = 2;
pub const TCOD_DISTRIBUTION_GAUSSIAN_INVERSE: ::libc::c_uint = 3;
pub const TCOD_DISTRIBUTION_GAUSSIAN_RANGE_INVERSE: ::libc::c_uint = 4;
pub type TCOD_distribution_t = Enum_Unnamed19;
pub type TCOD_random_t = *mut ::libc::c_void;
pub type TCOD_line_listener_t =
    ::std::option::Option<extern "C" fn(x: ::libc::c_int, y: ::libc::c_int)
                              -> _bool>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed20 {
    pub stepx: ::libc::c_int,
    pub stepy: ::libc::c_int,
    pub e: ::libc::c_int,
    pub deltax: ::libc::c_int,
    pub deltay: ::libc::c_int,
    pub origx: ::libc::c_int,
    pub origy: ::libc::c_int,
    pub destx: ::libc::c_int,
    pub desty: ::libc::c_int,
}
impl ::std::default::Default for Struct_Unnamed20 {
    fn default() -> Struct_Unnamed20 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_bresenham_data_t = Struct_Unnamed20;
pub type TCOD_noise_t = *mut ::libc::c_void;
pub type Enum_Unnamed21 = ::libc::c_uint;
pub const TCOD_NOISE_PERLIN: ::libc::c_uint = 1;
pub const TCOD_NOISE_SIMPLEX: ::libc::c_uint = 2;
pub const TCOD_NOISE_WAVELET: ::libc::c_uint = 4;
pub const TCOD_NOISE_DEFAULT: ::libc::c_uint = 0;
pub type TCOD_noise_type_t = Enum_Unnamed21;
pub type TCOD_map_t = *mut ::libc::c_void;
pub type Enum_Unnamed22 = ::libc::c_uint;
pub const FOV_BASIC: ::libc::c_uint = 0;
pub const FOV_DIAMOND: ::libc::c_uint = 1;
pub const FOV_SHADOW: ::libc::c_uint = 2;
pub const FOV_PERMISSIVE_0: ::libc::c_uint = 3;
pub const FOV_PERMISSIVE_1: ::libc::c_uint = 4;
pub const FOV_PERMISSIVE_2: ::libc::c_uint = 5;
pub const FOV_PERMISSIVE_3: ::libc::c_uint = 6;
pub const FOV_PERMISSIVE_4: ::libc::c_uint = 7;
pub const FOV_PERMISSIVE_5: ::libc::c_uint = 8;
pub const FOV_PERMISSIVE_6: ::libc::c_uint = 9;
pub const FOV_PERMISSIVE_7: ::libc::c_uint = 10;
pub const FOV_PERMISSIVE_8: ::libc::c_uint = 11;
pub const FOV_RESTRICTIVE: ::libc::c_uint = 12;
pub const NB_FOV_ALGORITHMS: ::libc::c_uint = 13;
pub type TCOD_fov_algorithm_t = Enum_Unnamed22;
pub type TCOD_path_func_t =
    ::std::option::Option<extern "C" fn
                              (xFrom: ::libc::c_int, yFrom: ::libc::c_int,
                               xTo: ::libc::c_int, yTo: ::libc::c_int,
                               user_data: *mut ::libc::c_void)
                              -> ::libc::c_float>;
pub type TCOD_path_t = *mut ::libc::c_void;
pub type TCOD_dijkstra_t = *mut ::libc::c_void;
#[repr(C)]
#[derive(Copy)]
pub struct Struct_Unnamed23 {
    pub file_line: ::libc::c_int,
    pub token_type: ::libc::c_int,
    pub token_int_val: ::libc::c_int,
    pub token_idx: ::libc::c_int,
    pub token_float_val: ::libc::c_float,
    pub tok: *mut ::libc::c_char,
    pub toklen: ::libc::c_int,
    pub lastStringDelim: ::libc::c_char,
    pub pos: *mut ::libc::c_char,
    pub buf: *mut ::libc::c_char,
    pub filename: *mut ::libc::c_char,
    pub last_javadoc_comment: *mut ::libc::c_char,
    pub nb_symbols: ::libc::c_int,
    pub nb_keywords: ::libc::c_int,
    pub flags: ::libc::c_int,
    pub symbols: [[::libc::c_char; 5usize]; 100usize],
    pub keywords: [[::libc::c_char; 20usize]; 100usize],
    pub simpleCmt: *const ::libc::c_char,
    pub cmtStart: *const ::libc::c_char,
    pub cmtStop: *const ::libc::c_char,
    pub javadocCmtStart: *const ::libc::c_char,
    pub stringDelim: *const ::libc::c_char,
    pub javadoc_read: _bool,
    pub allocBuf: _bool,
    pub savept: _bool,
}
impl ::std::clone::Clone for Struct_Unnamed23 {
    fn clone(&self) -> Struct_Unnamed23 {
        *self
    }
}
impl ::std::default::Default for Struct_Unnamed23 {
    fn default() -> Struct_Unnamed23 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_lex_t = Struct_Unnamed23;
pub type Enum_Unnamed24 = ::libc::c_uint;
pub const TCOD_TYPE_NONE: ::libc::c_uint = 0;
pub const TCOD_TYPE_BOOL: ::libc::c_uint = 1;
pub const TCOD_TYPE_CHAR: ::libc::c_uint = 2;
pub const TCOD_TYPE_INT: ::libc::c_uint = 3;
pub const TCOD_TYPE_FLOAT: ::libc::c_uint = 4;
pub const TCOD_TYPE_STRING: ::libc::c_uint = 5;
pub const TCOD_TYPE_COLOR: ::libc::c_uint = 6;
pub const TCOD_TYPE_DICE: ::libc::c_uint = 7;
pub const TCOD_TYPE_VALUELIST00: ::libc::c_uint = 8;
pub const TCOD_TYPE_VALUELIST01: ::libc::c_uint = 9;
pub const TCOD_TYPE_VALUELIST02: ::libc::c_uint = 10;
pub const TCOD_TYPE_VALUELIST03: ::libc::c_uint = 11;
pub const TCOD_TYPE_VALUELIST04: ::libc::c_uint = 12;
pub const TCOD_TYPE_VALUELIST05: ::libc::c_uint = 13;
pub const TCOD_TYPE_VALUELIST06: ::libc::c_uint = 14;
pub const TCOD_TYPE_VALUELIST07: ::libc::c_uint = 15;
pub const TCOD_TYPE_VALUELIST08: ::libc::c_uint = 16;
pub const TCOD_TYPE_VALUELIST09: ::libc::c_uint = 17;
pub const TCOD_TYPE_VALUELIST10: ::libc::c_uint = 18;
pub const TCOD_TYPE_VALUELIST11: ::libc::c_uint = 19;
pub const TCOD_TYPE_VALUELIST12: ::libc::c_uint = 20;
pub const TCOD_TYPE_VALUELIST13: ::libc::c_uint = 21;
pub const TCOD_TYPE_VALUELIST14: ::libc::c_uint = 22;
pub const TCOD_TYPE_VALUELIST15: ::libc::c_uint = 23;
pub const TCOD_TYPE_CUSTOM00: ::libc::c_uint = 24;
pub const TCOD_TYPE_CUSTOM01: ::libc::c_uint = 25;
pub const TCOD_TYPE_CUSTOM02: ::libc::c_uint = 26;
pub const TCOD_TYPE_CUSTOM03: ::libc::c_uint = 27;
pub const TCOD_TYPE_CUSTOM04: ::libc::c_uint = 28;
pub const TCOD_TYPE_CUSTOM05: ::libc::c_uint = 29;
pub const TCOD_TYPE_CUSTOM06: ::libc::c_uint = 30;
pub const TCOD_TYPE_CUSTOM07: ::libc::c_uint = 31;
pub const TCOD_TYPE_CUSTOM08: ::libc::c_uint = 32;
pub const TCOD_TYPE_CUSTOM09: ::libc::c_uint = 33;
pub const TCOD_TYPE_CUSTOM10: ::libc::c_uint = 34;
pub const TCOD_TYPE_CUSTOM11: ::libc::c_uint = 35;
pub const TCOD_TYPE_CUSTOM12: ::libc::c_uint = 36;
pub const TCOD_TYPE_CUSTOM13: ::libc::c_uint = 37;
pub const TCOD_TYPE_CUSTOM14: ::libc::c_uint = 38;
pub const TCOD_TYPE_CUSTOM15: ::libc::c_uint = 39;
pub const TCOD_TYPE_LIST: ::libc::c_uint = 1024;
pub type TCOD_value_type_t = Enum_Unnamed24;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Union_Unnamed25 {
    pub _bindgen_data_: [u64; 2usize],
}
impl Union_Unnamed25 {
    pub unsafe fn b(&mut self) -> *mut _bool {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn c(&mut self) -> *mut ::libc::c_char {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn i(&mut self) -> *mut int32 {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn f(&mut self) -> *mut ::libc::c_float {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn s(&mut self) -> *mut *mut ::libc::c_char {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn col(&mut self) -> *mut TCOD_color_t {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn dice(&mut self) -> *mut TCOD_dice_t {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn list(&mut self) -> *mut TCOD_list_t {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn custom(&mut self) -> *mut *mut ::libc::c_void {
        ::std::mem::transmute(&self._bindgen_data_)
    }
}
impl ::std::default::Default for Union_Unnamed25 {
    fn default() -> Union_Unnamed25 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_value_t = Union_Unnamed25;
pub type TCOD_parser_struct_t = *mut ::libc::c_void;
#[repr(C)]
#[derive(Copy)]
pub struct Struct_Unnamed26 {
    pub new_struct: ::std::option::Option<extern "C" fn
                                              (str: TCOD_parser_struct_t,
                                               name: *const ::libc::c_char)
                                              -> _bool>,
    pub new_flag: ::std::option::Option<extern "C" fn
                                            (name: *const ::libc::c_char)
                                            -> _bool>,
    pub new_property: ::std::option::Option<extern "C" fn
                                                (propname:
                                                     *const ::libc::c_char,
                                                 _type: TCOD_value_type_t,
                                                 value: TCOD_value_t)
                                                -> _bool>,
    pub end_struct: ::std::option::Option<extern "C" fn
                                              (str: TCOD_parser_struct_t,
                                               name: *const ::libc::c_char)
                                              -> _bool>,
    pub error: ::std::option::Option<extern "C" fn
                                         (msg: *const ::libc::c_char)>,
}
impl Clone for Struct_Unnamed26 {
    fn clone(&self) -> Struct_Unnamed26 {
        *self
    }
}
impl ::std::default::Default for Struct_Unnamed26 {
    fn default() -> Struct_Unnamed26 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_parser_listener_t = Struct_Unnamed26;
pub type TCOD_parser_custom_t =
    ::std::option::Option<extern "C" fn
                              (lex: *mut TCOD_lex_t,
                               listener: *mut TCOD_parser_listener_t,
                               str: TCOD_parser_struct_t,
                               propname: *mut ::libc::c_char)
                              -> TCOD_value_t>;
pub type TCOD_parser_t = *mut ::libc::c_void;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed27 {
    pub name: *mut ::libc::c_char,
    pub flags: TCOD_list_t,
    pub props: TCOD_list_t,
    pub lists: TCOD_list_t,
    pub structs: TCOD_list_t,
}
impl ::std::default::Default for Struct_Unnamed27 {
    fn default() -> Struct_Unnamed27 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_struct_int_t = Struct_Unnamed27;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed28 {
    pub structs: TCOD_list_t,
    pub customs: [TCOD_parser_custom_t; 16usize],
    pub fatal: _bool,
    pub props: TCOD_list_t,
}
impl ::std::default::Default for Struct_Unnamed28 {
    fn default() -> Struct_Unnamed28 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_parser_int_t = Struct_Unnamed28;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct__TCOD_tree_t {
    pub next: *mut Struct__TCOD_tree_t,
    pub father: *mut Struct__TCOD_tree_t,
    pub sons: *mut Struct__TCOD_tree_t,
}
impl ::std::default::Default for Struct__TCOD_tree_t {
    fn default() -> Struct__TCOD_tree_t { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_tree_t = Struct__TCOD_tree_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed29 {
    tree: TCOD_tree_t,
    pub x: ::libc::c_int,
    pub y: ::libc::c_int,
    pub w: ::libc::c_int,
    pub h: ::libc::c_int,
    pub position: ::libc::c_int,
    pub level: uint8,
    pub horizontal: _bool,
}
impl ::std::default::Default for Struct_Unnamed29 {
    fn default() -> Struct_Unnamed29 { unsafe { ::std::mem::zeroed() } }
}
impl Struct_Unnamed29 {
    pub unsafe fn tree(&mut self) -> &mut TCOD_tree_t {
        &mut self.tree
    }
}
pub type TCOD_bsp_t = Struct_Unnamed29;
pub type TCOD_bsp_callback_t =
    ::std::option::Option<extern "C" fn
                              (node: *mut TCOD_bsp_t,
                               userData: *mut ::libc::c_void) -> _bool>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed30 {
    pub w: ::libc::c_int,
    pub h: ::libc::c_int,
    pub values: *mut ::libc::c_float,
}
impl ::std::default::Default for Struct_Unnamed30 {
    fn default() -> Struct_Unnamed30 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_heightmap_t = Struct_Unnamed30;
pub type TCOD_zip_t = *mut ::libc::c_void;
pub type TCOD_namegen_t = *mut ::libc::c_void;
pub type TCOD_text_t = *mut ::libc::c_void;
pub type __va_list_tag = Struct___va_list_tag;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct___va_list_tag {
    pub gp_offset: ::libc::c_uint,
    pub fp_offset: ::libc::c_uint,
    pub overflow_arg_area: *mut ::libc::c_void,
    pub reg_save_area: *mut ::libc::c_void,
}
impl ::std::default::Default for Struct___va_list_tag {
    fn default() -> Struct___va_list_tag { unsafe { ::std::mem::zeroed() } }
}
#[link(name = "tcod")]
extern "C" {
    pub static mut TCOD_colors: [[TCOD_color_t; 8usize]; 21usize];
    pub static TCOD_black: TCOD_color_t;
    pub static TCOD_darkest_grey: TCOD_color_t;
    pub static TCOD_darker_grey: TCOD_color_t;
    pub static TCOD_dark_grey: TCOD_color_t;
    pub static TCOD_grey: TCOD_color_t;
    pub static TCOD_light_grey: TCOD_color_t;
    pub static TCOD_lighter_grey: TCOD_color_t;
    pub static TCOD_lightest_grey: TCOD_color_t;
    pub static TCOD_darkest_gray: TCOD_color_t;
    pub static TCOD_darker_gray: TCOD_color_t;
    pub static TCOD_dark_gray: TCOD_color_t;
    pub static TCOD_gray: TCOD_color_t;
    pub static TCOD_light_gray: TCOD_color_t;
    pub static TCOD_lighter_gray: TCOD_color_t;
    pub static TCOD_lightest_gray: TCOD_color_t;
    pub static TCOD_white: TCOD_color_t;
    pub static TCOD_darkest_sepia: TCOD_color_t;
    pub static TCOD_darker_sepia: TCOD_color_t;
    pub static TCOD_dark_sepia: TCOD_color_t;
    pub static TCOD_sepia: TCOD_color_t;
    pub static TCOD_light_sepia: TCOD_color_t;
    pub static TCOD_lighter_sepia: TCOD_color_t;
    pub static TCOD_lightest_sepia: TCOD_color_t;
    pub static TCOD_red: TCOD_color_t;
    pub static TCOD_flame: TCOD_color_t;
    pub static TCOD_orange: TCOD_color_t;
    pub static TCOD_amber: TCOD_color_t;
    pub static TCOD_yellow: TCOD_color_t;
    pub static TCOD_lime: TCOD_color_t;
    pub static TCOD_chartreuse: TCOD_color_t;
    pub static TCOD_green: TCOD_color_t;
    pub static TCOD_sea: TCOD_color_t;
    pub static TCOD_turquoise: TCOD_color_t;
    pub static TCOD_cyan: TCOD_color_t;
    pub static TCOD_sky: TCOD_color_t;
    pub static TCOD_azure: TCOD_color_t;
    pub static TCOD_blue: TCOD_color_t;
    pub static TCOD_han: TCOD_color_t;
    pub static TCOD_violet: TCOD_color_t;
    pub static TCOD_purple: TCOD_color_t;
    pub static TCOD_fuchsia: TCOD_color_t;
    pub static TCOD_magenta: TCOD_color_t;
    pub static TCOD_pink: TCOD_color_t;
    pub static TCOD_crimson: TCOD_color_t;
    pub static TCOD_dark_red: TCOD_color_t;
    pub static TCOD_dark_flame: TCOD_color_t;
    pub static TCOD_dark_orange: TCOD_color_t;
    pub static TCOD_dark_amber: TCOD_color_t;
    pub static TCOD_dark_yellow: TCOD_color_t;
    pub static TCOD_dark_lime: TCOD_color_t;
    pub static TCOD_dark_chartreuse: TCOD_color_t;
    pub static TCOD_dark_green: TCOD_color_t;
    pub static TCOD_dark_sea: TCOD_color_t;
    pub static TCOD_dark_turquoise: TCOD_color_t;
    pub static TCOD_dark_cyan: TCOD_color_t;
    pub static TCOD_dark_sky: TCOD_color_t;
    pub static TCOD_dark_azure: TCOD_color_t;
    pub static TCOD_dark_blue: TCOD_color_t;
    pub static TCOD_dark_han: TCOD_color_t;
    pub static TCOD_dark_violet: TCOD_color_t;
    pub static TCOD_dark_purple: TCOD_color_t;
    pub static TCOD_dark_fuchsia: TCOD_color_t;
    pub static TCOD_dark_magenta: TCOD_color_t;
    pub static TCOD_dark_pink: TCOD_color_t;
    pub static TCOD_dark_crimson: TCOD_color_t;
    pub static TCOD_darker_red: TCOD_color_t;
    pub static TCOD_darker_flame: TCOD_color_t;
    pub static TCOD_darker_orange: TCOD_color_t;
    pub static TCOD_darker_amber: TCOD_color_t;
    pub static TCOD_darker_yellow: TCOD_color_t;
    pub static TCOD_darker_lime: TCOD_color_t;
    pub static TCOD_darker_chartreuse: TCOD_color_t;
    pub static TCOD_darker_green: TCOD_color_t;
    pub static TCOD_darker_sea: TCOD_color_t;
    pub static TCOD_darker_turquoise: TCOD_color_t;
    pub static TCOD_darker_cyan: TCOD_color_t;
    pub static TCOD_darker_sky: TCOD_color_t;
    pub static TCOD_darker_azure: TCOD_color_t;
    pub static TCOD_darker_blue: TCOD_color_t;
    pub static TCOD_darker_han: TCOD_color_t;
    pub static TCOD_darker_violet: TCOD_color_t;
    pub static TCOD_darker_purple: TCOD_color_t;
    pub static TCOD_darker_fuchsia: TCOD_color_t;
    pub static TCOD_darker_magenta: TCOD_color_t;
    pub static TCOD_darker_pink: TCOD_color_t;
    pub static TCOD_darker_crimson: TCOD_color_t;
    pub static TCOD_darkest_red: TCOD_color_t;
    pub static TCOD_darkest_flame: TCOD_color_t;
    pub static TCOD_darkest_orange: TCOD_color_t;
    pub static TCOD_darkest_amber: TCOD_color_t;
    pub static TCOD_darkest_yellow: TCOD_color_t;
    pub static TCOD_darkest_lime: TCOD_color_t;
    pub static TCOD_darkest_chartreuse: TCOD_color_t;
    pub static TCOD_darkest_green: TCOD_color_t;
    pub static TCOD_darkest_sea: TCOD_color_t;
    pub static TCOD_darkest_turquoise: TCOD_color_t;
    pub static TCOD_darkest_cyan: TCOD_color_t;
    pub static TCOD_darkest_sky: TCOD_color_t;
    pub static TCOD_darkest_azure: TCOD_color_t;
    pub static TCOD_darkest_blue: TCOD_color_t;
    pub static TCOD_darkest_han: TCOD_color_t;
    pub static TCOD_darkest_violet: TCOD_color_t;
    pub static TCOD_darkest_purple: TCOD_color_t;
    pub static TCOD_darkest_fuchsia: TCOD_color_t;
    pub static TCOD_darkest_magenta: TCOD_color_t;
    pub static TCOD_darkest_pink: TCOD_color_t;
    pub static TCOD_darkest_crimson: TCOD_color_t;
    pub static TCOD_light_red: TCOD_color_t;
    pub static TCOD_light_flame: TCOD_color_t;
    pub static TCOD_light_orange: TCOD_color_t;
    pub static TCOD_light_amber: TCOD_color_t;
    pub static TCOD_light_yellow: TCOD_color_t;
    pub static TCOD_light_lime: TCOD_color_t;
    pub static TCOD_light_chartreuse: TCOD_color_t;
    pub static TCOD_light_green: TCOD_color_t;
    pub static TCOD_light_sea: TCOD_color_t;
    pub static TCOD_light_turquoise: TCOD_color_t;
    pub static TCOD_light_cyan: TCOD_color_t;
    pub static TCOD_light_sky: TCOD_color_t;
    pub static TCOD_light_azure: TCOD_color_t;
    pub static TCOD_light_blue: TCOD_color_t;
    pub static TCOD_light_han: TCOD_color_t;
    pub static TCOD_light_violet: TCOD_color_t;
    pub static TCOD_light_purple: TCOD_color_t;
    pub static TCOD_light_fuchsia: TCOD_color_t;
    pub static TCOD_light_magenta: TCOD_color_t;
    pub static TCOD_light_pink: TCOD_color_t;
    pub static TCOD_light_crimson: TCOD_color_t;
    pub static TCOD_lighter_red: TCOD_color_t;
    pub static TCOD_lighter_flame: TCOD_color_t;
    pub static TCOD_lighter_orange: TCOD_color_t;
    pub static TCOD_lighter_amber: TCOD_color_t;
    pub static TCOD_lighter_yellow: TCOD_color_t;
    pub static TCOD_lighter_lime: TCOD_color_t;
    pub static TCOD_lighter_chartreuse: TCOD_color_t;
    pub static TCOD_lighter_green: TCOD_color_t;
    pub static TCOD_lighter_sea: TCOD_color_t;
    pub static TCOD_lighter_turquoise: TCOD_color_t;
    pub static TCOD_lighter_cyan: TCOD_color_t;
    pub static TCOD_lighter_sky: TCOD_color_t;
    pub static TCOD_lighter_azure: TCOD_color_t;
    pub static TCOD_lighter_blue: TCOD_color_t;
    pub static TCOD_lighter_han: TCOD_color_t;
    pub static TCOD_lighter_violet: TCOD_color_t;
    pub static TCOD_lighter_purple: TCOD_color_t;
    pub static TCOD_lighter_fuchsia: TCOD_color_t;
    pub static TCOD_lighter_magenta: TCOD_color_t;
    pub static TCOD_lighter_pink: TCOD_color_t;
    pub static TCOD_lighter_crimson: TCOD_color_t;
    pub static TCOD_lightest_red: TCOD_color_t;
    pub static TCOD_lightest_flame: TCOD_color_t;
    pub static TCOD_lightest_orange: TCOD_color_t;
    pub static TCOD_lightest_amber: TCOD_color_t;
    pub static TCOD_lightest_yellow: TCOD_color_t;
    pub static TCOD_lightest_lime: TCOD_color_t;
    pub static TCOD_lightest_chartreuse: TCOD_color_t;
    pub static TCOD_lightest_green: TCOD_color_t;
    pub static TCOD_lightest_sea: TCOD_color_t;
    pub static TCOD_lightest_turquoise: TCOD_color_t;
    pub static TCOD_lightest_cyan: TCOD_color_t;
    pub static TCOD_lightest_sky: TCOD_color_t;
    pub static TCOD_lightest_azure: TCOD_color_t;
    pub static TCOD_lightest_blue: TCOD_color_t;
    pub static TCOD_lightest_han: TCOD_color_t;
    pub static TCOD_lightest_violet: TCOD_color_t;
    pub static TCOD_lightest_purple: TCOD_color_t;
    pub static TCOD_lightest_fuchsia: TCOD_color_t;
    pub static TCOD_lightest_magenta: TCOD_color_t;
    pub static TCOD_lightest_pink: TCOD_color_t;
    pub static TCOD_lightest_crimson: TCOD_color_t;
    pub static TCOD_desaturated_red: TCOD_color_t;
    pub static TCOD_desaturated_flame: TCOD_color_t;
    pub static TCOD_desaturated_orange: TCOD_color_t;
    pub static TCOD_desaturated_amber: TCOD_color_t;
    pub static TCOD_desaturated_yellow: TCOD_color_t;
    pub static TCOD_desaturated_lime: TCOD_color_t;
    pub static TCOD_desaturated_chartreuse: TCOD_color_t;
    pub static TCOD_desaturated_green: TCOD_color_t;
    pub static TCOD_desaturated_sea: TCOD_color_t;
    pub static TCOD_desaturated_turquoise: TCOD_color_t;
    pub static TCOD_desaturated_cyan: TCOD_color_t;
    pub static TCOD_desaturated_sky: TCOD_color_t;
    pub static TCOD_desaturated_azure: TCOD_color_t;
    pub static TCOD_desaturated_blue: TCOD_color_t;
    pub static TCOD_desaturated_han: TCOD_color_t;
    pub static TCOD_desaturated_violet: TCOD_color_t;
    pub static TCOD_desaturated_purple: TCOD_color_t;
    pub static TCOD_desaturated_fuchsia: TCOD_color_t;
    pub static TCOD_desaturated_magenta: TCOD_color_t;
    pub static TCOD_desaturated_pink: TCOD_color_t;
    pub static TCOD_desaturated_crimson: TCOD_color_t;
    pub static TCOD_brass: TCOD_color_t;
    pub static TCOD_copper: TCOD_color_t;
    pub static TCOD_gold: TCOD_color_t;
    pub static TCOD_silver: TCOD_color_t;
    pub static TCOD_celadon: TCOD_color_t;
    pub static TCOD_peach: TCOD_color_t;
}
#[link(name = "tcod")]
extern "C" {
    pub fn wcscpy(__dest: *mut wchar_t, __src: *const wchar_t)
     -> *mut wchar_t;
    pub fn wcsncpy(__dest: *mut wchar_t, __src: *const wchar_t, __n: size_t)
     -> *mut wchar_t;
    pub fn wcscat(__dest: *mut wchar_t, __src: *const wchar_t)
     -> *mut wchar_t;
    pub fn wcsncat(__dest: *mut wchar_t, __src: *const wchar_t, __n: size_t)
     -> *mut wchar_t;
    pub fn wcscmp(__s1: *const wchar_t, __s2: *const wchar_t)
     -> ::libc::c_int;
    pub fn wcsncmp(__s1: *const wchar_t, __s2: *const wchar_t, __n: size_t)
     -> ::libc::c_int;
    pub fn wcscasecmp(__s1: *const wchar_t, __s2: *const wchar_t)
     -> ::libc::c_int;
    pub fn wcsncasecmp(__s1: *const wchar_t, __s2: *const wchar_t,
                       __n: size_t) -> ::libc::c_int;
    pub fn wcscasecmp_l(__s1: *const wchar_t, __s2: *const wchar_t,
                        __loc: __locale_t) -> ::libc::c_int;
    pub fn wcsncasecmp_l(__s1: *const wchar_t, __s2: *const wchar_t,
                         __n: size_t, __loc: __locale_t) -> ::libc::c_int;
    pub fn wcscoll(__s1: *const wchar_t, __s2: *const wchar_t)
     -> ::libc::c_int;
    pub fn wcsxfrm(__s1: *mut wchar_t, __s2: *const wchar_t, __n: size_t)
     -> size_t;
    pub fn wcscoll_l(__s1: *const wchar_t, __s2: *const wchar_t,
                     __loc: __locale_t) -> ::libc::c_int;
    pub fn wcsxfrm_l(__s1: *mut wchar_t, __s2: *const wchar_t, __n: size_t,
                     __loc: __locale_t) -> size_t;
    pub fn wcsdup(__s: *const wchar_t) -> *mut wchar_t;
    pub fn wcschr(__wcs: *const wchar_t, __wc: wchar_t) -> *mut wchar_t;
    pub fn wcsrchr(__wcs: *const wchar_t, __wc: wchar_t) -> *mut wchar_t;
    pub fn wcscspn(__wcs: *const wchar_t, __reject: *const wchar_t) -> size_t;
    pub fn wcsspn(__wcs: *const wchar_t, __accept: *const wchar_t) -> size_t;
    pub fn wcspbrk(__wcs: *const wchar_t, __accept: *const wchar_t)
     -> *mut wchar_t;
    pub fn wcsstr(__haystack: *const wchar_t, __needle: *const wchar_t)
     -> *mut wchar_t;
    pub fn wcstok(__s: *mut wchar_t, __delim: *const wchar_t,
                  __ptr: *mut *mut wchar_t) -> *mut wchar_t;
    pub fn wcslen(__s: *const wchar_t) -> size_t;
    pub fn wcsnlen(__s: *const wchar_t, __maxlen: size_t) -> size_t;
    pub fn wmemchr(__s: *const wchar_t, __c: wchar_t, __n: size_t)
     -> *mut wchar_t;
    pub fn wmemcmp(__s1: *const wchar_t, __s2: *const wchar_t, __n: size_t)
     -> ::libc::c_int;
    pub fn wmemcpy(__s1: *mut wchar_t, __s2: *const wchar_t, __n: size_t)
     -> *mut wchar_t;
    pub fn wmemmove(__s1: *mut wchar_t, __s2: *const wchar_t, __n: size_t)
     -> *mut wchar_t;
    pub fn wmemset(__s: *mut wchar_t, __c: wchar_t, __n: size_t)
     -> *mut wchar_t;
    pub fn btowc(__c: ::libc::c_int) -> wint_t;
    pub fn wctob(__c: wint_t) -> ::libc::c_int;
    pub fn mbsinit(__ps: *const mbstate_t) -> ::libc::c_int;
    pub fn mbrtowc(__pwc: *mut wchar_t, __s: *const ::libc::c_char,
                   __n: size_t, __p: *mut mbstate_t) -> size_t;
    pub fn wcrtomb(__s: *mut ::libc::c_char, __wc: wchar_t,
                   __ps: *mut mbstate_t) -> size_t;
    pub fn __mbrlen(__s: *const ::libc::c_char, __n: size_t,
                    __ps: *mut mbstate_t) -> size_t;
    pub fn mbrlen(__s: *const ::libc::c_char, __n: size_t,
                  __ps: *mut mbstate_t) -> size_t;
    pub fn mbsrtowcs(__dst: *mut wchar_t, __src: *mut *const ::libc::c_char,
                     __len: size_t, __ps: *mut mbstate_t) -> size_t;
    pub fn wcsrtombs(__dst: *mut ::libc::c_char, __src: *mut *const wchar_t,
                     __len: size_t, __ps: *mut mbstate_t) -> size_t;
    pub fn mbsnrtowcs(__dst: *mut wchar_t, __src: *mut *const ::libc::c_char,
                      __nmc: size_t, __len: size_t, __ps: *mut mbstate_t)
     -> size_t;
    pub fn wcsnrtombs(__dst: *mut ::libc::c_char, __src: *mut *const wchar_t,
                      __nwc: size_t, __len: size_t, __ps: *mut mbstate_t)
     -> size_t;
    pub fn wcstod(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t)
     -> ::libc::c_double;
    pub fn wcstof(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t)
     -> ::libc::c_float;
    pub fn wcstold(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t)
     -> ::libc::c_double;
    pub fn wcstol(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t,
                  __base: ::libc::c_int) -> ::libc::c_long;
    pub fn wcstoul(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t,
                   __base: ::libc::c_int) -> ::libc::c_ulong;
    pub fn wcstoll(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t,
                   __base: ::libc::c_int) -> ::libc::c_longlong;
    pub fn wcstoull(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t,
                    __base: ::libc::c_int) -> ::libc::c_ulonglong;
    pub fn wcpcpy(__dest: *mut wchar_t, __src: *const wchar_t)
     -> *mut wchar_t;
    pub fn wcpncpy(__dest: *mut wchar_t, __src: *const wchar_t, __n: size_t)
     -> *mut wchar_t;
    pub fn open_wmemstream(__bufloc: *mut *mut wchar_t,
                           __sizeloc: *mut size_t) -> *mut __FILE;
    pub fn fwide(__fp: *mut __FILE, __mode: ::libc::c_int) -> ::libc::c_int;
    pub fn fwprintf(__stream: *mut __FILE, __format: *const wchar_t, ...)
     -> ::libc::c_int;
    pub fn wprintf(__format: *const wchar_t, ...) -> ::libc::c_int;
    pub fn swprintf(__s: *mut wchar_t, __n: size_t,
                    __format: *const wchar_t, ...) -> ::libc::c_int;
    pub fn vfwprintf(__s: *mut __FILE, __format: *const wchar_t,
                     __arg: __gnuc_va_list) -> ::libc::c_int;
    pub fn vwprintf(__format: *const wchar_t, __arg: __gnuc_va_list)
     -> ::libc::c_int;
    pub fn vswprintf(__s: *mut wchar_t, __n: size_t, __format: *const wchar_t,
                     __arg: __gnuc_va_list) -> ::libc::c_int;
    pub fn fwscanf(__stream: *mut __FILE, __format: *const wchar_t, ...)
     -> ::libc::c_int;
    pub fn wscanf(__format: *const wchar_t, ...) -> ::libc::c_int;
    pub fn swscanf(__s: *const wchar_t, __format: *const wchar_t, ...)
     -> ::libc::c_int;
    pub fn vfwscanf(__s: *mut __FILE, __format: *const wchar_t,
                    __arg: __gnuc_va_list) -> ::libc::c_int;
    pub fn vwscanf(__format: *const wchar_t, __arg: __gnuc_va_list)
     -> ::libc::c_int;
    pub fn vswscanf(__s: *const wchar_t, __format: *const wchar_t,
                    __arg: __gnuc_va_list) -> ::libc::c_int;
    pub fn fgetwc(__stream: *mut __FILE) -> wint_t;
    pub fn getwc(__stream: *mut __FILE) -> wint_t;
    pub fn getwchar() -> wint_t;
    pub fn fputwc(__wc: wchar_t, __stream: *mut __FILE) -> wint_t;
    pub fn putwc(__wc: wchar_t, __stream: *mut __FILE) -> wint_t;
    pub fn putwchar(__wc: wchar_t) -> wint_t;
    pub fn fgetws(__ws: *mut wchar_t, __n: ::libc::c_int,
                  __stream: *mut __FILE) -> *mut wchar_t;
    pub fn fputws(__ws: *const wchar_t, __stream: *mut __FILE)
     -> ::libc::c_int;
    pub fn ungetwc(__wc: wint_t, __stream: *mut __FILE) -> wint_t;
    pub fn wcsftime(__s: *mut wchar_t, __maxsize: size_t,
                    __format: *const wchar_t, __tp: *const Struct_tm)
     -> size_t;
    pub fn TCOD_strdup(s: *const ::libc::c_char) -> *mut ::libc::c_char;
    pub fn TCOD_strcasecmp(s1: *const ::libc::c_char,
                           s2: *const ::libc::c_char) -> ::libc::c_int;
    pub fn TCOD_strncasecmp(s1: *const ::libc::c_char,
                            s2: *const ::libc::c_char, n: size_t)
     -> ::libc::c_int;
    pub fn TCOD_list_new() -> TCOD_list_t;
    pub fn TCOD_list_allocate(nb_elements: ::libc::c_int) -> TCOD_list_t;
    pub fn TCOD_list_duplicate(l: TCOD_list_t) -> TCOD_list_t;
    pub fn TCOD_list_delete(l: TCOD_list_t);
    pub fn TCOD_list_push(l: TCOD_list_t, elt: *const ::libc::c_void);
    pub fn TCOD_list_pop(l: TCOD_list_t) -> *mut ::libc::c_void;
    pub fn TCOD_list_peek(l: TCOD_list_t) -> *mut ::libc::c_void;
    pub fn TCOD_list_add_all(l: TCOD_list_t, l2: TCOD_list_t);
    pub fn TCOD_list_get(l: TCOD_list_t, idx: ::libc::c_int)
     -> *mut ::libc::c_void;
    pub fn TCOD_list_set(l: TCOD_list_t, elt: *const ::libc::c_void,
                         idx: ::libc::c_int);
    pub fn TCOD_list_begin(l: TCOD_list_t) -> *mut *mut ::libc::c_void;
    pub fn TCOD_list_end(l: TCOD_list_t) -> *mut *mut ::libc::c_void;
    pub fn TCOD_list_reverse(l: TCOD_list_t);
    pub fn TCOD_list_remove_iterator(l: TCOD_list_t,
                                     elt: *mut *mut ::libc::c_void)
     -> *mut *mut ::libc::c_void;
    pub fn TCOD_list_remove(l: TCOD_list_t, elt: *const ::libc::c_void);
    pub fn TCOD_list_remove_iterator_fast(l: TCOD_list_t,
                                          elt: *mut *mut ::libc::c_void)
     -> *mut *mut ::libc::c_void;
    pub fn TCOD_list_remove_fast(l: TCOD_list_t, elt: *const ::libc::c_void);
    pub fn TCOD_list_contains(l: TCOD_list_t, elt: *const ::libc::c_void)
     -> _bool;
    pub fn TCOD_list_clear(l: TCOD_list_t);
    pub fn TCOD_list_clear_and_delete(l: TCOD_list_t);
    pub fn TCOD_list_size(l: TCOD_list_t) -> ::libc::c_int;
    pub fn TCOD_list_insert_before(l: TCOD_list_t, elt: *const ::libc::c_void,
                                   before: ::libc::c_int)
     -> *mut *mut ::libc::c_void;
    pub fn TCOD_list_is_empty(l: TCOD_list_t) -> _bool;
    pub fn TCOD_color_RGB(r: uint8, g: uint8, b: uint8) -> TCOD_color_t;
    pub fn TCOD_color_HSV(h: ::libc::c_float, s: ::libc::c_float,
                          v: ::libc::c_float) -> TCOD_color_t;
    pub fn TCOD_color_equals(c1: TCOD_color_t, c2: TCOD_color_t) -> _bool;
    pub fn TCOD_color_add(c1: TCOD_color_t, c2: TCOD_color_t) -> TCOD_color_t;
    pub fn TCOD_color_subtract(c1: TCOD_color_t, c2: TCOD_color_t)
     -> TCOD_color_t;
    pub fn TCOD_color_multiply(c1: TCOD_color_t, c2: TCOD_color_t)
     -> TCOD_color_t;
    pub fn TCOD_color_multiply_scalar(c1: TCOD_color_t,
                                      value: ::libc::c_float) -> TCOD_color_t;
    pub fn TCOD_color_lerp(c1: TCOD_color_t, c2: TCOD_color_t,
                           coef: ::libc::c_float) -> TCOD_color_t;
    pub fn TCOD_color_set_HSV(c: *mut TCOD_color_t, h: ::libc::c_float,
                              s: ::libc::c_float, v: ::libc::c_float);
    pub fn TCOD_color_get_HSV(c: TCOD_color_t, h: *mut ::libc::c_float,
                              s: *mut ::libc::c_float,
                              v: *mut ::libc::c_float);
    pub fn TCOD_color_get_hue(c: TCOD_color_t) -> ::libc::c_float;
    pub fn TCOD_color_set_hue(c: *mut TCOD_color_t, h: ::libc::c_float);
    pub fn TCOD_color_get_saturation(c: TCOD_color_t) -> ::libc::c_float;
    pub fn TCOD_color_set_saturation(c: *mut TCOD_color_t,
                                     s: ::libc::c_float);
    pub fn TCOD_color_get_value(c: TCOD_color_t) -> ::libc::c_float;
    pub fn TCOD_color_set_value(c: *mut TCOD_color_t, v: ::libc::c_float);
    pub fn TCOD_color_shift_hue(c: *mut TCOD_color_t,
                                hshift: ::libc::c_float);
    pub fn TCOD_color_scale_HSV(c: *mut TCOD_color_t, scoef: ::libc::c_float,
                                vcoef: ::libc::c_float);
    pub fn TCOD_color_gen_map(map: *mut TCOD_color_t, nb_key: ::libc::c_int,
                              key_color: *const TCOD_color_t,
                              key_index: *const ::libc::c_int);
    pub fn TCOD_console_init_root(w: ::libc::c_int, h: ::libc::c_int,
                                  title: *const ::libc::c_char,
                                  fullscreen: _bool,
                                  renderer: TCOD_renderer_t);
    pub fn TCOD_console_set_window_title(title: *const ::libc::c_char);
    pub fn TCOD_console_set_fullscreen(fullscreen: _bool);
    pub fn TCOD_console_is_fullscreen() -> _bool;
    pub fn TCOD_console_is_window_closed() -> _bool;
    pub fn TCOD_console_has_mouse_focus() -> _bool;
    pub fn TCOD_console_is_active() -> _bool;
    pub fn TCOD_console_set_custom_font(fontFile: *const ::libc::c_char,
                                        flags: ::libc::c_int,
                                        nb_char_horiz: ::libc::c_int,
                                        nb_char_vertic: ::libc::c_int);
    pub fn TCOD_console_map_ascii_code_to_font(asciiCode: ::libc::c_int,
                                               fontCharX: ::libc::c_int,
                                               fontCharY: ::libc::c_int);
    pub fn TCOD_console_map_ascii_codes_to_font(asciiCode: ::libc::c_int,
                                                nbCodes: ::libc::c_int,
                                                fontCharX: ::libc::c_int,
                                                fontCharY: ::libc::c_int);
    pub fn TCOD_console_map_string_to_font(s: *const ::libc::c_char,
                                           fontCharX: ::libc::c_int,
                                           fontCharY: ::libc::c_int);
    pub fn TCOD_console_set_dirty(x: ::libc::c_int, y: ::libc::c_int,
                                  w: ::libc::c_int, h: ::libc::c_int);
    pub fn TCOD_console_set_default_background(con: TCOD_console_t,
                                               col: TCOD_color_t);
    pub fn TCOD_console_set_default_foreground(con: TCOD_console_t,
                                               col: TCOD_color_t);
    pub fn TCOD_console_clear(con: TCOD_console_t);
    pub fn TCOD_console_set_char_background(con: TCOD_console_t,
                                            x: ::libc::c_int,
                                            y: ::libc::c_int,
                                            col: TCOD_color_t,
                                            flag: TCOD_bkgnd_flag_t);
    pub fn TCOD_console_set_char_foreground(con: TCOD_console_t,
                                            x: ::libc::c_int,
                                            y: ::libc::c_int,
                                            col: TCOD_color_t);
    pub fn TCOD_console_set_char(con: TCOD_console_t, x: ::libc::c_int,
                                 y: ::libc::c_int, c: ::libc::c_int);
    pub fn TCOD_console_put_char(con: TCOD_console_t, x: ::libc::c_int,
                                 y: ::libc::c_int, c: ::libc::c_int,
                                 flag: TCOD_bkgnd_flag_t);
    pub fn TCOD_console_put_char_ex(con: TCOD_console_t, x: ::libc::c_int,
                                    y: ::libc::c_int, c: ::libc::c_int,
                                    fore: TCOD_color_t, back: TCOD_color_t);
    pub fn TCOD_console_set_background_flag(con: TCOD_console_t,
                                            flag: TCOD_bkgnd_flag_t);
    pub fn TCOD_console_get_background_flag(con: TCOD_console_t)
     -> TCOD_bkgnd_flag_t;
    pub fn TCOD_console_set_alignment(con: TCOD_console_t,
                                      alignment: TCOD_alignment_t);
    pub fn TCOD_console_get_alignment(con: TCOD_console_t)
     -> TCOD_alignment_t;
    pub fn TCOD_console_print(con: TCOD_console_t, x: ::libc::c_int,
                              y: ::libc::c_int,
                              fmt: *const ::libc::c_char, ...);
    pub fn TCOD_console_print_ex(con: TCOD_console_t, x: ::libc::c_int,
                                 y: ::libc::c_int, flag: TCOD_bkgnd_flag_t,
                                 alignment: TCOD_alignment_t,
                                 fmt: *const ::libc::c_char, ...);
    pub fn TCOD_console_print_rect(con: TCOD_console_t, x: ::libc::c_int,
                                   y: ::libc::c_int, w: ::libc::c_int,
                                   h: ::libc::c_int,
                                   fmt: *const ::libc::c_char, ...)
     -> ::libc::c_int;
    pub fn TCOD_console_print_rect_ex(con: TCOD_console_t, x: ::libc::c_int,
                                      y: ::libc::c_int, w: ::libc::c_int,
                                      h: ::libc::c_int,
                                      flag: TCOD_bkgnd_flag_t,
                                      alignment: TCOD_alignment_t,
                                      fmt: *const ::libc::c_char, ...)
     -> ::libc::c_int;
    pub fn TCOD_console_get_height_rect(con: TCOD_console_t, x: ::libc::c_int,
                                        y: ::libc::c_int, w: ::libc::c_int,
                                        h: ::libc::c_int,
                                        fmt: *const ::libc::c_char, ...)
     -> ::libc::c_int;
    pub fn TCOD_console_rect(con: TCOD_console_t, x: ::libc::c_int,
                             y: ::libc::c_int, w: ::libc::c_int,
                             h: ::libc::c_int, clear: _bool,
                             flag: TCOD_bkgnd_flag_t);
    pub fn TCOD_console_hline(con: TCOD_console_t, x: ::libc::c_int,
                              y: ::libc::c_int, l: ::libc::c_int,
                              flag: TCOD_bkgnd_flag_t);
    pub fn TCOD_console_vline(con: TCOD_console_t, x: ::libc::c_int,
                              y: ::libc::c_int, l: ::libc::c_int,
                              flag: TCOD_bkgnd_flag_t);
    pub fn TCOD_console_print_frame(con: TCOD_console_t, x: ::libc::c_int,
                                    y: ::libc::c_int, w: ::libc::c_int,
                                    h: ::libc::c_int, empty: _bool,
                                    flag: TCOD_bkgnd_flag_t,
                                    fmt: *const ::libc::c_char, ...);
    pub fn TCOD_console_map_string_to_font_utf(s: *const wchar_t,
                                               fontCharX: ::libc::c_int,
                                               fontCharY: ::libc::c_int);
    pub fn TCOD_console_print_utf(con: TCOD_console_t, x: ::libc::c_int,
                                  y: ::libc::c_int, fmt: *const wchar_t, ...);
    pub fn TCOD_console_print_ex_utf(con: TCOD_console_t, x: ::libc::c_int,
                                     y: ::libc::c_int,
                                     flag: TCOD_bkgnd_flag_t,
                                     alignment: TCOD_alignment_t,
                                     fmt: *const wchar_t, ...);
    pub fn TCOD_console_print_rect_utf(con: TCOD_console_t, x: ::libc::c_int,
                                       y: ::libc::c_int, w: ::libc::c_int,
                                       h: ::libc::c_int,
                                       fmt: *const wchar_t, ...)
     -> ::libc::c_int;
    pub fn TCOD_console_print_rect_ex_utf(con: TCOD_console_t,
                                          x: ::libc::c_int, y: ::libc::c_int,
                                          w: ::libc::c_int, h: ::libc::c_int,
                                          flag: TCOD_bkgnd_flag_t,
                                          alignment: TCOD_alignment_t,
                                          fmt: *const wchar_t, ...)
     -> ::libc::c_int;
    pub fn TCOD_console_get_height_rect_utf(con: TCOD_console_t,
                                            x: ::libc::c_int,
                                            y: ::libc::c_int,
                                            w: ::libc::c_int,
                                            h: ::libc::c_int,
                                            fmt: *const wchar_t, ...)
     -> ::libc::c_int;
    pub fn TCOD_console_get_default_background(con: TCOD_console_t)
     -> TCOD_color_t;
    pub fn TCOD_console_get_default_foreground(con: TCOD_console_t)
     -> TCOD_color_t;
    pub fn TCOD_console_get_char_background(con: TCOD_console_t,
                                            x: ::libc::c_int,
                                            y: ::libc::c_int) -> TCOD_color_t;
    pub fn TCOD_console_get_char_foreground(con: TCOD_console_t,
                                            x: ::libc::c_int,
                                            y: ::libc::c_int) -> TCOD_color_t;
    pub fn TCOD_console_get_char(con: TCOD_console_t, x: ::libc::c_int,
                                 y: ::libc::c_int) -> ::libc::c_int;
    pub fn TCOD_console_set_fade(val: uint8, fade: TCOD_color_t);
    pub fn TCOD_console_get_fade() -> uint8;
    pub fn TCOD_console_get_fading_color() -> TCOD_color_t;
    pub fn TCOD_console_flush();
    pub fn TCOD_console_set_color_control(con: TCOD_colctrl_t,
                                          fore: TCOD_color_t,
                                          back: TCOD_color_t);
    pub fn TCOD_console_check_for_keypress(flags: ::libc::c_int)
     -> TCOD_key_t;
    pub fn TCOD_console_wait_for_keypress(flush: _bool) -> TCOD_key_t;
    pub fn TCOD_console_set_keyboard_repeat(initial_delay: ::libc::c_int,
                                            interval: ::libc::c_int);
    pub fn TCOD_console_disable_keyboard_repeat();
    pub fn TCOD_console_is_key_pressed(key: TCOD_keycode_t) -> _bool;
    pub fn TCOD_console_from_file(filename: *const ::libc::c_char)
     -> TCOD_console_t;
    pub fn TCOD_console_load_asc(con: TCOD_console_t,
                                 filename: *const ::libc::c_char) -> _bool;
    pub fn TCOD_console_load_apf(con: TCOD_console_t,
                                 filename: *const ::libc::c_char) -> _bool;
    pub fn TCOD_console_save_asc(con: TCOD_console_t,
                                 filename: *const ::libc::c_char) -> _bool;
    pub fn TCOD_console_save_apf(con: TCOD_console_t,
                                 filename: *const ::libc::c_char) -> _bool;
    pub fn TCOD_console_new(w: ::libc::c_int, h: ::libc::c_int)
     -> TCOD_console_t;
    pub fn TCOD_console_get_width(con: TCOD_console_t) -> ::libc::c_int;
    pub fn TCOD_console_get_height(con: TCOD_console_t) -> ::libc::c_int;
    pub fn TCOD_console_set_key_color(con: TCOD_console_t, col: TCOD_color_t);
    pub fn TCOD_console_blit(src: TCOD_console_t, xSrc: ::libc::c_int,
                             ySrc: ::libc::c_int, wSrc: ::libc::c_int,
                             hSrc: ::libc::c_int, dst: TCOD_console_t,
                             xDst: ::libc::c_int, yDst: ::libc::c_int,
                             foreground_alpha: ::libc::c_float,
                             background_alpha: ::libc::c_float);
    pub fn TCOD_console_delete(console: TCOD_console_t);
    pub fn TCOD_console_credits();
    pub fn TCOD_console_credits_reset();
    pub fn TCOD_console_credits_render(x: ::libc::c_int, y: ::libc::c_int,
                                       alpha: _bool) -> _bool;
    pub fn TCOD_image_new(width: ::libc::c_int, height: ::libc::c_int)
     -> TCOD_image_t;
    pub fn TCOD_image_from_console(console: TCOD_console_t) -> TCOD_image_t;
    pub fn TCOD_image_refresh_console(image: TCOD_image_t,
                                      console: TCOD_console_t);
    pub fn TCOD_image_load(filename: *const ::libc::c_char) -> TCOD_image_t;
    pub fn TCOD_image_clear(image: TCOD_image_t, color: TCOD_color_t);
    pub fn TCOD_image_invert(image: TCOD_image_t);
    pub fn TCOD_image_hflip(image: TCOD_image_t);
    pub fn TCOD_image_rotate90(image: TCOD_image_t,
                               numRotations: ::libc::c_int);
    pub fn TCOD_image_vflip(image: TCOD_image_t);
    pub fn TCOD_image_scale(image: TCOD_image_t, neww: ::libc::c_int,
                            newh: ::libc::c_int);
    pub fn TCOD_image_save(image: TCOD_image_t,
                           filename: *const ::libc::c_char);
    pub fn TCOD_image_get_size(image: TCOD_image_t, w: *mut ::libc::c_int,
                               h: *mut ::libc::c_int);
    pub fn TCOD_image_get_pixel(image: TCOD_image_t, x: ::libc::c_int,
                                y: ::libc::c_int) -> TCOD_color_t;
    pub fn TCOD_image_get_alpha(image: TCOD_image_t, x: ::libc::c_int,
                                y: ::libc::c_int) -> ::libc::c_int;
    pub fn TCOD_image_get_mipmap_pixel(image: TCOD_image_t,
                                       x0: ::libc::c_float,
                                       y0: ::libc::c_float,
                                       x1: ::libc::c_float,
                                       y1: ::libc::c_float) -> TCOD_color_t;
    pub fn TCOD_image_put_pixel(image: TCOD_image_t, x: ::libc::c_int,
                                y: ::libc::c_int, col: TCOD_color_t);
    pub fn TCOD_image_blit(image: TCOD_image_t, console: TCOD_console_t,
                           x: ::libc::c_float, y: ::libc::c_float,
                           bkgnd_flag: TCOD_bkgnd_flag_t,
                           scalex: ::libc::c_float, scaley: ::libc::c_float,
                           angle: ::libc::c_float);
    pub fn TCOD_image_blit_rect(image: TCOD_image_t, console: TCOD_console_t,
                                x: ::libc::c_int, y: ::libc::c_int,
                                w: ::libc::c_int, h: ::libc::c_int,
                                bkgnd_flag: TCOD_bkgnd_flag_t);
    pub fn TCOD_image_blit_2x(image: TCOD_image_t, dest: TCOD_console_t,
                              dx: ::libc::c_int, dy: ::libc::c_int,
                              sx: ::libc::c_int, sy: ::libc::c_int,
                              w: ::libc::c_int, h: ::libc::c_int);
    pub fn TCOD_image_delete(image: TCOD_image_t);
    pub fn TCOD_image_set_key_color(image: TCOD_image_t,
                                    key_color: TCOD_color_t);
    pub fn TCOD_image_is_pixel_transparent(image: TCOD_image_t,
                                           x: ::libc::c_int, y: ::libc::c_int)
     -> _bool;
    pub fn TCOD_mouse_show_cursor(visible: _bool);
    pub fn TCOD_mouse_get_status() -> TCOD_mouse_t;
    pub fn TCOD_mouse_is_cursor_visible() -> _bool;
    pub fn TCOD_mouse_move(x: ::libc::c_int, y: ::libc::c_int);
    pub fn TCOD_mouse_includes_touch(enable: _bool);
    pub fn TCOD_sys_elapsed_milli() -> uint32;
    pub fn TCOD_sys_elapsed_seconds() -> ::libc::c_float;
    pub fn TCOD_sys_sleep_milli(val: uint32);
    pub fn TCOD_sys_save_screenshot(filename: *const ::libc::c_char);
    pub fn TCOD_sys_force_fullscreen_resolution(width: ::libc::c_int,
                                                height: ::libc::c_int);
    pub fn TCOD_sys_set_renderer(renderer: TCOD_renderer_t);
    pub fn TCOD_sys_get_renderer() -> TCOD_renderer_t;
    pub fn TCOD_sys_set_fps(val: ::libc::c_int);
    pub fn TCOD_sys_get_fps() -> ::libc::c_int;
    pub fn TCOD_sys_get_last_frame_length() -> ::libc::c_float;
    pub fn TCOD_sys_get_current_resolution(w: *mut ::libc::c_int,
                                           h: *mut ::libc::c_int);
    pub fn TCOD_sys_get_fullscreen_offsets(offx: *mut ::libc::c_int,
                                           offy: *mut ::libc::c_int);
    pub fn TCOD_sys_update_char(asciiCode: ::libc::c_int,
                                fontx: ::libc::c_int, fonty: ::libc::c_int,
                                img: TCOD_image_t, x: ::libc::c_int,
                                y: ::libc::c_int);
    pub fn TCOD_sys_get_char_size(w: *mut ::libc::c_int,
                                  h: *mut ::libc::c_int);
    pub fn TCOD_sys_get_SDL_window() -> *mut ::libc::c_void;
    pub fn TCOD_sys_wait_for_event(eventMask: ::libc::c_int,
                                   key: *mut TCOD_key_t,
                                   mouse: *mut TCOD_mouse_t, flush: _bool)
     -> TCOD_event_t;
    pub fn TCOD_sys_check_for_event(eventMask: ::libc::c_int,
                                    key: *mut TCOD_key_t,
                                    mouse: *mut TCOD_mouse_t) -> TCOD_event_t;
    pub fn TCOD_sys_create_directory(path: *const ::libc::c_char) -> _bool;
    pub fn TCOD_sys_delete_file(path: *const ::libc::c_char) -> _bool;
    pub fn TCOD_sys_delete_directory(path: *const ::libc::c_char) -> _bool;
    pub fn TCOD_sys_is_directory(path: *const ::libc::c_char) -> _bool;
    pub fn TCOD_sys_get_directory_content(path: *const ::libc::c_char,
                                          pattern: *const ::libc::c_char)
     -> TCOD_list_t;
    pub fn TCOD_sys_file_exists(filename: *const ::libc::c_char, ...)
     -> _bool;
    pub fn TCOD_sys_read_file(filename: *const ::libc::c_char,
                              buf: *mut *mut ::libc::c_uchar,
                              size: *mut size_t) -> _bool;
    pub fn TCOD_sys_write_file(filename: *const ::libc::c_char,
                               buf: *mut ::libc::c_uchar, size: uint32)
     -> _bool;
    pub fn TCOD_sys_clipboard_set(value: *const ::libc::c_char);
    pub fn TCOD_sys_clipboard_get() -> *const ::libc::c_char;
    pub fn TCOD_thread_new(func:
                               ::std::option::Option<extern "C" fn
                                                         (arg1:
                                                              *mut ::libc::c_void)
                                                         -> ::libc::c_int>,
                           data: *mut ::libc::c_void) -> TCOD_thread_t;
    pub fn TCOD_thread_delete(th: TCOD_thread_t);
    pub fn TCOD_sys_get_num_cores() -> ::libc::c_int;
    pub fn TCOD_thread_wait(th: TCOD_thread_t);
    pub fn TCOD_mutex_new() -> TCOD_mutex_t;
    pub fn TCOD_mutex_in(_mut: TCOD_mutex_t);
    pub fn TCOD_mutex_out(_mut: TCOD_mutex_t);
    pub fn TCOD_mutex_delete(_mut: TCOD_mutex_t);
    pub fn TCOD_semaphore_new(initVal: ::libc::c_int) -> TCOD_semaphore_t;
    pub fn TCOD_semaphore_lock(sem: TCOD_semaphore_t);
    pub fn TCOD_semaphore_unlock(sem: TCOD_semaphore_t);
    pub fn TCOD_semaphore_delete(sem: TCOD_semaphore_t);
    pub fn TCOD_condition_new() -> TCOD_cond_t;
    pub fn TCOD_condition_signal(sem: TCOD_cond_t);
    pub fn TCOD_condition_broadcast(sem: TCOD_cond_t);
    pub fn TCOD_condition_wait(sem: TCOD_cond_t, _mut: TCOD_mutex_t);
    pub fn TCOD_condition_delete(sem: TCOD_cond_t);
    pub fn TCOD_load_library(path: *const ::libc::c_char) -> TCOD_library_t;
    pub fn TCOD_get_function_address(library: TCOD_library_t,
                                     function_name: *const ::libc::c_char)
     -> *mut ::libc::c_void;
    pub fn TCOD_close_library(arg1: TCOD_library_t);
    pub fn TCOD_sys_register_SDL_renderer(renderer: SDL_renderer_t);
    pub fn TCOD_random_get_instance() -> TCOD_random_t;
    pub fn TCOD_random_new(algo: TCOD_random_algo_t) -> TCOD_random_t;
    pub fn TCOD_random_save(mersenne: TCOD_random_t) -> TCOD_random_t;
    pub fn TCOD_random_restore(mersenne: TCOD_random_t,
                               backup: TCOD_random_t);
    pub fn TCOD_random_new_from_seed(algo: TCOD_random_algo_t, seed: uint32)
     -> TCOD_random_t;
    pub fn TCOD_random_delete(mersenne: TCOD_random_t);
    pub fn TCOD_random_set_distribution(mersenne: TCOD_random_t,
                                        distribution: TCOD_distribution_t);
    pub fn TCOD_random_get_int(mersenne: TCOD_random_t, min: ::libc::c_int,
                               max: ::libc::c_int) -> ::libc::c_int;
    pub fn TCOD_random_get_float(mersenne: TCOD_random_t,
                                 min: ::libc::c_float, max: ::libc::c_float)
     -> ::libc::c_float;
    pub fn TCOD_random_get_double(mersenne: TCOD_random_t,
                                  min: ::libc::c_double,
                                  max: ::libc::c_double) -> ::libc::c_double;
    pub fn TCOD_random_get_int_mean(mersenne: TCOD_random_t,
                                    min: ::libc::c_int, max: ::libc::c_int,
                                    mean: ::libc::c_int) -> ::libc::c_int;
    pub fn TCOD_random_get_float_mean(mersenne: TCOD_random_t,
                                      min: ::libc::c_float,
                                      max: ::libc::c_float,
                                      mean: ::libc::c_float)
     -> ::libc::c_float;
    pub fn TCOD_random_get_double_mean(mersenne: TCOD_random_t,
                                       min: ::libc::c_double,
                                       max: ::libc::c_double,
                                       mean: ::libc::c_double)
     -> ::libc::c_double;
    pub fn TCOD_random_dice_new(s: *const ::libc::c_char) -> TCOD_dice_t;
    pub fn TCOD_random_dice_roll(mersenne: TCOD_random_t, dice: TCOD_dice_t)
     -> ::libc::c_int;
    pub fn TCOD_random_dice_roll_s(mersenne: TCOD_random_t,
                                   s: *const ::libc::c_char) -> ::libc::c_int;
    pub fn TCOD_line_init(xFrom: ::libc::c_int, yFrom: ::libc::c_int,
                          xTo: ::libc::c_int, yTo: ::libc::c_int);
    pub fn TCOD_line_step(xCur: *mut ::libc::c_int, yCur: *mut ::libc::c_int)
     -> _bool;
    pub fn TCOD_line(xFrom: ::libc::c_int, yFrom: ::libc::c_int,
                     xTo: ::libc::c_int, yTo: ::libc::c_int,
                     listener: TCOD_line_listener_t) -> _bool;
    pub fn TCOD_line_init_mt(xFrom: ::libc::c_int, yFrom: ::libc::c_int,
                             xTo: ::libc::c_int, yTo: ::libc::c_int,
                             data: *mut TCOD_bresenham_data_t);
    pub fn TCOD_line_step_mt(xCur: *mut ::libc::c_int,
                             yCur: *mut ::libc::c_int,
                             data: *mut TCOD_bresenham_data_t) -> _bool;
    pub fn TCOD_line_mt(xFrom: ::libc::c_int, yFrom: ::libc::c_int,
                        xTo: ::libc::c_int, yTo: ::libc::c_int,
                        listener: TCOD_line_listener_t,
                        data: *mut TCOD_bresenham_data_t) -> _bool;
    pub fn TCOD_noise_new(dimensions: ::libc::c_int, hurst: ::libc::c_float,
                          lacunarity: ::libc::c_float, random: TCOD_random_t)
     -> TCOD_noise_t;
    pub fn TCOD_noise_set_type(noise: TCOD_noise_t, _type: TCOD_noise_type_t);
    pub fn TCOD_noise_get_ex(noise: TCOD_noise_t, f: *mut ::libc::c_float,
                             _type: TCOD_noise_type_t) -> ::libc::c_float;
    pub fn TCOD_noise_get_fbm_ex(noise: TCOD_noise_t, f: *mut ::libc::c_float,
                                 octaves: ::libc::c_float,
                                 _type: TCOD_noise_type_t) -> ::libc::c_float;
    pub fn TCOD_noise_get_turbulence_ex(noise: TCOD_noise_t,
                                        f: *mut ::libc::c_float,
                                        octaves: ::libc::c_float,
                                        _type: TCOD_noise_type_t)
     -> ::libc::c_float;
    pub fn TCOD_noise_get(noise: TCOD_noise_t, f: *mut ::libc::c_float)
     -> ::libc::c_float;
    pub fn TCOD_noise_get_fbm(noise: TCOD_noise_t, f: *mut ::libc::c_float,
                              octaves: ::libc::c_float) -> ::libc::c_float;
    pub fn TCOD_noise_get_turbulence(noise: TCOD_noise_t,
                                     f: *mut ::libc::c_float,
                                     octaves: ::libc::c_float)
     -> ::libc::c_float;
    pub fn TCOD_noise_delete(noise: TCOD_noise_t);
    pub fn TCOD_map_new(width: ::libc::c_int, height: ::libc::c_int)
     -> TCOD_map_t;
    pub fn TCOD_map_clear(map: TCOD_map_t, transparent: _bool,
                          walkable: _bool);
    pub fn TCOD_map_copy(source: TCOD_map_t, dest: TCOD_map_t);
    pub fn TCOD_map_set_properties(map: TCOD_map_t, x: ::libc::c_int,
                                   y: ::libc::c_int, is_transparent: _bool,
                                   is_walkable: _bool);
    pub fn TCOD_map_delete(map: TCOD_map_t);
    pub fn TCOD_map_compute_fov(map: TCOD_map_t, player_x: ::libc::c_int,
                                player_y: ::libc::c_int,
                                max_radius: ::libc::c_int, light_walls: _bool,
                                algo: TCOD_fov_algorithm_t);
    pub fn TCOD_map_is_in_fov(map: TCOD_map_t, x: ::libc::c_int,
                              y: ::libc::c_int) -> _bool;
    pub fn TCOD_map_set_in_fov(map: TCOD_map_t, x: ::libc::c_int,
                               y: ::libc::c_int, fov: _bool);
    pub fn TCOD_map_is_transparent(map: TCOD_map_t, x: ::libc::c_int,
                                   y: ::libc::c_int) -> _bool;
    pub fn TCOD_map_is_walkable(map: TCOD_map_t, x: ::libc::c_int,
                                y: ::libc::c_int) -> _bool;
    pub fn TCOD_map_get_width(map: TCOD_map_t) -> ::libc::c_int;
    pub fn TCOD_map_get_height(map: TCOD_map_t) -> ::libc::c_int;
    pub fn TCOD_map_get_nb_cells(map: TCOD_map_t) -> ::libc::c_int;
    pub fn TCOD_path_new_using_map(map: TCOD_map_t,
                                   diagonalCost: ::libc::c_float)
     -> TCOD_path_t;
    pub fn TCOD_path_new_using_function(map_width: ::libc::c_int,
                                        map_height: ::libc::c_int,
                                        func: TCOD_path_func_t,
                                        user_data: *mut ::libc::c_void,
                                        diagonalCost: ::libc::c_float)
     -> TCOD_path_t;
    pub fn TCOD_path_compute(path: TCOD_path_t, ox: ::libc::c_int,
                             oy: ::libc::c_int, dx: ::libc::c_int,
                             dy: ::libc::c_int) -> _bool;
    pub fn TCOD_path_walk(path: TCOD_path_t, x: *mut ::libc::c_int,
                          y: *mut ::libc::c_int,
                          recalculate_when_needed: _bool) -> _bool;
    pub fn TCOD_path_is_empty(path: TCOD_path_t) -> _bool;
    pub fn TCOD_path_size(path: TCOD_path_t) -> ::libc::c_int;
    pub fn TCOD_path_reverse(path: TCOD_path_t);
    pub fn TCOD_path_get(path: TCOD_path_t, index: ::libc::c_int,
                         x: *mut ::libc::c_int, y: *mut ::libc::c_int);
    pub fn TCOD_path_get_origin(path: TCOD_path_t, x: *mut ::libc::c_int,
                                y: *mut ::libc::c_int);
    pub fn TCOD_path_get_destination(path: TCOD_path_t, x: *mut ::libc::c_int,
                                     y: *mut ::libc::c_int);
    pub fn TCOD_path_delete(path: TCOD_path_t);
    pub fn TCOD_dijkstra_new(map: TCOD_map_t, diagonalCost: ::libc::c_float)
     -> TCOD_dijkstra_t;
    pub fn TCOD_dijkstra_new_using_function(map_width: ::libc::c_int,
                                            map_height: ::libc::c_int,
                                            func: TCOD_path_func_t,
                                            user_data: *mut ::libc::c_void,
                                            diagonalCost: ::libc::c_float)
     -> TCOD_dijkstra_t;
    pub fn TCOD_dijkstra_compute(dijkstra: TCOD_dijkstra_t,
                                 root_x: ::libc::c_int,
                                 root_y: ::libc::c_int);
    pub fn TCOD_dijkstra_get_distance(dijkstra: TCOD_dijkstra_t,
                                      x: ::libc::c_int, y: ::libc::c_int)
     -> ::libc::c_float;
    pub fn TCOD_dijkstra_path_set(dijkstra: TCOD_dijkstra_t, x: ::libc::c_int,
                                  y: ::libc::c_int) -> _bool;
    pub fn TCOD_dijkstra_is_empty(path: TCOD_dijkstra_t) -> _bool;
    pub fn TCOD_dijkstra_size(path: TCOD_dijkstra_t) -> ::libc::c_int;
    pub fn TCOD_dijkstra_reverse(path: TCOD_dijkstra_t);
    pub fn TCOD_dijkstra_get(path: TCOD_dijkstra_t, index: ::libc::c_int,
                             x: *mut ::libc::c_int, y: *mut ::libc::c_int);
    pub fn TCOD_dijkstra_path_walk(dijkstra: TCOD_dijkstra_t,
                                   x: *mut ::libc::c_int,
                                   y: *mut ::libc::c_int) -> _bool;
    pub fn TCOD_dijkstra_delete(dijkstra: TCOD_dijkstra_t);
    pub fn TCOD_lex_new_intern() -> *mut TCOD_lex_t;
    pub fn TCOD_lex_new(symbols: *mut *const ::libc::c_char,
                        keywords: *mut *const ::libc::c_char,
                        simpleComment: *const ::libc::c_char,
                        commentStart: *const ::libc::c_char,
                        commentStop: *const ::libc::c_char,
                        javadocCommentStart: *const ::libc::c_char,
                        stringDelim: *const ::libc::c_char,
                        flags: ::libc::c_int) -> *mut TCOD_lex_t;
    pub fn TCOD_lex_delete(lex: *mut TCOD_lex_t);
    pub fn TCOD_lex_set_data_buffer(lex: *mut TCOD_lex_t,
                                    dat: *mut ::libc::c_char);
    pub fn TCOD_lex_set_data_file(lex: *mut TCOD_lex_t,
                                  filename: *const ::libc::c_char) -> _bool;
    pub fn TCOD_lex_parse(lex: *mut TCOD_lex_t) -> ::libc::c_int;
    pub fn TCOD_lex_parse_until_token_type(lex: *mut TCOD_lex_t,
                                           token_type: ::libc::c_int)
     -> ::libc::c_int;
    pub fn TCOD_lex_parse_until_token_value(lex: *mut TCOD_lex_t,
                                            token_value:
                                                *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn TCOD_lex_expect_token_type(lex: *mut TCOD_lex_t,
                                      token_type: ::libc::c_int) -> _bool;
    pub fn TCOD_lex_expect_token_value(lex: *mut TCOD_lex_t,
                                       token_type: ::libc::c_int,
                                       token_value: *const ::libc::c_char)
     -> _bool;
    pub fn TCOD_lex_savepoint(lex: *mut TCOD_lex_t, savept: *mut TCOD_lex_t);
    pub fn TCOD_lex_restore(lex: *mut TCOD_lex_t, savept: *mut TCOD_lex_t);
    pub fn TCOD_lex_get_last_javadoc(lex: *mut TCOD_lex_t)
     -> *mut ::libc::c_char;
    pub fn TCOD_lex_get_token_name(token_type: ::libc::c_int)
     -> *const ::libc::c_char;
    pub fn TCOD_lex_get_last_error() -> *mut ::libc::c_char;
    pub fn TCOD_lex_hextoint(c: ::libc::c_char) -> ::libc::c_int;
    pub fn TCOD_struct_get_name(def: TCOD_parser_struct_t)
     -> *const ::libc::c_char;
    pub fn TCOD_struct_add_property(def: TCOD_parser_struct_t,
                                    name: *const ::libc::c_char,
                                    _type: TCOD_value_type_t,
                                    mandatory: _bool);
    pub fn TCOD_struct_add_list_property(def: TCOD_parser_struct_t,
                                         name: *const ::libc::c_char,
                                         _type: TCOD_value_type_t,
                                         mandatory: _bool);
    pub fn TCOD_struct_add_value_list(def: TCOD_parser_struct_t,
                                      name: *const ::libc::c_char,
                                      value_list: *mut *const ::libc::c_char,
                                      mandatory: _bool);
    pub fn TCOD_struct_add_value_list_sized(def: TCOD_parser_struct_t,
                                            name: *const ::libc::c_char,
                                            value_list:
                                                *mut *const ::libc::c_char,
                                            size: ::libc::c_int,
                                            mandatory: _bool);
    pub fn TCOD_struct_add_flag(def: TCOD_parser_struct_t,
                                propname: *const ::libc::c_char);
    pub fn TCOD_struct_add_structure(def: TCOD_parser_struct_t,
                                     sub_structure: TCOD_parser_struct_t);
    pub fn TCOD_struct_is_mandatory(def: TCOD_parser_struct_t,
                                    propname: *const ::libc::c_char) -> _bool;
    pub fn TCOD_struct_get_type(def: TCOD_parser_struct_t,
                                propname: *const ::libc::c_char)
     -> TCOD_value_type_t;
    pub fn TCOD_parser_new() -> TCOD_parser_t;
    pub fn TCOD_parser_new_struct(parser: TCOD_parser_t,
                                  name: *mut ::libc::c_char)
     -> TCOD_parser_struct_t;
    pub fn TCOD_parser_new_custom_type(parser: TCOD_parser_t,
                                       custom_type_parser:
                                           TCOD_parser_custom_t)
     -> TCOD_value_type_t;
    pub fn TCOD_parser_run(parser: TCOD_parser_t,
                           filename: *const ::libc::c_char,
                           listener: *mut TCOD_parser_listener_t);
    pub fn TCOD_parser_delete(parser: TCOD_parser_t);
    pub fn TCOD_parser_error(msg: *const ::libc::c_char, ...);
    pub fn TCOD_parser_has_property(parser: TCOD_parser_t,
                                    name: *const ::libc::c_char) -> _bool;
    pub fn TCOD_parser_get_bool_property(parser: TCOD_parser_t,
                                         name: *const ::libc::c_char)
     -> _bool;
    pub fn TCOD_parser_get_char_property(parser: TCOD_parser_t,
                                         name: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn TCOD_parser_get_int_property(parser: TCOD_parser_t,
                                        name: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn TCOD_parser_get_float_property(parser: TCOD_parser_t,
                                          name: *const ::libc::c_char)
     -> ::libc::c_float;
    pub fn TCOD_parser_get_string_property(parser: TCOD_parser_t,
                                           name: *const ::libc::c_char)
     -> *const ::libc::c_char;
    pub fn TCOD_parser_get_color_property(parser: TCOD_parser_t,
                                          name: *const ::libc::c_char)
     -> TCOD_color_t;
    pub fn TCOD_parser_get_dice_property(parser: TCOD_parser_t,
                                         name: *const ::libc::c_char)
     -> TCOD_dice_t;
    pub fn TCOD_parser_get_dice_property_py(parser: TCOD_parser_t,
                                            name: *const ::libc::c_char,
                                            dice: *mut TCOD_dice_t);
    pub fn TCOD_parser_get_custom_property(parser: TCOD_parser_t,
                                           name: *const ::libc::c_char)
     -> *mut ::libc::c_void;
    pub fn TCOD_parser_get_list_property(parser: TCOD_parser_t,
                                         name: *const ::libc::c_char,
                                         _type: TCOD_value_type_t)
     -> TCOD_list_t;
    pub fn TCOD_parse_bool_value() -> TCOD_value_t;
    pub fn TCOD_parse_char_value() -> TCOD_value_t;
    pub fn TCOD_parse_integer_value() -> TCOD_value_t;
    pub fn TCOD_parse_float_value() -> TCOD_value_t;
    pub fn TCOD_parse_string_value() -> TCOD_value_t;
    pub fn TCOD_parse_color_value() -> TCOD_value_t;
    pub fn TCOD_parse_dice_value() -> TCOD_value_t;
    pub fn TCOD_parse_value_list_value(def: *mut TCOD_struct_int_t,
                                       listnum: ::libc::c_int)
     -> TCOD_value_t;
    pub fn TCOD_parse_property_value(parser: *mut TCOD_parser_int_t,
                                     def: TCOD_parser_struct_t,
                                     propname: *mut ::libc::c_char,
                                     list: _bool) -> TCOD_value_t;
    pub fn TCOD_tree_new() -> *mut TCOD_tree_t;
    pub fn TCOD_tree_add_son(node: *mut TCOD_tree_t, son: *mut TCOD_tree_t);
    pub fn TCOD_bsp_new() -> *mut TCOD_bsp_t;
    pub fn TCOD_bsp_new_with_size(x: ::libc::c_int, y: ::libc::c_int,
                                  w: ::libc::c_int, h: ::libc::c_int)
     -> *mut TCOD_bsp_t;
    pub fn TCOD_bsp_delete(node: *mut TCOD_bsp_t);
    pub fn TCOD_bsp_left(node: *const TCOD_bsp_t) -> *mut TCOD_bsp_t;
    pub fn TCOD_bsp_right(node: *const TCOD_bsp_t) -> *mut TCOD_bsp_t;
    pub fn TCOD_bsp_father(node: *const TCOD_bsp_t) -> *mut TCOD_bsp_t;
    pub fn TCOD_bsp_is_leaf(node: *const TCOD_bsp_t) -> _bool;
    pub fn TCOD_bsp_traverse_pre_order(node: *mut TCOD_bsp_t,
                                       listener: TCOD_bsp_callback_t,
                                       userData: *mut ::libc::c_void)
     -> _bool;
    pub fn TCOD_bsp_traverse_in_order(node: *mut TCOD_bsp_t,
                                      listener: TCOD_bsp_callback_t,
                                      userData: *mut ::libc::c_void) -> _bool;
    pub fn TCOD_bsp_traverse_post_order(node: *mut TCOD_bsp_t,
                                        listener: TCOD_bsp_callback_t,
                                        userData: *mut ::libc::c_void)
     -> _bool;
    pub fn TCOD_bsp_traverse_level_order(node: *mut TCOD_bsp_t,
                                         listener: TCOD_bsp_callback_t,
                                         userData: *mut ::libc::c_void)
     -> _bool;
    pub fn TCOD_bsp_traverse_inverted_level_order(node: *mut TCOD_bsp_t,
                                                  listener:
                                                      TCOD_bsp_callback_t,
                                                  userData:
                                                      *mut ::libc::c_void)
     -> _bool;
    pub fn TCOD_bsp_contains(node: *const TCOD_bsp_t, x: ::libc::c_int,
                             y: ::libc::c_int) -> _bool;
    pub fn TCOD_bsp_find_node(node: *const TCOD_bsp_t, x: ::libc::c_int,
                              y: ::libc::c_int) -> *mut TCOD_bsp_t;
    pub fn TCOD_bsp_resize(node: *mut TCOD_bsp_t, x: ::libc::c_int,
                           y: ::libc::c_int, w: ::libc::c_int,
                           h: ::libc::c_int);
    pub fn TCOD_bsp_split_once(node: *mut TCOD_bsp_t, horizontal: _bool,
                               position: ::libc::c_int);
    pub fn TCOD_bsp_split_recursive(node: *mut TCOD_bsp_t,
                                    randomizer: TCOD_random_t,
                                    nb: ::libc::c_int,
                                    minHSize: ::libc::c_int,
                                    minVSize: ::libc::c_int,
                                    maxHRatio: ::libc::c_float,
                                    maxVRatio: ::libc::c_float);
    pub fn TCOD_bsp_remove_sons(node: *mut TCOD_bsp_t);
    pub fn TCOD_heightmap_new(w: ::libc::c_int, h: ::libc::c_int)
     -> *mut TCOD_heightmap_t;
    pub fn TCOD_heightmap_delete(hm: *mut TCOD_heightmap_t);
    pub fn TCOD_heightmap_get_value(hm: *const TCOD_heightmap_t,
                                    x: ::libc::c_int, y: ::libc::c_int)
     -> ::libc::c_float;
    pub fn TCOD_heightmap_get_interpolated_value(hm: *const TCOD_heightmap_t,
                                                 x: ::libc::c_float,
                                                 y: ::libc::c_float)
     -> ::libc::c_float;
    pub fn TCOD_heightmap_set_value(hm: *mut TCOD_heightmap_t,
                                    x: ::libc::c_int, y: ::libc::c_int,
                                    value: ::libc::c_float);
    pub fn TCOD_heightmap_get_slope(hm: *const TCOD_heightmap_t,
                                    x: ::libc::c_int, y: ::libc::c_int)
     -> ::libc::c_float;
    pub fn TCOD_heightmap_get_normal(hm: *const TCOD_heightmap_t,
                                     x: ::libc::c_float, y: ::libc::c_float,
                                     n: *mut ::libc::c_float,
                                     waterLevel: ::libc::c_float);
    pub fn TCOD_heightmap_count_cells(hm: *const TCOD_heightmap_t,
                                      min: ::libc::c_float,
                                      max: ::libc::c_float) -> ::libc::c_int;
    pub fn TCOD_heightmap_has_land_on_border(hm: *const TCOD_heightmap_t,
                                             waterLevel: ::libc::c_float)
     -> _bool;
    pub fn TCOD_heightmap_get_minmax(hm: *const TCOD_heightmap_t,
                                     min: *mut ::libc::c_float,
                                     max: *mut ::libc::c_float);
    pub fn TCOD_heightmap_copy(hm_source: *const TCOD_heightmap_t,
                               hm_dest: *mut TCOD_heightmap_t);
    pub fn TCOD_heightmap_add(hm: *mut TCOD_heightmap_t,
                              value: ::libc::c_float);
    pub fn TCOD_heightmap_scale(hm: *mut TCOD_heightmap_t,
                                value: ::libc::c_float);
    pub fn TCOD_heightmap_clamp(hm: *mut TCOD_heightmap_t,
                                min: ::libc::c_float, max: ::libc::c_float);
    pub fn TCOD_heightmap_normalize(hm: *mut TCOD_heightmap_t,
                                    min: ::libc::c_float,
                                    max: ::libc::c_float);
    pub fn TCOD_heightmap_clear(hm: *mut TCOD_heightmap_t);
    pub fn TCOD_heightmap_lerp_hm(hm1: *const TCOD_heightmap_t,
                                  hm2: *const TCOD_heightmap_t,
                                  hmres: *mut TCOD_heightmap_t,
                                  coef: ::libc::c_float);
    pub fn TCOD_heightmap_add_hm(hm1: *const TCOD_heightmap_t,
                                 hm2: *const TCOD_heightmap_t,
                                 hmres: *mut TCOD_heightmap_t);
    pub fn TCOD_heightmap_multiply_hm(hm1: *const TCOD_heightmap_t,
                                      hm2: *const TCOD_heightmap_t,
                                      hmres: *mut TCOD_heightmap_t);
    pub fn TCOD_heightmap_add_hill(hm: *mut TCOD_heightmap_t,
                                   hx: ::libc::c_float, hy: ::libc::c_float,
                                   hradius: ::libc::c_float,
                                   hheight: ::libc::c_float);
    pub fn TCOD_heightmap_dig_hill(hm: *mut TCOD_heightmap_t,
                                   hx: ::libc::c_float, hy: ::libc::c_float,
                                   hradius: ::libc::c_float,
                                   hheight: ::libc::c_float);
    pub fn TCOD_heightmap_dig_bezier(hm: *mut TCOD_heightmap_t,
                                     px: *mut ::libc::c_int,
                                     py: *mut ::libc::c_int,
                                     startRadius: ::libc::c_float,
                                     startDepth: ::libc::c_float,
                                     endRadius: ::libc::c_float,
                                     endDepth: ::libc::c_float);
    pub fn TCOD_heightmap_rain_erosion(hm: *mut TCOD_heightmap_t,
                                       nbDrops: ::libc::c_int,
                                       erosionCoef: ::libc::c_float,
                                       sedimentationCoef: ::libc::c_float,
                                       rnd: TCOD_random_t);
    pub fn TCOD_heightmap_kernel_transform(hm: *mut TCOD_heightmap_t,
                                           kernelsize: ::libc::c_int,
                                           dx: *const ::libc::c_int,
                                           dy: *const ::libc::c_int,
                                           weight: *const ::libc::c_float,
                                           minLevel: ::libc::c_float,
                                           maxLevel: ::libc::c_float);
    pub fn TCOD_heightmap_add_voronoi(hm: *mut TCOD_heightmap_t,
                                      nbPoints: ::libc::c_int,
                                      nbCoef: ::libc::c_int,
                                      coef: *const ::libc::c_float,
                                      rnd: TCOD_random_t);
    pub fn TCOD_heightmap_mid_point_displacement(hm: *mut TCOD_heightmap_t,
                                                 rnd: TCOD_random_t,
                                                 roughness: ::libc::c_float);
    pub fn TCOD_heightmap_add_fbm(hm: *mut TCOD_heightmap_t,
                                  noise: TCOD_noise_t, mulx: ::libc::c_float,
                                  muly: ::libc::c_float,
                                  addx: ::libc::c_float,
                                  addy: ::libc::c_float,
                                  octaves: ::libc::c_float,
                                  delta: ::libc::c_float,
                                  scale: ::libc::c_float);
    pub fn TCOD_heightmap_scale_fbm(hm: *mut TCOD_heightmap_t,
                                    noise: TCOD_noise_t,
                                    mulx: ::libc::c_float,
                                    muly: ::libc::c_float,
                                    addx: ::libc::c_float,
                                    addy: ::libc::c_float,
                                    octaves: ::libc::c_float,
                                    delta: ::libc::c_float,
                                    scale: ::libc::c_float);
    pub fn TCOD_heightmap_islandify(hm: *mut TCOD_heightmap_t,
                                    seaLevel: ::libc::c_float,
                                    rnd: TCOD_random_t);
    pub fn TCOD_zip_new() -> TCOD_zip_t;
    pub fn TCOD_zip_delete(zip: TCOD_zip_t);
    pub fn TCOD_zip_put_char(zip: TCOD_zip_t, val: ::libc::c_char);
    pub fn TCOD_zip_put_int(zip: TCOD_zip_t, val: ::libc::c_int);
    pub fn TCOD_zip_put_float(zip: TCOD_zip_t, val: ::libc::c_float);
    pub fn TCOD_zip_put_string(zip: TCOD_zip_t, val: *const ::libc::c_char);
    pub fn TCOD_zip_put_color(zip: TCOD_zip_t, val: TCOD_color_t);
    pub fn TCOD_zip_put_image(zip: TCOD_zip_t, val: TCOD_image_t);
    pub fn TCOD_zip_put_console(zip: TCOD_zip_t, val: TCOD_console_t);
    pub fn TCOD_zip_put_data(zip: TCOD_zip_t, nbBytes: ::libc::c_int,
                             data: *const ::libc::c_void);
    pub fn TCOD_zip_get_current_bytes(zip: TCOD_zip_t) -> uint32;
    pub fn TCOD_zip_save_to_file(zip: TCOD_zip_t,
                                 filename: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn TCOD_zip_load_from_file(zip: TCOD_zip_t,
                                   filename: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn TCOD_zip_get_char(zip: TCOD_zip_t) -> ::libc::c_char;
    pub fn TCOD_zip_get_int(zip: TCOD_zip_t) -> ::libc::c_int;
    pub fn TCOD_zip_get_float(zip: TCOD_zip_t) -> ::libc::c_float;
    pub fn TCOD_zip_get_string(zip: TCOD_zip_t) -> *const ::libc::c_char;
    pub fn TCOD_zip_get_color(zip: TCOD_zip_t) -> TCOD_color_t;
    pub fn TCOD_zip_get_image(zip: TCOD_zip_t) -> TCOD_image_t;
    pub fn TCOD_zip_get_console(zip: TCOD_zip_t) -> TCOD_console_t;
    pub fn TCOD_zip_get_data(zip: TCOD_zip_t, nbBytes: ::libc::c_int,
                             data: *mut ::libc::c_void) -> ::libc::c_int;
    pub fn TCOD_zip_get_remaining_bytes(zip: TCOD_zip_t) -> uint32;
    pub fn TCOD_zip_skip_bytes(zip: TCOD_zip_t, nbBytes: uint32);
    pub fn TCOD_namegen_parse(filename: *const ::libc::c_char,
                              random: TCOD_random_t);
    pub fn TCOD_namegen_generate(name: *mut ::libc::c_char, allocate: _bool)
     -> *mut ::libc::c_char;
    pub fn TCOD_namegen_generate_custom(name: *mut ::libc::c_char,
                                        rule: *mut ::libc::c_char,
                                        allocate: _bool)
     -> *mut ::libc::c_char;
    pub fn TCOD_namegen_get_sets() -> TCOD_list_t;
    pub fn TCOD_namegen_destroy();
    pub fn TCOD_text_init(x: ::libc::c_int, y: ::libc::c_int,
                          w: ::libc::c_int, h: ::libc::c_int,
                          max_chars: ::libc::c_int) -> TCOD_text_t;
    pub fn TCOD_text_init2(w: ::libc::c_int, h: ::libc::c_int,
                           max_chars: ::libc::c_int) -> TCOD_text_t;
    pub fn TCOD_text_set_pos(txt: TCOD_text_t, x: ::libc::c_int,
                             y: ::libc::c_int);
    pub fn TCOD_text_set_properties(txt: TCOD_text_t,
                                    cursor_char: ::libc::c_int,
                                    blink_interval: ::libc::c_int,
                                    prompt: *const ::libc::c_char,
                                    tab_size: ::libc::c_int);
    pub fn TCOD_text_set_colors(txt: TCOD_text_t, fore: TCOD_color_t,
                                back: TCOD_color_t,
                                back_transparency: ::libc::c_float);
    pub fn TCOD_text_update(txt: TCOD_text_t, key: TCOD_key_t) -> _bool;
    pub fn TCOD_text_render(txt: TCOD_text_t, con: TCOD_console_t);
    pub fn TCOD_text_get(txt: TCOD_text_t) -> *const ::libc::c_char;
    pub fn TCOD_text_reset(txt: TCOD_text_t);
    pub fn TCOD_text_delete(txt: TCOD_text_t);
}