{"id":17671780,"url":"https://github.com/ianw3214/oasis","last_synced_at":"2025-03-30T15:22:09.988Z","repository":{"id":103352916,"uuid":"113233136","full_name":"ianw3214/Oasis","owner":"ianw3214","description":"A game engine built with C++ using SDL and OpenGL.","archived":false,"fork":false,"pushed_at":"2022-04-20T05:21:13.000Z","size":6130,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-05T16:48:40.638Z","etag":null,"topics":["lib-sdl2","libsdl"],"latest_commit_sha":null,"homepage":"","language":"C++","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/ianw3214.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-05T21:07:56.000Z","updated_at":"2024-11-04T17:19:53.000Z","dependencies_parsed_at":"2023-07-07T21:01:04.759Z","dependency_job_id":null,"html_url":"https://github.com/ianw3214/Oasis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ianw3214%2FOasis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ianw3214%2FOasis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ianw3214%2FOasis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ianw3214%2FOasis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ianw3214","download_url":"https://codeload.github.com/ianw3214/Oasis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246335158,"owners_count":20760780,"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":["lib-sdl2","libsdl"],"created_at":"2024-10-24T03:43:26.062Z","updated_at":"2025-03-30T15:22:09.967Z","avatar_url":"https://github.com/ianw3214.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oasis\n\n***\n\n## Project setup\n\nFollow the [setup instructions here](setup.md).\n\n***\n\n## TODO\n\n- [x] Input Handling\n- [x] Integrate ImGui\n- [x] Basic Audio Engine Setup\n- [x] Text Rendering\n  - [x] Load different fonts\n- [x] Resource System for textures (Try to make extensible for other things as well)\n- [x] Renderer Draw Texture From Source\n- [x] Animated Sprites\n- [x] Setup application to be accessible from anywhere in code (singleton or manager class)\n- [ ] Make CMake generate more visual studio friendly project\n- [x] Add header for colour\n- [x] Add header for traps\n- [ ] Precompiled headers\n- [x] Smart Pointer/Reference headers\n  - [x] Get rid of smart pointers (I've decided I don't like them)\n- [ ] Convert fonts to use resource system\n- [ ] Convert shaders to use resource system\n- [x] Gamestate with layer system\n- [x] Implement custom dynamic cast for pointer classes\n- [x] Make sprite animation be based on timers\n- [x] Write better ImGui logic\n- [x] Use git submodules\n- [ ] Integrate FrameBuffer code\n- [ ] Logger\n- [ ] Profiler\n- [x] Console\n- [x] Sprite colour tinting\n- [x] Make origin consistent (decide on where it is and make sure code matches it)\n- [x] Handle resize events from SDL (still needs to be better)\n- [ ] UI System\n  - [x] Dynamic text\n  - [x] UI serializer\n    - [x] Automatically deserialize UI files in a certain folder\n  - [ ] UI editor\n  - [x] Buttons \u0026 UI Event system\n\n### Organization\n\n- [ ] Remove sandbox game from repository\n  - [ ] Update CMakelists so projects can have minimal CMakelists\n  - [ ] Setup sample game repository\n- [ ] Plan editor architecture\n  - [ ] Plan data driving game data\n\n## Optimizations\n\n- [ ] Draw entire string as one texture\n- [ ] Cache strings that don't change for text rendering\n- [ ] Cache strings for UI dynamic text","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fianw3214%2Foasis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fianw3214%2Foasis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fianw3214%2Foasis/lists"}