{"id":20105084,"url":"https://github.com/misyltoad/hl2-gamepadui","last_synced_at":"2025-04-12T12:13:04.118Z","repository":{"id":65816909,"uuid":"600579305","full_name":"misyltoad/HL2-GamepadUI","owner":"misyltoad","description":"Source code for GamepadUI for Half-Life 2 and friends.","archived":false,"fork":false,"pushed_at":"2024-07-10T02:16:18.000Z","size":30031,"stargazers_count":122,"open_issues_count":14,"forks_count":21,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-12T12:12:56.164Z","etag":null,"topics":[],"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/misyltoad.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}},"created_at":"2023-02-11T23:16:47.000Z","updated_at":"2025-04-05T20:41:26.000Z","dependencies_parsed_at":"2024-09-20T17:27:22.267Z","dependency_job_id":null,"html_url":"https://github.com/misyltoad/HL2-GamepadUI","commit_stats":null,"previous_names":["misyltoad/hl2-gamepadui"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/misyltoad%2FHL2-GamepadUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/misyltoad%2FHL2-GamepadUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/misyltoad%2FHL2-GamepadUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/misyltoad%2FHL2-GamepadUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/misyltoad","download_url":"https://codeload.github.com/misyltoad/HL2-GamepadUI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248565082,"owners_count":21125418,"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":[],"created_at":"2024-11-13T17:45:46.695Z","updated_at":"2025-04-12T12:13:04.094Z","avatar_url":"https://github.com/misyltoad.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Half-Life 2 GamepadUI\n\n## What is it?\n\nSource code for the Steam Deck GamepadUI I made used by Half-Life 2, Episode 1, Episode 2 and Portal 1.\n\nIt looks like this:\n\n![Image of Half-Life 2 main menu with GamepadUI](.assets/image.png)\n\nIt's definitely not the cleanest thing in existence, especially as it was pretty rushed for the Steam Deck launch. However, you may be able to get some use out of it.\n\n## What is here?\n\nProvided is the full GamepadUI code, as well as the .vpc projects to build it. Pre-built binaries for stock Source SDK 2013 are included as well (Windows only right now). \n\nThe UI can be enabled by adding `-gamepadui` to the startup parameters.\n\n## Compiling\n\nYou will need to add gamepadui for each game to your projects.vgc and groups.vgc for the Visual Studio, etc projects to be generated.\n\nAlso provided is a modified cdll_client_int.cpp with the modifications needed for GamepadUI stuff to work.\u003c/br\u003eCheck out the parts that reference GamepadUI and merge them into your codebase. You will also need to add a definition for GAMEPADUI somewhere in the preprocessor section of the client VPC script, to enable those edits. example: \n\n$PreprocessorDefinitions\t\t\"$BASE;GAMEPADUI\"\n\nLastly, the function PostMessageToAllSiblingsOfType will need to be re-enabled in Panel.h, by removing its associated #if 0 / #endif. Despite the code comment declaring otherwise, this function is safe to compile, and is necessary for GamepadUI to compile.\n\n## SDK 2013 Notes\n\nSDK 2013 by default does not have the modifications to the regular GameUI that were made that do things such as hide the main menu logo, or have the new loading screens. \u003c/br\u003e\nProvided in `game/bin` is a copy of GameUI for SDK 2013 with the modifications you can use, unfortunately the code for this cannot be provided.\n\n `IsSteamDeck()` currently returns a check for -gamepadui on the startup parameters. This can be modified as needed.\n\n## Credits\n\nSpecial thanks to Madi for taking my code and making it compile against SDK 2013.\u003c/br\u003e\nThanks to my friend Dan Smith for helping with getting some screenshots for the chapter art.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmisyltoad%2Fhl2-gamepadui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmisyltoad%2Fhl2-gamepadui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmisyltoad%2Fhl2-gamepadui/lists"}