Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c0b710d6f7 | |||
| e27fb6d73a | |||
| e95308605b | |||
| 205ee06c27 |
@@ -15,7 +15,7 @@ jobs:
|
|||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: |
|
run: |
|
||||||
pacman -Syu --noconfirm
|
pacman -Syu --noconfirm
|
||||||
pacman -S --noconfirm nodejs mingw-w64-gcc cmake ninja ccache zip git base-devel
|
pacman -S --noconfirm nodejs mingw-w64-gcc cmake ninja ccache git base-devel
|
||||||
|
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
@@ -90,14 +90,12 @@ jobs:
|
|||||||
echo "Found EXE: $EXE"
|
echo "Found EXE: $EXE"
|
||||||
mkdir -p release
|
mkdir -p release
|
||||||
cp "$EXE" release/
|
cp "$EXE" release/
|
||||||
if [ -d "res" ]; then cp res/*.json release/; fi
|
|
||||||
cd release && zip -j ../hex-unlocked.zip *
|
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: runner-build
|
name: runner-build
|
||||||
path: hex-unlocked.zip
|
path: release/
|
||||||
|
|
||||||
- name: Finalize Version and Push Tag
|
- name: Finalize Version and Push Tag
|
||||||
if: ${{ github.event_name == 'push' && success() }}
|
if: ${{ github.event_name == 'push' && success() }}
|
||||||
@@ -109,7 +107,7 @@ jobs:
|
|||||||
if: ${{ github.event_name == 'push' && success() }}
|
if: ${{ github.event_name == 'push' && success() }}
|
||||||
uses: akkuman/gitea-release-action@v1
|
uses: akkuman/gitea-release-action@v1
|
||||||
with:
|
with:
|
||||||
files: hex-unlocked.zip
|
files: release/*
|
||||||
tag_name: ${{ steps.calculate-version.outputs.new-tag }}
|
tag_name: ${{ steps.calculate-version.outputs.new-tag }}
|
||||||
name: Release ${{ steps.calculate-version.outputs.new-tag }}
|
name: Release ${{ steps.calculate-version.outputs.new-tag }}
|
||||||
body: ${{ steps.calculate-version.outputs.changelog }}
|
body: ${{ steps.calculate-version.outputs.changelog }}
|
||||||
+1
-1
@@ -6,7 +6,6 @@ cmake_minimum_required(VERSION 3.25.0)
|
|||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
|
|
||||||
add_compile_definitions(WIN32_LEAN_AND_MEAN NOMINMAX)
|
|
||||||
|
|
||||||
project(hex-unlocked LANGUAGES CXX)
|
project(hex-unlocked LANGUAGES CXX)
|
||||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||||
@@ -138,6 +137,7 @@ endif()
|
|||||||
file(GLOB_RECURSE UNLOCKER_SOURCES CONFIGURE_DEPENDS "src/unlocker/*.cpp" "src/unlocker/*.h")
|
file(GLOB_RECURSE UNLOCKER_SOURCES CONFIGURE_DEPENDS "src/unlocker/*.cpp" "src/unlocker/*.h")
|
||||||
|
|
||||||
add_executable(hex-unlocked WIN32 ${UNLOCKER_SOURCES} "res/resources.rc")
|
add_executable(hex-unlocked WIN32 ${UNLOCKER_SOURCES} "res/resources.rc")
|
||||||
|
target_compile_definitions(hex-unlocked PRIVATE WIN32_LEAN_AND_MEAN NOMINMAX)
|
||||||
target_link_libraries(hex-unlocked PRIVATE hex-warned seallib glaze::glaze tinymitm wininet ixwebsocket crypt32 user32 shell32)
|
target_link_libraries(hex-unlocked PRIVATE hex-warned seallib glaze::glaze tinymitm wininet ixwebsocket crypt32 user32 shell32)
|
||||||
|
|
||||||
# rnd exe name
|
# rnd exe name
|
||||||
|
|||||||
@@ -0,0 +1,56 @@
|
|||||||
|
<h1 align="center">
|
||||||
|
<b>Hex: Unlocked</b>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
A Dead By Daylight inventory manager <b> for educational purposes</b>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
---
|
||||||
|
## Table of Contents
|
||||||
|
* [Installation & usage](#installation--usage)
|
||||||
|
* [Building](#building)
|
||||||
|
|
||||||
|
## Installation & usage
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> This goes against the Behaviour's Terms of Service. Although unlikely, there is a definite risk of ban.
|
||||||
|
|
||||||
|
### 1. Requirements
|
||||||
|
* **Dead By Daylight**: Xbox PC version or *Epic Games version **(untested)***
|
||||||
|
* **Operating System**: Windows 10 or 11 (64-bit)
|
||||||
|
|
||||||
|
### 2. Usage
|
||||||
|
1. Download the latest `hex-unlocked.exe` from the [Releases](../../releases) tab.
|
||||||
|
2. Run the exe before the game is running.
|
||||||
|
3. Configure your profile using the [site](https://dbd.neru.rip/).
|
||||||
|
4. Run the game.
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> If you're missing items, open the Bloodweb, wait for it to load, and the inventory should be applied once again.
|
||||||
|
|
||||||
|
## Building
|
||||||
|
This project uses CMake and requires a C++20 compatible compiler.
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
* CMake 3.25.0 or higher
|
||||||
|
* Visual Studio 2022 or higher (with C++ desktop development) OR MinGW-w64
|
||||||
|
* .NET SDK (if building with the optional Dumper enabled)
|
||||||
|
|
||||||
|
### Visual Studio (Recommended for Windows)
|
||||||
|
The easiest way to get started on Windows is to run the included PowerShell script. It will generate the Visual Studio solution and open it automatically:
|
||||||
|
```powershell
|
||||||
|
.\create-project.ps1
|
||||||
|
```
|
||||||
|
|
||||||
|
### MinGW (Linux Cross-Compile)
|
||||||
|
If you want to cross-compile using MinGW on Linux, you can configure and build using Ninja:
|
||||||
|
```bash
|
||||||
|
cmake -B proj -S . -G Ninja \
|
||||||
|
-DCMAKE_SYSTEM_NAME=Windows \
|
||||||
|
-DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc \
|
||||||
|
-DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ \
|
||||||
|
-DCMAKE_RC_COMPILER=x86_64-w64-mingw32-windres
|
||||||
|
|
||||||
|
cmake --build proj --target hex-unlocked
|
||||||
|
```
|
||||||
@@ -63,9 +63,9 @@ void* TrayIcon::windowProc(void* h, unsigned int msg, unsigned long long wParam,
|
|||||||
|
|
||||||
bool TrayIcon::init()
|
bool TrayIcon::init()
|
||||||
{
|
{
|
||||||
WNDCLASSEXA wc = {0};
|
WNDCLASSEXA wc = {};
|
||||||
wc.cbSize = sizeof(WNDCLASSEX);
|
wc.cbSize = sizeof(WNDCLASSEX);
|
||||||
wc.lpfnWndProc = (WNDPROC)windowProc;
|
wc.lpfnWndProc = reinterpret_cast<WNDPROC>(reinterpret_cast<void*>(windowProc));
|
||||||
wc.hInstance = GetModuleHandle(NULL);
|
wc.hInstance = GetModuleHandle(NULL);
|
||||||
wc.lpszClassName = "HexUnlockedTrayIconClass";
|
wc.lpszClassName = "HexUnlockedTrayIconClass";
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ bool TrayIcon::init()
|
|||||||
|
|
||||||
this->_hwnd = window;
|
this->_hwnd = window;
|
||||||
|
|
||||||
NOTIFYICONDATAA nid = {0};
|
NOTIFYICONDATAA nid = {};
|
||||||
nid.cbSize = sizeof(NOTIFYICONDATA);
|
nid.cbSize = sizeof(NOTIFYICONDATA);
|
||||||
nid.hWnd = window;
|
nid.hWnd = window;
|
||||||
nid.uID = ID_TRAY_APP_ICON;
|
nid.uID = ID_TRAY_APP_ICON;
|
||||||
@@ -97,7 +97,7 @@ void TrayIcon::shutdown()
|
|||||||
{
|
{
|
||||||
if (_hwnd)
|
if (_hwnd)
|
||||||
{
|
{
|
||||||
NOTIFYICONDATAA nid = {0};
|
NOTIFYICONDATAA nid = {};
|
||||||
nid.cbSize = sizeof(NOTIFYICONDATA);
|
nid.cbSize = sizeof(NOTIFYICONDATA);
|
||||||
nid.hWnd = reinterpret_cast<HWND>(_hwnd);
|
nid.hWnd = reinterpret_cast<HWND>(_hwnd);
|
||||||
nid.uID = ID_TRAY_APP_ICON;
|
nid.uID = ID_TRAY_APP_ICON;
|
||||||
|
|||||||
Reference in New Issue
Block a user