Add start script for Windows
This commit is contained in:
@@ -98,6 +98,11 @@ that checkout's `.state/` directory. If `plugin-helper.windows.toml` has only
|
||||
one `[[profiles]]` entry, that profile is selected automatically when
|
||||
`--profile` is omitted:
|
||||
|
||||
From the repo root, double-click or run `menu.bat` to create `.venv` on first
|
||||
use, install the package, and open the Textual menu.
|
||||
|
||||
Or set up manually:
|
||||
|
||||
```powershell
|
||||
py -m venv .venv
|
||||
.\.venv\Scripts\Activate.ps1
|
||||
|
||||
@@ -111,16 +111,6 @@ stack loaded successfully.
|
||||
| SquatToBegin lifecycle notice | `[IPA/Loader] Plugin SquatToBegin has no methods marked [OnStart] or [OnEnable]` | Upstream plugin shape; gate still arms from gameplay scene setup. |
|
||||
| IPA feature deprecation | `[IPA/Loader/Features] Encountered old features used` / `No such feature SiraLocalizer.LocalizedPlugin` | Loader metadata drift; not a load failure. |
|
||||
|
||||
Still treat these as real problems when investigating a failed smoketest:
|
||||
|
||||
- `Mono.Cecil.AssemblyResolutionException`, `TypeLoadException`, or missing
|
||||
assembly errors for an installed plugin
|
||||
- Harmony `Patching exception` or repeated `NullReferenceException` stacks from
|
||||
a newly installed plugin (LeaderboardCore `PanelView_SetIsLoaded` is a known
|
||||
pre-existing warning on this stack; revisit only if in-game leaderboards break)
|
||||
- Plugin absent from the IPA load list after install
|
||||
- Startup never reaches `[MainSystemInit] Initialization was completed`
|
||||
|
||||
## Status Legend
|
||||
|
||||
- <span style="color:#8b949e; font-weight:600">todo</span>: not attempted
|
||||
@@ -236,7 +226,7 @@ Purpose: restore song-list, menu, and visualization conveniences.
|
||||
|
||||
| Plugin | Upstream | Status | Source/version | Verification notes |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| BetterSongList | [github](https://github.com/kinsi55/BeatSaber_BetterSongList) | <span style="color:#d29922; font-weight:600">verified with warning</span> | GitHub `kinsi55/BeatSaber_BetterSongList` tag `v0.4.3`, asset `BetterSongList.dll`; GitHub release digest matched downloaded asset | IPA loaded BetterSongList 0.4.3 and the game reached `MainSystemInit`. Warning: manifest targets Beat Saber 1.42.0. |
|
||||
| BetterSongList | [github](https://github.com/kinsi55/BeatSaber_BetterSongList) | <span style="color:#d29922; font-weight:600">verified with warning</span> | GitHub `kinsi55/BeatSaber_BetterSongList` tag `v0.4.3`, asset `BetterSongList.dll`; GitHub release digest matched downloaded asset | IPA loaded BetterSongList 0.4.3 and the game reached `MainSystemInit`. Warning: manifest targets Beat Saber 1.42.0. SongDetailsCache is optional but recommended for cached song-detail lookups; the registry lists it as a non-required dependency. |
|
||||
| HitScoreVisualizer | [github](https://github.com/ErisApps/HitScoreVisualizer) | <span style="color:#d29922; font-weight:600">verified with warning</span> | GitHub `ErisApps/HitScoreVisualizer` tag `3.7.3`, asset `HitScoreVisualizer-3.7.3-bs1.42.0-a565cbb.zip`; GitHub release digest matched downloaded asset | IPA loaded HitScoreVisualizer 3.7.3, installed app/menu installers, and the game reached `MainSystemInit`. Warning: manifest targets Beat Saber 1.42.0. |
|
||||
| DiTails | [github](https://github.com/Auros/DiTails) | <span style="color:#d29922; font-weight:600">installed; smoke blocked</span> | Local build from `/home/pleb/src/Auros/DiTails` commit `601e3c4` on branch `fix-1.44-artwork-initialization`, asset `DiTails-1.1.3-bs1.44.1-601e3c4.zip`, SHA-256 `b8735f24545f1a50392865bf3013b930bee8e4ba7feac824a2482e2f1deeba1e`; replaces failed GitHub `Auros/DiTails` tag `1.1.3`, asset `DiTails-v1.1.3-g1.42.0-271d394.zip` and BeatMods 1.1.3 trial | Helper installed `Plugins/DiTails.dll` SHA-256 `5c856ffdfeab54982b84cb2e3033c970622668c553396460499d2343363d1d9d` in the mounted Windows instance. IPA loaded DiTails 1.1.3 and the previous `DetailContextManager.Initialize()` `NullReferenceException` did not recur before startup was blocked by `SteamAPI Init failed` because Steam was not running. |
|
||||
| HideTheLogo | [github](https://github.com/TheBlackParrot/HideTheLogo) | <span style="color:#d29922; font-weight:600">verified with warning</span> | GitHub `TheBlackParrot/HideTheLogo` tag `1.0.3`, asset `HideTheLogo-1.0.3-bs1.40.3-c968d91.zip` | IPA loaded HideTheLogo 1.0.3, logged `yeet`, and the game reached `MainSystemInit`. Warning: manifest targets Beat Saber 1.40.3. |
|
||||
|
||||
+18
-9
@@ -44,12 +44,12 @@ reason = "BeatMods verified SongCore 3.16.0 for Beat Saber 1.44.1 as version id
|
||||
[[plugins]]
|
||||
id = "customjsondata"
|
||||
repo = "Aeroluna/CustomJSONData"
|
||||
tag = "v2.6.8"
|
||||
asset = "CustomJSONData-2.6.8+1.40.0-bs1.40.0-7c2c32c.zip"
|
||||
download_url = "https://github.com/Aeroluna/CustomJSONData/releases/download/v2.6.8/CustomJSONData-2.6.8%2B1.40.0-bs1.40.0-7c2c32c.zip"
|
||||
tag = "beatmods-2.6.8+1.40.0"
|
||||
asset = "CustomJSONData-2.6.8+1.40.0.zip"
|
||||
download_url = "https://beatmods.com/cdn/mod/fed31638bbb678580ef760ec83cfd486.zip"
|
||||
sha256 = "30555c77485d2837bd294608fe4e23c34415b89413997be67a6150318090b216"
|
||||
install_strategy = "bsipa-zip"
|
||||
reason = "BeatMods verified CustomJSONData 2.6.8+1.40.0 for Beat Saber 1.44.1 as version id 2327, zipHash fed31638bbb678580ef760ec83cfd486. GitHub asset is byte-identical to the BeatMods CDN zip."
|
||||
reason = "BeatMods verified CustomJSONData 2.6.8+1.40.0 for Beat Saber 1.44.1 as version id 2327, zipHash fed31638bbb678580ef760ec83cfd486. Downloaded from BeatMods CDN and verified SHA-256 30555c77485d2837bd294608fe4e23c34415b89413997be67a6150318090b216."
|
||||
|
||||
[[plugins]]
|
||||
id = "heck"
|
||||
@@ -201,12 +201,12 @@ reason = "BeatMods verified ScoreSaberSharp 0.1.0 for Beat Saber 1.44.1 as versi
|
||||
[[plugins]]
|
||||
id = "scoresaber"
|
||||
repo = "ScoreSaber/pc-mod"
|
||||
tag = "v3.3.27"
|
||||
asset = "ScoreSaber-v3.3.27-bs1.42.0-to-1.44.0-9b4cfcf.zip"
|
||||
download_url = "https://github.com/ScoreSaber/pc-mod/releases/download/v3.3.27/ScoreSaber-v3.3.27-bs1.42.0-to-1.44.0-9b4cfcf.zip"
|
||||
sha256 = "8ad509ab38353dfb4d92d127ba4e40917552f700580a7384509cafa70e62c096"
|
||||
tag = "v3.4.1"
|
||||
asset = "ScoreSaber-v3.4.1-bs1.42.0-to-1.44.1-4a3f9ff.zip"
|
||||
download_url = "https://github.com/ScoreSaber/pc-mod/releases/download/v3.4.1/ScoreSaber-v3.4.1-bs1.42.0-to-1.44.1-4a3f9ff.zip"
|
||||
sha256 = "6a74de62103b9b6afb1e02a3740d800cf696a88beee68e55d56de24751d5f8de"
|
||||
install_strategy = "bsipa-zip"
|
||||
reason = "User-provided GitHub releases URL https://github.com/ScoreSaber/pc-mod/releases. Latest non-draft, non-prerelease release v3.3.27 includes this highest compatible asset, labeled for Beat Saber 1.42.0 through 1.44.0; GitHub release digest matched the downloaded asset."
|
||||
reason = "Updated from GitHub ScoreSaber/pc-mod tag v3.4.1 release https://github.com/ScoreSaber/pc-mod/releases/tag/v3.4.1, asset ScoreSaber-v3.4.1-bs1.42.0-to-1.44.1-4a3f9ff.zip. GitHub release digest matched 6a74de62103b9b6afb1e02a3740d800cf696a88beee68e55d56de24751d5f8de."
|
||||
|
||||
[[plugins]]
|
||||
id = "protobuf-net"
|
||||
@@ -268,6 +268,15 @@ sha256 = "6237da05cbc044e99211cb0e569c917fe61bb0da25e42c61a6d438371548ebba"
|
||||
install_strategy = "bsipa-zip"
|
||||
reason = "BeatMods verified BeatSaverUpdater 1.2.11 for Beat Saber 1.44.1 as version id 2352, zipHash d9ea8dd0cbaac66cbb02fa59a548e42b. GitHub asset is byte-identical to the BeatMods CDN zip."
|
||||
|
||||
[[plugins]]
|
||||
id = "playlistmanager"
|
||||
repo = "rithik-b/PlaylistManager"
|
||||
tag = "localbuild-pr82-da1ad17-1.44"
|
||||
asset = "PlaylistManager-1.7.4-bs1.44.0-da1ad17.zip"
|
||||
sha256 = "cb86029a2defca846e2e1ebdf75bbe1368797fbf1b8ce509615155080b9ffbf9"
|
||||
install_strategy = "bsipa-zip"
|
||||
reason = "Local build from GitHub PR https://github.com/rithik-b/PlaylistManager/pull/82 at commit da1ad17. Use this PR build instead of upstream releases, which still target older Beat Saber versions and fail on 1.44.x with IPlatformUserModel / PlatformUserModel resolution errors."
|
||||
|
||||
[[plugins]]
|
||||
id = "failbutton"
|
||||
repo = "qe201020335/FailButton"
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
cd /d "%~dp0"
|
||||
|
||||
if not exist ".venv\Scripts\python.exe" (
|
||||
echo Creating virtual environment...
|
||||
py -m venv .venv
|
||||
if errorlevel 1 (
|
||||
echo Failed to create virtual environment.
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
|
||||
echo Installing plugin-helper...
|
||||
".venv\Scripts\python.exe" -m pip install -e .
|
||||
if errorlevel 1 (
|
||||
echo Failed to install plugin-helper.
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
".venv\Scripts\python.exe" -m plugin_helper
|
||||
set EXIT_CODE=%ERRORLEVEL%
|
||||
|
||||
endlocal & exit /b %EXIT_CODE%
|
||||
@@ -4,3 +4,6 @@ repo = "kinsi55/BeatSaber_BetterSongList"
|
||||
asset_patterns = ["BetterSongList.dll"]
|
||||
install_strategy = "dll-to-plugins"
|
||||
category = "ui"
|
||||
dependencies = [
|
||||
{ id = "songdetailscache", constraint = ">=1.4.0", required = false },
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user