[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-105381":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":17,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":10,"trendingCount":15,"starSnapshotCount":15,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},105381,"Witch-Time","Zexyen\u002FWitch-Time","Zexyen","Unofficial static recompilation of Bayonetta 3. Builds the game on your PC from your own legally dumped copy. No game files, keys or SDK code included.","",null,"C",97,3,12,0,21,63,69.5,"GNU General Public License v3.0",false,"main",true,[],"2026-11-01 00:15:29","\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fimages\u002Fwitch-time-logo.svg\" alt=\"Witch Time\" width=\"720\">\n\u003C\u002Fp>\n\n# Witch Time\n![](https:\u002F\u002Fdcbadge.limes.pink\u002Fapi\u002Fserver\u002Fhttps:\u002F\u002Fdiscord.gg\u002FhvkD3JNhWZ) ![GitHub Downloads (all assets, all releases)](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002FZexyen\u002Fwitch-time\u002Ftotal)\n\n\nAn unofficial static recompilation of *Bayonetta 3* (Nintendo Switch) for PC, in the spirit and architecture of\n[B2recomp](..\u002FB2recomp): the game's AArch64 code is translated to C **on your PC from your own dump**, and runs on a\nre-implemented system layer (threads, file system, input, audio, and NVN on Vulkan). Not an emulator, and not a way to\nget the game.\n\n**This repository contains no game code, no game assets, no Nintendo SDK code, no keys.** Everything derived from the\ngame (converted ELFs, translated C, the compiled `game.so`, caches) is generated locally into `targets\u002F`, `build\u002F`,\n`cache\u002F` and `runtime\u002Fgen\u002F`, which git ignores. Never share them.\n\n## Status\n\n| What | Result |\n|---|---|\n| Boot and gameplay | boots and plays; 60 fps in play (Tokyo and Shibuya tested), occasional short hitches |\n| Menus and cutscenes | 30 fps as on the console by default; 60 fps with `cutscene_fps = 60` in `config\u002Fgraphics.ini` (timing stays real time; movies keep their 30 fps) |\n| Resolution | the game's 1600x900 by default; `resolution_scale` in `config\u002Fgraphics.ini` renders it larger (1.2 = 1080p, 1.6 = 1440p, 2.4 = 4K, measured at 60 fps on an RX 9070 XT; the first run at a new scale has about two minutes of held loading screens once) |\n| Input | controllers, and keyboard + mouse (rebindable in `config\u002Fcontrollers.ini`; mouse camera; both at once); keyboard tested with synthetic events, not yet by hand |\n| Settings | in-game PC settings panel: F1 or L3 + R3 (the game is held while it is open); vsync, cutscene frame rate, window, anisotropic filtering, texture detail and aspect change at once, the internal resolution and the frame rate (60 \u002F 90 \u002F 120, experimental above 60) at the next start; written to `config\u002Fgraphics.ini` with its comments kept. The same settings (internal resolution 1.0-2.4, cutscene frame rate, frame rate 60 \u002F 90 \u002F 120 (experimental), vsync, display mode, anisotropic filtering, texture detail, aspect) are also rows of the game's own Options screen (Screen Display page; changed with left \u002F right, X resets a row), with a \"PC Settings\" row that opens the panel; labelled in each of the game's languages (setup step `text` makes that text from your dump). Not a tab of their own: see STATUS.md |\n\nDetails: [docs\u002FSTATUS.md](docs\u002FSTATUS.md); findings: [docs\u002FRE_NOTES.md](docs\u002FRE_NOTES.md).\n\n## Build (Linux)\n\nA release needs nothing installed but a Vulkan driver and OpenGL (`libGL.so.1`), which every desktop distribution\nhas: it brings its own compiler (clang + lld in `deps\u002Fllvm`), the runtime already built\n(`prebuilt\u002F`, with the FFmpeg it uses) and the build tool. Your PC only translates and compiles the game's code, and\nthat needs no system headers. The `deps` step checks all of it and names what is missing. Your dump: one folder with\n`exefs\u002F` (`main`, `sdk`, `subsdk0`, `rtld`, `main.npdm`, plain NSO files) and `romfs\u002F` (the `.pkz` archives and\n`movie\u002F`), extracted with your own tools from your own console and game; this project decrypts nothing.\n\nA checkout has no `prebuilt\u002F`, so the link step builds the runtime too: that needs clang 19 or newer + lld and the\ndevelopment files of SDL3, Vulkan, glslang, FFmpeg and OpenGL. The same happens in a release whose `runtime\u002F`\nyou changed (`tools\u002Fwtbuild\u002FREADME.md`, \"Prebuilt runtime\").\n\nThe build is one program, `wtbuild` (`tools\u002Fwtbuild`, Rust). A release ships it built as `build\u002Fwtbuild`; in a checkout,\nbuild it once with cargo:\n\n```\ncargo build --release --manifest-path tools\u002Fwtbuild\u002FCargo.toml\ntools\u002Fwtbuild\u002Ftarget\u002Frelease\u002Fwtbuild setup --dump \u003Cyour dump folder>\n```\n\nOr build the launcher (`launcher\u002FREADME.md`) and run `build\u002Fwitch-time`, which does the same with progress on screen\nand then plays in its own window.\n\nSetup puts the game data (the dump's `romfs`) in `targets\u002Fromfs`, so the Witch Time folder holds the whole game and can be\nmoved anywhere: copied by default (hard links on the same drive, so no extra space, and your dump stays whole), or moved\nwith `--move-dump` (the launcher's \"Move the game data here\" switch).\n\nThe steps (`deps verify convert mods tables lift compile link text check`, resumable; `--only`, `--from`, `--status`)\nare those of `scripts\u002Fsetup.py`, which stays as the reference the Rust port is checked\nagainst (`tools\u002Fwtbuild\u002FREADME.md`). The `verify` step accepts only the build named in `tools\u002Fwtbuild\u002Fsrc\u002Fsetup.rs`.\n\n## Build (Windows)\n\nWindows 10 or 11, 64-bit. A release (`WitchTime-\u003Cversion>-windows-x86_64.zip`) needs nothing installed but a Vulkan driver: it\nbrings LLVM's own clang + lld (`deps\\llvm`), the runtime already built (`prebuilt\\`: `witch-time-game.exe`,\n`SDL3.dll`, `ssbu_glslang.dll`) and `build\\wtbuild.exe`. Unzip it, run `witch-time.exe` and pick your dump folder, or:\n\n```\nbuild\\wtbuild.exe setup --dump \u003Cyour dump folder>\n```\n\nMovies play through Media Foundation, which Windows has; the \"N\" editions need the Media Feature Pack, and the `deps`\nstep says so when it is missing. The game runs as `build\\witch-time-game.exe`, with its own window; the launcher waits for it.\n\nBuilding the runtime yourself (a checkout, or a changed `runtime\\`) needs llvm-mingw and the MinGW builds of SDL3,\nglslang and the Vulkan headers, named in `CPATH` and `LIBRARY_PATH`. CI cross-builds all of it on Linux\n(`.github\u002Fworkflows\u002Frelease.yml`, job `windows`): `wtbuild runtime --target windows --out prebuilt`.\n\n## Credits\n\nLifter, runtime and build scripts come from B2recomp (K0NL), which builds on\n[ssbu-recomp](https:\u002F\u002Fgithub.com\u002FDenkishi\u002Fssbu-recomp) (Denkishi). GPL-3.0; see `NOTICE.md` and `LICENSE`.\n\nThe logo's lettering is set in the \"Bayonetta\" typeface by\n[Kustren](http:\u002F\u002Fkustren.deviantart.com\u002F) (free for non-commercial use), converted to outlines; the font file itself\nis not included.\n",2,"2026-10-31 04:26:37","CREATED_QUERY"]