Jump to content

Pokemon Super Mystery Dungeon And PMD:GTI Research And Utilities


Recommended Posts

Anyone here have a fixed version of the bin to bch rename application for the pokemon_graphic.bin? I've been working on a model ripping project on PSMD, but the binbchren I've downloaded from here only renames 1/10 of the files and the rest of the file names are still in integers.

EDIT: Seems like the download has been removed for some reason.

Edited by Dax5578
Link to comment
Share on other sites

  • 3 months later...

I don't know if anyone's found this offset yet, but I have.

Temporary Statuses:
00A13134 - Attack
00A13138 - Defense
00A1313C - Sp. Attack
00A13140 - Sp. Defense
00A13144 - Accuracy
00A13148 - Evasion

Accuracy, I should note, seems to be differently numbered from its' 5 cousins. It's like, some numbers higher in their initial value. I'm thinking of looking into status effects.

Link to comment
Share on other sites

  • 4 weeks later...
  • 2 months later...
  • 6 months later...

Recently I have been trying to get the debug menu to be usable in-game, and I was wondering, where would I start with this? My idea is to replace a menu that isn't used much or has a shortcut to it that doesn't require the actual icon. So far I have managed to get some results. some being just a blank menu with buttons that crash the game, so if anyone would know what to do now, please let me know.

Link to comment
Share on other sites

  • 8 months later...

I made a Python script to convert between American and European rescue passwords for Pokémon Super Mystery Dungeon. Give it a password and it will give you the equivalent password for the other region.
https://gist.github.com/Blue587/5e0cc35621d0863241bcd974fea2ac3b

The only difference between the two regions is that some of the characters are rearranged. The codes were easy to compare since the save files for the two versions are the same. This doesn't work with the Japanese version, where an American/European save file results corrupted.

QR codes contain a section of data that is very different between the two regions, and that I haven't analyzed yet. They also contain another section of data that is very similar to the passwords.

I also made a list of all the items in PSMD.
https://blue587.github.io/PMD/Super/items.html

Edited by Celeste
changed a link
Link to comment
Share on other sites

  • 2 months later...
On 11/13/2016 at 4:34 PM, Guest TyVogue64 said:

Welp, I know this is a bit of a bump, but I've managed to port both the Player and Partner modifier codes to the European version of the game, and I've been doing some testing with it.

[ATTACH=CONFIG]13868[/ATTACH][ATTACH=CONFIG]13869[/ATTACH][ATTACH=CONFIG]13870[/ATTACH][ATTACH=CONFIG]13871[/ATTACH]

So, Void Shadows works with absolutely no problems, even though it has no type. The Move Relearner works no problem, even letting you learn their exclusive moves. The "end of day" cutscenes also work. It uses the proper running animation in towns. Even Dark Matter works, however, you won't be able to move outside of towns. Another problem with these two is that they keep the Ability of the Pokémon they were beforehand.

All "real" Pokémon work fine though, including big ones like Dialga. Mega evos too. As seen with Castform above, if any "emotion" portraits exist, they will be used, but if they do not, the game will display a box with a blank blue background instead. Their type and ability should adjust upon leaving the dungeon. The correct moves can be relearnt with Hawlucha.

WARNING: ALWAYS BACK UP YOUR SAVE WHEN MESSING WITH CODES. Keep in mind that I have not fully played through the game, I used someone else's save to test. Apparently, there's a point in the game where you and your partner evolve temperariy. I do not know what happens there with a non-legit starter, especially with one that has no evolutions, as I haven't tested it. Also note that this is for the European version of the game.

The Code: 10A17C2C 00000XXX

XXX = The PKMN's ID

Pokémon ID no.s can be found here: http://psmd.skyeditor.org/Pokemon

Usage: Use NTR Client or the plugin below. Apparently the latest version of Citra has Gateshark cheat support so it should work with that too. If using the plugin, put it in SD:/ plugin/ 0004000000174400. Launch BootNTR and press START + SELECT to bring up the cheat menu. Make sure your starter is no. 1 in the team and your partner is no. 2, then go to a dungeon, enable the code, and use a staircase. It should work. Remember to then turn the code off. Enjoy.

Credits to storm75x over on Fort 42 for the American version of the codes.

