Jump to content
SCV

tool PPRE: Project Pokemon's ROM Editor

Recommended Posts

I also have a question.

What are the current functional capabilities of PPRE?

I had done a lot of digging previously, but I can only vaguely remember some stuff.

Am I correct in that Pokemon and move modifying (Power, Accuracy, PP, etc.) are not implemented?

It's either 1 of the 2 doesn't work, or both don't.

Oh, and if either don't work, can anyone suggest alternative tools? I'm hacking HGSS, if that helps.

Share this post


Link to post
Share on other sites
Can I just replace the swarm pokemon with a pokemon I want in the day? Or do I have to edit a script to remove the swarm event so I can use up the tabs for day pokemon?

You have a certain number of day slots and that is it. The swarms apply to swarm Pokemon in that area. If you modify those, then only the swarms will change. There isn't really a script, but rather hardcoded gamecode that defines the swarm events.

Oh! Also, how can I determine/change abilities for trainer pokemon?

There was slight thought about that in this hack, and there was a conclusion that some of the "unknowns" in the PPRE trainer editor specified the AI and the abilities. Further documentation is lacking.

What are the current functional capabilities of PPRE?

PPRE can edit scripts (with some glitchiness). It can modify anything shown on the map tab. The trainer editor works fully (except for phrases). The Pokemon Editor works. Everything else is Read-Only.

Share this post


Link to post
Share on other sites
PPRE can edit scripts (with some glitchiness). It can modify anything shown on the map tab. The trainer editor works fully (except for phrases). The Pokemon Editor works. Everything else is Read-Only.

So, do you know of any HGSS-compatible move editors? And by that I mean the power, accuracy, etc.

Share this post


Link to post
Share on other sites
You have a certain number of day slots and that is it. The swarms apply to swarm Pokemon in that area. If you modify those, then only the swarms will change. There isn't really a script, but rather hardcoded gamecode that defines the swarm events.

There was slight thought about that in this hack, and there was a conclusion that some of the "unknowns" in the PPRE trainer editor specified the AI and the abilities. Further documentation is lacking.

PPRE can edit scripts (with some glitchiness). It can modify anything shown on the map tab. The trainer editor works fully (except for phrases). The Pokemon Editor works. Everything else is Read-Only.

I see...Thank you for answering my questions.

So, do you know of any HGSS-compatible move editors? And by that I mean the power, accuracy, etc.

There is one way how to edit HG/SS moves, but it requires you editing moves from D/P and then replacing the narc for D/P moves to the HG/SS

Share this post


Link to post
Share on other sites
There is one way how to edit HG/SS moves, but it requires you editing moves from D/P and then replacing the narc for D/P moves to the HG/SS

No thanks. I'd even be willing to hex edit, if that's possible!

Share this post


Link to post
Share on other sites
No thanks. I'd even be willing to hex edit, if that's possible!

This part of PPRE may be relevant to you then.

	self.effect.setCurrentIndex(ord(file[0])|(ord(file[1])<<8))
	self.category.setCurrentIndex(ord(file[2]))
	self.basePower.setValue(ord(file[3]))
	self.accuracy.setValue(ord(file[5]))
	self.type.setCurrentIndex(ord(file[4]))
	self.ctype.setCurrentIndex(ord(file[13]))#contest type
	self.pp.setValue(ord(file[6]))
	self.effectChance.setValue(ord(file[7]))
	self.priority.setValue(ord(file[10]))

ord(file[0])|(ord(file[1])<<8) is a uint16 that occupies bytes 0 and 1.

Share this post


Link to post
Share on other sites
This part of PPRE may be relevant to you then.

       self.effect.setCurrentIndex(ord(file[0])|(ord(file[1])<<8))
       self.category.setCurrentIndex(ord(file[2]))
       self.basePower.setValue(ord(file[3]))
       self.accuracy.setValue(ord(file[5]))
       self.type.setCurrentIndex(ord(file[4]))
       self.ctype.setCurrentIndex(ord(file[13]))#contest type
       self.pp.setValue(ord(file[6]))
       self.effectChance.setValue(ord(file[7]))
       self.priority.setValue(ord(file[10]))

ord(file[0])|(ord(file[1])<<8) is a uint16 that occupies bytes 0 and 1.

I'm afraid you lost me there. Is that the source code or something?

Share this post


Link to post
Share on other sites
I'm afraid you lost me there. Is that the source code or something?

yes, PPRE's source. The effect is made up of bytes 0 and 1 (Not too important). Category is byte 2 of each move file. Base power is byte 3... and so on.

Share this post


Link to post
Share on other sites
yes, PPRE's source. The effect is made up of bytes 0 and 1 (Not too important). Category is byte 2 of each move file. Base power is byte 3... and so on.

So, you're just saying that I should find the move in the ROM, modify the bytes following the identifier, and that'll do it?

That works, although a tool would still be much easier.

Share this post


Link to post
Share on other sites
So, you're just saying that I should find the move in the ROM, modify the bytes following the identifier, and that'll do it?

That works, although a tool would still be much easier.

