{
  "count": 1,
  "generated_at": "2026-10-20T02:57:31Z",
  "items": [
    {
      "id": "vkquake",
      "profile": {
        "core_classification": "game_engine",
        "core_version": "1.33.0",
        "cores": [
          "vkquake"
        ],
        "display_name": "Quake (vkQuake)",
        "emulator": "vkQuake",
        "files": [
          {
            "category": "game_data",
            "name": "pak0.pak",
            "note": "Shareware and registered Quake data, one file in both releases. Directory CRC compared to v1.00, v1.01, v1.06, but a mismatch does not refuse the file.",
            "path": "id1/pak0.pak",
            "required": true,
            "source_ref": "Quake/common.c:2241-2245 (pak%i.pak loop), 2496 (id1 by default); Quake/wad.c:80-87 (gfx.wad fatal)",
            "system": "quake"
          },
          {
            "category": "game_data",
            "name": "pak1.pak",
            "note": "Registered episodes 2 to 4. Read only after pak0.pak opens. Needed by -hipnotic, -rogue and -game.",
            "path": "id1/pak1.pak",
            "required": false,
            "source_ref": "Quake/common.c:2241-2245 (pak%i.pak loop), 1458-1470 (gfx/pop.lmp, registered check)",
            "system": "quake",
            "unsourceable": "retail data the collection does not hold, and a same-named file of another game must not stand in"
          },
          {
            "category": "game_data",
            "name": "pak0.pak",
            "note": "Scourge of Armagon data. Loaded with -hipnotic.",
            "path": "hipnotic/pak0.pak",
            "required": false,
            "source_ref": "Quake/common.c:2509-2510 (-hipnotic), 2241-2245 (pak%i.pak loop)",
            "system": "quake",
            "unsourceable": "retail data the collection does not hold, and a same-named file of another game must not stand in"
          },
          {
            "category": "game_data",
            "name": "pak0.pak",
            "note": "Dissolution of Eternity data. Loaded with -rogue.",
            "path": "rogue/pak0.pak",
            "required": false,
            "source_ref": "Quake/common.c:2507-2508 (-rogue), 2241-2245 (pak%i.pak loop)",
            "system": "quake",
            "unsourceable": "retail data the collection does not hold, and a same-named file of another game must not stand in"
          }
        ],
        "notes": "Vulkan Quake engine derived from QuakeSpasm. VKQUAKE_VERSION 1.33,\nVKQUAKE_VER_PATCH 0 (Quake/quakever.h:37-41). GAMENAME = \"id1\"\n(Quake/quakedef.h:37).\n\nCOM_InitFilesystem takes the base directory from -basedir, otherwise\nhost_parms->basedir (Quake/common.c:2463-2467). COM_AddGameDirectory\nopens <basedir>/<dir>/pak0.pak, pak1.pak, ... and stops at the first\nindex that does not open (Quake/common.c:2241-2245). Right after\nid1/pak0.pak it mounts vkquake.pak, built from Misc/vq_pak and embedded\nin the binary (Quake/common.c:2257-2282). It carries default.cfg, three\nmenu pictures and entity fixes, no gfx.wad and no palette.\n\ngfx.wad and gfx/colormap.lmp come from id1/pak0.pak, and without either the\nengine stops with Sys_Error (Quake/wad.c:80-87, Quake/host.c:1093-1095).\ngfx/pop.lmp, present only in the registered id1/pak1.pak, sets the\nregistered cvar (Quake/common.c:1458-1484).\n\nCOM_LoadPackFile compares the file count (339) and the CRC of the pak\ndirectory against id1/pak0.pak v1.00, v1.01 and v1.06\n(Quake/common.c:56-59, 2105-2118). A mismatch only sets com_modified;\nthe file is still mounted. With com_modified set and no gfx/pop.lmp the\nengine stops (Quake/common.c:1464-1470), so -game, -hipnotic and -rogue,\nwhose paks differ from id1/pak0.pak, need the registered id1/pak1.pak.\n\n-rogue and -hipnotic add rogue/ and hipnotic/ after id1/\n(Quake/common.c:2507-2510). Batocera 43.1 runs\n`vkquake -basedir /userdata/roms/quake` and adds -hipnotic or -rogue\nfrom the ROM name (configgen generators/vkquake/vkquakeGenerator.py).\n\nBackground music is streamed from <game>/music/trackNN.<ext>, ogg, opus,\nflac, mp3 and wav, when present (Quake/bgmusic.c:29, 321).\n",
        "profiled_date": "2026-10-17",
        "source": "https://github.com/Novum/vkQuake",
        "source_commit": "6f9c012a9176ee36663fd7a6d30b6291a0dbbcc1",
        "systems": [
          "quake"
        ],
        "type": "standalone",
        "upstream": "https://sourceforge.net/projects/quakespasm/"
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
