Jump to content

Kaphotics

Helpful Member
  • Posts

    6895
  • Joined

  • Last visited

  • Days Won

    323

Everything posted by Kaphotics

  1. Copying the Native Video onto the Other Videos works: Comes with it's own blank trainer profile! Viewing your own native video has the game load the encrypted one too, it then generates your Profile when it decrypts. Static Locations The value at 0xA8 must match the decrypted value at 0x189C, which is (always) 81 E2. This signifies "end data"? The value at 0xAA must be 00 64. The value at 0x18A6 must match the value at 0x1900. The value at 0x18A4 is battle video # (1-native/1/2/3) The Value at 0x1904 is 01 00 00 00 14 19 00 00 27 35 05 31 (decryption vars?) The value at 0x00C0 is a checksum The Value at 0x18A0 is a checksum The Value at 0x18A6 is a checksum The Value at 0x1900 is a checksum The value at 0x1912 is a checksum Encrypted Region The first value different between Encrypted/Decrypted is 0xC4 The first value that is the same after 0xC4 is 0x18A0
  2. Research RAR'd up, includes battle pkms, more encrypted videos and everything else that follows and more. This was done without using NulMyre's program as the structure is entirely different, all that I used from it was the decompiled java just to see how it worked in Platinum. Decrypted Jenn Video Overwriting Battle Videos Reading the BPKM data from the RAM (identical to the decrypted data) A little tutorial on accessing data within a Battle Video: Upon loading the battle video, the game loads the entire VRD at 0x0226AFAC. The video is loaded in its encrypted form, occupying 0x0226AFAC-0x0226C8BF Guess what, it gets decrypted by the game. Huzzah! While in DeSmuME, Open Memory Viewer at the Battle Video Screen. Dump All. Open .bin in HxD copy the offsets: 0x0226AFAC-0x0226C8BF Into a new file. Bam, decrypted VRD, aka DBV (decrypted battle video) Now to make sense of what the data is inside! Program Implications: There are no checksums on the entire save file in regards to Battle Videos. If you overwrite one video in the save with another downloaded one, it will be viewable instead! Backup and Share them! Battle Video Structure: Surface Summaries Moves Pokemon Trainers Closing Summaries (???) Battle Video PKMs are 112 bytes long (not all data is present!!!) Offsets in Decrypted Battle Video: 0XCFC: Max Present PKM 0xCFE: Currently Present PKM PID 0xD00 + 0x70*pkm Species 0xD06 + 0x70*pkm Held Item 0xD08 + 0x70*pkm Trainer ID 0xD0C + 0x70*pkm Trainer SID 0xD0E + 0x70*pkm Happiness 0xD14 + 0x70*pkm Ability 0xD15 + 0x70*pkm HP-EV 0xD16 + 0x70*pkm Atk-EV 0xD17 + 0x70*pkm Def-EV 0xD18 + 0x70*pkm SpA-EV 0xD19 + 0x70*pkm SpD-EV 0xD1A + 0x70*pkm SpE-EV 0xD1B + 0x70*pkm Move 1 0xD1C + 0x70*pkm Move 2 0xD1E + 0x70*pkm Move 3 0xD20 + 0x70*pkm Move 4 0xD22 + 0x70*pkm PP 1 0xD24 + 0x70*pkm PP 2 0xD25 + 0x70*pkm PP 3 0xD26 + 0x70*pkm PP 4 0xD27 + 0x70*pkm IVs 0xD2C + 0x70*pkm Gender Forme 0xD30 + 0x70*pkm NickName Field 0xD32 + 0x70*pkm OTName Field 0xD48 + 0x70*pkm PokeBall 0xD58 + 0x70*pkm Origin 0xD59 + 0x70*pkm (01 is Japan, 02 is English) Level 0xD60 + 0x70*pkm BatlStat(maxHP) 0xD62 + 0x70*pkm BatlStat(curHP) 0xD64 + 0x70*pkm BatlStat(AtK) 0xD66 + 0x70*pkm BatlStat(Def) 0xD68 + 0x70*pkm BatlStat(SpA) 0xD6A + 0x70*pkm BatlStat(SpD) 0xD6C + 0x70*pkm BatlStat(SpE) 0xD6E + 0x70*pkm For Enemy Pokemon, add 4 to the base offset as the max/current PKM present shifts it as well. Some Offsets within the Battle Video that define visual cues: 0x00-0x0F - Trainer Profile (Owner of Video) 0x10-0x25 -- Trainer Profile Data 0x10-0x13 - Trainer PID 0x14 - Trainer Gender (00 Male 01 Female) 0x15 - Trainer Birth Month 0x16 - Trainer Avatar 0x17 - Trainer Nation 0x18 - Trainer SubLocale 0x1C - Trainer Pokemon Displayed (Half Word) 0x1D-0x25 - ??? 0x26-0x6F -- FF Pads 0x70-0x7B -- Unused/Unknown 0x80-0xAX -- Battle Overview Data 0x80-0x8B - Team#1 0x8C-0x97 - Team#2 0xA4 - Battle # (Subway Streak) 0xA6 - Battle Mode(???) 0xA7 - Game Modes (Launcher?) 0xB8-0xBC - Battle Video ID(???)
  3. OLD Alrighty, after spending more time with the RAM and a few battle videos I have found out how it operates. The Pokemon Data in the RAM was only the tip of the iceberg on what was contained within Upon clicking on a battle video, the entire encrypted battle video (which I have a few uploaded in the first post) is loaded into the RAM at offsets (0x0226BA0????). It remains there in its entirety for a split second (one or two frames, 1/60th of a second), in which it is decrypted and left there for easy access. If you dump the memory and copy the offsets for where the encrypted/decrypted battle video was (like in HxD), you can then just separate it out like I did from the save file. The Encrypted battle video is exactly the same, and the Decrypted battle video is the same size as well. I would upload a decrypted battle video, but I am only able to post currently (I will upload stuff when I can). Approximate Layout: Trainer Profile FFFFFFFF Battle Video Summary == Battle Moves/Etc PKM Trainers Closing =========== Pokemon Data occupies 112 bytes of data for each PKM. Strangely, it includes the ingame Stats. In the decrypted battle video, they start at 0xD00. They are there for 6 Trainer#1 PKMs, then there is a 4 byte (Max/Current PKMs Present) gap in between, then the Trainer#2(opponent) PKMs are there. =========== Battle videos can be copied on top of the others. If you copy Frank's video onto another save file's appropriate offset (to overwrite the previous video), it can be viewed in game as there is no overall checksum on the save file to check (heh). I was able to make Frank's battle video occupy all 3 slots on the "Other Videos" menu (and viewing worked of course). =========== Confirmed the native battle video locations via battle subway. =========== I'll have more things (offsets/structure of bpkm) when I am able to upload stuff I don't know how to make programs/make something to decrypt
  4. Oh I see what you mean. I'm not sure what exactly IR-GTS sends in addition to the PKM, but it has to include some kind of trainer data as well (which probably isn't being set). That's all I know
  5. IR-GTS is for the GTS Trading Portion, not Rendezvous. I don't really understand what you are doing, but trying to access Rendezvous while having your DNS as the IR-GTS will not work.
  6. Put them in PokeGen with a 4th gen game as the Game Type, then change it to 5th gen. Bam, shifted and good to go. You can also use Kazo's pokeshift too, but it's up to you which to use for 4th gen files.
  7. OLD Did some looking into in the RAM (I know it's not save related but does give some insight as to what is inside the saved video). VS. Recorder Screenshots of the Battles and Trainer Profiles (data stored on card) RAM Offsets of Important Information (PKM and Trainer): Team Lineup and OT Trainers of Jenn.vrd in the RAM: Pokemon Data in the RAM -- woo!
  8. PC Pokemon don't have data for Stats. That's all party (236) data, in which Box pokemon (136) have generated upon withdrawing. So, there's no way to do this asides from making codes to edit your party (and thus their stats).
  9. All this does is make the daycare man have an egg. All generation of eggs this gen happens when you receive it, not when it is made available for pickup.
  10. Information Consolidation of all of my posts: VS Recorder data in the 5th gen is stored a little bit differently compared to the known Platinum convention (research done by NulMyre). 512 KB Save File offsets: 0x0004A000 - Native Battle Video 0x0004C000 - First Battle Video 0x0004E000 - Second Battle Video 0x00050000 - Third Battle Video [*]Example Videos, extracted from the save file with HxD (Offset Range Copy), Decrypted are from RAM dumps. Each video is 8KB spaced, but occupies 6420 Bytes (down from 7520 in last gen). Jenn - Video 1 || (Decrypted Jenn Video) James - Video 2 || (Decrypted James Video) Frank - Video 3 || (Decrypted Frank Video) Native Video 1 || (Decrypted Native Video 1) Native Video 2 || (Decrypted Native Video 2) Native Video 3 || (Decrypted Native Video 3) I cropped the remaining FFs from the end of the videos, as they aren't used. Down from 8192 bytes. [*]Research RAR Battle Video Card Structure Battle Process Structure PKM Data Structure (.bpkm) Trainers Battling Closing My posts before the last edit date may not be current information.
  11. Kaphotics

    IV's

    There is no IV-PID relation for 5th Gen Pokemon. Pokesav sucks.
  12. not nature 0x40 is nature ability is the 16th bit, not the 32nd. xxxYxxxx
  13. Cheshire cat does it for me.
  14. Read every page in this thread. Delete Pokesav.
  15. There is also Stat reducing moves (Crunch), and stat increasing moves (Charge Beam) Also consider Flinching moves (Bite). I took a quick look at the process of the battle RNG (RAM related) to see what calcs happened when, it's probably calculated for each byte of data from the narc.
  16. Escavalier and Accelgor could have some sort of evolution met data, due to how they evolve.
  17. Nickname Length +1 is overwritten, the rest stays as trash.
  18. KazoWAR has a Poke Transfer converter http://projectpokemon.org/forums/showthread.php?14371-Pok%E9-Transfer&highlight=Poke+Transfer Don't think he posted the source, but I created a thread on all of the PKM changes http://projectpokemon.org/forums/showthread.php?11474-Hex-Values-and-Trashbytes-in-B-W&p=93598&viewfull=1#post93598
  19. Those 0000s are either pads or "data present" fields, but that's not the case seeing as Kyurem has some weird stuff there. A larger sample size (probably with other legendaries) may help iron out those ??? ones.
  20. you make no sense RNG is legit The structure is mostly the same, the wiki has the information. http://projectpokemon.org/wiki/Pokemon_Black/White_NDS_Structure
  21. Because each turn has a different battle calc seed. If you save state on an emulator and revert back to try and catch it again, it will be the same result because the battle seed is already set.
  22. Gen 5 has no method. No matter the encounter type. abcd gen 4 legends duh
×
×
  • Create New...