Welcome to the PokéCommunity!

Hi there! Thanks for visiting PokéCommunity. We’re a group of Pokémon fans dedicated to providing the best place on the Internet for discussing ideas and sharing fan-made content. Welcome! We’re glad you’re here.

In order to join our community we need you to create an account with us. Doing so will allow you to make posts, submit and view fan art and fan fiction, download fan-made games, and much more. It’s quick and easy; just click here and follow the instructions.

Research & DevelopmentGot a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!

Research & Development programs in this forum are subject to moderator approval before they are displayed.

I've been very fancinated by how 'more' improved the mapping engine really is in Pokémon Black/White. So far what I've noticed just by using the Walk Through Walls code... is the fact that the maps have their boundries. Could the whole mapping engine be based on designing the layout then inserting the movement area? What I've noticed during my research on a Pokémon Black ROM is the fact that every movement area consists of 32x32 blocks. It is quite different from Pokémon Diamond/Pearl/Platinum in how every map piece consisted of 24x24 blocks. Something that everyone would possibly like to see ways of knowing how to edit that mapping engine... then maybe one day if a map editor was made for Black/White, then we might see Ruby/Sapphire remakes, eh? So far as what I've noticed when using the walk through walls code... is that the movement permissions that require surf cannot be passed through, I guess the game prompts for the character to use surf in order for the wild Pokémon encounters? In Diamond/Pearl/Platinum/HeartGold/SoulSilver, the wild Pokémon encounters on water were activated via the texture, not the movement permission. And there's layouts of maps that extend out into areas that have no movement area (in other words is an unpassible area). Nobody has managed to go into a Mystery Zone as of yet (not even I can), however I've found the Mystery Zone music for Pokémon Black/White, it sounds exactly the same as Icirrus City. The name "Mystery Zone" is found while using PPTEXT. And there's still many things we yet have to confirm about the mapping engine in Pokémon Black/White.

Remember... "nothing is impossible".

There are things that I don't even know about either... such as the locations of the 3D Model data and the map layout/land data. And prahaps also finding out how the movement of curving around in places such as the Skyarrow Bridge, Castelia City, Village Bridge. I aren't even sure if they are movement permissions. It surely is something we need to research. First off... knowing the location of the land data/map layouts in Pokémon Black/White. Once we learn about them... then we'll have fun messing around with the ROM and changing many portions of it and learning even more stuff about the mapping engine. This will be a brillient step in Pokémon Black/White hacking. After all... research is something that is shared across everyone on the world wide web.

__________________

[Platinum Lucario's Signature]

Researching the NDS ROMs...

sure does feel like a brand new adventure!

I'm gradually learning to use 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!

(That's we already know) - Models have pre-integrated doors. Just imagine how it's more easier for me for include all possibilities.
(That's we already know) - Models have incorporated a rotation value (see my thread and my first research)

- Models coordinates are same. Just Y values are inversed (i think).
- Textures have the same system ; animation is already in the texture, and walk animation from permissions movements.
- Same as rarely models in DP, a few textures can now use sub-textures in only one texture, this is a problem for common modifications.
- 3D Textures removing is always easier
- 3D Textures moving is always boring
- 2D Textures extending is always harder

- Castelia and bridges are after all Maps of the game (i think, i can't go so far).
- Castelia is a normal Map with a giant texture background. The same system is used in Violet City arena and others (i think).

It also seems that he imported 4th gen maps into BW, so we know it's capable of rendering them. I'd say our next step is to find out all the coordinates of objects on all the maps and make a psuedo-editor out of that. Then, we figure out the more challenging things, and incorperate that.

And, to make it as complete as possible, it must be able to remove and add models on the map, rather than just move them around. This goes for both Gen. 4 and 5.

Edit: I have modified it to the specifications. I can't get textures working, but I got models to display. Attached is a modified PG4Map.

Edit 2: I found the .btx files for the title screen. It's located at root/a/0/4/9

Edit 3: I found some more .btx files. I found 4 similar maps of the 2nd area of Nimbasa City. They're located at a/1/6/6 and the .btx files are called 0_063.bmd, 0_065.bmd, 0_067.bmd and 0_069.bmd.

Edit 4: I have made a slightly better version that has less Engrish and has some instructions for usage.

Actually, I kinda like that dial system. WASD controls get me really confused. The only fix I really need is to get textures to render properly. When that's out of the way, I'll make a release for you all and get to work on the next part: Finishing the map selector drop-down menu.

Edit: I'm going and documenting all the maps.
Edit 2: I've put a name to 198 of the map files, and I also found Village Bridge. Give me a few days to finish naming maps and I'll release a new build with a map name list.
Edit 3: I've gotten 437 maps done now. Some of them are incorrect, though, I think. I also think that movement permissions depend on the filetype. .ng files are ones that rotate, and are incapable of WTW. .bw and others are capable.
Edit 4: I'm almost done. I have a handful of maps left, and I have a little surprise for you all. :D

There are things that I don't even know about either... such as the locations of the 3D Model data and the map layout/land data. And prahaps also finding out how the movement of curving around in places such as the Skyarrow Bridge, Castelia City, Village Bridge. I aren't even sure if they are movement permissions. It surely is something we need to research. First off... knowing the location of the land data/map layouts in Pokémon Black/White. Once we learn about them... then we'll have fun messing around with the ROM and changing many portions of it and learning even more stuff about the mapping engine. This will be a brillient step in Pokémon Black/White hacking. After all... research is something that is shared across everyone on the world wide web.

Haha. You sound like me. I totally agree with you. Creating a BW map editor would be revolutionary. Some day we'll be editing things like crazy with some DPPtHGSSBW map editor. And then we'll wonder why we didn't figure it out sooner! :D

__________________

The Disciple
The Poet
The Leader
The Musician
The TranscendentalistThe AuthorThe Philosopher
The Architect
The Psychologist
The Artist

Haha. You sound like me. I totally agree with you. Creating a BW map editor would be revolutionary. Some day we'll be editing things like crazy with some DPPtHGSSBW map editor. And then we'll wonder why we didn't figure it out sooner! :D

Okay. I've been analysing the map files and I found that some of the unloadable map files (Identified by "Blank Map?") cannot load because the program does not look at the same place as all the other map files are at. In the normal files, it looks at 0x14, when in these "Blank Maps", the BMD0 offset is at 0x10. I need to make it go either at 0x14 or 0x10. I'll modify my code and get the names of the maps with a BMD0 offset of 0x10 and I'll add support for them later.

Well, Full Metal helped me a few days ago and I have a few new features in the Viewer! Check the readme for more information on the release! I removed the maps lists because I need to implement a version checker with that as well.

Hm... it appears the Pokémon Black/White mapping engine uses triangular polygons as well as square ones. In generation 4, it seemed like it could only use square polygons. During my research I zeroed out some of the values.

And so I started off with turning the bytes from 0x2A30 - 0x316C into "00", which then resulted in this:

Spoiler:

But then after I continued to "00" the bytes from 0x316C - 0x331E, this was the result:

Spoiler:

When we discover something new, we always research further into it.

__________________

[Platinum Lucario's Signature]

Researching the NDS ROMs...

sure does feel like a brand new adventure!

I'm gradually learning to use 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!

The PokéCommunity

Meta

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, or The Pokémon Company International. We just love Pokémon.