The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.


Advertise here

Reply
Click here to go to the first staff post in this thread.  
Thread Tools
  #26    
Old July 9th, 2012, 05:45 AM
Nerketur's Avatar
Nerketur
PokéScripter
 
Join Date: Nov 2010
Gender: Male
Nature: Quirky

Advertise here
Quote:
Originally Posted by mapsal313 View Post
Yea, you answered. If I understand correctly, I can, for example, change chatot's picture to his angry picture, right?
=D Precisely! And Chatot is a pretty awesome character. =)

In case you're curious... The code for that is as simple as changing a word.

0092 xxxx yyyy zzzz

0092 is the command to set the Pokemon speaking character (Such as chatot) as 'xxxx', and display their portrait (the picture) using expression number 'yyyy', and display that portrait at predefined location number 'zzzz'

So, to change it, all you'd have to do is change the expression number from whatever it is, to the number that represents "anger"

I do have a list of every command I know of in the game, but I'll release it once I know a bit more.
__________________
Want my help in PokéScripting? PM me =)
I use XSE v1.1.1 (HackMew = awesome) and Advance Map 1.92.
Thanks to Diego and HackMew for their tutorials, helping me learn how to script!

Hacks I support 100% (MUST SEE!):


Very well made hacks:

My work:
Figuring out scripting in PMD
Entire script map of LeafGreen
PMDSE (Pokémon Mystery Dungeon Script Editor)

Last edited by Nerketur; July 9th, 2012 at 05:46 AM. Reason: better terminology
Reply With Quote
  #27    
Old July 10th, 2012, 12:28 AM
mapsal313's Avatar
mapsal313
 
Join Date: Jun 2012
Location: Patras,Greece
Gender: Male
Nature: Quirky
Quote:
Originally Posted by Nerketur View Post

=D Precisely! And Chatot is a pretty awesome character. =)

In case you're curious... The code for that is as simple as changing a word.

0092 xxxx yyyy zzzz

0092 is the command to set the Pokemon speaking character (Such as chatot) as 'xxxx', and display their portrait (the picture) using expression number 'yyyy', and display that portrait at predefined location number 'zzzz'

So, to change it, all you'd have to do is change the expression number from whatever it is, to the number that represents "anger"

I do have a list of every command I know of in the game, but I'll release it once I know a bit more.
Thank you very much, Nerketur. That will help!

Also, in case you wonder why asked specifially for chatot, it is because me and a friend, one day when we were bored in class, we started what we call "Guild Stories", which is funny dialogs between the pokemon from the guild. And two of the pokemon were arguing (I think Loudred with someone, I don't remember clearly) and Chatot came to separate them and my friend said "Here comes the little plucked bird with the note on the head and when someone farts he wants to smell". Needless to say we were laughing the whole day after that. And now, with your tool, I can make that in the game! Thanks again!
__________________
Just call me Matt.
Reply With Quote
  #28    
Old July 10th, 2012, 06:57 AM
Nerketur's Avatar
Nerketur
PokéScripter
 
Join Date: Nov 2010
Gender: Male
Nature: Quirky
Quote:
Originally Posted by mapsal313 View Post
Thank you very much, Nerketur. That will help!

Also, in case you wonder why asked specifially for chatot, it is because me and a friend, one day when we were bored in class, we started what we call "Guild Stories", which is funny dialogs between the pokemon from the guild. And two of the pokemon were arguing (I think Loudred with someone, I don't remember clearly) and Chatot came to separate them and my friend said "Here comes the little plucked bird with the note on the head and when someone farts he wants to smell". Needless to say we were laughing the whole day after that. And now, with your tool, I can make that in the game! Thanks again!
You're welcome, and that sounds interesting!

Also... A bit of news. My next release will be next week or later. Not this week. Might even release it a week from today. =) The only promise I can give, is that I'll release it by the beginning of August.
__________________
Want my help in PokéScripting? PM me =)
I use XSE v1.1.1 (HackMew = awesome) and Advance Map 1.92.
Thanks to Diego and HackMew for their tutorials, helping me learn how to script!

Hacks I support 100% (MUST SEE!):


Very well made hacks:

My work:
Figuring out scripting in PMD
Entire script map of LeafGreen
PMDSE (Pokémon Mystery Dungeon Script Editor)
Reply With Quote
  #29    
Old July 10th, 2012, 10:27 AM
mapsal313's Avatar
mapsal313
 
