Register - Login
Views: 87324069
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - JCS - Stats - Latest Posts - Color Chart - Smilies
11-18-17 10:11:36 AM

Jul - Game Research/Hacking/Modding - Migrating Pokémon from Generation 2 to 3 New poll - New thread - New reply
Pages: 1 2 3 4 5Next newer thread | Next older thread
2Tie

Rumours of my death have been greatly exaggerated.
Level: 58


Posts: 431/925
EXP: 1495431
For next: 82115

Since: 02-22-10
From: The Codrex, Karda Nui

Since last post: 6 days
Last activity: 11 hours

Posted on 03-17-14 03:50:25 AM Link | Quote
had to boot up my laptop again to post this, a special case scenario popped in my head in the middle of the night:


I read on bulbapedia that in Gen 3 games (maybe only some of them, not 100% sure) mew will disobey any and all orders if its OT is different than the player's, no matter how many badges the player has (an anti-hacking measure). That's fine, except with what you're trying to do. Mew's unobtainable in gen 1/2 without glitching (read: easily obtainable in gen 1), so... It might be worth looking in to, maybe having the utility change the OT of mews to the new trainer?
metropolis
Random nobody
Level: 6


Posts: 1/6
EXP: 537
For next: 370

Since: 03-23-14


Since last post: 3.0 years
Last activity: 3.0 years

Posted on 03-23-14 02:47:02 PM Link | Quote
Interesting work! I've actually already written a complete conversion tool that works on any generation 1 to 3 save files. Mine was written in Java so we should be able to collaborate our findings.

There's a download link to my tool here: http://projectpokemon.org/forums/showthread.php?33354-Gen-I-II-to-Gen-III-IV-V-Conversion&p=182568#post182568
metropolis
Random nobody
Level: 6


Posts: 2/6
EXP: 537
For next: 370

Since: 03-23-14


Since last post: 3.0 years
Last activity: 3.0 years

Posted on 03-23-14 03:07:31 PM Link | Quote
Originally posted by 2Tie
had to boot up my laptop again to post this, a special case scenario popped in my head in the middle of the night:


I read on bulbapedia that in Gen 3 games (maybe only some of them, not 100% sure) mew will disobey any and all orders if its OT is different than the player's, no matter how many badges the player has (an anti-hacking measure). That's fine, except with what you're trying to do. Mew's unobtainable in gen 1/2 without glitching (read: easily obtainable in gen 1), so... It might be worth looking in to, maybe having the utility change the OT of mews to the new trainer?


Mew and Deoxys (and ONLY Mew and Deoxys) obey the player depending on whether the last bit of the bytes that contain ribbon data is set. My program writes a 1 if it's Mew/Deoxys and a 0 otherwise and I've had no obedience problems. It's nothing to do with OTID.
GuyPerfect
Catgirl
Level: 65


Posts: 932/1093
EXP: 2218907
For next: 116721

Since: 07-23-07


Since last post: 127 days
Last activity: 84 days

Posted on 03-24-14 10:28:14 AM Link | Quote
Very nice work, metropolis. I haven't looked at your code, since I don't want any influences before I finish what I have in mind, but I'm certainly up for seeing what we can put together after I'm done.

I've got some time off today and tomorrow, instead of working a bunch of overtime like these past few weeks. The only thing I'd *like* to have knocked out that I don't yet is whether the game save has obtained the Pokédex yet, but I'm not going to let that stop me from getting to work on the project proper. We'll see where I get today!
metropolis
Random nobody
Level: 6


Posts: 3/6
EXP: 537
For next: 370

Since: 03-23-14


Since last post: 3.0 years
Last activity: 3.0 years

Posted on 03-24-14 03:30:04 PM Link | Quote
I haven't released the source code yet, the link is to a compiled JAR of around 200 classes. Do you want to chat on Skype or Facebook about it? Add me: Alex Bramxham (without the x).
GuyPerfect
Catgirl
Level: 65


Posts: 934/1093
EXP: 2218907
For next: 116721

Since: 07-23-07


Since last post: 127 days
Last activity: 84 days

Posted on 03-24-14 05:13:09 PM Link | Quote
Egads, 200 classes?

Anyways, I'd love to chat on Skype! But there appear to be three of you: one from the UK, one from the US and one from Australia. Ordinarily I'd cross-check it with your forum profile, but someone forgot to put any information in there.

