How wowdev/tactsharp works
TACTSharp is a WoW CASC/TACT library for loading local or online game data and extracting files; TACTTool exposes that capability as a CLI. The principal flow is CLI options and input selection, build/configuration loading, manifest or listfile lookup, content retrieval and decoding, then file output. The graph retains distinct manifest, index, CDN, and version-discovery stages. Edges reflect the excerpts, source index references, or README; several runtime details are unsampled, so uncertain links are omitted.
Main entry points: Build.cs Build loader · Program.cs TACTTool · Ribbit.cs Ribbit service · CDN.cs CDN access
Components 24
Extraction CLI
- TACTTool
TACTTool/Program.cs - Storage verify
TACTTool/RunModes/Verify.cs
Build and discovery
- Build settings
TACTSharp/Settings.cs - Build loader
TACTSharp/Build.cs - Ribbit service
TACTSharp/VersionServices/Ribbit.cs - Channels service
TACTSharp/VersionServices/TACTChannels.cs - Config parser
TACTSharp/Config.cs - Version service API
TACTSharp/Interfaces/IVersionService.cs
Manifest and lookup
- Encoding table
TACTSharp/EncodingInstance.cs - Root manifest
TACTSharp/RootInstance.cs - TVFS manifest
TACTSharp/TVFSInstance.cs - Install manifest
TACTSharp/InstallInstance.cs - Listfile names
TACTSharp/Listfile.cs
Content access
- CDN access
TACTSharp/CDN.cs - Group index
TACTSharp/GroupIndex.cs - Archive index
TACTSharp/IndexInstance.cs - CASC index
TACTSharp/CASCIndexInstance.cs - BLTE decoder
TACTSharp/BLTE.cs - Key service
TACTSharp/Utils/KeyService.cs
Other components
- CLI user
- Battle.net version host
- CDN hosts
- Local data source
- Extracted files
Connections 29
- CLI user → TACTTool: provides options
README.md - TACTTool → Build settings: sets options
TACTTool/Program.cs - TACTTool → Build loader: loads build
TACTTool/Program.cs - TACTTool → Ribbit service: queries version
TACTTool/Program.cs - Build loader → Build settings: reads settings
TACTSharp/Build.cs - Build loader → Ribbit service: selects service
TACTSharp/Build.cs - Build loader → Channels service: selects service
TACTSharp/Build.cs - Ribbit service → Version service API: implements
TACTSharp/VersionServices/Ribbit.cs - Channels service → Version service API: implements
TACTSharp/VersionServices/TACTChannels.cs - Ribbit service → Battle.net version host: requests metadata
TACTSharp/VersionServices/Ribbit.cs - Channels service → Battle.net version host: requests catalog
TACTSharp/VersionServices/TACTChannels.cs - Build loader → Config parser: parses configs
TACTSharp/Build.cs - Build loader → Encoding table: loads table
TACTSharp/Build.cs - Build loader → Root manifest: loads manifest
TACTSharp/Build.cs - Build loader → TVFS manifest: loads manifest
TACTSharp/Build.cs - Build loader → Install manifest: loads manifest
TACTSharp/Build.cs - Build loader → Group index: loads index
TACTSharp/Build.cs - Build loader → Archive index: loads index
TACTSharp/Build.cs - TACTTool → Listfile names: resolves names
TACTTool/Program.cs - TACTTool → Install manifest: looks up names
README.md - TACTTool → Root manifest: looks up IDs
README.md - TACTTool → Build loader: requests file
README.md - CDN access → CDN hosts: downloads content
TACTSharp/CDN.cs - CDN access → Local data source: reads cache
TACTSharp/CDN.cs - CDN access → CASC index: uses index
TACTSharp/CDN.cs - BLTE decoder → Key service: looks up keys
TACTSharp/BLTE.cs - TACTTool → Extracted files: writes extraction
README.md - Storage verify → Archive index: checks entries
TACTTool/RunModes/Verify.cs - Storage verify → Local data source: checks files
TACTTool/RunModes/Verify.cs