NCrashed / tcod-haskell

Haskell bindings to libtcod

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tcod-haskell

These are midlevel bindings for 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
  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:

  • bresenham.h
  • bsp.h
  • color_types.h
  • color.h
  • console_types.h
  • console.h
  • fov_types.h
  • fov.h
  • heightmap.h
  • 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.
  • libtcod_version.h
  • libtcod.h - not binding as useless.
  • list.h
  • mersenne_types.h
  • mersenne.h
  • mouse_types.h
  • mouse.h
  • namegen.h
  • noise_defaults.h
  • noise.h
  • path.h
  • parser.h - not binding as useless.
  • sys.h
  • tree.h
  • textfield.h - TODO
  • wrappers.h - not binding as useless.
  • zip.h - TODO
  • gui/*.h - TODO

About

Haskell bindings to libtcod

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Haskell 98.3%Language:Nix 1.6%Language:Shell 0.1%