diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-11-24 18:00:26 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-11-24 18:00:26 -0500 |
commit | f54f2c424ffdbdd9b9b3c4758bbbe245833f6436 (patch) | |
tree | 8949bb7e0c4ab26f79419c85d28f771c0dc40648 /src/wallclock.c | |
parent | ab569cc466879939689b3ed945657a13a444bf66 (diff) |
LoadWallClockGraphics
Diffstat (limited to 'src/wallclock.c')
-rw-r--r-- | src/wallclock.c | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/wallclock.c b/src/wallclock.c new file mode 100644 index 000000000..bbf8c656a --- /dev/null +++ b/src/wallclock.c @@ -0,0 +1,83 @@ +#include "global.h" +#include "main.h" +#include "palette.h" +#include "gpu_regs.h" +#include "bg.h" +#include "rtc.h" +#include "clock.h" +#include "wallclock.h" +#include "event_data.h" +#include "graphics.h" +#include "text.h" +#include "window.h" +#include "text_window.h" +#include "menu.h" +#include "unknown_task.h" +#include "task.h" +#include "decompress.h" + +// static types + +// static declarations + +// rodata + +extern const u16 gUnknown_085B21D4[]; +extern const struct BgTemplate gUnknown_085B21FC[]; +extern const struct WindowTemplate gUnknown_085B21DC[]; +extern const struct CompressedSpriteSheet gUnknown_085B2208; +extern const struct SpritePalette gUnknown_085B2218; + +// text + +void sub_81347B4(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void LoadWallClockGraphics(void) +{ + SetVBlankCallback(NULL); + SetGpuReg(REG_OFFSET_DISPCNT, 0x0000); + SetGpuReg(REG_OFFSET_BG3CNT, 0x0000); + SetGpuReg(REG_OFFSET_BG2CNT, 0x0000); + SetGpuReg(REG_OFFSET_BG1CNT, 0x0000); + SetGpuReg(REG_OFFSET_BG0CNT, 0x0000); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + DmaFillLarge16(3, 0, (void *)VRAM, VRAM_SIZE, 0x1000); + DmaClear32(3, (void *)OAM, OAM_SIZE); + DmaClear16(3, (void *)PLTT, PLTT_SIZE); + LZ77UnCompVram(gUnknown_08DCC05C, (void *)VRAM); + if (gSpecialVar_0x8004 == 0) + { + LoadPalette(gUnknown_08DCC01C, 0x00, 0x20); + } + else + { + LoadPalette(gUnknown_08DCC03C, 0x00, 0x20); + } + LoadPalette(GetOverworldTextboxPalettePtr(), 0xe0, 0x20); + LoadPalette(gUnknown_085B21D4, 0xc0, 0x08); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_085B21FC, 3); + InitWindows(gUnknown_085B21DC); + DeactivateAllTextPrinters(); + sub_809882C(0, 0x250, 0xd0); + clear_scheduled_bg_copies_to_vram(); + remove_some_task(); + ResetTasks(); + ResetSpriteData(); + ResetPaletteFade(); + FreeAllSpritePalettes(); + LoadCompressedObjectPic(&gUnknown_085B2208); + LoadSpritePalettes(&gUnknown_085B2218); +} |