summaryrefslogtreecommitdiff
path: root/src/fldeff_misc.c
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2018-12-22 19:33:45 +0100
committerDizzyEggg <jajkodizzy@wp.pl>2018-12-22 19:33:45 +0100
commit6dffa6d17c35fe13f5878bd7bbf8a3fe1054c20c (patch)
treefb711108a3caed32ea06c7dd0e4ce61917c55ced /src/fldeff_misc.c
parent8fcb3f71c72c6545c0de987b2c0846eef5cd1dfb (diff)
Match and clean up fldeff misc
Diffstat (limited to 'src/fldeff_misc.c')
-rw-r--r--src/fldeff_misc.c464
1 files changed, 123 insertions, 341 deletions
diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c
index 79f0a8ede..d9fe38197 100644
--- a/src/fldeff_misc.c
+++ b/src/fldeff_misc.c
@@ -11,8 +11,10 @@
#include "field_effect.h"
#include "field_camera.h"
#include "field_player_avatar.h"
+#include "fldeff_misc.h"
#include "secret_base.h"
#include "event_data.h"
+#include "event_scripts.h"
#include "event_object_movement.h"
#include "metatile_behavior.h"
#include "string_util.h"
@@ -20,70 +22,71 @@
#include "constants/metatile_behaviors.h"
#include "constants/songs.h"
#include "constants/vars.h"
-#include "fldeff_misc.h"
-void sub_80F9C90(u8);
-void sub_80F9DFC(u8);
+extern struct MapPosition gPlayerFacingPosition;
-void Task_SecretBasePCTurnOn(u8);
+static void sub_80F9C90(u8);
+static void sub_80F9DFC(u8);
-void Task_PopSecretBaseBalloon(u8);
-void DoBalloonSoundEffect(s16);
+static void Task_SecretBasePCTurnOn(u8);
-void Task_WateringBerryTreeAnim_1(u8);
-void Task_WateringBerryTreeAnim_2(u8);
-void Task_WateringBerryTreeAnim_3(u8);
+static void Task_PopSecretBaseBalloon(u8);
+static void DoBalloonSoundEffect(s16);
-void sub_80F9C44(TaskFunc, u16, u16, u8);
+static void Task_WateringBerryTreeAnim_1(u8);
+static void Task_WateringBerryTreeAnim_2(u8);
+static void Task_WateringBerryTreeAnim_3(u8);
-void FieldCallback_SecretBaseCave(void);
+static void sub_80F9C44(TaskFunc, u16, u16, u8);
+
+static void FieldCallback_SecretBaseCave(void);
static void CaveEntranceSpriteCallback1(struct Sprite *);
static void CaveEntranceSpriteCallback2(struct Sprite *);
static void CaveEntranceSpriteCallbackEnd(struct Sprite *);
static void StartSecretBaseCaveFieldEffect(void);
-void FieldCallback_SecretBaseTree(void);
+static void FieldCallback_SecretBaseTree(void);
static void TreeEntranceSpriteCallback1(struct Sprite *);
static void TreeEntranceSpriteCallback2(struct Sprite *);
static void TreeEntranceSpriteCallbackEnd(struct Sprite *);
static void StartSecretBaseTreeFieldEffect(void);
-void FieldCallback_SecretBaseShrub(void);
+static void FieldCallback_SecretBaseShrub(void);
static void ShrubEntranceSpriteCallback1(struct Sprite *);
static void ShrubEntranceSpriteCallback2(struct Sprite *);
static void ShrubEntranceSpriteCallbackEnd(struct Sprite *);
static void StartSecretBaseShrubFieldEffect(void);
-void SpriteCB_SandPillar_0(struct Sprite *);
-void SpriteCB_SandPillar_1(struct Sprite *);
-void SpriteCB_SandPillar_2(struct Sprite *);
-
-const u8 gSpriteImage_858D978[] = INCBIN_U8("graphics/unknown/858E588/0.4bpp");
-const u8 gSpriteImage_858D9F8[] = INCBIN_U8("graphics/unknown/858E588/1.4bpp");
-const u8 gSpriteImage_858DA78[] = INCBIN_U8("graphics/unknown/858E588/2.4bpp");
-const u8 gSpriteImage_858DAF8[] = INCBIN_U8("graphics/unknown/858E588/3.4bpp");
-const u8 gSpriteImage_858DB78[] = INCBIN_U8("graphics/unknown/858E588/4.4bpp");
-
-const u8 gUnusedEmptySpace_858DBF8[32] = {0};
-
-const u16 gFieldEffectObjectPalette7[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_07.gbapal");
-const u8 gSpriteImage_858DC38[] = INCBIN_U8("graphics/unknown/858E5D8/0.4bpp");
-const u8 gSpriteImage_858DCB8[] = INCBIN_U8("graphics/unknown/858E5D8/1.4bpp");
-const u8 gSpriteImage_858DD38[] = INCBIN_U8("graphics/unknown/858E5D8/2.4bpp");
-const u8 gSpriteImage_858DDB8[] = INCBIN_U8("graphics/unknown/858E5D8/3.4bpp");
-const u8 gSpriteImage_858DE38[] = INCBIN_U8("graphics/unknown/858E5D8/4.4bpp");
-const u8 gSpriteImage_858DEB8[] = INCBIN_U8("graphics/unknown/858E5B0/0.4bpp");
-const u8 gSpriteImage_858DF38[] = INCBIN_U8("graphics/unknown/858E5B0/1.4bpp");
-const u8 gSpriteImage_858DFB8[] = INCBIN_U8("graphics/unknown/858E5B0/2.4bpp");
-const u8 gSpriteImage_858E038[] = INCBIN_U8("graphics/unknown/858E5B0/3.4bpp");
-const u8 gSpriteImage_858E0B8[] = INCBIN_U8("graphics/unknown/858E5B0/4.4bpp");
-const u8 gSpriteImage_858E138[] = INCBIN_U8("graphics/unknown/858E5B0/5.4bpp");
-const u16 gFieldEffectObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_08.gbapal");
-const u8 gSpriteImage_858E1D8[] = INCBIN_U8("graphics/unknown/858E674/0.4bpp");
-const u8 gSpriteImage_858E2D8[] = INCBIN_U8("graphics/unknown/858E674/1.4bpp");
-const u8 gSpriteImage_858E3D8[] = INCBIN_U8("graphics/unknown/858E674/2.4bpp");
-
-const struct OamData gOamData_858E4D8 =
+static void SpriteCB_SandPillar_0(struct Sprite *);
+static void SpriteCB_SandPillar_1(struct Sprite *);
+static void SpriteCB_SandPillar_2(struct Sprite *);
+
+static const u8 gSpriteImage_858D978[] = INCBIN_U8("graphics/unknown/858E588/0.4bpp");
+static const u8 gSpriteImage_858D9F8[] = INCBIN_U8("graphics/unknown/858E588/1.4bpp");
+static const u8 gSpriteImage_858DA78[] = INCBIN_U8("graphics/unknown/858E588/2.4bpp");
+static const u8 gSpriteImage_858DAF8[] = INCBIN_U8("graphics/unknown/858E588/3.4bpp");
+static const u8 gSpriteImage_858DB78[] = INCBIN_U8("graphics/unknown/858E588/4.4bpp");
+
+static const u8 gUnusedEmptySpace_858DBF8[32] = {0};
+
+static const u16 gFieldEffectObjectPalette7[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_07.gbapal");
+static const u8 gSpriteImage_858DC38[] = INCBIN_U8("graphics/unknown/858E5D8/0.4bpp");
+static const u8 gSpriteImage_858DCB8[] = INCBIN_U8("graphics/unknown/858E5D8/1.4bpp");
+static const u8 gSpriteImage_858DD38[] = INCBIN_U8("graphics/unknown/858E5D8/2.4bpp");
+static const u8 gSpriteImage_858DDB8[] = INCBIN_U8("graphics/unknown/858E5D8/3.4bpp");
+static const u8 gSpriteImage_858DE38[] = INCBIN_U8("graphics/unknown/858E5D8/4.4bpp");
+static const u8 gSpriteImage_858DEB8[] = INCBIN_U8("graphics/unknown/858E5B0/0.4bpp");
+static const u8 gSpriteImage_858DF38[] = INCBIN_U8("graphics/unknown/858E5B0/1.4bpp");
+static const u8 gSpriteImage_858DFB8[] = INCBIN_U8("graphics/unknown/858E5B0/2.4bpp");
+static const u8 gSpriteImage_858E038[] = INCBIN_U8("graphics/unknown/858E5B0/3.4bpp");
+static const u8 gSpriteImage_858E0B8[] = INCBIN_U8("graphics/unknown/858E5B0/4.4bpp");
+static const u8 gSpriteImage_858E138[] = INCBIN_U8("graphics/unknown/858E5B0/5.4bpp");
+static const u16 gFieldEffectObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_08.gbapal");
+static const u8 gSpriteImage_858E1D8[] = INCBIN_U8("graphics/unknown/858E674/0.4bpp");
+static const u8 gSpriteImage_858E2D8[] = INCBIN_U8("graphics/unknown/858E674/1.4bpp");
+static const u8 gSpriteImage_858E3D8[] = INCBIN_U8("graphics/unknown/858E674/2.4bpp");
+
+static const struct OamData gOamData_858E4D8 =
{
.y = 0,
.x = 0,
@@ -95,7 +98,7 @@ const struct OamData gOamData_858E4D8 =
.priority = 2,
};
-const union AnimCmd gSpriteAnim_858E4E0[] =
+static const union AnimCmd gSpriteAnim_858E4E0[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(1, 8),
@@ -105,7 +108,7 @@ const union AnimCmd gSpriteAnim_858E4E0[] =
ANIMCMD_END,
};
-const union AnimCmd gSpriteAnim_858E4F8[] =
+static const union AnimCmd gSpriteAnim_858E4F8[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(1, 8),
@@ -115,7 +118,7 @@ const union AnimCmd gSpriteAnim_858E4F8[] =
ANIMCMD_END,
};
-const union AnimCmd gSpriteAnim_858E510[] =
+static const union AnimCmd gSpriteAnim_858E510[] =
{
ANIMCMD_FRAME(4, 8),
ANIMCMD_FRAME(3, 8),
@@ -125,7 +128,7 @@ const union AnimCmd gSpriteAnim_858E510[] =
ANIMCMD_END,
};
-const union AnimCmd gSpriteAnim_858E528[] =
+static const union AnimCmd gSpriteAnim_858E528[] =
{
ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
ANIMCMD_FRAME(1, 8, .hFlip = TRUE),
@@ -135,7 +138,7 @@ const union AnimCmd gSpriteAnim_858E528[] =
ANIMCMD_END,
};
-const union AnimCmd gSpriteAnim_858E540[] =
+static const union AnimCmd gSpriteAnim_858E540[] =
{
ANIMCMD_FRAME(4, 8, .hFlip = TRUE),
ANIMCMD_FRAME(3, 8, .hFlip = TRUE),
@@ -145,7 +148,7 @@ const union AnimCmd gSpriteAnim_858E540[] =
ANIMCMD_END,
};
-const union AnimCmd gSpriteAnim_858E558[] =
+static const union AnimCmd gSpriteAnim_858E558[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(1, 8),
@@ -155,12 +158,12 @@ const union AnimCmd gSpriteAnim_858E558[] =
ANIMCMD_END,
};
-const union AnimCmd *const gSpriteAnimTable_858E570[] =
+static const union AnimCmd *const gSpriteAnimTable_858E570[] =
{
gSpriteAnim_858E4E0,
};
-const union AnimCmd *const gSpriteAnimTable_858E574[] =
+static const union AnimCmd *const gSpriteAnimTable_858E574[] =
{
gSpriteAnim_858E4F8,
gSpriteAnim_858E510,
@@ -168,12 +171,12 @@ const union AnimCmd *const gSpriteAnimTable_858E574[] =
gSpriteAnim_858E540,
};
-const union AnimCmd *const gSpriteAnimTable_858E584[] =
+static const union AnimCmd *const gSpriteAnimTable_858E584[] =
{
gSpriteAnim_858E558,
};
-const struct SpriteFrameImage gUnknown_858E588[] =
+static const struct SpriteFrameImage gUnknown_858E588[] =
{
{gSpriteImage_858D978, 0x80},
{gSpriteImage_858D9F8, 0x80},
@@ -182,7 +185,7 @@ const struct SpriteFrameImage gUnknown_858E588[] =
{gSpriteImage_858DB78, 0x80},
};
-const struct SpriteFrameImage gUnknown_858E5B0[] =
+static const struct SpriteFrameImage gUnknown_858E5B0[] =
{
{gSpriteImage_858DEB8, 0x80},
{gSpriteImage_858DF38, 0x80},
@@ -191,7 +194,7 @@ const struct SpriteFrameImage gUnknown_858E5B0[] =
{gSpriteImage_858E0B8, 0x80},
};
-const struct SpriteFrameImage gUnknown_858E5D8[] =
+static const struct SpriteFrameImage gUnknown_858E5D8[] =
{
{gSpriteImage_858DC38, 0x80},
{gSpriteImage_858DCB8, 0x80},
@@ -200,7 +203,7 @@ const struct SpriteFrameImage gUnknown_858E5D8[] =
{gSpriteImage_858DE38, 0x80},
};
-const struct SpriteTemplate gUnknown_0858E600 =
+static const struct SpriteTemplate gUnknown_0858E600 =
{
.tileTag = 0xFFFF,
.paletteTag = 0x1003,
@@ -211,7 +214,7 @@ const struct SpriteTemplate gUnknown_0858E600 =
.callback = CaveEntranceSpriteCallback1,
};
-const struct SpriteTemplate gUnknown_0858E618 =
+static const struct SpriteTemplate gUnknown_0858E618 =
{
.tileTag = 0xFFFF,
.paletteTag = 0x1008,
@@ -222,7 +225,7 @@ const struct SpriteTemplate gUnknown_0858E618 =
.callback = TreeEntranceSpriteCallback1,
};
-const struct SpriteTemplate gUnknown_0858E630 =
+static const struct SpriteTemplate gUnknown_0858E630 =
{
.tileTag = 0xFFFF,
.paletteTag = 0x1008,
@@ -236,7 +239,7 @@ const struct SpriteTemplate gUnknown_0858E630 =
const struct SpritePalette gFieldEffectObjectPaletteInfo7 = {gFieldEffectObjectPalette7, 0x1003};
const struct SpritePalette gFieldEffectObjectPaletteInfo8 = {gFieldEffectObjectPalette8, 0x1008};
-const struct OamData gOamData_858E658 =
+static const struct OamData gOamData_858E658 =
{
.x = 0,
.y = 0,
@@ -248,7 +251,7 @@ const struct OamData gOamData_858E658 =
.priority = 2,
};
-const union AnimCmd gSpriteAnim_858E660[] =
+static const union AnimCmd gSpriteAnim_858E660[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(1, 6),
@@ -256,19 +259,19 @@ const union AnimCmd gSpriteAnim_858E660[] =
ANIMCMD_END,
};
-const union AnimCmd *const gSpriteAnimTable_858E670[] =
+static const union AnimCmd *const gSpriteAnimTable_858E670[] =
{
gSpriteAnim_858E660,
};
-const struct SpriteFrameImage gUnknown_0858E674[] =
+static const struct SpriteFrameImage gUnknown_0858E674[] =
{
{gSpriteImage_858E1D8, 0x100},
{gSpriteImage_858E2D8, 0x100},
{gSpriteImage_858E3D8, 0x100},
};
-const struct SpriteTemplate gUnknown_0858E68C =
+static const struct SpriteTemplate gUnknown_0858E68C =
{
.tileTag = 0xFFFF,
.paletteTag = 0x100E,
@@ -340,7 +343,7 @@ bool8 sub_80F9C30(void)
return FuncIsActiveTask(sub_80F9DFC);
}
-void sub_80F9C44(void (*taskfunc) (u8), u16 a1, u16 a2, u8 a3)
+static void sub_80F9C44(void (*taskfunc) (u8), u16 a1, u16 a2, u8 a3)
{
u8 taskId = CreateTask(taskfunc, a3);
@@ -350,12 +353,11 @@ void sub_80F9C44(void (*taskfunc) (u8), u16 a1, u16 a2, u8 a3)
gTasks[taskId].func(taskId);
}
-#ifdef NONMATCHING
-void sub_80F9C90(u8 taskId)
+static void sub_80F9C90(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- switch(task->data[0])
+ switch (task->data[0])
{
case 0:
task->data[3] = 0x78;
@@ -365,7 +367,7 @@ void sub_80F9C90(u8 taskId)
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[4]));
- SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[5], task->data[6]));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[6]));
SetGpuReg(REG_OFFSET_WININ, 0x3F);
SetGpuReg(REG_OFFSET_WINOUT, 0);
@@ -400,7 +402,7 @@ void sub_80F9C90(u8 taskId)
task->data[5] -= task->data[2];
task->data[6] += task->data[2];
- if (task->data[5] < 1 || task->data[2] > 0x9F)
+ if (task->data[5] < 1 || task->data[6] > 0x9F)
{
task->data[5] = 0;
task->data[6] = 0xA0;
@@ -416,189 +418,10 @@ void sub_80F9C90(u8 taskId)
DestroyTask(taskId);
return;
}
- task->data[0] += 1;
+ task->data[0]++;
}
-#else
-NAKED
-void sub_80F9C90(u8 taskId)
-{
- asm_unified("\tpush {r4,r5,lr}\n"
- "\tlsls r0, 24\n"
- "\tlsrs r5, r0, 24\n"
- "\tlsls r0, r5, 2\n"
- "\tadds r0, r5\n"
- "\tlsls r0, 3\n"
- "\tldr r1, =gTasks\n"
- "\tadds r4, r0, r1\n"
- "\tmovs r1, 0x8\n"
- "\tldrsh r0, [r4, r1]\n"
- "\tcmp r0, 0x1\n"
- "\tbeq _080F9D10\n"
- "\tcmp r0, 0x1\n"
- "\tbgt _080F9CB8\n"
- "\tcmp r0, 0\n"
- "\tbeq _080F9CC2\n"
- "\tb _080F9DDE\n"
- "\t.pool\n"
- "_080F9CB8:\n"
- "\tcmp r0, 0x2\n"
- "\tbeq _080F9D32\n"
- "\tcmp r0, 0x3\n"
- "\tbeq _080F9D94\n"
- "\tb _080F9DDE\n"
- "_080F9CC2:\n"
- "\tmovs r0, 0x78\n"
- "\tstrh r0, [r4, 0xE]\n"
- "\tstrh r0, [r4, 0x10]\n"
- "\tmovs r0, 0x50\n"
- "\tstrh r0, [r4, 0x12]\n"
- "\tmovs r0, 0x51\n"
- "\tstrh r0, [r4, 0x14]\n"
- "\tmovs r1, 0x80\n"
- "\tlsls r1, 6\n"
- "\tmovs r0, 0\n"
- "\tbl SetGpuRegBits\n"
- "\tldrh r1, [r4, 0xE]\n"
- "\tlsls r1, 8\n"
- "\tldrh r0, [r4, 0x10]\n"
- "\torrs r1, r0\n"
- "\tlsls r1, 16\n"
- "\tlsrs r1, 16\n"
- "\tmovs r0, 0x40\n"
- "\tbl SetGpuReg\n"
- "\tldrh r1, [r4, 0x12]\n"
- "\tlsls r1, 8\n"
- "\tldrh r0, [r4, 0x14]\n"
- "\torrs r1, r0\n"
- "\tlsls r1, 16\n"
- "\tlsrs r1, 16\n"
- "\tmovs r0, 0x44\n"
- "\tbl SetGpuReg\n"
- "\tmovs r0, 0x48\n"
- "\tmovs r1, 0x3F\n"
- "\tbl SetGpuReg\n"
- "\tmovs r0, 0x4A\n"
- "\tmovs r1, 0\n"
- "\tbl SetGpuReg\n"
- "\tb _080F9DEE\n"
- "_080F9D10:\n"
- "\tmovs r0, 0x50\n"
- "\tbl GetGpuReg\n"
- "\tstrh r0, [r4, 0x16]\n"
- "\tmovs r0, 0x54\n"
- "\tbl GetGpuReg\n"
- "\tstrh r0, [r4, 0x18]\n"
- "\tmovs r0, 0x50\n"
- "\tmovs r1, 0xBF\n"
- "\tbl SetGpuReg\n"
- "\tmovs r0, 0x54\n"
- "\tmovs r1, 0x10\n"
- "\tbl SetGpuReg\n"
- "\tb _080F9DEE\n"
- "_080F9D32:\n"
- "\tldrh r0, [r4, 0xE]\n"
- "\tldrh r1, [r4, 0xA]\n"
- "\tsubs r0, r1\n"
- "\tmovs r5, 0\n"
- "\tstrh r0, [r4, 0xE]\n"
- "\tldrh r2, [r4, 0x10]\n"
- "\tadds r1, r2\n"
- "\tstrh r1, [r4, 0x10]\n"
- "\tlsls r0, 16\n"
- "\tcmp r0, 0\n"
- "\tble _080F9D50\n"
- "\tlsls r0, r1, 16\n"
- "\tasrs r0, 16\n"
- "\tcmp r0, 0xEF\n"
- "\tble _080F9D76\n"
- "_080F9D50:\n"
- "\tstrh r5, [r4, 0xE]\n"
- "\tmovs r0, 0xF0\n"
- "\tstrh r0, [r4, 0x10]\n"
- "\tmovs r0, 0x54\n"
- "\tmovs r1, 0\n"
- "\tbl SetGpuReg\n"
- "\tldrh r1, [r4, 0x16]\n"
- "\tmovs r0, 0x50\n"
- "\tbl SetGpuReg\n"
- "\tmovs r0, 0x1\n"
- "\tnegs r0, r0\n"
- "\tmovs r1, 0\n"
- "\tmovs r2, 0\n"
- "\tbl BlendPalettes\n"
- "\tldr r0, =gPlttBufferFaded\n"
- "\tstrh r5, [r0]\n"
- "_080F9D76:\n"
- "\tldrh r1, [r4, 0xE]\n"
- "\tlsls r1, 8\n"
- "\tldrh r0, [r4, 0x10]\n"
- "\torrs r1, r0\n"
- "\tlsls r1, 16\n"
- "\tlsrs r1, 16\n"
- "\tmovs r0, 0x40\n"
- "\tbl SetGpuReg\n"
- "\tmovs r1, 0xE\n"
- "\tldrsh r0, [r4, r1]\n"
- "\tb _080F9DD8\n"
- "\t.pool\n"
- "_080F9D94:\n"
- "\tldrh r0, [r4, 0x12]\n"
- "\tldrh r1, [r4, 0xC]\n"
- "\tsubs r0, r1\n"
- "\tstrh r0, [r4, 0x12]\n"
- "\tldrh r2, [r4, 0x14]\n"
- "\tadds r1, r2\n"
- "\tstrh r1, [r4, 0x14]\n"
- "\tlsls r0, 16\n"
- "\tcmp r0, 0\n"
- "\tble _080F9DB0\n"
- "\tlsls r0, r1, 16\n"
- "\tasrs r0, 16\n"
- "\tcmp r0, 0x9F\n"
- "\tble _080F9DC2\n"
- "_080F9DB0:\n"
- "\tmovs r0, 0\n"
- "\tstrh r0, [r4, 0x12]\n"
- "\tmovs r0, 0xA0\n"
- "\tstrh r0, [r4, 0x14]\n"
- "\tmovs r1, 0x80\n"
- "\tlsls r1, 6\n"
- "\tmovs r0, 0\n"
- "\tbl ClearGpuRegBits\n"
- "_080F9DC2:\n"
- "\tldrh r1, [r4, 0x12]\n"
- "\tlsls r1, 8\n"
- "\tldrh r0, [r4, 0x14]\n"
- "\torrs r1, r0\n"
- "\tlsls r1, 16\n"
- "\tlsrs r1, 16\n"
- "\tmovs r0, 0x44\n"
- "\tbl SetGpuReg\n"
- "\tmovs r1, 0x12\n"
- "\tldrsh r0, [r4, r1]\n"
- "_080F9DD8:\n"
- "\tcmp r0, 0\n"
- "\tbne _080F9DF4\n"
- "\tb _080F9DEE\n"
- "_080F9DDE:\n"
- "\tldrh r1, [r4, 0x16]\n"
- "\tmovs r0, 0x50\n"
- "\tbl SetGpuReg\n"
- "\tadds r0, r5, 0\n"
- "\tbl DestroyTask\n"
- "\tb _080F9DF4\n"
- "_080F9DEE:\n"
- "\tldrh r0, [r4, 0x8]\n"
- "\tadds r0, 0x1\n"
- "\tstrh r0, [r4, 0x8]\n"
- "_080F9DF4:\n"
- "\tpop {r4,r5}\n"
- "\tpop {r0}\n"
- "\tbx r0");
-}
-#endif
-void sub_80F9DFC(u8 taskId)
+static void sub_80F9DFC(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -660,16 +483,16 @@ void sub_80F9DFC(u8 taskId)
DestroyTask(taskId);
return;
}
- task->data[0] += 1;
+ task->data[0]++;
}
-void SetCurrentSecretBase(void)
+static void SetCurrentSecretBase(void)
{
sub_80E9608(&gPlayerFacingPosition, gMapHeader.events);
sub_80E8B6C();
}
-void AdjustSecretPowerSpritePixelOffsets(void)
+static void AdjustSecretPowerSpritePixelOffsets(void)
{
if (gPlayerAvatar.flags & 0x6)
{
@@ -756,7 +579,7 @@ bool8 SetUpFieldMove_SecretPower(void)
return FALSE;
}
-void FieldCallback_SecretBaseCave(void)
+static void FieldCallback_SecretBaseCave(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
ScriptContext1_SetupScript(EventScript_275A86);
@@ -818,7 +641,7 @@ static void CaveEntranceSpriteCallbackEnd(struct Sprite *sprite)
EnableBothScriptContexts();
}
-void FieldCallback_SecretBaseTree(void)
+static void FieldCallback_SecretBaseTree(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
ScriptContext1_SetupScript(EventScript_275ADF);
@@ -892,7 +715,7 @@ static void TreeEntranceSpriteCallbackEnd(struct Sprite *sprite)
EnableBothScriptContexts();
}
-void FieldCallback_SecretBaseShrub(void)
+static void FieldCallback_SecretBaseShrub(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
ScriptContext1_SetupScript(EventScript_275B38);
@@ -956,7 +779,7 @@ static void ShrubEntranceSpriteCallbackEnd(struct Sprite *sprite)
EnableBothScriptContexts();
}
-u32 FldEff_SecretBasePCTurnOn(void)
+bool8 FldEff_SecretBasePCTurnOn(void)
{
s16 x, y;
u8 taskId;
@@ -968,10 +791,10 @@ u32 FldEff_SecretBasePCTurnOn(void)
gTasks[taskId].data[1] = y;
gTasks[taskId].data[2] = 0;
- return 0;
+ return FALSE;
}
-void Task_SecretBasePCTurnOn(u8 taskId)
+static void Task_SecretBasePCTurnOn(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -1025,7 +848,7 @@ void PopSecretBaseBalloon(s16 metatileId, s16 x, s16 y)
gTasks[taskId].data[4] = 1;
}
-void Task_PopSecretBaseBalloon(u8 taskId)
+static void Task_PopSecretBaseBalloon(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -1049,7 +872,7 @@ void Task_PopSecretBaseBalloon(u8 taskId)
}
}
-void DoBalloonSoundEffect(s16 metatileId)
+static void DoBalloonSoundEffect(s16 metatileId)
{
switch (metatileId)
{
@@ -1078,7 +901,7 @@ bool8 FldEff_NopA700(void)
return FALSE;
}
-void DoSecretBaseBreakableDoorEffect(s16 x, s16 y)
+static void DoSecretBaseBreakableDoorEffect(s16 x, s16 y)
{
PlaySE(SE_TOY_KABE);
MapGridSetMetatileIdAt(x, y, 630);
@@ -1087,7 +910,7 @@ void DoSecretBaseBreakableDoorEffect(s16 x, s16 y)
CurrentMapDrawMetatileAt(x, y - 1);
}
-void Task_ShatterSecretBaseBreakableDoor(u8 taskId)
+static void Task_ShatterSecretBaseBreakableDoor(u8 taskId)
{
if (gTasks[taskId].data[0] == 7)
{
@@ -1118,7 +941,7 @@ void ShatterSecretBaseBreakableDoor(s16 x, s16 y)
}
#define tMetatileID data[0]
-void Task_SecretBaseMusicNoteMatSound(u8 taskId)
+static void Task_SecretBaseMusicNoteMatSound(u8 taskId)
{
if (gTasks[taskId].data[1] == 7)
{
@@ -1167,7 +990,7 @@ void PlaySecretBaseMusicNoteMatSound(s16 metatileId)
}
#undef tMetatileID
-void SpriteCB_GlitterMatSparkle(struct Sprite *sprite)
+static void SpriteCB_GlitterMatSparkle(struct Sprite *sprite)
{
sprite->data[0]++;
@@ -1222,30 +1045,30 @@ bool8 FldEff_SandPillar(void)
gSprites[gPlayerAvatar.spriteId].oam.x + 8,
gSprites[gPlayerAvatar.spriteId].oam.y,
148);
-
+
break;
-
+
case DIR_WEST:
CreateSprite(&gUnknown_0858E68C,
gSprites[gPlayerAvatar.spriteId].oam.x - 8,
gSprites[gPlayerAvatar.spriteId].oam.y + 16,
148);
-
+
break;
-
+
case DIR_EAST:
CreateSprite(&gUnknown_0858E68C,
gSprites[gPlayerAvatar.spriteId].oam.x + 24,
gSprites[gPlayerAvatar.spriteId].oam.y + 16,
148);
-
+
break;
}
return FALSE;
}
-void SpriteCB_SandPillar_0(struct Sprite *sprite)
+static void SpriteCB_SandPillar_0(struct Sprite *sprite)
{
PlaySE(SE_W088);
@@ -1253,16 +1076,16 @@ void SpriteCB_SandPillar_0(struct Sprite *sprite)
MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 3586);
else
MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 644);
-
+
MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], 522);
CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1);
CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6]);
-
+
sprite->data[0] = 0;
sprite->callback = SpriteCB_SandPillar_1;
}
-void SpriteCB_SandPillar_1(struct Sprite *sprite)
+static void SpriteCB_SandPillar_1(struct Sprite *sprite)
{
if (sprite->data[0] < 18)
{
@@ -1277,7 +1100,7 @@ void SpriteCB_SandPillar_1(struct Sprite *sprite)
}
}
-void SpriteCB_SandPillar_2(struct Sprite *sprite)
+static void SpriteCB_SandPillar_2(struct Sprite *sprite)
{
FieldEffectStop(sprite, FLDEFF_SAND_PILLAR);
EnableBothScriptContexts();
@@ -1343,71 +1166,30 @@ void GetShieldToyTVDecorationInfo(void)
}
}
-#ifdef NONMATCHING
bool8 sub_80FADE4(u16 arg0, u8 arg1)
{
- if (CurrentMapIsSecretBase())
+ if (!CurrentMapIsSecretBase())
+ return FALSE;
+
+ if (!arg1)
{
- if (arg1 == 0)
- {
- if ((u16)(arg0 + 0xfffffd7b) <= 1 || (arg0 == 0x237))
- return TRUE;
- }
- else
- {
- if (arg0 == 0x28d || arg0 == 0x23f)
- return TRUE;
- }
+ if (arg0 == 0x285 || arg0 == 0x286)
+ return TRUE;
+ if (arg0 == 0x237)
+ return TRUE;
}
+ else
+ {
+ if (arg0 == 0x28d)
+ return TRUE;
+ if (arg0 == 0x23F)
+ return TRUE;
+ }
+
return FALSE;
}
-#else
-NAKED
-bool8 sub_80FADE4(u16 arg0, u8 arg1)
-{
- asm_unified("\tpush {r4-r6,lr}\n"
- "\tlsls r0, 16\n"
- "\tlsrs r4, r0, 16\n"
- "\tadds r6, r4, 0\n"
- "\tlsls r1, 24\n"
- "\tlsrs r5, r1, 24\n"
- "\tbl CurrentMapIsSecretBase\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbeq _080FAE28\n"
- "\tcmp r5, 0\n"
- "\tbne _080FAE1C\n"
- "\tldr r1, =0xfffffd7b\n"
- "\tadds r0, r4, r1\n"
- "\tlsls r0, 16\n"
- "\tlsrs r0, 16\n"
- "\tcmp r0, 0x1\n"
- "\tbls _080FAE10\n"
- "\tldr r0, =0x00000237\n"
- "\tcmp r4, r0\n"
- "\tbne _080FAE28\n"
- "_080FAE10:\n"
- "\tmovs r0, 0x1\n"
- "\tb _080FAE2A\n"
- "\t.pool\n"
- "_080FAE1C:\n"
- "\tldr r0, =0x0000028d\n"
- "\tcmp r4, r0\n"
- "\tbeq _080FAE10\n"
- "\tldr r0, =0x0000023f\n"
- "\tcmp r6, r0\n"
- "\tbeq _080FAE10\n"
- "_080FAE28:\n"
- "\tmovs r0, 0\n"
- "_080FAE2A:\n"
- "\tpop {r4-r6}\n"
- "\tpop {r1}\n"
- "\tbx r1\n"
- "\t.pool");
-}
-#endif
-void Task_FieldPoisonEffect(u8 taskId)
+static void Task_FieldPoisonEffect(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -1441,15 +1223,15 @@ bool32 FldEffPoison_IsActive(void)
return FuncIsActiveTask(Task_FieldPoisonEffect);
}
-void Task_WateringBerryTreeAnim_0(u8 taskId)
+static void Task_WateringBerryTreeAnim_0(u8 taskId)
{
gTasks[taskId].func = Task_WateringBerryTreeAnim_1;
}
-void Task_WateringBerryTreeAnim_1(u8 taskId)
+static void Task_WateringBerryTreeAnim_1(u8 taskId)
{
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
-
+
if (!EventObjectIsMovementOverridden(playerEventObj)
|| EventObjectClearHeldMovementIfFinished(playerEventObj))
{
@@ -1459,23 +1241,23 @@ void Task_WateringBerryTreeAnim_1(u8 taskId)
}
}
-void Task_WateringBerryTreeAnim_2(u8 taskId)
+static void Task_WateringBerryTreeAnim_2(u8 taskId)
{
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
-
+
if (EventObjectClearHeldMovementIfFinished(playerEventObj))
{
s16 value = gTasks[taskId].data[1]++;
-
+
if (value < 10)
EventObjectSetHeldMovement(playerEventObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection()));
-
+
else
gTasks[taskId].func = Task_WateringBerryTreeAnim_3;
}
}
-void Task_WateringBerryTreeAnim_3(u8 taskId)
+static void Task_WateringBerryTreeAnim_3(u8 taskId)
{
SetPlayerAvatarTransitionFlags(sub_808BCD0());
DestroyTask(taskId);