{"id":15785148,"url":"https://github.com/vonhoff/cstilenginepure","last_synced_at":"2025-10-16T00:30:32.888Z","repository":{"id":42000921,"uuid":"474257355","full_name":"vonhoff/CsTilenginePure","owner":"vonhoff","description":"C#/Mono 1:1 API binding for Tilengine 2D retro graphics engine v2.11.0 and above.","archived":true,"fork":false,"pushed_at":"2022-10-16T11:50:37.000Z","size":713,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-19T06:09:54.409Z","etag":null,"topics":["binding","csharp","game-development","retro","sdl2","tilengine","wrapper"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vonhoff.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}},"created_at":"2022-03-26T06:00:12.000Z","updated_at":"2024-02-08T19:45:18.000Z","dependencies_parsed_at":"2022-08-06T09:16:32.234Z","dependency_job_id":null,"html_url":"https://github.com/vonhoff/CsTilenginePure","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vonhoff/CsTilenginePure","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vonhoff%2FCsTilenginePure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vonhoff%2FCsTilenginePure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vonhoff%2FCsTilenginePure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vonhoff%2FCsTilenginePure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vonhoff","download_url":"https://codeload.github.com/vonhoff/CsTilenginePure/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vonhoff%2FCsTilenginePure/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279132437,"owners_count":26110562,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"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":["binding","csharp","game-development","retro","sdl2","tilengine","wrapper"],"created_at":"2024-10-04T20:21:17.768Z","updated_at":"2025-10-16T00:30:32.568Z","avatar_url":"https://github.com/vonhoff.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Logo](Logo.png)\n\n# CsTilenginePure\nCsTilenginePure is an alternative C# binding for [Tilengine](https://github.com/megamarc/Tilengine). \nIt is a direct 1:1 API translation of the original C library, so it is used and works exactly as its C counterpart. \nThe naming schemes for this library will match those of the C library, with little-to-no concern for the standard C# style. \nEverything else will be as close to the C version as technically possible.\n\n## Contents\n* The ```src/``` directory contains the single `Tilengine.cs` module with the binding itself.\n\n## Prerequisites\nYou will need to install the Tilengine native shared library separately. You can find instructions on how to do so at https://github.com/megamarc/Tilengine.\n\n### Windows\n.NET Framework 2.0 or later must be installed\n\n### Linux/OSX\nMono tools and runtime must be installed. In Debian-based distros please execute the following command:\n```\nsudo apt-get install mono-mcs\n```\n\n## Installation\nThe C# binding for SDL2 is required. This binding is included as a submodule for this repository.\n\nYou have to make sure that `SDL2.cs` and `Tilengine.cs` are accessible from within your own project. This could be done by creating a submodule of this repository for your project with the recursive parameter set to true.\n\nAlternatively, you could add the project in this repository as a reference to your project.\n\n## Samples\nThe samples for this binding have been moved to its own repository to prevent multiple ```Main``` methods from interfering when using this binding as a submodule. \n\nThese samples are now located at https://github.com/vonhoff/CsTilenginePure.Samples.\n\n## Basic program\nThe following program requires assets from the [Platfomer sample](https://github.com/vonhoff/CsTilenginePure.Samples/tree/main/src/Platformer/assets). You need to include this directory in your binary folder to get the desired result.\n\nThe program does the following actions:\n1. Initializes the engine with a resolution of 400x240, one layer, no sprites, and 20 animation slots.\n2. Sets the loading path to the assets folder.\n3. Loads a tilemap, which is an asset that contains background layer data.\n4. Attaches the loaded tilemap to the allocated background layer.\n5. Creates a display window with default parameters: windowed, auto scale, and CRT effect enabled.\n6. Runs the window loop, updating the display at each iteration until the window is closed.\n\nSource code:\n```csharp\nusing static Tilengine.TLN;\n\npublic class Test\n{\n    public static void Main(string[] args)\n    {\n        TLN_Init(400, 240, 2, 1, 1);\n        TLN_SetLoadPath(\"assets\");\n        var foreground = TLN_LoadTilemap(\"Sonic_md_fg1.tmx\", null);\n        TLN_SetLayerTilemap(0, foreground);\n\n        TLN_CreateWindow(null, TLN_CreateWindowFlags.CWF_VSYNC);\n        while (TLN_ProcessWindow())\n        {\n            TLN_DrawFrame(0);\n        }\n    }\n}\n```\n\nResulting output:\n\n![Test](test.png)\n\n## License\n- Copyright \u0026copy; 2022 Simon Vonhoff \u0026 Contributors - Provided under the permissive [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvonhoff%2Fcstilenginepure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvonhoff%2Fcstilenginepure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvonhoff%2Fcstilenginepure/lists"}