Jump to content
er1c1996

Gen I/II to Gen III/IV/V Conversion.

Recommended Posts

The following file

crystaltruncated.sav

produces a "Status not recognized" error. It contains a Zapdos which is asleep in the actual game but is loaded as Fine.

I don't know if the error is related to the Zapdos because it also contains a Blastoise that was obtaned in gen 1 with a glitch, taken to Daycare to reduce its level to 100, then sent into gen 2.

Suggestion: when opening files, start in the current directory or the last opened directory--it goes to my home directory each time.

crystaltruncated.sav

Share this post


Link to post
Share on other sites
The following file

[ATTACH=CONFIG]11355[/ATTACH]

produces a "Status not recognized" error. It contains a Zapdos which is asleep in the actual game but is loaded as Fine.

I don't know if the error is related to the Zapdos because it also contains a Blastoise that was obtaned in gen 1 with a glitch, taken to Daycare to reduce its level to 100, then sent into gen 2.

Suggestion: when opening files, start in the current directory or the last opened directory--it goes to my home directory each time.

In crystal, status data exists only for party Pokemon; any status errors are due to party Pokemon. Had tested status but not rigorously, will see what byte is getting read and if it matches the Bulbapedia entry for sleep.

The Blastoise shouldn't cause a problem.

Share this post


Link to post
Share on other sites

Since it's a minor fix and nothing else is affected, the fix will be included in the next main update. Your Zapdos has 0x01 status byte. Turns out Bulbapedia is inaccurate - the least three bits affect sleep not just the third bit as in the article. Blastoise won't cause problems. In the meantime just ignore the error and let Metropolis clear the status.

Share this post


Link to post
Share on other sites
Pokemon with duplicate moves will have them fixed.

I just noticed you said this. I believe you can legitimately get a duplicate move if you give a Pokemon a HM and it later learns the same move by evolving.

Share this post


Link to post
Share on other sites
I just noticed you said this. I believe you can legitimately get a duplicate move if you give a Pokemon a HM and it later learns the same move by evolving.

The pokemon skips learning any level up/evolution moves if it already knows them; there's no such thing as a legitimate duplicate move.

Coming soon is full edit support for Gen 2 UnownDex, Items and some bug fixes. There's a bug where the caught level is sometimes set to 1 because the validation is done out of order due to block shuffling. The sleep status update for gen1/2 is included and new error handling into a list instead of dialog boxes. New also is the Train menu option - something I've liked to see on other emulators. It will maximise attainable ribbons (ie not the L50 tower ribbon if pokemon was caught at a high level or battle tower ribbons for banned pokemon), contest stats, experience and other volatile stats while preserving IVs, PID and other fixed values. In both this new option and the existing Max option, EVs are set smartly - either left alone if a 510 spread exists, or set 252/252/6 to the 2 highest base stats. It means you can run Train from the main screen to level up and EV train all your boxes ensuring Pokemon like Mewtwo are the best they could be for the fixed IV spread. There's pokemon like Ho-oh and Gyarados where you don't get the spread you might like but it's better than an all 85 spread. Shedinja is overriden to get the 255-255 in attack speed.

Share this post


Link to post
Share on other sites

Newest version 1.1 with full readme, three example Gengar PKM files, various bug fixes and new features. Hidden Power IVs now preserved by Max.

Edited by Metropolis

Share this post


Link to post
Share on other sites

Metropolis 1.2 is in development and will feature:

  • Sprites matching Trainer and Pokemon species on relevant screens.
  • Improved algorithm for faster reading and writing of files. Ensures files are not locked whilst using the editor (only for the short time when a save is being run).
  • Multiple window support for PKM files, save files and pokemon in storage.
  • Internal cut/copy/paste that auto-converts Pokemon from different generations, even working across multiple loaded save files.
  • Single Load button on menu for both SAV and PKM.
  • Various small bug fixes, such as closing the windows out of sequence will now cascade through dependent windows.
  • Proper Pokerus editing, validation and preservation between Gen2 and Gen3 conversion both ways.

Edited by Metropolis

Share this post


Link to post
Share on other sites

If you are still working on this, would you consider making this so that transferred mons can be legal? This is something that could really come in handy for those doing runs through the various gens, although it is already helpful for that.

Share this post


Link to post
Share on other sites
If you are still working on this, would you consider making this so that transferred mons can be legal? This is something that could really come in handy for those doing runs through the various gens, although it is already helpful for that.

I'm still supporting this, but not actively working on new features. Gen 1/2 -> 3 Pokemon are legal for in-game purposes, but will never be competitively legal. What caught location should a Slowpoke caught in Slowpoke Well have in Gen 3? There is no 'legal' possibility in the Gen 3 location data. If you wish to hack the PID etc to be legal in the cases where you can find a legal catch location, feel free to do so but there's no point implementing any form of 'legal' generator when the Pokemon are not and cannot be legal.

Now deleting Gen 2-exclusive moves in the Gen 3 transfer could be possible, but were Nintendo to have supported Gen 2 to Gen 3, then as with every other bridge, the gen 2 moves would not have been deleted.

Perhaps a 'Make Legal for Gen 4 on' option could be viable. My first thoughts are to use a massive lookup table of [neutral] PIDs and caught locations, but getting that to match the trainer ID would be hard. It would be a huge task that wouldn't be worth the end result, whereas Gen 2 to 3 I feel is, since this has never been possible before. If someone would like to collate a huge collection of valid PIDs, or suggest an alternative I'm open to ideas and happy to share API and codebase, but it's not as easy as just saying 'Make it Work for Gen 4' as the program supports Gen 1, 2 and 3 exclusively and that's all I'm prepared to do for free lol.

Share this post


