-
Posts
7270 -
Joined
-
Last visited
-
Days Won
362
Content Type
Profiles
Pokédex
Portal
Technical Documentation
Pages
Tutorials
Forums
Events
Downloads
Gallery
Blogs
Everything posted by Kaphotics
-
Looks like GTS visitors take the 0x60 sized visitor space, as the Metadata that generates them doesn't have the Trivia and activities. == Yeah I noticed the 8 bit limit on sprites... unfortunate
-
Beta: the Pokécheck VS. Player (battle video parser)
Kaphotics replied to xfr's topic in RAM - 3DS Research & Development
Both participants can save battle videos. Even if privatization was allowed, your opponent could still print-screen and send an image to another person of the sets a player used. There's absolutely no point. For official Nintendo VGC events, we do impair the system for the day of the event such that no new battle videos are able to be cached/viewed. -
In the save file there's not enough room for 12 visitors and 8 fans. If it was like that, the first occupant would start at 0x24838 and everything else wouldn't fit. There's 0x620 for Visitors (0xC4 * 8), and 0x6C0 for Fans (0x60 * 12).
-
Beta: the Pokécheck VS. Player (battle video parser)
Kaphotics replied to xfr's topic in RAM - 3DS Research & Development
There's a japanese site that also takes a battle video and tells you what sets were used. That's an issue you should take up with the Pokemon site you participated at. -
Pokémon Blaze Black 2 & Pokémon Volt White 2
Kaphotics replied to Drayano's topic in ROM - NDS ROM Hacks
No, it's just trimmed. The actual retail ROM is ~286 MB, it's just padded to 512MB for the cartridge. Patching should result in a < 300MB ROM. -
Nice! quick way to see the level/shop/version: Version = SV / 0x50, 0=black, 1=white, 2=black2, 3=white2 Level = ((SV % 0x50) -1) % 0xA, 0-9 = (1,10) Type = (SV % 0x50) / 0xA, 0=raffle, 1=salon, 2 = market, 3=florist, 4 = dojo, 5=nurse, 6=antique, 7=cafe How to rebuild from choices: Version*0x50 + Type*0xA + Level say b2 level 8 salon: 2*0x50+1*0xA+8=0x00B2 check: 0xAB+(7 levels) = 0xB2
-
You can have either fusion, but just one at a time.
-
Beta: the pokécheck legality checker for generation 5
Kaphotics replied to xfr's topic in Pokémon Legality
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. -
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.
-
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
-
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]
-
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
-
Pokémon Blaze Black 2 & Pokémon Volt White 2
Kaphotics replied to Drayano's topic in ROM - NDS ROM Hacks
The AR codes for the unaltered games are the same for this hack. Nothing changed the layout of the RAM -
tutorial Editing Hidden Grottos via Hex
Kaphotics replied to Drayano's topic in ROM - NDS Guides and Other Resources
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. -
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.
-
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:
-
You can't convert backwards as far as I'm aware.
-
The final feature that PokeGen needs to knock out Pokesav
Kaphotics replied to GeminiPolux's topic in PokeGen
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. -
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
-
Unused ROM Tournaments (WCS2011) Backstory (meh): Lots of things are messed up (sprites, text..), because it was never set/polished. Just a heads up
-
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]
-
Beta: the pokécheck legality checker for generation 5
Kaphotics replied to xfr's topic in Pokémon Legality
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