From 61febaa3a9d4925afb54a1517abd39accdccaf85 Mon Sep 17 00:00:00 2001 From: Anairkoen Schno Date: Fri, 16 Aug 2019 19:04:33 -0500 Subject: [PATCH] Added command line documentation --- docs/articles/.gitignore | 1 + docs/articles/command-line.md | 76 +++++++++++++++++++++++++++++++++++ docs/articles/toc.yml | 2 + docs/build.ps1 | 9 +++++ 4 files changed, 88 insertions(+) create mode 100644 docs/articles/.gitignore create mode 100644 docs/articles/command-line.md diff --git a/docs/articles/.gitignore b/docs/articles/.gitignore new file mode 100644 index 00000000..d62640e9 --- /dev/null +++ b/docs/articles/.gitignore @@ -0,0 +1 @@ +_*.* \ No newline at end of file diff --git a/docs/articles/command-line.md b/docs/articles/command-line.md new file mode 100644 index 00000000..5ddcc3e8 --- /dev/null +++ b/docs/articles/command-line.md @@ -0,0 +1,76 @@ +# The Command Line + +BSIPA has 2 command lines: the installer, and the game. + +Their documentation is below. + +# [The Installer (`IPA.exe`)](#tab/installer) + +The installer has quite a few options, which are documented inline with the `-h` or `--help` flag. + +This is what it currently looks like: + +> +> [!code[IPA command line](_ipa_command_line.txt "the result of IPA.exe -h")] +> + +# [The Game](#tab/game) + +The game *also* gets quite a few command line options, though there isn't anything as convenient as a help page for them. + +Here's a quick list of what they are and what they do. + +- `--debug` + > + > Enables the loading of debug information in Mono. The debugging information must be in the portable PDB format, + > in the same location as the DLL that it's for. + > + > This option also forces BSIPA to show all debug messages in the console, as well as where they were called. + > + > This overrides the config settings `Debug.ShowDebug` and `Debug.ShowCallSource`. + > +- `--mono-debug` + > + > Enables the built-in Mono soft debugger engine. + > + > By default, it acts as a client, and requires that there be a soft + > debugger server running on port 10000 on `localhost`. + > + > Implies `--debug`. + > +- `--server` + > + > Does nothing on its own. + > + > When paired with `--mono-debug`, this option makes the Mono soft debugger act in server mode. It begins listening on + > port 10000 on any address, and will pause startup (with no window) until a debugger is connected. I reccommend using + > SDB, but that is a command line debugger and a lot of people don't care for those. + > +- `--no-yeet` + > + > Disables mod yeeting. + > + > By default, whenever BSIPA detects that the game is now running a newer version than previous runs, it will move all + > mods to another folder and not load them. (They still get checked for updates though.) When this is enabled, that + > behaviour is disabled. + > + > Overrides the config setting `YeetMods`. + > +- `--condense-logs` + > + > Reduces the number of log files BSIPA will output for a given session. + > + > By default, BSIPA will create a subfolder in the `Logs` folder for each mod sublog, as well as each mod. This disables + > that behaviour, and restricts it to only create a global log and mod logs. + > + > Overrides the config setting `Debug.CondenseModLogs`. + > +- `--no-updates` + > + > Disables automatic updating. + > + > By default, BSIPA will check [BeatMods](http://beatmods.com) for all of the loaded mods to see if there is a new version + > avaliable. If there is, it will be downloaded and installed on the next run. This flag disables that behaviour. + > + > Overrides the config settings `Updates.AutoCheckUpdates` and `Updates.AutoUpdate`. + > diff --git a/docs/articles/toc.yml b/docs/articles/toc.yml index fb321523..ad2f8869 100644 --- a/docs/articles/toc.yml +++ b/docs/articles/toc.yml @@ -7,3 +7,5 @@ href: start-user.md - name: As a Developer href: start-dev.md +- name: The Command Line + href: command-line.md diff --git a/docs/build.ps1 b/docs/build.ps1 index 7159427d..2fe9800e 100644 --- a/docs/build.ps1 +++ b/docs/build.ps1 @@ -2,6 +2,7 @@ $newtonsoftLoc = "$(Get-Location)/nuget/Newtonsoft.Json.12.0.2/lib/netstandard2.0/Newtonsoft.Json.dll" $newtonsoftSchemaLoc = "$(Get-Location)/nuget/Newtonsoft.Json.Schema.3.0.11/lib/netstandard2.0/Newtonsoft.Json.Schema.dll" $selfConfigLoc = "../IPA.Loader/Config/SelfConfig.cs" +$ipaRoot = "../IPA" if (!(Test-Path "nuget" -PathType Container)) { nuget install Newtonsoft.Json -Version 12.0.2 -source https://api.nuget.org/v3/index.json -o "$(Get-Location)/nuget" @@ -67,6 +68,14 @@ if ((Test-Path $newtonsoftLoc -PathType Leaf) -and (Test-Path $selfConfigLoc -Pa $schema.ToString() | Out-File "other_api/config/_schema.json" } +$ipaExe = "$ipaRoot/bin/Release/IPA.exe" +# generate IPA.exe args file +if (-not (Test-Path $ipaExe -PathType Leaf)) { + msbuild -p:Configuration=Release -p:Platform=AnyCPU "$ipaRoot/IPA.csproj" +} + +& $ipaExe --help > .\articles\_ipa_command_line.txt + & docfx build --globalMetadataFiles link_branch.json @Args if ($lastexitcode -ne 0) { throw [System.Exception] "docfx build failed with exit code $lastexitcode."