Jump to content

PokesavDS: Request for programming assistance


Chase-san

Recommended Posts

I am looking for a c++ programmer who might be interested in helping me out in programming PokesavDS. I would prefer who has at least a few years in general programming, C/C++, Java, or C# are all good candidates.

I personally have about 6 or 7 years of experience in programming but less is fine. I would prefer someone who knows their way around C/C++ fairly well...

I don't want to discourage anyone with any programming experience from offering. But if you do offer do not do so halfheartedly, this isn't simple programming. Be expected to deal with recursive functions, classes, file handling, packed structures, bit shifting/manipulation, linked lists, UI Design, and all without the support of standard library functions (including streams like cout and cin).

I will probably only need the help of one maybe two people. As with all things, to many cooks spoils the stew.

If I do select you I will probably PM you with some generic programming questions to be sure your the real deal. While I have nothing against giving out the source to PokesavDS. I don't have time to help everyone setup the environment to compile and test it, as well as you get some leeway in deciding parts of the design.

EDIT: There is no pay for this, only do it if your really interested. etc etc

Link to comment
Share on other sites

Well, I applied for developer status a few days ago on the old pokesav forums, but since they seem to be going the way of the dodo, I'll post here. I've been an addicted programmer for about 4 years now. I started in grade ten and I LOVE to program. I'm done my first year of college now (well, 1 week 3 days, but who's counting? :P) in Computer Engineering Technology. I had a mark of 88 last semester in C programming (I BOMBED the final exam :P) and I'm expecting a but higher this term for C++ (I BOMBED the midterm :P).

If I didn't mention it, I love to program and I'd be really interested in helping out with this program. I'm afraid I have zero experience with hacking ROMs and my File I/O is limited (I'm a fast learner though - and google is my best friend :D), but other than that I like to think that I'm a pretty good programmer. I'm the one that most people come to for help with assignments if the teacher is busy :P

If you like, I could find a course description of what I've done in C++. Please let me know :)

--Browner87

Link to comment
Share on other sites

I might 7z it here soon, but to compile it would require a few things you don't have access to just yet. I need to write that quiz first and then I can post what I have so far on the source rebuild.

EDIT: Actually here is the first part of the quiz I decided to write up, people interested can just message me this.

This is one of the fastest ways to test your abilities, writing a recursive destructor isn't exactly hard, but it tests your ability to think recursively and your basic understanding of C++ and the way it handles memory management (something very important in this case).

//Write the destructor for this class
class Test {
public:
Test(Test*);
virtual ~Test();
void addChild(Test*);
void addNext(Test*);
Test *next;
Test *child;
bool hasChild;
bool hasNext;
};

Test::Test(Test *p) {
hasChild = false;
hasNext = false;
}

void Test::addChild(Test* t) {
if(hasChild) {
	child->addNext(t);
	return;
}
child = t;
hasChild = true;
}

void Test::addNext(Test* t) {
if(hasNext) {
	next->addNext(t);
	return;
}
next = t;
hasNext = true;
}

Edited by Chase-san
Link to comment
Share on other sites

Is my mind going crazy because it's almost midnight, or did you not declare 'parent' anywhere (in the constructor)?

BTW you missed a bracket after the 'addNext(t' in your addNext member function and a semicolon after the } for the class definition. :P

Link to comment
Share on other sites

Whoops hah your right, those are some of my errors, this is based off an actual class in my program, so I forgot a few things or made some typos here and there.

However still interested in that destructor regardless of my own errors.

I mean no offense. But this never was a 'find what I did wrong', anyone with a compiler and a lick of programming sense can do that. Writing something from scratch is harder then just correcting errors.

Link to comment
Share on other sites

I'm not trying to be picky, it just wouldn't compile without parent declared somewhere obviously and I was just wondering if it was going to be some crazy declaration that would completely change the destructor. Since it's now gone, I'll ignore it ^_^.

Might be a bit before I can really look at it though - I got out of handing in an assignment (huge essay) last week thanks to a filling at the dentist, so I'm expected to hand it in tomorrow and I'm not even started :P. Then, tomorrow night I'll have to start and finish the next assignment that everyone else started last week when I wasn't there and hand it in Thursday :P

[/rant]

Link to comment
Share on other sites

Well, I'm looking at the code seeing what seems to be a list item with childred allowed to be added. If you say it's simple, I maybe already have it and I'm just over analyzing. I though I must be missing something because there's not dynamic memory to free and not streams or processes opened that have to be closed. To be honest, we never used destructors in class except for dynamically allocated memory, which we only did in 1 assignment (I know, a very theory based course having only 4 assignments to hand in this semester :P). I'll PM you what comes first to mind when I see this code if the offer's still up.

Link to comment
Share on other sites

