UnleashedRecomp/docs/BUILDING.md

84 lines
3.6 KiB
Markdown
Raw Permalink Normal View History

README (#456) * First draft of README. * Update README.md * Transfer old README to BUILDING.md * Update README.md * Update README.md * Added keyboard bindings table * Update BUILDING.md * Update README.md * update readme credits * Add LICENSE * Update README.md * Rename LICENSE to COPYING * Update Flatpak summary and description * Update README.md. * On * Update README.md Added spacing between sections * Update README.md * Update credits.h * Update README.md * Update README.md * Update README.md * Update README.md * Specifically note Xbox 360 for original hardware Xbox One/Series back compat has some weird bugs specific to it (https://youtu.be/_zDUmg791Qk) so it's best to specifically mention the original Xbox 360 hardware * Added Extended Controller Features section * Update README.md * Update README.md * Update README.md * Added English dumping guide This may need some images to go along with the steps, as well as verification. * S * Move building to docs * Update README.md * Update README.md * Create BUILDING-ALT.md * Finalise building instructions * Upload logo * Added logo and logo credits * Update README.md * Update README.md * Update README.md * Update README.md * Upload issue template for bug reports * Update README.md --------- Co-authored-by: Michael <15317421+ActualMandM@users.noreply.github.com> Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com> Co-authored-by: DeaTh-G <hatvongeorge@gmail.com> Co-authored-by: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com> Co-authored-by: RadiantDerg <9061202+RadiantDerg@users.noreply.github.com> Co-authored-by: ĐeäTh <55578911+DeaTh-G@users.noreply.github.com>
2025-02-27 16:48:19 -03:00
# Building
## 1. Clone the Repository
Clone **UnleashedRecomp** with submodules using [Git](https://git-scm.com/).
```
git clone --recurse-submodules https://github.com/hedge-dev/UnleashedRecomp.git
```
### Windows
If you skipped the `--recurse-submodules` argument during cloning, you can run `update_submodules.bat` to ensure the submodules are pulled.
## 2. Add the Required Game Files
Copy the following files from the game and place them inside `./UnleashedRecompLib/private/`:
- `default.xex`
- `default.xexp`
- `shader.ar`
These files are located in the game's root directory, apart from `default.xexp`, which must be obtained via the title update package.
> [!TIP]
> It is recommended that you install the game using [an existing Unleashed Recompiled release](https://github.com/hedge-dev/UnleashedRecomp/releases/latest) to acquire these files, otherwise you'll need to rely on third-party tools to extract them.
>
> Using the Unleashed Recompiled installation wizard will also ensure that these files are compatible with each other so that they can be used with the build environment.
>
> When sourcing these files from an Unleashed Recompiled installation, they will be stored under `game` and `update` subdirectories.
## 3. Install Dependencies
### Windows
You will need to install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
In the installer, you must select the following **Workloads** and **Individual components** for installation:
- Desktop development with C++
- C++ Clang Compiler for Windows
- C++ CMake tools for Windows
### Linux
The following command will install the required dependencies on a distro that uses `apt` (such as Debian-based distros).
README (#456) * First draft of README. * Update README.md * Transfer old README to BUILDING.md * Update README.md * Update README.md * Added keyboard bindings table * Update BUILDING.md * Update README.md * update readme credits * Add LICENSE * Update README.md * Rename LICENSE to COPYING * Update Flatpak summary and description * Update README.md. * On * Update README.md Added spacing between sections * Update README.md * Update credits.h * Update README.md * Update README.md * Update README.md * Update README.md * Specifically note Xbox 360 for original hardware Xbox One/Series back compat has some weird bugs specific to it (https://youtu.be/_zDUmg791Qk) so it's best to specifically mention the original Xbox 360 hardware * Added Extended Controller Features section * Update README.md * Update README.md * Update README.md * Added English dumping guide This may need some images to go along with the steps, as well as verification. * S * Move building to docs * Update README.md * Update README.md * Create BUILDING-ALT.md * Finalise building instructions * Upload logo * Added logo and logo credits * Update README.md * Update README.md * Update README.md * Update README.md * Upload issue template for bug reports * Update README.md --------- Co-authored-by: Michael <15317421+ActualMandM@users.noreply.github.com> Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com> Co-authored-by: DeaTh-G <hatvongeorge@gmail.com> Co-authored-by: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com> Co-authored-by: RadiantDerg <9061202+RadiantDerg@users.noreply.github.com> Co-authored-by: ĐeäTh <55578911+DeaTh-G@users.noreply.github.com>
2025-02-27 16:48:19 -03:00
```bash
sudo apt install autoconf automake libtool pkg-config curl cmake ninja-build clang clang-tools libgtk-3-dev
```
The following command will install the required dependencies on a distro that uses `pacman` (such as Arch-based distros).
```bash
sudo pacman -S base-devel ninja lld clang gtk3
```
You can also find the equivalent packages for your preferred distro.
README (#456) * First draft of README. * Update README.md * Transfer old README to BUILDING.md * Update README.md * Update README.md * Added keyboard bindings table * Update BUILDING.md * Update README.md * update readme credits * Add LICENSE * Update README.md * Rename LICENSE to COPYING * Update Flatpak summary and description * Update README.md. * On * Update README.md Added spacing between sections * Update README.md * Update credits.h * Update README.md * Update README.md * Update README.md * Update README.md * Specifically note Xbox 360 for original hardware Xbox One/Series back compat has some weird bugs specific to it (https://youtu.be/_zDUmg791Qk) so it's best to specifically mention the original Xbox 360 hardware * Added Extended Controller Features section * Update README.md * Update README.md * Update README.md * Added English dumping guide This may need some images to go along with the steps, as well as verification. * S * Move building to docs * Update README.md * Update README.md * Create BUILDING-ALT.md * Finalise building instructions * Upload logo * Added logo and logo credits * Update README.md * Update README.md * Update README.md * Update README.md * Upload issue template for bug reports * Update README.md --------- Co-authored-by: Michael <15317421+ActualMandM@users.noreply.github.com> Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com> Co-authored-by: DeaTh-G <hatvongeorge@gmail.com> Co-authored-by: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com> Co-authored-by: RadiantDerg <9061202+RadiantDerg@users.noreply.github.com> Co-authored-by: ĐeäTh <55578911+DeaTh-G@users.noreply.github.com>
2025-02-27 16:48:19 -03:00
> [!NOTE]
> This list may not be comprehensive for your particular distro and you may be required to install additional packages, should an error occur during configuration.
## 4. Build the Project
### Windows
1. Open the repository directory in Visual Studio and wait for CMake generation to complete. If you don't plan to debug, switch to the `Release` configuration.
> [!TIP]
> If you need a Release-performant build and want to iterate on development without debugging, **it is highly recommended** that you use the `RelWithDebInfo` configuration for faster compile times.
2. Under **Solution Explorer**, right-click and choose **Switch to CMake Targets View**.
3. Right-click the **UnleashedRecomp** project and choose **Set as Startup Item**, then choose **Add Debug Configuration**.
4. Add a `currentDir` property to the first element under `configurations` in the generated JSON and set its value to the path to your game directory (where root is the directory containing `dlc`, `game`, `update`, etc).
5. Start **UnleashedRecomp**. The initial compilation may take a while to complete due to code and shader recompilation.
### Linux
1. Configure the project using CMake by navigating to the repository and running the following command.
```bash
cmake . --preset linux-release
```
> [!NOTE]
> The available presets are `linux-debug`, `linux-relwithdebinfo` and `linux-release`.
2. Build the project using the selected configuration.
```bash
cmake --build ./out/build/linux-release --target UnleashedRecomp
```
3. Navigate to the directory that was specified as the output in the previous step and run the game.
```bash
./UnleashedRecomp
```