Star Fox Adventures recomp:セットアップガイドとビルドノート - Mod

Star Fox Adventures recomp:セットアップガイドとビルドノート

Star Fox Adventures recompプロジェクトの仕組み、必要なファイル、ローカルでデコンパイルビルドを準備する方法を解説します。

2026-09-11
Star Fox Adventures Wikiチーム
クイックガイド
  • Star Fox Adventures recomp は、現在進行中のデコンパイルプロジェクトを指します。
  • 対象ビルド:プロジェクトは、リバースエンジニアリングに役立つ情報を含むデバッグ版を対象としています。
  • 必要なファイル:対象となるデモディスクのデータを、合法的に入手したコピーから用意する必要があります。
  • ビルドツール:Windows、macOS、Linuxではセットアップ要件が少し異なります。
  • 現在の状態:このプロジェクトは、まだ完成して起動可能な再コンパイル版ではありません。

Star Fox Adventures recomp:プロジェクトの範囲

Star Fox Adventures recompは、完成したファン移植版ではなく、リバースエンジニアリングとデコンパイルを行うプロジェクトとして理解するのが適切です。リポジトリはGameCube版のデバッグビルドを対象とし、元のコードをより理解しやすく、保守しやすい形で再構築しています。

このプロジェクトは、GitHub上のStar Fox Adventuresデバッグ版デコンパイルリポジトリで公開されています。目的は、元の関数との一致を確認し、シンボルを特定し、ビルド可能なコードベースを段階的に作成することです。ゲームアセットやアセンブリコードは含まれていないため、必要な元データを合法的に入手したコピーが引き続き必要です。

デバッグ版には、製品版には存在しない診断用関数や情報が含まれているため、研究対象として価値があります。また、後のビルドで削除されたコンテンツへの参照も残されており、未使用または変更された素材を調査する手がかりになります。このプロジェクトは、Rare時代の関連するNintendo 64およびGameCubeのデコンパイル作業を理解するうえでも有用な技術的知見を提供する可能性があります。

プロジェクト領域現在の役割実際の意味
デバッグ実行ファイル主な対象追加の診断情報とリバースエンジニアリングの手がかりを提供
デコンパイル済みソース開発中関数の一致確認とドキュメント化を段階的に進めている
ゲームアセット含まれていないユーザー自身で互換性のあるファイルを用意する必要がある
製品版との互換性保証されていないまず特定のデバッグ版を対象としている
最終的な再コンパイル利用不可完成したプレイ可能なビルドを想定してはいけない

研究上の価値

デバッグ版にはコードの識別を容易にする関数や情報が含まれています。

歴史的な価値

削除されたコンテンツへの参照は、開発上の変更を知るための貴重な手がかりになります。

技術的な価値

共通するコードの関係性は、Rareの他のプロジェクトを研究する際にも役立つ可能性があります。

編集者からのヒント

このリポジトリは開発および研究プロジェクトとして扱ってください。ソースファイルのローカルビルドに成功したことと、完成してプレイ可能なStar Fox Adventures recompを混同しないようにしましょう。

対応ツールとプラットフォームの準備

セットアップ手順は使用するオペレーティングシステムによって異なります。リポジトリでは、互換レイヤー経由よりも自動ファイルシステム通知が安定して動作するため、Windowsではネイティブツールの使用を推奨しています。macOSとLinuxでは、ビルド環境の一部に追加ツールが必要です。

共通する最も重要な依存関係は、プロジェクトのビルド処理を担当するNinjaです。Windowsでの設定やリポジトリのセットアップスクリプトにはPythonも必要です。x86以外のLinux環境ではWineが必要になる場合がありますが、x86およびx86_64環境では、プロジェクトのドキュメントに記載された軽量ラッパーを利用できます。

