Jump to content

Pokémon Black & White Entralink Forest tool 0.1 --> dream pokemon wondercard-like! (Arceus event included)


Recommended Posts

EDIT: this has been replaced with the following, more complete tool: https://projectpokemon.org/forums/showthread.php?48943-GEN-5-Generation-5-save-tool-entralink-medals-join-avenue-and-others-not-in-pokegen

https://github.com/suloku/BW_efd_tool

Pokémon Black and White Entralink Forest Tool 0.1 by Suloku '15

---------------------------------------------------------------

This is a simple tool that can do the following:

- Dump entralink forest data from a Pokémon Black/White savegame.

- Inject entralink forest data to a Pokémon Black/White savegame.

Included is a .efd file (entralink forest data) that contains a forest that holds the Dream arceus event. There are other dream event pokémon as well, I think all of them, but I haven't checked.

There are many other dream pokémon in the forest as well. Enjoy.

Credits

-------

Marc_Max for his savefile and liking his forest being full of Pokémon instead of catching them. You can get his saves here: http://usuaris.tinet.cat/mark/juegos/savegames

Original post:

Yesterday I asked a friend if he had collected the Dream Arceus on pokémon black & white. Turns out he did not just collect it, but he actually never picked up any of the dream pokémon, including arceus.

I tested his save and confirmed that when a dream pokemon is captured in entralink forest, that's when it is generated. So I though: all the forest data must be somewhere in the savefile, it would be great if I could just copy it over my save and get all those dream pokémon.

I've been all afternoon documenting the missing sections of pokémon B&W savefile, then I compared 3 savegames and started to transfer the sections that were changed after catching arceus to my own savefile (which actually has no entralink forest data since I never even used entralink).

http://projectpokemon.org/wiki/Pok%C3%A9mon_BW_Save_File_Structure#Main_Save_File_.26_Backup

Not only has the section to be transfered, but checksum block needs to be updated too. I'll try to code a simple app to manage entralink forest data (inject-dump from savefile).

I think this is great, since this opens a whole new world for Dream pokemon contribution: we can just contribute the forest data itself, as if it were a wondercard with many pokemon.

ps: I haven't checked B&W2, and I don't know if entralink forest exists there, but nintendo probably kept the very same structure for compatibility, we would just need to find were it is stored.

BW Entralink Forest tool 0.1.zip

BW Entralink Forest tool 0.1.zip

Edited by suloku
Link to post
Share on other sites
  • Replies 57
  • Created
  • Last Reply

Top Posters In This Topic

Wow, you did quite interesting research the last few days!

Entralink still exists in BW2.

You should take a look at PokeCGear it can edit Entralink data.

Download is at the bottom of first post http://projectpokemon.org/forums/showthread.php?13832-PokeStock-BW-%28Updated-for-B2-W2!%29

The English translation is crappy and it's a bit buggy sometimes but it might help you anyways.

Link to post
Share on other sites

I've downloaded PokECGear, and it seems to be able to load either B/W or B/W2 savegames, but it does not load any pokemon from the entralink forest.

The data seems to be encritped in some way, since even an empty forest data has all its bytes set. Is there any documentation about the save structure? The tools you listed access and edit many data that is not documented in projectpokemon's wiki.

Link to post
Share on other sites

It should load them if you select the correct area with the buttons on the left.

Besides what is on the wiki there isn't much documentation, at least not at a central place.

On the forums you can find some threads about save structures here and there.

For example the Black City/White Forest structure was documented by Kaphotics here http://projectpokemon.org/forums/showthread.php?16080-White-Forest-Black-City-Trainer-Save-File-Offsets

Here is C-Gear skin structure http://projectpokemon.org/forums/showthread.php?22962-C-Gear-Skin-Editing

and a bit about Pokedex skins and the DLC sav regions http://projectpokemon.org/forums/showthread.php?23068-PokeDex-Skin-Editing-other-crap-%28dlc-sav-regions%29

Link to post
Share on other sites

Maybe it's because it only works with Black/White 2?

Anyway, I've uploaded a tool to dump/inject intralink forest data. I've included @marc_max savegame's link forest data, which holds dream world's Arceus as the most notable pokémon I think he may have all the other event dream pokemon in there, but I haven't checked.

ps: next comes gen VI pokemon link dumper/injector (celebi/johoto starters and glalie/steelix).

Link to post
Share on other sites

I'm very interested in this project. This is a huge find!

I never actually even dreamed of being able to catch all the Dream World Pokémon myself to be honest.

You say the data of the section is encrypted?

