Hacker News new | ask | show | jobs
by michaelchisari 22 days ago
Delighted to see a "brew install dusklight" option.

Curious how this is different from a generalized emulator. Wouldn't this be able to run any GC game that used the same registers as Twilight Princess?

1 comments

This project was made possible by the recent ZeldaRET decompilation project. To simplify, the goal of that project was to create a program whose inputs were the game assets (extracted from a ROM) and to produce ROM output that just happens to be an exact match of the source ROM. In other words, the decompilation project re-implemented all game logic.

Dusklight is a program based on the decompiled source code that requires game assets then runs the application natively. It’s highly specialized and would likely never be used to run any other game.

Why would they reimplement the game logic if they've decompiled the game code? I genuinely do not understand!
Sorry, the "re-implemented" wording might have been a bit strong in my last comment.

Take a look at this recent pull request into the TP decompilation repo: https://github.com/zeldaret/tp/pull/3155/changes

The changes are often symbol renames, casts, replacing hard-coded values with enum values, etc...The idea is to map the decompiled output to human-readable source.

Why would they decompile the game if they can implement the game logic?