• 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] Animated Trainer Sprites

Zervais

Island Kahuna
258
Posts
7
Years
  • Is there anyway that you can animate the front sprites of trainers? I know there's been research done into animating Pokemon sprites, but I'd be really interested in getting something akin to Pokemon Platnium.
     
    794
    Posts
    10
    Years
  • Is there anyway that you can animate the front sprites of trainers? I know there's been research done into animating Pokemon sprites, but I'd be really interested in getting something akin to Pokemon Platnium.

    Isn't there a one battle in Fire Red when you're against Gary at the S.S Anne where he does a pose?
     

    BluRose

    blu rass
    811
    Posts
    10
    Years
  • How do I implement this though?
    Spoiler:

    i'm betting that there are literally just 148 pointers in a row which are literally the same thing:
    E8 47 23 08

    at address 2347E8:
    Code:
    00 00 00 00 
    FF FF 00 00
    per entry:
    [2 bytes] - frame number (little endian)
    [2 bytes] - duration. probably in frames with maybe an upper deadband (if 16 (0x10) is about half a second, then let's assume 30 frames/second)? FE doesn't actually show the sprite for 254 frames (~8.5 seconds), though, so idk
    terminating string: FF FF 00 00

    so, if we go back to our table at 238E8C, it's in sprite index order.
    repoint one to free space or something, i hope you know at least how to do this for the trainer sprite you desire ahaha
    there, we'll put shinyquagsire's example:
    Code:
    00 00 00 00
    02 00 FE 00
    02 00 30 00
    01 00 0F 00
    00 00 30 00
    FF FF 00 00
    translation:
    frame 0 for 0 frames
    frame 2 for 254 frames
    frame 2 for 48 frames
    frame 1 for 15 frames
    frame 0 for 48 frames
    end

    so, how does the game decide frame indices (indexes)? this is also rather simple:
    frame 0 is the default trainer sprite. the topmost 64x64 pixels.
    frame 1 is the second topmost 64x64 pixels.
    frame 2 is the third topmost 64x64 pixels.
    a visual look at this can be obtained from this, where all the individual bulbasaur represent their own frames, 0 being the top, 3 being the bottom*
    when put into the game (using some custom code to make the pokémon themselves animated all the time and not just when put into battle. code made by a few friends from robotics and me literally yesterday):**
    Animated Trainer Sprites


    *
    Spoiler:

    **
    Spoiler:
     
    Back
    Top