https://github.com/ncrashed/tcod-haskell
Haskell bindings to libtcod
https://github.com/ncrashed/tcod-haskell
haskell haskell-bindings libtcod
Last synced: 6 months ago
JSON representation
Haskell bindings to libtcod
- Host: GitHub
- URL: https://github.com/ncrashed/tcod-haskell
- Owner: NCrashed
- License: bsd-3-clause
- Created: 2017-08-06T21:38:16.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-12-19T22:40:54.000Z (about 6 years ago)
- Last Synced: 2025-06-10T04:07:07.341Z (7 months ago)
- Topics: haskell, haskell-bindings, libtcod
- Language: Haskell
- Size: 2.04 MB
- Stars: 5
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# 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