Static decl/def; gfx dump

This commit is contained in:
PikalaxALT
2019-07-31 16:11:20 -04:00
parent 11dd5fa23f
commit e2c552f1df
20 changed files with 512 additions and 172 deletions
+3 -3
View File
@@ -26,8 +26,8 @@ sub_80F558C: @ 80F558C
bx r0
thumb_func_end sub_80F558C
thumb_func_start sub_80F55A0
sub_80F55A0: @ 80F55A0
thumb_func_start CB2_SaveClearScreen_Init
CB2_SaveClearScreen_Init: @ 80F55A0
push {r4,lr}
ldr r4, _080F55D0 @ =gUnknown_203AB54
movs r0, 0x4
@@ -52,7 +52,7 @@ sub_80F55A0: @ 80F55A0
_080F55D0: .4byte gUnknown_203AB54
_080F55D4: .4byte sub_80F55DC
_080F55D8: .4byte sub_80F5574
thumb_func_end sub_80F55A0
thumb_func_end CB2_SaveClearScreen_Init
thumb_func_start sub_80F55DC
sub_80F55DC: @ 80F55DC
+10 -10
View File
@@ -16352,34 +16352,34 @@ gUnknown_8EAAB98:: @ 8EAAB98
gUnknown_8EAB30C:: @ 8EAB30C
.incbin "baserom.gba", 0xEAB30C, 0x3B8
@ title_screen
gUnknown_8EAB6C4:: @ 8EAB6C4
.incbin "baserom.gba", 0xEAB6C4, 0x200 @UNKNOWN
.incbin "graphics/title_screen/unk_8eab6c4.gbapal"
gUnknown_8EAB8C4:: @ 8EAB8C4
.incbin "baserom.gba", 0xEAB8C4, 0x1ACC
.incbin "graphics/title_screen/unk_8eab8c4.8bpp.lz"
gUnknown_8EAD390:: @ 8EAD390
.incbin "baserom.gba", 0xEAD390, 0x258
.incbin "graphics/title_screen/unk_8ead390.bin.lz"
gUnknown_8EAD5E8:: @ 8EAD5E8
.incbin "baserom.gba", 0xEAD5E8, 0x20 @UNKNOWN
.incbin "graphics/title_screen/unk_8ead5e8.gbapal"
gUnknown_8EAD608:: @ 8EAD608
.incbin "baserom.gba", 0xEAD608, 0x8DC
.incbin "graphics/title_screen/unk_8ead608.4bpp.lz"
gUnknown_8EADEE4:: @ 8EADEE4
.incbin "baserom.gba", 0xEADEE4, 0x1B0
.incbin "graphics/title_screen/unk_8eadee4.bin.lz"
gUnknown_8EAE094:: @ 8EAE094
.incbin "baserom.gba", 0xEAE094, 0x20 @UNKNOWN
.incbin "graphics/title_screen/unk_8eae094.gbapal"
gUnknown_8EAE0B4:: @ 8EAE0B4
.incbin "baserom.gba", 0xEAE0B4, 0x2C0
.incbin "graphics/title_screen/unk_8eae0b4.4bpp.lz"
gUnknown_8EAE374:: @ 8EAE374
.incbin "baserom.gba", 0xEAE374, 0x114
.incbin "graphics/title_screen/unk_8eae374.bin.lz"
@ title_screen
gUnknown_8EAE488:: @ 8EAE488
.incbin "graphics/title_screen/unk_8eae488.gbapal"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 B

After

Width:  |  Height:  |  Size: 188 B

@@ -0,0 +1,19 @@
JASC-PAL
0100
16
82 205 180
0 0 0
255 255 189
255 246 139
255 213 65
255 172 0
197 164 49
115 180 139
98 189 156
90 197 164
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
82 205 180
Binary file not shown.

Before

Width:  |  Height:  |  Size: 539 B

After

Width:  |  Height:  |  Size: 539 B

