https://github.com/bullbin/widebrim_hd
Work-in-progress high-level reimplementation of the engine for LAYTON2 HD (Layton: Diabolical Box / Pandora's Box in HD)
https://github.com/bullbin/widebrim_hd
android game-engine gdscript godot godot4 ios professor-layton recreation reimplementation rom-hacking
Last synced: about 2 months ago
JSON representation
Work-in-progress high-level reimplementation of the engine for LAYTON2 HD (Layton: Diabolical Box / Pandora's Box in HD)
- Host: GitHub
- URL: https://github.com/bullbin/widebrim_hd
- Owner: bullbin
- License: mit
- Created: 2024-04-04T21:11:03.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-15T19:47:46.000Z (over 1 year ago)
- Last Synced: 2024-10-17T06:17:29.017Z (over 1 year ago)
- Topics: android, game-engine, gdscript, godot, godot4, ios, professor-layton, recreation, reimplementation, rom-hacking
- Language: GDScript
- Homepage:
- Size: 1.97 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# widebrim HD
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.
## Quickstart: How do I get this running?
### Required Prerequisites
You will need the following:
- A dump of LAYTON2 HD for Android
- For older versions, you will need the APK and OBB
- For newer versions, you will need unmodified base and InstallAssets APKs
- Global builds are preferable for wider language support
- Godot 4.2 or newer
- Python 3+
- [PyCriCodecs](https://github.com/Youjose/PyCriCodecs), tested with 0.4.8
- FFMPEG with libvorbis, libtheora and libx264 (i.e., any modern FFMPEG 'essentials' build)
- This can either be installed system-wide (i.e., on PATH for Windows) or [downloaded locally](https://www.ffmpeg.org/download.html) **(-f flag must be specified during install)**
### Installation Guide
For obvious reasons, widebrim HD is not bundled with any game assets. A Python script is provided to unpack game archives and convert relevant assets to native formats. Install by doing the following:
1. Install the required prerequisites (and optional ones for a better experience).
2. Clone the repository.
3. Start a terminal inside `widebrim_hd/assets_py_unpacker` and run the following:
- Install requirements with `pip install -r requirements.txt`
- (Optional, recommended if installing from an OBB, irrelevant for APK installs) Build Cython extension for faster decryption with `python setup.py build_ext --inplace`.
- Unpack and convert assets with `python install_apk_obb.py `.
- The additional data can either be the OBB or InstallAssets APK. **New versions must use the InstallAssets APK for additional data and not be modified to merge the APKs.** Use the base APK that corresponds to the additional data.
- The install script has arguments that can be set to change its behavior:
- `-f ` to use a local build of FFMPEG if system build is not available.
- `--jp`, `--en_eu`, `--en_us`, `--es`, `--fr`, `--it`, `--de`, `--nl`, `--ko` to filter the installed languages to save space. Global builds have all languages except Japanese. Default behavior exports all languages; this will be overridden if any language flag is set. Multiple language flags can be set simultaneously. **This doesn't modify the Godot install** so make sure to set `CONFIG_GAME_LANGUAGE` in `widebrim_hd\godot\scripts\consts.gd`. **By default, English (Europe) is used**.
- To see all options, do `python install_apk_obb.py --help`
4. Import `widebrim_hd/project.godot` into the Godot Editor. This will take a long time for first boot - even a single-language install has around 12,000 assets!
## Quickstart: How do I use this?
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.
**Exporting is experimental and will be that way until foundational asset loaders are complete.** It is expected that exporting will break between commits in this early stage of the project. **For now, play entirely in editor.**
## What is widebrim HD for?
widebrim HD continues where [widebrim](https://github.com/bullbin/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 😄
## How accurate is this?
widebrim HD is a rewrite of [widebrim](https://github.com/bullbin/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.
## How far along is this?
Not very, gamemode switching is implemented and a basic event and room parser have been written.
## How can I contribute?
### Something broke and I'd like to file a bug report
**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!
### I'd like to request a feature
Open a GitHub issue - keep in mind that features in the original game are already intended to have implementations in widebrim HD.
### I'd like to contribute code
Feel free, open a pull request 😎
## Who's fault is this?
Thanks goes to...
- The contributors of [PyCriCodecs](https://github.com/Youjose/PyCriCodecs), audio support is planned and this library is responsible for making it possible ❤️
- ssh for figuring out the decryption routine for the HD Layton games (RIP ZenHAX)
- [creativelynameduser](https://github.com/creativelynameduser) for their help with decoding the in-game font format
- Everyone who helped with [widebrim](https://github.com/bullbin/widebrim) and by extension, [madhatter](https://github.com/bullbin/madhatter) for understanding HD file formats