A work-in-progress decompilation of the December 11, 2009 version of the Revolution SDK.
This repository does not contain any of the original objects. An existing copy of the game [SC5PGN]
Challenge Me: Word Puzzles is required. (See Building below.)
Supported versions:
- Debug
- Release
On Windows, it's recommended to use native tooling. WSL or msys2 are not required.
When running under WSL, objdiff is unable to get filesystem notifications for automatic rebuilds.
- Install Python and add it to
%PATH%
.- Also available from the Windows Store.
- Download ninja and add it to
%PATH%
.- Quick install via pip:
pip install ninja
- Quick install via pip:
-
Install ninja:
brew install ninja
-
Install wine-crossover:
brew install --cask --no-quarantine gcenx/wine/wine-crossover
After OS upgrades, if macOS complains about Wine Crossover.app
being unverified, you can unquarantine it using:
sudo xattr -rd com.apple.quarantine '/Applications/Wine Crossover.app'
- Install ninja.
- For non-x86(_64) platforms: Install wine from your package manager.
- For x86(_64), wibo, a minimal 32-bit Windows binary wrapper, will be automatically downloaded and used.
-
Clone the repository:
git clone https://github.com/muff1n1634/sdk_2009-12-11.git
-
Extract the SDK objects:
- Replace
SC5PGN.iso
with the path to your copy of Challenge Me.
dtk vfs cp SC5PGN.iso/build/libs/Debug/slamWiiD.a SC5PGN.iso/build/libs/Release/slamWii.a orig/
- Only extract the archives, not the objects within the archives. The extraction of the objects from the archives are handled as part of the build.
- After the initial build, the original archives can be deleted to save space.
- Replace
-
Configure:
python configure.py
Both debug and release objects are configured to build at the same time, so there is no need to configure this with command-line options. (Thanks @robojumper!)
-
Build:
ninja
Once the initial build succeeds, an objdiff.json
should exist in the project root.
Download the latest release from encounter/objdiff. Under project settings, set Project directory
. The configuration should be loaded automatically.
Select an object from the left sidebar to begin diffing. Changes to the project will rebuild automatically: changes to source files, headers, or configure.py
.