summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2019-04-11 11:04:48 -0400
committerscnorton <scnorton@biociphers.org>2019-04-11 11:04:48 -0400
commitb2b26e0e3b3d1824ae01c0bf05c0041dd055e536 (patch)
treebb8c980c297753c2d9972cf13cf8e929cc29313d /src
parent6eb7cc6cfae14b93feee880b23e903c336c58dcd (diff)
through sub_8130FD4 and associated rodata
Diffstat (limited to 'src')
-rw-r--r--src/oak_speech.c52
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;
+ }
+}