# sead: a decompilation of Nintendo’s first-party C++ standard library

> Decompiles sead, the C++ standard library that Nintendo statically links into its first-party games, covering containers, heaps, strings, math, file devices, threads, the game framework and graphics. Compile-time presets target the recent versions used by Breath of the Wild, Super Mario Odyssey, Splatoon 3, Tears of the Kingdom and Super Mario Bros. Wonder, and game decompilations such as Breath of the Wild pull it in as a submodule. Names come from debugging symbols and assertions in retail titles, and the README warns that many inlined and templated names are guesses.

- Type: Case study
- Targets: Game
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-19
- Added to the catalog: 2026-10-27
- Original resource: <https://github.com/open-ead/sead>
- Primary source: <https://github.com/open-ead/sead/blob/f4178a21e21235830357dc27c26a2c29956972ed/README.md>
- Catalog page: <https://awesomerea.org/resources/sead-nintendo-library-decomp-case/>
- Record JSON: <https://awesomerea.org/resources/sead-nintendo-library-decomp-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/sead-nintendo-library-decomp-case/index.md)

## Requirements & limits

- The reviewed master commit (2026-10-11, no releases) derives from aboood40091/sead but targets newer sead versions. The README says several modules currently fail to build for Switch and points to a GitHub project page for progress; seadVersion.h adds a Super Mario Maker 2 preset and a custom feature set alongside the README’s list.
- Building needs no game files. Checking accuracy needs the original sead, which ships only statically linked in games: the README advises legally owning a recent first-party title with debugging symbols, naming Super Mario Odyssey 1.0.0, Splatoon 2 up to 3.1.0 and the Nintendo Labo pilot build.
- The README asks for a partially C++17-capable compiler such as Clang 3.9 or newer and CMake 3.10+. CMakeLists builds an object library only for the nin (nnSdk, Switch) platform and links NintendoSDK headers supplied by the host project, the old or new open-ead header repository depending on a migration option. The README also describes Wii U (cafe) sources and declares other platforms unsupported.
- The README asks contributors to match non-inlined functions against the original assembly, tolerating only register-allocation or obviously harmless reordering differences marked NOT_MATCHING, and to undo inlining with help from pilot builds and assertions; MATCHING_HACK_NX_CLANG guards codegen hacks. The repository has no checker or progress data of its own, and CI only runs clang-format, so matching is checked in consumer projects.
- No license file is present and GitHub detects none; the README says nobody outside Nintendo has sead’s source. res/ holds the decompiled primitive-renderer shader sources plus a 2 KB compiled Wii U shader binary that was updated alongside them. Nintendo’s games keep their own rights.

## Primary sources

1. <https://github.com/open-ead/sead/blob/f4178a21e21235830357dc27c26a2c29956972ed/README.md>
2. <https://github.com/open-ead/sead/blob/f4178a21e21235830357dc27c26a2c29956972ed/CMakeLists.txt>
3. <https://github.com/open-ead/sead/blob/f4178a21e21235830357dc27c26a2c29956972ed/include/seadVersion.h>
4. <https://github.com/open-ead/sead/blob/f4178a21e21235830357dc27c26a2c29956972ed/.github/workflows/lint_pr.yml>
5. <https://github.com/open-ead/sead/tree/f4178a21e21235830357dc27c26a2c29956972ed/res>
6. <https://github.com/open-ead/sead/blob/f4178a21e21235830357dc27c26a2c29956972ed/modules/src/gfx/cafe/seadPrimitiveRendererCafe.cpp>
7. <https://github.com/zeldaret/botw/blob/e78c02499d0f108ae9c00158198289764c5980fe/.gitmodules>
8. <https://github.com/aboood40091/sead>

## More in Games

- [Skyward Sword: Wii decompilation with hash-checked relinking](https://awesomerea.org/resources/skyward-sword-decomp-case/index.md) · Case study
- [Sly Cooper and the Thievius Raccoonus: matching PlayStation 2 decompilation](https://awesomerea.org/resources/sly1-matching-decomp-case/index.md) · Case study
- [Snowboard Kids 2: an LLM-assisted N64 matching decompilation](https://awesomerea.org/resources/snowboardkids2-decomp-case/index.md) · Case study
- [Snowboard Kids: an agent-assisted N64 matching decompilation](https://awesomerea.org/resources/snowboardkids-matching-decomp-case/index.md) · Case study
- [Sonic Advance 1 & 2: a matching GBA decompilation with widescreen ports](https://awesomerea.org/resources/sonic-advance-1-2-decomp-port-case/index.md) · Case study
- [Sonic Advance 3: an AI-assisted match of one enemy module](https://awesomerea.org/resources/sa3-marun-ai-decomp-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
