diff --git a/docs/articles/index.md b/docs/articles/index.md index b87f00f8..5d63dcb2 100644 --- a/docs/articles/index.md +++ b/docs/articles/index.md @@ -3,3 +3,5 @@ uid: getting_started --- # Getting Started + +Starting out is quite simple. Just follow one of the guides to the left! diff --git a/docs/articles/start-dev.md b/docs/articles/start-dev.md new file mode 100644 index 00000000..6bd12be6 --- /dev/null +++ b/docs/articles/start-dev.md @@ -0,0 +1 @@ +# Creating your own mod diff --git a/docs/articles/start-user.md b/docs/articles/start-user.md new file mode 100644 index 00000000..b88adc14 --- /dev/null +++ b/docs/articles/start-user.md @@ -0,0 +1,57 @@ +# Installing BSIPA + +> [!NOTE] +> This guide assumes that you are starting completely fresh. + + 1. Grab a release from the GitHub [Releases page](https://github.com/beat-saber-modding-group/BeatSaber-IPA-Reloaded/releases). + Make sure to download `BSIPA.zip`, as `ModList.zip` contains the Beat Saber mod for showing your mods in-game. + + 2. Extract the zip into your game installation directory. There should now be a folder named `IPA` and a file named `IPA.exe` in + the same folder as the game executable. + + For example, if you are installing BSIPA in Beat Saber, it might look like this after extraction: + + ![What your game directory may look like after extracting BSIPA](../images/install-extracted.png) + + 3. Run `IPA.exe` by double clicking it. A console window should pop up, and eventually, a gold message asking you to press a key + will appear. Here is an example of a successful installation: + + ![A successful installation](../images/install-successful.png) + + > [!NOTE] + > In some cases, this may fail, something like this: ![A failing installation](../images/install-failed.png) + > + > In these cases, try dragging the game executable over `IPA.exe`. + + After installing, your game directory should look something like this: + ![A properly installed BSIPA](../images/install-correct.png) + + > [!NOTE] + > At this point it is recommended to run the game once before continuing, to ensure that things are installed correctly. + > + > The first run should create a `UserData` folder with `Beat Saber IPA.json` and `Disabled Mods.json`, as well as a + > `Logs` folder with several subfolders with their own files. If these are created, then the installation was very + > likely successful. + > + > [!TIP] + > If you are not installing BSIPA on Beat Saber, you probably want to go to the config at `UserData/Beat Saber IPA.json` + > and set both of the following to `false`: + > + > ```json + > { + > ... + > "Updates": { + > "AutoUpdate": false, + > "AutoCheckUpdates": false + > }, + > ... + > } + > ``` + + 4. From here, just place all of your plugins in the `Plugins` folder, and you're all set! + + Many plugins will come in a zip such that the root of the zip represents the game install directory, so all you may have to + do is extract the plugin into the game installation folder. + +Thats really all you have to do! The installation should persist across game updates for as long as `winhttp.dll` is present in +the game directory, though your plugins will be moved to a different folder when it does update so things don't break horribly. diff --git a/docs/articles/toc.yml b/docs/articles/toc.yml index 2b7147a7..fb321523 100644 --- a/docs/articles/toc.yml +++ b/docs/articles/toc.yml @@ -2,3 +2,8 @@ href: ../index.md - name: Getting Started href: index.md + items: + - name: As a User + href: start-user.md + - name: As a Developer + href: start-dev.md diff --git a/docs/images/install-correct.png b/docs/images/install-correct.png new file mode 100644 index 00000000..198ae386 Binary files /dev/null and b/docs/images/install-correct.png differ diff --git a/docs/images/install-extracted.png b/docs/images/install-extracted.png new file mode 100644 index 00000000..756e5294 Binary files /dev/null and b/docs/images/install-extracted.png differ diff --git a/docs/images/install-failed.png b/docs/images/install-failed.png new file mode 100644 index 00000000..64022a94 Binary files /dev/null and b/docs/images/install-failed.png differ diff --git a/docs/images/install-successful.png b/docs/images/install-successful.png new file mode 100644 index 00000000..13360460 Binary files /dev/null and b/docs/images/install-successful.png differ diff --git a/docs/index.md b/docs/index.md index b0942f21..4542ba92 100644 --- a/docs/index.md +++ b/docs/index.md @@ -44,8 +44,8 @@ BSIPA will automatically repatch the game when it updates, as long as `winhttp.d ## Notes for running under Wine -For some reason, by default, Wine does not load DLLs in quite the same way that Windows does, causing issues with the injection. -To make the injection work with Wine, `winhttp` has to have a DLL override set to `native,builtin`. This can be set either through +For some reason, by default, Wine does not load DLLs in quite the same way that Windows does, causing issues with the injection. +To make the injection work with Wine, `winhttp` has to have a DLL override set to `native,builtin`. This can be set either through Protontricks, or with the following `.reg` file. ```reg @@ -57,7 +57,7 @@ REGEDIT4 For Steam there's a per-game Wine prefix under `compatdata`. In this case `SteamLibrary/steamapps/compatdata/620980/pfx/user.reg`. Changes to this file will likely be ovewritten when the game updates or if local files are validated through Steam. -## Building +## Developing BSIPA itself ### Prerequisites @@ -74,6 +74,7 @@ Changes to this file will likely be ovewritten when the game updates or if local ``` C:/Program Files (x86)/Steam/steamapps/common/Beat Saber/ ``` + 3. Open `BSIPA.sln` in Visual Studio. 4. Choose the configuration `x64` 5. Rebuild all.