Join Date: Jun 2012
Location: Patras,Greece
Gender: Male
Nature: Quirky
take your time...
as a saying goes, good things are made slowly
and I have great patience...
__________________
Just call me Matt.
Reply With Quote
  #30    
Old July 10th, 2012, 03:01 PM
droomph's Avatar
droomph
mmm gurl that 90s
Community Supporter
 
Join Date: Sep 2011
Location: bar'jách
Age: 17
Gender: Male
Nature: Impish
Quote:
(and of those, only the PMD era of games are allowed.)
I might want to add that all the games are PMD. I think you mean "EoX" instead.

...sorry for being a prick I know
__________________
did u no there r 21 letters in the alphabet
o i forgot 5
uraqt


Reply With Quote
  #31    
Old July 10th, 2012, 06:53 PM
Nerketur's Avatar
Nerketur
PokéScripter
 
Join Date: Nov 2010
Gender: Male
Nature: Quirky
Quote:
Originally Posted by droomph View Post


I might want to add that all the games are PMD. I think you mean "EoX" instead.

...sorry for being a prick I know
No, I mean what I said. "Of those" refers to all NDS ROMS. So, I'm saying "Out of all NDS ROMS, the tool will only work with the PMD games." =)
__________________
Want my help in PokéScripting? PM me =)
I use XSE v1.1.1 (HackMew = awesome) and Advance Map 1.92.
Thanks to Diego and HackMew for their tutorials, helping me learn how to script!

Hacks I support 100% (MUST SEE!):


Very well made hacks:

My work:
Figuring out scripting in PMD
Entire script map of LeafGreen
PMDSE (Pokémon Mystery Dungeon Script Editor)
Reply With Quote
  #32    
Old July 15th, 2012, 06:00 PM
Nerketur's Avatar
Nerketur
PokéScripter
 
Join Date: Nov 2010
Gender: Male
Nature: Quirky
Small update:

I'm working on the "change as you edit" portion of the program, and it's actually not too bad =D It still needs some work, though, and I may have it be able to be turned off via a setting, because it really does interfere at times, currently. I'm also still working on how it'll work in the long run. So far, a few ideas are coming to mind. =) Just know it's getting worked on. Once I have a working version of it, I'll ask for opinions on how good/bad it is =P I'm sure, though, that people will find it useful. Right now, it's only annoying because it doesn't work in every case =P But, it'll get better! =D
__________________
Want my help in PokéScripting? PM me =)
I use XSE v1.1.1 (HackMew = awesome) and Advance Map 1.92.
Thanks to Diego and HackMew for their tutorials, helping me learn how to script!

Hacks I support 100% (MUST SEE!):


Very well made hacks:

My work:
Figuring out scripting in PMD
Entire script map of LeafGreen
PMDSE (Pokémon Mystery Dungeon Script Editor)
Reply With Quote
  #33    
Old July 24th, 2012, 08:29 AM
mapsal313's Avatar
mapsal313
 
Join Date: Jun 2012
Location: Patras,Greece
Gender: Male
Nature: Quirky
Well, if what you say about it becoming better is true, then the tool will be spectacular! It's already very good, and if you develop it more, it will be perfect, that's what I think.

Bad thing is that I won't be able to use it soon, since my PC's hard disk was completely wiped out by virus and I'm working to collect again what I had before...
__________________
Just call me Matt.
Reply With Quote
  #34    
Old August 13th, 2012, 11:26 PM
dcjboi's Avatar
dcjboi
With Quiet Courage
 
Join Date: Dec 2010
Location: In between Heaven and Earth
Nature: Timid
Send a message via Skype™ to dcjboi
are movements controllable? and also with this tool can "flags" be set?
__________________

Reply With Quote
  #35    
Old September 25th, 2012, 10:03 AM
Nerketur's Avatar
Nerketur
PokéScripter
 
Join Date: Nov 2010
Gender: Male
Nature: Quirky
First of all, I'd like to give you all a long-needed update. I am still planning to update PMDSE It's just school has severely limited my time on this. My next big update probably won't happen until the start of the new year. I'm very glad I got a working version of the program out before my long absence, because I absolutely knew School would bog me down. I hope everyone is enjoying my program, even if it's a bit hard to use. I'm a Graduate student now, and although Tuesday and Thursday are no class I'm also a Teaching assistant, and do grading at that time. PMDSE has always been a hobby project, so School and family are more important, but I WILL finish this tool. I've gotten used to school by now, and so I'm going to start working on this again, little by little. Thank you everyone for your continued support. I just apologize for taking so long to update everyone on the status.

