Twilight Princess Dekompilierung – Zeitleiste (2020–2026)

Wie eine Community den gesamten Twilight-Princess-Code von Hand neu schrieb: Aug. 2020 bis Dez. 2025. Verifizierte Meilensteine, Mitwirkende und was die TP-Decomp so schwer machte.

Veröffentlicht 2026-05-10

Dass Dusklight 2026 existiert, liegt daran, dass eine Community aus Reverse Engineers fünf Jahre und vier Monate damit verbracht hat, den gesamten Quellcode von Twilight Princess neu aufzubauen – ohne Hilfe von Nintendo, ohne Leaks und ohne je den Originalquellcode gesehen zu haben. Im Dezember 2025 stimmte die GameCube-Version byte-genau überein. Fünf Monate später veröffentlichte TwilitRealm Dusklight auf dieser Grundlage.

Das ist die Zeitleiste dieser Arbeit.


Warum Dekompilierung für Ports notwendig ist

Die GameCube-Version von TP erschien nur als kompiliertes Binary auf einer 1,4-GB-Disc. Nintendo hat den Quellcode nie veröffentlicht. Um einen nativen PC-Port zu bauen, muss jemand den Quellcode rekonstruieren – das heißt: C/C++-Code von Hand schreiben, der mit dem Original-Toolchain (Metrowerks CodeWarrior für PowerPC) kompiliert ein Binary ergibt, das byte-identisch zur Retail-Disc ist.

Dieser Prozess heißt Matching-Dekompilierung. Er ist mühsam; es gibt keine Abkürzung. Jede Funktion, jedes Datenlayout, jede eigenartige Compiler-Optimierung muss exakt reproduziert werden. Der Lohn: Ist es einmal erledigt, gehört der Quellcode dir – du kannst ihn forken, porten, modifizieren oder darauf aufbauende Werke erstellen, ohne jemals Nintendos IP anzufassen.


Die Zeitleiste

August 2020 – Projektstart

  • 2020-08-29Pheenoh (Howard Luck) erstellt das zeldaret/tp-Repo auf GitHub. Die erste Commit-Message lautet charmant: "ok".
  • Das initiale Gerüst zielt auf GZ2E01, die GameCube-USA-Version
  • Das Projekt wird mit C++ als Hauptsprache aufgesetzt – ungewöhnlich für Game-Decomps, die historisch C-basierte Spiele (SM64, OoT, MM) anvisierten. C++-Matching ist deutlich schwerer wegen Vtables, RTTI und Template-Name-Mangling unter MWCC.

2020–2022 – Langsamer Anlauf

  • Pheenoh, Jcw87 und hatal175 bauen die Build-Infrastruktur auf: decomp-toolkit, MWCC-PowerPC-Compiler-Matching, benutzerdefinierte Build-Orchestrierung
  • In diesen Jahren geht es langsam voran; ein kleines Team bootstrappt Tools mehr, als Matching-Code zu schreiben

2023 – Beschleunigung

  • TakaRikka stößt dazu und wird zum produktivsten Contributor (führt am Ende die Commit-Rangliste an)
  • LagoLunatic (Wind-Waker-Decomp-Lead, WW-Randomizer-Autor) tritt bei und bringt Tooling-Expertise mit
  • Das Projekt landet im November 2023 auf Hacker News bei teilweiser Fertigstellung

2024 – Produktionsphase

  • Die PR-Zahl klettert in die Tausende, je mehr Contributors hinzukommen
  • GZ2P01 (GameCube EU/AU PAL) und GZ2J01 (GameCube Japan) werden als weitere Matching-Ziele hinzugefügt – das Projekt zielt jetzt gleichzeitig auf alle drei GameCube-Regionen

November 2025 – 99%-Meilenstein

  • Das Projekt erreicht 99,02% Matching für GameCube-Versionen (GBAtemp-Berichterstattung, November 2025)

Dezember 2025 – Alle GameCube-Versionen abgeschlossen

  • 2025-12-23 – Die GameCube-Versionen erreichen 100% Matching für alle drei Retail-Regionen: GZ2E01 (NA), GZ2P01 (EU/AU), GZ2J01 (Japan)
  • Berichterstattung durch Time Extension, GamesRadar und Gaming Bible

Ende Februar 2026 – TwilitRealm beginnt mit der Port-Arbeit

  • Laut dem offiziellen Dusklight-v1.0.0-Release-Post: „Starting in late February, we embarked on the journey to bring the finished decompilation project to more platforms.”
  • Ab hier forkt TwilitRealm die nun vollständige Dekompilierung (oder baut darauf auf) und beginnt mit dem Aurora-basierten Port

April 2026 – Wii-Decomp-Arbeit läuft + Ports angekündigt

  • Wii-Revisionen (RZDE01_00, RZDE01_02, RZDP01, RZDJ01), Wii-Kiosk-Demo (DZDE01) und Nvidia-Shield-China-Port (Shield/ShieldD) sind noch in Arbeit
  • Time Extension berichtet über zwei parallele native PC-Ports: Dusklight (TwilitRealm) und Courage Reborn (Linifadomra)
  • Gesamtzahl der Commits im Decomp-Repo zu diesem Zeitpunkt: ~2.365

Mai 2026 – Dusklight erscheint

  • 2026-05-09, 21:59 UTC – TwilitRealm veröffentlicht Dusklight v1.0.0 für Windows, macOS (ARM + Intel), Linux (x86 + ARM), Android und iOS
  • Die GameCube-Arbeit der Dekompilierung ist das Fundament; die Wii / NTSC-J-Versionen sind noch in Arbeit, und Dusklights erstes Release unterstützt dementsprechend nur GameCube NA + PAL ROMs