From what I understand it's like a 'new version' of Pokesav, which was a program to manually edit every aspect of the save (.SAV) file from your pokemon D/P and Platinum games. YOu can change stuff like trainer ID, secret ID, party pokemon and all of their stats/data, pc boxes, etc. It's awesome and I was looking to become a developer for it, but then like 2 days after applying, the forums disappeared and these forums appeared. I saw this threat and thought, 'cool! Just what I was looking for :grog:'.

This program works best for people who either have a slot-1 device like CycloDS or use an emulator on the PC so you have easy access to the .SAV file for editing.

Link to comment
Share on other sites

Ok, I'll volunteer my services. I am, in my humble opinion, an excellent programmer, fluent in C and Python. I don't claim to know C++ (really, who does?), but I know the basics (and easily enough to write this project, I think). To give you a taste on what I can do, I'm currently writing a program to emulate the PDP-11; bit-shifting, streams, memory management, etc., have long since been rendered simple in my mind.

I'm offering my help becase currently, I'm working on cracking the gold/silver/crystal SAV file, but I'd love to help with the DS version of the PokeSav! (I can't run the original, because I don't have a windows box).

Cheers! -enauv

Link to comment
Share on other sites

Personally, I'm more interested in the UI design. I used to spend hours in VB making user friendly interfaces for programs. I'd be interested in how PokeSavDS works too, but I'd love to get my hands on the code and play with the interface. There's so much information to dsiplay and it can be so hard to organize and I love tinkering with those things.:cool:

Link to comment
Share on other sites

Okay okay, you two i'll get you setup with an environment you can built it in. I'll explain it here. First you need to get devkitpro.

http://sourceforge.net/project/showfiles.php?group_id=114505&package_id=160396

Install that and devkitarm. Grab a copy of the new libnds

http://sourceforge.net/project/showfiles.php?group_id=114505&package_id=151608&release_id=661069

and you will need this arm7 binary

http://sourceforge.net/project/showfiles.php?group_id=114505&package_id=156994&release_id=646293

You are almost ready to start working with it now. I use Eclipse myself for development but it isn't required. But it is very helpful. If you are going that route you need to get it. You will need "Eclipse IDE for C/C++ Developers (68 MB)"

http://www.eclipse.org/downloads/

After that you will need the nds development plugin for eclipse.

http://dev.snipah.com/nds/updater

unzip that into your eclipse directory

If you need more specialized help just ask. I am in class so I will get the source and such to you later

(if you don't have windows need to find an alternative for devkitarm)

Link to comment
Share on other sites

Wow - lucky :D

I just recently put Devkitarm on my Windows partition - I've had best luck in the past on linux, but I use Windows more so I got around to putting it on a few weeks ago :D

In the devkitpro folder I have devkitARM, examples, insight, libgba, libmirko, libnds, and msys. Do I have anything that I shouldn't because it will conflict?

Also, I have eclipse, but I definately preffer Visual Studio's interface. Would I be better off however getting used to Eclipse to use the snipah addon as well as the fact that then there's no difference in compiling environments?

Thanks!

--Browner87

Link to comment
Share on other sites

Visual Studio.. I have no idea how to use it to compile PokesavDS. So if you want to use it and can set it all up to compile an NDS file, then feel free to use whatever you like. But I have an additional library for you at this moment.

Having extra things will not conflict, just be sure you have the latest of everything there I linked and installed.

Here is my custom uLibrary compiled version:

http://www.csdgn.org/pokesav/uLibrary_1_12.7z

Edit the Install.bat so that the paths point where they should, also I use drive Q: so watch out for that and change it back to C: or to whatever you have it at.

Here is my current working version of my rebuild, so if you feel up to the challenge of getting it compiled. However its nothing special at this point and it doesn't even view pkm files.

http://www.csdgn.org/pokesav/PokemodDS.7z

It includes both the source and a binary under the Debug directory. Its setup to use Eclipse so if you point eclipse at it and have things where they should be, you will only have to change a few things to get it running in eclipse (mostly directories).

Link to comment
Share on other sites

Well assuming the plugin installed correctly..

Open eclipse and find the place you want to work with it, generally this place should be without spaces.

Clipboard02.png

Then goto file->import

Clipboard07.png

And select "Existing Projects into Workspace"

Clipboard08.png

Browse and select where you unzipped the project files I sent you.

Clipboard09.png

Link to comment
Share on other sites

That's exactly what I've done, but when I add that folder, nothing happens. The root directory turns into g:\eclipse c++\PokeSavDS, and then, nothing. The next and finish are still blanked out and nothing appears in that big 'projects' box. There doesn't appear to be any Eclipse projects in that folder. There is however the .sln file for Visual studio.

Link to comment
Share on other sites

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...