You can add me as guy.perfect with the same avatar image as I use here.
metropolis
Random nobody
Level: 6


Posts: 4/6
EXP: 537
For next: 370

Since: 03-23-14


Since last post: 3.0 years
Last activity: 3.0 years

Posted on 03-25-14 03:20:07 AM Link | Quote
It's UK, added you. Yeh 200 classes grew slowly, it started off as a single class of unreadable code then broke into standard design pattern classes for factories, helper classes, GUI screens separated from conversion logic etc. Each set of things like times of the day is an enum in its own class, offsets for one game are stored in a class as an enum for the file pointer method etc. It sounds complicated but it's much more sustainable than hard-coding constants everywhere.
GuyPerfect
Catgirl
Level: 65


Posts: 944/1093
EXP: 2218907
For next: 116721

Since: 07-23-07


Since last post: 127 days
Last activity: 84 days

Posted on 04-04-14 01:25:37 PM Link | Quote
Originally posted by metropolis
Mew and Deoxys (and ONLY Mew and Deoxys) obey the player depending on whether the last bit of the bytes that contain ribbon data is set.

Minor clarification here... "Last bit" refers to the highest bit, bit 31 in the Ribbons field. Depending on how you conceptualize binary numbers, this might be considered the first bit or the last bit.

My research turned up this thread, which details the exact program routine executed to determine whether a Pokémon obeys. In the case of Mew and Deoxys, the mechanic is technically that each Pokémon has a maximum level for obedience. It's set to 100 for all Pokémon except these two, which set it to zero (an impossibly low level). Furthermore, it then checks for Ribbon 32 and, if owned by the Pokémon, obedience is forced regardless.

The max-level form of obedience differs from the not-enough-badges variety. When you don't have enough badges for an outsider of a high level, it will use a move other than the one you told it to. If the Pokémon exceeds its maximum obedience level, on the other hand, it will never use any moves at all. Sometimes it won't do anything, with messages such as "Mew pretended not to notice", "Mew won't obey" or "Mew is loafing around". Sometimes it will "hurt itself in its confusion". Other times it will take a nap, just outright putting itself to sleep on the spot. But never once could I get it to use a move.

As far as I can tell, ribbon 32 does exist in the game as the World Ribbon, an event ribbon that was never distributed. However, I can't figure out how to get the Ribbons option to show up in the Condition menu of the PokéNav, so I can't verify for sure if this is the case. So I'm like 99% certain that World Ribbon → obedience.
metropolis
Random nobody
Level: 6


Posts: 5/6
EXP: 537
For next: 370

Since: 03-23-14


Since last post: 3.0 years
Last activity: 3.0 years

Posted on 04-05-14 05:48:01 PM Link | Quote
Originally posted by GuyPerfect
Originally posted by metropolis
Mew and Deoxys (and ONLY Mew and Deoxys) obey the player depending on whether the last bit of the bytes that contain ribbon data is set.

Minor clarification here... "Last bit" refers to the highest bit, bit 31 in the Ribbons field. Depending on how you conceptualize binary numbers, this might be considered the first bit or the last bit.

My research turned up this thread, which details the exact program routine executed to determine whether a Pokémon obeys. In the case of Mew and Deoxys, the mechanic is technically that each Pokémon has a maximum level for obedience. It's set to 100 for all Pokémon except these two, which set it to zero (an impossibly low level). Furthermore, it then checks for Ribbon 32 and, if owned by the Pokémon, obedience is forced regardless.

The max-level form of obedience differs from the not-enough-badges variety. When you don't have enough badges for an outsider of a high level, it will use a move other than the one you told it to. If the Pokémon exceeds its maximum obedience level, on the other hand, it will never use any moves at all. Sometimes it won't do anything, with messages such as "Mew pretended not to notice", "Mew won't obey" or "Mew is loafing around". Sometimes it will "hurt itself in its confusion". Other times it will take a nap, just outright putting itself to sleep on the spot. But never once could I get it to use a move.

As far as I can tell, ribbon 32 does exist in the game as the World Ribbon, an event ribbon that was never distributed. However, I can't figure out how to get the Ribbons option to show up in the Condition menu of the PokéNav, so I can't verify for sure if this is the case. So I'm like 99% certain that World Ribbon → obedience.


