projectPiki/pikmin
GitHub: projectPiki/pikmin
Stars: 223 | Forks: 22
# Pikmin
[![Build Status]][actions] [![Code Progress]][progress] [![Data Progress]][progress] [![Linked Progress]][progress] [![Discord Badge]][discord]
A work-in-progress decompilation of Pikmin (GameCube, 2001).
Supported versions (active):
- `GPIE01_01`: USA (Rev 1) - Default Version
- `GPIE01_00`: USA (Rev 0)
- `G98E01_PIKIDEMO`: USA Interactive Multi-Game Demo Disc - January 2002 "zz_PikminDemo-1210.tgc"
- `GPIP01_00`: Europe (Rev 0)
Supported versions (to be worked on):
- `DPIJ01_PIKIDEMO`: 店頭ゲームデモディスク Oct'2001 (Pikmin Jitsuen-you Sample Disc) "zz_pikmin_game/PikiDemo.tgc"
- `GPIJ01_01`: Japan (Rev 1)
- `GPIJ01_02`: Japan (Rev 2)
- `G98P01_PIKIDEMO`: Europe Interactive Multi-Game Demo Disc - May 2002 "zz_PikiDemo.tgc"
Note: this repository contains **no game assets** - an existing copy of the game is required.
## Index
- [Dependencies](#dependencies)
- [Windows](#windows)
- [macOS](#macos)
- [Linux](#linux)
- [Building](#building)
- [Diffing](#diffing)
## Dependencies
### Windows
On Windows, it's **highly recommended** to use native tooling. WSL or msys2 are **not** required.
When running under WSL, [objdiff](#diffing) is unable to get filesystem notifications for automatic rebuilds.
### macOS
- Install [ninja](https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages):
brew install ninja
- Install [wine-crossover](https://github.com/Gcenx/homebrew-wine):
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'
### Linux
- Install [ninja](https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages).
- For non-x86(_64) platforms: Install wine from your package manager.
- For x86(_64), [wibo](https://github.com/decompals/wibo), a minimal 32-bit Windows binary wrapper, will be automatically downloaded and used.
## Building
- Clone the repository:
git clone https://github.com/projectPiki/pikmin.git
- Copy your game's disc image to `orig/GPIE01_01`. (Or the appropriate version folder.)
- Supported formats: ISO (GCM), RVZ, WIA, WBFS, CISO, NFS, GCZ, TGC
- After the initial build, the disc image can be deleted to save space.
- Configure:
python configure.py
To use version other than `GPIE01_01`, add `--version`. Add `--help` to see all available options.
- Build:
ninja
## Diffing
Once the initial build succeeds, an `objdiff.json` should exist in the project root.
Download the latest release from [encounter/objdiff](https://github.com/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, `configure.py`, `splits.txt` or `symbols.txt`.
标签:客户端加密