Jump to content


  • Posts

  • Joined

  • Last visited


10 Good

About xyzman

  • Birthday 01/01/1961

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hey, some time ago @Kaphotics has shared encounter tables for BDSP in this tweet: I wonder where are these tables stored in StreamingAssets and how easy is it to change them? I am a total noob to Unity but have some software development skills. My next question is: does the game package have compiled script files or they are interpreted? I know that graphical models could be easily unpacked and decomposed using tool like AssetStudio, but how does it work for scripts and data tables?
  2. I am talking about this project as an example: https://github.com/thekeldeo/pokemon-db If the only way is to get a file directly from SwSh ROM FS, can I have some pointers? I effectively need list of Pokemon, their base catch rate and weight (to build a small tool showing catch probability comparison for different balls in Max Raids).
  3. xyzman

    PKHeX Legacy Discussion

    Could you perhaps add some links to howto's in the bottom spoiler? As well as limitations. As far as I know, save backup/restore is impossible for retail carts. You have actually to buy a digital game from emunand eShop and use its save with SaveDataFiler. Maybe I got it wrong; my Gateway3DS just came in today anyway.
  4. With DS Wi-Fi Connection going down worldwide in May and official metagame shift to Gen 6, are we ever going to see the published research on how the so-called battle RNG works in Gen 5 and can be manipulated? I recall Kaphotics demonstrating the video of him defying all the probabilities in online battle, so it's definitely possible.
  5. There is a block starting with ea d0 bytes having random 16-bytes. The overall conclusion was that it is some sort of checksum, but nobody was able to figure it out yet.
  6. With people having no complaints with >> 4 values, I assume that the theory of final XOR value being less than 15 was confirmed. Does it also prove that 16+ will result non-shiny pokemon? I've yet to see any shinies with their "shiny values" differ by 1 bit...
  7. So wait... They send Wonder Trade data unencrypted? I love Nintendo very very much.
  8. What .NET framework version is required? I don't have access to Windows machine, and WINE + .NET was always a gamble...
  9. Happiness/egg steps counter is missing, Pokemon-amie stats are missing as well (the latter probably will be represented as 3 bytes - friendliness, hunger and amusement - as friendliness increases gradually and hunger depends on amount on steps taken). I bet both are somewhere in the first block. There is a small chance that egg steps system may have been changed (and separated from happiness byte): somehow I hatched an egg, made 3 steps and got another egg hatching sequence. Though encrypting 6 PKX every time PC makes a single step looks like overkill to me. Since you apparently able to insert Pokemon back, other interesting topic (at least for me) is if there is a Cyrillic font support in this gen. Can you please try inserting extended Unicode characters from Cyrillic subset into Pokemon nickname and take photos from party and in-battle screens? It would be nice if you used 0x0401, 0x0410, 0x0417, 0x041F, 0x0427, 0x042F, 0x0430, 0x0437, 0x043F, 0x0447, 0x044F, 0x0451 characters - at various ends of Russian alphabet. I can't wait for the time when you publicize the method... Am aware of all the consequences for the whole community, but digging into this stuff is so much fun
  10. Thanks a lot! Now to translate that bunch of files... And as for fonts, yes, we'll have to change a023 to add Cyrillic characters to all 4 fonts present there. It helps that a guy who is in charge of technical side of this project is already familiar with the basics of that.
  11. Apparently, there is Russian group of fans that aims to translate B2/W2 in Russian which I decided to join. One of their rules is to keep the overall size of text the same, so .narc files can be reinserted with no problems. Which is the problem because Russian words are about the same length as German ones. The aim is to bring a/0/0/2 and a/0/0/3 to at least twice their original English size (because Cyrillic chars are 2 bytes each). So the question is - if those .narc files are being exported and imported via Nitro Explorer, does this tool fix offsets and checksums for me? How are the "files" referenced - by their "a/X/X/X" id or by start location? What are the steps to achieve this goal?
  12. http://filetrip.net/others-downloads/other-systems/download-3ds-save-de-encrypter-15a-f25906.html - from what I've gathered, this thing does the trick. Plus I've seen the mention of SAV files in the 3DS Explorer changelogs. Without hackers finding every single secret from ROM and flash save, Pokemon series will never be the same
  13. When looking into NFTR file further, I found something that looks like the glyph<->character definition. I don't have full spec on NFTR format, but the data look this way: 0x03C1D0 0000 FFFF 0200 0000 B008 0400 B211 [color="Silver"]A100[/color] 0x03C1E0 5F00 [color="Red"]5201 AB00 5301 AC00 5E01 AD00 5F01[/color] 0x03C1F0 [color="Red"]AE00[/color] [color="Blue"]3504 AF00 3604 B000 3704 B100 3804[/color] 0x03C200 [color="Blue"]B200 3904 B300 3A04 B400 3B04 B500 3C04[/color] 0x03C210 [color="Blue"]B600 3D04 B700 3E04 B800 3F04 B900 4004[/color] 0x03C220 [color="Blue"]BA00 4104 BB00 4204 BC00 4304 BD00 4404[/color] 0x03C230 [color="Blue"]BE00 4504 BF00 4604 C000 4704 C100 4804[/color] 0x03C240 [color="Blue"]C200 4904 C300 4A04 C400 4B04 C500 4C04[/color] 0x03C250 [color="Blue"]C600 4D04 C700 4E04 C800 4F04 C900 5104[/color] 0x03C260 CA00 1020 CB00 1520 CC00 1820 CD00 1920 0x03C270 CE00 1C20 CF00 1D20 D000 1E20 D100 2020 0x03C280 D200 2120 D300 2520 D400 2620 D500 3020 "Universal" section of Cyrillic alphabet (used by most countries) has 32 uppercase letters in 0x0410-0x042F range and 32 lowercase letters in 0x0430-0x044F: http://jrgraphix.net/r/Unicode/0400-04FF. Inclusion of 0x0451 (ё) tells us that the intended alphabet was Russian - other languages have different sets of alphabets. If you take a look into code extract above, blue section shows the remains of Russian alphabet. If it continued this way, first lowercase letter mapping would be at 0x03C1DE. Instead, we have 4 "red" characters in 0x015* section of Unicode, and before that, the data seem mangled. And if you take a look at actual glyphs near that section (I can upload the BMP if you want), they correspond to following Unicode characters: ...0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF, 0x0152, 0x0153, 0x015E, 0x015F, 0x0435, 0x0436, 0x0437,0x0438... Meaning that section starting at 0x03C1E2 was custom-trimmed to make it work. So far I have two assumptions: 1) Pokemon font was taken from some DS game that had Russian localization. Those titles are very rare (5-10 or so), but they DO exist. Since Pokemon has a lot of special characters, the glyphs that GF did know they won't use were sacrificed to allow those special characters to be included. 2) Before Pokemon Black/White release, Game Freak outsourced font design task, but when they got the results that would've work for most localisations, they've decided to customise. Either way, out-of-structure bytes around 0x03C1D0 look like patchwork. Whoever modified the fonts, clearly didn't care about these extra characters. In font #3, used for in-battle names, there are several uppercase Cyrillic letters with data around them being "mangled" and non-structured as well. So... no Russian names for my Pokemon Without those 5 first letters all I can think of are some curse words...
  • Create New...