diff options
author | scnorton <scnorton@biociphers.org> | 2019-04-11 11:04:48 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2019-04-11 11:04:48 -0400 |
commit | b2b26e0e3b3d1824ae01c0bf05c0041dd055e536 (patch) | |
tree | bb8c980c297753c2d9972cf13cf8e929cc29313d /src | |
parent | 6eb7cc6cfae14b93feee880b23e903c336c58dcd (diff) |
through sub_8130FD4 and associated rodata
Diffstat (limited to 'src')
-rw-r--r-- | src/oak_speech.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/oak_speech.c b/src/oak_speech.c index 8cdfd2bb5..159a377cb 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -545,6 +545,12 @@ extern const struct WindowTemplate gUnknown_8462ED0; extern const struct TextColor gUnknown_8462EE8; extern const struct TextColor gUnknown_8462EEC; extern const u8 *const gUnknown_8462EF0[]; +extern const struct CompressedSpriteSheet gUnknown_8462EFC[3]; +extern const struct CompressedSpriteSheet gUnknown_8462F14; +extern const struct SpritePalette gUnknown_8462F1C; +extern const struct SpritePalette gUnknown_8462F24; +extern const struct SpriteTemplate gUnknown_8462F50[3]; +extern const struct SpriteTemplate gUnknown_846302C[3]; extern const u8 *const gUnknown_8463074[]; void sub_812E944(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4, u8 a5) @@ -1793,3 +1799,49 @@ static void CreateNidoranFSprite(u8 taskId) gSprites[spriteId].invisible = TRUE; gTasks[taskId].data[4] = spriteId; } + +void sub_8130FB8(struct Sprite * sprite) +{ + sprite->pos2.y = gSprites[sprite->data[0]].animCmdIndex; +} + +void sub_8130FD4(u8 taskId, u8 state) +{ + u8 spriteId; + u8 i = 0; + + switch (state) + { + case 0: + LoadCompressedObjectPic(&gUnknown_8462EFC[0]); + LoadCompressedObjectPic(&gUnknown_8462EFC[1]); + LoadCompressedObjectPic(&gUnknown_8462EFC[2]); + LoadSpritePalette(&gUnknown_8462F1C); + spriteId = CreateSprite(&gUnknown_846302C[0], 0x10, 0x11, 2); + gSprites[spriteId].oam.priority = 0; + gTasks[taskId].data[7] = spriteId; + spriteId = CreateSprite(&gUnknown_846302C[1], 0x10, 0x09, 3); + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].data[0] = gTasks[taskId].data[7]; + gSprites[spriteId].callback = sub_8130FB8; + gTasks[taskId].data[8] = spriteId; + spriteId = CreateSprite(&gUnknown_846302C[2], 0x18, 0x0D, 1); + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].data[0] = gTasks[taskId].data[7]; + gSprites[spriteId].callback = sub_8130FB8; + gTasks[taskId].data[9] = spriteId; + break; + case 1: + LoadCompressedObjectPic(&gUnknown_8462F14); + LoadSpritePalette(&gUnknown_8462F24); + for (i = 0; i < 3; i++) + { + spriteId = CreateSprite(&gUnknown_8462F50[i], i * 32 + 88, 0x70, 1); + gSprites[spriteId].oam.priority = 2; + gSprites[spriteId].animPaused = TRUE; + gSprites[spriteId].coordOffsetEnabled = TRUE; + gTasks[taskId].data[7 + i] = spriteId; + } + break; + } +} |