Plugin download: https://drive.google.com/drive/folders/0B1-sBoZAiZiGSXZIRUVVRUQxVFk?usp=sharing

Let me know if you want me to make an American version of plugin, it could be easily done.

Not working for me... NTR 3.2 3.3 or 3.6 (luma)

I launch PSMD EUR I see the flash green screen, I press select I see the menu codes it's ok..Now I activate one (Be Mega Banette) in dungeon... taking staircase but my Pikachu (n°1) stay a Pikachu...

I use this plugin file : https://drive.google.com/drive/folders/0B1-sBoZAiZiGSXZIRUVVRUQxVFk?usp=sharing

Help please :(

Link to comment
Share on other sites

On 7/6/2019 at 6:35 PM, Dranzer2008 said:

Not working for me... NTR 3.2 3.3 or 3.6 (luma)

I launch PSMD EUR I see the flash green screen, I press select I see the menu codes it's ok..Now I activate one (Be Mega Banette) in dungeon... taking staircase but my Pikachu (n°1) stay a Pikachu...

I use this plugin file : https://drive.google.com/drive/folders/0B1-sBoZAiZiGSXZIRUVVRUQxVFk?usp=sharing

Help please :(

NTR is a bit old, follow this

or this https://pastebin.com/cpnzZcyv if you want to use the same method you were going to use with NTR.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...
  • 5 months later...

Some of this might already be documented, but I'm posting my notes for Gates to Infinity.

pokemon/pokemon_data_info.bin

While the structure isn't exactly the same, this file still exists in Super and even Rescue Team DX (should we post about that game here? the native_data folder is very similar to the RomFS of the 3DS games). Because of the similarities, I was able to make a list of all the Pokémon in RTDX.

dungeon/dungeon_data_info.bin

I don't think this needs its own page, so I'll just put it here:

script/script_shop_ingot_data.bin

after the SIR0 header, there are two pointers to what immediately follows, which is a list of pointers to the start of each of the entries described below
starting from 0x78 there are blocks of 0xC bytes for each item avaialable at Glorious Gold
0x0 - item ID (doesn't affect which item appears in the shop)
0x4 - price in Gold Bars

pokemon/waza_data_info.bin

IDs of valid moves (the game has tons of unused moves that don't work or invalid moves that crash the game)

List of moves (I replaced the unused kanji symobl with $, empty lines are entries that don't have a name)

List of valid moves with details: https://mysterydungeonwiki.com/wiki/Gates:Moves#List_of_Moves

Edited by Blue587
Link to comment
Share on other sites

  • 1 year later...

GtI
Pokémon data randomizer: https://github.com/Blue587/gti_pokemon_data_randomizer
unused content: https://mysterydungeonwiki.com/wiki/Gates:Removed_and_Unused_content

pokemon_data_info (updated)
dungeon_balance (thanks to StrikerX3 for the help with this!)
dungeon_data_info (updated)
dungeon_map_data_info
floor_jump (Mysteriosity warps to other dungeons)
sideway (detour notifications) https://pastebin.com/YRzcHxUD
List of known accessible detours: https://mysterydungeonwiki.com/wiki/Gates:Detours
The Telluric Path (Illusory) detour with Scrafty was, as far as I know, not documented anywhere. It's still not fully documented (floor_jump needs more research to know exactly which floors are accessed from where)
There is at least one detour that hasn't been reached in-game yet. It should be in the illusory version of Tyrian Maze.
Illusory dungeons are accessed from Mysteriosity warps. The game presents them as separate dungeons, but they're actually part of a few big (99 floors each) dungeons. The game doesn't display the floor number in those dungeons.

Not much, but worth sharing anyway:
fixed_pokemon
gridless floors
script_paradise_data
moves (updated)

RTDX
pokemon_data_info (updated)
pokemon_evolution

General
Text dump tool: https://github.com/Blue587/md_message
Supports Shiren 4, 5, GtI, EMD, Super, EMD2 (probably) and RTDX.

Edited by Blue587
Link to comment
Share on other sites

  • 1 year later...

It's about finally time to make the latest post on this here thread a recent one. This thread has helped make it possible for me to mod GTI and PSMD more than I ever anticipated. I suppose it's about time to give back and help expand the documentation of these games even more.

This all started will me desperately searching for the move data in PSMD, confused as to why waza_data_info.bin was so different from the same file in Gates to Infinity. (Turns out that was just for move IDs) I decided to finally study this thread more carefully (I've been lurking around here for months) and I came across Andibad's observations and it was actually act_data_info.bin that I was looking for. Anyways, recently I've been looking through more files, still using the information from here to understand them. At this point I have several notes on various files of interest. And since various links here are dead, I'll be giving up-to-date observations that will be refreshed as I gather new info. And although this data may be obvious to some, you might have your own notes, posted here or otherwise, I'll still leave them here for any newcomers, and perhaps we can compare notes.

For my first addition, based off Blue587's txt files, are notes for the pokemon_data_info.bin for PSMD. Pokemon Data Notes.txt

The only significant file I cannot understand even when using Blue587's notes is dungeon_balance.bin. I've made two whole attempts to understand it but I just can't.

  • Like 1
Link to comment
Share on other sites

  • 4 months later...

I intended to come back sooner to release more notes, but here I am before 6 months later at least! I have many more notes to share for Pokemon Super Mystery Dungeon, some of which were made easier to make due to (and based off of) the contributions of the people in this thread, thanks to Blue587 and Andibad! Some of their notes were used as a baseline for anticipation and fleshing out things further. I will go through each file with some explanations...

 

This file was made without actually testing changes in-game and was mainly deciphered through extrapolation, and Abilities are largely not editable. However, ability_data_info.bin manipulates some aspects of Abilities thankfully, leading to softly modifying abilities being possible but very limited. Ability Data Info Notes.txt

For information on the general rules for Dungeons, changing their info on the dungeon selection screen, and altering how they'll operate inside, these (incomplete) notes provide that. Dungeon Data Info Notes.txt

This next one was a big undertaking. It took forever (like 2 weeks?) to get all the Map IDs named and carefully ordered. dungeon_map_data_info.bin handles dungeon scenery, music, environment types, dungeon layouts, etc. Basically the in-dungeon stuff, handling the generation and atmosphere, but not items or traps, I'll get to that in a moment. This file has 533 map ID entries, some of which are left over from Gates to Infinity. The other stuff besides the map ID entries are still somewhat unknown and incomplete. Dungeon Map Data Info Notes.txt

Next file is the experience.bin, which of course handles Pokémon Experience and stats gained via leveling up. A guide is inside on where to find specific levels. Experience Notes.txt

As for Move leveling, grade.bin handles this. Grade Notes.txt

With the help of Andibad's notes, I made some notes for PSMD's act_data_info.bin. It's very incomplete unfortunately and needs a lot more testing and documentation of certain IDs. Act Data Info Notes.txt

But finally, I can now get to the real deal. Huge thanks to Blue587 for me with this and making this possible, I finally have notes for PSMD dungeon_balance.bin. The file handles the meat of what's in and occurs in dungeons such as items, dungeon status, traps, water and lack thereof, Kecleon Shops, Monster Houses, Pokémon, etc, etc. This is pretty incomplete (and has some things that are actually untested, not unknown) but not so much so that you can't make substantial changes. The special generation, chance, and frequency of things in dungeons can be easily edited. But for Pokémon, adding them in and modifying their attributes can be challenging and tedious. To zoom out a bit, these notes DO NOT document the raw dungeon_balance.bin. The dungeons inside must be extracted and decompressed. If you know how to do that, these notes will be usable. Super Mystery Dungeon Balance.txt

Lastly, this an unrelated but a hopefully helpful consolidation of the additional effects moves can have since the chances can be different compared to the main Pokémon series. Bulbapedia doesn't provide info on chances for additional effects for Mystery Dungeon Games.  This lists the usual status conditions damaging moves can inflict, either to a foe or yourself, along with their chance (ordered by chance not alphabetically), including critical hits, and interactions with additional effects. This does not include Abilities. This information for the chances was gathered with the help of DreamNexus. Additional Effects.txt

 

I of course have several other notes in the making, but due to limitations I can't complete certain ones right now. Hope these help!

Edited by Noirfasui
Clarified that certain things in relation to Dungeon Balance are untested, not unknown
Link to comment
Share on other sites

  • 2 weeks later...
On 3/7/2024 at 4:59 PM, Noirfasui said:

[snip]

I've been on and off working on trying to compile Pokémon and item spawn rates for all the PMD games, largely for the recruitment guides I've made for GameFAQs, but more recently I also just want to compile all the spawn tables and put them into a consistent format on my website (undergoing offline revisions presently) with appropriate credit in the future, mostly to have them in one place. I was going to skip Super's spawns since they don't matter for recruitment, but there's been an uptick of interest in grabbing them in the PMD speedrun server, so I offered to look into it.

 

I had a friend (StrikerX3, not sure if he has an account here, he did some work on SkyEditor at least) pull the dungeon files out of dungeon_balance.bin using dungeon_balance.ent, so now I've got a zip of 205 dungeon_balance files (attached in case anyone else wants to muck with them), and I was trying to reconcile your notes with what was in the files, but I've got a few questions I'd like some clarification on.

  • In your Super Mystery Dungeon Balance.txt doc, in the Pokemon section, you note that FF (times 12) signifies the end of the "entire table entry". Does this refer to the end of the floor, or the end of some sort of subsection (like the Pokemon data)?
  • Is the ordering of the data in this document (dungeon metadata, Pokemon, Traps) the same as the ordering in a dungeon's file, and is there data between the end of one section and the start of another?
  • Is this ordering consistently repeated for every floor in the dungeon within the same file? Is there data between the end of one floor's entry and the beginning of the next?
  • What is the offset at which the dungeon floor data starts after the file's header?
  • Do you know if item spawn information, for regular items, Monster Houses, or Kecleon shops, is contained within this file as well?

If my questions might seem stupid, it's because I don't have a lot of experience in reading these filetypes; I did successfully pull Adventure Squad spawn & item data, but that used a format more like Sky's which had already been significantly documented.

Thanks in advance and if you want to talk more directly, let me know; I've got a friend who's also helping with some of this and we could set up a Discord discussion or something.

dungeon_balance.zip

Link to comment
Share on other sites

On 3/16/2024 at 11:24 AM, Altissimo said:

In your Super Mystery Dungeon Balance.txt doc, in the Pokemon section, you note that FF (times 12) signifies the end of the "entire table entry". Does this refer to the end of the floor, or the end of some sort of subsection (like the Pokemon data)?

Sorry for the poor wording. It signifies the end of the pokemon table for that floor, not the entire Pokemon section.

 

On 3/16/2024 at 11:24 AM, Altissimo said:

Is the ordering of the data in this document (dungeon metadata, Pokemon, Traps) the same as the ordering in a dungeon's file, and is there data between the end of one section and the start of another?

Yes the ordering is mostly the same. But PSMD dungeons have an extra SIR0 file in them that's between the Pokemon data section and the Traps section.

The order goes like:

Dungeon Data

Wild Pokemon Stats AND Pokemon Spawns, spawn rate, level, etc

Unknown SIR0 file

Traps Data

So it's a total of 4 SIR0 files

On 3/16/2024 at 11:24 AM, Altissimo said:

Is this ordering consistently repeated for every floor in the dungeon within the same file? Is there data between the end of one floor's entry and the beginning of the next?

There is data after @END but that part's for missions, like the ones from Gates to Infinity. It's unused in PSMD of course. But for Gates to Infinity there is random data after the Pokemon section and I'm not sure what it does. Same with PSMD.

On 3/16/2024 at 11:24 AM, Altissimo said:

What is the offset at which the dungeon floor data starts after the file's header?

0x10

On 3/16/2024 at 11:24 AM, Altissimo said:

Do you know if item spawn information, for regular items, Monster Houses, or Kecleon shops, is contained within this file as well?

Regular items spawns match that of Monster Houses. For Kecleon Shops, I have edited the items they could have but that only happened when I edited the compiled uncompressed dungeon_balance.bin directly. But I don't really know how items are determined for Kecleon Shops. As far as I know, items spawns are handled by the item_arrange.bin, which is a mess and hard to figure out.

EditedItems.png.53b1a1f18f299ae904798cb942d3dd27.png

The questions aren't stupid, these notes, especially the Dungeon Balance one, are super unfinished, and need more refinement overall.

Edited by Noirfasui
Link to comment
Share on other sites

  • 2 weeks later...

Thanks for your answers. I've made a little progress here as a result. However I've got some more follow up questions.

Regarding the Pokémon section, your notes on the Dungeon Balance document say this:

"The Pokemon section's entries are 0x0C bytes long for each pokemon, the entire entry for a floor is 0x2DF0 bytes long. The Pokemon in this table range from Bulbasaur, to an unused White Kyurem. Past that, there is room for the last "Pokemon", the Substitute, though for some reason its index number, D4 03, isn't listed. After that is FF FF FF FF FF FF FF FF FF FF FF FF signifying the end of the entire table entry."

Based on this, and based on some investigation of the file with the help of a friend, it appears to be the case that every floor has a listing of all 600 or 700 whatever Pokémon that are in the game, and then assigns each mon a spawn weight and a level. If the mon has 0 as a spawn weight, it won't be included in the floor. Am I correct in my understanding?

For example, given the dungeon_balance_15.bin file (the zip is in my previous post), I see that the second SIR0 file begins at 0x1FF0. According to your post, the Pokémon data is contained in the second SIR0 file. Starting at 0x5DD0 (offset of the entire file), there is a section where numbers beginning with 1 increment every 12 bytes. This is, to my understanding, where the index numbers for Pokémon begin, and to find the Pokémon that appear on the floor, you would have to look for any one of these 12-byte sequences where the first 2 bytes are not followed by a 0. Doing this, my friend has determined that the spawns and levels match those shown on Bulbapedia's Revelation Mountain page, which matches our independent finding that the dungeon ID given in the floor data section matches Revelation Mountain.

At offset 0x8BC0 (again relative to the entire file) we have a string of 12 bytes consisting of FF, which according to your notes marks the end of the floor. Following that, the 12 byte sequences corresponding to a Pokémon entry repeat again, this time for the next floor.

 

If this understanding is correct, I have 2 follow up questions.

1) There are 44/45 or something FF x12 strings, which means data for that many floors. Revelation Mountain doesn't have that many floors. How can I tell where the real floors are? (The same goes for the first SIR0 file, which has like 80-something floors in this file.)

2) The 12-byte sections that identify Pokémon indices, spawn weights, and levels are repeated between every span of FF x12. However, the very first entry, following the second SIR0 header in the file, contains more data than that, which is not repeated on each floor entry:

  • From 0x2000 to 0x4E7A (offsets relative to whole file), the data is entirely 0, punctuated with seeming 12-byte sequences of data.
  • From 0x4E80 to 0x5DCA, there appear to be sequences that can be broken down to 4-byte units (though I am unsure if the data they encode is limited to 4 bytes). The first byte appears to increment by 0x0C from one sequence to the next. The second byte appears to increment by 1 every ~0x16 bytes. The third and fourth bytes appear to always be 0.

 

In your dungeon balance document, you write about this data:

"Entries are 0x0B or 0x0C bytes long?

0x00 - 0x03 = The Experience Yield. (Int32 in HxD. 2,147,483,647 or FFFFFF7F can fit the whole thing for example. Also tested in DreamNexus, the number was valid)
0x04 - 0x05 = The Pokemon's HP Stat Value
0x06 = The Pokemon's Attack Stat
0x07 = The Pokemon's Special Attack Stat
0x08 = The Pokemon's Defense Stat
0x09 = The Pokemon Special Defense Stat
0x0A = The Pokemon's Speed Stat
0x0B = Unknown. Always 00."

 

I'm sure that these entries (which are probably 0x0C in length, I'd guess) relate to the data sections I described above, but I need some clarification on exactly how. Is it the case that the 0x2000-0x4E7A section consists of 12-byte sections that contain stats for every pokemon, not identifying them by index number, but in the correct ordering of indices, and this is perhaps why the section is mostly 0's - stats are only provided for some Pokémon (those that appear in the dungeon)? If this is the case, are you aware of what the 0x4E80-0x5DCA section represents, by any chance? If I'm wrong, are you able to correct me as to how this data is organized?

 

Thanks again.

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