tcod-haskell: Bindings to libtcod roguelike engine

[ bsd3, game, library ] [ Propose Tags ]

Haskell bindings for popular library for making roguelike games


[Skip to Readme]
Versions [faq] 0.1.0.0, 0.2.0.0, 0.3.0.0
Change log CHANGELOG.md
Dependencies base (>=4.7 && <5), bytestring (==0.10.*), containers (>=0.5 && <0.7), inline-c (>=0.5 && <0.8), repa (==3.4.*), sdl2 (>=2.2 && <2.6), tcod-haskell, vector (==0.12.*) [details]
License BSD-3-Clause
Copyright 2017 Anton Gushcha
Author Anton Gushcha
Maintainer ncrashed@gmail.com
Category Game
Home page https://github.com/ncrashed/tcod-haskell#readme
Source repo head: git clone https://github.com/ncrashed/tcod-haskell
Uploaded by NCrashed at Thu Dec 19 22:38:32 UTC 2019
Distributions NixOS:0.3.0.0
Executables tcod-haskell-sample03, tcod-haskell-sample02, tcod-haskell-sample01
Downloads 1155 total (125 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2019-12-20 [all 2 reports]

Modules

  • Game
    • Game.TCOD
      • Game.TCOD.BSP
      • Game.TCOD.Bresenham
      • Game.TCOD.Color
      • Game.TCOD.Console
      • Game.TCOD.ConsoleTypes
      • Game.TCOD.Context
      • Game.TCOD.Fov
      • Game.TCOD.FovTypes
      • Game.TCOD.Heightmap
      • Game.TCOD.HeightmapInst
      • Game.TCOD.Image
      • Game.TCOD.List
      • Game.TCOD.Mersenne
      • Game.TCOD.MersenneTypes
      • Game.TCOD.Mouse
      • Game.TCOD.MouseTypes
      • Game.TCOD.NameGen
      • Game.TCOD.Noise
      • Game.TCOD.Path
      • Game.TCOD.System
      • Game.TCOD.Tree
      • Game.TCOD.Version

Flags

NameDescriptionDefaultType
examples

build engine examples

DisabledAutomatic
use-pkg-config

Use pkg-config to check for library dependences

EnabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for tcod-haskell-0.3.0.0

[back to package description]

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