diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-12-03 22:23:46 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-12-03 22:23:46 -0500 |
commit | 3dd7ec7526af6f49b77367d91cd1a9565847dc64 (patch) | |
tree | 4b6f3b1c6f2f0ef4373e579b85e117ff27fc8557 /src | |
parent | 8b5d6fe5d915053d6e052ba3279c8d1a98fd1509 (diff) |
through sub_800E15C
Diffstat (limited to 'src')
-rw-r--r-- | src/link_rfu.c | 49 |
1 files changed, 48 insertions, 1 deletions
diff --git a/src/link_rfu.c b/src/link_rfu.c index 68d42ec4a..eaf919bae 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -2,6 +2,7 @@ // Includes #include "global.h" #include "rng.h" +#include "decompress.h" #include "text.h" #include "event_data.h" #include "link.h" @@ -163,7 +164,7 @@ static const union AnimCmd *const sWirelessStatusIndicatorAnims[] = { sWirelessStatusIndicatorAnim3, sWirelessStatusIndicatorAnim4 }; -const struct SpriteSheet sWirelessStatusIndicatorSpriteSheet = { +const struct CompressedSpriteSheet sWirelessStatusIndicatorSpriteSheet = { gWirelessLinkIconPic, 0x0380, 0xD431 }; const struct SpritePalette sWirelessStatusIndicatorSpritePalette = { @@ -2100,3 +2101,49 @@ void CreateWirelessStatusIndicatorSprite(u8 x, u8 y) gSprites[gWirelessStatusIndicatorSpriteId].invisible = TRUE; } } + +void sub_800E084(void) +{ + if (gSprites[gWirelessStatusIndicatorSpriteId].data7 == 0x1234) + { + gSprites[gWirelessStatusIndicatorSpriteId].data7 = 0; + DestroySprite(&gSprites[gWirelessStatusIndicatorSpriteId]); + gMain.oamBuffer[125] = gDummyOamData; + CpuCopy16(&gDummyOamData, (struct OamData *)OAM + 125, sizeof(struct OamData)); + } +} + +void sub_800E0E8(void) +{ + if (GetSpriteTileStartByTag(sWirelessStatusIndicatorSpriteSheet.tag) == 0xFFFF) + { + LoadCompressedObjectPic(&sWirelessStatusIndicatorSpriteSheet); + } + LoadSpritePalette(&sWirelessStatusIndicatorSpritePalette); + gWirelessStatusIndicatorSpriteId = 0xFF; +} + +u8 sub_800E124(void) +{ + u8 i; + u8 flags = gUnknown_03007890->unk_02; + for (i = 0; i < 4; i++) + { + if (flags & 1) + { + return gUnknown_03007890->unk_0a[i]; + } + flags >>= 1; + } + return 0; +} + +void sub_800E15C(struct Sprite *sprite, int val) +{ + if (sprite->data2 != val) + { + sprite->data2 = val; + sprite->data3 = 0; + sprite->data4 = 0; + } +} |