Secondly, I have a question, for you all. Aside from the features already planned, is there anything any of you think I need to add, or change? I'm not going to be able to do much for my own ideas... but I do have my own plans, regardless. I'd just like to hear a few more. I might even release a special Christmas update. Who knows? =P


I do think I'll just make it all in one window, with the option to change to hex or assembly at the click of a checkbox/button. As awesome as side-by-side is, it takes up space, and they are tricky to allow collaboration. One would make it easier, and less coding as well. Later on, I may release a dual-version, once I get better at coding. I may do a bit of work on it today, even. =D I'm getting motivated on it. But we'll see how long it takes to grade homework.


Again, I apologize for not updating until now, but I will be better about updating this thread in the future.


Quote:
Originally Posted by dcjboi View Post
are movements controllable? and also with this tool can "flags" be set?
Yes, and yes (eventually).

Movements can be controlled, but you currently have to simply play around with the different movements (or "actions") to figure them out yourself. I don't know everything about them yet, so although they can be controlled, you currently have to do your own research as to how.


Flags CAN be set (and read from) but how you do so depends on the type of flag. Just like the regular Pokémon games, there are variables, and there are "flags" or booleans. However, the way each is used is different from the regular Pokémon games. It's not that different, but the bad part is i don't know every command dealing with those, either. So, we will have to see. Currently I only know the most common ones, though I've looked in almost every single script file in the PMD2 games at least once. A lot of commands I know what their length is, but no idea what they do.


Also, it seems that Flags and Variables do NOT come from a single pool in the PMD2 games. They have a type, and a "folder" that they come from. I'm not sure what these folders are, but I know that ones with folder 3 in 0x72 are used to check game progress. It also seems these are variables, but you can apparently use some variables as booleans, or that there is simply a folder hierarchy of booleans. And it seems almost every script checks this progress when loading the game.


I hope that answers your question =)
__________________
Want my help in PokéScripting? PM me =)
I use XSE v1.1.1 (HackMew = awesome) and Advance Map 1.92.
Thanks to Diego and HackMew for their tutorials, helping me learn how to script!

Hacks I support 100% (MUST SEE!):


Very well made hacks:

My work:
Figuring out scripting in PMD
Entire script map of LeafGreen
PMDSE (Pokémon Mystery Dungeon Script Editor)

Last edited by Nerketur; September 25th, 2012 at 10:23 AM. Reason: Your double post has been automatically merged.
Reply With Quote
  #36    
Old September 28th, 2012, 11:10 AM
mapsal313's Avatar
mapsal313
 
Join Date: Jun 2012
Location: Patras,Greece
Gender: Male
Nature: Quirky
That's great news, Nerketur! And don't worry, everyone gets busy with school/work, no need to apologize.

Now, about suggestions. I think it would be great if it could edit things like the bosses of the dungeons, story-obtained items, and so on.

And why not, the dungeons themselves... No wait, that should be a seperate tool...

Ok, disregard that last... Anyway, it would also be awsome if it could do things like adding more story afte the point where the story ends. Yeah, I know it's gonna be LOTS of work...

Whatever you do though, keep it up!
__________________
Just call me Matt.
Reply With Quote
  #37    
Old October 8th, 2012, 03:48 PM
Nerketur's Avatar
Nerketur
PokéScripter
 
Join Date: Nov 2010
Gender: Male
Nature: Quirky
Quote:
Originally Posted by mapsal313 View Post
That's great news, Nerketur! And don't worry, everyone gets busy with school/work, no need to apologize.

Now, about suggestions. I think it would be great if it could edit things like the bosses of the dungeons, story-obtained items, and so on.

And why not, the dungeons themselves... No wait, that should be a seperate tool...

Ok, disregard that last... Anyway, it would also be awsome if it could do things like adding more story afte the point where the story ends. Yeah, I know it's gonna be LOTS of work...

Whatever you do though, keep it up!
I would adore being able to edit the bosses. If I find out where that info is stored, I will certainly add it to my tool. Might even do a whole plugin idea thing, too. =D.

Key items... are more cutscenes. So that can mostly already be done. Two examples of this are your partner's "Relic Fragment" and Bidoof's "Stash of money" "Key items" are never checked for in-game, because they are only ever used in cutscenes. Though, there ARE items that are checked, like the unown stones. Do you mean like that? That would be theoretically possible. Also, there are ways to check how many of a certain item you have. So, you can theoretically create someone that does different things depending on how many Oran berries you have.

