Contributing
Tonight, Gehrman joins the hunt.Gehrman, the First Hunter
Paleblood is open to everyone. This page is the short version; the full rules are in the code repository's CONTRIBUTING.md, and the step-by-step setup in its ONBOARDING.md. Questions go in Discussions.
Ways to help
- Name functions — the good first issues: small functions with a clear purpose, identified from their callers and the library calls they make, named in the shared function table.
- Document a system — a page here per system: summary, key functions, structures, patch points, open questions.
- Replace functions — readable C++ replacements, verified against the original with the harness and reviewed independently.
- Build the runtime — the PS4 system functions Paleblood's runtime implements, claimable per system call group (issues labelled
runtime). - Tooling — the harness, the capture library, the Ghidra scripts.
Your own copy
Everything starts from your own console and your own copy of the game: Bloodborne (CUSA03173, EU) with the 1.09 update, dumped from your own PS4. Every tool works only on that dump, on your machine. The project does not provide or point to game files, pkgs, firmware, keys or decryption tools. Requests for game files, or links to them, are removed wherever they are posted, and may lead to a ban.
Ground rules
- No game files. Ever. No executables, assets, decompiler output or extracted data in commits, issues, pull requests or Discussions.
- No screenshots or clips of the game in the code repositories, their issues, pull requests or Discussions. (The gallery here shows the maintainer's own recordings of test runs.)
- Verified and readable. A replacement that "looks right" is not done until the harness finds no difference on recorded and edge cases, deliberately wrong versions fail, it reads well (the code repository's STYLE.md), and an independent reviewer has approved it.
- Say how you know. When you name a function, say how you inferred what it does: its callers, its library calls, the memory it touches. A name says what is known and no more.
- One pull request per function or cluster, with the disclosures CONTRIBUTING.md asks for.
Getting started
- Fork Paleblood on GitHub and run
tools/install_hooks.shin your clone. - Follow ONBOARDING.md: from your own dump to Ghidra with the shared names in under an hour.
- Pick an issue labelled
good first issueand comment that you take it.