This is an SDL3 port of the Pokémon Platinum decompilation, making the game portable to modern platforms. This fork focuses exclusively on SDL3 portability and does not maintain the original Nintendo DS build.
Note: This is a port fork. For the original decompilation project with DS build support, see the upstream pret repository.
- Cross-platform portability - Run on Windows, macOS, Linux, iOS, and Android using SDL3
- Incremental porting - Stub-first approach: all DS functions preserved as SDL3 stubs, ported incrementally as needed
- Preserve game functionality - Maintain original gameplay while modernizing the platform layer
- Clean architecture - Platform Abstraction Layer (PAL) separates game logic from platform specifics
For the comprehensive SDL3 porting roadmap, see PORTING_PLAN.md.
Current Status:
- ✅ Phase 1: Foundation & Build System complete
- ✅ Phase 2: Display System complete (graphics primitives, backgrounds, sprites)
- ✅ Phase 3: Input System complete (keyboard, mouse, gamepad with hot-plug)
- 🚧 Phase 3.4: Game Integration (graphics loading - in progress)
- 📋 Phase 4: Audio System (planned)
- 📋 Phase 5: File System (planned)
See QUICKSTART_SDL.md for detailed build instructions and PORTING_PLAN.md for the full roadmap.
Target Platforms:
- ✅ macOS (tested - Apple Silicon and Intel)
- 🚧 Windows (planned)
- 🚧 Linux (planned)
- 📋 iOS (future)
- 📋 Android (future)
Quick Start:
# 1. Install dependencies (macOS)
brew install cmake sdl3 sdl3_image
# Or on Linux
sudo apt install cmake libsdl3-dev libsdl3-image-dev # Ubuntu/Debian
sudo dnf install cmake SDL3-devel SDL3_image-devel # Fedora
# 2. Build and run (assets are already in /res - no extraction needed!)
./build_sdl.sh
./build-sdl/pokeplatinum_sdlNote: All game assets are already included in the /res directory as part of the decompilation project. No ROM extraction is required - the SDL3 port loads PNG graphics directly from /res.
Asset Location:
All game assets are available in the /res directory as part of the decompilation project:
/res/graphics/- PNG source graphics for all UI screenstitle_screen/- Title screen (logo.png, copyright.png, gf_presents.png)battle/,bag/,party_menu/, etc. - UI graphics
/res/pokemon/- All 493 Pokemon sprites (front, back, icons)/res/trainers/- Trainer battle sprites/res/sound/- Audio data (SDAT format)/res/text/- Game text strings/res/fonts/- Game fonts
Key Insight: The decompilation project maintains PNG source files that are converted to DS formats during the original build. For SDL3, we load the PNG files directly with SDL_image!
For SDL3 Development:
- Assets are already in
/res- no extraction needed - Load PNG files with SDL_image:
IMG_LoadTexture(renderer, "res/graphics/title_screen/logo.png") - Palette files (
.pal) can be read directly if needed for sprite color effects
- QUICKSTART_SDL.md - Build instructions and quick start guide
- PORTING_PLAN.md - Comprehensive porting strategy and roadmap
- PAL.md - Platform Abstraction Layer documentation
- PHASE*_SUMMARY.md - Phase completion summaries with implementation details
This fork does not support building the original Nintendo DS ROM. For DS build support, see the upstream pret/pokeplatinum repository.
The original DS build produced these ROMs:
- pokeplatinum.us.nds (Rev 1):
sha1: 0862ec35b24de5c7e2dcb88c9eea0873110d755c - pokeplatinum.us.nds (Rev 0):
sha1: ce81046eda7d232513069519cb2085349896dec7
For contacts and other pret projects, see pret.github.io. In addition to the pret Discord, also see the VoidMatrix Discord (#decomp).