プラットフォーム主な要件重要な注意点
WindowsPython、Ninjaネイティブツールを推奨。WSLとMSYS2は不要
macOSNinja、Wine CrossoverパッケージのインストールにはHomebrewコマンドを使用
Linux x86/x86_64Ninja、プロジェクトのラッパー対応リポジトリが軽量なWindowsラッパーを自動的に使用できる
Linux non-x86Ninja、WineシステムのパッケージマネージャーからWineをインストール
Visual Studio Code任意のワークスペース設定必要に応じてサンプル設定ディレクトリの名前を変更

Windowsでは、Pythonをシステムパスから利用できるようにする必要があります。Ninjaは直接インストールすることも、Pythonのパッケージマネージャーからインストールすることもできます。macOSでは、リポジトリのドキュメントにNinjaとWine CrossoverをHomebrewでインストールする方法が記載されています。Linuxユーザーは使用しているディストリビューションを通じてNinjaをインストールし、プラットフォーム固有の互換性に関する案内に従ってください。

互換性に関する警告

すべてのオペレーティングシステムで同じコマンドが使えるとは限りません。WSLやMSYS2では自動リビルドに必要なファイルシステム通知が提供されない可能性があるため、Windowsでは特にネイティブツールが推奨されています。

整理されたワークスペースを用意することも役立ちます。リポジトリ、抽出した入力ファイル、ビルド出力は別々のフォルダーで管理してください。これにより設定ミスを特定しやすくなり、一時的な抽出ファイルをプロジェクトのソースと混同するのを防げます。

ワークスペース項目推奨用途分けて管理する?
リポジトリフォルダーデコンパイル済みソース、スクリプト、設定はい
元のデバッグ実行ファイル設定対象バージョンの入力ファイルはい
一時抽出フォルダーDolphinでの抽出中にファイルを保持はい
ビルド出力生成されたオブジェクトとバイナリできれば分ける
Diff設定objdiff.jsonおよび関連設定プロジェクトルート内

セットアップとビルドの手順

以下の手順は、合法的に使用する権利を持つゲームデータに対してのみ実行してください。リポジトリは必要なアセットや実行ファイルを配布しておらず、ビルド手順は適切なディスクデータから正しいデバッグファイルを抽出することを前提としています。

1

必要なツールチェーンをインストールする

WindowsではPythonとNinja、macOSではNinjaとWine Crossover、LinuxではNinjaと適切な互換ツールをインストールします。続行する前に、ターミナルから各コマンドを利用できることを確認してください。

2

リポジトリをクローンする

Star Fox Adventuresのデコンパイルリポジトリを専用の作業ディレクトリにクローンします。コマンドラインやファイルシステム上の問題が起きる可能性を減らすため、リポジトリのパスはシンプルに保ってください。

3

デバッグ用入力ファイルを抽出する

Dolphin Emulatorを使用して、対象となるデモディスクデータからプロジェクトが必要とするTGCファイルを抽出します。次に、そのファイルをDolphinで開き、デバッグ実行ファイルをリポジトリで想定されているorig/GSAP01-DEBUG/default.dolの場所に抽出します。

4

プロジェクトを設定する

プロジェクトのルートからpython configure.pyを実行します。デフォルトのデバッグ対象以外の対応バージョンを対象にする場合は、デフォルト設定が適用されると決めつけず、リポジトリのバージョン引数を使用してください。

5

ビルドを実行する

設定が完了したらninjaを実行します。プロジェクトが未解決の関数や不完全なソース間の関係を報告した場合は、それをセットアップ失敗と判断する前に、リポジトリの現在の状態を確認してください。

抽出段階は、この作業の中でも特に慎重さが求められます。必要なファイルは、Star Fox Adventuresの実行ファイルであれば何でもよいというわけではありません。リポジトリは特定のデバッグ版を対象としており、利用可能な製品版アセットは互換性がないとドキュメントに記載されています。

