* Improve Widescreen/Ultrawide Collection/File Select Menus Re-scale (unstretch) and center elements of the Collection Screen/File Select details screen for Widescreen/Ultrawide * Fix oversight Fix default behavior * Support ultrawide on Collection menu, target PC support ultrawide instead of reverting to default behavior wrap logic in target PC ifdefs (both changed functions themselves are still behind them as a whole as well) and use old function behavior otherwise * Fix icon overshift at ultrawide Icon shifted too much at ultrawide Move redundant duplicate line * Finished Collection/File Select screen changes Added settings for the scaling mode (GameCube, Wii, Dusklight) Depending on the setting in the Interface menu (Dusklight preset automatically sets scaling to Dusklight option, Classic preset sets to Gamecube, Wii/all old behavior available as well) Collection and File Select screens get scaled differently Fixed backdrop behind slots on File Select with Dusklight setting (the Magic Armor background slot seeming too low on all aspects is vanilla behavior) Fixed Fused Shadow/Mirror size and position with Dusklight setting All logic is behind TARGET_PC gates (not the logic specifically, but the functions themselves have always been) Changes dSelect_cursor_c::refreshAspectScale to take a parameter so the scale of the selection cursor can be reset to default (only ever called in TARGET_PC functions or wrapped in gates) * Ultrawide oversight * Update d_file_select.cpp copy paste oopsie * Update d_file_select.cpp im tired, never tested msvc * Menu Scaling Mode changed definitions to be more open ended header additions now in TARGET_PC ifdefs fixed/added scaling for Save/Option buttons in Collection menu with Dusklight setting, stopped scaling just the text * Update settings.cpp * Scale Memory Card screen, fix GC name screen Scales the Memory Card screen (text only) on Wii and Dusklight scaling settings, GC already keeps default scaling Fixes oversight on Name selection screen on GC settings (all textboxes/letters were getting scaled down) * deleted line oopsie * cleaning * fix stupid Moved cachedPanes to each 'wide' function because they're static and only being used there anyway
Overview
Dusklight is a reverse-engineered reimplementation of Twilight Princess.
It aims to be as accurate as possible to the original while also providing new options, enhancements, and tools to customize your experience.
Setup
Important
Dusklight does not provide any copyrighted assets. You must provide your own copy of the original game.
Important
At a minimum, Dusklight requires a GPU with support for either D3D12, Vulkan, or Metal. Your experience with specific hardware, operating systems, and drivers may vary. In particular, older Intel iGPUs have a high likelihood of incompatibility. We are also aware of a number of issues on devices with Adreno GPUs and are working to resolve them.
1. Dump your game
You must dump your own copy of the game, please see this article for instructions. After dumping, you can use a program like Dolphin or nodtool to convert the .iso to a .rvz to save space.
Currently, only the GameCube USA and EUR releases are supported. Support for other versions of the game is planned in the future.
2. Download Dusklight
3. Setup the game
Windows / macOS / Linux
- Extract the .zip file
- Launch Dusklight
- Press Select Disc Image and provide the path to your supported game dump
- Press Play!
iOS
- Follow the iOS setup guide
Android
- Install the Dusklight APK
- Launch Dusklight
- Press Select Disc Image and provide the path to your supported game dump
- Press Play!
Building
If you'd like to build Dusklight from source, please read the build instructions.
Pull requests are welcomed! Note that we do not accept contributions that are primarily AI-generated and will close your PR if we suspect as much. Please also see the code conventions.
Credits
Special thanks to the TP decompilation team, the GC/Wii decompilation community, the Aurora developers, the TP speedrunning community, and all contributors.