As for adding more story... that's easily done. (Once unionall.ssb is figured out.) Unionall.ssb holds EVERYTHING storywise in the entire game, including saving and loading. Even the title sequence. So, it is certainly possible to add more. (sky already did, in fact)
It can already be done with my tool, if you understand the passing control system, which I do not just yet. I'm now just making the program better, and easier to use =D
__________________
Want my help in PokéScripting? PM me =)
I use XSE v1.1.1 (HackMew = awesome) and Advance Map 1.92.
Thanks to Diego and HackMew for their tutorials, helping me learn how to script!

Hacks I support 100% (MUST SEE!):


Very well made hacks:

My work:
Figuring out scripting in PMD
Entire script map of LeafGreen
PMDSE (Pokémon Mystery Dungeon Script Editor)

Last edited by Nerketur; October 8th, 2012 at 03:51 PM. Reason: Formatting issues
Reply With Quote
  #38    
Old October 9th, 2012, 11:33 PM
Nerketur's Avatar
Nerketur
PokéScripter
 
Join Date: Nov 2010
Gender: Male
Nature: Quirky
Small update!

I have decided to put everything in one textbox, with a checkbox for if you ant to see the hex or not. And, I've gotten it to work as expected, visually. I'm still working on a few things, one of which is a little nagging issue with the current setup. Currently, if you want to switch between code and hex, keeping changes, it requires saving. But, saving with invalid assembly simply silently changes your code. I need to change it so it will not allow switching unless errors are fixed, like typos, or whatever. This way, you won't lose a lot of work while editing. Of course, this system will need to be changed in the future, but for now it will suffice. Until I add line numbers and everything, of course =)

That said, I've figured out how to fix that main error I had with the text boxes going out of sync, so I may make it a settings option to use two boxes. I don't know which way I like better. Two boxes make it easy to see what you're doing, one makes it easier to program. Speed verses easy to use, I suppose. xD In any case, I'm getting the UI down at the moment. No updates on scripting stuff, just the tool itself. It's getting better, and I'm making the code cleaner. =D Beta will be here before you know it.
__________________
Want my help in PokéScripting? PM me =)
I use XSE v1.1.1 (HackMew = awesome) and Advance Map 1.92.
Thanks to Diego and HackMew for their tutorials, helping me learn how to script!

Hacks I support 100% (MUST SEE!):


Very well made hacks:

My work:
Figuring out scripting in PMD
Entire script map of LeafGreen
PMDSE (Pokémon Mystery Dungeon Script Editor)
Reply With Quote
  #39    
Old January 21st, 2013, 02:40 PM
Nerketur's Avatar
Nerketur
PokéScripter
 
Join Date: Nov 2010
Gender: Male
Nature: Quirky
Wanted to give a small update. I'm still working on this, just College has severely limited my time to work on this. I can't give a possible completion date, but I am still working on it. I may put it open source soon, too. Just a bit more cleaning up., and all should work.

Aside from that, I've been looking a bit at how the code is parsed... and I think I might be incorrect in a few areas. Especially unionall.ssb. It parses, of course, but I'm almost certain that some of the goto locations are off. I'll figure it out eventually. Might make an AR code that tells me what the next instruction will be. And figure out where it REALLY jumps to.

In any case, I'm still having fun figuring out things. So I guess I'll move on to learning everything I can learn about the commands that I know =P

I'll put a bit more info on my research thread a little later. Just wanted to apologize for all the delays, but that's what you get in Hobby projects. Still, I will see this project through to the end. And, I hope it will help someone out there. =)
__________________
Want my help in PokéScripting? PM me =)
I use XSE v1.1.1 (HackMew = awesome) and Advance Map 1.92.
Thanks to Diego and HackMew for their tutorials, helping me learn how to script!

Hacks I support 100% (MUST SEE!):


Very well made hacks:

My work:
Figuring out scripting in PMD
Entire script map of LeafGreen
PMDSE (Pokémon Mystery Dungeon Script Editor)

Last edited by Nerketur; January 21st, 2013 at 02:43 PM. Reason: Corrected colors and font.
Reply With Quote
  #40    
Old January 22nd, 2013, 03:20 AM
Ice-Dragon's Avatar
Ice-Dragon
 
