GAME AUDIO REFERENCE DATA
=========================

Drop any supported audio reference files here for automatic music resolution.
SoundFactory scans each game folder recursively — any directory structure works.

DIRECTORY STRUCTURE
  Data/Games/WWE2K25/       <- game folder (name = game title, no spaces)
  Data/Games/WWE2K21/
  Data/Games/WWE2K19/Audio/ <- subfolders OK, scanned recursively
  etc.

Folder name should match the game name with spaces/symbols removed:
  "WWE 2K25" -> WWE2K25
  "WWE 2K21" -> WWE2K21
  "WWE 2K19" -> WWE2K19

SUPPORTED FILE TYPES
  *.jsfb  MusicList FlatBuffer (2K20-2K25)
          Contains index_id -> wrestler name + song title + event name
          Example: index 8 -> "John Cena - The Time Is Now"

  *.json  MusicList JSON (same data, alternative format)

  *.pac   SHDC container (2K15-2K19)
          Contains SMCG wrestler bank references (ch_john_cena.bnk etc.)
          Automatically extracts wrestler names from bank filenames

  *.pck   Wwise PCK with embedded BNK
          Parses Event->Action->Sound->FileID chains
          Resolves FNV-1 hashes to recover Play_MUS_ID_{n} index_ids

HOW IT WORKS
  When SoundFactory detects a game, it scans the matching folder for all
  supported files. Data merges across sources:
    - JSFB/JSON provides wrestler + song names (highest priority)
    - PAC provides wrestler names from bank references (2K15-2K19)
    - PCK provides FileID->IndexId BNK event chain mappings

  For 2K15-2K19: Drop the unpacked audio PAC files (e.g. 0064.pac)
  For 2K20-2K25: Drop MusicList.jsfb and optionally music.pck
  
  You can drop an entire game's audio folder — SoundFactory picks what it needs.

EXAMPLE RESOLUTION
  2K25: FileID 620744854 -> BNK chain -> index 8 -> JSFB -> "John Cena - The Time Is Now"
  2K19: PAC SMCG -> ch_john_cena.bnk -> "John Cena"
