@ -18,7 +18,17 @@ To disable this console window, pass `--no-console` to the game.
1. Drag & drop the game exe onto **IPA.exe** while holding <kbd>Alt</kbd>
1. Drag & drop the game exe onto **IPA.exe** while holding <kbd>Alt</kbd>
- Or run `ipa -rn` in a command window
- Or run `ipa -rn` in a command window
2. Done
## Arguments
`IPA.exe file-to-patch [arguments]`
- `--launch`: Launch the game after patching
- `--revert`: Revert changes made by IPA (= unpatch the game)
- `--nowait`: Never keep the console open
- See `-h` or `--help` for more options.
Unconsumed arguments will be passed on to the game in case of `--launch`.
## How To Develop
## How To Develop
@ -33,13 +43,23 @@ See [Developing](https://github.com/nike4613/BeatSaber-IPA-Reloaded/wiki/Develop
BSIPA will automatically repatch the game when it updates, as long as `winhttp.dll` is present in the install directory.
BSIPA will automatically repatch the game when it updates, as long as `winhttp.dll` is present in the install directory.
## Arguments
## Building
`IPA.exe file-to-patch [arguments]`
### Prerequisites
- `--launch`: Launch the game after patching
- `--revert`: Revert changes made by IPA (= unpatch the game)
- `--nowait`: Never keep the console open
- See `-h` or `--help` for more options.
- Microsoft Visual Studio 2017 or later
- Tools for C/C++ (MSVC)
- .NET 4.6 SDK and .NET 4.7.1 SDK
Unconsumed arguments will be passed on to the game in case of `--launch`.
### Building
1. Clone with `git clone https://github.com/nike4613/BeatSaber-IPA-Reloaded.git --recursive`
2. Create a file, `bsinstalldir.txt` in the solution root. Do NOT create this in Visual Studio; VS adds a BOM at the begginning of the file that the tools used cannot read. It should contain the path to your Beat Saber installation, using forward slashes with a trailing slash. e.g.
5. Rebuild all. Any time you make a change, ALWAYS Rebuild All.
When building a Debug build, all referenced assemblies from Beat Saber will be copied from the install directory provided in `bsinstalldir.txt` into `Refs/`. Any new references should reference the copy in there. When building for Release, it just uses the files already in `Refs/`