Interesting reading, yes you're right bit 31. Mew and Deoxys caught in-game have the obedience bit set. I assume over-levelled Mew/Deoxys still disobey like any other Pokemon and the obedience flag doesn't change that. Setting it on other Pokemon shouldn't do any harm or have any effect whatsoever.
metropolis
Random nobody
Level: 6


Posts: 6/6
EXP: 537
For next: 370

Since: 03-23-14


Since last post: 3.0 years
Last activity: 3.0 years

Posted on 04-13-14 01:09:24 PM Link | Quote
Here's the link to the full program: http://www.mediafire.com/download/xmbhb996zncxrbt/Metropolis.jar
intljs
Random nobody
Level: 2


Posts: 1/1
EXP: 35
For next: 11

Since: 05-13-14


Since last post: 3.0 years
Last activity: 3.0 years

Posted on 05-13-14 03:56:41 PM Link | Quote
still need a host? if you're planning to make this a web application, I can help you out. pm me
Operator-115
Random nobody
Level: 3


Posts: 1/2
EXP: 100
For next: 28

Since: 06-03-14


Since last post: 3.0 years
Last activity: 3.0 years

Posted on 06-03-14 05:20:52 PM Link | Quote
Hey all,

I'm new here and the programming and math being discussed are over my head. That being said, if it is ok for me to show interest in and join this conversation, I will ensure that my ignorance is my problem exclusively, and not your alls.

The idea or being able to transfer Pokemon from gen II games to gen III games (and presumably then upward?) is incredibly luring. I recently picked up Crystal and ran through it. It's my first legitimate time running through any Pokemon games and I must say I loved it and dominated it. I want to be able to take my favourite and hard earned Pokemon further, very badly.

If the project discussed in this forum comes to completion I would be incredibly grateful for the use of it and willing to exchange for it if need be. Am I correct in understanding that the afore discussed software would allow for transferring of Pokemon from gen II cartridges (Crystal specifically) to newer generation cartridges (X or Y specifically, mediated by gen II or newer cartridges if need be/easily done... I am a noob at Pokemon)?

I followed the links posted by metropolis earlier in this forum. I must admit I'm not exactly sure what they do/how to use them/ if they're anything that would be of use to a layman (in regards to coding/etc) as myself.

Let me know if I'm missing or misunderstanding anything.
GuyPerfect
Catgirl
Level: 65


Posts: 962/1093
EXP: 2218907
For next: 116721

Since: 07-23-07


Since last post: 127 days
Last activity: 84 days

Posted on 06-03-14 07:24:35 PM Link | Quote
Unfortunately, at this time there is no hardware capable of allowing Game Boy Color and Game Boy Advance games to communicate with one another. If there was, I'd have had this done months ago.
Operator-115
Random nobody
Level: 3


Posts: 2/2
EXP: 100
For next: 28

Since: 06-03-14


Since last post: 3.0 years
Last activity: 3.0 years

Posted on 06-04-14 06:42:38 PM Link | Quote
Ah. Gotcha. Thank you!
Sanqui
1590
🦉
Level: 73


Posts: 1270/1590
EXP: 3408476
For next: 77392

Since: 12-20-09
From: Czech Republic

Since last post: 2 hours
Last activity: 2 hours

Posted on 06-04-14 07:04:57 PM (last edited by Sanky at 06-04-14 07:05:08 PM) Link | Quote
What's the issue with using a link cable, again? Has anybody attempted it?
GuyPerfect
Catgirl
Level: 65


Posts: 963/1093
EXP: 2218907
For next: 116721

Since: 07-23-07


Since last post: 127 days
Last activity: 84 days

Posted on 06-04-14 07:46:23 PM Link | Quote
The box in the middle of a GBA link cable handles the routing of communications, which requires a particular protocol on the wire. The protocol is handled by the hardware at a lower level than data in/out, meaning it's impossible for an 8-bit Game Boy to work with it.
rukay
Random nobody
Level: 2


Posts: 1/1
EXP: 35
For next: 11

Since: 06-11-14


Since last post: 3.0 years
Last activity: 3.0 years

Posted on 06-11-14 09:09:55 PM Link | Quote
Now wait just a Second, I sure as HECK don't want a 65535 in all Stats Pokemon to have 85 EVs in each Stat once Transferred from Gen 2 to Gen 3, I suggest simply do one of Two things

1. Ignore the 510 Limit and just have the Exact same Stats for your Pokemon from the Previous game. (thus making it an Illegal Pokemon.)

or