Duh. Of course it would. That's why if all you're going to do is edit the power, pp, acc, type or effect (but not the damage class and the effects of certain complicated attacks like Volt Tackle), then use the move editor that works on diamond & pearl on one of those roms, extract the narc, and then reinsert it into hgss.

However, hex editing attacks is actually really easy once you know what you're doing. SEARCH THIS FORUM. There are a lot of posts on this subject by me already. I'd advise extracting the narc first. For me, that makes it easier.

Share this post


Link to post
Share on other sites

Hex editing is fairly easy. You would have to do it a bit sometimes even if you're using DP move editor because it does some things incompletely, like if you set a move's effect to "always goes first" like Quick Attack, it will set that as the effect ID, but it will not change the priority. DP move editor also does not change move categories (Special/Physical/Status)..

You can PM me if you want any advice on editing moves.

Share this post


Link to post
Share on other sites

Hey, I'm back with another question.

I've ran into a problem. I just finished editing my pokemon plat. game, only editing pokemon, pokemon locations, trainer pokemon, and rod pokemon. I've ignored the warning about some error I have received on ppre. When I tested it through an emulator and flash card, the game freezes once the main character and barry enter lake verity. The thing is that it not like a complete freeze, the music is still going, its just that the characters no longer move once they enter.

I opened up a clean rom in ppre to see if perhaps I accidentally changed a number at the top of the map section of ppre. But it matched the same as the edited rom.

Any ideas on how I could fix this problem?

EDIT: Could it be because of me editing information on rod pokemon? I noticed on ppre, that there was absolutely no pokemon on the old rod, nothing but magikarp on the good rod, and then a few different pokemon and magikarp on the super rod. As if rod pokemon were shifted over. There was also no value for the encounter rate on old rod pokemon; only good rod and super rod. I edited both the encounter rate for the old rod and old rod pokemon. Could this be the reason why the game freezes at this point?

EDIT2: No...that didn't change anything either. I'm still receiving the same thing.

EDIT3: this is what error is when I go to the log that ppre directs me towards. It just constantly repeats this same block of text:

Traceback (most recent call last):

File "ppre.pyw", line 3332, in saveTrainer

File "ppre.pyw", line 3336, in saveText

File "texttopoke.pyc", line 93, in Makefile

File "texttopoke.pyc", line 54, in ToCode

UnboundLocalError: local variable 'errorReport' referenced before assignment

I occassionally received this one:

Traceback (most recent call last):

File "ppre.pyw", line 3245, in changedTrainer

File "<string>", line 1, in <module>

File "bytereader.pyc", line 6, in ReadByte

IndexError: list index out of range

And this was found at the end:

Traceback (most recent call last):

File "ppre.pyw", line 3052, in updateScript

AttributeError: 'module' object has no attribute 'scriptFile'

What does it mean? and how do I fix it?

Edited by megamonk4

Share this post


Link to post
Share on other sites

Sometimes PPRE messes up scripts that you didn't even edit. Replace the script files with ones from a clean version of platinum.

Share this post


Link to post
Share on other sites

I'm having a small issue with the latest PPRE. I've edited my rom and built it to test it on my choice of hardware. But now, I want to take it and edit it again. So, I open it in PPRE, and set the rom. But, even after it creates my tmp folder, it tells me that a rom is not loaded. What is up with that?

Share this post


Link to post
Share on other sites
Is there a solution for my problem?, By the way, is there a PPRE, for Pokemon W/B?

Hm you not see :

Official Versions supported:

Diamond (USA)

Pearl (USA)

Platinum (USA)

so is not working on pokemon BW, for pokemon HGSS is not all are support because is not same structure...

Share this post


Link to post
Share on other sites

I know that, but, I have Pokemon Platinum(USA), and I change some attack and, how I save the change I've done?, it doesn't have a save bottom, What I have to do to keep the change?

Share this post


Link to post
Share on other sites

Excellent.

Oh, I have a question. What NARCs are the trainer, gym, elite four, wild Pokemon and Pokemon data?

Share this post


Link to post
Share on other sites

Ok. I've done everything to fix this problem. I can't seem to add any movements to my maps. What is going on? It's the only thing hindering my hack's progress.

I've been able to solve other problems, but this one is resilient. It won't go away at all. And it seems I have problems left, right and center with PPRE in general.

Here is my PPRE.txt if you need it:

Traceback (most recent call last):

File "ppre.pyw", line 2274, in updateMap

File "ascript.pyc", line 547, in writeScript

IndexError: list index out of range

Edit: I tried manually writing in a new set of movements on Map 412 using an older version of PPRE (PPREb012) and it still won't save.

Edited by Team Fail

Share this post


Link to post
Share on other sites

I've been trying to save a script, but I keep getting this error:

Traceback (most recent call last):

File "ppre.pyw", line 2274, in updateMap

File "ascript.pyc", line 508, in writeScript

ValueError: invalid literal for int() with base 10: ''

I'm not sure what's causing it; I've looked over the script a million and one times and found no errors..

EDIT: Well, I got it to work, so nevermind :P

Edited by Dragonfyre173

Share this post


Link to post
Share on other sites

Hello, great program, I hope you make it compatible with Pokemon Platino Spanish version hehehe, many people are waiting ^ _ ^

greetings and thanks

Share this post


Link to post
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...