• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Graphics] [pokeemerald] How to fix messed up palettes for the player sprites other than walking

11
Posts
7
Years
  • So I tried to replace the palette of the player sprite, which worked for the walking sprite but for the others, the palette is MESSED up and I can only find one palette file for the player which is the walking sprite. Is there a way to fix the palette for the other sprites such as running, biking, surfing etc.?
     

    Lunos

    Random Uruguayan User
    3,114
    Posts
    15
    Years
  • So I tried to replace the palette of the player sprite, which worked for the walking sprite but for the others, the palette is MESSED up and I can only find one palette file for the player which is the walking sprite. Is there a way to fix the palette for the other sprites such as running, biking, surfing etc.?
    Every event object sprite of Pokémon Emerald's Brendan minus his reflection on Route 120 uses the exact same palette by default, that is, graphics/object_events/palettes/brendan.pal.
    You'll have to make sure that all the event object sprites of Brendan that you edited in your project use it too, or alternatively, you'll have to assign a different palette to whatever frames you want (running, swimming, fishing, etc) at src/data/object_events/object_event_graphics_info.h.

    For reference, look up the usages of OBJ_EVENT_PAL_TAG_BRENDAN in src/data/object_events/object_event_graphics_info.h and src/event_object_movement.c.
     
    11
    Posts
    7
    Years
  • But does the underwater dive sprite have to share the same palette as the player? I tried that with the default dive palette and the rest of the player sprites palette but it's STILL messed up in game!
     

    セケツ

    ポケハック初心者
    61
    Posts
    7
    Years
    • Seen today
    But does the underwater dive sprite have to share the same palette as the player? I tried that with the default dive palette and the rest of the player sprites palette but it's STILL messed up in game!
    Personally thinking, it's not a question that too difficult to solve at all, since it might be one of the first changes that most of the hackers trying to do.
    Although Lunos has explained most of the solution correctly & in detail, I think it necessary to make it become a little bit easier to understand, just based on nothing but my personal, shallow & awkward experience.
    Back to the binary rom hacking field, it's widely-known & undoubted reality that all of the overworld sprites of the player are given merely one single palette. However, Except the diving sprites.
    According to the explanation of Lunos, the data of the overworlds was stored in the file named "object_event_graphics_info.h", However, if you have any difficulty in understanding & viewing it directly & merely through the source code files (Since the data was written & typed in a little bit messy & disordered way, and when it comes to the graphics, it might be a little bit easier to view & understand it directly instead of some miserable numbers & strings, I think), you could try to view & configure different palettes used by different overworlds just by using an old tool named "OverWorldEditor" to open any normal & unmodified Emerald ROM. Like what everyone did in the old days.
    And from that old tool we know that, all the sprites of the player's OW share the same & one single palette. Instead of THE DIVING SPRITES, which used the palette 15 instead of the palette 0 like other OW sprites of the player. However, Since the palette 15 itself may be not only used by the player's underwater OW but also some other overworlds sprites of other NPCs, it's my suggestion that the original .pal file itself should remain unchanged at all.
    The Others
    Spoiler:

    And The diving:
    Spoiler:

    And Here are 2 different solutions for it.

    1. If your new player underwater sprites share the same palette with the other player's new OW sprites, you could directly change the palette of the picture (Again, Not the .pal file, but the index palette of the picture itself) & the graphics of the old sprites, save it before jump to the source code.
    Spoiler:

    Then it's time to make change for the number of palette of its definition in the source code file, keep it the same with any other pictuure of the Player's OW, in order to get it corrected.
    Spoiler:

    2. And the next, if your new player underwater sprites has the palette that was similar to the original one in the game, Just remain the palette & the source code unchanged, and try to use any copy & paste function of any pixel editing tools to paste your sprites directly on the original sprites. Then save the picture itself. And finally the pasted part would automatically fit it to the closest color in the original indexed palette.
    Spoiler:

    Sorry My English may be unclear, but I hope it would work.
     
    Back
    Top