mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
Match and clean up fldeff misc
This commit is contained in:
parent
8fcb3f71c7
commit
6dffa6d17c
@ -59,6 +59,8 @@ struct LockedAnimEventObjects
|
||||
};
|
||||
|
||||
extern const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[];
|
||||
extern const struct OamData gEventObjectBaseOam_32x8;
|
||||
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
|
||||
extern const u8 gReflectionEffectPaletteMap[];
|
||||
|
||||
void ResetEventObjects(void);
|
||||
|
@ -579,4 +579,9 @@ extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[];
|
||||
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F[];
|
||||
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A[];
|
||||
|
||||
// fldeff misc
|
||||
extern const u8 EventScript_275A86[];
|
||||
extern const u8 EventScript_275ADF[];
|
||||
extern const u8 EventScript_275B38[];
|
||||
|
||||
#endif // GUARD_EVENT_SCRIPTS_H
|
||||
|
@ -1,24 +1,37 @@
|
||||
#ifndef GUARD_FLDEFF_MISC_H
|
||||
#define GUARD_FLDEFF_MISC_H
|
||||
|
||||
void PopSecretBaseBalloon(s16 id, s16 x, s16 y);
|
||||
void sub_80F9BCC(u16 a0, u16 a1, u8 a2);
|
||||
void sub_80F9BF4(u16 a0, u16 a1, u8 a2);
|
||||
bool8 sub_80F9C1C(void);
|
||||
bool8 sub_80F9C30(void);
|
||||
bool8 SetUpFieldMove_SecretPower(void);
|
||||
bool8 FldEff_UseSecretPowerCave(void);
|
||||
bool8 FldEff_SecretPowerCave(void);
|
||||
bool8 FldEff_UseSecretPowerTree(void);
|
||||
bool8 FldEff_SecretPowerTree(void);
|
||||
bool8 FldEff_UseSecretPowerShrub(void);
|
||||
bool8 FldEff_SecretPowerShrub(void);
|
||||
bool8 FldEff_SecretBasePCTurnOn(void);
|
||||
void DoSecretBasePCTurnOffEffect(void);
|
||||
void PopSecretBaseBalloon(s16 metatileId, s16 x, s16 y);
|
||||
bool8 FldEff_NopA6FC(void);
|
||||
bool8 FldEff_NopA700(void);
|
||||
void ShatterSecretBaseBreakableDoor(s16 x, s16 y);
|
||||
u8 CreateRecordMixingSprite(void);
|
||||
void DestroyRecordMixingSprite(void);
|
||||
void FldEffPoison_Start(void);
|
||||
void PlaySecretBaseMusicNoteMatSound(s16 metatileId);
|
||||
void DoSecretBaseGlitterMatSparkle(void);
|
||||
bool8 sub_80FADE4(u16, u8);
|
||||
|
||||
extern struct MapPosition gPlayerFacingPosition;
|
||||
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
|
||||
|
||||
extern u8 EventScript_275A86[];
|
||||
extern u8 EventScript_275ADF[];
|
||||
extern u8 EventScript_275B38[];
|
||||
|
||||
extern const struct OamData gEventObjectBaseOam_32x8;
|
||||
bool8 FldEff_SandPillar(void);
|
||||
void GetShieldToyTVDecorationInfo(void);
|
||||
bool8 sub_80FADE4(u16 arg0, u8 arg1);
|
||||
void FldEffPoison_Start(void);
|
||||
bool32 FldEffPoison_IsActive(void);
|
||||
void DoWateringBerryTreeAnim(void);
|
||||
u8 CreateRecordMixingSprite(void);
|
||||
void DestroyRecordMixingSprite(void);
|
||||
|
||||
const struct SpritePalette gFieldEffectObjectPaletteInfo7;
|
||||
const struct SpritePalette gFieldEffectObjectPaletteInfo8;
|
||||
const struct SpritePalette gFieldEffectObjectPaletteInfo9;
|
||||
extern const u16 gTilesetPalettes_SecretBase[][16];
|
||||
|
||||
#endif //GUARD_FLDEFF_MISC_H
|
||||
|
@ -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 *);
|
||||
static void SpriteCB_SandPillar_0(struct Sprite *);
|
||||
static void SpriteCB_SandPillar_1(struct Sprite *);
|
||||
static 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");
|
||||
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");
|
||||
|
||||
const u8 gUnusedEmptySpace_858DBF8[32] = {0};
|
||||
static 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");
|
||||
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");
|
||||
|
||||
const struct OamData gOamData_858E4D8 =
|
||||
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,8 +353,7 @@ 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];
|
||||
|
||||
@ -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]++;
|
||||
|
||||
@ -1245,7 +1068,7 @@ bool8 FldEff_SandPillar(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void SpriteCB_SandPillar_0(struct Sprite *sprite)
|
||||
static void SpriteCB_SandPillar_0(struct Sprite *sprite)
|
||||
{
|
||||
PlaySE(SE_W088);
|
||||
|
||||
@ -1262,7 +1085,7 @@ void SpriteCB_SandPillar_0(struct Sprite *sprite)
|
||||
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))
|
||||
if (arg0 == 0x285 || arg0 == 0x286)
|
||||
return TRUE;
|
||||
if (arg0 == 0x237)
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (arg0 == 0x28d || arg0 == 0x23f)
|
||||
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,12 +1223,12 @@ 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];
|
||||
|
||||
@ -1459,7 +1241,7 @@ 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];
|
||||
|
||||
@ -1475,7 +1257,7 @@ void Task_WateringBerryTreeAnim_2(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void Task_WateringBerryTreeAnim_3(u8 taskId)
|
||||
static void Task_WateringBerryTreeAnim_3(u8 taskId)
|
||||
{
|
||||
SetPlayerAvatarTransitionFlags(sub_808BCD0());
|
||||
DestroyTask(taskId);
|
||||
|
Loading…
Reference in New Issue
Block a user