Merge pull request #822 from GriffinRichards/document-fieldspecials
Document a few field specials
This commit is contained in:
+54
-36
@@ -103,8 +103,8 @@ static void PCTurnOnEffect_1(s16, s8, s8);
|
||||
static void PCTurnOffEffect(void);
|
||||
static void Task_LotteryCornerComputerEffect(u8);
|
||||
static void LotteryCornerComputerEffect(struct Task *);
|
||||
static void sub_81395BC(u8 taskId);
|
||||
static void sub_8139620(u8 taskId);
|
||||
static void Task_ShakeCamera(u8 taskId);
|
||||
static void StopCameraShake(u8 taskId);
|
||||
static void Task_MoveElevator(u8 taskId);
|
||||
static void MoveElevatorWindowLights(u16 floorDelta, bool8 descending);
|
||||
static void Task_MoveElevatorWindowLights(u8 taskId);
|
||||
@@ -126,8 +126,8 @@ static void Task_DeoxysRockInteraction(u8 taskId);
|
||||
static void ChangeDeoxysRockLevel(u8 a0);
|
||||
static void WaitForDeoxysRockMovement(u8 taskId);
|
||||
static void sub_813B57C(u8 taskId);
|
||||
static void sub_813B824(u8 taskId);
|
||||
static void _fwalk(u8 taskId);
|
||||
static void Task_LoopWingFlapSE(u8 taskId);
|
||||
static void Task_CloseBattlePikeCurtain(u8 taskId);
|
||||
static u8 sub_813BF44(void);
|
||||
static void sub_813BD84(void);
|
||||
static u16 sub_813BB74(void);
|
||||
@@ -1493,44 +1493,56 @@ bool8 IsPokerusInParty(void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_8139560(void)
|
||||
#define horizontalPan data[0]
|
||||
#define delayCounter data[1]
|
||||
#define numShakes data[2]
|
||||
#define delay data[3]
|
||||
#define verticalPan data[4]
|
||||
|
||||
void ShakeCamera(void)
|
||||
{
|
||||
u8 taskId = CreateTask(sub_81395BC, 9);
|
||||
gTasks[taskId].data[0] = gSpecialVar_0x8005;
|
||||
gTasks[taskId].data[1] = 0;
|
||||
gTasks[taskId].data[2] = gSpecialVar_0x8006;
|
||||
gTasks[taskId].data[3] = gSpecialVar_0x8007;
|
||||
gTasks[taskId].data[4] = gSpecialVar_0x8004;
|
||||
u8 taskId = CreateTask(Task_ShakeCamera, 9);
|
||||
gTasks[taskId].horizontalPan = gSpecialVar_0x8005;
|
||||
gTasks[taskId].delayCounter = 0;
|
||||
gTasks[taskId].numShakes = gSpecialVar_0x8006;
|
||||
gTasks[taskId].delay = gSpecialVar_0x8007;
|
||||
gTasks[taskId].verticalPan = gSpecialVar_0x8004;
|
||||
SetCameraPanningCallback(NULL);
|
||||
PlaySE(SE_W070);
|
||||
}
|
||||
|
||||
static void sub_81395BC(u8 taskId)
|
||||
static void Task_ShakeCamera(u8 taskId)
|
||||
{
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
data[1]++;
|
||||
if (data[1] % data[3] == 0)
|
||||
delayCounter++;
|
||||
if (delayCounter % delay == 0)
|
||||
{
|
||||
data[1] = 0;
|
||||
data[2]--;
|
||||
data[0] = -data[0];
|
||||
data[4] = -data[4];
|
||||
SetCameraPanning(data[0], data[4]);
|
||||
if (data[2] == 0)
|
||||
delayCounter = 0;
|
||||
numShakes--;
|
||||
horizontalPan = -horizontalPan;
|
||||
verticalPan = -verticalPan;
|
||||
SetCameraPanning(horizontalPan, verticalPan);
|
||||
if (numShakes == 0)
|
||||
{
|
||||
sub_8139620(taskId);
|
||||
StopCameraShake(taskId);
|
||||
InstallCameraPanAheadCallback();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_8139620(u8 taskId)
|
||||
static void StopCameraShake(u8 taskId)
|
||||
{
|
||||
DestroyTask(taskId);
|
||||
EnableBothScriptContexts();
|
||||
}
|
||||
|
||||
#undef horizontalPan
|
||||
#undef delayCounter
|
||||
#undef numShakes
|
||||
#undef delay
|
||||
#undef verticalPan
|
||||
|
||||
bool8 FoundBlackGlasses(void)
|
||||
{
|
||||
return FlagGet(FLAG_HIDDEN_ITEM_ROUTE_116_BLACK_GLASSES);
|
||||
@@ -1699,7 +1711,7 @@ bool8 InMultiBattleRoom(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_8139980(void)
|
||||
void OffsetCameraForBattle(void)
|
||||
{
|
||||
SetCameraPanningCallback(NULL);
|
||||
SetCameraPanning(8, 0);
|
||||
@@ -3713,7 +3725,7 @@ u32 GetMartEmployeeObjectEventId(void)
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool32 sub_813B4E0(void)
|
||||
bool32 IsTrainerRegistered(void)
|
||||
{
|
||||
int index = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004);
|
||||
if (index >= 0)
|
||||
@@ -3889,40 +3901,46 @@ void Script_DoRayquazaScene(void)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_813B80C(void)
|
||||
#define playCount data[0]
|
||||
#define delay data[1]
|
||||
|
||||
void LoopWingFlapSE(void)
|
||||
{
|
||||
CreateTask(sub_813B824, 8);
|
||||
CreateTask(Task_LoopWingFlapSE, 8);
|
||||
PlaySE(SE_W017);
|
||||
}
|
||||
|
||||
static void sub_813B824(u8 taskId)
|
||||
static void Task_LoopWingFlapSE(u8 taskId)
|
||||
{
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
data[1]++;
|
||||
if (data[1] == gSpecialVar_0x8005)
|
||||
delay++;
|
||||
if (delay == gSpecialVar_0x8005)
|
||||
{
|
||||
data[0]++;
|
||||
data[1] = 0;
|
||||
playCount++;
|
||||
delay = 0;
|
||||
PlaySE(SE_W017);
|
||||
}
|
||||
|
||||
if (data[0] == gSpecialVar_0x8004 - 1)
|
||||
if (playCount == gSpecialVar_0x8004 - 1)
|
||||
{
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_813B880(void)
|
||||
#undef playCount
|
||||
#undef delay
|
||||
|
||||
void CloseBattlePikeCurtain(void)
|
||||
{
|
||||
u8 taskId = CreateTask(_fwalk, 8);
|
||||
u8 taskId = CreateTask(Task_CloseBattlePikeCurtain, 8);
|
||||
gTasks[taskId].data[0] = 4;
|
||||
gTasks[taskId].data[1] = 4;
|
||||
gTasks[taskId].data[2] = 4;
|
||||
gTasks[taskId].data[3] = 0;
|
||||
}
|
||||
|
||||
static void _fwalk(u8 taskId)
|
||||
static void Task_CloseBattlePikeCurtain(u8 taskId)
|
||||
{
|
||||
u8 x, y;
|
||||
s16 *data = gTasks[taskId].data;
|
||||
@@ -3934,7 +3952,7 @@ static void _fwalk(u8 taskId)
|
||||
{
|
||||
for (x = 0; x < 3; x++)
|
||||
{
|
||||
MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + x + 6, gSaveBlock1Ptr->pos.y + y + 4, x + 0x201 + y * 8 + data[3] * 32);
|
||||
MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + x + 6, gSaveBlock1Ptr->pos.y + y + 4, x + 513 + y * 8 + data[3] * 32);
|
||||
}
|
||||
}
|
||||
DrawWholeMapView();
|
||||
|
||||
Reference in New Issue
Block a user