段階期待される結果よくある間違い
クローンプロジェクトファイルがローカルに表示される制限のあるパスや複雑すぎるパスにクローンする
TGCの抽出一時的なディスクデータを利用できる関係のないディスクイメージやファイルを使う
DOLの抽出default.dolが想定された入力フォルダーに配置される間違ったバージョンのディレクトリに配置する
設定ビルドファイルが生成される設定を省略する、または間違ったバージョンを使う
ビルドNinjaがプロジェクトのソースのコンパイルを開始するすぐに完成したプレイ可能なゲームができると期待する
推奨ワークフロー

ソースファイルを変更する前に、抽出、設定、最初のNinjaビルドまで完了させてください。これにより、後の編集を診断するためのクリーンな基準を作れます。

ビルド状況と差分比較を理解する

セットアップに成功したからといって、プロジェクトが完成したことにはなりません。リポジトリでは、関数を個別に一致させている途中の作業としてコードが説明されています。また、参照やソース間の関係が不完全な間は、プロジェクトがまだコンパイルできない可能性があるとも警告しています。

ビルド処理は、より長期的な再構築ワークフローの一部です。研究者は元のオブジェクトとデコンパイル済みソースを比較し、シンボル名を改善し、分割定義を調整し、差分を徐々に減らしていきます。そのため、objdiffのようなツールは単なる便利機能ではなく、プロジェクトの中心的な存在となっています。

ツールまたはファイル目的使用するタイミング
configure.pyプロジェクト設定を生成する初回ビルドの前、またはバージョン変更後
ninja設定済みプロジェクトをビルドする設定後およびソース変更後
objdiff元のオブジェクトと再構築したオブジェクトを比較する初回ビルドが存在するようになった後
objdiff.jsonDiffプロジェクトの設定を保存するプロジェクトルートで生成または管理
splits.txtソース分割情報を定義するオブジェクト境界を整理するとき
symbols.txt認識されたシンボルを追跡する識別および一致確認の作業中

初回ビルドが、想定された設定を生成できるところまで進んだら、プロジェクトのドキュメントに記載されたソースからobjdiffの最新リリースをダウンロードします。プロジェクト設定を開き、リポジトリのディレクトリを選択して、設定を読み込ませてください。

Diffワークフローでは、インターフェースからオブジェクトを選択し、再構築されたソースが元のソースとどの程度一致しているかを確認できます。環境が正しく設定されていれば、ソースファイル、ヘッダー、設定スクリプト、分割定義、シンボル一覧を変更した際に自動的にリビルドが実行されます。

オブジェクトの比較を始める前に:

  • 正しいプラットフォーム用ツールチェーンをインストールする
  • 対象のデバッグ実行ファイルを想定された入力パスに配置する
  • 設定スクリプトを正常に実行する
  • プロジェクトのDiff設定を生成または確認する
  • ソースの変更によって意図したリビルドが実行されることを確認する
ビルド状況ガイド

不完全なビルドは、ローカル環境の設定ミスではなく、デコンパイル作業が未完成であることを示している場合があります。オペレーティングシステムのトラブルシューティングを行う前に、プロジェクトの現在のファイル、設定出力、文書化された制限事項を確認してください。

既知の制限と適切な期待値

対象となるデバッグビルドには大きな制限があります。リポジトリの説明によれば、このビルドは内部デバッグ環境を想定し、トレースのために無効なアドレスへ書き込み、固定されたフレームバッファ配置に依存しているため、コンソールやエミュレーターでは起動しません。クラッシュハンドラーも通常の製品版ランタイムではなく、内部開発環境を前提としています。

実行ファイルには互換性のあるアセットも不足しています。利用可能なバージョンの既存アセットを単純に代用することはできないため、ファイルを抽出してエミュレーターで起動することは、ゲームプレイに至る現実的な方法ではありません。

制限ユーザーへの影響正しい期待値
内部エミュレーターへの依存通常のコンソールやエミュレーターでは起動に失敗する可能性がある再構築作業のためにプロジェクトを使用する
無効なデバッグアドレス実行時の動作が早い段階で停止する可能性があるクラッシュを通常のゲームバグとして扱わない
固定フレームバッファへの依存画面の初期化に失敗する可能性がある対象は製品版ビルドとして準備されていない
互換性のあるアセットの不足実行ファイルに必要なコンテンツがない合法的に入手した対象データのみを用意する
おおまかなソース分割比較結果が完全でない可能性がある継続的な整理と修正を想定する

