diff options
Diffstat (limited to 'src/diploma.c')
-rw-r--r-- | src/diploma.c | 49 |
1 files changed, 26 insertions, 23 deletions
diff --git a/src/diploma.c b/src/diploma.c index 8fabe3a2f..ba7de58aa 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -1,5 +1,5 @@ #include "global.h" -#include "asm.h" +#include "diploma.h" #include "main.h" #include "menu.h" #include "palette.h" @@ -7,16 +7,10 @@ #include "rom4.h" #include "sprite.h" #include "string_util.h" +#include "strings2.h" #include "task.h" #include "text.h" - -extern u8 gDiplomaTiles[]; -extern u8 gDiplomaTilemap[]; -extern u8 gDiplomaPalettes[]; -extern u8 gStringVar1[]; -extern u8 gOtherText_NationalDex[]; -extern u8 gOtherText_HoennDex[]; -extern u8 gOtherText_DiplomaCertificationGameFreak[]; +#include "unknown_task.h" static void VBlankCB(void); static void MainCB2(void); @@ -25,6 +19,15 @@ static void Task_DiplomaWaitForKeyPress(u8); static void Task_DiplomaFadeOut(u8); static void DisplayDiplomaText(void); +static const u16 gDiplomaPalettes[][16] = +{ + INCBIN_U16("graphics/misc/diploma_national.gbapal"), + INCBIN_U16("graphics/misc/diploma_hoenn.gbapal"), +}; + +static const u8 gDiplomaTilemap[] = INCBIN_U8("graphics/misc/diploma_map.bin.lz"); +static const u8 gDiplomaTiles[] = INCBIN_U8("graphics/misc/diploma.4bpp.lz"); + static void VBlankCB(void) { LoadOam(); @@ -35,9 +38,9 @@ static void VBlankCB(void) void sub_8145D88(void) { u32 savedIme; - + SetVBlankCallback(NULL); - + REG_DISPCNT = 0; REG_BG3CNT = 0; REG_BG2CNT = 0; @@ -51,14 +54,14 @@ void sub_8145D88(void) REG_BG1VOFS = 0; REG_BG0HOFS = 0; REG_BG0VOFS = 0; - + DmaFill16(3, 0, VRAM, VRAM_SIZE); DmaFill32(3, 0, OAM, OAM_SIZE); DmaFill16(3, 0, PLTT, PLTT_SIZE); - + LZ77UnCompVram(gDiplomaTiles, (void *)VRAM); LZ77UnCompVram(gDiplomaTilemap, (void *)(VRAM + 0x3000)); - + remove_some_task(); ResetTasks(); ResetSpriteData(); @@ -69,22 +72,22 @@ void sub_8145D88(void) InitMenuWindow(&gWindowConfig_81E6CE4); DisplayDiplomaText(); BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); - + savedIme = REG_IME; REG_IME = 0; REG_IE |= INTR_FLAG_VBLANK; REG_IME = savedIme; REG_DISPSTAT |= DISPSTAT_VBLANK_INTR; - + SetVBlankCallback(VBlankCB); SetMainCallback2(MainCB2); - + REG_BLDCNT = 0; REG_BLDALPHA = 0; REG_BLDY = 0; - REG_BG3CNT = 0x4603; + REG_BG3CNT = BGCNT_PRIORITY(3) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(6) | BGCNT_16COLOR | BGCNT_TXT512x256; REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG3_ON | DISPCNT_OBJ_ON; - + CreateTask(Task_DiplomaFadeIn, 0); } @@ -98,13 +101,13 @@ static void MainCB2(void) static void Task_DiplomaFadeIn(u8 taskId) { - if(!gPaletteFade.active) + if (!gPaletteFade.active) gTasks[taskId].func = Task_DiplomaWaitForKeyPress; } static void Task_DiplomaWaitForKeyPress(u8 taskId) { - if(gMain.newKeys & (A_BUTTON | B_BUTTON)) + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); gTasks[taskId].func = Task_DiplomaFadeOut; @@ -113,7 +116,7 @@ static void Task_DiplomaWaitForKeyPress(u8 taskId) static void Task_DiplomaFadeOut(u8 taskId) { - if(!gPaletteFade.active) + if (!gPaletteFade.active) { DestroyTask(taskId); SetMainCallback2(sub_80546F0); @@ -122,7 +125,7 @@ static void Task_DiplomaFadeOut(u8 taskId) static void DisplayDiplomaText(void) { - if(sub_8090FF4()) + if (sub_8090FF4()) { REG_BG3HOFS = 256; StringCopy(gStringVar1, gOtherText_NationalDex); |