assets by Level-5, running in widebrim HD
widebrim HD is a work-in-progress Godot-based high-level engine recreation for the mobile versions of LAYTON2 (Layton: Diabolical Box in HD / Layton: Pandora's Box in HD) for running the game natively, without emulation on any compatible system.
You will need the following:
- A dump of LAYTON2 HD for Android, including both the APK and OBB
- Godot 4.2 or newer
- Python 3.11
- PyCriCodecs, tested with 0.4.8
To improve your experience, the following is recommended:
- Environment for building Python extensions (e.g., Microsoft Build Tools for Visual Studio)
- FFMPEG with libvorbis (e.g., any modern FFMPEG 'essentials' build)
- This should be accessible from any terminal, i.e., on PATH for Windows.
- Install the required prerequisites (and optional for a better experience)
- Clone the repository.
- Start a terminal inside
widebrim_hd/assets_py_unpacker
and run the following:- Install requirements with
pip install -r requirements.txt
- (Optional, recommended) Build Cython extension for faster unpacking with
python setup.py build_ext --inplace
- (Optional, recommended) Build Cython extension for faster unpacking with
- Unpack and convert assets with
python install_apk_obb.py <path to apk> <path to obb>
- If you do not have the optional prerequisites installed, this will be very slow and will consume significantly more space. This is the intended way to install the assets, but if this is too slow you can try QuickBMS with this script. You will need to manually extract the asset folder from the APK and combine both the OBB output and APK files into the
widebrim_hd/assets
folder. This method is deprecated and will be incompatible in the future. Audio support is not planned with this method.
- If you do not have the optional prerequisites installed, this will be very slow and will consume significantly more space. This is the intended way to install the assets, but if this is too slow you can try QuickBMS with this script. You will need to manually extract the asset folder from the APK and combine both the OBB output and APK files into the
- Install requirements with
- Import
widebrim_hd/project.godot
into the Godot Editor.
Open Godot, load the project and press Play in the top-right. By default, the game loads and saves a DS-like save slot as state.sav
in the project root. To delete all progression and restart, delete this save.
widebrim HD continues where widebrim left off and tackles research for the HD ports of LAYTON2... ...but to be honest, it's actually just for fun, I don't know much about Godot 😄
widebrim HD is a rewrite of widebrim combined with additional knowledge from reversing LAYTON2 HD. It tries to be largely accurate and should replicate most engine-related bugs in the future, especially because the new engine itself has none of the quirks of the Nintendo DS version.
Not very, gamemode switching is implemented and a basic event and room parser have been written. It's not known how far along the story can be completed yet.
Please open a GitHub issue describing the problem, your save file and steps to reproduce. The save system in-game isn't complete yet so we might need significant information if the bug isn't easily reproducible. Thanks!
Open a GitHub issue - keep in mind that features in the original game are already intended to have implementations in widebrim HD.
Feel free, open a pull request 😎
Thanks goes to...
- The contributors of PyCriCodecs, audio support is planned and this library is responsible for making it possible ❤️
- Christian Robertson for the font Roboto, I'm lazy and can't be bothered to finish reversing
font.dat
but this is similar enough - ssh for figuring out the decryption routine for the HD Layton games (RIP ZenHAX)
- Everyone who helped with widebrim and by extension, madhatter for understanding HD file formats