summaryrefslogtreecommitdiff
path: root/src/field/fldeff_flash.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/field/fldeff_flash.c')
-rw-r--r--src/field/fldeff_flash.c330
1 files changed, 0 insertions, 330 deletions
diff --git a/src/field/fldeff_flash.c b/src/field/fldeff_flash.c
deleted file mode 100644
index 22f170184..000000000
--- a/src/field/fldeff_flash.c
+++ /dev/null
@@ -1,330 +0,0 @@
-#include "global.h"
-#include "event_data.h"
-#include "field_effect.h"
-#include "main.h"
-#include "palette.h"
-#include "pokemon_menu.h"
-#include "overworld.h"
-#include "rom6.h"
-#include "script.h"
-#include "constants/songs.h"
-#include "sound.h"
-#include "sprite.h"
-#include "task.h"
-
-struct FlashStruct
-{
- u8 unk0;
- u8 unk1;
- u8 unk2;
- u8 unk3;
- void (*func)(void);
-};
-
-extern u8 gLastFieldPokeMenuOpened;
-extern void (*gUnknown_03005CE4)(void);
-
-extern u8 gUnknown_081B694A[];
-
-void sub_810CBFC(void);
-void sub_810CC34(void);
-bool8 sub_810CD5C(void);
-void sub_810CE5C(u8);
-void sub_810CE78(u8);
-void sub_810CF18(u8);
-void sub_810CF5C(u8);
-void sub_810CFC4(u8);
-void sub_810D00C(u8);
-void sub_810D028(u8);
-void sub_810D0C4(u8);
-void sub_810D128(u8);
-void sub_810CFF8(void);
-void sub_810CE48(void);
-
-static const struct FlashStruct gUnknown_083F7FC4[] =
-{
- {1, 4, 1, 0, sub_810CFF8},
- {2, 4, 1, 0, sub_810CFF8},
- {3, 4, 1, 0, sub_810CFF8},
- {5, 4, 1, 0, sub_810CFF8},
- {6, 4, 1, 0, sub_810CFF8},
- {7, 4, 1, 0, sub_810CFF8},
- {8, 4, 1, 0, sub_810CFF8},
- {9, 4, 1, 0, sub_810CFF8},
- {4, 1, 0, 1, sub_810CE48},
- {4, 2, 0, 1, sub_810CE48},
- {4, 3, 0, 1, sub_810CE48},
- {4, 5, 0, 1, sub_810CE48},
- {4, 6, 0, 1, sub_810CE48},
- {4, 7, 0, 1, sub_810CE48},
- {4, 8, 0, 1, sub_810CE48},
- {4, 9, 0, 1, sub_810CE48},
- {0, 0, 0, 0, NULL},
-};
-
-// TODO: Make these extracted palettes?
-static const u16 gCaveTransitionPalette_White[] = {0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF};
-static const u16 gCaveTransitionPalette_Black[] = {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000};
-
-static const u16 gUnknown_083F808C[] = INCBIN_U16("graphics/misc/83F808C.gbapal");
-static const u16 gUnknown_083F809C[] = INCBIN_U16("graphics/misc/83F809C.gbapal");
-static const u16 gCaveTransitionTilemap[] = INCBIN_U16("graphics/misc/cave_transition_map.bin.lz");
-static const u8 gCaveTransitionTiles[] = INCBIN_U8("graphics/misc/cave_transition.4bpp.lz");
-
-bool8 SetUpFieldMove_Flash(void)
-{
- if (gMapHeader.cave == TRUE && !FlagGet(FLAG_SYS_USE_FLASH))
- {
- gFieldCallback = FieldCallback_Teleport;
- gUnknown_03005CE4 = sub_810CBFC;
- return TRUE;
- }
-
- return FALSE;
-}
-
-void sub_810CBFC(void)
-{
- u8 taskId = oei_task_add();
- gFieldEffectArguments[0] = gLastFieldPokeMenuOpened;
- gTasks[taskId].data[8] = (uintptr_t)sub_810CC34 >> 16;
- gTasks[taskId].data[9] = (uintptr_t)sub_810CC34;
-}
-
-void sub_810CC34(void)
-{
- PlaySE(SE_W115);
- FlagSet(FLAG_SYS_USE_FLASH);
- ScriptContext1_SetupScript(gUnknown_081B694A);
-}
-
-void sub_810CC54(void)
-{
- RunTasks();
- AnimateSprites();
- BuildOamBuffer();
- UpdatePaletteFade();
-}
-
-static void VBlankCB(void)
-{
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
-}
-
-void sub_810CC80(void)
-{
- u16 ime;
-
- SetVBlankCallback(NULL);
- REG_DISPCNT = 0;
- REG_BG2CNT = 0;
- REG_BG1CNT = 0;
- REG_BG0CNT = 0;
- REG_BG2HOFS = 0;
- REG_BG2VOFS = 0;
- REG_BG1HOFS = 0;
- REG_BG1VOFS = 0;
- REG_BG0HOFS = 0;
- REG_BG0VOFS = 0;
- DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE);
- DmaFill32(3, 0, (void *)OAM, OAM_SIZE);
- DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2);
- ResetPaletteFade();
- ResetTasks();
- ResetSpriteData();
- ime = REG_IME;
- REG_IME = 0;
- REG_IE |= INTR_FLAG_VBLANK;
- REG_IME = ime;
- SetVBlankCallback(VBlankCB);
- SetMainCallback2(sub_810CC54);
- if (!sub_810CD5C())
- SetMainCallback2(gMain.savedCallback);
-}
-
-bool8 sub_810CD5C(void)
-{
- u8 i;
- u8 v0 = get_map_type_from_warp0();
- u8 v1 = Overworld_GetMapTypeOfSaveblockLocation();
-
- for (i = 0; gUnknown_083F7FC4[i].unk0; i++)
- {
- if (gUnknown_083F7FC4[i].unk0 == v0 && gUnknown_083F7FC4[i].unk1 == v1)
- {
- gUnknown_083F7FC4[i].func();
- return TRUE;
- }
- }
-
- return FALSE;
-}
-
-u8 sub_810CDB8(u8 a1, u8 a2)
-{
- u8 i;
- u8 v0 = a1;
- u8 v1 = a2;
-
- for (i = 0; gUnknown_083F7FC4[i].unk0; i++)
- {
- if (gUnknown_083F7FC4[i].unk0 == v0 && gUnknown_083F7FC4[i].unk1 == v1)
- {
- return gUnknown_083F7FC4[i].unk2;
- }
- }
-
- return FALSE;
-}
-
-u8 fade_type_for_given_maplight_pair(u8 a1, u8 a2)
-{
- u8 i;
- u8 v0 = a1;
- u8 v1 = a2;
-
- for (i = 0; gUnknown_083F7FC4[i].unk0; i++)
- {
- if (gUnknown_083F7FC4[i].unk0 == v0 && gUnknown_083F7FC4[i].unk1 == v1)
- {
- return gUnknown_083F7FC4[i].unk3;
- }
- }
-
- return FALSE;
-}
-
-void sub_810CE48(void)
-{
- CreateTask(sub_810CE5C, 0);
-}
-
-void sub_810CE5C(u8 taskId)
-{
- gTasks[taskId].func = sub_810CE78;
-}
-
-void sub_810CE78(u8 taskId)
-{
- REG_DISPCNT = 0;
- LZ77UnCompVram(gCaveTransitionTiles, (void *)0x600C000);
- LZ77UnCompVram(gCaveTransitionTilemap, (void *)0x600F800);
- LoadPalette(gCaveTransitionPalette_White, 0xE0, 0x20);
- LoadPalette(gUnknown_083F809C, 0xE0, 0x10);
- REG_BLDCNT = 15937;
- REG_BLDALPHA = 0;
- REG_BLDY = 0;
- REG_BG0CNT = 7948;
- REG_DISPCNT = 4416;
- gTasks[taskId].func = sub_810CF18;
- gTasks[taskId].data[0] = 16;
- gTasks[taskId].data[1] = 0;
-}
-
-void sub_810CF18(u8 taskId)
-{
- u16 count = gTasks[taskId].data[1];
- u16 blend = count + 0x1000;
- REG_BLDALPHA = blend;
- if (count <= 0x10)
- {
- gTasks[taskId].data[1]++;
- }
- else
- {
- gTasks[taskId].data[2] = 0;
- gTasks[taskId].func = sub_810CF5C;
- }
-}
-
-void sub_810CF5C(u8 taskId)
-{
- u16 count;
-
- REG_BLDALPHA = 4112;
-
- count = gTasks[taskId].data[2];
-
- if (count < 8)
- {
- gTasks[taskId].data[2]++;
- LoadPalette(&gUnknown_083F809C[count], 0xE0, 16 - 2 * count);
- }
- else
- {
- LoadPalette(gCaveTransitionPalette_White, 0, 0x20);
- gTasks[taskId].func = sub_810CFC4;
- gTasks[taskId].data[2] = 8;
- }
-}
-
-void sub_810CFC4(u8 taskId)
-{
- if (gTasks[taskId].data[2])
- gTasks[taskId].data[2]--;
- else
- SetMainCallback2(gMain.savedCallback);
-}
-
-void sub_810CFF8(void)
-{
- CreateTask(sub_810D00C, 0);
-}
-
-void sub_810D00C(u8 taskId)
-{
- gTasks[taskId].func = sub_810D028;
-}
-
-void sub_810D028(u8 taskId)
-{
- REG_DISPCNT = 0;
- LZ77UnCompVram(gCaveTransitionTiles, (void *)0x600C000);
- LZ77UnCompVram(gCaveTransitionTilemap, (void *)0x600F800);
- REG_BLDCNT = 0;
- REG_BLDALPHA = 0;
- REG_BLDY = 0;
- REG_BG0CNT = 7948;
- REG_DISPCNT = 4416;
- LoadPalette(gCaveTransitionPalette_White, 0xE0, 0x20);
- LoadPalette(gCaveTransitionPalette_Black, 0, 0x20);
- gTasks[taskId].func = sub_810D0C4;
- gTasks[taskId].data[0] = 16;
- gTasks[taskId].data[1] = 0;
- gTasks[taskId].data[2] = 0;
-}
-
-void sub_810D0C4(u8 taskId)
-{
- u16 count = gTasks[taskId].data[2];
- if (count < 16)
- {
- gTasks[taskId].data[2]++;
- gTasks[taskId].data[2]++;
- LoadPalette(&gUnknown_083F808C[15 - count], 0xE0, 2 * (count + 1));
- }
- else
- {
- REG_BLDALPHA = 4112;
- REG_BLDCNT = 15937;
- gTasks[taskId].func = sub_810D128;
- }
-}
-
-void sub_810D128(u8 taskId)
-{
- u16 count = 16 - gTasks[taskId].data[1];
- u16 blend = count + 0x1000;
- REG_BLDALPHA = blend;
- if (count)
- {
- gTasks[taskId].data[1]++;
- }
- else
- {
- LoadPalette(gCaveTransitionPalette_Black, 0, 0x20);
- SetMainCallback2(gMain.savedCallback);
- }
-}