• Stars
    star
    125
  • Rank 286,335 (Top 6 %)
  • Language
    C++
  • License
    Other
  • Created over 8 years ago
  • Updated 11 months ago

Reviews

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

Repository Details

An open-source reimplementation of Adrenaline Gamer's client library.

OpenAG

Build Status Chat on Discord

OpenAG is an open-source client of the Half-Life promod Adrenaline Gamer, completely rewritten from scratch on latest Half-Life SDK. It adds new features, bugfixes and other tweaks over the original mod, while maintaining the ability to play on all currently existing servers.

Building

Windows

Visual Studio 2019 & Visual Studio 2022

  1. Install Visual Studio 2019 or Visual Studio 2022. In the Visual Studio Installer, select Desktop Development for C++.
  2. Open Visual Studio.
  3. On the starting screen, click "Clone or check out code".
  4. Enter https://github.com/YaLTeR/OpenAG.git and press the Clone button. Wait for the process to finish.
  5. You can build the project using Build→Build All. To find the built client.dll, go to Project→CMake Cache (x86-Debug Only)→Open in Explorer.

Visual Studio 2017

  1. Install Visual Studio 2017. In the Visual Studio Installer, select Desktop Development for C++.

  2. Open Visual Studio.

  3. Go to File→Open→Open from Source Control.

  4. Click Clone:

    Screenshot of the clone button.

    Enter https://github.com/YaLTeR/OpenAG.git and press the Clone button. Wait for the process to finish.

  5. You can build the project using CMake→Build All. To find the built client.dll, go to CMake→Cache (x86-Debug Only)→Open Cache Folder→OpenAG.

Manually using Git and CMake

  1. Install Visual Studio 2017 or above, Git and CMake. Make sure to add them to PATH.
  2. Clone the repository.
  3. Open Git Bash in the OpenAG folder.
  4. git submodule update --init
  5. cmake -A Win32 -B build
  6. cmake --build build --config Release

macOS

  1. Install Xcode.
  2. Install CMake via Homebrew.
  3. git submodule update --init
  4. mkdir build
  5. cd build
  6. cmake ..
  7. cmake --build . --config Release

Linux

GNOME Builder

  1. Set up Flathub by following the guide for your distribution.

  2. Install GNOME Builder.

  3. Open GNOME Builder.

  4. Press the Clone Repository button, enter https://github.com/YaLTeR/OpenAG.git and press Clone Project. Wait until it finishes.

    The cloning window should close, and a new window with the OpenAG project should open.

  5. If Builder prompts you to install missing SDKs, press Install and wait for the process to finish. It will take a while. You can monitor the progress by pressing the circle in the top-right.

  6. Click on the bar at the top-center which says OpenAG, and click the Build button.

  7. Once the build finishes, in the same bar menu click the Export Bundle button. The file manager will open in a path that looks like gnome-builder/projects/OpenAG/flatpak/staging/x86_64-master. Navigate up to the OpenAG folder, then down to builds/pro.openag.OpenAG.json-... where you will find the built client.so.

  8. Now you can make some changes to the code and press Build, then grab client.so from the same folder.

Manually

  1. Get a 32-bit/multilib gcc (6 and above) or clang (3.9 and above) build environment set up, as well as CMake.
  2. git submodule update --init
  3. mkdir build
  4. cd build
  5. cmake ..
  6. cmake --build . --config Release

Half Life 1 SDK LICENSE

Half Life 1 SDK Copyright© Valve Corp.

THIS DOCUMENT DESCRIBES A CONTRACT BETWEEN YOU AND VALVE CORPORATION (“Valve”). PLEASE READ IT BEFORE DOWNLOADING OR USING THE HALF LIFE 1 SDK (“SDK”). BY DOWNLOADING AND/OR USING THE SOURCE ENGINE SDK YOU ACCEPT THIS LICENSE. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE PLEASE DON’T DOWNLOAD OR USE THE SDK.

You may, free of charge, download and use the SDK to develop a modified Valve game running on the Half-Life engine. You may distribute your modified Valve game in source and object code form, but only for free. Terms of use for Valve games are found in the Steam Subscriber Agreement located here: http://store.steampowered.com/subscriber_agreement/

You may copy, modify, and distribute the SDK and any modifications you make to the SDK in source and object code form, but only for free. Any distribution of this SDK must include this license.txt and third_party_licenses.txt.

Any distribution of the SDK or a substantial portion of the SDK must include the above copyright notice and the following:

DISCLAIMER OF WARRANTIES. THE SOURCE SDK AND ANY OTHER MATERIAL DOWNLOADED BY LICENSEE IS PROVIDED “AS IS”. VALVE AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES WITH RESPECT TO THE SDK, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, TITLE AND FITNESS FOR A PARTICULAR PURPOSE.

LIMITATION OF LIABILITY. IN NO EVENT SHALL VALVE OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE ENGINE AND/OR THE SDK, EVEN IF VALVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

