{"id":19731373,"url":"https://github.com/clpsplug/playdate_util_libs","last_synced_at":"2025-07-26T09:06:23.484Z","repository":{"id":248206016,"uuid":"828069364","full_name":"Clpsplug/playdate_util_libs","owner":"Clpsplug","description":"My take at utility libraries for use in Playdate.","archived":false,"fork":false,"pushed_at":"2024-08-15T05:57:48.000Z","size":173,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"base","last_synced_at":"2025-01-10T17:53:41.261Z","etag":null,"topics":["playdate"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"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/Clpsplug.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support.cmake","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-13T03:28:54.000Z","updated_at":"2024-08-14T06:39:05.000Z","dependencies_parsed_at":"2024-07-13T04:39:08.798Z","dependency_job_id":"273bfc57-d8b8-4838-bed6-880e9cd4f159","html_url":"https://github.com/Clpsplug/playdate_util_libs","commit_stats":null,"previous_names":["clpsplug/playdate_util_libs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clpsplug%2Fplaydate_util_libs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clpsplug%2Fplaydate_util_libs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clpsplug%2Fplaydate_util_libs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clpsplug%2Fplaydate_util_libs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Clpsplug","download_url":"https://codeload.github.com/Clpsplug/playdate_util_libs/tar.gz/refs/heads/base","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241056367,"owners_count":19901770,"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":["playdate"],"created_at":"2024-11-12T00:20:38.778Z","updated_at":"2025-02-27T20:26:12.399Z","avatar_url":"https://github.com/Clpsplug.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Utility library bundle for Playdate\n\n## What's included\n\n* [Shorthand library](pd_shorthand/README.md)\n* [Text library](pd_text/README.md)\n* [Scene engine](scene_engine/README.md)\n\n## How to build / use\n\n### On macOS/Linux\n\nRun `install.sh` to get libraries for both device and simulator.\n\n### On Windows\n\nUntested, but you should be able to use cygwin to run the above.\n\nTODO: Add 'Windows' way to get the project running.\n\n### Documentation\n\nAfter building (see previous section), run `doxygen` at the root of this repository.\n\n### To use (include header, link libraries) the lib to the game\n\nAdd the following lines to your `CMakeLists.txt`, or adjust them if you already have those.\n\n```cmake\n# Having this repo as a submodule might help.\nset(UTIL_LIBS_PATH /path/to/playdate_util_libs)\n# Then include this cmake file to bulk-link the library.\ninclude(support.cmake)\nif (TOOLCHAIN STREQUAL \"armgcc\")\n    # Playdate build\n    add_executable(MyPlaydateGame main.c) # you may have more than main.c\n    # other stuff...\n    target_include_directories(MyPlaydateGame PRIVATE ${UTIL_LIBS_PATH}/include)\n    target_link_directories(MyPlaydateGame PRIVATE ${UTIL_LIBS_PATH}/lib)\n    target_link_libraries(MyPlaydateGame ${PD_UTILS_LIBS})\n    # more stuff...\nelse ()\n    # Simulator build\n    add_library(MyPlaydateSimGame main.c) # you may have more than main.c\n    # other stuff...\n    target_include_directories(MyPlaydateSimGame PRIVATE ${UTIL_LIBS_PATH}/include)\n    target_link_directories(MyPlaydateSimGame PRIVATE ${UTIL_LIBS_PATH}/lib)\n    # Append \"_Sim\" for simulator build.\n    target_link_libraries(MyPlaydateSimGame ${PD_UTILS_LIBS_SIM})\n    # more stuff...\nendif ()\n```\n\n### To access the features of this library\n\nThe easiest way is to include `pd_utils.h`.\nCall pdUtil_InitializeAll(void*) to initialize the library\nand pdUtil_FinalizeAll(void) to perform cleanup\nat `kEventInit` and `kEventTerminate` events, respectively.\n\n```c\n#include \u003cpd_utils.h\u003e\n\nint eventHandler(PlaydateAPI *pd, PDSystemEvent eventType, uint32_t arg) {\n    switch (eventType)\n    {\n        case kEventInit:\n            pdUtils_InitializeAll(pd);\n            break;\n        case kEventTerminate:\n            pdUtils_FinalizeAll();\n            break;\n    }\n}\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclpsplug%2Fplaydate_util_libs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclpsplug%2Fplaydate_util_libs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclpsplug%2Fplaydate_util_libs/lists"}