How foxtale-group/vsmm works
VSMM is a desktop manager for Vintage Story mods. The main workflow is to configure game-data paths, scan installed mod archives, retrieve ModDB metadata, compare versions, and present mods for filtering or updates. Updates and GUI-added mods are handled through the loader and store; game-version and mod-directory discovery support compatibility checks and scanning. The README also documents add-mod and update-selection capabilities. The supplied tree omits the QML UI sources, so UI details and some screen-to-backend wiring cannot be verified; arrows below reflect sampled code and documented behavior.
Main entry points: App.cpp App and UI host · ModLoader.cpp Mod loader · ModStore.cpp Mod store · GameMngr.cpp Game discovery
Components 16
Application
- App and UI host
src/App.cpp - Search and filtering
src/modsortfiltermodel/ModSortFilterModel.cpp - Mod list model
src/modlistmodel/ModListModel.cpp - Mod icon provider
src/imgprovider/ModImageProvider.cpp
Discovery and metadata
- Mod loader
src/modloader/ModLoader.cpp - Archive reading
src/zip/ZipArchive.cpp
Mod management
- Mod store
src/modstore/ModStore.cpp - Mod details and versions
src/modentry/ModEntry.cpp
Configuration and services
- Settings
src/config/Config.cpp - Game discovery
src/gamemngr/GameMngr.cpp - HTTP client
src/httpclient/HttpClient.cpp
Other components
- User
- Game data and executable
- Installed mod archives
- Vintage Story ModDB
- Mod icons
Connections 23
- User → App and UI host: uses
- App and UI host → Settings: loads settings
- App and UI host → Game discovery: configures
- App and UI host → Mod store: configures
- App and UI host → Mod loader: configures
- App and UI host → Mod list model: connects
- App and UI host → Search and filtering: connects
- App and UI host → Mod icon provider: registers
- Settings → Game discovery: provides paths
- Game data and executable → Game discovery: reads settings and version
- Game discovery → Mod loader: provides mod directories
- Installed mod archives → Mod loader: scans archives
- Mod loader → Archive reading: reads mod info
- Mod loader → HTTP client: requests metadata and downloads
- HTTP client → Vintage Story ModDB: sends GET
- Vintage Story ModDB → HTTP client: returns data
- Mod loader → Mod store: updates mod records
- Mod store → Mod details and versions: holds mod details
- Mod store → Mod loader: dispatches update requests
- Mod store → Mod list model: notifies changes
- Mod list model → Search and filtering: supplies mod list
- Mod icon provider → HTTP client: downloads icons
- Mod icon provider → Mod icons: provides images