Un moteur, pas un émulateur.
OpenPlatinum réécrit le moteur de terrain de Pokémon Platine (DS) en C++17 natif : le moteur lit lui-même le système de fichiers de la cartouche et les formats Nitro (cartes, modèles 3D, collisions, scripts d'événements, banques de texte chiffrées), puis exécute les scripts du jeu sur sa propre VM.
La décompilation pret/pokeplatinum sert de référence comportementale : chaque fonction du moteur pointe vers la fonction d'origine qu'elle reflète. Plus rapide qu'un émulateur, plus moddable qu'une ROM : une base propre pour les fan-projects de demain.
Sinnoh, streamé sans couture.
Matrice de maps avec chargement continu autour du joueur : l'overworld ne coupe jamais. La machine à pas DS est reproduite à l'identique : tourner, marcher, courir, heurter, sauter, avec les collisions BDHC et les comportements de tuiles du jeu.
Les scènes du jeu, à l'identique.
La scène du starter tourne avec les vrais modèles et la caméra DS : valise, trois balls, zoom de confirmation, Pokémon animé. Derrière, la VM exécute les 372/372 opcodes des scripts d'événements originaux : chaque dialogue, trigger et cinématique vient de ta ROM.
Du .nds au rendu, la chaîne complète.
Votre dump Platine FR ou US, lu tel quel
FAT/FNT, archives NARC, formats BTAF/GMIF
NSBMD, BDHC, pl_msg, sprites, tables
372/372 opcodes d'événements exécutés
Rendu natif, streaming de maps, filtrage
Le jeu en images.
Chaque carte, PNJ, dialogue et cinématique ci-dessous est produit par les données de la ROM, chargées à l'exécution. Rien n'a été placé à la main.
Avancement
Jouable de la chambre d'ouverture jusqu'à la scène du Lac Vérité et les premiers combats.
- Système de fichiers NDS / NARCFAT/FNT, BTAF/BTNF/GMIF, membres cachés
- Matrice de maps + streamingOverworld continu, cellules chargées autour du joueur
- Modèles NSBMD / textures TEX0Terrain, bâtiments, props, sets de textures par zone
- Collisions & comportements tuilesHauteurs BDHC, bits d'attributs, rebords
- Déplacement joueurMachine à pas DS : turn, walk, run, bump, jump
- Warps & transitionsPortes, tapis, escaliers ; facing à l'arrivée ; warps 0x100
- VM de scripts d'événements372/372 opcodes du jeu
- Objets / PNJPlacement, flags de visibilité, scripts de mouvement
- Événements coord / BGTriggers, panneaux, objets cachés
- Texte du jeu (FR/US)Déchiffrement pl_msg, charmap Gen 4
- Animations BCAPortes, valise, balls rebondissantes (NSBCA)
- Scène de sélection du starterModèles ev_pokeselect réels, caméra DS
- Sprites Pokémonpl_pokegra déchiffré, 2 frames 80×80 ping-pong
- Blackout / respawnDernier Centre Pokémon mémorisé, soin au réveil
- Options en jeuLignes DS + graphismes natifs, options.cfg
- Capture PokémonFormule Gen 4 : balles, modifieurs, secousses, taux par espèce
- SauvegardeFichier save : map, position, équipe, EXP
- Rencontres sauvagesTables et taux réels, capture fonctionnelle
- CombatsStats, moves, types, dégâts, XP et niveaux réels ; doubles à venir
- Menu X / Sac / ÉquipeVrais écrans DS (sac pl_bag_gra, équipe pl_plist_gra), polish en cours
- Boucles de textures (fldtanime)Eau/fleurs animées BTX0 par zone
- Audio (SDAT)·
- Pokédex, objets clés·
Trois étapes vers Bonaugure.
Dépose ton propre dump .nds de Pokémon Platine
(FR ou US) dans le dossier rom/.
Lance OpenPlatinum.exe : la ROM est lue au
démarrage, rien ne quitte ta machine.
Contrôles
Open source · MIT
Le code complet est sur GitHub : moteur C++17, SDL3, OpenGL 3.3, build Meson/Ninja pour Windows x64. Étoiles, issues et contributions bienvenues.
OpenPlatinum ne distribue aucune donnée Nintendo :
le moteur lit votre propre dump .nds de Pokémon Platine
(FR ou US), déposé à côté de l'exécutable.
FAQ
C'est légal ?
Quelle ROM faut-il ?
C'est fini ?
Sur quoi ça tourne ?
Le jeu envoie-t-il des données ?
Comment aider ?
Pokémon Prism FR
Le patch français de Pokémon Prism : patcher en ligne, réparateur de sauvegarde, livreur dans les Centres Pokémon.