diff --git a/docs/.markdownlint.json b/docs/.markdownlint.json new file mode 100644 index 00000000..b23c1528 --- /dev/null +++ b/docs/.markdownlint.json @@ -0,0 +1,10 @@ +{ + "default": true, + "line-length": false, + "no-inline-html": { + "allowed_elements": ["kbd"] + }, + "single-h1": { + "front_matter_title": "" + } +} \ No newline at end of file diff --git a/docs/articles/start-dev.md b/docs/articles/start-dev.md index 47bc2cc0..735274b5 100644 --- a/docs/articles/start-dev.md +++ b/docs/articles/start-dev.md @@ -1,6 +1,7 @@ ---- -uid: articles.start.dev ---- - -# Creating your own mod - +--- +uid: articles.start.dev +title: Making your own mod +--- + +# Overview + diff --git a/docs/articles/start-user.md b/docs/articles/start-user.md index 17089582..0380c8f6 100644 --- a/docs/articles/start-user.md +++ b/docs/articles/start-user.md @@ -1,103 +1,103 @@ ---- -uid: articles.start.user ---- - -# 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 one of the `BSIPA-*.zip`s, as `ModList.zip` contains the Beat Saber mod for showing your mods in-game, not the loader itself. - - > [!NOTE] - > The specific ZIP you need to download varies on the game you will be patching. For example, if you are patching Beat Saber, you will need the file - > `BSIPA-x64-Net4.zip`. This is because Beat Saber is a 64 bit game running .NET 4. If you are patching Muse Dash, however, you nee the file - > `BSIPA-x86-Net3.zip`. - > - > [!TIP] - > There are a few tricks for figuring out which file you need. If the game has a folder called `MonoBleedingEdge` in the install directory, then you - > need one of the `Net4` builds. To determine *which* build to use, right click on the game executable, go to the `Compatability` tab, check the - > `Run this program in compatability mode for` checkbox, and look and see if the dropdown has any Windows XP emulation options. If it does, the - > application is 32 bit, and you need to get one of the x86 builds. Otherwise, get one of the x64 builds. - > - > Make sure to uncheck that checkbox before leaving the menu. - - 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 - > }, - > ... - > } - > ``` - > - > [!TIP] - > Depending on the game, you may have to set the config member `GameAssemblies` to the names of the assemblies - > that the game uses for BSIPA to virtualize them properly. - > - > For Beat Saber distrobutions, this will be set according to the version that it was built for by default. - > Otherwise, it will contain just `Assembly-CSharp.dll` since most games use that default. - - 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. - -> [!NOTE] -> -> 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 -> REGEDIT4 -> [HKEY_CURRENT_USER\Software\Wine\DllOverrides] -> "winhttp"="native,builtin" -> ``` -> -> 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. - -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. - -## Uninstalling - -Uninstalling is fairly simple, and can be done one of two ways: - -1. Drag the game executable over `IPA.exe` while holding Alt. -2. Open a command prompt or Powershell terminal and run `.\IPA.exe -rn`. (see for what those options mean) +--- +uid: articles.start.user +--- + +# 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 one of the `BSIPA-*.zip`s, as `ModList.zip` contains the Beat Saber mod for showing your mods in-game, not the loader itself. + + > [!NOTE] + > The specific ZIP you need to download varies on the game you will be patching. For example, if you are patching Beat Saber, you will need the file + > `BSIPA-x64-Net4.zip`. This is because Beat Saber is a 64 bit game running .NET 4. If you are patching Muse Dash, however, you nee the file + > `BSIPA-x86-Net3.zip`. + > + > [!TIP] + > There are a few tricks for figuring out which file you need. If the game has a folder called `MonoBleedingEdge` in the install directory, then you + > need one of the `Net4` builds. To determine *which* build to use, right click on the game executable, go to the `Compatability` tab, check the + > `Run this program in compatability mode for` checkbox, and look and see if the dropdown has any Windows XP emulation options. If it does, the + > application is 32 bit, and you need to get one of the x86 builds. Otherwise, get one of the x64 builds. + > + > Make sure to uncheck that checkbox before leaving the menu. + + 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 + > }, + > ... + > } + > ``` + > + > [!TIP] + > Depending on the game, you may have to set the config member `GameAssemblies` to the names of the assemblies + > that the game uses for BSIPA to virtualize them properly. + > + > For Beat Saber distrobutions, this will be set according to the version that it was built for by default. + > Otherwise, it will contain just `Assembly-CSharp.dll` since most games use that default. + + 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. + +> [!NOTE] +> +> 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 +> REGEDIT4 +> [HKEY_CURRENT_USER\Software\Wine\DllOverrides] +> "winhttp"="native,builtin" +> ``` +> +> 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. + +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. + +## Uninstalling + +Uninstalling is fairly simple, and can be done one of two ways: + +1. Drag the game executable over `IPA.exe` while holding Alt. +2. Open a command prompt or Powershell terminal and run `.\IPA.exe -rn`. (see for what those options mean)