{"id":20402483,"url":"https://github.com/mathstuf/abagames-gunroar","last_synced_at":"2025-06-26T14:31:46.134Z","repository":{"id":15310816,"uuid":"18040729","full_name":"mathstuf/abagames-gunroar","owner":"mathstuf","description":"Modernization of gunroar (http://www.asahi-net.or.jp/~cs8k-cyu/windows/gr_e.html)","archived":false,"fork":false,"pushed_at":"2020-03-25T03:56:59.000Z","size":5639,"stargazers_count":8,"open_issues_count":4,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-05T01:45:02.665Z","etag":null,"topics":["abagames","games","gunroar"],"latest_commit_sha":null,"homepage":null,"language":"D","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mathstuf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-23T18:48:07.000Z","updated_at":"2025-02-28T04:06:08.000Z","dependencies_parsed_at":"2022-08-25T20:12:31.645Z","dependency_job_id":null,"html_url":"https://github.com/mathstuf/abagames-gunroar","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mathstuf/abagames-gunroar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathstuf%2Fabagames-gunroar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathstuf%2Fabagames-gunroar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathstuf%2Fabagames-gunroar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathstuf%2Fabagames-gunroar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mathstuf","download_url":"https://codeload.github.com/mathstuf/abagames-gunroar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathstuf%2Fabagames-gunroar/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262084675,"owners_count":23256286,"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","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":["abagames","games","gunroar"],"created_at":"2024-11-15T04:54:25.170Z","updated_at":"2025-06-26T14:31:46.067Z","avatar_url":"https://github.com/mathstuf.png","language":"D","funding_links":[],"categories":[],"sub_categories":[],"readme":"Gunroar\n=======\n\nA modernization of [gunroar][gunroar] so that it works with recent versions of\nits dependencies (OpenGL, SDL). Instead of the custom code originally used, the\n[Derelict][derelict] project is used instead.\n\nBuilding\n========\n\nBuilding this port requires a patched CMake with D support. The branch I am\nusing is on [my Github fork of CMake][cmake-d].\n\nFirst, I have only tested the project with the Ninja generator which requires\n[a branch][ninja-dmd] of Ninja so that the dependencies generated by the\ncompiler are understood by Ninja.\n\nPersonally, I use CMake-ified versions of the dependencies (use the `cmake`\nbranch of each repository):\n\n  * [`DerelictUtil`][derelictutil-cmake]\n  * [`DerelictSDL2`][derelictsdl2-cmake] (requires `DerelictUtil`)\n  * [`DerelictGL3`][derelictgl3-cmake] (requires `DerelictUtil`)\n  * [`gl3n`][gl3n-cmake]\n\nOnce these have been built (and ideally placed into a single root), gunroar may\nbe built. You'll likely need to set the cache variables to the proper paths\nsince the Find modules are not the most sophisticated.\n\nAs for compilers, I've been using the 2.064.2 release of [gdc][gdc] based on\n4.8. The 2.065 release should work as well, but has not been extensively\ntested.\n\nRunning\n=======\n\nCurrently, the binary must be run from the source directory (it is placed in\nthe `bin` directory of the build tree). Patches which address this limitation\nare welcome (and should support an installed version as well).\n\nAndroid\n=======\n\nBuilding for Android requires building a patched NDK toolchain with GDC\nsupport. LDC support has not been attempted.\n\nTo build a custom toolchain, get a [patched GDC][gdc-android] (only 4.9\nsupported at the moment), the [Android NDK][ndk] (only r9d has been tested so\nfar), and an [NDK toolchain build environment][ndk-build].\n\nOnce the toolchain sources have been downloaded, patch the GCC using GDC's\n`setup-gcc.sh` script to patch Android's GCC 4.9 sources. Then edit the NDK's\n`build-gcc.sh` script to add `--enable-languages=d` to the configure flags.\nCurrently, `android-13` is the target for the Android build, so that should be\nthe targeted platform when building the toolchain.\n\nOne change that I've needed to make for D support is to change the `ld` linker\nto point to `ld.bfd` instead of `ld.gold` due to `__data_start` being undefined\notherwise (it looks like a linker script is not executed when using `ld.gold`,\nbut only with GDC; GCC is fine).\n\nOnce the toolchain is built, build all of the required Derelict libraries\n(Util, SDL2, and GLES) configure a CMake build using a `CMAKE_TOOLCHAIN_FILE`\nargument pointing to a CMake script setting the compiler, linker, archiver,\netc. just built above. An example file is provided in the repository as\n`src/android/toolchain.cmake` which just needs a few variables set. SDL and\nSDL\\_mixer will be downloaded and built using the NDK.\n\n[gunroar]: http://www.asahi-net.or.jp/~cs8k-cyu/windows/gr_e.html\n[derelict]: https://github.com/DerelictOrg\n[cmake-d]: https://github.com/mathstuf/CMake/tree/d_support\n[ninja-dmd]: https://github.com/mathstuf/ninja/tree/dev/ldc-depfile-support\n[derelictutil-cmake]: https://github.com/mathstuf/DerelictUtil\n[derelictsdl2-cmake]: https://github.com/mathstuf/DerelictSDL2\n[derelictgl3-cmake]: https://github.com/mathstuf/DerelictGL3\n[gl3n-cmake]: https://github.com/mathstuf/gl3n\n[gdc]: http://gdcproject.org/downloads/\n[gdc-android]: https://github.com/mathstuf/GDC/tree/android/gdc-4.9\n[ndk]: https://developer.android.com/tools/sdk/ndk/index.html\n[ndk-build]: http://recursify.com/blog/2013/08/08/building-an-android-ndk-toolchain\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathstuf%2Fabagames-gunroar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmathstuf%2Fabagames-gunroar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathstuf%2Fabagames-gunroar/lists"}