If you would like to use the SDK for a commercial purpose, please contact Valve at [email protected].

Half-Life 1

This is the README for the Half-Life 1 engine and its associated games.

Please use this repository to report bugs and feature requests for Half-Life 1 related products.

Reporting Issues

If you encounter an issue while using Half-Life 1 games, first search the issue list to see if it has already been reported. Include closed issues in your search.

If it has not been reported, create a new issue with at least the following information:

  • a short, descriptive title;
  • a detailed description of the issue, including any output from the command line;
  • steps for reproducing the issue;
  • your system information.*; and
  • the version output from the in‐game console.

Please place logs either in a code block (press M in your browser for a GFM cheat sheet) or a gist.

* The preferred and easiest way to get this information is from Steam's Hardware Information viewer from the menu (Help -> System Information). Once your information appears: right-click within the dialog, choose Select All, right-click again, and then choose Copy. Paste this information into your report, preferably in a code block.

Conduct

There are basic rules of conduct that should be followed at all times by everyone participating in the discussions. While this is generally a relaxed environment, please remember the following:

  • Do not insult, harass, or demean anyone.
  • Do not intentionally multi-post an issue.
  • Do not use ALL CAPS when creating an issue report.
  • Do not repeatedly update an open issue remarking that the issue persists.

Remember: Just because the issue you reported was reported here does not mean that it is an issue with Half-Life. As well, should your issue not be resolved immediately, it does not mean that a resolution is not being researched or tested. Patience is always appreciated.

More Repositories

1

niri

A scrollable-tiling Wayland compositor.
Rust
1,414
star
2

wl-clipboard-rs

A safe Rust crate for working with the Wayland clipboard.
Rust
232
star
3

BunnymodXT

Speedrun and TAS tool for Half-Life & friends.
C++
200
star
4

MouseTweaks

A Minecraft mod that enhances inventory management.
Java
94
star
5

SourcePauseTool

This was once just a plugin to prevent game unpausing.
C++
86
star
6

bxt-rs

Fastest video recording and TAS tools for Half-Life & mods.
Rust
36
star
7

circular-queue

A circular buffer-like queue container.
Rust
33
star
8

hl-capture

A tool for capturing Half-Life videos on Linux.
Rust
33
star
9

vapoursynth-rs

A safe Rust wrapper for VapourSynth.
Rust
27
star
10

hldemo-rs

Half-Life demo format parser using nom.
Rust
21
star
11

plitki

An experimental vertical scrolling rhythm game engine.
Rust
20
star
12

hlkreedz

Pawn
18
star
13

BunnymodXT-Injector

A small simple injector for Bunnymod XT.
C++
13
star
14

bxt-launcher

GUI launcher for Bunnymod XT on Linux
Vala
12
star
15

yalter-bot

A simple Discord bot written in Rust.
Rust
10
star
16

minhook-sys

Rust bindings to MinHook.
C
10
star
17

osu-auto-plus

osu! cursor dancing with highest possible scores on 2B maps.
C++
10
star
18

DemTools

A collection of tools operating GoldSource demo files.
C++
9
star
19

HLDemo

A library for parsing GoldSource demo files.
C++
8
star
20

LiveSplit.BunnySplit

An AutoSplit component which works with Bunnymod XT.
C#
7
star
21

dotfiles

Lua
6
star
22

HLSDemo

A library for parsing Half-Life: Source old old engine demo files.
C++
5
star
23

BunnymodXT-Demoplayer

Old version of Bunnymod for Half-Life mods.
C++
5
star
24

SPTLib

A hooking library used by SPT and Bunnymod XT.
C
4
star
25

hls-autopause

Experimenting with hooking in Rust. HLS: OOE autopause as an example.
Rust
4
star
26

compress

An implementation of a simple arithmetic coding data compression algorithm.
C++
4
star
27

blog

https://bxt.rs/
HTML
4
star
28

network-relay

Rust
3
star
29

SteamChatPainter

A C# tool to create smile patterns to be used in Steam chat conversations!
C#
3
star
30

talos-tools

Rust
3
star
31

bunnymod-pro

C++
3
star
32

hlfixperf

A small library to improve Half-Life's load times on Linux.
Rust
3
star
33

DemPack

GoldSource demo steganography.
C++
2
star
34

aoc2017

Advent of Code 2017 solutions
Rust
2
star
35

TASView

A repository of me having fun with C++, with showing stuff from Bunnymod XT as a side goal.
C++
2
star
36

UnexpectedFishing

A Bukkit plugin, that makes fishing slightly more... unexpected.
Java
1
star
37

ForestryFix

A mod that disables Forestry's mod protection on the client.
Scala
1
star
38

demo-reader

Shows information about a GoldSrc demo.
Rust
1
star
39

tas-log-reader

View TAS log files produced by Bunnymod XT. Proof-of-concept GTK 4 version of qconread2.
Rust
1
star
40

quaver-editor-plugin

Random utilities I needed.
Lua
1
star