# Conker's Bad Fur Day Decompilation for Nintendo 64 (N64) A work-in-progress matching decompilation of *Conker's Bad Fur Day* for Nintendo 64 (N64), with asset extraction tools, model-preview generation, and documented asset-format research.

Conker's Bad Fur Day decompilation project logo

The North American (US) release is the active target; Europe/PAL remains a future goal and does not currently gate progress. ## Project progress [![US Code](https://decomp.dev/DevOldSchool/conkers-bfd-decomp/us.svg?mode=shield&category=all&measure=matched_code_percent&label=US%20Code)](https://decomp.dev/DevOldSchool/conkers-bfd-decomp/us?category=all) [![US Data](https://decomp.dev/DevOldSchool/conkers-bfd-decomp/us.svg?mode=shield&category=all&measure=matched_data_percent&label=US%20Data)](https://decomp.dev/DevOldSchool/conkers-bfd-decomp/us?category=all) The badges show native objdiff matching from the latest published US report. **US Code** covers tracked CPU code, including SDK code; **US Data** covers tracked data and stored assets. Both exclude EU/PAL. Public results can lag local work until a verified report is published. `./conker progress` shows the code metric from your local `./conker objdiff report`, plus source-unit and function counts. See [progress reports](docs/progress.md). The repository contains no ROMs or extracted game assets. Read [LEGAL.md](LEGAL.md) before contributing. ## Quick start Local builds use Docker for the pinned IDO-compatible toolchain on Linux, Intel macOS and Apple Silicon. Managed Linux executors can use the supported [cloud setup](docs/cloud-matching.md). `./conker` runs the image natively on amd64 and arm64 hosts (Apple Silicon, ARM Linux, Windows on ARM); both build the same ROMs. Set `CONKER_PLATFORM=linux/amd64` or `linux/arm64` to override. ```sh git clone https://github.com/DevOldSchool/conkers-bfd-decomp.git cd conkers-bfd-decomp ./conker doctor ``` Copy your owned US ROM into the ignored `roms/` directory, then validate and record it for local builds: ```sh cp /path/to/your-us-rom.z64 roms/baserom.us.z64 ./conker setup --us roms/baserom.us.z64 ./conker build ``` The normal function workflow starts with: ```sh ./conker next --ready # Replace the selected GLOBAL_ASM pragma with the emitted C starter. ./conker finish ``` Before making a contribution, read [CONTRIBUTING.md](CONTRIBUTING.md). The [decompilation workflow](docs/decompilation-workflow.md) explains candidate selection, focused diffs, source-unit registration, integration, and batch verification in detail. ## Project areas | Area | Start here | | --- | --- | | Function matching and source integration | [Contributing](CONTRIBUTING.md) and [decompilation workflow](docs/decompilation-workflow.md) | | Current progress | [US objdiff report](https://decomp.dev/DevOldSchool/conkers-bfd-decomp/us?category=all) ยท [Local reports](docs/progress.md) | | Clean-room baseline and ROM profiles | [Bootstrap guide](docs/bootstrap.md) | | Asset extraction and format research | [RZIP and asset extraction](docs/rzip-assets.md) | | Model previews and scoped material evidence | [Model appearance extraction](docs/model-appearance.md) | | Future asset editing and ROM insertion | [Asset editing](docs/asset-editing.md) | | Remaining asset research | [Asset roadmap](docs/asset-roadmap.md) | | Nintendo 64 library reconstruction | [Library track](docs/library-track.md) | | Debug and ECTS research inputs | [Beta evidence](docs/beta-evidence.md) | | Runtime investigation | [Runtime tracing](docs/runtime-tracing.md) | | CI and protected ROM verification | [Continuous integration](docs/ci.md) | The [documentation index](docs/README.md) provides a complete map of the project guides and explains which files are generated or evidence-only. ## Active target Contributor commands default to the US profile. A function counts as matched only after its US focused diff reports `CURRENT (0)`. A source unit counts as complete only after every member matches and the unit is integrated into the byte-identical build. EU/PAL configuration and research are retained for future activation but do not affect the active completion percentage. Generated assembly, extracted assets, and build products stay ignored. The canonical inventories are maintained through `./conker`; contributors should not edit their JSON files manually. ## Credits Thanks to the authors and maintainers of: - **Compilation and assembly:** [IDO static recompilation](https://github.com/decompals/ido-static-recomp), [asm-processor](https://github.com/simonlindholm/asm-processor), and [armips](https://github.com/Kingcom/armips) - **Decompilation and matching:** [splat](https://github.com/ethteck/splat), [spimdisasm](https://github.com/Decompollaborate/spimdisasm), [m2c](https://github.com/matt-kempster/m2c), [asm-differ](https://github.com/simonlindholm/asm-differ), [decomp-permuter](https://github.com/simonlindholm/decomp-permuter), and [objdiff](https://github.com/encounter/objdiff) - **Reused work:** [ultralib](https://github.com/decompals/ultralib), [Rare-modified library sources](lib/libultrare/README.md), and [RSP sources](src/rsp/README.md), with detailed attribution in their existing notices