Was die TP-Dekompilierung besonders schwer machte

Code-Umfang

Laut decomp.dev/zeldaret/tp enthält das Projekt rund 11,5 MB Code + 2,5 MB Daten. Zum Vergleich:

ProjektCode-GrößeZeit bis 100% Matching
Super Mario 64~250 KB~2 Jahre
Ocarina of Time~1 MB~3 Jahre
Majora’s Mask~1 MB~3 Jahre
Twilight Princess~11,5 MB (C++)~5 J. 4 M. bis GC fertig

TP ist rund 10× größer als die früheren C-basierten Zelda-Decomps.

C++-Compiler-Matching ist deutlich schwerer als C

Die früheren Zelda-Decomps (OoT, MM) zielten auf C-Quellcode – mit vorhersehbarem Name-Mangling, ohne virtuelle Tabellen, ohne RTTI, ohne Templates. C++ fügt hinzu:

  • Name-Mangling, das je nach Compiler-Version variiert (MCCWs Schema ist proprietär)
  • Vtables, die byte-perfekt angelegt sein müssen
  • RTTI, das der Compiler in Formaten spezifisch zur CodeWarrior-Runtime ausgibt
  • Templates, die je nach Compiler-Entscheidungen zu spezifischen Symbol-Namen instantiiert werden

All das muss exakt den Bytes des Retail-Binaries entsprechen. Fehler zeigen sich nicht als „falsches Verhalten” – sie zeigen sich als abweichende ROM, was bedeutet: der Matching-Test schlägt fehl.

Unterschiede zwischen Revisionen

Drei GameCube-Retail-Regionen plus ein Debug-Build plus die Wii-Revisionen plus der Nvidia-Shield-Port (China). Jede hat kleine Unterschiede, die der Codebase via bedingter Kompilierung sauber handhaben muss. Das Repo macht das; es nicht zu brechen, ohne andere Targets zu beeinflussen, ist eine dauernde Herausforderung.

„Größte je abgeschlossene Dekompilierung”-Aussage

TwilitRealms v1.0-Ankündigung lautete:

“the largest decompilation project ever completed”

Stimmt das? Gut möglich. Skyward Sword (zeldaret/ss, ebenfalls C++) ist vom Umfang her vergleichbar und deutlich früher in der Entwicklung. Wind Waker (zeldaret/tww, C++) ist ähnlich groß und noch in Arbeit. Als „größte vollständig matchende Konsolen-Game-Dekompilierung mit Abschluss-Status als Ende 2025” – TP scheint den Rekord zu halten. Es ist nicht formal zertifiziert, aber niemand hat ein Gegenbeispiel vorgelegt.


Vom Projekt verfolgte ROM-Versionen

Versions-IDPlattform / RegionDecomp-Status (Mai 2026)
GZ2E01GameCube NA✅ 100% Matching
GZ2P01GameCube EU/AU (PAL)✅ 100% Matching
GZ2J01GameCube Japan✅ 100% Matching
RZDE01_00Wii NA Rev 0🔄 In Arbeit
RZDE01_02Wii NA Rev 2🔄 In Arbeit
RZDP01Wii EU/AU🔄 In Arbeit
RZDJ01Wii Japan🔄 In Arbeit
DZDE01Wii Kiosk Demo🔄 In Arbeit
ShieldNvidia Shield China🔄 In Arbeit
ShieldDShield Debug🔄 In Arbeit (zur Symbol-/Typ-Wiederherstellung genutzt)

Der decomp.dev-Dashboard-Stand bei Abruf: 100,00% dekompiliert, 87,13% vollständig gelinkt. Die restlichen 12,87% sind die Wii→GC-Alignierungsarbeit.


Top-Contributor (nach Commit-Anzahl)

Aus gh api /repos/zeldaret/tp/contributors:

  1. TakaRikka – 409 Commits
  2. Pheenoh (Howard Luck) – 375 Commits (Gründer)
  3. hatal175 – 301
  4. caseif – 127
  5. Jcw87 – 123
  6. carter-ktb21 – 114
  7. LagoLunatic – 86
  8. YunataSavior – 85
  9. lepelog – 77
  10. jdflyer – 64

Über die Top 10 hinaus haben Hunderte weitere Contributors kleinere Beiträge geleistet – das Projekt hat einen langen Schwanz.


Warum das 2026 wichtig ist

Dass die TP-Dekompilierung Ende 2025 abgeschlossen wurde, ist der Grund, warum Dusklight im Mai 2026 erscheinen konnte. Vor Dezember 2025 waren native PC-Ports von TP ohne geleakten Quellcode unmöglich. Danach: im Prinzip trivial, nur langsame Port-Arbeit.

Das ist dasselbe Muster wie bei Ocarina of Time: zeldaret/oot erreichte hohen Fertigstellungsgrad → Ship of Harkinian erschien. Die Dekompilierung ist die Upstream-Bibliothek; der Port ist das Consumer-Produkt.

Die nächsten wahrscheinlichen Nutznießer dieses Musters:

  • Wind Waker (zeldaret/tww) – sobald es abgeschlossen ist, ist ein Ship-of-Harkinian-artiger Port zu erwarten
  • Skyward Sword (zeldaret/ss) – frühere Phase, aber beobachtenswert
  • Breath of the Wild (zeldaret/botw) – das spektakuläre; noch sehr früh

Verwandte Seiten


Quellen


Zuletzt aktualisiert: 10. Mai 2026. Wir aktualisieren diese Seite, wenn die Wii / NTSC-J / Shield-Decomp-Arbeit voranschreitet.

← Decomp-Hub · Pillar-Guide →