n64-cpp-emission

Match N64 C++ translation units to target object layouts.

5|Updated May 9, 2026
One-click install
npx skills add https://github.com/marijnvdwerf/paperboy-n64 --skill n64-cpp-emission
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: n64-cpp-emission
Source: https://github.com/marijnvdwerf/paperboy-n64/tree/main/.claude/skills/n64-cpp-emission
Command: npx skills add https://github.com/marijnvdwerf/paperboy-n64 --skill n64-cpp-emission

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps match old SN/GCC-derived N64 C++ translation units when the source already compiles but the object file still fails because code and data are emitted in the wrong order.

Core Features & Use Cases

  • Compares .text and .rdata layout against a target object so you can isolate whether the mismatch comes from ordinary definitions, deferred inline bodies, or vtable placement.
  • Guides source-structure experiments across out-of-line members, inline placement, class declaration order, and old G++ pragma ownership.
  • Useful for decompilation and matching work on N64 codebases where switch jump tables, vtables, and inline emission timing determine whether the final object matches exactly.

Quick Start

Use the n64-cpp-emission skill to analyze a mismatching N64 C++ object file and recommend the smallest source-layout change needed to restore the target emission order.

Frequently Asked Questions about n64-cpp-emission

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix N64 C++ object file emission order mismatches during decompilation?

Fix N64 C++ emission order by comparing .text and .rdata layout against a target object to isolate mismatches from ordinary definitions, deferred inline bodies, or vtable placement, then adjusting source structure iteratively until the object matches exactly.

Why does my decompilation project compile but fail object matching for N64 C++ code?

Object matching fails when code and data are emitted in the wrong order. Switch jump tables, vtables, and inline emission timing in old SN/GCC-derived translation units determine whether the final object matches the target layout precisely.

What's the best way to match old G++ vtable and jump table placement in N64 decompilation?

Match vtable and jump table placement by experimenting with out-of-line member definitions, inline placement, class declaration order, and old G++ pragma ownership to reproduce the historical .text and .rdata section ordering exactly.

Do I need source order analysis to fix N64 C++ .text and .rdata layout mismatches?

Yes, source order analysis is required to classify emission types and perform iterative object-file comparison, which identifies the smallest source-layout change needed to restore the target emission order for N64 C++ translation units.

Can I use this approach for N64 decompilation projects using SN and GCC derived toolchains?

Yes, this approach specifically applies to decompilation and object matching scenarios on N64 codebases built with old SN and GCC-derived C++ toolchains where pragma ownership and inline emission timing affect object layout.