diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..f967d61 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,64 @@ +# Contributing guide + +## Windows - C++ development environment setup + +There's usually 2 main ways of developing C++ code on Windows: +1. Heavy: Using the dedicated Visual Studio Community IDE. +2. Light: Installing only the necessary MSVC C++ build tools for compilation. + +> [!TIP] +> Both approaches install all the necessary tools and thus allow for code development outside of Visual Studio IDE. +> With that said, the heavy installation with the IDE is usually the recommended beginner friendly approach as the installer automatically does most of the heavy lifting for you. + +### Heavy - Visual Studio IDE +Grab the latest version of Visual Studio Community on the [download page](https://visualstudio.microsoft.com/downloads/) and follow the [installation instructions](https://learn.microsoft.com/en-us/cpp/build/vscpp-step-0-installation?view=msvc-170) on the official microsoft page. + +> [!TIP] +> Make sure that at least **Desktop development with C++** workload is selected + +~~Launch the IDE and start hating it!~~ + +### Light - Build Tools only + +#### CLI install: +> [!NOTE] +> If you prefer to avoid running unknown commands, follow the [Manual install](#manual-install) section below instead. + +Launch a powershell terminal from anywhere then run the following to download the *build tools executable*: +```powershell +Invoke-WebRequest -Uri "https://aka.ms/vs/stable/vs_buildtools.exe" -OutFile "vs_buildtools.exe" +``` +Run the following to install the **Desktop development with C++** workload with the recommended components: +```powershell +./vs_buildtools.exe --quiet --wait --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended +``` +This will launch the visual studio installer, it may ask for an elevation of priviledges then it will close itself and install the tools in the background (because of the `--quiet` option). + +After a moment, depending on your internet speed, the tools will be installed on your system. +The installation can be checked by running: +```powershell +& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath +``` +If the installation was successful, it should display the following: +> C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools + +Otherwise it may have not yet finished installing. + +> [!TIP] +> Alternatively, you can also manually check inside the directory `C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools` which will be populated when it has finished installing. + +#### Manual install: + +Download the latest build tools from the [download page](https://visualstudio.microsoft.com/downloads/). + +> [!TIP] +> For some reason, the download button is hidden at the bottom of the page. +> Go under the section **[All Downloads]**, expand **[Tools for Visual Studio]** and get **Build Tools for Visual Studio 2026** + +Launch the executable then from the visual studio installer page, make sure to select the **Desktop development with C++** among other tools you may be interested in. + +## Visual Studio Code setup + +Get the extension **C/C++ Extension Pack** from the marketplace (`ms-vscode.cpptools-extension-pack`) + +> WIP diff --git a/README.md b/README.md index 8c10ea3..75d87ed 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,44 @@ # Hell 2 Modding +![Hell 2 Modding](https://github.com/SGG-Modding/Hell2Modding/blob/master/thunderstore/icon.png?raw=true) -[Hades Modding Discord](https://discord.com/invite/KuMbyrN) +[![Thunderstore Version](https://img.shields.io/thunderstore/v/Hell2Modding/Hell2Modding?style=for-the-badge&logo=thunderstore&logoColor=white)](https://thunderstore.io/c/riskofrain2/p/Hell2Modding/Hell2Modding/) +[![Thunderstore Downloads](https://img.shields.io/thunderstore/dt/Hell2Modding/Hell2Modding?style=for-the-badge&logo=thunderstore&logoColor=white)](https://thunderstore.io/c/riskofrain2/p/Hell2Modding/Hell2Modding/) +[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/SGG-Modding/Hell2Modding/nightly.yml?branch=master&style=for-the-badge&logo=github)](https://github.com/SGG-Modding/Hell2Modding/actions/workflows/nightly.yml) ---- -## About +Hell 2 Modding is a modding plugin / framework for **Hades II**. -If you're enjoying this project, and want to support me, you can [buy me a coffee here](https://ko-fi.com/xiaoxiao921). +## About -Hell 2 Modding is a modding plugin / framework for Hades II. +Hell 2 Modding is based on [ReturnOfModding](https://github.com/xiaoxiao921/ReturnOfModdingBase). -It's using [ReturnOfModding](https://github.com/xiaoxiao921/ReturnOfModdingBase) as a base. You can check its README for more information on how it works. +*You can check out its README for more information on how it works.* -It also uses [lovely-lib](https://github.com/xiaoxiao921/lovely-lib), a library that employs the same patching system as [lovely-injector](https://github.com/ethangreen-dev/lovely-injector/), except for `module` patching, which is already handled by RoM. For more details, see the [lovely-lib documentation](https://github.com/xiaoxiao921/lovely-lib?tab=readme-ov-file#patches). +It also uses [lovely-lib](https://github.com/xiaoxiao921/lovely-lib), a library that employs the same patching system as [lovely-injector](https://github.com/ethangreen-dev/lovely-injector/), except for `module` patching, which is already handled by RoM. +For more details, see the [lovely-lib documentation](https://github.com/xiaoxiao921/lovely-lib?tab=readme-ov-file#patches). -## Mod Manager Installation +## Installation -- [Follow the instructions here.](https://github.com/ebkr/r2modmanPlus?tab=readme-ov-file#first-time-installing) +### Mod Manager +Follow the instructions from [r2modman](https://github.com/ebkr/r2modmanPlus?tab=readme-ov-file#first-time-installing) -## Manual Installation +### Manual +1. Locate your Hades II installation folder. +2. Open the `Ship` directory. +3. Copy `d3d12.dll` next to `Hades2.exe`. -- Place the main Hell2Modding file, called `d3d12.dll`, next to the game executable called `Hades2.exe` in the game's `Ship` folder. +*To uninstall or revert to a vanilla experience, simply rename or delete `d3d12.dll`.* -- To uninstall the mod loader or revert to a vanilla experience without mods, you can simply rename or delete the `d3d12.dll` file. ## Creating mods +Follow the instructions from the [community mod template](https://github.com/SGG-Modding/Hades2ModTemplate). + +## Contributing + +If you are interested in contributing in this project, developer setup is documented in [CONTRIBUTING](https://github.com/SGG-Modding/Hell2Modding/blob/main/CONTRIBUTING.md) + +## Join the Hades Modding Community +[![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/invite/KuMbyrN) -- [Checkout the template created by the modding community](https://github.com/SGG-Modding/Hades2ModTemplate) +## Support this project +[![Ko-Fi](https://img.shields.io/badge/Ko--fi-F16061?style=for-the-badge&logo=ko-fi&logoColor=white)](https://ko-fi.com/xiaoxiao921)