https://github.com/ethteck/kh1
Decompilation of Kingdom Hearts (PS2)
https://github.com/ethteck/kh1
Last synced: about 1 year ago
JSON representation
Decompilation of Kingdom Hearts (PS2)
- Host: GitHub
- URL: https://github.com/ethteck/kh1
- Owner: ethteck
- Created: 2023-09-13T01:57:37.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-04T13:28:26.000Z (over 1 year ago)
- Last Synced: 2025-03-31T10:37:41.751Z (about 1 year ago)
- Language: C
- Homepage:
- Size: 15.6 MB
- Stars: 65
- Watchers: 5
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-game-decompilations - Kingdom Hearts
- awesome-game-file-format-reversing - kh1 - WIP Decompilation of Kingdom Hearts (PS2, JP). (Game & Studio Tools / Square Enix)
README
# Kingdom Hearts De:Compiled
A decompilation of the Playstation 2 releases of Kingdom Hearts.
## Supported Versions
| Game Version | ELF | Sha1 |
|--------------------------|---------------|------------------------------------------|
| Original Japanese | `SLPS_251.05` |`9dabbf867a7ec2a030df99ba1ed969f2deef0488`|
| Final Mix (JP Exclusive) | `SLPS_251.98` |`e70bda789916142aafb53d85cef2e806b35ad8d8`|
---
### Dependencies
Some python dependencies are required, which you can obtain by running `pip install -U -r requirements.txt`.
---
### Setup
1. Extract the ELF file from an ISO of the game version you're targeting and place it in the root of the repo.
2. Run `./configure.py` to generate the build files.
- Optionally, specify the game version you're targeting with the `--version`/`-v` flag. Defaults to the original Japanese version if not specified.
- You can clear existing configurations with the `--clean`/`-c` flag
- eg: `./configure.py -c -v fm` will clear the existing build configuration and generate a new one for the Final Mix version.
3. Run `ninja` to build the project. Final output will be stored by version in the `build` directory.
---
### Notes
No game assets are published in this repository. This includes any files required to run the game, such as the game's executable, ISO, or any files extracted from it.
This repository targets the game's main executable, an elf file named uniquely by the game's serial number. A copy of the elf file is required to build the project, and must be provided by the user by extracting it from a legal copy of the game.
>[!WARNING]
> Additional asset extraction is currently only supported by the JP version of the game.
Additional assets that are not used in this project may optionally be extracted by running `./tools/iso/extract.py` on the game's ISO. The extracted files are in the `kingdom` directory.