# tcod-haskell These are midlevel bindings for [libtcod](https://bitbucket.org/libtcod/libtcod). # Compile Needed system libraries: - `autoconf` - `make` - `gcc` - `gcc-c++` - `alsa-lib-devel` - `audiofile-devel` - `mesa-libGL-devel` - `mesa-libGLU-devel` - `mesa-libEGL-devel` - `mesa-libGLES-devel` - `libXext-devel` - `libX11-devel` - `libXi-devel` - `libXrandr-devel` - `libXrender-devel` - `dbus-devel` - `libXScrnSaver-devel` - `libusb-devel` - `pulseaudio-libs-devel` - `libXinerama-devel` - `libXcursor-devel` - `systemd-devel` - `SDL2-devel` Steps: 1. Install `stack` or `cabal`+`GHC` from https://www.haskell.org/downloads 2. Install `libtcod` in your system (version `>= 1.8.2`). 3. Run `stack install --flags tcod-haskell:examples` or `cabal sandbox new && cabal install --flags=examples` 4. Run example `tcod-haskell-sample01` in root folder of repo (or copy `terminal.png` to execution directory). # Nix pipeline Steps: 1. Install [Nix](https://nixos.org/nix/) 2. Run `nix-build` 3. For interactive shell `nis-shell` 4. Run example in shell `cabal new-run --flag examples tcod-haskell-sample01` # Roadmap Binded headers: - [x] bresenham.h - [x] bsp.h - [x] color_types.h - [x] color.h - [x] console_types.h - [x] console.h - [x] fov_types.h - [x] fov.h - [x] heightmap.h - [x] image.h - [ ] lex.h - *not binding* as useless. - [ ] libtcod_int.h - *not binding* as useless. - [ ] libtcod_portability.h - *not binding* as useless. - [ ] libtcod_utility.h - *not binding* as useless. - [x] libtcod_version.h - [ ] libtcod.h - *not binding* as useless. - [x] list.h - [x] mersenne_types.h - [x] mersenne.h - [x] mouse_types.h - [x] mouse.h - [x] namegen.h - [x] noise_defaults.h - [x] noise.h - [x] path.h - [ ] parser.h - *not binding* as useless. - [x] sys.h - [x] tree.h - [ ] textfield.h - TODO - [ ] wrappers.h - *not binding* as useless. - [ ] zip.h - TODO - [ ] gui/*.h - TODO