Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/11/21 in all areas

  1. Posting my finding on the offset locations for the Registered Teams. It seem that the Japanese version (G&S) only has 10 registered teams per mode, which puts it in line with the English version. Also will be clarifying the Pokemon data structure. First the is a registered team is made using OP's post as a base: Registered parties are 0x180 each: 0x10 header + six 0x3C pokemon structures + 2 bytes padding, 4 byte footer and 2 byte checksum 0x00 Header: 0x0 1 True if team is present (0x00 if no team) 0x1 1 Padding 0x00 0x2 2 trainer ID (default 0x0000) *0x4 12 Trainer name (GB encoding, 0x50 terminated + remaining byte padding 0x00) (default 0x5000) 0x10 Start of party pkmn, 0x3C each; uses a similar GB storage format: 0x00 Index number of the Species 1 byte 0x01 Held Item 1 byte 0x02 Move 1 1 byte 0x03 Move 2 1 byte 0x04 Move 3 1 byte 0x05 Move 4 1 byte 0x06 OT ID 2 bytes *0x08 Experience points (1 byte 4 bytes extra padding at beginning) 0x0C HP EV Data 2 bytes 0x0E Atk EV Data 2 bytes 0x10 Def EV Data 2 bytes 0x12 Spd EV Data 2 bytes 0x14 Spc EV Data 2 bytes 0x16 DV Data 2 bytes 0x18 Move 1's PP values 1 byte 0x19 Move 2's PP values 1 byte 0x1A Move 3's PP values 1 byte 0x1B Move 4's PP values 1 byte 0x1C Friendship or Hatch Counter 1 byte 0x1D Level 1 byte 0x1E Status** 2 bytes 0x20 Pokérus Status 1 byte 0x21 Caught data 2 bytes 0x23 1 Padding? *0x24 Nickname (GB encoding, 0x50 12 bytes terminated) (1 extra padding byte) *0x30 OT name (GB encoding, 0x50 12 bytes terminated; 0 if rental) (4 extra padding bytes) 0x17A Footer 'P3v0' (0x50337630) 4 bytes 0x17E Checksum (UByte 8 bit) 2 bytes Computes Header + party data + footer *If OT Name is short, 0x50 is used to fill in rest (7 characters total in English, 5 in Japanese). *Japanese version is mostly the same except for one difference in Nickname and OT Name. Nicknames can only be 5 bytes, has 0x50 terminator, and 6 bytes of padding. Same with OT names. Both will have 0x00 padding to fill 12 bytes each. **Status is set to 0 when the pokémon is registered or in box. Set to 1 if Egg in box. Set to 4 if it is a rental Pokemon in a registered team. There is one byte padding afterwards. Thanks to @Kaphotics for figuring out which byte Pokérus is. For example, D1 = strain 13 and 1 day left. Use this chart for English Nickname and OT: https://bulbapedia.bulbagarden.net/wiki/Character_encoding_in_Generation_II#English For Japanese Nickname and OT: https://bulbapedia.bulbagarden.net/wiki/Character_encoding_in_Generation_II#Japanese Here are the locations for the Registered Teams (same in English and Japanese versions): Anything Goes Little Cup Poké Cup Prime Cup Gym Leader Castle Vs. Rival 01 0x0 0xF00 0x1E00 0x2D00 0x4000 0x4F00 02 0x180 0x1080 0x1F80 0x2E80 0x4180 0x5080 03 0x300 0x1200 0x2100 0x3000 0x4300 0x5200 04 0x480 0x1380 0x2280 0x3180 0x4480 0x5380 05 0x600 0x1500 0x2400 0x3300 0x4600 0x5500 06 0x780 0x1680 0x2580 0x3480 0x4780 0x5680 07 0x900 0x1800 0x2700 0x3600 0x4900 0x5800 08 0xA80 0x1980 0x2880 0x3780 0x4A80 0x5980 09 0xC00 0x1B00 0x2A00 0x3900 0x4C00 0x5B00 10 0xD80 0x1C80 0x2B80 0x3A80 0x4D80 0x5C80 Offsets for Boxes in Professor Oak's Lab: English boxes are 0x4D8 each: Japanese boxes are 0x750 each: Box 1 0x5E00 Box 1 0x5E00 Box 2 0x8000 Box 2 0x8000 Box 3 0x84D8 Box 3 0x8750 Box 4 0x89B0 Box 4 0x8E60 Box 5 0x8E88 Box 5 0x9590 Box 6 0x9360 Box 6 0x9CC0 Box 7 0x9838 Box 7 0xA3F0 Box 8 0x9D10 Box 8 0xAB20 Box 9 0xA1E8 Box 9 0xB250 Box 10 0xA6C0 Box 11 0xAB98 Box 12 0xB070 Box 13 0xB548 Box 14 0xBA20
    1 point
  2. I made a demo video: Yes, it does stop at 200 - that's 9 upgrades, each every 20 successful runs through the league! (sending again, because I'm not sure if the "post before registering" gimmick worked)
    1 point
    When you have a Mac and using Wine gives an error
    1 point
×
×
  • Create New...