summaryrefslogtreecommitdiff
path: root/src/diploma.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/diploma.c')
-rw-r--r--src/diploma.c49
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);