Skip to content

Add BetterRepack GUID catalog installs for missing card zipmods - #262

Open
TaiTNguyen2000 wants to merge 3 commits into
IllusionMods:masterfrom
TaiTNguyen2000:feature/betterrepack-guid-catalog
Open

Add BetterRepack GUID catalog installs for missing card zipmods#262
TaiTNguyen2000 wants to merge 3 commits into
IllusionMods:masterfrom
TaiTNguyen2000:feature/betterrepack-guid-catalog

Conversation

@TaiTNguyen2000

@TaiTNguyen2000 TaiTNguyen2000 commented Jul 15, 2026

Copy link
Copy Markdown

Summary

  • This feature is meant for users who don't want to download the entire SideLoad Modpack: KKManager can automatically install missing zipmods individually from character cards and Studio scenes.
  • Ships a prebuilt AISHS2 BetterRepack GUID catalog so missing zipmods can be found immediately without an initial archive scan.
  • Adds Cards-window actions to build/update the portable BetterRepack zipmod catalog.
  • Indexes zipmod manifest.xml GUIDs through HTTP byte-range reads and persists ZipmodCatalog/AISHS2.json.
  • Adds Install missing zipmods for selected/checked cards with a review dialog showing matched and unmatched GUIDs.
  • Adds a dockable Scenes browser for UserData\Studio\scene; it supports selected/checked scenes, reads embedded Sideloader UniversalAutoResolver data, and uses the same exact-GUID review/install workflow.
  • Downloads confirmed BetterRepack archives directly, verifies the downloaded manifest GUID, installs through KKManager’s existing mod installer, then refreshes zipmods, cards, and scenes.
  • Includes the nested catalog directory in build, CI, and release artifacts.

Scene support

  • Studio scene PNGs are scanned recursively and their embedded com.bepis.sideloader.universalautoresolver data is used to identify required zipmod GUIDs.
  • Scenes with no Sideloader metadata remain visible but have no reported requirements.
  • This remains zipmods-only: no plugin detection or installation is added.

Catalog snapshot

  • Generated: 2026-07-14T23:32:17.715734Z
  • Entries: 12,599
  • SHA-256: 207D5B803F1C8F7BE9F946F1468202608159252D040E6B10C8C2B2B62ABF84B7

Validation

  • dotnet build src/KKManager.sln --configuration Release --no-restore
  • Confirmed the bundled catalog is copied byte-for-byte to src/bin/ZipmodCatalog/AISHS2.json.
  • Launched KKManager and opened Install missing zipmods without building/scanning first; the review dialog found 7 exact GUID matches and 0 unmatched GUIDs for the selected card.
  • Confirmed direct parsing of existing HoneySelect 2 Studio scene files, including scenes containing multiple distinct zipmod GUIDs.
  • Added SceneLoader coverage for UniversalAutoResolver scene data and scenes with no requirements.
  • Confirmed release-style packaging includes ZipmodCatalog/AISHS2.json.

Notes:

  • Manifest GUIDs are authoritative; filenames are display-only and are never used for matching.
  • The local Python catalog builder and generated ready-package archive are not part of this upstream PR.

@ManlyMarco ManlyMarco left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is some very good work, the partial zip header downloads are a clever way to do this. Still, this is very fragile and can be broken by changes to the website. Before doing anything I'll have to ask the website admin for their opinion on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants