{"id":17274199,"url":"https://github.com/kristiker/source1import","last_synced_at":"2025-04-08T03:20:32.254Z","repository":{"id":37990366,"uuid":"332276249","full_name":"kristiker/source1import","owner":"kristiker","description":"Import Source game content into Source 2","archived":false,"fork":false,"pushed_at":"2025-02-28T12:55:47.000Z","size":6436,"stargazers_count":67,"open_issues_count":17,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T22:03:06.359Z","etag":null,"topics":["converter","game-assets","python","source-engine","source2"],"latest_commit_sha":null,"homepage":"","language":"Python","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/kristiker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-01-23T18:08:17.000Z","updated_at":"2025-02-28T12:55:50.000Z","dependencies_parsed_at":"2024-01-02T16:27:01.097Z","dependency_job_id":"0f827122-5bb4-4f42-8ce7-dc8c8122b60f","html_url":"https://github.com/kristiker/source1import","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kristiker%2Fsource1import","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kristiker%2Fsource1import/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kristiker%2Fsource1import/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kristiker%2Fsource1import/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kristiker","download_url":"https://codeload.github.com/kristiker/source1import/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247767325,"owners_count":20992569,"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":["converter","game-assets","python","source-engine","source2"],"created_at":"2024-10-15T08:53:20.982Z","updated_at":"2025-04-08T03:20:32.226Z","avatar_url":"https://github.com/kristiker.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# source1import\r\nSet of scripts for importing Source 1 assets such as materials, models, and particle effects into Source 2. Inspired by Valve's own import utility also named source1import.\r\n\r\nThe main difference is this one is open source so you can customize it (i.e. use different shader sets). \r\n\r\nBased off of [source2utils](https://github.com/AlpyneDreams/source2utils).\r\n\r\n\u003e [!WARNING]\r\n\u003e This tool has a number of disadvantages over the built-in [CS2 Import Scripts](https://github.com/andreaskeller96/cs2-import-scripts). Including:\r\n\u003e * No PBR material conversion. So your textures will look dark and flat.\r\n\u003e * No map converter.\r\n\u003e * Cannot filter assets by map.\r\n\r\n\u003e [!Note]\r\n\u003e However there may be some features you might find useful such as:\r\n\u003e * Support for texture ANIMATION\r\n\u003e * Support for SKYBOX materials\r\n\u003e * Support for material proxies (quite basic, but [this one](https://www.youtube.com/watch?v=g7xpRSqHV5g) for example works)\r\n\r\n## Usage\r\n#### Download from here: [Releases](https://github.com/kristiker/source1import/releases)\r\n#### Note:\r\n* Make sure to move the entire s1 `models` folder to `content/` **before importing**.\r\n* Make sure to move the entire s1 `sound` folder to `content/` and rename it to `sounds`. No import necessary.\r\n* Make sure to have `gameinfo.txt` present in Import Game.\r\n* Make sure to read [this guide](https://developer.valvesoftware.com/wiki/Half-Life:_Alyx_Workshop_Tools/Importing_Source_1_Maps) for importing map files.\r\n* Materials won't be PBR ready. so you need to use some other post-conversion tool.\r\n\r\n## Advanced Usage:\r\n### CLI:\r\n```bash\r\ncd utils\r\npython scripts_import.py   -i \"C:/.../Team Fortress 2/tf\" -e \"D:/Games/steamapps/common/sbox/addons/tf_source2\" -b sbox\r\npython particles_import.py -i \"C:/.../Portal 2/portal2\" -e \"C:/.../Half-Life Alyx/game/hlvr_addons/portal2\"\r\npython scenes_import.py    -i \"C:/.../Half-Life Alyx/game/lostcoast\" -e hlvr_addons/lostcoast\r\npython models_import.py    -i \"C:/.../Half-Life Alyx/game/l4d2\" -e l4d2_source2\r\npython materials_import.py -i \"C:/.../Half-Life Alyx/game/ep2\" -e hlvr  \"materials/skybox\"\r\n```\r\n* **-i** *\\\u003cdir\\\u003e*  This should be an absolute path pointing into a source1 game directory containing gameinfo.txt   \r\n* **-e** *\\\u003cdir/modname\\\u003e*  Path to source2 mod/addon folder. \\\u003c*modname*\\\u003e (short notation also allowed e.g. `-e portal2_imported`, provided the game folders sit next to eachother)\r\n* **-b** *\\\u003cbranch\\\u003e* Switch to a different branch. Default is `hlvr`. Other branches include `steamvr` `adj` `sbox` `cs2` `dota2`, ordered by magnitude of support.\r\n* **[filter]** Optionally a path at the end can be added as a filter.\r\n### Requirements (dev):\r\n* [Python](https://www.python.org/downloads/) \u003e= 3.10  \r\n* `pip install -r requirements.txt`\r\n## Results\r\n### [CS:GO Taser - Streamable](https://streamable.com/eders9)\r\n\u003cimg src=\"https://i.imgur.com/qxNDhEE.jpeg\" width=100%\u003e\r\n\u003cimg src=\"https://i.imgur.com/zhHOMWJ.png\" width=100%\u003e\r\n* maps converted via built-in hammer 5 funcionality\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkristiker%2Fsource1import","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkristiker%2Fsource1import","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkristiker%2Fsource1import/lists"}