Repo ↗ · 原始 README ↗ · 文件包(Markdown/授權)

封面參考(原作): Super Smash Bros. Melee · 原作宣傳圖,由 IGDB 提供。圖片版權屬原權利人,供辨識原作使用,不代表此重寫/模組專案的實際畫面。

來源維護者: GurekamDhillon · 版本: 238f03900338 · 整理日期: 2026-10-12

文件授權: GPL-2.0 · LICENSE · 本文形式: README 翻譯

下文為來源 README 的繁中翻譯,由 Kirikirin 使用 AI 輔助整理;功能、完成度與測試結果均為原作者描述,本站未逐項實機驗證。圖片改為來源連結,指令與技術識別保留原文。


GD’s Melee

[README 圖片:GD](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/brand/logo_horizontal_light.png)

README 連結
README 圖片:Platform: Windows x64 and Linux x86_64
README 圖片:Netplay: rollback
README 圖片:Mods: m-ex compatible
README 圖片:Replays: Slippi
README 連結
README 連結

加入 GD’s Workshop on Discord 進行配對、設定協助、錯誤回報與模組製作。

README 連結

真實遊戲畫面,透過遊戲本身的截圖鉤子逐格擷取。MP4 版本。

Super Smash Bros. Melee(NTSC 1.02,GALE01)的原生 PC 移植,建構方式是從對應的反編譯專案,而非透過模擬或重新編譯零售二進位檔。它可從競技大廳透過回滾網路程式碼進行線上對戰,以原生方式渲染 HD 畫質,執行 m-ex 模組光碟與鬆散模組,並可使用 Lua 編寫腳本。

狀態:公開測試版(0.2.2)。 預期會有粗糙邊緣,請回報錯誤:你做了什麼、使用哪張光碟,以及來自 crashlogs 資料夾(或 melee-pc.log)的當機報告。Windows 與 Linux 0.2.2 可互相線上對戰;它們無法與 0.2.1 或更早版本對戰,因此雙方玩家都需更新。

快速開始

README 連結
README 連結

  1. 下載最新版本,來源為
    Releases,並解壓縮到
    任意位置:Windows 上為 GDMelee-<version>-win64.zip,或
    Linux 上為 GDMelee-<version>-linux-x86_64.tar.xz(tar xf,然後執行 ./GD-Melee)。
  2. 指向你自己的光碟。 啟動 GD Melee.exe(Windows)或 ./GD-Melee(Linux),點擊
    Add disc… 並選擇你自己合法傾印的 Melee NTSC 1.02 .iso(ACE 或
    Akaneia 等模組光碟也可用)。此移植不隨附任何衍生自光碟的內容。
  3. 開始遊玩。 按下 PLAY。線上遊玩:VERSUS > ONLINE,然後開設房間並傳送
    代碼、加入房間,或按下 Random Opponent。

啟動器提供英文與西班牙文(預設跟隨系統語言;可在啟動器中選擇英文或西班牙文)。Windows SmartScreen 會在首次執行時警告,因為啟動器未經
程式碼簽章。Linux 版本是 64 位元主機上的 32 位元遊戲,需要發行版的 32 位元
執行階段與 Vulkan 驅動程式;壓縮檔中的 README.txt 列出了所需套件。按 F11 或
Alt+Enter 切換全螢幕。

0.2.x 的新內容

每個版本的詳細資訊在 tools/release/notes/。

  • Linux,以及 Windows 對 Linux 對戰。 原生 Linux x86_64 版本,具備相同的啟動器、模組與
    線上遊玩;Windows 與 Linux 玩家可互相配對。對戰前雙方遊戲會比較
    組建 ID,組建不符會被拒絕,而非發生不同步(0.2.0,於 0.2.2 修正)。
  • 線上。 回滾搭配房間代碼與競技大廳、更嚴格的光碟檢查、斷線後可繼續的
    賽局(或可放棄)、平手賽局重賽而非突然死亡,以及私人房間的 Turbo 對戰規則。回滾檢查會查看遊戲中更多
    部分,因此真正的不同步會在其開始的那一格被捕捉。
  • 遊戲內模組瀏覽器(SSBM Nucleus)。 以縮圖與篩選器瀏覽並搜尋模組、將它們排入佇列
    (佇列在重新啟動後仍保留),遊戲會為你下載並安裝 zip 模組。
    來自 SSBM Nucleus 的模組 - https://ssbmnucleus.net, 經 sc00p 許可使用。
  • 每位鬥士 255 套服裝,因此外觀不再受限於原始調色盤欄位。
  • 全螢幕,使用 F11 或 Alt+Enter,以及 Video 設定。
  • 預設全部解鎖:從一開始就有每位鬥士與場地。可在
    Settings > Gameplay 中關閉。
  • Envoy,在 Classic 與 Adventure 之上的 roguelite:每關後選擇一個 drive,在
    袋子中攜帶四個,取得帶有缺點的稀有 keystones,並面對會用技巧對付
    你的更強對手。它預設開啟(SOLO > ENVOY;啟動器的 Mods 分頁可將其關閉);兩名玩家可
    以離線合作方式進行,或在私人線上房間中進行 Envoy 賽局。
  • 新的 Qt 啟動器,適用於 Windows 與 Linux,具備 Diagnostics 分頁,以及可選的當機報告上傳。
  • Linux 修正: 大幅加快的回滾快照、Turbo 當機已修正,以及 Envoy drive 道具、
    crit 著色器與模組表面著色器現在可運作。其他部分:錯誤的著色器快取項目不再會
    阻止遊戲啟動,且 Data > Snapshots 不再凍結。