+259
View File
@@ -0,0 +1,259 @@
JASC-PAL
0100
256
0 255 41
0 0 0
255 238 16
246 222 41
246 238 246
255 246 24
246 246 41
246 246 246
246 255 255
255 246 255
32 0 255
106 65 156
32 0 238
246 222 24
246 222 32
255 238 41
255 238 49
255 255 16
255 255 24
255 255 246
255 255 255
123 106 156
24 41 32
32 32 74
32 0 230
115 82 164
16 0 246
106 82 172
246 238 32
255 230 24
246 230 41
246 238 41
246 230 49
246 238 49
255 246 32
255 246 41
255 255 32
255 255 41
32 24 32
32 32 41
197 156 41
197 164 41
156 156 156
164 164 156
172 172 172
180 189 180
41 0 230
189 189 189
197 189 189
197 197 197
205 205 213
8 8 197
246 230 24
246 230 32
255 238 24
255 238 32
32 32 32
32 41 32
41 32 32
41 41 32
49 32 32
49 41 32
41 32 41
49 32 41
24 41 41
32 32 90
16 24 106
24 32 98
41 32 82
41 32 98
41 41 82
41 41 98
0 0 115
8 8 131
32 24 115
32 24 131
32 41 115
41 41 115
32 41 131
41 41 131
57 41 41
57 41 49
57 49 41
57 57 57
65 41 41
74 41 41
65 57 57
74 57 57
57 74 74
65 65 74
82 74 82
82 57 131
82 90 82
90 90 90
90 98 98
98 98 106
115 106 106
131 98 115
139 98 106
139 115 98
180 139 57
172 131 65
156 115 90
156 131 82
115 82 139
123 82 131
115 98 131
131 98 123
115 123 123
123 123 131
139 131 139
148 123 131
205 172 24
213 172 16
205 164 32
213 172 32
222 189 24
230 189 16
213 189 32
222 189 32
230 205 24
230 205 32
230 213 32
238 222 32
180 148 57
189 156 49
180 148 74
180 172 90
156 148 123
139 148 139
164 148 115
172 156 106
197 156 49
205 180 49
197 172 90
205 189 82
222 205 49
230 222 49
205 205 74
222 213 65
49 0 230
213 213 213
222 230 230
222 230 230
255 0 246
255 0 255
16 8 197
16 16 189
32 16 164
41 16 164
32 16 180
41 16 189
8 8 205
8 16 205
24 8 213
24 16 205
41 8 213
41 16 213
49 8 213
57 16 213
16 8 230
24 8 230
24 16 230
24 24 230
8 8 246
8 16 246
16 8 246
16 16 246
32 8 230
32 16 230
32 8 238
32 8 246
41 8 230
41 16 230
49 16 230
49 8 238
32 32 156
24 32 172
41 41 156
41 32 164
74 49 180
82 49 172
82 65 164
90 74 164
24 32 189
57 41 189
41 32 213
57 32 213
74 41 189
90 57 189
74 49 197
74 41 205
49 49 49
197 197 197
189 189 189
156 156 156
172 172 172
139 139 139
115 115 115
255 255 255
16 16 16
98 98 98
246 246 246
82 82 82
230 230 230
213 213 213
0 0 0
255 255 255
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 255
0 0 0
82 205 180
255 0 255
255 0 255
255 0 255
32 0 0
49 0 0
65 0 0
90 0 0
123 32 0
156 32 0
180 49 0
205 65 0
222 90 0
230 123 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
255 255 139
0 0 0
123 123 123
197 197 197
222 222 222
255 255 255
0 0 0
123 123 123
197 197 197
222 222 222
255 255 255
65 180 164
139 0 0
172 24 0
213 57 0
255 90 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

Binary file not shown.
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
82 205 180
189 197 205
164 164 172
123 131 131
213 213 222
255 246 74
255 213 32
164 131 24
246 164 24
131 90 16
106 98 90
65 57 41
230 82 16
205 41 0
139 8 8
246 246 246
Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

After

Width:  |  Height:  |  Size: 148 B

