Copyright 2009 by Codemonkey85

This library is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

WHAT IS THIS?

It has been a goal of mine for some time to create a code library for people to write their own Pokémon DS save file / PKM file viewing and editing software.  What does this mean to you?  See the below image:

http://i162.photobucket.com/albums/t257/codemonkey85/PKM_Directory_Preview.png

In theory, any person who writes Windows applications in VB.Net or Visual C# should be able to import my .DLL file into their project and recreate the above program (and many others) with minimal coding and without the use of any other external files.

As evandixon from the Project Pokémon forums said, "When this is finished, nearly everyone can make a PokeMod [Pokémon save hacking program] themselves".

CURRENT FEATURES:

-The ability to open and read any Pokémon DS save file (in raw 512kb format) created by Diamond, Pearl, or Platinum.
-The ability to open and read any PKM file, or any encrypted and shuffled Pokémon BIN file (136 byte storage or 236 byte party format).
-The ability to make some edits in the aforementioned files.
-A full collection of Platinum front sprites and box icons for representing the Pokémon being read (including shiny and all alternate formes).
-Some other Pokémon DS imagery, including PC storage wallpapers, status symbols, type symbols, etc.
-Foreign character support for in-game names.

MORE TO COME:

-Eventually full unrestricted editing of PKM files and save files... right now a lot of properties of the various classes / structures are read only, because it seemed like less of a headache to code at the time.  In retrospect that was not a perfect plan.
-There's more, which will be added to this readme as I think of it.

FAQ:

Please see the thread at Project Pokémon.

http://projectpokemon.org/forums/showthread.php?p=40202#post40202

SPECIAL THANKS:

COM - For creating Pokesav and inspiring everyone to do better than him.

Sabresite - For helping me get started and giving me an endless supply of helpful advice. Also the PKM character to Unicode conversion table, and basically the entire structure of PKM data.
SCV - For dedicated patience and problem solving ability, not to mention encouragement.
Also thanks to the above for the handy save block checksum algorithm.

Jiggy-Ninja - For hard work and unrelenting help, specifically the Pokédex and Trainer Card signature data structures.  Also for pointing out stupid mistakes.
Poryhack - For, among other things, the ribbon images.
Kazumi - For the Pokémon DP font (which I still can't seem to use right...)
fenzo and coolbho3000 - For creating and maintaining an awesome Pokémon community.
damio - For helping tremendously with Friend Codes and general questions here and there.

loadingNOW - What doesn't this guy do? Thanks for the save file documentation, and thanks for whatever else I got from you directly or indirectly.
Bulbapedia & Serebii - For being handy reference.
Legendary Pokémon - For being a source of data.
X-Act and really Smogon in general - For answering some questions, and providing the stat formula.
GatorShark - For demystifying the Spinda spot rendering process.
Mastermind_X - For the Platinum sprites.

Also you're basically all awesome. So cheers! 

DISCLAIMER:

Pokémon and all respective names are trademark & copyright of Nintendo 1995 - 2009