<h1 align="center">
    <b>UnlockedByDaylight</b>
</h1>

<p align="center">
    Unlocks all perks, skins, items and addons
</p>



###### chatgpt slop instructions below

## Requirements

Before building the project, ensure you have the following installed on your system:

- **Git**: To clone the repository and its vendored submodules.
- **Visual Studio 2022**: You must install the following workloads:
  - *Desktop development with C++*
  - *.NET desktop development* (for the C# dumper project)
- **.NET 8.0 SDK**: Required for the dumper tools. Usually included with the Visual Studio .NET desktop development workload.
- **CMake** `4.1.0` or newer: To generate the build files for the C++ unlocker proxy.
- **OpenSSL**: Download and install the full (non-Light) 64-bit version from [Win32 OpenSSL](https://slproweb.com/products/Win32OpenSSL.html). 
  - *Important*: You must install the **full version**, not the "Light" version, as the project requires the developer headers and libraries to compile (`find_package(OpenSSL REQUIRED)`).

## Building Instructions

The project uses several Git submodules (such as `nerutils`, `simdjson`, and `CUE4Parse`), so you must clone it recursively to pull all dependencies.

### Step 1: Clone the repository

Open your terminal or command prompt (such as PowerShell or Git Bash) and run:

```ps1
git clone --recursive https://git.neru.rip/neru/UnlockedByDaylight.git
cd UnlockedByDaylight
```

*(Note: If you have already cloned the repository without the `--recursive` flag, you can fetch the submodules by running `git submodule update --init --recursive` inside the project folder).*

### Step 2: Generate project files using CMake

Generate the Visual Studio solution and project files in a `build` directory:

```ps1
cmake -B build
```

*(Note: Depending on how OpenSSL was installed, CMake usually detects it automatically. If it doesn't, ensure your OpenSSL installation is added to your system `PATH` or manually provide the path via CMake arguments).*

### Step 3: Compile the project

You can build the project directly from the command line using CMake, or open the generated solution file in Visual Studio.

**Option A: Command Line (Recommended)**
```ps1
cmake --build build --config Release
```

**Option B: Visual Studio 2022**
1. Navigate to the `build` folder.
2. Open the newly generated `.sln` file (e.g., `dbd-unlocker.sln`).
3. Set your build configuration to `Release` and architecture to `x64` in the top toolbar.
4. Right-click the `dbd-unlocker` target in the Solution Explorer and select **Set as Startup Project**.
5. Build the entire solution (Press `Ctrl + Shift + B`).

### Additional Notes

- **Resources**: When building the unlocker (`dbd-unlocker`), the JSON files inside the `res/` directory will be automatically copied into the target output directory as configured by the CMake post-build step.
- Ensure you run the applications from folders where they have access to their respective resources.
