View Single Post
  #1    
Old March 28th, 2010 (12:10 PM). Edited April 15th, 2010 by Logan.
Klofkac's Avatar
Klofkac Klofkac is offline
He's back!
     
    Join Date: Jun 2009
    Location: Sharpedo Bluff
    Age: 21
    Gender: Male
    Posts: 337
    NOTE: This tutorial is not about how to add a custom first-person-view location picture. This is about how to change associations between map names and their pictures.
    NOTE2: This is my first tutorial. And sorry for my bad english.

    At first, some theory and purpose of this tutorial
    If you have some experience with hacking, you surely know that a Pokémon game contains a certain amount of "map names" that can be used. But you should know that a "map name" is not only a text string, every "map name" is associated with some data, for example the location on the world map, and also the first-person-view location pictute that shows up while entering a map (it's a feature of Fire Red and Leaf Green games).


    As I've just said, some map names are associated with a picture. You can try it: Open Fire Red rom in Advance Map, open Pallet Town map (3.0), go to map header and change the map name into, for example, Viridian forest (choose it from the list, do not rewrite the text.). Save it. Now open the rom in Emulator, start the game and leave your home. When you enter the Pallet town map, the picture of Viridian forest shows up. You cannot influence it by changing anything in map header. But you can influence it by hex editing some data in rom, and it's what this tutorial is about: How to change or remove associations between map names and the pictures.

    But why we want to do such thing? I've played some hacks (for example Shiny Gold) that had problems with it: wrong pictures were showing up when entering some maps, for example Tanoby Chamber picture showed up when entering some routes in Shiny Gold and it was quite annoying.

    Now the tutorial itself
    The only thing you need is a hex editor (and Advance map is recommended).

    First of all, open your Fire Red rom (English version) in hex editor and go to offset 0x43E9E8 (where the associations data are stored). You should see something like this:

    Now let's explain the data. Every association consists of 16 bytes (4 doublewords) One association is marked with red color. First four bytes are association data and rest 12 bytes are 3 pointers to a picture data (picture itself and palletes).
    The first byte is the number of the map name the picture is associated with (for example 7E - This is VIRIDIAN FOREST - as you can see in the table below). The second byte (01) is the way of the transition from the picture to the map (00 - like when you enter a cave, 01 - smooth transition). It's hard to explain it for me, so just try it yourself. Other values are undefined, but if you set any other value, the picture doesn't show up at all.
    I don't know yet what the third byte means, it needs more research.
    And finally the fourth byte is ALWAYS 08.
    Next 12 bytes are pointers to picture data and pallettes, you should work with them as unit.

    Table of map names:
    Spoiler:
    58 PALLET TOWN
    59 VIRIDIAN CITY
    5A PEWTER CITY
    5B CERULEAN CITY
    5C LAVENDER TOWN
    5D VERMILION CITY
    5E CELADON CITY
    5F FUCHSIA CITY
    60 CINNABAR ISLAND
    61 INDIGO PLATEAU
    62 SAFFRON CITY
    63 ROUTE 4
    64 ROUTE 10
    65 ROUTE 1
    66 ROUTE 2
    67 ROUTE 3
    68 ROUTE 4
    69 ROUTE 5
    6A ROUTE 6
    6B ROUTE 7
    6C ROUTE 8
    6D ROUTE 9
    6E ROUTE 10
    6F ROUTE 11
    70 ROUTE 12
    71 ROUTE 13
    72 ROUTE 14
    73 ROUTE 15
    74 ROUTE 16
    75 ROUTE 17
    76 ROUTE 18
    77 ROUTE 19
    78 ROUTE 20
    79 ROUTE 21
    7A ROUTE 22
    7B ROUTE 23
    7C ROUTE 24
    7D ROUTE 25
    7E+ VIRIDIAN FOREST
    7F+ MT. MOON
    80 S.S. ANNE
    81 UNDERGROUND PATH
    82 UNDERGROUND PATH
    83+ DIGLETT'S CAVE
    84+ VICTORY ROAD
    85+ ROCKET HIDEOUT
    86+ SILPH CO.
    87+ POKéMON MANSION
    88+ SAFARI ZONE
    89 POKéMON LEAGUE
    8A+ ROCK TUNNEL
    8B+ SEAFOAM ISLANDS
    8C+ POKéMON TOWER
    8D+ CERULEAN CAVE
    8E+ POWER PLANT
    8F ONE ISLAND
    90 TWO ISLAND
    91 THREE ISLAND
    92 FOUR ISLAND
    93 FIVE ISLAND
    94 SEVEN ISLAND
    95 SIX ISLAND
    96 KINDLE ROAD
    97 TREASURE BEACH
    98 CAPE BRINK
    99 BOND BRIDGE
    9A THREE ISLE PORT
    9B SEVII ISLE 6
    9C SEVII ISLE 7
    9D SEVII ISLE 8
    9E SEVII ISLE 9
    9F RESORT GORGEOUS
    A0 WATER LABYRINTH
    A1 FIVE ISLE MEADOW
    A2 MEMORIAL PILLAR
    A3 OUTCAST ISLAND
    A4 GREEN PATH
    A5 WATER PATH
    A6 RUIN VALLEY
    A7 TRAINER TOWER
    A8 CANYON ENTRANCE
    A9 SEVAULT CANYON
    AA TANOBY RUINS
    AB SEVII ISLE 22
    AC SEVII ISLE 23
    AD SEVII ISLE 24
    AE NAVEL ROCK
    AF+ MT. EMBER
    B0+ BERRY FOREST
    B1+ ICEFALL CAVE
    B2+ ROCKET WAREHOUSE
    B3 TRAINER TOWER
    B4+ DOTTED HOLE
    B5+ LOST CAVE
    B6+ PATTERN BUSH
    B7+ ALTERING CAVE
    B8 TANOBY CHAMBERS
    B9 THREE ISLE PATH
    BA TANOBY KEY
    BB BIRTH ISLAND
    BC+ MONEAN CHAMBER
    BD+ LIPTOO CHAMBER
    BE+ WEEPTH CHAMBER
    BF+ DILFORD CHAMBER
    C0+ SCUFIB CHAMBER
    C1+ RIXY CHAMBER
    C2+ VIAPOIS CHAMBER
    C3 EMBER SPA
    C4 CELADON DEPT.

    Map names marked with "+" have association with a picture.

    List of map pictures in FR:
    Spoiler:


    So now you should know how to work with it and try yourself to change map pictures.
    If you want to remove some associations (surely it's good to remove Tanoby Chamber picture from last 7 map names), I don't recommend to rewrite it by zeros, but you should change the first byte to C5 or change the second byte to any other value than 00 or 01.

    That's all, thanks for reading and I hope this small tutorial helps you a bit!

    Finally, a practical example of use
    I've mentioned the game Pokémon Shiny Gold made by Zel in this tutorial because it's great game but it has a problem with these location pictures. I fixed it and made a small ips patch - it's attached. You can use it if you want - it makes the great game even greater by fixing this bug!
    Attached Images
    File Type: png 01.png‎ (9.7 KB, 1264 views) (Save to Dropbox)
    File Type: png 02.png‎ (9.8 KB, 1236 views) (Save to Dropbox)
    File Type: png hex.png‎ (19.7 KB, 1266 views) (Save to Dropbox)
    File Type: png pics.png‎ (177.4 KB, 1407 views) (Save to Dropbox)
    Attached Files
    File Type: ips Location pictures fix for Shiny Gold.ips‎ (205 Bytes, 19 views) (Save to Dropbox)
    __________________

    I AM BACK!
    Reply With Quote