Link to post
Share on other sites
I'm still supporting this, but not actively working on new features. Gen 1/2 -> 3 Pokemon are legal for in-game purposes, but will never be competitively legal. What caught location should a Slowpoke caught in Slowpoke Well have in Gen 3? There is no 'legal' possibility in the Gen 3 location data. If you wish to hack the PID etc to be legal in the cases where you can find a legal catch location, feel free to do so but there's no point implementing any form of 'legal' generator when the Pokemon are not and cannot be legal.

Now deleting Gen 2-exclusive moves in the Gen 3 transfer could be possible, but were Nintendo to have supported Gen 2 to Gen 3, then as with every other bridge, the gen 2 moves would not have been deleted.

Perhaps a 'Make Legal for Gen 4 on' option could be viable. My first thoughts are to use a massive lookup table of [neutral] PIDs and caught locations, but getting that to match the trainer ID would be hard. It would be a huge task that wouldn't be worth the end result, whereas Gen 2 to 3 I feel is, since this has never been possible before. If someone would like to collate a huge collection of valid PIDs, or suggest an alternative I'm open to ideas and happy to share API and codebase, but it's not as easy as just saying 'Make it Work for Gen 4' as the program supports Gen 1, 2 and 3 exclusively and that's all I'm prepared to do for free lol.

Of course, any amount of programming done is really done because the programmer wants to see it done for his own purposes. The fact that you've shared is nice enough, and I'm not going to be demanding. For my own purposes, I probably would to like to have competitively legal mons, so I'll just figure out a way to do that with time.

In my own mind, I wonder if it possible to hack locations in Gen 3, because of Firered and Leafgreen. I was able to trade mons to Emerald back in the day without any problem whatsoever, so I was wondering if you wouldn't mind explaining to me how the location data works for that.

If not, then thanks anyways for what you've done with this.

Share this post


Link to post
Share on other sites

Thanks :)

Kanto locations, and various others like the Sevii isles exist as possibile caught locations and are recognised by Fire Red and later games. Emerald added further locations like Mirage Tower and Artisan Cave. You can see a full list by editing the caught location of a Gen 3 Poke under the Misc screen in my editor. Note that Johto locations like Slowpoke Well do not exist in any Gen 3 game, and there actually wouldn't be enough space in the locations list even if they were supported! (Since location is one byte and there would be over 256 locations). My editor attempts to recognise Gen 2 locations using an elaborate matchup - for example Lavender Radio Tower becomes the Pokemon Tower. But there are still locations it can't match. Similarly going Gen 3 to Gen 2, some locations like Virdian City can be matched but others like Littleroot Town obviously cannot.

Share this post


Link to post
Share on other sites

Hi there,

I'm probably just overlooking something super obvious, but after going through the 5 pages of this thread I just can't seem to find the method for opening version 1.2 of the program.

After unzipping the downloaded file to a folder I named "Metropolis" (for easy finding) I checked the unzipped files, but I can't seem to find any .jar file to execute.

I hope someone can tell me what I'm doing wrong :confused:

Share this post


Link to post
Share on other sites
Hi there,

I'm probably just overlooking something super obvious, but after going through the 5 pages of this thread I just can't seem to find the method for opening version 1.2 of the program.

After unzipping the downloaded file to a folder I named "Metropolis" (for easy finding) I checked the unzipped files, but I can't seem to find any .jar file to execute.

I hope someone can tell me what I'm doing wrong :confused:

Here's the download link

It should save straight as a JAR, which can be run if Java is installed on your computer. What file do you get with that link?

Share this post


Link to post
Share on other sites

Well.. I ended up reinstalling Java (the installer told me I had it installed already, as I thought). Then I downloaded it again and again as thought, it was something quite obvious that I overlooked. My file was called "Metropolis.jar.zip"; by simply removing the .zip extension it works a-ok now. Thing is, when extracting the files like any other archive (for which I use 7zip, not that it really matters), it would give me these files: http://puu.sh/8wIJr.png

Share this post


Link to post
Share on other sites

Loading the same crystaltruncated.sav file I posted before produces the error "Gen 2 Location 126 not recognized."

Opening a gen 2 save shows a window with "Pokedex" listed as "Pok..." This may be because the button is shorter than the other buttons.

Opening a file starts in the home directory, not in the current directory. You could argue this, however, opening a second file starts in the home directory again and not in the directory the first file was opened from, which is harder to justify.

Suggestion: When showing the boxes, show the boxes with the same number of rows and columns as the original. For instance, Pokemon Emerald's boxes contain 5 rows of 6 Pokemon each. You changed that in the editor to 3 columns of 10 each, where a row in the game corresponds to part of a column in the editor, making it hard to see what the box layout will be. Using 5 rows of 6 will be uglier but much more useful. Also, I still suggest showing the box name used in the game.

Loading the attached Emerald save produces numerous errors about moves, origin games, species, items, and symbols not being recognized. Some of them have suspiciously large numbers (move 58927?). The save file includes Pokemon that have been migrated from xD and Colosseum (but not anything migrated from fire red/leaf green).

Copying a Pokemon doesn't set the Pokedex entry as seen and caught. There's a "Max" which sets everything to seen and caught, but there should be something which sets only the Pokemon that are actually in your party or boxes.

POKEMON_EMER_BPEE00.sav

POKEMON_EMER_BPEE00.sav

Share this post


Link to post
Share on other sites

Hello Metropolis you have done good job with this tool! Well done!!

But i have a problem..

I did it step by step as the instructions, but every time i load my emerald the pokemon always is in my pc box is bulbasaur at level 0...

What i did wrong? Please help me.

Share this post


Link to post
Share on other sites

What language is your game? Only English is supported. The file size should be right or you wouldn't get that far - is it .SAV? Maybe attach the SAV to the post so I can look into it?

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