+4
View File
@@ -22,6 +22,7 @@ TEXTWINDOWGFXDIR := graphics/text_window
TEACHYTVGFXDIR := graphics/teachy_tv
SSANNEGFXDIR := graphics/ss_anne
ITEMPCGFXDIR := graphics/item_pc
TITLESCREENGFXDIR := graphics/title_screen
types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark
contest_types := cool beauty cute smart tough
@@ -486,3 +487,6 @@ $(SSANNEGFXDIR)/unk_8479A38.4bpp: %.4bpp: %.png
$(ITEMPCGFXDIR)/unk_8E85090.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 82
$(TITLESCREENGFXDIR)/unk_8ead608.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 135
+1 -1
View File
@@ -1,6 +1,6 @@
#ifndef GUARD_CLEAR_SAVE_DATA_SCREEN_H
#define GUARD_CLEAR_SAVE_DATA_SCREEN_H
void sub_80F55A0(void);
void CB2_SaveClearScreen_Init(void);
#endif //GUARD_CLEAR_SAVE_DATA_SCREEN_H
+156 -156
View File
@@ -38,51 +38,51 @@ enum TitleScreenScene
#define TITLE_SPECIES SPECIES_VENUSAUR
#endif
EWRAM_DATA u8 gUnknown_2037F30 = 0;
static EWRAM_DATA u8 sTitleScreenTimerTaskId = 0;
void sub_8078B34(void);
void sub_8078B9C(void);
void sub_8078BB4(void);
void sub_8078BEC(u8 taskId);
void sub_8078C24(u8 taskId);
void sub_8078C90(s16 * data, u8 a1);
void sub_8078C9C(s16 * data);
void sub_8078D24(s16 * data);
void sub_8078DA4(s16 * data);
void sub_8078FC4(s16 * data);
void sub_80790A0(void);
void sub_80790CC(s16 * data);
void sub_80791C0(s16 * data);
void sub_80792C8(u8 taskId);
void sub_807941C(u8 taskId);
void sub_8079528(void);
void sub_8079550(s16 a0);
void sub_8079620(void);
void sub_8079648(void);
void sub_80796CC(void);
void sub_80796E8(void);
void sub_8079708(void);
void sub_8079840(u8 taskId);
void sub_807999C(u8 taskId, u8 field, u16 seed);
u16 sub_80799B4(u8 taskId, u8 field);
u32 sub_80799F0(void);
void sub_8079A10(bool32 a0);
u8 sub_8079A40(void);
void sub_8079A88(u8 spriteId);
bool32 sub_8079AA8(u8 spriteId);
void sub_8079AD8(struct Sprite * sprite);
static void ResetGpuRegs(void);
static void CB2_TitleScreenRun(void);
static void VBlankCB(void);
static void Task_TitleScreenTimer(u8 taskId);
static void Task_TitleScreenMain(u8 taskId);
static void SetTitleScreenScene(s16 * data, u8 a1);
static void SetTitleScreenScene_Init(s16 * data);
static void SetTitleScreenScene_FlashSprite(s16 * data);
static void SetTitleScreenScene_FadeIn(s16 * data);
static void SetTitleScreenScene_Run(s16 * data);
static void SetGpuRegsForTitleScreenRun(void);
static void SetTitleScreenScene_Restart(s16 * data);
static void SetTitleScreenScene_Cry(s16 * data);
static void Task_TitleScreen_SlideWin0(u8 taskId);
static void Task_TitleScreen_PaletteSomething(u8 taskId);
static void SignalEndTitleScreenPaletteSomethingTask(void);
static void UpdateScanlineEffectRegBuffer(s16 a0);
static void ScheduleStopScanlineEffect(void);
static void LoadMainTitleScreenPalsAndResetBgs(void);
static void CB2_FadeOutTransitionToSaveClearScreen(void);
static void CB2_FadeOutTransitionToBerryFix(void);
static void LoadSpriteGfxAndPals(void);
static void Task_FlameOrLeafSpawner(u8 taskId);
static void TitleScreen_srand(u8 taskId, u8 field, u16 seed);
static u16 TitleScreen_rand(u8 taskId, u8 field);
static u32 CreateBlankSprite(void);
static void sub_8079A10(bool32 a0);
static u8 CreateSlashSprite(void);
static void ScheduleHideSlashSprite(u8 spriteId);
static bool32 IsSlashSpriteHidden(u8 spriteId);
static void SpriteCallback_Slash(struct Sprite * sprite);
// bg3
const u8 gUnknown_83BF58C[] = INCBIN_U8("data/graphics/title_screen/unk_83BF58C.4bpp.lz");
const u8 gUnknown_83BF5A8[] = INCBIN_U8("data/graphics/title_screen/unk_83BF5A8.bin.lz");
static const u8 gUnknown_83BF58C[] = INCBIN_U8("data/graphics/title_screen/unk_83BF58C.4bpp.lz");
static const u8 gUnknown_83BF5A8[] = INCBIN_U8("data/graphics/title_screen/unk_83BF5A8.bin.lz");
//sprites
const u8 gUnknown_83BF64C[] = INCBIN_U8("data/graphics/title_screen/unk_83bf64c.4bpp.lz");
const u16 gUnknown_83BF77C[] = INCBIN_U16("data/graphics/title_screen/unk_83bf77c.gbapal");
const u8 gUnknown_83BF79C[] = INCBIN_U8("data/graphics/title_screen/unk_83bf79c.4bpp.lz");
const u8 gUnknown_83BFA14[] = INCBIN_U8("data/graphics/title_screen/unk_83bfa14.4bpp.lz");
static const u8 gUnknown_83BF64C[] = INCBIN_U8("data/graphics/title_screen/unk_83bf64c.4bpp.lz");
static const u16 gUnknown_83BF77C[] = INCBIN_U16("data/graphics/title_screen/unk_83bf77c.gbapal");
static const u8 gUnknown_83BF79C[] = INCBIN_U8("data/graphics/title_screen/unk_83bf79c.4bpp.lz");
static const u8 gUnknown_83BFA14[] = INCBIN_U8("data/graphics/title_screen/unk_83bfa14.4bpp.lz");
const struct OamData gOamData_83BFAB4 = {
static const struct OamData gOamData_83BFAB4 = {
.objMode = ST_OAM_OBJ_NORMAL,
.shape = ST_OAM_SQUARE,
.size = ST_OAM_SIZE_1,
@@ -91,7 +91,7 @@ const struct OamData gOamData_83BFAB4 = {
.paletteNum = 0
};
const union AnimCmd gSpriteAnims_83BFABC[] = {
static const union AnimCmd gSpriteAnims_83BFABC[] = {
ANIMCMD_FRAME(0x00, 3),
ANIMCMD_FRAME(0x04, 6),
ANIMCMD_FRAME(0x08, 6),
@@ -105,7 +105,7 @@ const union AnimCmd gSpriteAnims_83BFABC[] = {
ANIMCMD_END
};
const union AnimCmd gSpriteAnims_83BFAE8[] = {
static const union AnimCmd gSpriteAnims_83BFAE8[] = {
ANIMCMD_FRAME(0x18, 6),
ANIMCMD_FRAME(0x1c, 6),
ANIMCMD_FRAME(0x20, 6),
@@ -113,12 +113,12 @@ const union AnimCmd gSpriteAnims_83BFAE8[] = {
ANIMCMD_END
};
const union AnimCmd *const gSpriteAnimTable_83BFAFC[] = {
static const union AnimCmd *const gSpriteAnimTable_83BFAFC[] = {
gSpriteAnims_83BFABC,
gSpriteAnims_83BFAE8
};
const struct SpriteTemplate gUnknown_83BFB04 = {
static const struct SpriteTemplate sSpriteTemplate_FlameOrLeaf_State1 = {
.tileTag = 0,
.paletteTag = 0,
.oam = &gOamData_83BFAB4,
@@ -128,7 +128,7 @@ const struct SpriteTemplate gUnknown_83BFB04 = {
.callback = SpriteCallbackDummy
};
const struct SpriteTemplate gUnknown_83BFB1C = {
static const struct SpriteTemplate sSpriteTemplate_FlameOrLeaf_State0 = {
.tileTag = 1,
.paletteTag = 0,
.oam = &gOamData_83BFAB4,
@@ -138,7 +138,7 @@ const struct SpriteTemplate gUnknown_83BFB1C = {
.callback = SpriteCallbackDummy
};
const struct OamData gOamData_83BFB34 = {
static const struct OamData gOamData_83BFB34 = {
.objMode = ST_OAM_OBJ_NORMAL,
.shape = ST_OAM_V_RECTANGLE,
.size = ST_OAM_SIZE_3,
@@ -147,7 +147,7 @@ const struct OamData gOamData_83BFB34 = {
.paletteNum = 0
};
const struct SpriteTemplate gUnknown_83BFB3C = {
static const struct SpriteTemplate sUnknownEmptySprite = {
.tileTag = 2,
.paletteTag = 2,
.oam = &gOamData_83BFB34,
@@ -157,7 +157,7 @@ const struct SpriteTemplate gUnknown_83BFB3C = {
.callback = SpriteCallbackDummy
};
const struct OamData gOamData_83BFB54 = {
static const struct OamData gOamData_83BFB54 = {
.objMode = ST_OAM_OBJ_WINDOW,
.shape = ST_OAM_SQUARE,
.size = ST_OAM_SIZE_3,
@@ -166,7 +166,7 @@ const struct OamData gOamData_83BFB54 = {
.paletteNum = 0
};
const struct SpriteTemplate gUnknown_83BFB5C = {
static const struct SpriteTemplate sSlashSpriteTemplate = {
.tileTag = 3,
.paletteTag = 2,
.oam = &gOamData_83BFB54,
@@ -176,7 +176,7 @@ const struct SpriteTemplate gUnknown_83BFB5C = {
.callback = SpriteCallbackDummy
};
const struct BgTemplate gUnknown_83BFB74[] = {
static const struct BgTemplate gUnknown_83BFB74[] = {
{
.bg = 0,
.charBaseIndex = 0,
@@ -212,29 +212,29 @@ const struct BgTemplate gUnknown_83BFB74[] = {
}
};
void (*const gUnknown_83BFB84[])(s16 * data) = {
sub_8078C9C,
sub_8078D24,
sub_8078DA4,
sub_8078FC4,
sub_80790CC,
sub_80791C0
static void (*const gUnknown_83BFB84[])(s16 * data) = {
SetTitleScreenScene_Init,
SetTitleScreenScene_FlashSprite,
SetTitleScreenScene_FadeIn,
SetTitleScreenScene_Run,
SetTitleScreenScene_Restart,
SetTitleScreenScene_Cry
};
const struct CompressedSpriteSheet gUnknown_83BFB9C[] = {
static const struct CompressedSpriteSheet gUnknown_83BFB9C[] = {
{(const void *)gUnknown_83BF79C, 0x500, 0},
{(const void *)gUnknown_83BFA14, 0x500, 1},
{(const void *)gUnknown_8EAE4A8, 0x400, 2},
{(const void *)gUnknown_83BF64C, 0x800, 3}
};
const struct SpritePalette gUnknown_83BFBBC[] = {
static const struct SpritePalette gUnknown_83BFBBC[] = {
{gUnknown_83BF77C, 0},
{gUnknown_8EAE488, 2},
{}
};
const u8 gUnknown_83BFBD4[] = {
static const u8 gUnknown_83BFBD4[] = {
0x04, 0x10, 0x1a, 0x20, 0x30, 0xc8, 0xd8, 0xe0, 0xe8, 0x3c, 0x4c, 0x5c, 0x6c, 0x80, 0x90
};
@@ -253,14 +253,14 @@ void CB2_InitTitleScreen(void)
ResetSpriteData();
FreeAllSpritePalettes();
ResetPaletteFade();
sub_8078B34();
ResetGpuRegs();
DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE);
DmaFill32(3, 0, (void *)OAM, OAM_SIZE);
DmaFill16(3, 0, (void *)PLTT, PLTT_SIZE);
ResetBgsAndClearDma3BusyFlags(FALSE);
InitBgsFromTemplates(0, gUnknown_83BFB74, NELEMS(gUnknown_83BFB74));
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
gUnknown_2037F30 = 0xFF;
sTitleScreenTimerTaskId = 0xFF;
break;
case 1:
LoadPalette(gUnknown_8EAB6C4, 0, 0x1A0);
@@ -275,16 +275,16 @@ void CB2_InitTitleScreen(void)
LoadPalette(gUnknown_8EAE094, 0xE0, 0x20);
DecompressAndCopyTileDataToVram(3, gUnknown_83BF58C, 0, 0, 0);
DecompressAndCopyTileDataToVram(3, gUnknown_83BF5A8, 0, 0, 1);
sub_8079708();
LoadSpriteGfxAndPals();
break;
case 2:
if (!FreeTempTileDataBuffersIfPossible())
{
BlendPalettes(0x0000FFFF, 0x10, RGB_BLACK);
CreateTask(sub_8078C24, 4);
gUnknown_2037F30 = CreateTask(sub_8078BEC, 2);
SetVBlankCallback(sub_8078BB4);
SetMainCallback2(sub_8078B9C);
CreateTask(Task_TitleScreenMain, 4);
sTitleScreenTimerTaskId = CreateTask(Task_TitleScreenTimer, 2);
SetVBlankCallback(VBlankCB);
SetMainCallback2(CB2_TitleScreenRun);
m4aSongNumStart(BGM_FRLG_TITLE);
}
return;
@@ -292,7 +292,7 @@ void CB2_InitTitleScreen(void)
gMain.state++;
}
void sub_8078B34(void)
static void ResetGpuRegs(void)
{
SetGpuReg(REG_OFFSET_DISPCNT, 0);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
@@ -308,7 +308,7 @@ void sub_8078B34(void)
SetGpuReg(REG_OFFSET_BG3VOFS, 0);
}
void sub_8078B9C(void)
static void CB2_TitleScreenRun(void)
{
RunTasks();
AnimateSprites();
@@ -316,39 +316,39 @@ void sub_8078B9C(void)
UpdatePaletteFade();
}
void sub_8078BB4(void)
static void VBlankCB(void)
{
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
ScanlineEffect_InitHBlankDmaTransfer();
if (gUnknown_2037F30 != 0xFF)
gTasks[gUnknown_2037F30].data[0]++;
if (sTitleScreenTimerTaskId != 0xFF)
gTasks[sTitleScreenTimerTaskId].data[0]++;
}
void sub_8078BEC(u8 taskId)
static void Task_TitleScreenTimer(u8 taskId)
{
s16 * data = gTasks[taskId].data;
if (data[0] >= 2700)
{
gUnknown_2037F30 = 0xFF;
sTitleScreenTimerTaskId = 0xFF;
DestroyTask(taskId);
}
}
void sub_8078C24(u8 taskId)
static void Task_TitleScreenMain(u8 taskId)
{
s16 * data = gTasks[taskId].data;
if (JOY_NEW(A_BUTTON | B_BUTTON | START_BUTTON)
&& data[0] != 3 && data[0] != 4 && data[0] != 5)
{
sub_8079620();
sub_8079648();
ScheduleStopScanlineEffect();
LoadMainTitleScreenPalsAndResetBgs();
sub_8079A10(data[5]);
sub_8078C90(data, TITLESCREENSCENE_RUN);
SetTitleScreenScene(data, TITLESCREENSCENE_RUN);
}
else
{
@@ -356,13 +356,13 @@ void sub_8078C24(u8 taskId)
}
}
void sub_8078C90(s16 * data, u8 a1)
static void SetTitleScreenScene(s16 * data, u8 a1)
{
data[1] = 0;
data[0] = a1;
}
void sub_8078C9C(s16 * data)
static void SetTitleScreenScene_Init(s16 * data)
{
struct ScanlineEffectParams params;
@@ -381,10 +381,10 @@ void sub_8078C9C(s16 * data)
ScanlineEffect_SetParams(params);
sub_8078C90(data, TITLESCREENSCENE_FLASHSPRITE);
SetTitleScreenScene(data, TITLESCREENSCENE_FLASHSPRITE);
}
void sub_8078D24(s16 * data)
static void SetTitleScreenScene_FlashSprite(s16 * data)
{
switch (data[1])
{
@@ -392,12 +392,12 @@ void sub_8078D24(s16 * data)
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_LIGHTEN);
SetGpuReg(REG_OFFSET_BLDY, 0);
data[2] = 0x80;
sub_8079550(0x80);
UpdateScanlineEffectRegBuffer(data[2]);
data[1]++;
break;
case 1:
data[2] -= 4;
sub_8079550(data[2]);
UpdateScanlineEffectRegBuffer(data[2]);
if (data[2] < 0)
{
gScanlineEffect.state = 3;
@@ -407,11 +407,11 @@ void sub_8078D24(s16 * data)
case 2:
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDY, 0);
sub_8078C90(data, TITLESCREENSCENE_FADEIN);
SetTitleScreenScene(data, TITLESCREENSCENE_FADEIN);
}
}
void sub_8078DA4(s16 * data)
static void SetTitleScreenScene_FadeIn(s16 * data)
{
u32 r4;
switch (data[1])
@@ -440,7 +440,7 @@ void sub_8078DA4(s16 * data)
data[2]++;
if (data[2] > 36)
{
CreateTask(sub_80792C8, 3);
CreateTask(Task_TitleScreen_SlideWin0, 3);
sub_80717A8(0x2000, -4, 0x01, 0x10, RGB(30, 30, 31), 0, 0);
data[2] = 0;
data[1]++;
@@ -482,7 +482,7 @@ void sub_8078DA4(s16 * data)
if (!sub_807185C(0))
{
data[5] = 1;
r4 = (0x10000 << sub_80799F0()) | 0x00001FFF;
r4 = (0x10000 << CreateBlankSprite()) | 0x00001FFF;
BlendPalettes(r4, 0x10, RGB(30, 30, 31));
BeginNormalPaletteFade(r4, 1, 0x10, 0x00, RGB(30, 30, 31));
ShowBg(0);
@@ -494,7 +494,7 @@ void sub_8078DA4(s16 * data)
case 9:
if (!sub_807185C(0) && !gPaletteFade.active)
{
sub_8078C90(data, TITLESCREENSCENE_RUN);
SetTitleScreenScene(data, TITLESCREENSCENE_RUN);
}
break;
}
@@ -503,45 +503,45 @@ void sub_8078DA4(s16 * data)
#define KEYSTROKE_DELSAVE (B_BUTTON | SELECT_BUTTON | DPAD_UP)
#define KEYSTROKE_BERRY_FIX (B_BUTTON | SELECT_BUTTON)
void sub_8078FC4(s16 * data)
static void SetTitleScreenScene_Run(s16 * data)
{
switch (data[1])
{
case 0:
HelpSystem_SetSomeVariable2(1);
CreateTask(sub_807941C, 0);
CreateTask(sub_8079840, 5);
sub_80790A0();
data[6] = sub_8079A40();
CreateTask(Task_TitleScreen_PaletteSomething, 0);
CreateTask(Task_FlameOrLeafSpawner, 5);
SetGpuRegsForTitleScreenRun();
data[6] = CreateSlashSprite();
sub_812B484();
data[1]++;
// fallthrough
case 1:
if (JOY_HELD(KEYSTROKE_DELSAVE) == KEYSTROKE_DELSAVE)
{
sub_8079A88(data[6]);
DestroyTask(FindTaskIdByFunc(sub_8078C24));
SetMainCallback2(sub_80796CC);
ScheduleHideSlashSprite(data[6]);
DestroyTask(FindTaskIdByFunc(Task_TitleScreenMain));
SetMainCallback2(CB2_FadeOutTransitionToSaveClearScreen);
}
else if (JOY_HELD(KEYSTROKE_BERRY_FIX) == KEYSTROKE_BERRY_FIX)
{
sub_8079A88(data[6]);
DestroyTask(FindTaskIdByFunc(sub_8078C24));
SetMainCallback2(sub_80796E8);
ScheduleHideSlashSprite(data[6]);
DestroyTask(FindTaskIdByFunc(Task_TitleScreenMain));
SetMainCallback2(CB2_FadeOutTransitionToBerryFix);
}
else if (JOY_NEW(A_BUTTON | START_BUTTON))
{
sub_8078C90(data, TITLESCREENSCENE_CRY);
SetTitleScreenScene(data, TITLESCREENSCENE_CRY);
}
else if (!FuncIsActiveTask(sub_8078BEC))
else if (!FuncIsActiveTask(Task_TitleScreenTimer))
{
sub_8078C90(data, TITLESCREENSCEEN_RESTART);
SetTitleScreenScene(data, TITLESCREENSCEEN_RESTART);
}
break;
}
}
void sub_80790A0(void)
static void SetGpuRegsForTitleScreenRun(void)
{
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON);
SetGpuReg(REG_OFFSET_WINOUT, WIN_RANGE(0x3F, 0x1F));
@@ -549,27 +549,27 @@ void sub_80790A0(void)
SetGpuReg(REG_OFFSET_BLDY, 13);
}
void sub_80790CC(s16 * data)
static void SetTitleScreenScene_Restart(s16 * data)
{
switch (data[1])
{
case 0:
sub_8079A88(data[6]);
ScheduleHideSlashSprite(data[6]);
data[1]++;
break;
case 1:
if (!gPaletteFade.active && !sub_8079AA8(data[6]))
if (!gPaletteFade.active && !IsSlashSpriteHidden(data[6]))
{
FadeOutMapMusic(10);
BeginNormalPaletteFade(0xFFFFFFFF, 3, 0, 0x10, RGB_BLACK);
sub_8079528();
SignalEndTitleScreenPaletteSomethingTask();
data[1]++;
}
break;
case 2:
if (IsNotWaitingForBGMStop() && !gPaletteFade.active)
{
DestroyTask(FindTaskIdByFunc(sub_807941C));
DestroyTask(FindTaskIdByFunc(Task_TitleScreen_PaletteSomething));
data[2] = 0;
data[1]++;
}
@@ -578,19 +578,19 @@ void sub_80790CC(s16 * data)
data[2]++;
if (data[2] >= 20)
{
DestroyTask(FindTaskIdByFunc(sub_807941C));
DestroyTask(FindTaskIdByFunc(Task_TitleScreen_PaletteSomething));
data[1]++;
}
break;
case 4:
sub_812B478();
DestroyTask(FindTaskIdByFunc(sub_8078C24));
DestroyTask(FindTaskIdByFunc(Task_TitleScreenMain));
SetMainCallback2(sub_80EC864);
break;
}
}
void sub_80791C0(s16 * data)
static void SetTitleScreenScene_Cry(s16 * data)
{
switch (data[1])
{
@@ -598,7 +598,7 @@ void sub_80791C0(s16 * data)
if (!gPaletteFade.active)
{
PlayCry1(TITLE_SPECIES, 0);
sub_8079A88(data[6]);
ScheduleHideSlashSprite(data[6]);
data[2] = 0;
data[1]++;
}
@@ -606,10 +606,10 @@ void sub_80791C0(s16 * data)
case 1:
if (data[2] < 90)
data[2]++;
else if (!sub_8079AA8(data[6]))
else if (!IsSlashSpriteHidden(data[6]))
{
BeginNormalPaletteFade(0x0FFFFFFF, 0, 0, 0x10, RGB_WHITE);
sub_8079528();
SignalEndTitleScreenPaletteSomethingTask();
FadeOutBGM(4);
data[1]++;
}
@@ -627,13 +627,13 @@ void sub_80791C0(s16 * data)
SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound);
InitHeap(gHeap, HEAP_SIZE);
SetMainCallback2(sub_800C300);
DestroyTask(FindTaskIdByFunc(sub_8078C24));
DestroyTask(FindTaskIdByFunc(Task_TitleScreenMain));
}
break;
}
}
void sub_80792C8(u8 taskId)
static void Task_TitleScreen_SlideWin0(u8 taskId)
{
s16 * data = gTasks[taskId].data;
@@ -692,7 +692,7 @@ void sub_80792C8(u8 taskId)
}
}
void sub_807941C(u8 taskId)
static void Task_TitleScreen_PaletteSomething(u8 taskId)
{
s16 * data = gTasks[taskId].data;
s32 i;
@@ -736,13 +736,13 @@ void sub_807941C(u8 taskId)
}
}
void sub_8079528(void)
static void SignalEndTitleScreenPaletteSomethingTask(void)
{
u8 taskId = FindTaskIdByFunc(sub_807941C);
u8 taskId = FindTaskIdByFunc(Task_TitleScreen_PaletteSomething);
gTasks[taskId].data[15] = TRUE;
}
void sub_8079550(s16 a0)
static void UpdateScanlineEffectRegBuffer(s16 a0)
{
s32 i;
@@ -778,7 +778,7 @@ void sub_8079550(s16 a0)
}
}
void sub_8079620(void)
static void ScheduleStopScanlineEffect(void)
{
if (gScanlineEffect.state)
gScanlineEffect.state = 3;
@@ -786,11 +786,11 @@ void sub_8079620(void)
SetGpuReg(REG_OFFSET_BLDY, 0);
}
void sub_8079648(void)
static void LoadMainTitleScreenPalsAndResetBgs(void)
{
u8 taskId;
taskId = FindTaskIdByFunc(sub_80792C8);
taskId = FindTaskIdByFunc(Task_TitleScreen_SlideWin0);
if (taskId != 0xFF)
DestroyTask(taskId);
@@ -808,13 +808,13 @@ void sub_8079648(void)
ShowBg(3);
}
void sub_80796CC(void)
static void CB2_FadeOutTransitionToSaveClearScreen(void)
{
if (!UpdatePaletteFade())
SetMainCallback2(sub_80F55A0);
SetMainCallback2(CB2_SaveClearScreen_Init);
}
void sub_80796E8(void)
static void CB2_FadeOutTransitionToBerryFix(void)
{
if (!UpdatePaletteFade())
{
@@ -823,7 +823,7 @@ void sub_80796E8(void)
}
}
void sub_8079708(void)
static void LoadSpriteGfxAndPals(void)
{
s32 i;
@@ -832,7 +832,7 @@ void sub_8079708(void)
LoadSpritePalettes(gUnknown_83BFBBC);
}
void sub_8079730(struct Sprite * sprite)
static void SpriteCallback_TitleScreenFlameOrLeaf(struct Sprite * sprite)
{
s16 * data = sprite->data;
sprite->data[0] -= data[1];
@@ -876,16 +876,16 @@ void sub_8079730(struct Sprite * sprite)
#endif
}
bool32 sub_80797AC(s32 x, s32 y, s32 xspeed, s32 yspeed, bool32 templateId)
static bool32 CreateFlameOrLeafSprite(s32 x, s32 y, s32 xspeed, s32 yspeed, bool32 templateId)
{
u8 spriteId;
if (templateId)
{
spriteId = CreateSprite(&gUnknown_83BFB04, x, y, 0);
spriteId = CreateSprite(&sSpriteTemplate_FlameOrLeaf_State1, x, y, 0);
}
else
{
spriteId = CreateSprite(&gUnknown_83BFB1C, x, y, 0);
spriteId = CreateSprite(&sSpriteTemplate_FlameOrLeaf_State0, x, y, 0);
}
if (spriteId != MAX_SPRITES)
{
@@ -896,13 +896,13 @@ bool32 sub_80797AC(s32 x, s32 y, s32 xspeed, s32 yspeed, bool32 templateId)
gSprites[spriteId].data[4] = 0;
gSprites[spriteId].data[5] = (xspeed * yspeed) % 16;
gSprites[spriteId].data[6] = templateId;
gSprites[spriteId].callback = sub_8079730;
gSprites[spriteId].callback = SpriteCallback_TitleScreenFlameOrLeaf;
return TRUE;
}
return FALSE;
}
void sub_8079840(u8 taskId)
static void Task_FlameOrLeafSpawner(u8 taskId)
{
s16 * data = gTasks[taskId].data;
s32 x, y, xspeed, yspeed, templateId;
@@ -911,7 +911,7 @@ void sub_8079840(u8 taskId)
switch (data[0])
{
case 0:
sub_807999C(taskId, 3, 0x7878);
TitleScreen_srand(taskId, 3, 30840);
data[0]++;
break;
case 1:
@@ -919,30 +919,30 @@ void sub_8079840(u8 taskId)
if (data[1] >= data[2])
{
data[1] = 0;
sub_80799B4(taskId, 3);
TitleScreen_rand(taskId, 3);
data[2] = 18;
xspeed = (sub_80799B4(taskId, 3) % 4) - 2;
yspeed = (sub_80799B4(taskId, 3) % 8) - 16;
y = (sub_80799B4(taskId, 3) % 3) + 0x74;
x = sub_80799B4(taskId, 3) % 240;
sub_80797AC(
xspeed = (TitleScreen_rand(taskId, 3) % 4) - 2;
yspeed = (TitleScreen_rand(taskId, 3) % 8) - 16;
y = (TitleScreen_rand(taskId, 3) % 3) + 0x74;
x = TitleScreen_rand(taskId, 3) % 240;
CreateFlameOrLeafSprite(
x,
y,
xspeed,
yspeed,
(sub_80799B4(taskId, 3) % 16) < 8 ? 0 : 1
(TitleScreen_rand(taskId, 3) % 16) < 8 ? 0 : 1
);
for (i = 0; i < 15; i++)
{
sub_80797AC(
CreateFlameOrLeafSprite(
data[5] + gUnknown_83BFBD4[i],
y,
xspeed,
yspeed,
1
);
xspeed = (sub_80799B4(taskId, 3) % 4) - 2;
yspeed = (sub_80799B4(taskId, 3) % 8) - 16;
xspeed = (TitleScreen_rand(taskId, 3) % 4) - 2;
yspeed = (TitleScreen_rand(taskId, 3) % 8) - 16;
}
data[5]++;
if (data[5] > 3)
@@ -951,12 +951,12 @@ void sub_8079840(u8 taskId)
}
}
void sub_807999C(u8 taskId, u8 field, u16 seed)
static void TitleScreen_srand(u8 taskId, u8 field, u16 seed)
{
SetWordTaskArg(taskId, field, seed);
}
u16 sub_80799B4(u8 taskId, u8 field)
static u16 TitleScreen_rand(u8 taskId, u8 field)
{
u32 rngval;
@@ -966,13 +966,13 @@ u16 sub_80799B4(u8 taskId, u8 field)
return rngval >> 16;
}
u32 sub_80799F0(void)
static u32 CreateBlankSprite(void)
{
CreateSprite(&gUnknown_83BFB3C, 0x18, 0x90, 0);
CreateSprite(&sUnknownEmptySprite, 0x18, 0x90, 0);
return IndexOfSpritePaletteTag(2);
}
void sub_8079A10(bool32 mode)
static void sub_8079A10(bool32 mode)
{
u32 palIdx;
@@ -982,27 +982,27 @@ void sub_8079A10(bool32 mode)
LoadPalette(gUnknown_8EAE488, palIdx * 16 + 0x100, 0x20);
}
else
sub_80799F0();
CreateBlankSprite();
}
u8 sub_8079A40(void)
static u8 CreateSlashSprite(void)
{
u8 spriteId = CreateSprite(&gUnknown_83BFB5C, -0x20, 0x1B, 1);
u8 spriteId = CreateSprite(&sSlashSpriteTemplate, -0x20, 0x1B, 1);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].callback = sub_8079AD8;
gSprites[spriteId].callback = SpriteCallback_Slash;
gSprites[spriteId].data[1] = 540;
}
return spriteId;
}
void sub_8079A88(u8 spriteId)
static void ScheduleHideSlashSprite(u8 spriteId)
{
if (spriteId != MAX_SPRITES)
gSprites[spriteId].data[2] = TRUE;
}
bool32 sub_8079AA8(u8 spriteId)
static bool32 IsSlashSpriteHidden(u8 spriteId)
{
if (spriteId != MAX_SPRITES)
return gSprites[spriteId].data[0] ^ 2 ? TRUE : FALSE;
@@ -1010,7 +1010,7 @@ bool32 sub_8079AA8(u8 spriteId)
return FALSE;
}
void sub_8079AD8(struct Sprite * sprite)
static void SpriteCallback_Slash(struct Sprite * sprite)
{
switch (sprite->data[0])
{
+3 -2
View File
@@ -769,9 +769,10 @@ gUnknown_2037F24: @ 2037F24
gUnknown_2037F28: @ 2037F28
.space 0x8
gUnknown_2037F30: @ 2037F30
.space 0x4
.align 2
.include "src/title_screen.o"
.align 2
gUnknown_2037F34: @ 2037F34
.space 0x200