2. Reset the EVs so that your Pokemon's EVs do not Surpass the 510 Limit (warn the Player of this beforehand.)
(come to think of it, if they are Reset on a Lv100 Pokemon then you cannot get the EVs back... make them Lv99?)

you could also make it so that if it is still Legal anyway, then it would simply not change anything and keep the exact same stats. (like a Freshly made Starter Pokemon)

also Natures should be a Randomly set Neutral Nature.

I know this wouldn't matter in 6th Gen because you can simply Reset the EVs in Super Training, but not everybody will be moving on towards 6th Gen, and even if they are they might not even bother changing the EVs.

I did some Math of my own and found that this is the Grid for the Same Stats (just thought I should put it in.)

IVs/DVs
Old New Stats
0 0 0
1 1
1 2 2
3 3
2 4 4
5 5
3 6 6
7 7
4 8 8
9 9
5 10 10
11 11
6 12 12
13 13
7 14 14
15 15
8 16 16
17 17
9 18 18
19 19
10 20 20
21 21
11 22 22
23 23
12 24 24
25 25
13 26 26
27 27
14 28 28
29 29
15 30 30
31 31

EVs/Stat Exp
Old New Stats
0 0 0
16 4 1
64 8 2
144 12 3
256 16 4
400 20 5
576 24 6
784 28 7
1024 32 8
1296 36 9
1600 40 10
1936 44 11
2304 48 12
2704 52 13
3136 56 14
3600 60 15
4096 64 16
4624 68 17
5184 72 18
5776 76 19
6400 80 20
7056 84 21
7744 88 22
8464 92 23
9216 96 24
10000 100 25
10816 104 26
11664 108 27
12544 112 28
13456 116 29
14400 120 30
15376 124 31
16384 128 32
17424 132 33
18496 136 34
19600 140 35
20736 144 36
21904 148 37
23104 152 38
24336 156 39
25600 160 40
26896 164 41
28224 168 42
29584 172 43
30976 176 44
32400 180 45
33856 184 46
35344 188 47
36864 192 48
38416 196 49
40000 200 50
41616 204 51
43264 208 52
44944 212 53
46656 216 54
48400 220 55
50176 224 56
51984 228 57
53824 232 58
55696 236 59
57600 240 60
59536 244 61
61504 248 62
63504 252 63
GuyPerfect
Catgirl
Level: 65


Posts: 971/1093
EXP: 2218907
For next: 116721

Since: 07-23-07


Since last post: 127 days
Last activity: 84 days

Posted on 06-11-14 10:55:00 PM Link | Quote
If there was a graceful way to migrate from gen 2 to gen 3, I'd bet my next plate of lasagna that Nintendo would have made a way to do it.

The fact is, a gen 2 Pokémon with too many stat experience points cannot be the same once migrated to gen 3. Attempting to do so is a wild goose chase, and everyone knows that Pico is a dangerous bastard. I simply took the "don't even try" approach and came up with a solution that keeps all stats scaled relative to one another as a best-effort technique.
porkypig101
Random nobody
Level: 3


Posts: 1/2
EXP: 99
For next: 29

Since: 06-20-14


Since last post: 3.0 years
Last activity: 3.0 years

Posted on 06-20-14 11:26:12 AM Link | Quote
Can you just give a link to download the tool you used for your ariados. I am fine with the illegal pokemon.
GuyPerfect
Catgirl
Level: 65


Posts: 976/1093
EXP: 2218907
For next: 116721

Since: 07-23-07


Since last post: 127 days
Last activity: 84 days

Posted on 06-20-14 04:46:21 PM Link | Quote
The program only processed some of the data. It produced a data block that has to be inserted into the save file manually, then the save file needs to be re-checksum'd. It's not something where you can say "Here's the Gen 2 save file, and the Gen 3 save file, so migrate this Pokémon." At that level, you'd just as well migrate it by hand. Then you'd be sure to get the one you wanted.
Pages: 1 2 3 4 5Next newer thread | Next older thread
Jul - Game Research/Hacking/Modding - Migrating Pokémon from Generation 2 to 3 New poll - New thread - New reply




Rusted Logic

Acmlmboard - commit 2f1bc75 [2017-08-27]
©2000-2017 Acmlm, Xkeeper, Inuyasha, et al.

30 database queries, 14 query cache hits.
Query execution time: 0.172660 seconds
Script execution time: 0.018167 seconds
Total render time: 0.190827 seconds