#+title: Half-Life cheat
#+options: toc:nil
#+startup: showeverything
#+author: 8dcc

*Linux cheat for Half-Life 1 (and goldsrc).*

#+TOC: headlines 2

* Description
Simple linux cheat for Half-Life 1 (and most /goldsrc/ games) made in C.

This project was heavily inspired by [[https://github.com/UnkwUsr/hlhax][UnkwUsr/hlhax]], and would not have been
possible without his help. Make sure to check out his repo too.

Also make sure to check out [[https://github.com/deboogerxyz/ahc][deboogerxyz/ahc]].

* Features

| Feature    | Command       | Values (0..n)          |
|------------+---------------+------------------------|
| Bhop       | =cv_bhop=       | off/on                 |
| ESP        | =cv_esp=        | off/3d-box/name/all    |
| Autostrafe | =sv_autostrafe= | off/rage/legit         |
| Chams      | =cv_chams=      | off/players/hands/all* |
| Crosshair  | =cv_crosshair=  | off/length             |

#+begin_quote
*Note:* Chams color can be changed from the =h_glColor4f()= function inside
[[https://github.com/8dcc/hl-cheat/blob/main/src/hooks.c][src/hooks.c]]. Since this cheat is not hard to compile, I rather have less
console variables than more customization at runtime.
#+end_quote

* Building
#+begin_src console
$ git clone --recurse-submodules https://github.com/8dcc/hl-cheat
$ cd hl-cheat
$ make
...
#+end_src

Note that you will need to clone with =--recurse-submodules= for the sdk. If you
have already cloned it, you can just:

#+begin_src console
$ cd hl-cheat
$ git submodule update --init --recursive
#+end_src

* Injecting
Uses the [[https://www.gnu.org/savannah-checkouts/gnu/gdb/index.html][gdb]] debugger for injecting the library.

#+begin_src console
$ ./injector.sh
[sudo] password for username:

...

hl-cheat loaded!
#+end_src