{"id":49102523,"url":"https://github.com/touhouworldcup/thprac","last_synced_at":"2026-04-23T23:04:16.303Z","repository":{"id":37446693,"uuid":"478591658","full_name":"touhouworldcup/thprac","owner":"touhouworldcup","description":"A tool for practicing Touhou shmups.","archived":false,"fork":false,"pushed_at":"2026-04-20T22:53:29.000Z","size":19944,"stargazers_count":378,"open_issues_count":148,"forks_count":39,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-04-21T00:40:15.762Z","etag":null,"topics":["anime","c-plus-plus","cheats","dll-injection","game-mod-tool","game-modding","game-patch","game-patcher","shmup","touhou","touhou-project"],"latest_commit_sha":null,"homepage":"","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/touhouworldcup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":null,"code_of_conduct":"CODE_OF_CONDUCT","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"ko_fi":"32th"}},"created_at":"2022-04-06T14:18:07.000Z","updated_at":"2026-04-20T22:53:31.000Z","dependencies_parsed_at":"2026-03-09T04:01:37.623Z","dependency_job_id":null,"html_url":"https://github.com/touhouworldcup/thprac","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/touhouworldcup/thprac","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/touhouworldcup%2Fthprac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/touhouworldcup%2Fthprac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/touhouworldcup%2Fthprac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/touhouworldcup%2Fthprac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/touhouworldcup","download_url":"https://codeload.github.com/touhouworldcup/thprac/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/touhouworldcup%2Fthprac/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32201871,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T20:19:26.138Z","status":"ssl_error","status_checked_at":"2026-04-23T20:19:23.520Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["anime","c-plus-plus","cheats","dll-injection","game-mod-tool","game-modding","game-patch","game-patcher","shmup","touhou","touhou-project"],"created_at":"2026-04-21T00:08:57.370Z","updated_at":"2026-04-23T23:04:16.290Z","avatar_url":"https://github.com/touhouworldcup.png","language":"C++","funding_links":["https://ko-fi.com/32th","https://ko-fi.com/V7V7O03J4"],"categories":[],"sub_categories":[],"readme":"## [简体中文](/README_CN.md) [日本語](/README_JP.md)\n\n# **thprac**\n\u003e thprac is a tool for practicing Touhou shmups.\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/V7V7O03J4)\n\n## [Download](https://github.com/touhouworldcup/thprac/releases/latest) - [Download Beta](https://nightly.link/touhouworldcup/thprac/workflows/main/master/thprac.zip)\n\u003e Note that beta versions will only update to the next stable version, not the next beta version.\n\n## **Table of Contents**\n* [Downloading](#downloading)\n* [Usage](#usage)\n* [Compatability](#compatability)\n* [Features](#-features)\n* [Quick Menu](#quick-menu)\n* [Advanced Options](#advanced-options)\n* [Game Specific Features](#game-specific-features)\n* [Credits](#credits)\n* [Building from Source](#building-from-source)\n* [FAQ](#faq)\n\n## \u003ca name=\"downloading\"\u003e\u003c/a\u003e **Downloading**\nIf you want to download the tool, you can download the [latest release](https://github.com/touhouworldcup/thprac/releases/latest) here and the [latest beta](https://nightly.link/touhouworldcup/thprac/workflows/main/master/thprac.zip) here. Do note that the latest beta will update into the next stable release and NOT the next beta release.\n\n## \u003ca name=\"usage\"\u003e\u003c/a\u003e **Usage**\nYou can use this tool in a variety of ways; the main ways to do this are **placing the executable in the same folder as your game**, **running the executable after running your game**, or **using thprac's launcher**.\n\n### **thprac in the Game Folder**\n**This method will NOT work with Steam games.** You can run thprac by placing the `thprac.exe` file in the same folder as your game. This method will also automatically detect vpatch. You must ensure that the game is updated to the latest version and follows one of the following naming schemes. This method also works with vpatch.\n- thXX.exe (most games)\n- 東方紅魔郷.exe (Embodiment of Scarlet Devil)\n- alcostg.exe (Uwabami Breakers)\n\n### **thprac after Running the Game**\n**This method will work for most methods.** First, run the game in whichever method you want (whether it's thcrap, using vpatch, Steam, etc.) and then run `thprac.exe`. thprac will then detect the running game and attempt to attach itself to it. You may have to return to the menu screen to see thprac take effect.\n\n### **thprac Using the Launcher**\nThis video explains how to use the launcher.\n[![A quick and dirty overview of thprac 2.0](https://i.ytimg.com/vi/sRV4PDQceYo/maxresdefault.jpg)](https://www.youtube.com/watch?v=sRV4PDQceYo)\n\n### Command line\nThe following command line options are supported:\n- `\u003cpath to game exe\u003e` The command `thprac.exe \u003cpath to game exe\u003e` will run a game and attach thprac without any confirmation prompt. This makes it possible to drag a Touhou game executable onto thprac.exe and it will run with thprac.\n- `--attach \u003cpid\u003e` immediately inject thprac into a process with ID `\u003cpid\u003e` without any confirmation prompts.\n- `--attach` (without any other flags). The command `thprac.exe --attach` will attach thprac to the first Touhou game process it finds without opening any kind of confirmation prompt.\n- `--without-vpatch` Prevent automatically applying vpatch.\n\nExample commands:\n```\nthprac.exe --attach 1234\nthprac.exe --attach\nthprac.exe C:\\Users\\Name\\Desktop\\Games\\Touhou\\th17\\th17.exe\nthprac.exe --without-vpatch C:\\Users\\Name\\Desktop\\Games\\Touhou\\th17\\th17.exe\n```\n\n## \u003ca name=\"compatability\"\u003e\u003c/a\u003e **Compatability**\nthprac officially supports every version of Windows starting with **Windows Vista**. Windows XP may work using [One-Core-API](https://github.com/Skulltrail192/One-Core-API-Binaries), but this is **NOT** being actively tested.\n\nthprac is also compatible with **Wine** and the Steam Deck. Do note that the Quick Menu is tailored to work well with the Steam Deck, although this is untested.\n\n## \u003ca name=\"features\"\u003e\u003c/a\u003e **Features**\n\nthprac features an enhanced practice mode that supports all main games along with Great Fairy Wars and Uwabami Breakers.\n\n![Unconnected Marketeers](https://user-images.githubusercontent.com/23106652/174433923-0a6069e7-d10d-4107-8f0d-f4a8a9d56976.png)\n\n![Imperishable Night](https://user-images.githubusercontent.com/23106652/174433975-8f23b0b0-e48e-4be1-8cb7-d8e3e7ab6b8e.png)\n\nthprac replaces the original practice menu with a new UI shown in the image above; certain spells allow you to select phases or change certain parameters. For the games without an original practice mode (Uwabami Breakers, Great Fairy War, etc.), a practice menu is added to the \"Start Game\" menu.\n\n![Uwabami Breakers](https://user-images.githubusercontent.com/23106652/174434103-5fee7a13-0254-4602-a468-42330b985bb2.png)\n![Great Fairy Wars](https://user-images.githubusercontent.com/23106652/174434121-063142f2-ef3d-4721-ab96-a252343cdb0e.png)\n\nThis menu can be controlled using your keyboard or your controller. Using this, you can select options using the **UP** and **DOWN** keys and change the option using the **LEFT** and **RIGHT** keys and the **SHOT** key to select. You can also use your mouse to interact with the menu.\n\nthprac will also automatically save the options you selected into any replay saved. When playing back the replay, thprac will automatically apply said options. **Replays saved while thprac is active using \"Custom\" mode will NOT work with the unmodified game.**\n\n## \u003ca name=\"quick-menu\"\u003e\u003c/a\u003e **Quick Menu**\nIn any supported game **(except Touhou 9 and 19)**, you can press the **`Backspace`** key to enter the Quick Menu. This menu shows a variety of options that can be activated using the function (F) keys.\n\nThese options are always clickable, meaning you can interact with them using a mouse on a desktop computer or by tapping on them with your left thumb when using a Steam Deck. To use this feature on the Steam Deck, map the **`Backspace`** key in Steam Input.\n\nThe hotkey for this menu can be changed from the launcher's settings tab to a different key or combination of keys if you want it bound to something else.\n\n![Unconnected Marketeers](https://user-images.githubusercontent.com/23106652/174434813-73748a66-0f6d-4c6e-9f3a-895a49b93434.png)\n![Wily Beast and Weakest Creature](https://user-images.githubusercontent.com/23106652/174434834-6bd93104-1ed2-48ae-a440-9d9cb871ea03.png)\n\n## \u003ca name=\"advanced-options\"\u003e\u003c/a\u003e **Advanced Options**\nIn any supported game **(except Touhou 9 and 19)**, you may use the **`F12`** key to access the Advanced Options; these options may offer fixes or patches related to the game or other quality of life features.\n\nLike the Quick Menu, the hotkey for this can also be changed from the launcher's settings tab.\n\n![Imperishable Night](https://user-images.githubusercontent.com/23106652/174434977-683da583-324b-4bd5-8408-13373dfd5a93.png)\n![Unconnected Marketeers](https://user-images.githubusercontent.com/23106652/174435006-e906d30d-0ef5-4930-ae57-1f0919beb5af.png)\n\n## \u003ca name=\"game-specific-features\"\u003e\u003c/a\u003e **Game-specific Features**\n### 100th BM - Force Wave\n![100th Black Market](https://github.com/touhouworldcup/thprac/assets/23106652/02c55e5e-5c89-462f-beea-9ab07cbb1051)\n\nIf thprac is enabled using \"Custom\" mode, the popup above will appear when the game is about to choose a wave.\n\n### PoFV - Tools\n![Phantasmagoria of Flower View](https://user-images.githubusercontent.com/23106652/174434249-2bf1d70a-101c-4538-a4e6-8eeaf273dd88.png) \n\nWhen starting a game in Match Mode, you can select \"Custom\" in a \"Mode\" prompt. If you do that, this window will appear in your game. You can move and adjust this window as much as you want. This replaces Advanced Options and can be opened with **`F12`**. \n\n### UDoALG - Tools\n![TH19 Tools](https://github.com/touhouworldcup/thprac/assets/23106652/a2cdb385-b61d-4111-af6b-b195e85bf18a)\n\nIt's just like PoFV Tools, but for UDoALG.\n\n### EoSD - Pause Menu\n![TH06](https://user-images.githubusercontent.com/23106652/174436027-734d642a-300c-45ab-9591-b6219aca087b.png)\n\nChoosing \"Exit\" will now prompt you to save a replay. \n\n**Warning**: replays saved like this will continue after the point you chose to save the replay. The player character will stand still and not shoot.\n\n### ESC + R fix for EoSD, VD and beyond\n\n## \u003ca name=\"credits\"\u003e\u003c/a\u003e **Credits (post May 27th, 2022)**\n- Development: [32th System](https://www.youtube.com/channel/UChyVpooBi31k3xPbWYsoq3w), [muter3000](https://github.com/muter3000), [zero318](https://github.com/zero318), [Lmocinemod](https://github.com/Lmocinemod), [Cao Minh](https://github.com/hoangcaominh), [raviddog](https://github.com/raviddog) \n- Chinese translations: [CrestedPeak9](https://twitter.com/CrestedPeak9), maksim71_doll, DeepL\n- Japanese translations: [Yu-miya](https://www.twitch.tv/toho_yumiya), [wefma](https://github.com/wefma), CyrusVorazan, DeepL\n- Moving all reports from the [old bugtracker](https://github.com/ack7139/thprac/issues) [here](https://github.com/touhouworldcup/thprac/issues): [toimine](https://www.youtube.com/channel/UCtxu8Rg0Vh8mX6iENenetuA)\n- English README.md: [Galagyy](https://github.com/Galagyy)\n- Chinese README.md translation: [TNT569](https://github.com/TNT569), [H-J-Granger](https://github.com/H-J-Granger)\n- Japanese README.md translation: [wefma](https://github.com/wefma)\n\n## \u003ca name=\"building-from-source\"\u003e\u003c/a\u003e **Building from Source**\n### First time setup (only needs to be performed once)\nInside the folder named thprac, compile loc_json.cpp into loc_json.exe in whatever way you like most. I recommend this command\n```\ncl /Isrc\\3rdparties\\yyjson /nologo /EHsc /O2 /std:c++20 loc_json.cpp .\\src\\3rdParties\\yyjson\\yyjson.c /Fe:loc_json.exe\n```\n\n### Building on the command line\nIn a Visual Studio Developer Command Prompt, run the following command\n```\nmsbuild thprac.sln -t:restore,build -p:RestorePackagesConfig=true,Configuration=Release\n```\n\n### Building from the Visual Studio GUI\nOpen `thprac.sln` click on \"Build\", then \"Build solution\"\n\n## \u003ca name=\"faq\"\u003e\u003c/a\u003e **Frequently Asked Questions (FAQ)**\n\n### General\n\n#### Why did thprac move?\nThe original developer, Ack, has indefinitely ceased all future development of thprac/Marketeer. Below is their statement:\n\u003e I will indefinitely cease all future development on thprac/Marketeer, you are free to continue working on it, granting that you follow the license's terms.  \n\u003e Due to my insufficient skill, the code is glutted with obscure writings and terrible logic, turning the whole thing into a complete mess. I'm sorry if that disturbs you.  \n\nAck cannot be contacted at this time, and development has been taken over by others.\n\n#### My antivirus says thprac is malware. Is it safe?\nThprac contains no malicious code, but its behavior may trigger your antivirus. If flagged, add an exception or trust rule in your antivirus to allow thprac to work. Alternatively, you can try [this version](https://github.com/touhouworldcup/thprac/issues/112) and report back if the issue persists.\n\n---\n\n### Compatibility\n\n#### Does thprac work with English patches?\nThprac is compatible with **thcrap** and can function as a thcrap launcher, similar to the [Universal THCRAP Launcher](https://github.com/thpatch/Universal-THCRAP-Launcher/). It does not support static English patches, like those created by gensokyo.org.\n\n---\n\n#### thprac cannot find Embodiment of Scarlet Devil. What should I do?\n\nEnsure your executable is named either `東方紅魔郷.exe` or `th06.exe`. If thprac still fails to detect it, you can manually launch the game with any filename through the launcher, which will attach thprac to the game.\n\n---\n\n### Features\n\n#### How do I save a replay mid-game in TH06-10?\nSaving replays mid-game is not supported due to technical limitations. As per the thprac 2.0.8.3 manual:\n\u003e Because of how these games were programmed, adding this feature would be quite troublesome, so currently there's no direct solution to this.  \n\nHowever, EoSD now supports this functionality.\n\nNote: replays saved mid-game do not return to the title screen after the save point.\n\n---\n\n#### What does \"Everlasting BGM\" mean?\nThis option prevents the background music (BGM) from resetting when you restart the game.\n\n---\n\n#### What does \"Coercive Reporting\" mean? (Shoot the Bullet/Double Spoiler)\nThis feature locks the camera onto the boss at all times and eliminates the camera's recharge time.\n\n---\n\n#### How do I switch languages?\n- The launcher automatically selects its language based on your Windows settings.  \n- To change the language in-game, use the shortcuts:  \n  - **`ALT + 1`**: Japanese \n  - **`ALT + 2`**: Chinese \n  - **`ALT + 3`**: English \n\nThe hotkey for changing languages can be changed from the launcher's settings tab.\n\nThese shortcuts do not work in the launcher itself. Refer to the video in the **\"How to Use\"** section for detailed instructions.\n\n---\n\n### Bug Reporting\n\n#### Where can I report bugs?\nVisit the [Issues tab on GitHub](https://github.com/touhouworldcup/thprac/issues) to report bugs or suggest improvements.\n\n---\n\n### Technical Issues\n\n#### Unsupported VsyncPatch version in advanced options\nEnsure you're using a compatible version of VsyncPatch. You can download it from [here](https://maribelhearn.com/tools#vpatch). Use DLLs from **rev7** whenever possible.\n\n---\n\n#### FPS adjustment seems to be broken when using vpatch\n\nSome tools, like \"DX8 to DX9 Converter,\" conflict with VsyncPatch. Replay speed adjustment (slowdown/speedup) is only supported in **TH13**.\n\n---\n\n### Game-Specific\n\n#### What is \"DDC - Marisa Laser Related\"?\nThis fixes the infamous Marisa laser desync bug in **Double Dealing Character (TH14)**. Please refer to the original developer, Ack's [demonstration video on Bilibili](https://www.bilibili.com/video/av285566068) (in Chinese, [backup video link on YouTube](https://www.youtube.com/watch?v=Hkh_AEGHLto))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftouhouworldcup%2Fthprac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftouhouworldcup%2Fthprac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftouhouworldcup%2Fthprac/lists"}