Chase-san Posted September 16, 2009 Posted September 16, 2009 (edited) Its a Library for use in editing pokemon saves, and maybe later ROM editing + ARDS code generation. I have rewritten the library from the ground up and is released under the zlib license. SVN: http://svn.projectpokemon.org/pokelib/ Edited April 7, 2010 by Chase-san
evandixon Posted September 16, 2009 Posted September 16, 2009 What's the likelyhood that it will work if I import it into VB?
Chase-san Posted September 16, 2009 Author Posted September 16, 2009 Visual Basic. No probably not, would require a wrapper, and it probably doesn't like the way I pack structures. However I did make a dll out of it which can probably be imported into VB as a shared library, but I am unsure how to go about doing that.
codemonkey85 Posted September 16, 2009 Posted September 16, 2009 For Visual Basic use, you are probably better off using my library. But if you can get along without Visual Basic (and realistically, you can), then I highly recommend just picking up a C variant and using this library. When Chase is more or less done, it's bound to be faster and more effective than mine. Great work, Chase! Incidentally: could someone who is writing homebrew for the Wii / DS / etc. implement this library? I believe C++ (or something branching from it) is used in homebrew production, and it would be very interesting if one could perform full save manipulation in conjunction with other console-specific features. Very interesting indeed.
Chase-san Posted September 16, 2009 Author Posted September 16, 2009 evandixon: After some reading, I would have to write some VB code to be able to do that. If you are using VB.Net Then the first thing you will have to do is to make a .Net wrapper for it. This can be done using the aximp tool from the Visual Studio .Net command line. This tool makes a wrapper-dll which you can import into your project and use as a normal .dll. The wrapper file is called the same as the original dll, but with 'Ax' as prefix. something like.... Declare Sub Toolkit.shuffle Lib "AXlibpoke.dll" (ByVal Raw As Long) As Long Declare Sub Toolkit.unshuffle Lib "AXlibpoke.dll" (ByVal Raw As Long) As Long Where the longs are pointers to an array of bytes in this case. This is just my best guess on how to write those however. Do not ask for help, I do NOT know... right now. codemonkey85: YES! It should work just fine in a Nintendo DS Homebrew application. In fact I might reboot PokesavDS after I finish this Library to a decent degree.
codemonkey85 Posted September 16, 2009 Posted September 16, 2009 YES! It should work just fine in a Nintendo DS Homebrew application. Hey, that's pretty groovy. If only we could get the DS local wireless / Nintendo WFC protocol all figured out, imagine the possibilities. In fact I might reboot PokesavDS after I finish this Library to a decent degree. Oh geez... you shouldn't have said that... here come the PMs! *ducks for cover*
Neo Posted September 16, 2009 Posted September 16, 2009 Hey, that's pretty groovy. If only we could get the DS local wireless / Nintendo WFC protocol all figured out, imagine the possibilities. Oh geez... you shouldn't have said that... here come the PMs! *ducks for cover* lol Good work Chase!
Chase-san Posted September 16, 2009 Author Posted September 16, 2009 I said MIGHT! Not sure I f I am yet interested enough again, but if I get this library to a good point all I would have to worry about is the UI.
Chase-san Posted September 17, 2009 Author Posted September 17, 2009 Updated to 0.2. Please feel free to try it out, any feedback would be nice. This version includes the source code as well (in case you are unsure how to use libraries, etc).
Matt140 Posted September 18, 2009 Posted September 18, 2009 Thanks for this! Now I can make some weird and wacky program for the DS (may involve a bit of converting first ). I've not had chance to look at the source yet, but, are things such as blocks implemented/planned? (Bit of an off topic question: (I'm new to DS programming) Does libfat (or whatever it's called) have a limit to how much it can read at once? Any attempts I make at loading the first general block (something around 49,000 bytes - which is quite alot) fail ).
Chase-san Posted September 18, 2009 Author Posted September 18, 2009 That is not really a PokeLib question. But the DS is limited to the 4mb of ram the DS has, minus the size of the two binaries which must stay in memory. The arm7 binary normally gets put into the arm7 deticated ram. If you are clever you can jam some of the image data into video ram then free it up from your normal ram, or read it directly from fat into the video ram. Just be sure you know how to do dynamic memory management. You must avoid all statically rowed things as best as you can unless they are always needed. (which means using malloc, free, and C++'s new and delete)
Chase-san Posted September 18, 2009 Author Posted September 18, 2009 I have found a number of bugs which I am fixing. Please stand by for v0.3 which will have basic block editing (at least for pokemon anyway).
Chase-san Posted September 18, 2009 Author Posted September 18, 2009 PokeLib v0.3 is out in the wild. I have tested most the functions, untested still is the save block checksum correction, it should work though. Enjoy and as always feel free to give me feedback (not sure if anyone has even tried to use this yet, but that may change with this release!)
Chase-san Posted September 23, 2009 Author Posted September 23, 2009 Revision r31 is done. Its gotten mostly a ton of bug fixes and a little bit in the way of code restructuring.
Mars WonderBoy Posted March 28, 2010 Posted March 28, 2010 Not sure if you knew or not but download is down.
Chase-san Posted April 6, 2010 Author Posted April 6, 2010 This topic is a bit old, but the latest can be grabbed from SVN.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now