Join Date: Jun 2012
Location: Australia
Gender: Male
Nature: Calm
I've wanted to make a PMD hack for some time; thanks for creating this awesome tool!
Reply With Quote
  #41    
Old March 24th, 2014, 12:54 PM
KB13
 
Join Date: Mar 2014
Gender: Male
This thread is dead, right? That's bad, I realy liked this tool! Why are you not working on this anymore... :'(
Please, work on this AWESOME tool again!
Reply With Quote
  #42    
Old March 25th, 2014, 01:59 AM
DrFuji's Avatar
DrFuji
Helfen, Wehren, Heilen
 
Join Date: Sep 2009
Location: Upside-downia
Age: 21
Gender: Male
Nature: Jolly
KB13, please don't bump threads, especially if you think they're inactive.

Nerketur, if you would like this thread to be reopened then just message either myself or karatekid552.
__________________
Reply With Quote
  #43    
Old April 13th, 2014, 12:38 PM
Nerketur's Avatar
Nerketur
PokéScripter
 
Join Date: Nov 2010
Gender: Male
Nature: Quirky
Maaan, it's been a while. A LONG while. over a year since I last posted here. Over a year even since I last signed in! So all of you need a well-deserved update.

First of all, oh god I have barely any time to spend on this anymore. But I stand by what I originally said. I will see this through to completion! Whether or not I'm active here, know that I have absolutely every intention to stick this through to the end, even if it takes YEARS to complete. I'm that serious.

Secondly, I've made a few decisions about what games I'm going to include support for. It will be able to parse Explorers of Time/Darkness/Sky out-of-the-box. I will focus my time on these games, finding out all the codes, and figuring out what they do. Blue Rescue Team will be supported as well, but it will most likely not be in the beta, and I'm going to definitely need a bit of help on that. I don't plan to support Red Rescue team or anything with 3DS and up, but that plan may change in the future.

Thirdly... Since I know my timing here will probably be a bit sporadic, I DO in fact plan to release my source code soon. I figure having it open will allow other more experienced hackers to comment on making it more efficient and because people can just disassemble it anyway, so there's no real reason to hide it. I just want it to be somewhat efficent before I do. Right now it work, but It's not really modular enough

Fourthly... I don't usually like to do this, but I'd like to officially request anyone willing to help to really help me with figuring out the more tricky opcodes. It would be nice to have the debug version of NO$GBA or any other emulator with debugging capability, so I can more easily figure out the codes myself. What free emulators include this functionality? Does anyone have recommendations? It would make all this easier for sure. I'll do some searching on my own, too, so I can do better than just edit and restart emulation.

All that said, I'm rather excited to be working on this again, finally, after so long! I don't fully understand everything, and might not ever really do so, but at least I'm trying. I was the first to start this venture into hacking PMD EoT, and i hopefully won't be the last. Soon enough we will see Pokemon hacks of games other than the canon series! And man, that in and of itself makes me happy. That is why, even if this tool doesn't turn out to be the best, at least it's a damn good start! Famous already huh? =P

I plan to give somewhat regular updates now, though if you don't see me for a week don't fret. It's hard to keep me down but I do have a thesis to work on and research to do, so I might not be able to work on it every day like I used to. Thank you for all the support so far, and I hope for happy times in the future! Lets make PMD hackable together!

PS: I was right, the goto locations were off because of the way I implemented actions. Man, that was kind of silly. Oh well, it's completely fixed now, gotos are correct and now it's just correcting the incorrect commands. So I'm actually rather close. =D
__________________
Want my help in PokéScripting? PM me =)
I use XSE v1.1.1 (HackMew = awesome) and Advance Map 1.92.
Thanks to Diego and HackMew for their tutorials, helping me learn how to script!

Hacks I support 100% (MUST SEE!):


Very well made hacks:

My work:
Figuring out scripting in PMD
Entire script map of LeafGreen
PMDSE (Pokémon Mystery Dungeon Script Editor)
Reply With Quote
  #44    
Old April 14th, 2014, 04:43 AM
Platinum Lucario's Avatar
Platinum Lucario
The Legendary Master of Light!
Community Supporter
 
