- 239
- Posts
- 9
- Years
- Seen Apr 17, 2025
This code is based on slawter666's pokeem implementation, which loads a custom sprite for each pokemon that can learn surf. I've ported it to Fire Red and changed it up, in my opinion, for the better.
For starters, the overall surfable pokemon structure has been combined into a single case, so you don't have to worry about matching indices between tables. It also saves space by using pointers to graphics templates that, if are nonexistent, can just be set to zero rather than making a null template.
The palettes are also loaded directly, rather than being searched for by tag, so a single palette tag can be used for all of the sprites. This isn't that big of a deal with the knowledge of increased palette tags, but it saves the user the work of adding palettes to their npc palette table.
The repository is here. The readme should do a good job of explaining necessary information, but please ask if anything is unclear or not working correctly.
**One of the main reasons I ported this was to encourage more artwork to be developed for this resource, as only a handful of sprites have been made thus far. My intent was that with more users gaining access to it, more people would be willing to contribute. I will be contributing here and there, but my spriting skill is somewhat limited, so please help out :)
I should also note that the pokeem source allows horizontally-aligned images, but I am unaware of such a nicety in FR, so the sprites must be vertically aligned. It's not too bad to swap frames around, though.
Here is a nice GIF of it working in FR:
Finally, here is the spriting progress:
Gen I (35.7%)
Squirtle - Complete (emme97)
Wartortle - Complete (Avara)
Blastoise - Complete (emme97)
Nidoqueen
Nidoking
Psyduck - Complete (ghoulslash)
Golduck - Complete (ghoulslash)
Poliwag
Poliwhirl
Poliwrath
Tentacool - Complete (Avara)
Tentacruel - Complete (Avara)
Slowpoke - Complete (ghoulslash)
Slowbro - Complete (ghoulslash)
Seel - Complete (ghoulslash)
Dewgong - Complete (ghoulslash)
Shellder
Cloyster
Krabby
Kingler
Lickitung
Rhydon
Kangaskhan
Horsea
Seadra
Goldeen
Seaking
Staryu - Complete (ghoulslash)
Starmie - Complete (ghoulslash)
Tauros
Gyarados
Lapras - Complete (Slawter666)
Vaporeon - Complete (ghoulslash)
Omanyte
Omastar
Kabuto
Kabutops
Snorlax
Dratini
Dragonair
Dragonite
Mew
Gen II (4.1%)
Totodile
Croconaw
Feraligatr
Sentret
Furret
Chinchou
Lanturn
Marill
Azumarill
Politoed
Wooper
Quagsire
Slowking - Complete (ghoulslash)
Qwilfish
Sneasel
Corsola
Remoraid
Octillery
Mantine
Kingdra
Miltank
Suicune
Tyranitar
Lugia
Gen III (11.1%)
Mudkip
Marshtomp
Swampert
Zigzagoon
Linoone
Lotad
Lombre
Ludicolo
Pelipper
Exploud
Makuhita
Hariyama
Azurill
Aggron
Carvanha
Sharpedo
Wailmer - Complete (Hestia)
Wailord
Barboach
Whiscash
Corphish
Crawdaunt
Feebas
Milotic
Spheal - Complete (ghoulslash)
Sealeo - Complete (ghoulslash)
Walrein - Complete (ghoulslash)
Clamperl
Huntail
Gorebyss
Relicanth
Luvdisc
Latias
Latios
Kyogre
Rayquaza
Gen IV
Gen V
Gen VI
Gen VII
For starters, the overall surfable pokemon structure has been combined into a single case, so you don't have to worry about matching indices between tables. It also saves space by using pointers to graphics templates that, if are nonexistent, can just be set to zero rather than making a null template.
The palettes are also loaded directly, rather than being searched for by tag, so a single palette tag can be used for all of the sprites. This isn't that big of a deal with the knowledge of increased palette tags, but it saves the user the work of adding palettes to their npc palette table.
The repository is here. The readme should do a good job of explaining necessary information, but please ask if anything is unclear or not working correctly.
**One of the main reasons I ported this was to encourage more artwork to be developed for this resource, as only a handful of sprites have been made thus far. My intent was that with more users gaining access to it, more people would be willing to contribute. I will be contributing here and there, but my spriting skill is somewhat limited, so please help out :)
I should also note that the pokeem source allows horizontally-aligned images, but I am unaware of such a nicety in FR, so the sprites must be vertically aligned. It's not too bad to swap frames around, though.
Here is a nice GIF of it working in FR:
![[PokeCommunity.com] Fire Red Dynamic Surf Overworlds [PokeCommunity.com] Fire Red Dynamic Surf Overworlds](https://i.imgur.com/iktycB1.gif)
Finally, here is the spriting progress:
Gen I (35.7%)
Spoiler:
Squirtle - Complete (emme97)
Wartortle - Complete (Avara)
Blastoise - Complete (emme97)
Nidoqueen
Nidoking
Psyduck - Complete (ghoulslash)
Golduck - Complete (ghoulslash)
Poliwag
Poliwhirl
Poliwrath
Tentacool - Complete (Avara)
Tentacruel - Complete (Avara)
Slowpoke - Complete (ghoulslash)
Slowbro - Complete (ghoulslash)
Seel - Complete (ghoulslash)
Dewgong - Complete (ghoulslash)
Shellder
Cloyster
Krabby
Kingler
Lickitung
Rhydon
Kangaskhan
Horsea
Seadra
Goldeen
Seaking
Staryu - Complete (ghoulslash)
Starmie - Complete (ghoulslash)
Tauros
Gyarados
Lapras - Complete (Slawter666)
Vaporeon - Complete (ghoulslash)
Omanyte
Omastar
Kabuto
Kabutops
Snorlax
Dratini
Dragonair
Dragonite
Mew
Gen II (4.1%)
Spoiler:
Totodile
Croconaw
Feraligatr
Sentret
Furret
Chinchou
Lanturn
Marill
Azumarill
Politoed
Wooper
Quagsire
Slowking - Complete (ghoulslash)
Qwilfish
Sneasel
Corsola
Remoraid
Octillery
Mantine
Kingdra
Miltank
Suicune
Tyranitar
Lugia
Gen III (11.1%)
Spoiler:
Mudkip
Marshtomp
Swampert
Zigzagoon
Linoone
Lotad
Lombre
Ludicolo
Pelipper
Exploud
Makuhita
Hariyama
Azurill
Aggron
Carvanha
Sharpedo
Wailmer - Complete (Hestia)
Wailord
Barboach
Whiscash
Corphish
Crawdaunt
Feebas
Milotic
Spheal - Complete (ghoulslash)
Sealeo - Complete (ghoulslash)
Walrein - Complete (ghoulslash)
Clamperl
Huntail
Gorebyss
Relicanth
Luvdisc
Latias
Latios
Kyogre
Rayquaza
Gen IV
Spoiler:
Gen V
Spoiler:
Gen VI
Spoiler:
Gen VII
Spoiler:
Last edited: