Jump to content

Kaphotics

Helpful Member
  • Posts

    7196
  • Joined

  • Last visited

  • Days Won

    355

Posts posted by Kaphotics

  1. 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

  2. Unused ROM Tournaments (WCS2011)

    pwt%20b.pngpwt%20juniorb.pngpwt%20seniorb.pngpwt%20masterb.png

    Backstory (meh):

    Back when B2W2 first came out, I noted that there was an unused narc that contained data for WCS2011 tournaments, a/2/5/8. It is inaccessible in game, but I managed to parse the data it contained.

    Interestingly enough, the file format is not too far off of the Download Tournaments. So... I converted the unused ROM tournaments to actual raw download files, then using Prof. 9's program I got them out as the .pwt files :)

    There was 12 tournaments in the narc. Juniors, Masters, and Seniors all had tournaments -- one is the standard, then the other is an edited (toned down) version. Then there's duplicates of the first 6.. so I omitted those.

    Lots of things are messed up (sprites, text..), because it was never set/polished. Just a heads up :P

  3. In the 5th gen, Pokemon hatched from eggs keep the trashbytes the had from the name "Egg" (or the equivalent in whatever language they're from), this is usually overwritten by the new name when the Pokemon hatches but it is possible to see with some spanish Pokemon as their eggs are named "Huevo".

    http://www.pokecheck.org/?p=detail&uid=1962525 This has pefectly normal Trash Bytes (second xFFFF is the terminator sequence from the name Huevo).

    http://www.pokecheck.org/?p=detail&uid=466144 This is a hack as it is missing the terminator sequence from the name Huevo.

    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

  4. 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 :)

    skyla%20helper.png

    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.

    rebuy.png

  5. 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

    0x24E8C - "Person you like" Response

    00 - No Response
    01 - Yes
    02 - No
    03 - Many
    04 - Not interested

    0x024E8D - "When you like somebody" Response

    00 - No Response
    01 - Tell the person about it
    02 - Wait for the other person to say it first

    0x024E8E - "Charming feature" Response

    00 - No Response
    01 - Coolness
    02 - Beauty
    03 - Cuteness
    04 - Cleverness
    05 - Toughness

    0x24E8F - "Personality" Response

    00 - No Response
    01 - Meticulous
    02 - Sloppy

    0x24E90 - "Siblings" Response

    00 - No Response
    01 - Oldest
    02 - Middle
    03 - Youngest
    04 - Only child

    0x24E91 - "Friend types" Response

    00 - No Response
    01 - Boys
    02 - Girls
    03 - Men
    04 - Women
    05 - Middle-aged men
    06 - Middle-aged women
    07 - Elderly men
    08 - Elderly women

    0x24E92 - "Your room" Response

    00 - No Response
    01 - Neat
    02 - Messy

    0x24E93 - "Dreams" Response

    00 - No Response
    01 - Make it come true
    02 - Give it up

    0x24E94 - "Rules" Response

    00 - No Response
    01 - Follow them
    02 - Create new ones
    03 - Break them

    0x24E95 - "Talents and efforts" Response

    00 - No Response
    01 - Effort
    02 - Talent

    0x24E96 - "Hottest" Response

    00 - No Response
    01 - Pokestar Studios
    02 - Funfest Mission
    03 - The PWT
    04 - Join Avenue
    05 - Black City
    06 - White Forest
    07 - Medal Rally
    08 - Xtransceiver
    09 - Hidden Grottoes

    0x24E97 - "Regions" Response

    00 - No Response
    01 - Kanto
    02 - Johto
    03 - Hoenn
    04 - Sinnoh
    05 - Unova

    0x24E98 - "Bad thing" Response

    00 - No Response
    01 - Forget it and move on
    02 - Dwell on it

    0x24E99 - "Behavior" Response

    00 - No Response
    01 - Impatient
    02 - Laid-back

    0x24E9A - "Conversation" Response

    00 - No Response
    01 - Talk
    02 - Listen

    0x24E9B - "Secret" Response

    00 - No Response
    01 - Keep it to myself
    02 - Tell someone about it

    Activities Structure

    0x00 - Activity 1 Type

    0x01 - Activity 2 Type

    0x02 - Activity 3 Type

    0x03 - Activity 4 Type

    0x04/5 - Activity 1 Date

    0x06/7 - Activity 2 Date

    0x08/9 - Activity 3 Date

    0x0A/B - Activity 4 Date

    Date: Not sure, it looks to be proportional to days + a bunch depending on the number.

    194E = 10/14/12

    18F5 = 7/21/12 (194E-18F5 = 89, difference between dates is 85. 4 discrepancy)

    18F4 = 7/20/12

    18E3 = 7/3/12

    Activities:

    00 - No Activity (none)
    01 - I defeated the Champion and entered the Hall of Fame on %DATE!
    02 - I battled in the Battle Subway on %DATE!
    03 - I shot a movie in Pokestar Studios on %DATE!
    04 - I took a Battle Test at the Battle Institute on %DATE!
    05 - I participated in the Pokemon Musical on %DATE!
    06 - I entered someone's world in the Entralink on %DATE!
    07 - I tried a Funfest mission on %DATE!
    08 - I hatched a Pokemon Egg on %DATE!
    09 - I raised a Pokemon's level on %DATE!
    0A - I was watching TV on %DATE!
    0B - I checked inside a trash can on %DATE!
    0C - I gave one of my Pokemon a nickname on %DATE!
    0D - I caught a Pokemon with a Super Rod on %DATE!
    0E - I was looking for hidden items on %DATE!
    0F - I had a Pokemon Fossil restored on %DATE!
    10 - I was communicating in the Union Room on %DATE!
    11 - I was trading Pokemon through the GTS on %DATE!
    12 - I was trading Pokemon through GTS Negotiations on %DATE!
    13 - I was watching somebody's Battle Video on %DATE!
    14 - I was battling via Random Matchup on %DATE!
    15 - I took a Ferris-wheel ride on %DATE!
    16 - I was challenging the Black Tower on %DATE!
    17 - I was challenging the Pokemon World Tournament on %DATE!
    18 - I was raising the popularity of Join Avenue on %DATE!
    19 - I was playing a game on the Xtransceiver on %DATE!
    1A - I was communicating in the Wi-Fi Club on %DATE!
    1B - I was looking for Hidden Grottoes on %DATE!
    1C - I connected to the Pokemon Dream World using Game Sync on %DATE!
    1D - I received a Mystery Gift from a deliveryman on %DATE!
    1E - I was communicating via Infrared Connection on %DATE!
    1F - I caught a wild Pokemon on %DATE!
    20 - I was challenging the White Treehollow on %DATE!

    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

  6. 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).

    ja%20sprites.pngflag.png

    level%20100.pngavenue%20sprites.png

    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.

    reinsert.png

  7. When I opened a programm or a .txt file of PokeStock there a only some curious letters (like this: Eƒtƒ@ƒCƒ‹‚ðŠJ) inside instead of japanese ones.

    Is there any way how I can fix that?

    Or is it possible to translate those letters into Japanese or even English?

    Thanks in advance. :)

    use the localized files that are provided in the thread

  8. I notice there are reveal codes for BW1

    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.

  9. 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.

  10. EXCELLENT ! Thanks for the info *-*

    Now there are a few hex that i dont understand, following your table it starts in the order of the game from floccesy ranch and onwards, im editing the file 3_000 on CrystalTile2 (from narc a/2/7/3 hidden grottos) it starts normally with CE00 (dunsparce) and also contains Marril (B700) and herdier (FB01) which are correct... but what im confused about is the 0A & 1E, are these fillers?

    Also is there any hex editor that can show me the tables in the same order as the ones you posted? because in CT2 they are in order but they dont show all the values on the same line like your tables.

    Here´s a Screenie just in case.

    [ATTACH]10220[/ATTACH]

    pretty sure those are levels (it's been awhile)

    there's ground items and dowsing items

  11. Thanks for this, great to be able to play a harder version on my first playthrough.

    Just registered to mention that the "Habitat" button in the Pokedex doesn't work, it gives me a black screen and I have to hard reset. I tried to access it after getting the starter pokemon, so I'm not sure if it works elsewhere in the game. It might be an easy fix, might not, but I didn't see it in the known bugs list so I thought I would mention it.

    If it's an easy fix, it could be really useful given the new/altered pokemon locations compared to the original.

    Habitats do not get changed by simply changing the encounter table, they are in another file that has yet to be deciphered. It's probably crashing because the data is mismatching between habitat and encounter table. It won't be a simple fix, and won't be fixed (at all).

    Just use the uploaded location listings provided by Drayano.

×
×
  • Create New...