After I finished my own project and when I have more time I might check it out.

If we can find a way to decrypt it, we could be able to edit the data and make other Dream World Pokémon appear.

I fear there is only a small chance that we can still dump all the Dream World Pokémon data today, considering that we would need backups of save files with each Pokémon that was distributed.

So I think we definitely should try to mess with the encrypted data.

Link to post
Share on other sites

0x850 bytes of data

u16 update counter

u16 checksum

checksum: crc-ccitt (16 bit) over the 0x850 range

encryption seed: last 4 bytes of the 0x850 bytes (the only thing that isn't encrypted!)

encryption method: 32bit lcrng, same used for Pokemon encryption, xor (result >> 16).

The internal structure should be pretty easy to figure out if you just compare it to PokeStock's display. Something like u16 Species, u16 Move.

A species' level is static, determined by a table stored in the ROM (NARC file) afaik.

The one save file I checked had it at 0x22A00, must have been B2W2 (not BW).

Link to post
Share on other sites

Many, many thanks kaphotics, that was really useful information. With that information editing forest contents should be easy, it is probably not that complicated to beggin with since I think it holds up to 80 pokemon, so 26 bytes of data for each entry.

I guess I'll make a full editor, but not now, I want to finish other things now and the most relevan event pokemon are already preserved.

Link to post
Share on other sites

OK, I was about to re-invent the wheel. Pokestock can do everything, and I've found a link with all dream event pokemon, including arceus.

It can do many more things. I already had decrypted the forest file, but there's really no need now.

I don't know why dream pokemon contribution uses .pkm files if it is way better to use pokecgear and import the phl files it uses (it can import/export a forest area).

I'll re-do all dream pokemon in phl files and make a thread in the contribution forum for preservation.

It would seem my work was pointless but well, I'm glad this led me to know about pockestock and I also used the code for this for the genVI pokemon link injection tool, so my work wasn't wasted at all.

ps: I'm still curious about how they fit pokedex number, gender and move in 4 bytes, I guess gender is some bit in the pokedex number but well.

Link to post
Share on other sites

Wow, really? I didn't knew PokéStock was able to do this!

But I don't think your work was useless after all, many people don't like the GUI of this tool and I think it wouldn't be bad to have another one... also to have the C-Gear Skins, the Pokédex Skins, the Pokémon Musical and the Pokémon World Tournament DLC injection + the Dream World Pokémon in an "All-In-One Tool". And some other small features to edit data like the medals for example. Since Nintendo Wi-Fi went down, some of them can't be unlocked without manipulation, so I would count them as a lost feature as well. If the whole work to craft a new tool would be really worth it is the question. :biggrin:

Link to post
Share on other sites
ps: I'm still curious about how they fit pokedex number, gender and move in 4 bytes, I guess gender is some bit in the pokedex number but well.

From what I've seen they are using bits to store the data in the 32 bit value little endian.

Both Pokemon and move index would never need more then 10 bits in 5th generation.

Electrike (0x135 -> 0000 0001 0011 0101)

Female (0 -> male, 1 -> female)

Ice Fang (0x1A7 -> 0000 0001 1010 0111)

In the save:

00 2D 39 35 -> 0000 0000 0010 1101 0011 1001 0011 0101

Edited by BlackShark
Link to post
Share on other sites

@BlackShark yes, I reached that conclusion too. I don't think it is worth to keep working on this; importing the whole forest is something PockeStock can't do and is in some way more convenient, but aside from that, everything can be done there and the existing translation is enough.

Wow, really? I didn't knew PokéStock was able to do this!

But I don't think your work was useless after all, many people don't like the GUI of this tool and I think it wouldn't be bad to have another one... also to have the C-Gear Skins, the Pokédex Skins, the Pokémon Musical and the Pokémon World Tournament DLC injection + the Dream World Pokémon in an "All-In-One Tool". And some other small features to edit data like the medals for example. Since Nintendo Wi-Fi went down, some of them can't be unlocked without manipulation, so I would count them as a lost feature as well. If the whole work to craft a new tool would be really worth it is the question. :biggrin:

If all that is available in pockestock, it would be better to work on a transaltion rather than researching the data again and recoding the tool.

Please let me know if there's some lost content not obtainable trough pokestock.

Here's a link I found with supposedly latest version and translations: https://www.dropbox.com/s/c15sz90im499fns/PokeStock2_ver3_7.rar?dl=0

Link to post
Share on other sites

Nice, There is basically everything I wanted, it even can edit the Black & White LV which is pretty cool. The only thing that's missing is a Medal Editor which I would really appreciate because now without the Nintendo Wi-Fi service I can't complete the Medal Rally to achieve the Black & White Trainer Card in my Japanese B&W2 Versions anymore. :(

Edit:

I found this code:

SELECTでメダル全開(ブラック2:DS-PAR)
94000130 FFFB0000
D5000000 000CC30C
C0000000 000000FE
D6000000 0222A284
D2000000 00000000
※獲得した日付は全て2012年6月24日になります

SELECTでメダル全開(ホワイト2:DS-PAR)
94000130 FFFB0000
D5000000 000CC30C
C0000000 000000FE
D6000000 0222A2A4
D2000000 00000000

http://kohada.2ch.net/test/read.cgi/gameurawaza/1339639476/341

Haven't tried it yet, but I have read that the date these medals are unlocked would be all set to June 24th 2012.

Now I just need to find out how to modify the date and how I can unlock only those which I don't have yet ect...

Since I didn't wanted to cheat all of them, just the ones I cannot unlock without Online functionalities. :rolleyes:

Would be cool if there was another way tho', I would like to get the medals from Mr. Medal himself.

Edited by ajxpkm
Link to post
Share on other sites

Nice finding with the medals. Are you sure there's no way in any of pokéstock tools to edit the medals? Maybe it is untranslated stuff.

Anyway, I don't know anything about dlc or online content for gens prior to VI since I stopped playing at III and played them last year. If you provide me a savegame before and after using the cheat code, with information about those medals, what they are for and how to see the medal collection in-game I'll try to look where are they stored. They are probably bitflags, so an editor could be possible (I would need the medal names and such though).

EDIT: I was checking bulbapedia, how many hint medals are there? Is hint medal a medal or an object?

eDIT 2: I've looked a little in the forums: http://projectpokemon.org/forums/showthread.php?24541-B2-W2-AR-Codes&p=164781&viewfull=1#post164781

EDIT 3: I've looked at the pockestock thread, seems like medal editing didn't made it into pockestock, but maybe it's just me not knowing japanesse?

EDIT 4: Medal data location is already known:

25300 25797 2579A 25F88 Medal data

I would just need to see how they are stored, probably something like flag and date... but I think using kaphotics AR code is better since it seems to make the game put all the data for the medals, unless if manually editing the medal data triggers the same in-game events.

Edited by suloku
Link to post
Share on other sites

Awesome find! The code from Kaphotics looks very interesting! Should give that a try.

No, I think there is not such a functionality in the japanese tools, at least I saw nothing related to medals.

I also found more codes:

http://yukamama8808.blog137.fc2.com/blog-entry-3404.html

There's a modifier, I dunno how it works tho' and can't test it right now.

■SELECTでメダル追加
94000130 FFFB0000
0222Axxx 0004BB0C
xxx=メダルリスト参照

Here's the list of all medals in decimal and hex:

DS『ポケットモンスター ブラック2/ホワイト2』メダルリスト



B→ブラック2 W→ホワイト2

№  メダル名         B W
|001|はじめのいっぽ|・・・・・・284 2A4
|002|ゴールインプライズ|・・・・288 2A8
|003|ルーキーメダリスト|・・・・28C 2AC
|004|エリートメダリスト|・・・・290 2B0
|005|マスターメダリスト|・・・・294 2B4
|006|レジェンドメダリスト|・・・298 2B8
|007|キングオブメダリスト|・・・29C 2BC
|008|ライトウォーカー|・・・・・2A0 2C0
|009|ミドルウォーカー|・・・・・2A4 2C4
|010|ヘビーウォーカー|・・・・・2A8 2C8
|011|めいよのあしあと|・・・・・2AC 2CC
|012|ちまちまレポーター|・・・・2B0 2D0
|013|せかせかレポーター|・・・・2B4 2D4
|014|すらすらレポーター|・・・・2B8 2D8
|015|きせきのペンさき|・・・・・2BC 2DC
|016|ポケセンファン|・・・・・・2C0 2E0
|017|かんばんにゅうもん|・・・・2C4 2E4
|018|かんばんめいじん|・・・・・2C8 2E8
|019|ラクガキせんりがん|・・・・2CC 2EC
|020|ビギナーツーリング|・・・・2D0 2F0
|021|イージーツーリング|・・・・2D4 2F4
|022|ハードツーリング|・・・・・2D8 2F8
|023|はしるでんせつ|・・・・・・2DC 2FC
|024|ボロのつりびと|・・・・・・2E0 300
|025|いいつりびと|・・・・・・・2E4 304
|026|すごいつりびと|・・・・・・2E8 308
|027|いれぐいフィッシャー|・・・2EC 30C
|028|ノーマルコレクター|・・・・2F0 310
|029|ほのおコレクター|・・・・・2F4 314
|030|みずコレクター|・・・・・・2F8 318
|031|でんきコレクター|・・・・・2FC 31C
|032|くさコレクター|・・・・・・300 320
|033|こおりコレクター|・・・・・304 324
|034|かくとうコレクター|・・・・308 328
|035|どくコレクター|・・・・・・30C 32C
|036|じめんコレクター|・・・・・310 330
|037|ひこうコレクター|・・・・・314 334
|038|エスパーコレクター|・・・・318 338
|039|むしコレクター|・・・・・・31C 33C
|040|いわコレクター|・・・・・・320 340
|041|ゴーストコレクター|・・・・324 344
|042|ドラゴンコレクター|・・・・328 348
|043|あくコレクター|・・・・・・32C 34C
|044|はがねコレクター|・・・・・330 350
|045|イッシュコレクター|・・・・334 354
|046|ぜんこくコレクター|・・・・338 358
|047|はこいり30|・・・・・・・・33C 35C
|048|はこいり120|・・・・・・・ 340 360
|049|はこいり360|・・・・・・・ 344 364
|050|ボックスマックス|・・・・・348 368
|051|キャプチャーキング|・・・・34C 36C
|052|ベンダーマスター|・・・・・350 370
|053|ワンモアドリンク|・・・・・354 374
|054|エボルブホープ|・・・・・・358 378
|055|エボルブテクニシャン|・・・35C 37C
|056|エボルブエキスパート|・・・360 380
|057|あるくしんかろん|・・・・・364 384
|058|エースパイロット|・・・・・368 388
|059|ハッスルマッスル|・・・・・36C 38C
|060|ガサいれのたつじん|・・・・370 390
|061|おとしものシーカー|・・・・374 394
|062|おとしものハンター|・・・・378 398
|063|おとしものコレクター|・・・37C 39C
|064|ダウジングキング|・・・・・380 3A0
|065|ネーミングキング|・・・・・384 3A4
|066|テレビっこ|・・・・・・・・388 3A8
|067|じょうれんカスタマー|・・・38C 3AC
|068|ぜいたくエントリー|・・・・390 3B0
|069|ぜいたくグレート|・・・・・394 3B4
|070|ぜいたくスペシャル|・・・・398 3B8
|071|スーパーミリオネア|・・・・39C 3BC
|072|かいものじょうず|・・・・・3A0 3C0
|073|スイートホーム|・・・・・・3A4 3C4
|074|すれちがいファースト|・・・3A8 3C8
|075|すれちがい30|・・・・・・3AC 3CC
|076|すれちがい100|・・・・・3B0 3D0
|077|ラッシュアワー|・・・・・・3B4 3D4
|078|デルパワー+|・・・・・・・3B8 3D8
|079|デルパワー++|・・・・・・3BC 3DC
|080|デルパワー+++|・・・・・3C0 3E0
|081|デルパワーMAX|・・・・・3C4 3E4
|082|うとうとキャプチャー|・・・3C8 3E8
|083|すやすやキャプチャー|・・・3CC 3EC
|084|ぐっすりキャプチャー|・・・3D0 3F0
|085|ゆめであいましょう|・・・・3D4 3F4
|086|かくしあなのたつじん|・・・3D8 3F8
|087|たまごビギナー|・・・・・・3DC 3FC
|088|タマゴブリーダー|・・・・・3E0 400
|089|タマゴアスリート|・・・・・3E4 404
|090|せいめいのしんぴ|・・・・・3E8 408
|091|そだてやマニア|・・・・・・3EC 40C
|092|たいこのロマンチスト|・・・3F0 410
|093|ピュア&イノセント|・・・・3F4 414
|094|ラッキーカラー|・・・・・・3F8 418
|095|ポケルスハンター|・・・・・3FC 41C
|096|ヒウンばんちょう|・・・・・400 420
|097|てつどうマニア|・・・・・・404 424
|098|ホエルオーウォッチ|・・・・408 428
|099|かおだしメモリアル|・・・・40C 42C
|100|じゅうきマニア|・・・・・・410 430
|101|いせきマイスター|・・・・・414 434
|102|ダイヤモンドダスト|・・・・418 438
|103|ブリッジマニア|・・・・・・41C 43C
|104|イッシュいっしゅう|・・・・420 440
|105|アドベンチャーキング|・・・424 444
|106|バトルもんかせい|・・・・・428 448
|107|バトルしはんだい|・・・・・42C 44C
|108|バトルししょう|・・・・・・430 450
|109|れきせんのもさ|・・・・・・434 454
|110|たいせんフレッシャー|・・・438 458
|111|たいせんパイオニア|・・・・43C 45C
|112|たいせんエキスパート|・・・440 460
|113|ボーントゥバトル|・・・・・444 464
|114|コイキングアワード|・・・・448 468
|115|ネバーギブアップ|・・・・・44C 46C
|116|からぶりめいじん|・・・・・450 470
|117|ばつぐんのたつじん|・・・・454 474
|118|バトルニュートラル|・・・・458 478
|119|バトルアクセラレータ|・・・45C 47C
|120|バトルトップギア|・・・・・460 480
|121|ぼうそうとっきゅう|・・・・464 484
|122|シングルエクスプレス|・・・468 488
|123|ダブルエクスプレス|・・・・46C 48C
|124|マルチエクスプレス|・・・・470 490
|125|けんていスターター|・・・・474 494
|126|けんていファン|・・・・・・478 498
|127|けんていマニア|・・・・・・47C 49C
|128|トライアルマスター|・・・・480 4A0
|129|EXPミリオネア|・・・・・・ 484 4A4
|130|BPミリオネア|・・・・・・488 4A8
|131|たんさくハンター|・・・・・48C 4AC
|132|バトルリピーター|・・・・・490 4B0
|133|サンセットクルーズ|・・・・494 4B4
|134|ホドモエさいきょう|・・・・498 4B8
|135|かりものキング|・・・・・・49C 4BC
|136|まぜものキング|・・・・・・4A0 4C0
|137|イッシュさいきょう|・・・・4A4 4C4
|138|カントーさいきょう|・・・・4A8 4C8
|139|ジョウトさいきょう|・・・・4AC 4CC
|140|ホウエンさいきょう|・・・・4B0 4D0
|141|シンオウさいきょう|・・・・4B4 4D4
|142|リーダーさいきょう|・・・・4B8 4D8
|143|せかいさいきょう|・・・・・4BC 4DC
|144|かりものエンペラー|・・・・4C0 4E0
|145|まぜものエンペラー|・・・・4C4 4E4
|146|オールタイプキング|・・・・4C8 4E8
|147|まてんろうハーフ|・・・・・4CC 4EC
|148|まてんろうマスター|・・・・4D0 4F0
|149|じゅどうハーフ|・・・・・・4D4 4F4
|150|じゅどうマスター|・・・・・4D8 4F8
|151|20にんぎり|・・・・・・・・4DC 4FC
|152|50にんぎり|・・・・・・・・4E0 500
|153|100にんぎり|・・・・・・・ 4E4 504
|154|サウザンドウィナー|・・・・4E8 508
|155|ぜんぬきイージー|・・・・・4EC 50C
|156|ぜんぬきマスター|・・・・・4F0 510
|157|ねらいうちイージー|・・・・4F4 514
|158|ねらいうちマスター|・・・・4F8 518
|159|そっこうイージー|・・・・・4FC 51C
|160|そっこうマスター|・・・・・500 520
|161|バトルジェネラル|・・・・・504 524
|162|はじめてトレード|・・・・・508 528
|163|ちょこちょこトレード|・・・50C 52C
|164|がっちりトレード|・・・・・510 530
|165|わらしべちょうじゃ|・・・・514 534
|166|リバーストレーダー|・・・・518 538
|167|ディアフレンド|・・・・・・51C 53C
|168|ステージのもうしご|・・・・520 540
|169|かけだしスター|・・・・・・524 544
|170|ちゅうけんスター|・・・・・528 548
|171|ベテランスター|・・・・・・52C 54C
|172|ミュージカルプリマ|・・・・530 550
|173|オシャレばんちょう|・・・・534 554
|174|10にんのでまち|・・・・・538 558
|175|ともだちエントリー|・・・・53C 55C
|176|ともだちブロード|・・・・・540 560
|177|ともだちワイド|・・・・・・544 564
|178|ワールドコネクション|・・・548 568
|179|ぐるぐるマイスター|・・・・54C 56C
|180|フィーリングマスター|・・・550 570
|181|ハートのエース|・・・・・・554 574
|182|デートのたつじん|・・・・・558 578
|183|あんないルーキー|・・・・・55C 57C
|184|あんないエリート|・・・・・560 580
|185|あんないベテラン|・・・・・564 584
|186|キングオブガイド|・・・・・568 588
|187|てんぽメイカー|・・・・・・56C 58C
|188|てんぽビルダー|・・・・・・570 590
|189|てんぽクリエイター|・・・・574 594
|190|キングオブショップ|・・・・578 598
|191|おみやげリーズナブル|・・・57C 59C
|192|おみやげリッチ|・・・・・・580 5A0
|193|おみやげデラックス|・・・・584 5A4
|194|キングオブスーベニア|・・・588 5A8
|195|ゆめのマイアベニュー|・・・58C 5AC
|196|ミニゲームずき|・・・・・・590 5B0
|197|ミニゲームマニア|・・・・・594 5B4
|198|ミニゲームめいじん|・・・・598 5B8
|199|ベストミニゲーマー|・・・・59C 5BC
|200|ふうせんルーキー|・・・・・5A0 5C0
|201|ふうせんテクニシャン|・・・5A4 5C4
|202|ふうせんエキスパート|・・・5A8 5C8
|203|キングオブバルーン|・・・・5AC 5CC
|204|ヒーローのしんじん|・・・・5B0 5D0
|205|ヒーローのはながた|・・・・5B4 5D4
|206|ポリスえいがマスター|・・・5B8 5D8
|207|UFOえいがマスター|・・・・ 5BC 5DC
|208|かいじゅうマイスター|・・・5C0 5E0
|209|SFえいがマスター|・・・・・5C4 5E4
|210|ロマンスのはながた|・・・・5C8 5E8
|211|ファンタジーマスター|・・・5CC 5EC
|212|コメディのはながた|・・・・5D0 5F0
|213|オカルトのはながた|・・・・5D4 5F4
|214|ロボえいがマイスター|・・・5D8 5F8
|215|オバケえいがマイスター|・・5DC 5FC
|216|ヒーローだいだんえん|・・・5E0 600
|217|うれっこえいがスター|・・・5E4 604
|218|めいさくえいがスター|・・・5E8 608
|219|がっぽりムービー|・・・・・5EC 60C
|220|はじめてのカルト|・・・・・5F0 610
|221|カルトえいがスター|・・・・5F4 614
|222|10にんフェス|・・・・・・・5F8 618
|223|30にんフェス|・・・・・・・5FC 61C
|224|てんとりハンドレッド|・・・600 620
|225|てんとりサウザンド|・・・・604 624
|226|かいさいLV1|・・・・・・・ 608 628
|227|かいさいLV2|・・・・・・・ 60C 62C
|228|さんかLV1|・・・・・・・・ 610 630
|229|さんかLV2|・・・・・・・・ 614 634
|230|たっせいLV1|・・・・・・・ 618 638
|231|たっせいLV2|・・・・・・・ 61C 63C
|232|フェスコンプリート|・・・・620 640
|233|おやすみなさい|・・・・・・624 644
|234|おもいでのはじまり|・・・・628 648
|235|すべてのおもいで|・・・・・62C 64C
|236|エンタメマイスター|・・・・630 650
|237|ノーマルチャンプ|・・・・・634 654
|238|ほのおチャンプ|・・・・・・638 658
|239|みずチャンプ|・・・・・・・63C 65C
|240|でんきチャンプ|・・・・・・640 660
|241|くさチャンプ|・・・・・・・644 664
|242|こおりチャンプ|・・・・・・648 668
|243|かくとうチャンプ|・・・・・64C 66C
|244|どくチャンプ|・・・・・・・650 670
|245|じめんチャンプ|・・・・・・654 674
|246|ひこうチャンプ|・・・・・・658 678
|247|エスパーチャンプ|・・・・・65C 67C
|248|むしチャンプ|・・・・・・・660 680
|249|いわチャンプ|・・・・・・・664 684
|250|ゴーストチャンプ|・・・・・668 688
|251|ドラゴンチャンプ|・・・・・66C 68C
|252|あくチャンプ|・・・・・・・670 690
|253|はがねチャンプ|・・・・・・674 694
|254|ワンアンドオンリー|・・・・678 698
|255|チャレンジジーニアス|・・・67C 69C

http://yukamama8808.blog137.fc2.com/blog-entry-3487.html

Link to post
Share on other sites

Thank you, let's see if I get the time to get a propper medal editor, all the info has gathered.

I'm worried about event triggering when adding the medals to the save, but it'll probably work out just like kaphotics AR code...

ps: how come memory offsets for B2 and W2 are different? Shouldn't they be almost exactly identical?

Link to post
Share on other sites

You mean the index hex numbers of the medals? (+0x20) Yeah, I'm a bit confused about this, too.

Anyway, no need to hurry, we can gather more informations about the flags until we start something.

I just think it would be an really nice addition to the tools, we can also make a better GUI for them as we said before.

I will work on it as well if I have time and I can help with translating since I can understand japanese a little bit.

Edited by ajxpkm
Link to post
Share on other sites
  • 1 month later...
https://github.com/suloku/BW_efd_tool

Original post:

Yesterday I asked a friend if he had collected the Dream Arceus on pokémon black & white. Turns out he did not just collect it, but he actually never picked up any of the dream pokémon, including arceus.

I tested his save and confirmed that when a dream pokemon is captured in entralink forest, that's when it is generated. So I though: all the forest data must be somewhere in the savefile, it would be great if I could just copy it over my save and get all those dream pokémon.

I've been all afternoon documenting the missing sections of pokémon B&W savefile, then I compared 3 savegames and started to transfer the sections that were changed after catching arceus to my own savefile (which actually has no entralink forest data since I never even used entralink).

http://projectpokemon.org/wiki/Pok%C3%A9mon_BW_Save_File_Structure#Main_Save_File_.26_Backup

Not only has the section to be transfered, but checksum block needs to be updated too. I'll try to code a simple app to manage entralink forest data (inject-dump from savefile).

I think this is great, since this opens a whole new world for Dream pokemon contribution: we can just contribute the forest data itself, as if it were a wondercard with many pokemon.

ps: I haven't checked B&W2, and I don't know if entralink forest exists there, but nintendo probably kept the very same structure for compatibility, we would just need to find were it is stored.

This is just great! Oh by the way, does pokemon generated from Entralink Forest tool (or PokeCGear alike) only have stationary overworld sprites? Pokemons that I injected from the data on DW Event Arceus thread have a moving overworld sprite such as Bayleef. While the ones that I manually injected from PokeCGear only have stationary sprites... I'm just wondering because I'm planning to make an Entree Forest farm with moving Pokemon Sprites...

Link to post
Share on other sites
This is just great! Oh by the way' date=' does pokemon generated from Entralink Forest tool (or PokeCGear alike) only have stationary overworld sprites? Pokemons that I injected from the data on DW Event Arceus thread have a moving overworld sprite such as Bayleef. While the ones that I manually injected from PokeCGear only have stationary sprites... I'm just wondering because I'm planning to make an Entree Forest farm with moving Pokemon Sprites...[/quote']

I have some Pokemon that I originally downloaded from the DW which are actually not moving.

A few weeks ago I did some research about the structure. This is what I found out so far. There are still 4 bits in the Pokemon structure where I currently have no clue.

I'm not sure if those unknown bits have something to do with the movement beavior but I have some doubts about that because I have seen Pokemon that have those bits set and were not moving.

General Structure
0x000   encrypted data
0x84C   initial encryption seed
0x850   update counter
0x852   checksum from 0x000 to 0x84F (CRC16-CCITT)

Decrypted Data Structure (0x000 - 0x84B)
20 Pokemon in each area from 1 - 8 as well as in the deepest area.
10 Pokemon in 9th area.
So they let you store a total of 530 Pokemon there!

0x000   Deepest Area
0x050   9th Area center
0x078   9th Area left
0x0A0   9th Area right
0x0C8   1st Area center
0x118   1st Area left
0x168   1st Area right
0x1B8   2nd Area center
0x208   2nd Area left
0x258   2nd Area right
0x2A8   3rd Area center
0x2F8   3rd Area left
0x348   3rd Area right
0x398   4th Area center
0x3E8   4th Area left
0x438   4th Area right
0x488   5th Area center
0x4D8   5th Area left
0x528   5th Area right
0x578   6th Area center
0x5C8   6th Area left
0x618   6th Area right
0x668   7th Area center
0x6B8   7th Area left
0x708   7th Area right
0x758   8th Area center
0x7A8   8th Area left
0x7F8   8th Area right
0x848   Unlock Area 9 (0x01 to unlock)
0x849   Unlock Areas 3 - 8 (0x00 - 0x06, any higher value will corrupt your forest!) (Area 1 & 2 and the deepest Area are unlocked by default -> 0x00)
0x84A   0x00
0x84B   0x00

Pokemon Structure (4 bytes)
Bits
00-10   Species
11-20   Special Move
21-22   Gender (0 -> male, 1 -> female, 2 -> genderless)
23-27   Form
28-31   Animation (only even numbers allowed, last bit makes Pokemon invisible)

Area 8 can't be unlocked or edited in PokeCGear. That area which is labeled as the 8th area is actually the 9th. Also you can't edit whatever the unknown bits are used for the animation.

Edited by BlackShark
Link to post
Share on other sites

Interesting, maybe those last bits are the shiny modifier? Or fateful encounter flag? Or maybe they are some kind of perfect IV markers?

Have you noted which pokemon are the ones with those bits set?

EDIT:

About stationary pokemon: I don't know about that, but what Entralink Forest Tool does is dump/inject the whole forest data from a black/white game. The included forest is a totally legit one, so if there are stationary pokemon, that's normal behavior.

Link to post
Share on other sites
Interesting, maybe those last bits are the shiny modifier? Or fateful encounter flag? Or maybe they are some kind of perfect IV markers?

Have you noted which pokemon are the ones with those bits set?

EDIT:

About stationary pokemon: I don't know about that, but what Entralink Forest Tool does is dump/inject the whole forest data from a black/white game. The included forest is a totally legit one, so if there are stationary pokemon, that's normal behavior.

I found out that PokeCGear has a hidden column in the table right after the moves column in which you can see the unknown bits.

But unfortunately I have still no idea about the meaning of them. In your efd file almost every Pokemon has them set.

This picture was taken from your file.

MYlTj8F.png

By the way I noticed your tool allows saves with .dsv extension but only files with 512kb are valid to use. DeSmuME files have a different size due to their 122 byte footer.

Also is there any chance you will add B2W2 support?

Link to post
Share on other sites
I found out that PokeCGear has a hidden column in the table right after the moves column in which you can see the unknown bits.

But unfortunately I have still no idea about the meaning of them. In your efd file almost every Pokemon has them set.

Oh yes, I actually noticed that too when I was looking into this, but totally forgot about it. I'll put it in my list to check what those bits do to a generated pokemon by obtaining that pokemon with those bits set and unset.

Maybe it really is some kind of animation?

By the way I noticed your tool allows saves with .dsv extension but only files with 512kb are valid to use. DeSmuME files have a different size due to their 122 byte footer.

Woops, seems like I forgot to add the footer, I use sav files and drastic (android emulator) accepts dsv files without the footer so I didn't notice.

EDIT: I wanted to code a dsv<->sav conversion tool too

So, those 4 bits can range from 0-15, but from the looks of it they seem like flags, since there's no odd number the last bit is not being used?

Also is there any chance you will add B2W2 support?

Haven't looked into it, but I wanted to. I don't recall if the forest data was exactly the same for BW2, but anyway first I should find a way to identify if the save file is from B/W or Black 2/White 2, since both savefiles are the same size.

If the forest structure is the same for bw2, it would be very easy to make it work with their saves.

EDIT: just looked at the save structures and I think that reading the bw1 checksum table and seeing if it has the correct checksum, then testing for the bw2 table and assume that if it is correct the save is from that game is safe enough. I guess checking ALL sections would be better though, since identifying a BW1 save as a BW2 save should be almost impossible.

Link to post
Share on other sites
Oh yes, I actually noticed that too when I was looking into this, but totally forgot about it. I'll put it in my list to check what those bits do to a generated pokemon by obtaining that pokemon with those bits set and unset.

Maybe it really is some kind of animation?

So, I'm sure now that those bits are responsible for the animation!

I have taken a look at your file again. In the first area Drifloon, Marill, Nidoran♀, Growlithe and Tentacool all have the bits set to 14 and they have the exact same animation!

Those Pokemon that I've seen with those bits set but not moving actually were moving (well just spinning around)! I thought moving meant they are walking. Those with the bits unset are just standing there and randomly looking to each side.

So, those 4 bits can range from 0-15, but from the looks of it they seem like flags, since there's no odd number the last bit is not being used?

As I've seen Pokemon became invisible if the last bit is set.

EDIT:

This is the result of changing the last bits.

0	randomly turning around
2	randomly walking
4	randomly walking
6	walking up/down
8	walking left/right
10	walking left/right and randomly looking up/down
12	turning around clockwise
14	turning around counterclockwise

Edited by BlackShark
Link to post
Share on other sites

Cool research, too bad we can't check if those bits were set randomly or were pre-assigned for each pokemon when downloaded from dream world. But well, if they are just animation, it doesn't have any major impact (I'm thinking about dream pokemon recreation trough entralink forest injection).

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