summaryrefslogtreecommitdiff
path: root/src/fldeff_groundshake.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fldeff_groundshake.c')
-rw-r--r--src/fldeff_groundshake.c70
1 files changed, 42 insertions, 28 deletions
diff --git a/src/fldeff_groundshake.c b/src/fldeff_groundshake.c
index 866606a06..bfd583981 100644
--- a/src/fldeff_groundshake.c
+++ b/src/fldeff_groundshake.c
@@ -2,6 +2,7 @@
#include "event_data.h"
#include "event_object_movement.h"
#include "field_camera.h"
+#include "fldeff.h"
#include "alloc.h"
#include "random.h"
#include "roulette_util.h"
@@ -10,6 +11,7 @@
#include "sprite.h"
#include "task.h"
#include "constants/flags.h"
+#include "constants/maps.h"
#include "constants/songs.h"
// structures
@@ -73,7 +75,13 @@ static const struct OamData gUnknown_08617E2C =
};
static const struct SpriteTemplate gUnknown_08617E34 = {
- 0x0FA0, 0xFFFF, &gUnknown_08617E2C, gSpriteAnimTable_8617E28, NULL, gDummySpriteAffineAnimTable, sub_81BEAD8
+ .tileTag = 0x0FA0,
+ .paletteTag = 0xFFFF,
+ .oam = &gUnknown_08617E2C,
+ .anims = gSpriteAnimTable_8617E28,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81BEAD8
};
static const union AnimCmd gSpriteAnim_8617E4C[] =
@@ -105,7 +113,13 @@ static const struct OamData gSpriteAnim_8617E58 =
};
static const struct SpriteTemplate gUnknown_08617E60 = {
- 0x0FA0, 0xFFFF, &gSpriteAnim_8617E58, gSpriteAnim_8617E54, NULL, gDummySpriteAffineAnimTable, sub_81BEAD8
+ .tileTag = 0x0FA0,
+ .paletteTag = 0xFFFF,
+ .oam = &gSpriteAnim_8617E58,
+ .anims = gSpriteAnim_8617E54,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81BEAD8
};
// ewram
@@ -114,12 +128,13 @@ EWRAM_DATA struct Struct203CF18 *gUnknown_0203CF18 = NULL;
// text
bool8 sub_81BE66C(void)
{
- if (!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A))
- return 0;
- return FlagGet(FLAG_0x14E);
+ if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE111) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE111)))
+ return FALSE;
+ else
+ return FlagGet(FLAG_0x14E);
}
-void sub_81BE698(u8 taskId)
+static void sub_81BE698(u8 taskId)
{
sub_8151E50(&(gUnknown_0203CF18->unk4));
}
@@ -131,12 +146,13 @@ void sub_81BE6AC(void)
void sub_81BE6B8(void)
{
- if(gUnknown_0203CF18 != NULL)
+ if (gUnknown_0203CF18 != NULL)
{
gUnknown_0203CF18 = NULL;
return;
}
- if(!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A) || !FlagGet(FLAG_0x14E))
+
+ if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(ROUTE111) || gSaveBlock1Ptr->location.mapNum != MAP_NUM(ROUTE111) || !FlagGet(FLAG_0x14E))
return;
gUnknown_0203CF18 = (struct Struct203CF18 *)AllocZeroed(sizeof(struct Struct203CF18));
@@ -148,10 +164,13 @@ void sub_81BE6B8(void)
void sub_81BE72C(void)
{
- if(!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A) || !FlagGet(FLAG_0x14E) || gUnknown_0203CF18 == NULL)
+ if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(ROUTE111) || gSaveBlock1Ptr->location.mapNum != MAP_NUM(ROUTE111)
+ || !FlagGet(FLAG_0x14E) || gUnknown_0203CF18 == NULL)
return;
- if(FuncIsActiveTask(sub_81BE698))
+
+ if( FuncIsActiveTask(sub_81BE698))
DestroyTask(gUnknown_0203CF18->taskId);
+
sub_8151D28(&(gUnknown_0203CF18->unk4), 1, 1);
sub_8151C50(&(gUnknown_0203CF18->unk4), 1, 1);
Free(gUnknown_0203CF18);
@@ -163,16 +182,16 @@ void sub_81BE79C(void)
u16 rand;
bool8 chance;
- if(VarGet(VAR_0x40CB) != 0)
+ if (VarGet(VAR_0x40CB) != 0)
{
FlagClear(FLAG_0x14E);
return;
}
rand = Random();
chance = rand & 1;
- if(FlagGet(FLAG_0x09D) == TRUE)
+ if (FlagGet(FLAG_0x09D) == TRUE)
chance = TRUE;
- if(chance)
+ if (chance)
{
FlagSet(FLAG_0x14E);
sub_81BE6B8();
@@ -221,18 +240,17 @@ static void sp136_strengh_sound(u8 a, u8 b, u8 c, u8 d)
static void sub_81BE900(u8 taskId)
{
- s16 *data;
+ s16 *data = gTasks[taskId].data;
- data = gTasks[taskId].data;
data[1]++;
- if((data[1] % data[3]) == 0)
+ if ((data[1] % data[3]) == 0)
{
data[1] = 0;
data[2]--;
data[0] = -data[0];
data[4] = -data[4];
SetCameraPanning(data[0], data[4]);
- if(!data[2])
+ if (!data[2])
{
sub_81BE968();
DestroyTask(taskId);
@@ -243,10 +261,8 @@ static void sub_81BE900(u8 taskId)
static void sub_81BE968(void)
{
- u8 taskId;
-
- taskId = FindTaskIdByFunc(sub_81BE9C0);
- if(taskId != 0xFF)
+ u8 taskId = FindTaskIdByFunc(sub_81BE9C0);
+ if (taskId != 0xFF)
gTasks[taskId].data[0]++;
}
@@ -260,11 +276,9 @@ void sub_81BE994(void)
static void sub_81BE9C0(u8 taskId)
{
- u16 *data;
+ u16 *data = gTasks[taskId].data;
- data = gTasks[taskId].data;
- data[1]++;
- if(data[1] == 1000 || data[0] == 17)
+ if (++data[1] == 1000 || data[0] == 17)
gTasks[taskId].func = sub_81BEA00;
}
@@ -280,14 +294,14 @@ static void sub_81BEA20(void)
u8 i;
u8 spriteId;
- for(i = 0; i < 8; i++)
+ for (i = 0; i < 8; i++)
{
spriteId = CreateSprite(&gUnknown_08617E60, gUnknown_08617D64[i][0] + 120, gUnknown_08617D64[i][1], 8);
gSprites[spriteId].oam.priority = 0;
gSprites[spriteId].oam.paletteNum = 0;
gSprites[spriteId].data[0] = i;
}
- for(i = 0; i < 8; i++)
+ for (i = 0; i < 8; i++)
{
spriteId = CreateSprite(&gUnknown_08617E34, gUnknown_08617D64[i][0] + 115, gUnknown_08617D64[i][1] - 3, 8);
gSprites[spriteId].oam.priority = 0;
@@ -300,7 +314,7 @@ static void sub_81BEAD8(struct Sprite* sprite)
{
sprite->data[1] += 2;
sprite->pos2.y = (sprite->data[1] / 2);
- if(((sprite->pos1.y) + (sprite->pos2.y)) > gUnknown_08617D64[sprite->data[0]][2])
+ if (((sprite->pos1.y) + (sprite->pos2.y)) > gUnknown_08617D64[sprite->data[0]][2])
{
DestroySprite(sprite);
sub_81BE968();