ゼルダ3の再実装。
私たちの不和サーバーは次のとおりです https://discord.gg/AJJbJAzNNJ
これはゼルダ3のリバースエンジニアリングされたクローンです-過去へのリンク。
Cコードの約70〜80kLOCであり、元のゲームのすべての部分を再実装します。ゲームは最初から最後までプレイ可能です。
ゲームリソース(レベル、画像)を抽出するには、ROMのコピーが必要です。それが完了すると、ROMは不要になります。
LakeSnesのPPUとDSPの実装を使用しますが、速度の最適化が多数行われています。 さらに、元のマシンコードを並べて実行するように構成することもできます。次に、各フレームの後にRAMの状態が比較され、Cの実装が正しいことが検証されます。
私はスパナリズムのゼルダ3 JPの逆アセンブルや、関数名と変数の負荷を文書化した他のものから多くの支援を受けました。
元のゲームでサポートされていない多くの機能が追加されました。それらのいくつかは次のとおりです。
ピクセル シェーダーのサポート。
16:9 または 16:10 の拡張アスペクト比のサポート。
より高品質の世界地図。
MSUオーディオトラックのサポート。
ボタンXのセカンダリアイテムスロット(インベントリでXを押したままにして選択します)。
現在のアイテムをL / Rキーで切り替えます。
pillow
pyyaml
python -m pip install --upgrade pip pillow pyyaml
zelda3.sfc
python extract_resources.py
python compile_resources.py
run_with_tcc.bat
zelda3.exe
zelda3.ini
上記の
手順1〜7と同じ8。
[9] をダブルクリックします。上部のドロップダウン
で「デバッグ」を「リリース」に変更します 10.メニューの「ビルド>ビルドゼルダ3」を選択して、「/ bin / release」サブフォルダー11
に作成します。メインディレクトリで構成する
Zelda3.sln
zelda3.exe
zelda3.ini
python3 -m ensurepip
cd
git clone https://github.com/snesrev/zelda3
cd zelda3
python3 -m pip install -r requirements.txt
sudo apt install libsdl2-dev
sudo dnf in sdl2-devel
sudo pacman -S sdl2
brew install sdl2)
zelda3.sfc
zelda3/tables
make
make -j$(nproc) # run on all core
make clean all # clear gen+obj and rebuild
CC=clang make # specify compiler
DevKitPro と Atmosphere がインストールされている必要があります。
(dkp-)pacman -S git switch-dev switch-sdl2 switch-tools
cd platform/switch
make # Add -j$(nproc) to build using all cores ( Optional )
# You can test the build directly onto the switch ( Optional )
nxlink -s zelda3.nro
詳細については、https://github.com/snesrev/zelda3/wiki のwikiを参照してください。
ROMには名前を付ける必要があり、この正確なSHA256ハッシュを持つ米国地域のものである必要があります
zelda3.sfc
66871d66be19ad2c34c927d6b14cd8eb6fc3181965b6e517cb361f7316009cfb
実行可能ファイルを別の場所に移動する場合は、ファイルを含めてください。
tables/zelda3_assets.dat
ゲームはスナップショットをサポートしています。ジョイパッドの入力履歴もスナップショットに保存されます。したがって、ターボモードでプレイスルーを再生して、ゲームが正しく動作することを確認できます。
ゲームはで実行され、ROMファイルへのオプションのパスを取り、Cコードが元の動作と一致することをフレームごとに確認します。
./zelda3
ボタン | 鍵 |
---|---|
上 | 上矢印 |
下 | 下矢印 |
左 | 左矢印 |
右 | 右矢印 |
始める | 入る |
選ぶ | 右シフト |
ある | X |
B | Z |
X | S |
Y | ある |
L | C |
R | V |
キーはゼルダ3で再構成できます.ini
さらに、次のコマンドを使用できます。
鍵 | アクション |
---|---|
タブ | ターボモード |
W | フィルヘルス/マジック |
シフト+W | 塗りつぶしルピー/爆弾/矢印 |
Ctrl + E キー | リセット |
P | 一時停止(薄暗い) |
シフト+ P | 一時停止(薄暗いなし) |
Ctrl+上へ | ウィンドウサイズを大きくする |
Ctrl + 下 | ウィンドウサイズを小さくする |
T | リプレイターボモードの切り替え |
O | ダンジョンキーを1に設定 |
K | ジョイパッドログからすべての入力履歴をクリアする |
L | シャップショットの再生を停止する |
R | 高速レンダラーと低速レンダラーの切り替え |
F | レンダラーのパフォーマンスを表示する |
F1-F10 キー | スナップショットの読み込み |
Alt+Enter キー | フルスクリーンの切り替え |
シフト+F1-F10 | スナップショットの保存 |
Ctrl + F1-F10 | スナップショットの再生 |
1-9 | ダンジョンのプレイスルースナップショットを実行する |
Ctrl + 1-9 | ターボモードでダンジョンのプレイスルーを実行する |
このプロジェクトはMITライセンスの下でライセンスされています。詳細については、「ライセンス.txt」を参照してください。