• Stars
    star
    107
  • Rank 322,404 (Top 7 %)
  • Language
    C++
  • License
    MIT License
  • Created over 1 year ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Source code for GamepadUI for Half-Life 2 and friends.

Half-Life 2 GamepadUI

What is it?

Source code for the Steam Deck GamepadUI I made used by Half-Life 2, Episode 1, Episode 2 and Portal 1.

It looks like this:

Image of Half-Life 2 main menu with GamepadUI

It'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.

What is here?

Provided 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).

The UI can be enabled by adding -gamepadui to the startup parameters.

Compiling

You will need to add gamepadui for each game to your projects.vgc and groups.vgc for the Visual Studio, etc projects to be generated.

Also provided is a modified cdll_client_int.cpp with the modifications needed for GamepadUI stuff to work.
Check 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:

$PreprocessorDefinitions "$BASE;GAMEPADUI"

Lastly, 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.

SDK 2013 Notes

SDK 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.
Provided 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.

IsSteamDeck() currently returns a check for -gamepadui on the startup parameters. This can be modified as needed.

Credits

Special thanks to Madi for taking my code and making it compile against SDK 2013.
Thanks to my friend Dan Smith for helping with getting some screenshots for the chapter art.

More Repositories

1

VPhysics-Jolt

Volt (VPhysics Jolt) is a replacement physics module for the Source Engine.
C++
1,207
star
2

d9vk

A Direct3D9 to Vulkan layer using the DXVK backend. [Upstreamed to DXVK]
C++
833
star
3

dxvk-native

D3D9/11 but it runs natively on Linux!
C++
404
star
4

dxup

A d3d9 and d3d10 to d3d11 translation layer.
C++
256
star
5

Source-PlusPlus

C++
80
star
6

neun-auf-zwoelf

D3D9 wrapper library using Microsoft's D3D9On12 implementation
C++
73
star
7

vkroots

A stupid simple method of making Vulkan layers, at home!
C++
68
star
8

riscv-vscript

A port of mini-rv32ima to VScript (Squirrel 3)
Squirrel
52
star
9

mini-source-sdk

A minified version of Source SDK with support for VS 2022
C++
39
star
10

VAudio-MiniMP3

Replacement MP3 playback module for the Source Engine
C
32
star
11

protongdb

Little helper to run Steam apps under Proton with a GDB debugger
Python
24
star
12

libjobs

A cross-platform, header-only compute-shader-styled job dispatching API written in C++.
C++
20
star
13

frog_utf

Single file C header for UTF-x-to-y conversions + helpers
C
12
star
14

msvc-msbuild-wine-docker

Has MSVC + MSBuild run via Wine in a Linux docker container
Dockerfile
12
star
15

AceOfFrogs

C
9
star
16

arch-mingw-github-action

This action provides a build setup for MinGW-based projects on Arch Linux.
Dockerfile
9
star
17

mingw-directx-headers

A copy of the DirectX Headers from MinGW-64.
C
8
star
18

GamescopeShaders

HLSL
7
star
19

Shadey

A Discord bot that runs shaders
C++
7
star
20

VkLayer_FOOL_printed_surface_cups

An implementation of VK_FOOL_printed_surface
C++
6
star
21

simple_notif_daemon

A simple notification daemon that prints to stdout.
C
5
star
22

minigpt4_docker

A docker container for minigpt4.cpp
Dockerfile
5
star
23

Dolphins

The classic Xbox demo ported to D3D11 Win32
C++
5
star
24

NoiseFrog

An open source plugin and gui for real-time noise cancellation using rnnoise
C++
5
star
25

libvtf-plusplus

C++
5
star
26

SocialLife

Pls fix
4
star
27

SteamworksItemManagementUtility

Allows you to add items to a player via a button in a Tampermonkey userscript.
JavaScript
4
star
28

dxvk-native-sample

C++
4
star
29

website

HolyC
4
star
30

d9vr

C++
4
star
31

quick_kernel_dev_guide

4
star
32

arch-linux-virtio-example

Shell
3
star
33

libvpk-plusplus

C++
3
star
34

maps_creator

Creates texture maps for PBRStandard shader
C
3
star
35

TheGuin2

A Discord bot that isn't terribly made.
C#
3
star
36

TheGuin3

TheGuin3
C#
2
star
37

hexheader

Creates a hexdump of a file to a c header.
C
2
star
38

Containment

Fancy macro containers for C
C
2
star
39

VisualStudio-RegKeys-VPC

Visual Studio project template registry keys to allow VPC to generate sln files when only having a newer platform toolset
2
star
40

libtxc_dxtn-cmake

C
2
star
41

mesa

wip mesa shit by me
C
2
star
42

sdl-touch-test

CMake
2
star
43

jgui

C
2
star
44

gitgud

A little wrapper for git that simplifies some otherwise relatively complex operations
Rust
2
star
45

Image2Shader

Convert images to shaders!
Python
2
star
46

Checkmate

2
star
47

libvpk

C
2
star
48

SteamIconGetter

Get the high resolution .ico file for any public appid
C#
2
star
49

WorkshopItemParser

A little class to extract workshop item data
C#
2
star
50

Fundamental

C
2
star
51

gamescope-type

C
2
star
52

Keychron-Q4-Pro-AnnePro2StyleLayout

2
star
53

frog_hashmap

Single file C header for a decent hashmap implementation
C
2
star
54

Mandelbro

C
1
star
55

what-is-stdout-anyway

What actually is stdout anyway?
C
1
star
56

Vegan-Frogs-from-Outer-Space

Code and resources to NONAGON's Frog Jam 2017 entry.
JavaScript
1
star
57

lookout-docker

1
star
58

Imperative

C++
1
star
59

PointerHelpers

C++
1
star
60

wine-whatever-pkgbuild

Shell
1
star
61

ladspa-sdk

C
1
star
62

DumpWindowStyles

Decodes regular int of window styles -> flags
C
1
star
63

Spirit

A cross-platform 2D game engine using BGFX
1
star
64

ShadeyShadingLanguage

1
star
65

jenkins-steamruntime

1
star
66

ranae

C++
1
star
67

Noticord

Go
1
star
68

Ephemeral

A high-resolution cross-platform time library in C that supports sleeping and "clocks" that can be used to tell you if a certain time has passed since its start.
C
1
star
69

RegistryTweaks

Batchfile
1
star
70

source-2013-jenkinsfile

1
star
71

Win8-Initial-Setup-Script

1
star
72

ktest

C
1
star
73

Toad

A very silly 2D Vulkan engine
1
star
74

sphaera

1
star
75

redgpu

1
star
76

blade-symphony-docker

Shell
1
star
77

Broton

Build Proton in Pressure-Vessel
Shell
1
star
78

Collision

C Crash Handler
C
1
star
79

glfw_extensions

C
1
star
80

Gitea-Black-NONAGON

CSS
1
star
81

git-reflector

Mirror two git repos via a webhook server (useful for Gitlab!)
Lua
1
star
82

steamvr-room-setup-unrestricted

A modded version of the SteamVR Room Setup to remove the size limitations for a minimal play space that exist for absolutely no reason!
1
star