Jump to content

Kaphotics

Helpful Member
  • Posts

    6901
  • Joined

  • Last visited

  • Days Won

    325

Everything posted by Kaphotics

  1. Wondercards exclusive to a certain region (and language) are impossible to get on any other language game. Since the Wondercards are not in the list of the upload's language, it won't pick up on it. To be legal, it has to be received on the language it was distributed to.
  2. Yeah they're there in the text file. I wasn't able to discern how to change my shop inventory. IIRC I changed my shop level and it didn't change my purchaseable choices, so it must be either in another hex or determined another way. HxD can open these files. I just assigned a file extension to differentiate the different file types stored in the block. Yeah some of those are 16bits in size. As for their choices / position / appearance, I couldn't figure out how that worked other than that's what they influenced. I set em to 0 and other values and saw that they differed from the original Join Avenue. Visitor structure is essentially the same as Occupant. I discovered it after I mapped the Occupant structure, and I was lazy. 0x00 - Visitor Name (0xE, 7 + terminator) 0x0E - Country 0x0F - SubLocation 0x10 - Visitor Shout (0x10, 8 characters) 0x22 - Gender (0x10 female, 0x00 male) 0x24 - Trainer ID 0x28 - Played Time 0x2A - Visitor Sprite (overworld) In general, via this sheet order. 0x2C - Restriction for Recruitment (based on level) 0x2E - Shop Choices (8 bits, not sure how it picks) 0x34 - Pokemon in Pokedex, uses lowest 2 bits from 0x35 as the uppermost bits for this number. 0x35 - Favorite Pokemon (0x2, Note: lowest 2 bits are used by 0x34. Chatot 0x1B9 = 0x6E4 (with pokedex=18d) 0x39 - Medals 0x3A - Adventure Start 0x3C - Hall of Fame Entry 0x40 - Link Trades (signed 0x4) 0x44 - Nicknames Given (signed 0x4) 0x48 - Customers (signed 0x4) 0x4C - Money Spent (signed 0x4) 0x50 - Passerby Met (signed 0x4) 0x54 - Link Battles (signed 0x4) 0x58 - Pokemon Caught (signed 0x4) 0x5C - Eggs Hatched (signed 0x4) 0x60 - Visitor Trivia Responses (see trivia structure) 0x70 - Visitor Activities (recent happenings) 0x7C - 00000000 0x80 - Greeting (0x10, 8 characters) 0x90 - Farewell (0x10, 8 characters) 0xA0 - IsPlayer Flag (00 - NPC, 01 - Met Human player) 0xA3 - Year Met 0xA4 - Month Met 0xA5 - Day Met 0xAB - Player's Join Avenue Rank (not in yours) Might be wrong on some of those (I copy pasted the Occupant structure and removed anything Store related). They're the same file size so (when recruited) the game just converts a visitor to an Occupant.
  3. 0x07 = Language 0x1 日本語 (Japan) 0x2 English (US/UK/AU) Haven't seen these yet, but theorized: 0x3 Français (France/Québec) 0x4 Italiano (Italy) 0x5 Deutsch (Germany) 0x7 Español (Spain/Latin Americas) 0x8 한국어 (South Korea) 0x08-0x09 = Tournament ID Pretty much the same as Wondercard ID, I guess it would ensure no current duplicate downloaded tournaments. It's like this for Live/WiFi tournaments. Check the ID on the Junior/Senior tournament, 10001 & 10002. 00001 - 2012 Japan Nationals 00002 - Challenge the Champion, Lance! 00003 - Gathered! Gym Leaders! 00004 - The Legendary Rotation Battle! 00005 - The Battle of Legendary Pokémon! 10001 - Junior Division Challenge 10002 - Senior Division Challenge 10004 - Junior Division Challenge (Fixed) Non-Canon 00001 - WCS2011 junior(English) 00002 - WCS2011 Senior(English) 00003 - WCS2011 master(English) 00004 - WCS2011 junior(English)★ 00005 - WCS2011 Senior(English)★ 00006 - WCS2011 master(English)★ == I think 0x0 might be BP rewarded. The rest might be for custom rewards instead of BP (and instead of shards on loss). May test later. nope. didn't see any effect
  4. Presenting (the first?) custom tournament... 2011 VGC World Champion Challenge.pwt Battle the Champions from the Pokémon World Championships in 2011! Steven, Cynthia, Blue and myself are not battleable, just the 3 champions edit: video of the tournament (with some funny business done by me) [video=youtube;OSnt5lwDlpo]
  5. Nah; the OP has the BW translation. The way the program works is by offsets in the ROM, and different games/versions/languages will have different offsets. I suppose B2W2->BW would just require re-pointing as is done for different languages, so you can give that a shot with the provided source code
  6. The AR codes for the unaltered games are the same for this hack. Nothing changed the layout of the RAM
  7. Check the link Drayano gave (my Text interpretation). It lists the % chance on the left side. Pokemon 1 (1%) Pokemon 2 (4%) Pokemon 3 (15%) Item 1 (1%) Item 2 (4%) Item 3 (10%) Item 4 (25%) Dowsing 1 (1%) Dowsing 2 (4%) Dowsing 3 (10%) Dowsing 4 (25%) Remember, there's 4 groups ~ the game does rand(4) to choose a group. So each group has a 25% chance of being the chosen group.
  8. Ok, I've toyed a little more with the 0x1C values. They're how the game rigs it to go against certain opponents. Recap of all the 0x1C's: In summary: XX YY ZZZZ * 7 participants (you are the 8th!) XX = PKM Data Setting 02 - Defined within .pwt 01 - Defined randomly within narc 2 00 - Defined randomly within narc 1 Note: I think the difference between 01 and 00 is just the NARC it grabs from. There's 2 that contain sets; the game would pick randomly. YY = Bracket Setting 00 - ?? 01 - Filler Trainer 02 - Possible First Battle 03 - Possible Whenever battle 04 - Semifinalist Battle 05 - Finalist Battle Note: If there are multiple entries with the same battle setting, the game randomly decides which ones you will face. Essentially the game just tiers them up ensuring the highest settings are faced last, and all defined battles happen. ZZZZ = Trainer Override As I mentioned above, there's certain #'s which correspond to trainers. I listed the XX=02 (Special/Defined Trainer) override values, I'd bet XX=01/00 are crappy trainers and not of interest. The 0x1C values from previous tournaments can be used as pre-sets for certain common scenarios.
  9. 0x3D4-0x3DF Trainer Settings 0x3D4 - Trainer Sprite The rest of this region determines their sayings as well! 0x3D5 - Greeting Text 0x3D6 - Loss Text 0x3D7 - Win Text 0x3D8 - InBattle Loss (displayed at end of battle) 0x3D9 - InBattle Win (displayed at end of battle) 0x3DA - Announcer Text 0x3DB - ??? Here's a list of the sayings sorted for each saying group. From /a/0/0/2_408 text file. There's 8 different groups but only 7 are set... dunno :\ The others might just be Win/Loss/Greeting settings if the G/L/W aren't set to 0. For the sake of editing, 3D5/3D6/3D7 should be set by the player, thus be 0. The only thing that isn't set is the Announcer Text, which can also be set to 0 since it calls the "Trainer Extra" (at the time I didn't know its function). So essentially all of these could be set to 0 and defined by the Editor. 0x3DC-0x3DF - ??? ~ no idea what this does. The 0x1C settings at the end is what allows the special names/sprites as seen in the Lance & Gym leader tournaments. I copy pasted the Gym Leader one onto the VGC and their names & sprites changed, also their Sayings changed too. So it looks to override it with a hard coded response. Looking at the 0x1C of the Gathered Gym leaders, we see:
  10. You can't convert backwards as far as I'm aware.
  11. might as well clarify the BW checksums (and bw2 for that matter) since they aren't the same between 1&2. Pokesav doesn't edit the checksums properly for B2W2 since there isn't a version for it... BW Trainer: 0x19400-0x19467 @ 0x1946A & 0x23F36. 0x23F00-0x23F8B @ 0x23F9A. BW Position: 0x19500-0x1959B @ 0x1959E & 0x23F38 0x23F00-0x23F8B @ 0x23F9A. B2W2 Trainer: 0x19400-0x194AF @ 0x194B2 & 0x25F36. 0x25F00-0x25F93 @ 0x25FA2. B2W2 Position: 0x19500-0x195A7 @ 0x195AA & 0x25F38. 0x25F00-0x25F93 @ 0x25FA2. edit: here's some (m,x,y,z) coordinates for certain locations in B2W2 (presumably the same for BW). Retrieved from the zonedata, and places that aren't normally flyable to might place you in a weird spot.. Note, Z is the updown axis, X is leftright, y is in-out as illustrated here.
  12. Pretty sure PokeStock 3.7 can do it. Since that above linked thread doesn't mention the checksums that have to be fixed when hex editing, here's what they are for the Hall of Fame block (in B2W2 saves). checksum of 0x74000-0x7555B @ 0x7555E ...^ is also stored at 0x75600. checksum of 0x75600-0x75603 @ 0x75612 From the looks of it, there's a backup of the hall of fame starting at 0x75800, with the same checksum pattern. checksum of 0x75800-0x76D5B @ 0x76D5E ...^ is also stored at 0x76E00. checksum of 0x76E00-0x76E03 @ 0x76E12
  13. Unused ROM Tournaments (WCS2011) Backstory (meh): Lots of things are messed up (sprites, text..), because it was never set/polished. Just a heads up
  14. Somehow the game re-generated NPC visitors so I was able to figure out that structure too for the most part. 95% of the structure of this block is known. Here's a little demonstration of what you can really edit and customize [video=youtube;d7bID4ZrVfc]
  15. It's legal Just because it has an origin language of Spanish doesn't mean that the egg originated from a Spanish game. Upon hatching the origin language hex will change. ---derp
  16. the save file stores the mac address of the system when you connect to WiFi whenever you try to connect again, it checks to see if that mac address is the current mac address. If it's not, it clears the records. No, you can't change systems because the MAC address changed.
  17. it's a pdf file not a word document use adobe acrobat edit: Nope. Use an online PDF to .doc converter.
  18. Well to be fair it's not 65536 (it's 65535). Thanks dewey
  19. http://www.pokecheck.org/?p=detail&uid=1857167 illegal held item Red/Blue/Pink/Yellow/Green scarfs aren't obtainable in bw/bw2
  20. RAM Editing and AR code development: The relevant data can be edited in real time in game @ ~0x2229CB0 in US games. Go ahead and change certain values and see how the game reacts! Here's a template for a code (containing a pointer) that will do a targeted overwrite. 94000130 FFFB0000 B2000024 00000000 X0024FCC YYYYYYYY D2000000 00000000 The pointer points to the start of the first occupant, which is 0x246AC in the save file. So say you want to edit Helper 1's sprite. New Pointer = 0x920 + 0x24CCC + 0x2A (default pointer-start in sav + helper1offset + spriteoffset) Pointer: 0x25616 X of pointer becomes 2, to write only 1 byte YYYYYYYY becomes 0000005A, to set spriteID to 5A - Skyla Code becomes: 94000130 FFFB0000 B2000024 00000000 20025616 0000005A D2000000 00000000 Activate in game and Skyla will be your first assistant. Note however you have to change her name and responses too, use the same method though Bonus: (Select) Avenue Shops are always in stock! 94000130 FFFB0000 B2000024 00000000 0002507C 00000000 00025140 00000000 00025204 00000000 000252C8 00000000 0002538C 00000000 00025450 00000000 00025514 00000000 000255D8 00000000 D2000000 00000000 Activate once you start talking to the shopkeeper. Once you buy an item, you can activate again! Even though it says it's not in stock, you can still purchase.
  21. Sub-structures of Join Avenue: Visitor Structure Pretty much the same structure as occupants, maybe a few different offsets but I haven't bothered with these. Here's some extracted visitors: DANIEL MIKE DAVE Robbie (.pjv, poke joinavenue visitor) NPC Fan Structure 0x00 - Fan Name (0xE, 7 + terminator) 0x0E/F - I think they are unused, this is usually origin location 0x10 - NPC Greeting work in progress 0x22 - Gender (0x10 female, 0x00 male) 0x2C - NPC Text 1 0x3C - NPC Text 2 0x4F - Has been spoken to flag (1=spoken to) 0x55 - Has to deal with text bubble popups, which NPC it attaches to. 0x5C - Has to do with souvenirs given, can't yet discern how it does it. Occupant Structure 0x00 - Occupant Name (0xE, 7 + terminator) 0x0E - Country 0x0F - SubLocation 0x10 - Occupant Shout (0x10, 8 characters) occupant flags 0x22 - Gender (0x10 female, 0x00 male) 0x24 - Trainer ID 0x28 - Played Time 0x2A - Occupant Sprite (overworld) In general, via this sheet order. occupant stats 0x2C - Restriction for Recruitment (based on level) 0x2E - Shop Choices (8 bits, not sure how it picks) 0x34 - Pokemon in Pokedex, uses lowest 2 bits from 0x35 as the uppermost bits for this number. 0x35 - Favorite Pokemon (0x2, Note: lowest 2 bits are used by 0x34. Chatot 0x1B9 = 0x6E4 (with pokedex=18d) 0x39 - Medals 0x3A - Adventure Start 0x3C - Hall of Fame Entry 0x40 - Link Trades (signed 0x4) 0x44 - Nicknames Given (signed 0x4) 0x48 - Customers (signed 0x4) 0x4C - Money Spent (signed 0x4) 0x50 - Passerby Met (signed 0x4) 0x54 - Link Battles (signed 0x4) 0x58 - Pokemon Caught (signed 0x4) 0x5C - Eggs Hatched (signed 0x4) 0x60 - Occupant Trivia Responses (see trivia structure) 0x70 - Occupant Activities (recent happenings) 0x7C - 00000000 0x80 - Greeting (0x10, 8 characters) 0x90 - Farewell (0x10, 8 characters) 0xA0 - IsPlayer Flag (00 - NPC, 01 - Met Human player) 0xA3 - Year Met 0xA4 - Month Met 0xA5 - Day Met 0xAB - Player's Join Avenue Rank (not in yours) 0xAD - Current Shop Rank (00-FF) 0xAE - Current Shop EXP (0000-FFFF) 0xB0 - Inventory Availability (determined and set by game) - Bitflags, 0 = available, 1 = unavailable 0xB4 - Shop Type, appearance, and NPC position - I really have no idea how this works, it determines what model to use too Helper Structure 0x00 - Helper Name (0xE) 0xE - Country 0xF - Location 0x10 - First Meet Line (0x10) 0x20 - Flags 0x2A - Helper Overworld Sprite. In general, via this sheet order. 0x2C - Has to do with positioning inside building 0x30 - Met Year 0x31 - Met Month 0x32 - Met Day 0x33 - Unused? 00 0x34 - Greeting Line 1 (0x10, 8 characters) 0x44 - Greeting Line 2 (0x10, 8 characters) 0x54 - 00000000 Trivia Structure Activities Structure Trivia, Activities, (unlikely for Stats) are most likely transferred with Metadata so that when met on GTS / etc they are able to do every interaction. Further research in that area is needed, if cared. Location Metadata for Countries and Sub-locations
  22. Join Avenue is pretty customizeable in game, but there's many aspects you can't really change. This thread is aimed to edit the Join Avenue via save editing or RAM editing (AR Codes). Main Structure: 0x23C00 - 0x0000000000000008 Visitors - 0xC4 long 0x23C08 - Visitor 1 0x23CCC - Visitor 2 0x23D90 - Visitor 3 0x23E54 - Visitor 4 0x23F18 - Visitor 5 0x23FDC - Visitor 6 0x240A0 - Visitor 7 0x24164 - Visitor 8 0x24228 - 0x0000000C NPC Fans - 0x60 long 0x2422C - Fan 1 0x2428C - Fan 2 0x242EC - Fan 3 0x2434C - Fan 4 0x243AC - Fan 5 2440C - Fan 6 2446C - Fan 7 244CC - Fan 8 2452C - Fan 9 2458C - Fan 10 245EC - Fan 11 2464C - Fan 12 Occupants - 0xC4 long 0x246AC - Occupant 1 0x24770 - Occupant 2 0x24834 - Occupant 3 0x248F8 - Occupant 4 0x249BC - Occupant 5 0x24A80 - Occupant 6 0x24B44 - Occupant 7 0x24C08 - Occupant 8 Helpers - 0x58 long 0x24CCC - Helper 1 (Registration) 0x24D24 - Helper 2 (Shops) 0x24D7C - Helper 3 (Organization) 0x24DD4 - Helper 4 (Healer) Avenue Settings 0x24E8C-0x24E9B - Player Trivia (set by avenue NPCs, see next post) 0x24E9C-0x24EA7 - Player Activities (recent happenings to player ^) 0x24EA8-0x24EAB - 00000000 (nothing, unused) 0x24EAC - Your Favorite Phrase (0x10) 0x24EBC - Your Impressed Phrase (0x10) 0x24EF4 - Join Avenue's Name (11 characters + terminator, 0x18) 0x24F1E - Your Title (0x10) bunch of FF's 0x24FCC - Avenue Rank (0-9999, dec 2 bytes) 0x24FCE - Avenue Ceiling Color 00 Orange 01 Purple 02 Blue 03 Green 0x252A8 - Save count (0x2) 0x252AA - Checksum of Join Avenue Region [0x23C00-0x252A7] 0x25F86/7 - Copy of Checksum of JA Region 0x25FA2/3 - Checksum of Checksum Region 0x25F00/93 I've successfully re-inserted a visitor after all the visitors had been removed from the save file! Just had to correct the checksums and it worked easily.
  23. Location names are kept as a hex number, localization just changes what is displayed. They essentially set a pointer value that tells the game which text entry to display. Japanese games will show (in japanese, not the romanization) Sangi Ranch, and English games show Floccesy Ranch.
  24. sangi ranch there hasn't been a new version since around august, so any localization hasn't happened
×
×
  • Create New...