diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-04-24 08:21:39 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-04-24 08:21:39 -0400 |
commit | bedf072c371990c991203d7ffca6e4c0941a891f (patch) | |
tree | 1a9aa35115ea203b4120d9b88f4e6ac22bfd9cc7 /src | |
parent | 3f34a0491d42c8e35a1d26bb34d59106d8a30660 (diff) |
Finish decompilation of pokedex_area_screen
Diffstat (limited to 'src')
-rw-r--r-- | src/pokedex_area_screen.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index af5c5dd54..2f2d20942 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -19,6 +19,7 @@ #include "overworld.h" #include "event_data.h" #include "trig.h" +#include "graphics.h" // Static type declarations @@ -1382,3 +1383,57 @@ void DestroyAreaSprites(void) } } } + +const struct SpritePalette gUnknown_083F865C = {gAreaUnknownPalette, 3}; + +void LoadAreaUnknownGraphics(void) +{ + struct SpriteSheet spriteSheet = {gPokedexAreaScreenPtr->unk0FB4, 0x600, 3}; + + LZ77UnCompWram(gAreaUnknownTiles, gPokedexAreaScreenPtr->unk0FB4); + LoadSpriteSheet(&spriteSheet); + LoadSpritePalette(&gUnknown_083F865C); +} + +const struct OamData gOamData_83F866C = { + .size = 2, + .priority = 1 +}; + +const struct SpriteTemplate gSpriteTemplate_83F8674 = { + 3, + 3, + &gOamData_83F866C, + gDummySpriteAnimTable, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +void CreateAreaUnknownSprites(void) +{ + u16 i; + u8 spriteId; + + if (gPokedexAreaScreenPtr->unk0110 != 0 || gPokedexAreaScreenPtr->unk0112 != 0) + { + for (i = 0; i < 3; i++) + { + gPokedexAreaScreenPtr->unk0FA8[i] = NULL; + } + } + else + { + for (i = 0; i < 3; i++) + { + spriteId = CreateSprite(&gSpriteTemplate_83F8674, i * 32 + 0xa0, 0x8c, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].oam.tileNum += i * 16; + gPokedexAreaScreenPtr->unk0FA8[i] = gSprites + spriteId; + } + else + gPokedexAreaScreenPtr->unk0FA8[i] = NULL; + } + } +} |