mirror of
https://github.com/pret/pokefirered.git
synced 2026-10-02 05:50:47 -05:00
faster intro
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#include "battle_setup.h"
|
||||
#include "scanline_effect.h"
|
||||
#include "task.h"
|
||||
#include "test_runner.h"
|
||||
#include "trig.h"
|
||||
|
||||
static void BattleIntroSlide1(u8 taskId);
|
||||
@@ -133,9 +134,59 @@ void BattleIntroSlideEnd(u8 taskId)
|
||||
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
|
||||
}
|
||||
|
||||
static void BattleIntroNoSlide(u8 taskId)
|
||||
{
|
||||
switch (gTasks[taskId].tState)
|
||||
{
|
||||
case 0:
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
|
||||
{
|
||||
gTasks[taskId].data[2] = 16;
|
||||
gTasks[taskId].tState++;
|
||||
gIntroSlideFlags &= ~1;
|
||||
}
|
||||
else
|
||||
{
|
||||
gTasks[taskId].data[2] = 1;
|
||||
gTasks[taskId].tState++;
|
||||
gIntroSlideFlags &= ~1;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
gTasks[taskId].data[2]--;
|
||||
if (gTasks[taskId].data[2] == 0)
|
||||
{
|
||||
gTasks[taskId].tState++;
|
||||
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR);
|
||||
gScanlineEffect.state = 3;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
gBattle_WIN0V -= 0xFF * 2;
|
||||
if ((gBattle_WIN0V & 0xFF00) == 0)
|
||||
{
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
gTasks[taskId].tState++;
|
||||
CpuFill32(0, (void *)BG_SCREEN_ADDR(28), BG_SCREEN_SIZE);
|
||||
SetBgAttribute(1, BG_ATTR_CHARBASEINDEX, 0);
|
||||
SetBgAttribute(2, BG_ATTR_CHARBASEINDEX, 0);
|
||||
SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT256x512);
|
||||
SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT512x256);
|
||||
break;
|
||||
case 4:
|
||||
BattleIntroSlideEnd(taskId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void BattleIntroSlide1(u8 taskId)
|
||||
{
|
||||
s32 i;
|
||||
if (B_FAST_INTRO_NO_SLIDE || gTestRunnerHeadless)
|
||||
return BattleIntroNoSlide(taskId);
|
||||
|
||||
gBattle_BG1_X += 6;
|
||||
switch (gTasks[taskId].data[0])
|
||||
@@ -215,6 +266,8 @@ static void BattleIntroSlide1(u8 taskId)
|
||||
static void BattleIntroSlide2(u8 taskId)
|
||||
{
|
||||
s32 i;
|
||||
if (B_FAST_INTRO_NO_SLIDE || gTestRunnerHeadless)
|
||||
return BattleIntroNoSlide(taskId);
|
||||
|
||||
switch (gTasks[taskId].data[1])
|
||||
{
|
||||
@@ -316,6 +369,8 @@ static void BattleIntroSlide2(u8 taskId)
|
||||
static void BattleIntroSlide3(u8 taskId)
|
||||
{
|
||||
s32 i;
|
||||
if (B_FAST_INTRO_NO_SLIDE || gTestRunnerHeadless)
|
||||
return BattleIntroNoSlide(taskId);
|
||||
|
||||
gBattle_BG1_X += 8;
|
||||
switch (gTasks[taskId].data[0])
|
||||
|
||||
Reference in New Issue
Block a user