{"id":18497566,"url":"https://github.com/csb6/libtcod-ada","last_synced_at":"2026-01-22T05:33:47.248Z","repository":{"id":115656320,"uuid":"384600037","full_name":"csb6/libtcod-ada","owner":"csb6","description":"An Ada binding for the libtcod rougelike library","archived":false,"fork":false,"pushed_at":"2024-09-10T02:48:42.000Z","size":1506,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-17T00:21:09.517Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ada","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/csb6.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-10T03:17:11.000Z","updated_at":"2023-10-16T22:12:42.000Z","dependencies_parsed_at":"2024-09-10T06:08:22.503Z","dependency_job_id":null,"html_url":"https://github.com/csb6/libtcod-ada","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/csb6/libtcod-ada","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csb6%2Flibtcod-ada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csb6%2Flibtcod-ada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csb6%2Flibtcod-ada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csb6%2Flibtcod-ada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/csb6","download_url":"https://codeload.github.com/csb6/libtcod-ada/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csb6%2Flibtcod-ada/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28656289,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T13:34:56.250Z","updated_at":"2026-01-22T05:33:47.231Z","avatar_url":"https://github.com/csb6.png","language":"Ada","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Libtcod-Ada\n\nThis is an Ada binding for [libtcod 1.18.1](https://github.com/libtcod/libtcod). Libtcod\nis a library used in many rougelike games. It includes lots of useful functionality,\nsuch as field of view calculation, pathfinding, and graphics.\n\nThis is a thick binding to the library, meaning that the API is Ada-like and not a minimal\nwrapper around the C functions (for example, most uses of pointers are hidden on the Ada side).\nHowever, there is mostly a one-to-one correspondence between the C functions and the\nAda functions/procedures.\n\nAda features such as strong typing, controlled types, and exceptions are used to reduce\nchances for error and to make the library more familiar to use. No explicit memory\nallocation/freeing is necessary; controlled types will handle cleanup automatically.\n\nA couple of demo programs are included within the `demo` directory.\n\n## Current Features\n\n- Console functions (drawing to the screen, setting tiles/colors, etc.)\n- Input functions (reading from keyboard, handling input events)\n- Field of view\n- Pathfinding\n- Binary space partitioning (used for dungeon generation algorithms)\n- Line drawing\n- Clipboard\n\nAll features should work on any supported platform.\n\n## Building\n\n### Dependencies\n\nBuilding this library requires a few dependencies to be installed on your system:\n\n- The [Alire](https://alire.ada.dev) package manager/build tool\n- a GNAT compiler toolchain that supports Ada 2012. This should be easily\ninstallable from Alire.\n- SDL2\n- zlib (practically every Unix-like OS should already have this installed)\n\nNote that the libtcod library itself **does not** have to be installed. A copy of the libtcod\nsource code is embedded in this repository. The build system that handles building\nthe bindings will handle building a copy libtcod as well and do all of the\nwork of linking it into a single static library.\n\nIf you have a version of Libtcod installed on your system, these bindings will\nnot use it or interfere with it.\n\nMake sure that the SDL2 and zlib's header and library files are reachable\nfrom your PATH so that they are accessible to the Ada compiler.\n\n### Build command\n\nTo build, enter the root directory of the repository and run:\n\n```\nalr build\n```\n\nAfter building, a static library will be found in the `lib/libtcod_ada` \ndirectory, while the example programs `keys` and `tutorial`\nwill located in the `obj` directory. You can then run them from the root\ndirectory of this repository like so:\n\n```\nobj/keys\n```\n\nand\n\n```\nobj/tutorial\n```\n\n## License\n\nThis binding is licensed under the BSD-3 License, the same license used by libtcod. Please\nsee the libtcod documentation (located in the `third_party/libtcod` directory) for more information\nabout libtcod's licensing/contributors.\n\nThis binding is not an official binding of the libtcod project or written by the authors\nof libtcod.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsb6%2Flibtcod-ada","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcsb6%2Flibtcod-ada","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsb6%2Flibtcod-ada/lists"}