Browse Source

Added command line documentation

pull/32/head
Anairkoen Schno 5 years ago
parent
commit
6f232b795b
4 changed files with 88 additions and 0 deletions
  1. +1
    -0
      docs/articles/.gitignore
  2. +76
    -0
      docs/articles/command-line.md
  3. +2
    -0
      docs/articles/toc.yml
  4. +9
    -0
      docs/build.ps1

+ 1
- 0
docs/articles/.gitignore View File

@ -0,0 +1 @@
_*.*

+ 76
- 0
docs/articles/command-line.md View File

@ -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`.
>

+ 2
- 0
docs/articles/toc.yml View File

@ -7,3 +7,5 @@
href: start-user.md href: start-user.md
- name: As a Developer - name: As a Developer
href: start-dev.md href: start-dev.md
- name: The Command Line
href: command-line.md

+ 9
- 0
docs/build.ps1 View File

@ -2,6 +2,7 @@
$newtonsoftLoc = "$(Get-Location)/nuget/Newtonsoft.Json.12.0.2/lib/netstandard2.0/Newtonsoft.Json.dll" $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" $newtonsoftSchemaLoc = "$(Get-Location)/nuget/Newtonsoft.Json.Schema.3.0.11/lib/netstandard2.0/Newtonsoft.Json.Schema.dll"
$selfConfigLoc = "../IPA.Loader/Config/SelfConfig.cs" $selfConfigLoc = "../IPA.Loader/Config/SelfConfig.cs"
$ipaRoot = "../IPA"
if (!(Test-Path "nuget" -PathType Container)) { 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" 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" $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 & docfx build --globalMetadataFiles link_branch.json @Args
if ($lastexitcode -ne 0) { if ($lastexitcode -ne 0) {
throw [System.Exception] "docfx build failed with exit code $lastexitcode." throw [System.Exception] "docfx build failed with exit code $lastexitcode."

Loading…
Cancel
Save