techticks Posted April 19, 2020 Posted April 19, 2020 (edited) Since there's already some good progress in Rescue Team DX modding, I figured I'd create a thread here. I'll add more things in the future. Please feel free to contribute! Here are my research notes: https://www.notion.so/RTDX-Research-Notes-2a8a4c046e2c42d39a81a3ad1694171e Other interesting resources: https://github.com/evandixon/SkyEditor.RomEditor.Rtdx Edited April 19, 2020 by techticks 1
Blue587 Posted April 20, 2020 Posted April 20, 2020 (edited) Data/StreamingAssets/native_data/pokemon/pokemon_data_info.bin Data/StreamingAssets/native_data/pokemon/experience.bin (and experience.ent) Here you can see the data I got from these two files https://mysterydungeonwiki.com/wiki/Rescue_Team_DX:Pokémon Based on the name Data/StreamingAssets/native_data/pokemon_waza_oshie.bin seems to contain data for Tutor Moves (which you can learn from Gulpin). This file also exists in Super. I haven't looked at it yet. Data/StreamingAssets/native_data/camp/camp_habitat.bin each entry is 4 bytes if the Pokémon can't be in a Rescue Team Camp (like Mega Evolutions and unused slots), all 4 bytes are FF if it can be in a Rescue Team Camp, the first byte is the Rescue Team Camp ID (order here, start from 0) the other 3 bytes are always 00 Data/StreamingAssets/native_data/pokemon_evolution.bin from 0x0 to 0x24 - SIR0 header each Pokémon (including Mega Evolutions) has 0x14 bytes long entries for each possible evolution (including normal->shiny and shiny->shiny, but not shiny->normal) if a Pokémon (including Mega Evolutions) doesn't have any evolutions all the bytes will be 00s. examples: Metapod has 2 evolutions because shiny Butterfree is in the game, Eevee has 9 evolutions because shiny Espeon is in the game 0x0 and 0x1 - ID of the evolution (example: Bulbasaur's evolution ID is 02) 0x2 - unknown. usually 00. E2 sometimes (Pichu, Pikachu, Eevee, Porygon, Porygon2, probably more) 0x3 - always 00? 0x4 - amount of Evolution Crystals required from 0x5 to 0xb - always 00s? 0xc - level required 0xd - evolution method (01 requires a certain level, 02 requires a certain amount of Evolution Crystals) from 0xe to 0x13 - always 00s? amount of entries: 0x40a the last entry starts at adress 0x50ec Edited July 25, 2022 by Blue587 updated wiki link
wrathsoffire76 Posted May 20, 2020 Posted May 20, 2020 Has anyone researched into the Wonder Mail structure?
Blue587 Posted May 21, 2020 Posted May 21, 2020 (edited) 11 hours ago, wrathsoffire76 said: Has anyone researched into the Wonder Mail structure? https://mid-kid.root.sx/pmdrtdx/ https://github.com/mid-kid/pmdrtdx_passwords That is, assuming you meant rescue passwords, and not Wonder Mail. The format of wonder_mail.bin is close to that of GtI and Super. The passwords are just there, but I don't know about the rest of the data. Wonder Mail isn't all that interesting in these games since it's just a way to get predefined items (and missions in RTDX). Edited May 21, 2020 by Blue587 1
Guest maxim7w Posted July 15, 2020 Posted July 15, 2020 Internal scripts ( stored in Data/StreamingAssets/native_data/script ) are written in LUA source and can be read easily with any text editor. Explanations of a few functions and their syntax: Spoiler PlaySe Plays a sound effect. Syntax: PlaySe:{"isWait":[true/false],"symbol":"sound name","fadeInTime":[time in secs],"volume":[float from 0-1],"volumeSymbol":"DEFAULT"} Example taken from a script: PlaySe:{"isWait":false,"symbol":"SE_ENV_BREEZE_LP","fadeInTime":0.5,"volume":1.0,"volumeSymbol":"DEFAULT"} Spoiler PlayManpu Plays a "manpu" (2D sprite, like burn status next to the Pokémon in a dungeon) in a character channel (for example CH:KAMEKKUSU) Syntax: PlayManpu:{"isWait":[false/true],"symbol":"internal name"} Example: PlayManpu:{"isWait":false,"symbol":"MP_LAUGH_LP"} Spoiler Play2DAnim Plays a 2D animation (for example reaction effects) from the files. Syntax: Play2DAnim:{"isWait":[true/false],"id":"internal ID","bundleName":"AB name (for example, ui) ","animName":"animation file name"} Example taken from script: Play2DAnim:{"isWait":false,"id":"2D_015","bundleName":"ui","animName":"Anime_Mepachi1_5"} Spoiler SetFace Will change the face of a character ( in a channel like CH:PARTNER:{} ) to a specific eye/mouth emotion type. Syntax: SetFace:{"faceType":[number],"eyeType":[number],"mouthType":[number]} Example taken from script: SetFace:{"faceType":15,"eyeType":8,"mouthType":8} Notes: find out the type ids Spoiler PlayBgm Plays a music track. Syntax: PlayBgm:{"symbol":"sound id","fadeInTime":[time in secs],"isLoop":[true/false],"channel":0,"volume":[0-1],"volumeSymbol":"DEFAULT"} Example taken from script: PlayBgm:{"symbol":"BGM_EVE_SEPARATION_01","fadeInTime":0.0,"isLoop":true,"channel":1,"volume":1.0,"volumeSymbol":"DEFAULT"} Notes: Channel? volumesymbol? Spoiler LuaWINDOW.DrawFace Draws a portrait face. Syntax: LuaWINDOW.DrawFace(FACE_POS.RIGHT_X, FACE_POS.RIGHT_Y, LuaSymAct("japanese/internal Pokémon name"), FACE_TYPE.[EMOTION]) valid FACE_TYPEs: NONE, NORMAL, EMOTION, DECIDE, THINK, HAPPY, SURPRISE, TEARS, SPECIAL[number], SAD, PAIN, ANGRY Example taken from script: LuaWINDOW.DrawFace(FACE_POS.RIGHT_X, FACE_POS.RIGHT_Y, LuaSymAct("RIZAADON"), FACE_TYPE.HAPPY) Spoiler LuaWINDOW.Talk Writes a message in the globally set language. Example taken from script: LuaWINDOW.Talk(LuaSymAct("RIZAADON"),TextID("A04P01_M01E10A_8C_01_0020","★NONE★",[[ {今日|きょう}は お{祝|いわ}いだな!]]) ) Syntax: LuaWINDOW.Talk(LuaSymAct("Character"),TextID("Internal Text ID","????",[[backup text i guess]]) ) Will probably extend this or port this to an own page.
evandixon Posted July 15, 2020 Posted July 15, 2020 15 minutes ago, maxim7w said: PlaySe:{"isWait":[true/false],"symbol":"sound name","fadeInTime":[time in secs],"volume":[float from 0-1],"volumeSymbol":"DEFAULT"} It's interesting to note that these Lua files don't consist entirely of Lua. It's instead composed of blobs identified by text such as the following: -- <<★ActAssetBlob -- <<★ActCommandBlob -- <<★LuaBlob Text that appears after any of these blob identifiers is treated as such. For example, text after "-- <<★LuaBlob" is treated as Lua until the next blob declaration.
Guest maxim7w Posted July 15, 2020 Posted July 15, 2020 That makes more sense, seems like it's a combination of Lua (LuaBlob), and some kind of internal game scripting language (ActCommandBlob and ActAssetBlob for asset code)
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now