功能

<table>
<tr>
<td>

  [README 圖片:Rollback netplay: Room codes or Random Opponent. Windows and Linux play each other.](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/feature_rollback_light.png)
</td>
<td>
  
  [README 圖片:Competitive lobby: Blind picks, starters and counterpicks, 1-2-1 strikes, bans and rematches.](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/feature_lobby_light.png)
</td>

</tr>
<tr>
<td>

  [README 圖片:HD at any resolution: Native D3D12 or Vulkan at any render scale, vsync off, ~13 ms input.](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/feature_hd_light.png)
</td>
<td>
  
  [README 圖片:m-ex mod support: Mod discs and loose mods: fighters, stages, items and music, online too.](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/feature_mex_light.png)
</td>

</tr>
<tr>
<td>

  [README 圖片:94 fighter slots: Room for big m-ex rosters, with their names, emblems and stock icons.](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/feature_roster_light.png)
</td>
<td>
  
  [README 圖片:Lua scripting + kit UI: Scripts, a console and gd.kit: draw panels in the menus](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/feature_scripting_light.png)
</td>

</tr>
<tr>
<td>

  [README 圖片:Training on the kit: Training can run through the new character and stage select screens.](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/feature_training_light.png)
</td>
<td>
  
  [README 圖片:Launcher, EN / ES: Windows and Linux. Mods, diagnostics and crash reports, in English and Spanish.](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/feature_launcher_light.png)
</td>

</tr>
<tr>
<td>

  [README 圖片:Slippi replays: Frame-accurate playback of .slp replays, straight from the game.](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/feature_replays_light.png)
</td>
<td>
  
  [README 圖片:Settings screen: Video, audio, controls and online options, applied right away.](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/feature_settings_light.png)
</td>

</tr>
<tr>
<td>

  [README 圖片:UCF + tournament rules: Universal Controller Fix and tournament rule sets, built in.](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/feature_ucf_light.png)
</td>
<td>
  
  [README 圖片:Deterministic engine: Bit-exact simulation, checked frame by frame with SyncTest.](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/feature_determinism_light.png)
</td>

</tr>
<tr>
<td>

  [README 圖片:Envoy roguelite: A run of stages with loot and keystones. Solo, co-op or an online set.](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/feature_envoy_light.png)