Join Date: Jan 2008
Location: Warrnambool, Victoria, Australia.
Age: 21
Gender: Male
Nature: Calm
Quote:
Originally Posted by Nerketur View Post
Fourthly... I don't usually like to do this, but I'd like to officially request anyone willing to help to really help me with figuring out the more tricky opcodes. It would be nice to have the debug version of NO$GBA or any other emulator with debugging capability, so I can more easily figure out the codes myself. What free emulators include this functionality? Does anyone have recommendations? It would make all this easier for sure. I'll do some searching on my own, too, so I can do better than just edit and restart emulation.
I actually have the debug version of No$GBA 2.6a, but despite it's debugging functions... either I don't know how to operate the debugging functions or they just simply don't work at all. It's a very old program and very buggy.

Anyways, best of luck with your PMD tool, someday I might use it to change it's scripts one way or another. I've also been rather curious of the sound data in the ROMs of Time, Darkness and Sky, as they have a completely different way of using it. In fact they don't have an .sdat, as you may already know. They have three folders, which are, BGM, SE and ME, all using a completely different format to what .sdat files use.
__________________
[Platinum Lucario's Signature]
Researching the NDS ROMs...

sure does feel like a brand new adventure!

I'm really looking forward to learning how to understand what the hex values mean and how to create programs using Microsoft Visual Studio!

Always focus on the present, best thing to do! Never look back into the past and never worry about anything bad of the future!
Reply With Quote
  #45    
Old May 3rd, 2014, 12:25 AM
Nerketur's Avatar
Nerketur
PokéScripter
 
Join Date: Nov 2010
Gender: Male
Nature: Quirky
Small tiny update.

I might release more and more alphas. Currently my version is slightly more modular, and can semi-parse SSA, SSE, and SSS files. I found out a bit more about them too! Going to be updating the info thread soon! You never know, sometimes when you don't know something, small breakthroughs pave the way for big ones! All in all, just figuring out everything I DO know so as to see if I overlooked something.
__________________
Want my help in PokéScripting? PM me =)
I use XSE v1.1.1 (HackMew = awesome) and Advance Map 1.92.
Thanks to Diego and HackMew for their tutorials, helping me learn how to script!

Hacks I support 100% (MUST SEE!):


Very well made hacks:

My work:
Figuring out scripting in PMD
Entire script map of LeafGreen
PMDSE (Pokémon Mystery Dungeon Script Editor)
Reply With Quote
  #46    
Old May 3rd, 2014, 08:03 AM
Spherical Ice's Avatar
Spherical Ice
Community Supporter
 
Join Date: Nov 2007
Location: UK
Send a message via Skype™ to Spherical Ice
These tools certainly are intriguing! I was under the impression nobody cared enough to research into the Mystery Dungeon games, but I had always said to myself that I would dedicate some time to comb through what little documentation there is to see if I could expand upon it but never seemed to get around to it. This really is interesting though, I'm alarmed to see what you can achieve next! Keep up the great work.
__________________
Reply With Quote
  #47    
Old May 5th, 2014, 03:55 PM
psy_commando's Avatar
psy_commando
 
Join Date: Mar 2014
Location: Quebec, Canada
Gender: Male
Nature: Modest
Hi ! I've been lurking for a while, and decided to try to help.

I'd like to encourage as much as I can development of tools for PMD EoS, given so little information is available! So we can all have an easier time ! I just began a little side project for PMD Explorers of Sky, a runtime(for now) sprite/data injector/editor. And, if I can find anything that you might find useful I could probably put it in this thread. Though, my main focus are the sprites and avatars.

But to get back to the topic, I think I might have a few good suggestions for helping you out if you're looking for a debugger! I don't know if you know about those things already though.

I can't find much details about a good NDS debugger, well besides vague mention of a debugger from the nds devkit and people debugging using visual studio and building DeSmuME from sources. (this also : vgcoding.blogspot dot ca/2011/01/how-to-debug-your-nds-rom-using-visual.html)

The only thing with building from source, is the amount of messing around you'd have to do to setup the whole thing properly, which can kinda sap your morale and time..
But as someone who's been messing around with Pokemon XD: Gale of Darkness for a while and dealing with the limited debugger in Dolphin, I developed some workarounds.

DeSmuME 0.9.10 has some basic features that could help out kinda like Dolphin, namely a disassembler, a memory viewer, and it can run lua scripts. Then, I highly suggest you'd get Cheat Engine. It features a great memory search feature and has data breakpoints, which are like the best thing ever ! And Cheat Engine runs lua scripts, with which you can automate tedious tasks and even write a little program/UI for doing things in cheat engine, or just running your scripts etc..

