{"id":17013684,"url":"https://github.com/craftablescience/sourcepp","last_synced_at":"2026-01-03T21:16:13.053Z","repository":{"id":210466730,"uuid":"725304910","full_name":"craftablescience/sourcepp","owner":"craftablescience","description":"Several modern C++20 libraries for sanely parsing Valve's formats","archived":false,"fork":false,"pushed_at":"2024-10-29T21:39:45.000Z","size":95576,"stargazers_count":23,"open_issues_count":5,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-29T22:51:37.969Z","etag":null,"topics":["cpp","cpp-library","source-engine"],"latest_commit_sha":null,"homepage":"https://craftablescience.info/sourcepp/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/craftablescience.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"craftablescience"}},"created_at":"2023-11-29T21:37:27.000Z","updated_at":"2024-10-29T21:39:17.000Z","dependencies_parsed_at":"2024-05-07T23:31:24.128Z","dependency_job_id":"cc64a253-e883-46a8-9c4d-30a15687887c","html_url":"https://github.com/craftablescience/sourcepp","commit_stats":null,"previous_names":["craftablescience/studiomodelpp","craftablescience/sourcepp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craftablescience%2Fsourcepp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craftablescience%2Fsourcepp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craftablescience%2Fsourcepp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craftablescience%2Fsourcepp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/craftablescience","download_url":"https://codeload.github.com/craftablescience/sourcepp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243858929,"owners_count":20359259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","cpp-library","source-engine"],"created_at":"2024-10-14T06:13:57.942Z","updated_at":"2026-01-03T21:16:13.047Z","avatar_url":"https://github.com/craftablescience.png","language":"C++","readme":"\u003c!--suppress HtmlDeprecatedAttribute --\u003e\n\u003cdiv\u003e\n  \u003cimg align=\"left\" width=\"128px\" src=\"https://github.com/craftablescience/sourcepp/blob/main/branding/logo.png?raw=true\" alt=\"The Source Pretty Parsers logo. A printer-esque device is scanning a page with hex codes and printing a picture of Cordon Freeman.\" /\u003e\n  \u003ch1\u003eSource Pretty Parsers\u003c/h1\u003e\n\u003c/div\u003e\n\n\u003cdiv\u003e\n  \u003ca href=\"https://github.com/craftablescience/sourcepp/actions\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/craftablescience/sourcepp/build.yml?label=Build\u0026logo=github\u0026logoColor=%23FFFFFF\" alt=\"Build Status\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/craftablescience/sourcepp/blob/main/LICENSE\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg src=\"https://img.shields.io/github/license/craftablescience/sourcepp?label=License\u0026logo=libreofficewriter\u0026logoColor=%23FFFFFF\" alt=\"License\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/ASgHFkX\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg src=\"https://img.shields.io/discord/678074864346857482?label=Discord\u0026logo=Discord\u0026logoColor=%23FFFFFF\" alt=\"Discord\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://ko-fi.com/craftablescience\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg src=\"https://img.shields.io/badge/donate-006dae?label=Ko-fi\u0026logo=ko-fi\u0026logoColor=%23FFFFFF\u0026color=%23B238A1\" alt=\"Ko-Fi\" /\u003e\u003c/a\u003e\n\u003c/div\u003e\n\nSeveral modern C++20 libraries for sanely parsing Valve formats.\n\n## Other Languages\n\n\u003cdiv\u003e\n  \u003ca href=\"https://pypi.org/project/sourcepp\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg alt=\"Version\" src=\"https://img.shields.io/pypi/v/sourcepp?logo=python\u0026logoColor=%23FFFFFF\u0026label=PyPI%20Version\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/sourcepp\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg src=\"https://img.shields.io/pypi/pyversions/sourcepp?logo=python\u0026logoColor=%23FFFFFF\u0026label=Python%20Versions\" alt=\"Python Versions\" /\u003e\u003c/a\u003e\n\u003c/div\u003e\n\nWrappers for libraries considered complete exist for C, C#, and/or Python, depending on the library.\n\nThe Python wrappers can be found on PyPI in the [sourcepp](https://pypi.org/project/sourcepp) package.\n\n## Included Libraries\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003eLibrary\u003c/th\u003e\n    \u003cth\u003eSupports\u003c/th\u003e\n    \u003cth\u003eRead\u003c/th\u003e\n    \u003cth\u003eWrite\u003c/th\u003e\n    \u003cth\u003eBindings\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"1\"\u003e\u003ccode\u003ebsppp\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://developer.valvesoftware.com/wiki/BSP_(Source)\" target=\"_blank\" rel=\"noreferrer\"\u003eBSP\u003c/a\u003e v17-27\n      \u003cbr\u003e \u0026bull; Console modifications\n      \u003cbr\u003e \u0026bull; Left 4 Dead 2 modifications\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://stratasource.org\" target=\"_blank\" rel=\"noreferrer\"\u003eStrata Source\u003c/a\u003e modifications\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd rowspan=\"1\" align=\"center\"\u003ePython\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"1\"\u003e\u003ccode\u003efspp\u003c/code\u003e\u003csup\u003e*\u003c/sup\u003e\u003c/td\u003e\n    \u003ctd\u003eSource 1 filesystem accessor\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd rowspan=\"1\" align=\"center\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"3\"\u003e\u003ccode\u003egamepp\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eGet Source engine instance window title/position/size\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n    \u003ctd rowspan=\"3\" align=\"center\"\u003eC\u003cbr\u003ePython\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eRun commands in a Source engine instance remotely\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"5\"\u003e\u003ccode\u003ekvpp\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://developer.valvesoftware.com/wiki/DMX\" target=\"_blank\" rel=\"noreferrer\"\u003eDMX\u003c/a\u003e\n      \u003cbr\u003e \u0026bull; Legacy binary v1-2 encoding (\u003ccode\u003ebinary_vN\u003c/code\u003e)\n      \u003cbr\u003e \u0026bull; Legacy SFM v1-9 encoding (\u003ccode\u003esfm_vN\u003c/code\u003e)\n      \u003cbr\u003e \u0026bull; Binary v1-5, v9 encodings (\u003ccode\u003ebinary\u003c/code\u003e, \u003ccode\u003ebinary_seqids\u003c/code\u003e)\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://github.com/TeamSpen210/srctools\" target=\"_blank\" rel=\"noreferrer\"\u003esrctools\u003c/a\u003e encodings (\u003ccode\u003eunicode_*\u003c/code\u003e)\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n    \u003ctd rowspan=\"5\" align=\"center\"\u003ePython\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://developer.valvesoftware.com/wiki/KeyValues\" target=\"_blank\" rel=\"noreferrer\"\u003eKeyValues\u003c/a\u003e v1 Binary\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://developer.valvesoftware.com/wiki/KeyValues\" target=\"_blank\" rel=\"noreferrer\"\u003eKeyValues\u003c/a\u003e v1 Text\u003csup\u003e\u0026dagger;\u003c/sup\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"5\"\u003e\u003ccode\u003emdlpp\u003c/code\u003e\u003csup\u003e*\u003c/sup\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://developer.valvesoftware.com/wiki/MDL_(Source)\" target=\"_blank\" rel=\"noreferrer\"\u003eMDL\u003c/a\u003e v44-49\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n    \u003ctd rowspan=\"5\" align=\"center\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://developer.valvesoftware.com/wiki/VTX\" target=\"_blank\" rel=\"noreferrer\"\u003eVTX\u003c/a\u003e v7\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://developer.valvesoftware.com/wiki/VVD\" target=\"_blank\" rel=\"noreferrer\"\u003eVVD\u003c/a\u003e v4\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"3\"\u003e\u003ccode\u003esndpp\u003c/code\u003e\u003csup\u003e*\u003c/sup\u003e\u003c/td\u003e\n    \u003ctd\u003eWAV\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n    \u003ctd rowspan=\"3\" align=\"center\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eXWV v0-1, v4\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"5\"\u003e\u003ccode\u003esteampp\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003eFind Steam install folder\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e-\u003c/td\u003e\n    \u003ctd rowspan=\"5\" align=\"center\"\u003eC\u003cbr\u003ePython\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFind installed Steam games\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e-\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFind Steam game library assets\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e-\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"3\"\u003e\u003ccode\u003etoolpp\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://developer.valvesoftware.com/wiki/FGD\" target=\"_blank\" rel=\"noreferrer\"\u003eFGD (Source 1)\u003c/a\u003e\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://jack.hlfx.ru/en\" target=\"_blank\" rel=\"noreferrer\"\u003eJ.A.C.K.\u003c/a\u003e modifications\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://ficool2.github.io/HammerPlusPlus-Website\" target=\"_blank\" rel=\"noreferrer\"\u003eHammer++\u003c/a\u003e modifications\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://stratasource.org\" target=\"_blank\" rel=\"noreferrer\"\u003eStrata Source\u003c/a\u003e modifications\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd rowspan=\"3\" align=\"center\"\u003ePython\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://developer.valvesoftware.com/wiki/Command_Sequences\" target=\"_blank\" rel=\"noreferrer\"\u003eWC\u003c/a\u003e (CmdSeq) v0.1-0.2\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://stratasource.org\" target=\"_blank\" rel=\"noreferrer\"\u003eStrata Source\u003c/a\u003e modifications\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"3\"\u003e\u003ccode\u003evcryptpp\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://developer.valvesoftware.com/wiki/VICE\" target=\"_blank\" rel=\"noreferrer\"\u003eVICE\u003c/a\u003e encrypted files\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd rowspan=\"3\" align=\"center\"\u003eC\u003cbr\u003eC#\u003cbr\u003ePython\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://developer.valvesoftware.com/wiki/Vfont\" target=\"_blank\" rel=\"noreferrer\"\u003eVFONT\u003c/a\u003e encrypted fonts\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"33\"\u003e\u003ccode\u003evpkpp\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e007 v1.1, v1.3 (007 - Nightfire)\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n    \u003ctd rowspan=\"33\" align=\"center\"\u003eC\u003cbr\u003eC#\u003cbr\u003ePython\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eAPK (Fairy Tale Busters)\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFGP v2-3 (PS3, Orange Box)\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFPX v10 (Tactical Intervention)\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://developer.valvesoftware.com/wiki/GCF_archive\" target=\"_blank\" rel=\"noreferrer\"\u003eGCF\u003c/a\u003e v6\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eGMA v1-3 (Garry's Mod)\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eHOG (Descent)\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eOL (Worldcraft Object Library)\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eORE (Narbacular Drop)\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://quakewiki.org/wiki/.pak\" target=\"_blank\" rel=\"noreferrer\"\u003ePAK\u003c/a\u003e (Quake, WON Half-Life)\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://en.wikipedia.org/wiki/Sin_(video_game)\" target=\"_blank\" rel=\"noreferrer\"\u003eSiN\u003c/a\u003e modifications\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://store.steampowered.com/app/824600/HROT\" target=\"_blank\" rel=\"noreferrer\"\u003eHROT\u003c/a\u003e modifications\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://docs.godotengine.org/en/stable/tutorials/export/exporting_pcks.html\" target=\"_blank\" rel=\"noreferrer\"\u003ePCK\u003c/a\u003e v1-2 (Godot Engine)\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://developer.valvesoftware.com/wiki/VPK\" target=\"_blank\" rel=\"noreferrer\"\u003eVPK\u003c/a\u003e pre-v1, v1-2, v54\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://www.counter-strike.net/cs2\" target=\"_blank\" rel=\"noreferrer\"\u003eCounter-Strike: 2\u003c/a\u003e modifications\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://clientmod.ru\" target=\"_blank\" rel=\"noreferrer\"\u003eCounter-Strike: Source ClientMod\u003c/a\u003e modifications\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eVPK (Vampire: The Masquerade - Bloodlines)\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eVPP v1-3 (Red Faction)\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eWAD v3\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eXZP v6 (Xbox, Half-Life 2)\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      ZIP\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://github.com/BEEmod/BEE2-items\" target=\"_blank\" rel=\"noreferrer\"\u003eBEE_PACK\u003c/a\u003e alias (BEE2.4 Package)\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://developer.valvesoftware.com/wiki/Bonus_Maps\" target=\"_blank\" rel=\"noreferrer\"\u003eBMZ\u003c/a\u003e alias (Source 1 Bonus Maps)\n      \u003cbr\u003e \u0026bull; FPK alias (Tactical Intervention)\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://doomwiki.org/wiki/PK3\" target=\"_blank\" rel=\"noreferrer\"\u003ePK3\u003c/a\u003e alias (Quake III)\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://doomwiki.org/wiki/PK4\" target=\"_blank\" rel=\"noreferrer\"\u003ePK4\u003c/a\u003e alias (Quake IV, Doom 3)\n      \u003cbr\u003e \u0026bull; PKZ alias (Quake II RTX)\n      \u003cbr\u003e \u0026bull; XZP2 modifications (X360 \u0026 PS3, misc. Source 1 titles)\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"37\"\u003e\u003ccode\u003evtfpp\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://wiki.mozilla.org/APNG_Specification\" target=\"_blank\" rel=\"noreferrer\"\u003eAPNG\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n    \u003ctd rowspan=\"37\" align=\"center\"\u003eC\u003cbr\u003ePython\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://en.wikipedia.org/wiki/BMP_file_format\" target=\"_blank\" rel=\"noreferrer\"\u003eBMP\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://openexr.com\" target=\"_blank\" rel=\"noreferrer\"\u003eEXR\u003c/a\u003e v1\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFRAMES (PS3, Orange Box)\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://en.wikipedia.org/wiki/GIF\" target=\"_blank\" rel=\"noreferrer\"\u003eGIF\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://en.wikipedia.org/wiki/RGBE_image_format\" target=\"_blank\" rel=\"noreferrer\"\u003eHDR\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://en.wikipedia.org/wiki/JPEG\" target=\"_blank\" rel=\"noreferrer\"\u003eJPEG\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003ePIC\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://en.wikipedia.org/wiki/PNG\" target=\"_blank\" rel=\"noreferrer\"\u003ePNG\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://netpbm.sourceforge.net/doc/pnm.html\" target=\"_blank\" rel=\"noreferrer\"\u003ePNM\u003c/a\u003e (PGM, PPM)\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://developer.valvesoftware.com/wiki/PPL\" target=\"_blank\" rel=\"noreferrer\"\u003ePPL\u003c/a\u003e v0\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.adobe.com/creativecloud/file-types/image/raster/psd-file.html\" target=\"_blank\" rel=\"noreferrer\"\u003ePSD\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://qoiformat.org\" target=\"_blank\" rel=\"noreferrer\"\u003eQOI\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://developer.valvesoftware.com/wiki/Animated_Particles\" target=\"_blank\" rel=\"noreferrer\"\u003eSHT\u003c/a\u003e v0-1\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://en.wikipedia.org/wiki/Truevision_TGA\" target=\"_blank\" rel=\"noreferrer\"\u003eTGA\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eTTX (TTH, TTZ) v1.0\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eVBF v3\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e❌\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://developer.valvesoftware.com/wiki/VTF_(Valve_Texture_Format)\" target=\"_blank\" rel=\"noreferrer\"\u003eVTF\u003c/a\u003e v7.0-7.6\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://stratasource.org\" target=\"_blank\" rel=\"noreferrer\"\u003eStrata Source\u003c/a\u003e modifications\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://developer.valvesoftware.com/wiki/Half-Life_2_(Xbox)/Modding_Guide\" target=\"_blank\" rel=\"noreferrer\"\u003eXTF\u003c/a\u003e v5.0 (Xbox, Half-Life 2)\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://developer.valvesoftware.com/wiki/VTFX_file_format\" target=\"_blank\" rel=\"noreferrer\"\u003eVTFX\u003c/a\u003e v8 (X360 \u0026amp; PS3, Orange Box)\n      \u003cbr\u003e \u0026bull; \u003ca href=\"https://developer.valvesoftware.com/wiki/VTFX_file_format\" target=\"_blank\" rel=\"noreferrer\"\u003eVTF3\u003c/a\u003e v8 (PS3, Portal 2 \u0026amp; CS:GO)\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c!-- empty row to disable GitHub striped bg color --\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://developers.google.com/speed/webp\" target=\"_blank\" rel=\"noreferrer\"\u003eWebP\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e✅\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n(\\*) These libraries are incomplete and still in development. Their interfaces are unstable and will likely change in the future.\nLibraries not starred should be considered stable, and their existing interfaces will not change much if at all. Note that wrappers\nonly exist for stable libraries.\n\n(\u0026dagger;) Many text-based formats in Source are close to (if not identical to) KeyValues v1, such as [VMT](https://developer.valvesoftware.com/wiki/VMT) and [VMF](https://developer.valvesoftware.com/wiki/VMF_(Valve_Map_Format)).\n\n## Gallery\n\nAnything using the `sourcepp` parser set that I know of, directly or indirectly.\n\nThese are only the tools and games using `sourcepp` that I know of. If you would like to be listed here, [email me](mailto:lauralewisdev@gmail.com) or [join my Discord server](https://discord.gg/ASgHFkX), I'd love to hear from you!\n\n### Tools\n\n- [fgptool](https://github.com/craftablescience/fgptool): A tool to crack the filepath hashes in The Orange Box PS3 file groups.\n- [gimp-vtf](https://github.com/chev2/gimp-vtf): A GIMP plugin to load and save VTF files.\n- [gm_addon_optimization_tricks](https://github.com/wrefgtzweve/gm_addon_optimization_tricks): A desktop tool to optimize Garry's Mod addons/maps.\n- [GodotSource](https://github.com/craftablescience/godotsource): A work-in-progress set of bindings to connect the `sourcepp` libraries to Godot. Allows GDScript to work with the libraries, and allows Godot to directly load Source engine assets from a user project or from installed Source games.\n- [MareTF](https://github.com/craftablescience/MareTF): An open source MIT-licensed CLI/GUI tool that can create, extract from, preview the contents of and write to every variant of VTF file. Replicates the functionality of Valve's `vtex.exe` and VTFEdit.\n- [Myst IV: Revolution](https://github.com/tomysshadow/M4Revolution): Performs various fixes for the game Myst IV: Revelation.\n- [PBR-2-Source](https://github.com/koerismo/PBR-2-Source): A Python-powered GUI for converting PBR materials into materials compatible with the Source engine.\n- [QVTF++](https://github.com/craftablescience/qvtfpp): A QImageIO plugin to load VTF textures, based on panzi's QVTF plugin.\n- [RectMaker](https://github.com/cplbradley/RectMaker): A freeware GUI tool that can create and modify `.rect` files used in Hammer++'s hotspotting algorithm.\n- [reloaded2ps3](https://github.com/craftablescience/reloaded2ps3): Convert the PC version of Portal Reloaded to a playable PS3 game.\n- [Verifier](https://github.com/StrataSource/verifier): A small program that can build an index of a game's files, and validate existing files based on that index. Similar to Steam's \"Verify integrity of game files\" option, but without overwriting any files.\n- [VPKEdit](https://github.com/craftablescience/VPKEdit): An open source MIT-licensed CLI/GUI tool that can create, extract from, preview the contents of and write to several pack file formats. Replicates the functionality of Valve's `vpk.exe` and GCFScape.\n  - [bsp-linux-fix](https://github.com/dresswithpockets/bsp-linux-fix): Patches maps which have improperly cased packed assets by repacking the assets, fixing an issue on Linux.\n  - [CS2-EomVotesFix](https://github.com/Kitof/CS2-EomVotesFix): Fixes displaying workshop map names and thumbnails during end-of-match voting for LAN events.\n  - [dham](https://github.com/Seraphli/dham): Modifies Dota 2 hero aliases based on a configuration file and packages the changes.\n  - [Linux BSP Case Folding Workaround](https://github.com/scorpius2k1/linux-bsp-casefolding-workaround): A bash script designed to resolve issues with improperly cased packed map assets in Source engine games on Linux. Extracting the assets allows the game to find them properly.\n  - [props_scaling_recompiler](https://github.com/Ambiabstract/props_scaling_recompiler): Allows converting `prop_scalable` into a static prop, effectively implementing static prop scaling outside CS:GO.\n  - [rock:sail](https://github.com/Le0X8/rocksail): CS2 client-side tool to use skins for free (only visible to the user of the tool).\n  - [vpk2wad_nd](https://github.com/p2r3/vpk2wad_nd): Converts textures in a VPK to a WAD that can be used by Narbacular Drop maps.\n- [VTF Forge](https://github.com/Trico-Everfire/VTF-Forge): A modern multiplatform recreation of VTFEdit, using Qt.\n- [VTF Thumbnailer](htps://github.com/craftablescience/vtf-thumbnailer): Adds previews for VTF files in your file explorer of choice on Windows and Linux.\n\n### Games\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://store.steampowered.com/app/440000/Portal_2_Community_Edition/\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg width=\"250px\" src=\"https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/440000/header.jpg\" alt=\"Portal 2: Community Edition\"/\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\n      \u003cul\u003e\n        \u003cli\u003eLocal addon assets are packed with \u003ccode\u003esourcepp\u003c/code\u003e.\u003c/li\u003e\n        \u003cli\u003eVerifier and VPKEdit are shipped with the game.\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://store.steampowered.com/app/669270/Momentum_Mod/\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg width=\"250px\" src=\"https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/669270/header.jpg\" alt=\"Momentum Mod\"/\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\n      \u003cul\u003e\n        \u003cli\u003eSome bundled textures are created and/or compressed with MareTF.\u003c/li\u003e\n        \u003cli\u003eSome bundled assets are packed with VPKEdit.\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://store.steampowered.com/app/2954780/Nightmare_House_The_Original_Mod/\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg width=\"250px\" src=\"https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/2954780/header.jpg\" alt=\"Nightmare House: The Original Mod\"/\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\n      \u003cul\u003e\n        \u003cli\u003eGame assets are packed with VPKEdit.\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Special Thanks\n\n- `bsppp` partial library redesign, lump compression and game lump parsing/writing support contributed by [@Tholp](https://github.com/Tholp1).\n- `dmxpp`'s support for srctools formats was contributed by [@TeamSpen210](https://github.com/TeamSpen210).\n- `steampp` is based on the [SteamAppPathProvider](https://github.com/Trico-Everfire/SteamAppPathProvider) library by [@Trico Everfire](https://github.com/Trico-Everfire) and [Momentum Mod](https://momentum-mod.org) contributors.\n- `vpkpp`'s 007 parser is based on [reverse-engineering work](https://raw.githubusercontent.com/SmileyAG/dumpster/refs/heads/src_jb007nightfirepc_alurazoe/file_format_analysis.txt) by Alhexx.\n- `vpkpp`'s GCF parser was contributed by [@eepycats](https://github.com/eepycats) and [@ymgve](https://github.com/ymgve).\n- `vpkpp`'s HOG parser was contributed by [@erysdren](https://github.com/erysdren).\n- `vpkpp`'s OL parser is based on [reverse-engineering work](https://github.com/erysdren/scratch/blob/main/kaitai/worldcraft_ol.ksy) by [@erysdren](https://github.com/erysdren).\n- `vpkpp`'s ORE parser is based on [reverse-engineering work](https://github.com/erysdren/narbacular-drop-tools) by [@erysdren](https://github.com/erysdren).\n- `vpkpp`'s VPP parser was contributed by [@erysdren](https://github.com/erysdren).\n- `vpkpp`'s WAD3 parser/writer was contributed by [@ozxybox](https://github.com/ozxybox).\n- `vtfpp`'s NICE/Lanczos-3 resize filter support was contributed by [@koerismo](https://github.com/koerismo).\n- `vtfpp`'s SHT parser/writer was contributed by [@Trico Everfire](https://github.com/Trico-Everfire).\n- `vtfpp`'s initial VTF write support was loosely based on work by [@Trico Everfire](https://github.com/Trico-Everfire).\n- `vtfpp`'s HDRI to cubemap conversion code is modified from the [HdriToCubemap](https://github.com/ivarout/HdriToCubemap) library by [@ivarout](https://github.com/ivarout).\n","funding_links":["https://ko-fi.com/craftablescience"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraftablescience%2Fsourcepp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcraftablescience%2Fsourcepp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraftablescience%2Fsourcepp/lists"}