Repository navigation
Decompilation Dashboard: Feature Walkthrough
This document provides a brief overview of all features available in the dashboard, organized by the main workflow tabs.
Tab 1: Project Setup
This tab is for the initial, one-time configuration of your decompilation project.
-
Project Folder Selection:
- Use the Select Folder button to choose a parent directory where the
meleerepository will be cloned. The application will remember this path for future sessions.
- Use the Select Folder button to choose a parent directory where the
-
main.dol Path:
- Use the Select File button to locate your legally acquired
main.dolfile. This path is also saved.
- Use the Select File button to locate your legally acquired
-
Configure Environment & Run Setup:
- This is the main action button. Clicking it initiates an automated sequence:
- Verifies that
gitandpythonare found. Ifninjais missing, it attempts to install it viapip. - Clones the
doldecomp/meleerepository into your selected Project Folder if it doesn't already exist. - Copies your
main.dolinto the correctmelee/orig/GALE01/sys/directory. - Runs
configure.pyto set up the build environment. - Runs an initial
ninjabuild to ensure everything is working.
- Verifies that
- This is the main action button. Clicking it initiates an automated sequence:
-
Settings (Gear Icon):
- Located in the top-right corner.
- Opens a page where you can manually specify the paths to
python.exe,git.exe, andninja.exe. This is useful if they are not in your system's PATH. Manually set paths always take priority.
Tab 2: Reconnaissance & Decomp
This tab is your primary workspace for finding a function to work on and gathering the necessary information for decomp.me.
-
Select Assembly File Dropdown:
- This dropdown is populated with all the assembly (
.s) files from the project. - Each entry shows the file path and a
(Vacant/Claimed)count. - The Hide Completed checkbox filters out files that have no vacant functions left.
- This dropdown is populated with all the assembly (
-
Vacant Functions List:
- Displays all functions within the selected assembly file that have not yet been decompiled in the C source code.
- Clicking on a function name in this list selects it as your target.
-
Claimed/Done Functions List:
- Shows all functions in the selected file that are already present in the C code. This serves as a quick reference for finding working examples.
-
decomp.me Scratch Pad:
- Selected Target: Displays the name of the function you selected from the "Vacant Functions" list.
- Check Button: Opens a new browser window to
decomp.me, pre-filled with a search for your selected target function's name. - Target Assembly: Automatically populated with the clean assembly code for your selected function. Use the Copy Assembly button to easily copy this to your clipboard.
- Context: Automatically populated with the
#includedirectives from the corresponding C file. This provides the necessary context fordecomp.me. Use the Copy Context button.
Tab 3: Verification & Submission
Once you have a 100% match on decomp.me, this tab helps you test it locally and prepare it for submission.
-
Paste Your Matched C Code Here:
- A large textarea where you paste the final, matching C code from your
decomp.mescratch.
- A large textarea where you paste the final, matching C code from your
-
Inject Code & Add to Header Button:
- This is an intelligent "find and replace" button.
- It parses the function name and signature from the code you pasted.
- It replaces the function stub in the
.cfile with your new code. - It replaces the old function signature in the
.hfile with your new, correct signature, preventing redeclaration errors.
-
Revert Changes Button:
- A safety feature. This button uses
git restoreto revert any changes made to the currently selected C file and its corresponding header, returning them to their original state.
- A safety feature. This button uses
-
Run
ninjato Verify Button:- Executes the
ninjacommand to build the project. Use this to confirm that your injected code compiles successfully without errors.
- Executes the
-
Submission Section:
- Link to your decomp.me Scratch: A field to paste the URL of your successful scratch.
- Open GitHub Issue Button: Opens a new issue on the
doldecomp/meleeGitHub repository, pre-filling the title and body with your function name, file path, and thedecomp.melink.
Global Features
-
Output Log:
- Located at the bottom of the application. It displays real-time output from all commands (
git,ninja, etc.) and provides status messages from the dashboard itself, with color-coding for success, errors, and commands.
- Located at the bottom of the application. It displays real-time output from all commands (
-
Quick Access Links:
- Located in the top-left corner. These provide one-click access to the Melee Decompilation GitHub repository and the
decomp.mewebsite.
- Located in the top-left corner. These provide one-click access to the Melee Decompilation GitHub repository and the