MyNixOS website logo
Description

Bindings to libtcod roguelike engine.

Haskell bindings for popular library for making roguelike games

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:

  • [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.
Metadata

Version

0.3.0.0

Platforms (21)

    Linux
Show all
  • aarch64-linux
  • armv5tel-linux
  • armv6l-linux
  • armv7a-linux
  • armv7l-linux
  • i686-linux
  • loongarch64-linux
  • m68k-linux
  • microblaze-linux
  • microblazeel-linux
  • mips-linux
  • mips64-linux
  • mips64el-linux
  • mipsel-linux
  • powerpc64-linux
  • powerpc64le-linux
  • riscv32-linux
  • riscv64-linux
  • s390-linux
  • s390x-linux
  • x86_64-linux