逆コンパイルプロジェクトに初めて貢献するには
執筆: DecompHub · 更新日 · 日本語
興味のある対象と、結果を確かめられる一つの課題から始めましょう。難しいマッチング関数だけが貢献ではありません。ビルドの再現、手順の修正、具体的な不具合報告も役立ちます。
プロジェクトを探したら、ツール、ブランチ、貢献方法はそのプロジェクトの説明に従ってください。DecompHubは作業を割り当てたり、メンテナーを代理したりしません。
自分の環境に合うか確認する
「協力できること」ではmacOS、Windows、Linuxなど利用できる環境を指定できます。これは非公開のマッチング設定であり、ビルド成功の保証ではありません。
必要なOS、コンパイラ、対象リビジョンを確認します。Super Mario 64にはLinux、macOS、コンテナの手順とバージョン別の入力要件があります。別フォークの手順では、違う対象に対するビルドになる場合があります。
作業するコミットとツールのバージョンを記録しましょう。元のゲームデータや特定の機器が必要かも事前に調べます。カタログは元のソフトウェアやアセットを提供しません。
貢献ルールを読む
CONTRIBUTING、ドキュメント、レビュー手順を探してください。GitHubの説明ではガイドラインの掲載場所を確認できます。
先にissueが必要か、指定ブランチ、書式、検証コマンド、AI生成物に関する規定があるかを読みます。他のプロジェクトのルールがそのまま通用するとは限りません。
最初の課題には、ビルド成功、一つの関数の一致、一か所の手順修正、再現可能な不具合など、明確な完了条件が向いています。
変更前の状態を残す
編集前に公式手順で検証し、コマンド、対象、ツールの版、結果を保存します。最初から失敗するなら、その問題と自分の変更を分けてください。
報告には期待した結果、実際の結果、最小限の再現手順を書きます。関連するログだけを添え、漠然と「動かない」で終わらせないことが重要です。
根拠を示せる作業を選ぶ
- ドキュメント: 実際に試した手順、曖昧な前提条件、正しい参照先を修正する。
- テスト: 持っている機器やOSで公開手順を実行し、バージョンと結果を記録する。
- マッチング: 理解できる小さな関数から始める。decomp.meで試した結果も、プロジェクト自身の検証を通す。
- ツール: 繰り返す操作やエラー表示を改善し、期待する動作を保つ。
objdiffはローカル比較の手順を提供しています。使い慣れた別の仕組みを増やすより、選んだプロジェクトの指定ツールに合わせましょう。
小さな変更を提出する
問題、変更後の動作、検証方法を説明します。マッチングなら対象と比較手段を、手順修正なら実際に試した内容を書き、未検証の点も明示してください。
無関係なファイルの大規模整理は混ぜないようにします。静かなプロジェクトやアーカイブ済みのものは、公式に案内された後継先を確認しましょう。未掲載なら公式URLを申請できます。数値の解釈は進捗ガイドを参照してください。