Then, the best way I found to find the data you're looking for is usually to make a few hypothesis as to how the data is stored in memory. There are only so many ways to store data, so chances are you'll guess right ! Throughout coding languages and platforms, some common data structures are universally used. Like tables, lookup tables, linked lists etc..

I hope it doesn't sounds patronizing though, its not my intention.
And of course, I'm not a great hacker or anything really. I'm mainly a C++ coder that got into reversing a short while ago XD
So there might be easier ways of doing all this ! But I hope this was of some use to you at least !
Reply With Quote
  #48    
Old May 9th, 2014, 12:10 AM
Nerketur's Avatar
Nerketur
PokéScripter
 
Join Date: Nov 2010
Gender: Male
Nature: Quirky
Quote:
Originally Posted by psy_commando View Post
Hi ! I've been lurking for a while, and decided to try to help.
Yay! I love people that like to help! =)
Quote:
Originally Posted by psy_commando View Post
I'd like to encourage as much as I can development of tools for PMD EoS, given so little information is available! So we can all have an easier time ! I just began a little side project for PMD Explorers of Sky, a runtime(for now) sprite/data injector/editor. And, if I can find anything that you might find useful I could probably put it in this thread. Though, my main focus are the sprites and avatars.
Actually a LOT of that could be useful. I already know where the sprites are stored, but I am unsure of the complete file format therein. Still, understanding them, and how the Pokémon are mapped to each file would be useful. And that's something found out easier with what you're doing =D
Quote:
Originally Posted by psy_commando View Post
DeSmuME 0.9.10 has some basic features that could help out kinda like Dolphin, namely a disassembler, a memory viewer, and it can run lua scripts. Then, I highly suggest you'd get Cheat Engine. It features a great memory search feature and has data breakpoints, which are like the best thing ever ! And Cheat Engine runs lua scripts, with which you can automate tedious tasks and even write a little program/UI for doing things in cheat engine, or just running your scripts etc..
I've looked into DeSmuME, and it does have few good features, but I don't understand all of them that well. I think I've looked into Cheat Engine, too. If it's the one used to debug windows programs. =P The problem with using that is the games scripting engine is coded in ARM, and the program emulating the DS is running in machine code. So I'd be debugging the machine code that emulates the ARM processor, that runs ther games code, that has the script engine. It's three steps inside. Granted, once I learn how it works I can basically make my own debugger, but... well... it would just be easier if I could debug the NDS ARM code and find the script engine, then figure out what each command does from there.

Things are just never that easy, are they? =P
Quote:
Originally Posted by psy_commando View Post
Then, the best way I found to find the data you're looking for is usually to make a few hypothesis as to how the data is stored in memory. There are only so many ways to store data, so chances are you'll guess right ! Throughout coding languages and platforms, some common data structures are universally used. Like tables, lookup tables, linked lists etc..
This is actually similar to how I'm looking for command length and structure + how the format of various files works. Things that I want to find out but don't know how they are store or where they are include 'dungeon data', 'battle data', 'object data', and a few others.
Quote:
Originally Posted by psy_commando View Post
I hope it doesn't sounds patronizing though, its not my intention.
And of course, I'm not a great hacker or anything really. I'm mainly a C++ coder that got into reversing a short while ago XD
So there might be easier ways of doing all this ! But I hope this was of some use to you at least !
Hee! Its alright. I'm mostly an all around programmer that only got into reversing because of PMD. And yes, I think you can definitely help! Even if I'm not focusing on sprites, I already know a lot about how they are stored. I was a sprite-ripper before this! In truth, I'm kind of honored!

Though, I would have to say any help not tool-based might be better put in my other thread instead. I might even make it an overall info thread. Who knows? I basically work on what interests me. =P
__________________
Want my help in PokéScripting? PM me =)
I use XSE v1.1.1 (HackMew = awesome) and Advance Map 1.92.
Thanks to Diego and HackMew for their tutorials, helping me learn how to script!

Hacks I support 100% (MUST SEE!):


Very well made hacks:

My work:
Figuring out scripting in PMD
Entire script map of LeafGreen
PMDSE (Pokémon Mystery Dungeon Script Editor)
Reply With Quote
  #49    
Old May 9th, 2014, 02:59 PM
2012maniac's Avatar
2012maniac
 
Join Date: Apr 2012
Gender: Male
Hmm... Looks really interesting. If possible, you should make a music editor part of the program! Like, make it able to export Midi's. That would be absolutely AMAZING! There is too much good music in PMD: EoS that I'd love, but am unable to get. That would be incredible.
__________________
░░░░░███████ ]▄▄▄▄▄▄▄▄
▂▄▅█████████▅▄▃▂
Il███████████████████].
◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙◤..

