summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-11-25 20:14:34 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2018-11-25 20:14:34 -0500
commit1f9c58abedd92168b75e2d44abd6521fd82c78b2 (patch)
treeb595eaefdae0fccb873e2849812c107b94f50a3e /src
parentf05f41b89a0de0e0c32a06d6477de0d5e2fad243 (diff)
through sub_812D814
Diffstat (limited to 'src')
-rw-r--r--src/fame_checker.c91
1 files changed, 91 insertions, 0 deletions
diff --git a/src/fame_checker.c b/src/fame_checker.c
index d309e59a3..c5039fa5f 100644
--- a/src/fame_checker.c
+++ b/src/fame_checker.c
@@ -23,6 +23,14 @@
#include "field_map_obj.h"
#include "text_window.h"
+#define SPRITETAG_1000 1000
+#define SPRITETAG_1001 1001
+#define SPRITETAG_1002 1002
+#define SPRITETAG_1006 1006
+#define SPRITETAG_1007 1007
+#define SPRITETAG_1008 1008
+#define SPRITETAG_1009 1009
+
struct FameCheckerData
{
MainCallback unk_00;
@@ -119,6 +127,9 @@ extern const struct BgTemplate gUnknown_845FBF4[4];
extern const struct SpriteSheet gUnknown_845FB9C[];
extern const struct SpritePalette gUnknown_845FBDC[];
extern const struct WindowTemplate gUnknown_845FC04[];
+extern const struct SpriteTemplate gUnknown_845FC44;
+extern const struct SpriteTemplate gUnknown_845FC78;
+extern const struct SpriteTemplate gUnknown_845FCB8;
void sub_812C380(void)
{
@@ -742,3 +753,83 @@ void sub_812D5EC(void)
sub_812D650();
}
}
+
+void sub_812D650(void)
+{
+ if (gUnknown_20370C0 < 16 && gSpecialVar_0x8005 < 3)
+ {
+ if (gSpecialVar_0x8005 == 0)
+ return;
+ if (gSpecialVar_0x8005 == 1 && gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].unk_0_0 == 2)
+ return;
+ gSaveBlock1Ptr->fameChecker[gUnknown_20370C0].unk_0_0 = gSpecialVar_0x8005;
+ }
+}
+
+bool8 sub_812D6B4(void)
+{
+ u8 r2;
+ u8 r1 = gUnknown_203B0FC->unk_0C[sub_812E064()];
+ for (r2 = 0; r2 < 6; r2++)
+ {
+ if (!((gSaveBlock1Ptr->fameChecker[r1].unk_0_2 >> r2) & 1))
+ return FALSE;
+ }
+ return TRUE;
+}
+
+void sub_812D70C(void)
+{
+ FreeSpriteTilesByTag(SPRITETAG_1000);
+ FreeSpritePaletteByTag(SPRITETAG_1000);
+}
+
+u8 sub_812D724(s16 a0)
+{
+ s16 r4 = a0 >= 3 ? 61 : 34;
+ s16 r1 = 47 * (a0 % 3) + 0x72;
+ return CreateSprite(&gUnknown_845FC44, r1, r4, 0);
+}
+
+void sub_812D764(struct Sprite * sprite)
+{
+ DestroySprite(sprite);
+}
+
+void sub_812D770(void)
+{
+ FreeSpriteTilesByTag(SPRITETAG_1001);
+}
+
+u8 sub_812D780(u8 x, u8 y)
+{
+ u8 spriteId = CreateSprite(&gUnknown_845FC78, x, y, 8);
+ gSprites[spriteId].oam.priority = 2;
+ gSprites[spriteId].oam.paletteNum = 2;
+ return spriteId;
+}
+
+void sub_812D7C8(void)
+{
+ FreeSpriteTilesByTag(SPRITETAG_1002);
+ FreeSpritePaletteByTag(SPRITETAG_1002);
+}
+
+u8 sub_812D7E4(void)
+{
+ return CreateSprite(&gUnknown_845FCB8, 0xe2, 0x42, 0);
+}
+
+void sub_812D800(struct Sprite * sprite)
+{
+ FreeSpriteOamMatrix(sprite);
+ DestroySprite(sprite);
+}
+
+void sub_812D814(void)
+{
+ FreeSpriteTilesByTag(SPRITETAG_1006);
+ FreeSpriteTilesByTag(SPRITETAG_1007);
+ FreeSpriteTilesByTag(SPRITETAG_1008);
+ FreeSpriteTilesByTag(SPRITETAG_1009);
+}