{"id":20381708,"url":"https://github.com/jacob-c-smith/g10","last_synced_at":"2025-04-12T08:53:12.594Z","repository":{"id":149625244,"uuid":"494689435","full_name":"Jacob-C-Smith/g10","owner":"Jacob-C-Smith","description":"Multithreaded game engine","archived":false,"fork":false,"pushed_at":"2024-12-18T15:22:32.000Z","size":6691,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-12T08:53:07.973Z","etag":null,"topics":["api","c","game-engine","json","systems-programming","vulkan"],"latest_commit_sha":null,"homepage":"https://g10.app","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/Jacob-C-Smith.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},"funding":{"github":"Jacob-C-Smith"}},"created_at":"2022-05-21T05:27:36.000Z","updated_at":"2024-12-17T05:58:02.000Z","dependencies_parsed_at":"2023-11-25T02:28:37.441Z","dependency_job_id":"81f62d7c-b432-47bd-a547-d6bd0a1cfee5","html_url":"https://github.com/Jacob-C-Smith/g10","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jacob-C-Smith%2Fg10","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jacob-C-Smith%2Fg10/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jacob-C-Smith%2Fg10/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jacob-C-Smith%2Fg10/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jacob-C-Smith","download_url":"https://codeload.github.com/Jacob-C-Smith/g10/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248543882,"owners_count":21121838,"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":["api","c","game-engine","json","systems-programming","vulkan"],"created_at":"2024-11-15T02:15:01.315Z","updated_at":"2025-04-12T08:53:12.576Z","avatar_url":"https://github.com/Jacob-C-Smith.png","language":"C","funding_links":["https://github.com/sponsors/Jacob-C-Smith"],"categories":[],"sub_categories":[],"readme":"# g10\n[![CMake](https://github.com/Jacob-C-Smith/g10/actions/workflows/cmake.yml/badge.svg)](https://github.com/Jacob-C-Smith/g10/actions/workflows/cmake.yml)\n\n**Dependencies:**\\\n[![array](https://github.com/Jacob-C-Smith/array/actions/workflows/cmake.yml/badge.svg?branch=main)](https://github.com/Jacob-C-Smith/array/actions/workflows/cmake.yml) [![hash-cache](https://github.com/Jacob-C-Smith/hash-cache/actions/workflows/cmake.yml/badge.svg)](https://github.com/Jacob-C-Smith/hash-cache/actions/workflows/cmake.yml) [![CMake](https://github.com/Jacob-C-Smith/circular-buffer/actions/workflows/cmake.yml/badge.svg)](https://github.com/Jacob-C-Smith/circular-buffer/actions/workflows/cmake.yml) [![dict](https://github.com/Jacob-C-Smith/dict/actions/workflows/cmake.yml/badge.svg)](https://github.com/Jacob-C-Smith/dict/actions/workflows/cmake.yml) [![http](https://github.com/Jacob-C-Smith/http/actions/workflows/cmake.yml/badge.svg)](https://github.com/Jacob-C-Smith/http/actions/workflows/cmake.yml) [![json](https://github.com/Jacob-C-Smith/json/actions/workflows/cmake.yml/badge.svg)](https://github.com/Jacob-C-Smith/json/actions/workflows/cmake.yml) [![log](https://github.com/Jacob-C-Smith/log/actions/workflows/cmake.yml/badge.svg)](https://github.com/Jacob-C-Smith/log/actions/workflows/cmake.yml) [![queue](https://github.com/Jacob-C-Smith/queue/actions/workflows/cmake.yml/badge.svg)](https://github.com/Jacob-C-Smith/queue/actions/workflows/cmake.yml) ![socket](https://github.com/Jacob-C-Smith/socket/actions/workflows/cmake.yml/badge.svg) [![stack](https://github.com/Jacob-C-Smith/stack/actions/workflows/cmake.yml/badge.svg)](https://github.com/Jacob-C-Smith/stack/actions/workflows/cmake.yml) [![sync](https://github.com/Jacob-C-Smith/sync/actions/workflows/cmake.yml/badge.svg)](https://github.com/Jacob-C-Smith/sync/actions/workflows/cmake.yml) [![tuple](https://github.com/Jacob-C-Smith/tuple/actions/workflows/cmake.yml/badge.svg)](https://github.com/Jacob-C-Smith/tuple/actions/workflows/cmake.yml) [![parallel](https://github.com/Jacob-C-Smith/parallel/actions/workflows/cmake.yml/badge.svg)](https://github.com/Jacob-C-Smith/parallel/actions/workflows/cmake.yml) [![web](https://github.com/Jacob-C-Smith/web/actions/workflows/cmake.yml/badge.svg)](https://github.com/Jacob-C-Smith/web/actions/workflows/cmake.yml)\n\n A cross platform, multithreaded game engine written in C. \n \n \u003e 1 [Download](#download)\n \u003e\n \u003e 2 [Build](#build)\n \u003e\n \u003e 3 [Example](#example)\n \u003e\n \u003e 4 [Tester](#tester)\n \u003e\n \u003e 5 [Definitions](#definitions)\n \u003e\n \u003e\u003e 5.1 [Type definitions](#type-definitions)\n \u003e\u003e\n \u003e\u003e 5.2 [Function definitions](#function-definitions)\n \u003e\u003e\n \u003e\u003e 5.3 [Macro definitions](#macro-definitinos)\n \u003e\u003e\n \u003e 6 [Manual](#manual)\n \u003e\n \u003e\u003e 6.0 [Table of contents](#topics)\n \u003e\u003e\n \u003e\u003e 6.1 [instance](#instance)\n \u003e\u003e\n \u003e\u003e 6.2 [user code](#user-code)\n\n ## Download\n To download g10, execute the following command\n ```bash\n $ git clone https://github.com/Jacob-C-Smith/g10\n ```\n ## Build\n To build on UNIX like machines, execute the following commands in the same directory\n ```bash\n $ cd g10\n $ git submodule update --init\n $ cmake .\n $ make\n ```\n  This will build the example program, and dynamic / shared libraries\n\n  To build g10 for Windows machines, open the base directory in Visual Studio, and build your desired target(s)\n ## Example\n **NOTE: If you are running the tester program on Windows, you may have to copy example files to the ```Debug``` or ```Release``` directories.**\n The example program parses the input file, and writes the parsed tokens to stdout. To run the example program, execute this command.\n ```\n ./g10_example \n ```\n [Source](main.c)\n \n ## Tester\n **NOTE: If you are running the tester program on Windows, you may have to copy the ```serial test cases``` and ```parse test cases``` directories to the ```Debug``` or ```Release``` directories.**\n\n To run the tester program, execute this command after building\n ```\n $ ./g10_test\n ```\n [Source](g10_test.c)\n \n [TODO: Tester output](.)\n ## Definitions\n \n ### Type definitions\n See [gtypedef](./include/g10/gtypedef.h)\n\n ### Function definitions\n See [g10 manual](./manual/manual.md)\n\n ### Macro definitions\n Macros change G10 at the build step. \n\n #### Debug\n | name                      | description                                          | \n |---------------------------|------------------------------------------------------| \n | BUILD_G10_WITH_ANSI_COLOR | true for color coded logs, false for no color coding | \n\n #### Version\n | name                      | description                                                      | \n |---------------------------|------------------------------------------------------------------| \n | G10_VERSION_MAJOR         | Different major versions introduce incompatible API changes      | \n | G10_VERSION_MINOR         | Different minor versions add backward compatible functionality   | \n | G10_VERSION_PATCH         | Different patch versions introduce backward compatible bug fixes | \n \n #### Window System Integration (mutually exclusive)\n | name                      | description                            | \n |---------------------------|----------------------------------------| \n | G10_BUILD_WITH_SDL2       | Use SDL2 for window system integration | \n | G10_BUILD_WITH_GLFW       | Use GLFW for window system integration | \n\n #### Graphics API (mutually exclusive)\n | name                      | description                 | \n |---------------------------|-----------------------------| \n | G10_BUILD_WITH_OPENGL     | Use OpenGL for graphics API | \n | G10_BUILD_WITH_VULKAN     | Use Vulkan for graphics API |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacob-c-smith%2Fg10","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacob-c-smith%2Fg10","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacob-c-smith%2Fg10/lists"}