If you're looking for a good time, or just want to chat, come over to Weloxux and I's channel at:
http://mibbit.com/?server=irc.mibbit...%23Dragons_Den

Reply With Quote
  #50    
Old May 10th, 2014, 12:23 AM
psy_commando's Avatar
psy_commando
 
Join Date: Mar 2014
Location: Quebec, Canada
Gender: Male
Nature: Modest
Quote:
Originally Posted by Nerketur View Post

Though, I would have to say any help not tool-based might be better put in my other thread instead. I might even make it an overall info thread. Who knows? I basically work on what interests me. =P

Alright then. I'll post what I find over there ! Though, at this point I don't have much. I can't find any documentation about Crystal Tile2's method of displaying pixels which would help a little figuring out the whole thing. It also seems that some of the sprites get misaligned in that program..
Though, I still managed to find a few interesting tidbits by looking at the raw data.

Quote:
Originally Posted by Nerketur View Post

Yay! I love people that like to help! =)

Actually a LOT of that could be useful. I already know where the sprites are stored, but I am unsure of the complete file format therein. Still, understanding them, and how the Pokémon are mapped to each file would be useful. And that's something found out easier with what you're doing =D

I guess you mean that m_ground.bin file ? Its really an odd file. It seems to contain "SIR0" files/chunks.
I guess its some form of container, with a "table of content" at the beginning. But it has a strange and long header.. There should be some form of identification for the every subfiles in there.

And I found out EoS is using the exact same object color palette as Pokemon Mystery Dungeon Red Rescue team on the GBA ! That really helped finding those sprites XD
I still can't figure out where the face portraits are though.. Or if they use the same palette..

Quote:
Originally Posted by Nerketur View Post

I've looked into DeSmuME, and it does have few good features, but I don't understand all of them that well. I think I've looked into Cheat Engine, too. If it's the one used to debug windows programs. =P The problem with using that is the games scripting engine is coded in ARM, and the program emulating the DS is running in machine code. So I'd be debugging the machine code that emulates the ARM processor, that runs ther games code, that has the script engine. It's three steps inside. Granted, once I learn how it works I can basically make my own debugger, but... well... it would just be easier if I could debug the NDS ARM code and find the script engine, then figure out what each command does from there.
Quote:
Originally Posted by Nerketur View Post

Things are just never that easy, are they? =P

What did you have trouble understanding ? Maybe I could help ?

About that, I thought you were only editing the game's script ?
Because, you can still use DeSmuMe's Disassembler to see the assembly code directly, if you really want to.
But, if you're looking only for the part that runs the scripts for the dialogue and game logic, then its easier to just look for the data used by the software to run those scripts. At least IMO.

Cheat engine is really good at finding data, and finding what data changes at what time, and is changed by what function.

But, if you have a good IDE and grab the source code for DeSmuMe and compile it yourself, and run it in debug, that would be optimal, even though it would require some work. There is also a couple of tutorials on how to setup visual studio and a windows port of the GNU GBD debugger to debug the actual ARM code, thanks to some piece of code in DeSmuMe that allows to do that.

Quote:
Originally Posted by Nerketur View Post
Quote:
Originally Posted by Nerketur View Post
This is actually similar to how I'm looking for command length and structure + how the format of various files works. Things that I want to find out but don't know how they are store or where they are include 'dungeon data', 'battle data', 'object data', and a few others.

Hee! Its alright. I'm mostly an all around programmer that only got into reversing because of PMD. And yes, I think you can definitely help! Even if I'm not focusing on sprites, I already know a lot about how they are stored. I was a sprite-ripper before this! In truth, I'm kind of honored!

Honored ? What do you mean ?
Its kinda sad PMD isn't more popular.. Its such a charming game, and it would have been reversed years ago if it had been more popular.. Seeing as most other pokemon game got reversed really quickly !
Actually the whole reason I got into this, is to encourage people to add in the missing faces and sprites for the non official starter pokemon! But, if I can help others along the way, why not !

I'll try to dump some of my notes so far in the thread you've pointed out. They're not 100% sure things, but I guess it can help to try figuring those things out as a group !
Reply With Quote
Reply
Quick Reply

Sponsored Links


Advertise here
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 06:33 AM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.