この区別は、すぐにダウンロードしてプレイできる「Star Fox Adventures recomp」を探している人にとって重要です。現在利用できるプロジェクトは、完成したPC移植版や製品版の代替として提供されているものではありません。より多くの関数が理解され、再構築されるにつれて、将来の作業を支える可能性がある技術的基盤です。

法的および技術的な制限を無視しないでください

著作権で保護されたアセットを配布したり、共有された実行ファイルを要求したり、関係のない製品版ファイルによってデバッグ対象が起動すると考えたりしないでください。リポジトリのドキュメントと、自分が合法的に入手したデータを使用してください。

Q: Star Fox Adventures recompとは何ですか?

Star Fox Adventuresのデバッグビルドを対象とした、コミュニティによるデコンパイルおよび再構築の取り組みです。現在のリポジトリは開発中のコードプロジェクトであり、完成したプレイ可能な移植版ではありません。

Q: リポジトリにはゲームアセットやアセンブリコードが含まれていますか?

いいえ。プロジェクトのドキュメントには、ゲームアセットとアセンブリコードは含まれていないと記載されています。ローカルで作業するには、必要な元データを合法的に入手したコピーが必要です。

Q: なぜデバッグビルドは起動に失敗するのですか?

対象ビルドは内部デバッグ環境を想定し、トレースのために無効なアドレスを使用し、固定されたフレームバッファ位置を必要とし、通常の実行に必要な互換性のあるアセットも不足しているためです。

Q: 製品版のStar Fox Adventuresファイルをこのプロジェクトで使用できますか?

製品版のファイルが動作すると決めつけてはいけません。対象のデバッグビルドは、利用可能なバージョンのアセットと互換性がないと説明されています。リポジトリが指定する正確な入力要件に従ってください。

実用的なトラブルシューティングチェックリスト

セットアップに失敗した場合は、入力ファイルから順に確認してください。まず、リポジトリが意図したバージョンを対象としていることを確認します。次に、抽出した実行ファイルが正しいディレクトリにあること、そしてオペレーティングシステムからPython、Ninja、必要な互換ツールを利用できることを確認してください。

短い診断サイクルで確認します。

  • 入力パスを修正した後、設定を再実行する。
  • 抽出した元のファイルは変更せずに保持する。
  • 後続の連鎖的なメッセージではなく、最初のエラーを読む。
  • 問題が不完全なソース一致に起因していないか確認する。
  • 使用しているプラットフォームのコマンドを、リポジトリに記載されたセットアップ方法と比較する。
症状最初に確認すること考えられる領域
Pythonコマンドが見つからないPythonがシステムパスにあることを確認するツールのインストール
Ninjaコマンドが見つからないNinjaをインストールするか、パスに追加するビルド依存関係
設定で入力ファイルが見つからないorigディレクトリの構造を確認するファイル抽出
参照不足でビルドが停止するプロジェクトの完成状況を確認するデコンパイルの進捗
Diffツールにプロジェクトが表示されないプロジェクトディレクトリを手動で選択するobjdiffの設定
ランタイムが起動しないデバッグビルドの制限事項を確認する想定された動作

最も有用な考え方は、環境のエラープロジェクトの状態による制限を分けて考えることです。ツールの不足、間違ったパス、壊れた設定は、通常ローカルで修正できます。一致していない関数、おおまかな分割定義、存在しないアセットは、再構築プロジェクトそのものに含まれる課題です。

最後の推奨事項

使用しているプラットフォーム、ツールのバージョン、入力ファイルのパス、設定コマンド、最初のビルド結果を記録しておきましょう。その記録があれば、今後のトラブルシューティングや共同作業が大幅に容易になります。