</td>
<td>
  
  [README 圖片:In-game mod browser: Browse SSBM Nucleus mods in the game and install them from a queue.](https://github.com/GurekamDhillon/gd-melee-workspace/blob/238f0390033880036ac86db07ef6fa240679c23f/docs/readme/feature_modbrowser_light.png)
</td>

</tr>
</table>

功能

線上

  • 回滾網路程式碼,Windows 與 Linux 玩家之間也可使用。用簡短的房間代碼與朋友對戰,或
    按下 Random Opponent 與任何正在搜尋的人配對。
  • 同一房間內的競技大廳:盲選角色、場地 strike 與 ban、ready-up 與
    重賽,並保留賽局比分。
  • 場地分為 starters(Battlefield、Final Destination、Dream Land、Yoshi’s Story、
    Fountain of Dreams)與一個 counterpick(Pokémon Stadium)。第 1 局在 starters 上
    以 1-2-1 進行 strike;counterpick 從第 2 局起開放 ban 與 pick。
  • strike 游標在每個方向都會跳過已 strike 與已 ban 的場地,並可環繞。
  • Sheik 可在線上選用(在 Zelda 上再按 A),且模組可在線上運作:你可以選擇雙方
    玩家都擁有的任何鬥士或場地。
  • GameCube 轉接器跟隨你正在使用的視窗,且僅在線上對戰期間於背景保持連接。

模組(m-ex)

  • 模組光碟(ACE、Akaneia)與複製到 mods 資料夾的鬆散模組。啟動器的 Mods 分頁
    列出已安裝的模組、啟用/停用它們,並將移除的模組移至可復原的資料夾。它
    不會下載模組;遊戲內瀏覽器(如上)會下載。
  • 94 個 m-ex 鬥士欄位(從 31 增加),因此大型陣容可容納。
  • 結果畫面顯示 m-ex 鬥士的名稱、徽章與庫存圖示。
  • m-ex CPU 會從其複製來源基礎的 CPU 表進行遊玩。

選單與畫面

  • 新的主選單、中樞、角色選擇與場地選擇,會列出你的
    光碟與模組提供的每位鬥士與場地,並為大型陣容提供分頁。
  • Training 可以透過新的角色與場地選擇進行(gd.training_select("kit"),
    或場景語法中的 select=kit)。
  • Settings 畫面:影片、音訊、控制、線上名稱與伺服器、模組與遊戲玩法選項,
    立即套用並儲存。
  • 預設從一開始就全部解鎖,無需存檔(Settings > Gameplay 可將其關閉)。

圖形與輸入

  • 原生渲染(Windows 上為 D3D12,Linux 上為 Vulkan),可在任何渲染縮放下運作、關閉 vsync,以及實驗性的無上限影格率。
  • 從控制器到螢幕約 13 毫秒,穩定。
  • 全螢幕(F11 或 Alt+Enter)以及每位鬥士 255 套服裝。
  • GameCube 轉接器(可隨時插入,支援副廠)以及任何遊戲手把。

腳本

  • Lua 腳本與主控台(反引號鍵)。腳本可以讀取對戰、繪製、等待遊戲、
    新增主控台指令,並且若它們宣告,可驅動遊戲玩法(回滾安全)。
  • gd.kit:腳本使用選單自身的 kit(9-slice 面板、kit 的字型與文字
    角色、清單列、圖示、調色盤)繪製於任何場景之上,包括對戰。模組可以隨附自己的
    kit 美術。
  • 內建範例:tm_lite(在 F5-F8 儲存/載入位置)、state_overlay(影格資料)、
    kit_hud、scene_setup。請見 docs/scripting.md。

啟動器與報告

  • 英文與西班牙文;語言預設跟隨 Windows。
  • Diagnostics 分頁、簡短日誌,以及已移除你的 Windows 使用者名稱的本機當機報告。
    Qt 啟動器會開啟日誌並複製報告以供分享。上傳當機報告為可選、預設關閉,且僅在
    你點擊「Upload last 3 crash logs」時才會發生。

變更記錄

各版本說明:tools/release/notes/。0.1.x 系列的重點:

  • 0.1.5: 鍵盤僅限熱鍵(以控制器遊玩)、「Connect a controller」提示、
    選單中的滑鼠(腳本可用 gd.mouse())、道具首次生成不再卡頓、m-ex 當機修正、
    位元精確的矩陣數學,並以六份主機 Slippi 重播回放到位元層級,以及 Geno 引擎
    與 LAB 模式。
  • 0.1.6: TRAINING 具備影格優勢、招式資料與可設定的假人;COMBO 與 DRILLS。

螢幕截圖

全部擷取自執行中的移植(除非另有註明,否則為 1280x960 視窗)。

<table>
<tr>
<td width=“50%”>README 圖片:Online lobby, game 1 stage striking: starters on the left, Pokémon Stadium as the counterpick, Dream Land struck by P2, the cursor on Battlefield</td>
<td width=“50%”>README 圖片:A Fox vs Marth match on Battlefield rendered at 3x (1920x1440)</td>
</tr>
<tr>
<td>README 圖片:The new character select on the Akaneia disc, with the m-ex fighters in the grid and Dr. Mario picked</td>
<td>README 圖片:The new stage select, page 1 of 2</td>
</tr>
<tr>
<td>README 圖片:The kit_hud example script: a panel drawn with gd.kit over a match, listing both fighters and their percent</td>
<td>README 圖片:Training</td>
</tr>
<tr>
<td>README 圖片:Wolf vs Charizard, two m-ex fighters, on Final Destination</td>
<td>README 圖片:The results screen naming m-ex fighters Wolf and Charizard, with their emblems and portraits</td>
</tr>
<tr>
<td>README 圖片:The new main menu: Versus, Solo, Collection, Settings, Data</td>
<td>README 圖片:The Settings screen: video, audio, controls, online, mods, gameplay, rumble, screen display, language</td>
</tr>
<tr>
<td>README 圖片:The launcher</td>
<td>README 圖片:The launcher</td>
</tr>
</table>

Geno 引擎

Geno 是移植版專為 m-ex 無法表達的鬥士內容所打造的自有層。鬥士透過在其 m-ex 檔案旁的 geno.json 選擇加入;沒有該檔案的鬥士則完全依照 m-ex 的定義運作,因此 Geno 維持 100% 的 m-ex 相容性。它新增的一切都存在於 rollback 快照中且具確定性,所以能在線上運作。Geno 在 Melee 的規則內加入角色能力:它絕不改變 Melee 的物理、受擊硬直、擊退、空中閃避或邊緣規則。

  • v0,基礎: 一個具有穩定 id 的註冊表(加鹽雜湊進 netplay 握手)、每個鬥士的狀態區塊、鬥士自身招式腳本中的腳本逃逸(變數、if/else、呼叫)、屬性覆寫,以及超越 Melee 表格的多重跳躍。
  • v1,腳本功能: 任何子動作的腳本疊加層、引擎數值(讀取、寫入與測試)、帶有 Brawl 風格需求的動作切換、rehit、autolink、特殊屬性覆寫與落地處理常式。
  • v2,動作狀態: 具原生行為的全新動作狀態:滑翔,以及 Brawl 風格的必殺技,例如 Mach Tornado 與 Drill Rush。
  • v3,根運動: 在地面與空中跟隨其動畫根運動的狀態、隱藏與無形數值(Dimensional Cape),以及依 Brawl 自身程式碼重建的 Drill Rush。
  • v4,模型跟隨招式: 模型隨鑽頭俯仰,並以龍捲風的旋轉速率旋轉。

完整參考文件位於 docs/geno.md
在 melee fork 中。

LAB,影格資料實驗室

SOLO > LAB 是專為研究任何鬥士(vanilla、m-ex 或 Geno)而設的獨立遊戲模式:任何鬥士與 CPU 可在任何舞台,KO 後會重生,且計時器永不耗盡。

  • 顯示模式(hitboxes、hurtboxes、ECB、skeleton 等)、以選單自身風格繪製的 HUD,以及仿照櫻井招式表畫面風格的全螢幕暫停選單。
  • 倒帶大幅回溯並逐格前進、持續存在的存檔庫,以及比賽中途對鬥士檔案的熱重載。
  • 狀態瀏覽器: 鬥士擁有的每個動作狀態(common、special、m-ex、Geno),從中立狀態播放、循環或慢速播放,並在旁顯示其腳本視窗。
  • 擊退預覽: hitbox 會將受害者送往何處,包含 DI、受擊硬直、翻滾,以及其越過擊殺區的影格,由遊戲自身的擊退程式碼計算。
  • A/B 比較: 兩名鬥士,或同一名鬥士的兩個版本,同步進行。
  • 影格資料匯出與差異比對。
  • Rollback 視覺化工具: 查看 rollback 重新模擬了什麼。
  • Vanilla 對等檢查對照在主機上錄製的真實 Slippi 重播:移植版會播放它們並逐格比較。

0.1.6 新增: TRAINING 顯示影格優勢、招式資料、輸入與技巧回饋。可設定的假人支援 DI、受身、反應與錄製輸入;COMBO 檢視後續追擊,DRILLS 提供計分練習。LAB 仍僅限離線。

移植:Halberd(Meta Knight)

ports/halberd/ 是 Halberd,Meta Knight 從 Super Smash Bros. Brawl 移植為 Geno 上的 m-ex 鬥士:他的普通攻擊、抓取與投擲、他的四個必殺技、滑翔、六次跳躍,以及他自己的特效、音效與選單美術。此儲存庫僅包含研究內容:筆記、角色 IR、轉換工具與設定。不包含任何任天堂資產;重建他需要你自己合法取得的遊戲副本。共用的角色 IR schema 位於 ports/ir/。

已知問題

  • UnclePunch 的 Training Mode 功能尚未完整移植;LAB 與 tm_lite 涵蓋不同的練習流程。TM-CE 與 20XX 光碟可開機,但其光碟專屬功能無法運作。
  • 來自不同整合包的鬥士與舞台模組(例如 ACE 鬥士搭配 Akaneia 舞台)目前尚無法混用。
  • 無上限影格率為實驗性:畫面會落後遊戲一個影格。
  • 新角色選擇畫面的隊伍模式尚未完成,且 4 人本機對戰測試不足。
  • 線上遊玩僅在一台 PC 上以兩個遊戲視窗測試過,尚未在網際網路上廣泛測試。Online Envoy 僅有被動驅動。
  • 新外觀需重新啟動後才會出現。重度改裝的鬥士仍可能超出 120 fps 遊戲所能負荷的成本。
  • 在某些 Linux 筆電上,遊戲曾以低於 60 fps 運行(0.2.1);這仍在處理中。
  • 在 144 Hz 螢幕上,60 fps 看起來不均勻。將顯示器設為 120 Hz,或開啟 G-Sync/FreeSync。

各版本的發行說明位於 tools/release/notes/。

這是什麼

大多數「PC 上的 Melee」嘗試不是模擬(Dolphin + Slippi),就是零售二進位檔的靜態重編譯。本專案採取第三條路——編譯式反編譯:

  • doldecomp/melee 是 Melee 的匹配反編譯,其中每個遊戲翻譯單元都是重現原始 PowerPC 行為的真實 C 程式碼。
  • 這些翻譯單元由 pc/tools/gwtool 重定向至 x86:clang 的 PPC 前端發出 LLVM IR,而 gwtool 將每次記憶體存取改寫為大端序、為每個符號加上 gw_ 前綴,並發出 x86 COFF。結果連結至原生平台層。
  • GameCube SDK 介面(GX、OS、PAD、CARD、AX、DVD、AR……)由原生 shim 取代,建構於 Aurora(建構於 Dawn 之上的 GC/Wii SDK 重實作)之上,因此渲染直接送往 D3D12(Windows)或 Vulkan(Linux),沒有模擬 GPU。在 SDK 自身反編譯原始碼值得保留之處,它會像任何其他翻譯單元一樣被建構——THP 視訊解碼器即是如此,其 Gekko 配對單精度 IDCT 已改寫為可攜式 C。
  • m-ex 內容在其資料檔案內附帶 PowerPC 程式碼;移植版透過一個小型 PowerPC 解譯器執行這些 blob,並將其呼叫橋接回自身的原生函式。

相較於靜態重編譯,其回報是完全可編輯的遊戲——每一行引擎程式碼都是你能修改的 C。代價是全部約 980 個翻譯單元都必須以人工修正正確,這正是大部分工程投入所在(見 devlog)。

狀態

領域 狀態
開機 → 選單 → VS 對戰、Training 運作中
渲染(GX → Windows 上 D3D12、Linux 上 Vulkan,經由 Aurora/Dawn),任何渲染縮放 運作中
音訊(自有 AX / DSP-ADPCM 混音器,建構於 SDL3 之上) 運作中,包含兩個 aux 匯流排 + AXFX 殘響/延遲
過場動畫(THP 視訊,自有解碼器) 運作中
記憶卡存檔(GCI) 運作中
GameCube 轉接器、遊戲手把(鍵盤 = 僅熱鍵)、選單中的滑鼠 運作中
Vanilla 對等(主機 Slippi 重播,位元精確) 運作中
Geno 引擎 + LAB 模式 公開測試,包含 LAB 訓練、假人、連段與訓練
影格節奏 硬性 60 Hz;實驗性無上限影格率
Rollback netplay + 競技大廳 公開測試
Slippi 重播播放 運作中
m-ex 光碟與鬆散模組(94 個鬥士欄位) 公開測試
Lua 腳本 + 主控台 運作中(API 1)
Windows x64 與 Linux x86_64 組建、Windows 對 Linux 線上遊玩 公開測試(0.2.2)
啟動器(Qt,英文與西班牙文)、發行封裝 公開測試(0.2.2)
遊戲內 SSBM Nucleus 模組瀏覽器(zip 模組) 公開測試(0.2.2)
Envoy roguelite(單人、離線合作、含被動驅動的線上對戰) 公開測試;外觀與平衡仍在調整
寬螢幕 Hor+ 遊戲畫面;置中的寬版套件選單與 Lua 畫布,即時 VIDEO 切換(選單變更尚待遊戲內驗證)

儲存庫結構

docs/DEVLOG.md        engineering log: every hard-won fact, bug and fix (read this first)
docs/HANDOFF.md       current state + next experiment (resume here)
docs/scripting.md     the Lua scripting API, the console and the examples
PORT_BOOTSTRAP.md     project origin and the feasibility analysis
_research/            boot gates, SDK/console invariants, shim surface, port dev quickref
_build/               Windows build scripts (Aurora, per-TU pipeline, link, run)
tools/port/           build.sh (build + bridge fixpoint), run.sh (sandboxed runs)
tools/release/        the launcher, release build/check/publish scripts, release notes
tools/netplay/        the matchmaking server and netplay test drivers
ports/               fighter ports (research only, no assets): halberd/ (Meta Knight), ir/ (character IR)
DEPENDENCIES.md       every third-party component, its version/pin, and its licence

移植版原始碼本身位於 doldecomp/melee 的 melee fork 中,在 pc-port 分支上,位於 pc/ 之下(pc/platform shim、pc/gameworld、pc/tools/gwtool)。該 fork 是可建構的專案;此儲存庫則包含其周邊的工具、啟動器、研究與工程日誌。

建構

主機環境為 Windows 搭配 WSL、MSVC Build Tools、clang 23,以及供 Aurora 使用的 CMake/Ninja。確切且持續維護的指令位於 _research/port-dev-quickref.md。簡言之:

  1. 建構 Aurora + Dawn + SDL3 — _build/build_aurora_melee.bat。
  2. 建構 melee-pc.exe — tools/port/build.sh 透過重定向管線編譯變更的翻譯單元、連結,並重新產生 m-ex 橋接,直到達到不動點。
  3. 對你自己的光碟映像執行 — tools/port/run.sh <name> --iso 。
  4. 封裝發行版 — 見 tools/release/README.md。

法律

  • 不包含任何受著作權保護的素材。 你必須自備合法傾印的 Super Smash Bros. Melee(NTSC 1.02)ISO。此處不散布任何 ROM、遊戲資產或任天堂 SDK 程式碼。螢幕截圖顯示移植版在作者自己的光碟上運行。
  • 移植僅包含研究內容。 ports/ 存放筆記、工具與設定,絕不含遊戲檔案;諸如 Halberd 的移植是從你自己合法取得的來源遊戲副本(Super Smash Bros. Brawl)在本機建構,且 .gitignore 讓每個建構出的資產都不進入儲存庫。
  • 與任天堂無關聯、未獲其背書或贊助。Super Smash Bros. 與 Melee 為任天堂的商標。
  • 底層反編譯是既有的、公開出版的、以研究為導向的努力。
  • 移植版以 GPL-2.0-or-later 授權 — 見 LICENSE。

致謝

  • doldecomp/melee — 本專案所建構於其上的反編譯。
  • encounter/aurora — GC/Wii SDK 重實作。
  • google/dawn — WebGPU 實作。
  • TwilitRealm/dusklight — 將 GameCube 反編譯轉為原生跨平台移植的先例。
  • akaneia/m-ex 及其貢獻者 — 內容擴充框架,其修補程式被用作移植版中重新實作行為的規格(未 vendor 或建構任何 m-ex 原始碼;見 DEPENDENCIES.md)。
  • Dolphin Emulator — pc/gameworld/gekko_fp.c 衍生自 Common/FloatUtils.cpp(GPL-2.0-or-later);姓名標示在該檔案中。

授權與來源聲明

原始 README 與翻譯沿用 GPL-2.0 授權;本次修改為繁中翻譯、連結與排版調整。可修改的 Markdown、原始 README、LICENSE 與 NOTICE 收錄於頂部文件包。原作遊戲內容與商標不因此獲得授權。

LICENSE

GNU GENERAL PUBLIC LICENSE
                       Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
 <https://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

  Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

  The precise terms and conditions for copying, distribution and
modification follow.

                    GNU GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

  2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) You must cause the modified files to carry prominent notices
    stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

    c) If the modified program normally reads commands interactively
    when run, you must cause it, when started running for such
    interactive use in the most ordinary way, to print or display an
    announcement including an appropriate copyright notice and a
    notice that there is no warranty (or else, saying that you provide
    a warranty) and that users may redistribute the program under
    these conditions, and telling the user how to view a copy of this
    License.  (Exception: if the Program itself is interactive but
    does not normally print such an announcement, your work based on
    the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

  9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

  10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

                            NO WARRANTY

  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along
    with this program; if not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

    Gnomovision version 69, Copyright (C) year name of author
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  `Gnomovision' (which makes passes at compilers) written by James Hacker.

  <signature of Moe Ghoul>, 1 April 1989
  Moe Ghoul, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs.  If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.