-
Posts
7897 -
Joined
-
Last visited
-
Days Won
463
Content Type
Profiles
Pokédex
Portal
Technical Documentation
Pages
Tutorials
Forums
Events
Downloads
Gallery
Blogs
Everything posted by Kaphotics
-
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 -
it's a pdf file not a word document use adobe acrobat edit: Nope. Use an online PDF to .doc converter.
- 4 replies
-
- black and white
- documentation
-
(and 1 more)
Tagged with:
-
Beta: the pokécheck legality checker for generation 5
Kaphotics replied to xfr's topic in Pokémon Legality
Well to be fair it's not 65536 (it's 65535). Thanks dewey -
Beta: the pokécheck legality checker for generation 5
Kaphotics replied to xfr's topic in Pokémon Legality
http://www.pokecheck.org/?p=detail&uid=1857167 illegal held item Red/Blue/Pink/Yellow/Green scarfs aren't obtainable in bw/bw2 -
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.
-
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
-
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.
-
Floccesy Ranch not included in locations
Kaphotics replied to HinDae's topic in Project Pokémon Feedback
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. -
Floccesy Ranch not included in locations
Kaphotics replied to HinDae's topic in Project Pokémon Feedback
sangi ranch there hasn't been a new version since around august, so any localization hasn't happened -
tool Pokemon ROM Changer
Kaphotics replied to Kaphotics's topic in ROM - NDS Research and Development
Here's PRC for the versions of BBVW2 (version 1.0) PRC for BBVW2 Complete 1.00 PRC for BBVW2 Vanilla 1.00 -
Trance has provided most of them in individual posts. http://projectpokemon.org/forums/showthread.php?13832-PokeStock-BW-(Updated-for-B2-W2!)&p=143114&viewfull=1#post143114 http://projectpokemon.org/forums/showthread.php?13832-PokeStock-BW-(Updated-for-B2-W2!)&p=150755&viewfull=1#post150755 http://projectpokemon.org/forums/showthread.php?13832-PokeStock-BW-(Updated-for-B2-W2!)&p=154351&viewfull=1#post154351 Conri also provided another compilation http://projectpokemon.org/forums/showthread.php?13832-PokeStock-BW-(Updated-for-B2-W2!)&p=143744&viewfull=1#post143744 The megaupload link would be more out of date than anything in this thread
-
use the localized files that are provided in the thread
-
B2W2 have different offsets and the B1W1 code just read from a given memory location. If you wanted it for the new games, just replace the offsets with the new ones. Nobody has converted it because it was a testing code. Remember, ARs can give different parameters.
-
http://projectpokemon.org/forums/showthread.php?16681-Gen-3-Lua-Scripts vba-rr and other vba versions can run scripts that interpret the memory in real time. you can find out how to run them with a simple google search, it's pretty easy
-
Pokémon Blaze Black 2 & Pokémon Volt White 2
Kaphotics replied to Drayano's topic in ROM - NDS ROM Hacks
AR codes are the same for the retail games. All Drayano does is compile them for you ahead of time... -
Is it possible to get both on the same game? no. When you fuse, it stores the Zek/Resh in the save file. When you unfuse, that stored Zek/Resh is re-added to the party. It only stores one, hence only one Kyurem can be fused at a time. If you attempt to unfuse a Kyurem when a Zek/Resh is not stored, you get a bad egg. In general, only have one fusion on your game at a time.