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

Pokemon Emerald 80x80 Sprites

19
Posts
12
Years
    • Seen Apr 11, 2021
    Not sure if this is the best place, but wanted to drop this here:
    https://github.com/froggestspirit/pokeemerald/tree/80x80Sprites
    I recently released a branch for those who use the decomp, that replaces the 64x64 sprites with the DS's 80x80 ones.
    For a long time, people said it wasn't possible, or it was too much work. It's not perfect, but I'm pretty happy with the results. This works by creating additional sprites that mimic the main sprites position, rotation, etc. I've adjusted the positioning of the healthboxes, and moved the main battle textbox down 8 pixels. All Pokemon should be using their D/P sprites, with the exception of Castform and Unown. Trainers are the same emerald sprites, but on an 80x80 canvas, so they can be upscaled/replaced if needed.
    There's a few known bugs as mentioned on the github, and there can be breif moments of a sprite being cut off during an animation (like when smoochum is sent out in the gif attached). This generally only happens in double battles, since the GBA has a sprite limit per scanline (Transformations double the sprite canvas size).
     

    Attachments

    • 8080.gif
      8080.gif
      509.5 KB · Views: 510
    • 80802.gif
      80802.gif
      807.5 KB · Views: 445
    • 80803.gif
      80803.gif
      1.3 MB · Views: 368
    • pokeemerald_modern-0.png
      pokeemerald_modern-0.png
      8 KB · Views: 429
    • pokeemerald_modern-1.png
      pokeemerald_modern-1.png
      9 KB · Views: 399
    • pokeemerald_modern-2.png
      pokeemerald_modern-2.png
      7.3 KB · Views: 345
    • pokeemerald_modern-3.png
      pokeemerald_modern-3.png
      7.8 KB · Views: 378
    853
    Posts
    3
    Years
    • Seen Nov 9, 2023
    huh, this looks like a potential game changer, when(if) everything's ironed out.

    I can see re-creating gen 4 in gba, so we can use all the gen 3 tools. XD
     

    Lunos

    Random Uruguayan User
    3,114
    Posts
    15
    Years
  • This will be possible on Fire Red too? 🤔
    If it was possible to accomplish in Pokeemerald, it should be just as possible to do in Pokefirered, yeah.
    Hunch says it'll need some extra tweaks to make it work there though, and you may need to take different edge cases into account, such as the animation that is triggered when you give a medicine or a Rare Candy to a Pokémon.
     
    7
    Posts
    11
    Years
    • Seen Sep 17, 2023
    Is it possible to only replace the trainer sprites with 80x80 ones? And the pokémon sprites stay the same size (64x64).
    Or are they somehow tied together?
     
    4
    Posts
    5
    Years
    • Seen Apr 17, 2024
    Something I'm hoping to see from this is to have the this being toggable via a script. So you can use normal sprites for 99% of the game (so double battles and such aren't affected), but then have the 80x80 sprite for special boss battles.

    My main concern is the hassle of getting the sprite engine being swapped being stable, but more so weather the player's side is tied to the enemy sizes or not.

    The other obvious use for this is Gigantamax, though that would involve changing a 64x64 sprite to a 80x80 sprite mid battle, which I'm sure would be much harder than setting sprite sizes pre-battle.
     
    2
    Posts
    1
    Years
    • Seen Oct 14, 2023
    Hi!

    I've been trying to compile this code, but I keep getting this error:

    Code:
    `rawMatrix' referenced in section `.text' of gflib/sprite.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of gflib/sprite.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of gflib/sprite.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of src/battle_anim_mons.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of src/battle_anim_mons.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of src/pokedex.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of src/pokedex.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of src/pokedex.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of src/pokedex_cry_screen.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of src/pokemon_animation.o: defined in discarded section `COMMON' of gflib/sprite.o

    I've tried merging with a more updated version of pokeemerald, and adding an extern definition for rawMatrix to sprite.h, but I couldn't get that to help. Do you know what might be causing this, or how I can fix it?
     
    448
    Posts
    6
    Years
    • Seen May 6, 2024
    Hi!

    I've been trying to compile this code, but I keep getting this error:

    Code:
    `rawMatrix' referenced in section `.text' of gflib/sprite.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of gflib/sprite.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of gflib/sprite.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of src/battle_anim_mons.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of src/battle_anim_mons.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of src/pokedex.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of src/pokedex.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of src/pokedex.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of src/pokedex_cry_screen.o: defined in discarded section `COMMON' of gflib/sprite.o
    `rawMatrix' referenced in section `.text' of src/pokemon_animation.o: defined in discarded section `COMMON' of gflib/sprite.o

    I've tried merging with a more updated version of pokeemerald, and adding an extern definition for rawMatrix to sprite.h, but I couldn't get that to help. Do you know what might be causing this, or how I can fix it?

    You can solve this by changing the declaration of rawMatrix in gflib/sprite.c to:
    Code:
    EWRAM_DATA struct ObjAffineSrcData rawMatrix[OAM_MATRIX_COUNT];
     
    Back
    Top