Jump to content

Recommended Posts

Posted (edited)

My current project: 

Just as an FYI to all those out there, this project is long dead. You can see my new stuff here: http://projectpokemon.org/forums/showthread.php?20984-PKMDS-Code-Library-Gen-V

EDIT: PLEASE SEE THE NEW THREAD HERE.

Hello,

It's been quite some time since I've made an update regarding any of my PKMDS (Pokémon Deluxe Suite) projects. But I've made some excellent progress, and I have some good news for those interested in making their own save editing programs.

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. Well, I'm at the point where I only need to add Platinum functionality and I should be ready to release a beta of this code library to the public at large.

As an example of the type of application one could create using the library, please see this image. The program you see here is one that I will probably release once I've cleaned it up some, but the important thing is that it is driven by the code library I am writing. 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 create this program (and many others) with minimal coding and without the use of any other external files.

Neat? Yup.

I'll be posting news and updates, and eventually the .DLL itself, here in this thread. Feel free to post any questions or comments, etc.

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.

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.

Poryhack - For, among other things, the ribbon images which I have not quite used yet (but they are set up to be used, if that helps!).

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.

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 - For being handy reference until the PP wiki launched.

Serebii - For being a source of reference (at least most of the time).

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.

damio - For being damio.

Greencat - For not being damio. ;)

Also you're basically all awesome. So cheers!

EDIT: Added an upgraded version of PKMDS PKM Viewer to this post. PKMDS Box Organizer is probably due for the next upgrade. Stay tuned.

EDIT 2: Updated PKMDS PKM Viewer, fixing some bugs and such. PKMDS Box is proving to be a pain in the butt, so I will probably recode that one from scratch.

PKMDS PKM Viewer.zip

PKMDS PKM Viewer.zip

Edited by codemonkey85
Posted
When this is finished, nearly everyone can make a PokeMod themselves.

Basically that is the goal, although it will probably never get as far as PokeMod's feature list. But the open-sourceness may help.

How will it work? Will it be like:

PKMDS.SecretID = 12345

'and

TextBox1.Text = PKMDS.SecretID.ToString '?

You're on the right track. It looks more like this though:

Dim s As New SaveFile

S = PokemonLib.OpenSaveFile("FILENAME")

Dim PKM As New Pokemon = S.PartyPokemon(0)

SpeciesNameLabel.Text = PKM.Species.Name

SpritePictureBox.Image = PKM.Sprite

etc.

Posted
Dim s As New SaveFile

S = PokemonLib.OpenSaveFile("FILENAME")

Dim PKM As New Pokemon = S.PartyPokemon(0)

SpeciesNameLabel.Text = PKM.Species.Name

SpritePictureBox.Image = PKM.Sprite

etc.

Wow, now all I need are practical ideas for how to use this power!

Posted
Wow, now all I need are practical ideas for how to use this power!

I have quite a few ideas myself. Unfortunately, some of them are less plausible than others.

One thing I have considered is creating a game that utilizes a Pokémon DS save file, drawing out information for the game's purposes, and writing data to the save file during the game's progress. For example, maybe this could be a game that uses the save file's Pokémon, and acquires EXP and happiness for them, or helps them learn moves. The trainer in the save file could earn money, etc.

Posted

It wouldn't be legal, and it wouldn't be all that practical either. Not to mention I don't have a clue how to do graphics stuff. And even if I did, it would probably need to be done in C++. :(

But something simpler is plausible. I have to try out some ideas once I get to that point.

Posted
With no time available, maybe I will leave it up to the community to build PokeMod themselves. I am glad to see progress none-the-less. :)

You're nice.

Build up all this excitement, just so you can run off and leave it up to us. :P

Posted
With no time available, maybe I will leave it up to the community to build PokeMod themselves. I am glad to see progress none-the-less. :)

Perhaps as a community we are up to such a challenge, although you're a better programmer than I am by a long shot.

Posted
With no time available, maybe I will leave it up to the community to build PokeMod themselves. I am glad to see progress none-the-less. :)

Is it OK if we stop calling it PokeMod and keep Project Pokemon's Save Editor? I think its a good name especially if its a cumulative effort of Project Pokemon researchers and programmers? At the moment we were planing not to do graphics in PPSE and leave that for PokeMod to handle, but if this is how you feel, then we might include them after all.

Posted
Is it OK if we stop calling it PokeMod and keep Project Pokemon's Save Editor? I think its a good name especially if its a cumulative effort of Project Pokemon researchers and programmers? At the moment we were planing not to do graphics in PPSE and leave that for PokeMod to handle, but if this is how you feel, then we might include them after all.

Its fine with me. Just FYI, I would code the project in C# or C++, not VB.

Posted
Its fine with me. Just FYI, I would code the project in C# or C++, not VB.

Yeah, PPSE is in Qt C++, for cross platform awesomeness. Of course whatever Codemonkey85 gets done in VB is still useful because we can port it to C++.

Posted (edited)

Wow!

This project is amazing! Imagine what small, weird-and-wonderful utilities may start popping up when the DLL is released!!

Good Luck, and if you need any help, i'm alright with VB.net (need help with hex in it though), and I could help with a port (I'm kind of good with C and C++, love python and i'm fine with Pascal if needed).

Oh, and, will the library handle decryption and encryption of the files automatically (e.g, integrated into a .save method) or will the math have to be carried out and applied (It's probably the former :D)?

Anyways, I hope to see further developments in the future, coz i've got my eye on this project!! :grog:

Edited by Matt140
Posted

My theory about PPSE will be made:

-codemonkey85 finishes what this thread is about

-someone makes a form in WPF that gets the job done (I will volunteer)

-someone ELSE uses expression studio to edit the XAML to have outstanding graphics

-whoever is the host of PP uploads it to the server.

Posted
My theory about PPSE will be made:

-codemonkey85 finishes what this thread is about

-someone makes a form in WPF that gets the job done (I will volunteer)

-someone ELSE uses expression studio to edit the XAML to have outstanding graphics

-whoever is the host of PP uploads it to the server.

Well actually PPSE has already been started as mentioned in the research thread, and as I mentioned earlier, it will be written in Qt C++ so we make native versions available for windows, mac and linux. We won't be using this library as it will be released, since VB.net appears not with C++. Of course, you or anyone wants to make tools using this library feel free. We will br glad to host them on the site.

Posted
Well actually PPSE has already been started as mentioned in the research thread, and as I mentioned earlier, it will be written in Qt C++ so we make native versions available for windows, mac and linux.

There appears to be some confusion, which is understandable. This library is a totally seperate project from PPSE, which isn't to say I'm not sharing everything relevant with SCV, but for right now VB.Net is the only language I know. I am going to be taking a C++ class in the fall. In the meantime, I am hoping I can use this class in some C# projects to try and get used to the C way of things (one step at a time).

Regardless, SCV is writing his own library for PPSE, and PPSE will be super compatible with everything relevant. It will be pretty awesome.

---------- Post added at 02:42 AM ---------- Previous post was at 02:41 AM ----------

Oh, and, will the library handle decryption and encryption of the files automatically (e.g, integrated into a .save method) or will the math have to be carried out and applied (It's probably the former :D)?

The idea is that the library will handle all of that stuff for you, although the option to manually encrypt or decrypt Pokémon data will be present if you so desire. For right now, any reference to a Pokemon object is a reference to decrypted data.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...