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 SpriteFrameImage gEventObjectPicTable_PechaBerryTree[];
|
||||||
|
extern const struct OamData gEventObjectBaseOam_32x8;
|
||||||
|
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
|
||||||
extern const u8 gReflectionEffectPaletteMap[];
|
extern const u8 gReflectionEffectPaletteMap[];
|
||||||
|
|
||||||
void ResetEventObjects(void);
|
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_252C4F[];
|
||||||
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A[];
|
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
|
#endif // GUARD_EVENT_SCRIPTS_H
|
||||||
|
@ -1,24 +1,37 @@
|
|||||||
#ifndef GUARD_FLDEFF_MISC_H
|
#ifndef GUARD_FLDEFF_MISC_H
|
||||||
#define 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);
|
void ShatterSecretBaseBreakableDoor(s16 x, s16 y);
|
||||||
u8 CreateRecordMixingSprite(void);
|
|
||||||
void DestroyRecordMixingSprite(void);
|
|
||||||
void FldEffPoison_Start(void);
|
|
||||||
void PlaySecretBaseMusicNoteMatSound(s16 metatileId);
|
void PlaySecretBaseMusicNoteMatSound(s16 metatileId);
|
||||||
void DoSecretBaseGlitterMatSparkle(void);
|
void DoSecretBaseGlitterMatSparkle(void);
|
||||||
bool8 sub_80FADE4(u16, u8);
|
bool8 FldEff_SandPillar(void);
|
||||||
|
void GetShieldToyTVDecorationInfo(void);
|
||||||
extern struct MapPosition gPlayerFacingPosition;
|
bool8 sub_80FADE4(u16 arg0, u8 arg1);
|
||||||
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
|
void FldEffPoison_Start(void);
|
||||||
|
bool32 FldEffPoison_IsActive(void);
|
||||||
extern u8 EventScript_275A86[];
|
void DoWateringBerryTreeAnim(void);
|
||||||
extern u8 EventScript_275ADF[];
|
u8 CreateRecordMixingSprite(void);
|
||||||
extern u8 EventScript_275B38[];
|
void DestroyRecordMixingSprite(void);
|
||||||
|
|
||||||
extern const struct OamData gEventObjectBaseOam_32x8;
|
|
||||||
|
|
||||||
|
const struct SpritePalette gFieldEffectObjectPaletteInfo7;
|
||||||
|
const struct SpritePalette gFieldEffectObjectPaletteInfo8;
|
||||||
|
const struct SpritePalette gFieldEffectObjectPaletteInfo9;
|
||||||
extern const u16 gTilesetPalettes_SecretBase[][16];
|
extern const u16 gTilesetPalettes_SecretBase[][16];
|
||||||
|
|
||||||
#endif //GUARD_FLDEFF_MISC_H
|
#endif //GUARD_FLDEFF_MISC_H
|
||||||
|
@ -11,8 +11,10 @@
|
|||||||
#include "field_effect.h"
|
#include "field_effect.h"
|
||||||
#include "field_camera.h"
|
#include "field_camera.h"
|
||||||
#include "field_player_avatar.h"
|
#include "field_player_avatar.h"
|
||||||
|
#include "fldeff_misc.h"
|
||||||
#include "secret_base.h"
|
#include "secret_base.h"
|
||||||
#include "event_data.h"
|
#include "event_data.h"
|
||||||
|
#include "event_scripts.h"
|
||||||
#include "event_object_movement.h"
|
#include "event_object_movement.h"
|
||||||
#include "metatile_behavior.h"
|
#include "metatile_behavior.h"
|
||||||
#include "string_util.h"
|
#include "string_util.h"
|
||||||
@ -20,70 +22,71 @@
|
|||||||
#include "constants/metatile_behaviors.h"
|
#include "constants/metatile_behaviors.h"
|
||||||
#include "constants/songs.h"
|
#include "constants/songs.h"
|
||||||
#include "constants/vars.h"
|
#include "constants/vars.h"
|
||||||
#include "fldeff_misc.h"
|
|
||||||
|
|
||||||
void sub_80F9C90(u8);
|
extern struct MapPosition gPlayerFacingPosition;
|
||||||
void sub_80F9DFC(u8);
|
|
||||||
|
|
||||||
void Task_SecretBasePCTurnOn(u8);
|
static void sub_80F9C90(u8);
|
||||||
|
static void sub_80F9DFC(u8);
|
||||||
|
|
||||||
void Task_PopSecretBaseBalloon(u8);
|
static void Task_SecretBasePCTurnOn(u8);
|
||||||
void DoBalloonSoundEffect(s16);
|
|
||||||
|
|
||||||
void Task_WateringBerryTreeAnim_1(u8);
|
static void Task_PopSecretBaseBalloon(u8);
|
||||||
void Task_WateringBerryTreeAnim_2(u8);
|
static void DoBalloonSoundEffect(s16);
|
||||||
void Task_WateringBerryTreeAnim_3(u8);
|
|
||||||
|
|
||||||
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 CaveEntranceSpriteCallback1(struct Sprite *);
|
||||||
static void CaveEntranceSpriteCallback2(struct Sprite *);
|
static void CaveEntranceSpriteCallback2(struct Sprite *);
|
||||||
static void CaveEntranceSpriteCallbackEnd(struct Sprite *);
|
static void CaveEntranceSpriteCallbackEnd(struct Sprite *);
|
||||||
static void StartSecretBaseCaveFieldEffect(void);
|
static void StartSecretBaseCaveFieldEffect(void);
|
||||||
|
|
||||||
void FieldCallback_SecretBaseTree(void);
|
static void FieldCallback_SecretBaseTree(void);
|
||||||
static void TreeEntranceSpriteCallback1(struct Sprite *);
|
static void TreeEntranceSpriteCallback1(struct Sprite *);
|
||||||
static void TreeEntranceSpriteCallback2(struct Sprite *);
|
static void TreeEntranceSpriteCallback2(struct Sprite *);
|
||||||
static void TreeEntranceSpriteCallbackEnd(struct Sprite *);
|
static void TreeEntranceSpriteCallbackEnd(struct Sprite *);
|
||||||
static void StartSecretBaseTreeFieldEffect(void);
|
static void StartSecretBaseTreeFieldEffect(void);
|
||||||
|
|
||||||
void FieldCallback_SecretBaseShrub(void);
|
static void FieldCallback_SecretBaseShrub(void);
|
||||||
static void ShrubEntranceSpriteCallback1(struct Sprite *);
|
static void ShrubEntranceSpriteCallback1(struct Sprite *);
|
||||||
static void ShrubEntranceSpriteCallback2(struct Sprite *);
|
static void ShrubEntranceSpriteCallback2(struct Sprite *);
|
||||||
static void ShrubEntranceSpriteCallbackEnd(struct Sprite *);
|
static void ShrubEntranceSpriteCallbackEnd(struct Sprite *);
|
||||||
static void StartSecretBaseShrubFieldEffect(void);
|
static void StartSecretBaseShrubFieldEffect(void);
|
||||||
|
|
||||||
void SpriteCB_SandPillar_0(struct Sprite *);
|
static void SpriteCB_SandPillar_0(struct Sprite *);
|
||||||
void SpriteCB_SandPillar_1(struct Sprite *);
|
static void SpriteCB_SandPillar_1(struct Sprite *);
|
||||||
void SpriteCB_SandPillar_2(struct Sprite *);
|
static void SpriteCB_SandPillar_2(struct Sprite *);
|
||||||
|
|
||||||
const u8 gSpriteImage_858D978[] = INCBIN_U8("graphics/unknown/858E588/0.4bpp");
|
static const u8 gSpriteImage_858D978[] = INCBIN_U8("graphics/unknown/858E588/0.4bpp");
|
||||||
const u8 gSpriteImage_858D9F8[] = INCBIN_U8("graphics/unknown/858E588/1.4bpp");
|
static const u8 gSpriteImage_858D9F8[] = INCBIN_U8("graphics/unknown/858E588/1.4bpp");
|
||||||
const u8 gSpriteImage_858DA78[] = INCBIN_U8("graphics/unknown/858E588/2.4bpp");
|
static const u8 gSpriteImage_858DA78[] = INCBIN_U8("graphics/unknown/858E588/2.4bpp");
|
||||||
const u8 gSpriteImage_858DAF8[] = INCBIN_U8("graphics/unknown/858E588/3.4bpp");
|
static 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_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");
|
static 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");
|
static const u8 gSpriteImage_858DC38[] = INCBIN_U8("graphics/unknown/858E5D8/0.4bpp");
|
||||||
const u8 gSpriteImage_858DCB8[] = INCBIN_U8("graphics/unknown/858E5D8/1.4bpp");
|
static const u8 gSpriteImage_858DCB8[] = INCBIN_U8("graphics/unknown/858E5D8/1.4bpp");
|
||||||
const u8 gSpriteImage_858DD38[] = INCBIN_U8("graphics/unknown/858E5D8/2.4bpp");
|
static const u8 gSpriteImage_858DD38[] = INCBIN_U8("graphics/unknown/858E5D8/2.4bpp");
|
||||||
const u8 gSpriteImage_858DDB8[] = INCBIN_U8("graphics/unknown/858E5D8/3.4bpp");
|
static const u8 gSpriteImage_858DDB8[] = INCBIN_U8("graphics/unknown/858E5D8/3.4bpp");
|
||||||
const u8 gSpriteImage_858DE38[] = INCBIN_U8("graphics/unknown/858E5D8/4.4bpp");
|
static const u8 gSpriteImage_858DE38[] = INCBIN_U8("graphics/unknown/858E5D8/4.4bpp");
|
||||||
const u8 gSpriteImage_858DEB8[] = INCBIN_U8("graphics/unknown/858E5B0/0.4bpp");
|
static const u8 gSpriteImage_858DEB8[] = INCBIN_U8("graphics/unknown/858E5B0/0.4bpp");
|
||||||
const u8 gSpriteImage_858DF38[] = INCBIN_U8("graphics/unknown/858E5B0/1.4bpp");
|
static const u8 gSpriteImage_858DF38[] = INCBIN_U8("graphics/unknown/858E5B0/1.4bpp");
|
||||||
const u8 gSpriteImage_858DFB8[] = INCBIN_U8("graphics/unknown/858E5B0/2.4bpp");
|
static const u8 gSpriteImage_858DFB8[] = INCBIN_U8("graphics/unknown/858E5B0/2.4bpp");
|
||||||
const u8 gSpriteImage_858E038[] = INCBIN_U8("graphics/unknown/858E5B0/3.4bpp");
|
static const u8 gSpriteImage_858E038[] = INCBIN_U8("graphics/unknown/858E5B0/3.4bpp");
|
||||||
const u8 gSpriteImage_858E0B8[] = INCBIN_U8("graphics/unknown/858E5B0/4.4bpp");
|
static const u8 gSpriteImage_858E0B8[] = INCBIN_U8("graphics/unknown/858E5B0/4.4bpp");
|
||||||
const u8 gSpriteImage_858E138[] = INCBIN_U8("graphics/unknown/858E5B0/5.4bpp");
|
static 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");
|
static 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");
|
static const u8 gSpriteImage_858E1D8[] = INCBIN_U8("graphics/unknown/858E674/0.4bpp");
|
||||||
const u8 gSpriteImage_858E2D8[] = INCBIN_U8("graphics/unknown/858E674/1.4bpp");
|
static const u8 gSpriteImage_858E2D8[] = INCBIN_U8("graphics/unknown/858E674/1.4bpp");
|
||||||
const u8 gSpriteImage_858E3D8[] = INCBIN_U8("graphics/unknown/858E674/2.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,
|
.y = 0,
|
||||||
.x = 0,
|
.x = 0,
|
||||||
@ -95,7 +98,7 @@ const struct OamData gOamData_858E4D8 =
|
|||||||
.priority = 2,
|
.priority = 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd gSpriteAnim_858E4E0[] =
|
static const union AnimCmd gSpriteAnim_858E4E0[] =
|
||||||
{
|
{
|
||||||
ANIMCMD_FRAME(0, 8),
|
ANIMCMD_FRAME(0, 8),
|
||||||
ANIMCMD_FRAME(1, 8),
|
ANIMCMD_FRAME(1, 8),
|
||||||
@ -105,7 +108,7 @@ const union AnimCmd gSpriteAnim_858E4E0[] =
|
|||||||
ANIMCMD_END,
|
ANIMCMD_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd gSpriteAnim_858E4F8[] =
|
static const union AnimCmd gSpriteAnim_858E4F8[] =
|
||||||
{
|
{
|
||||||
ANIMCMD_FRAME(0, 8),
|
ANIMCMD_FRAME(0, 8),
|
||||||
ANIMCMD_FRAME(1, 8),
|
ANIMCMD_FRAME(1, 8),
|
||||||
@ -115,7 +118,7 @@ const union AnimCmd gSpriteAnim_858E4F8[] =
|
|||||||
ANIMCMD_END,
|
ANIMCMD_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd gSpriteAnim_858E510[] =
|
static const union AnimCmd gSpriteAnim_858E510[] =
|
||||||
{
|
{
|
||||||
ANIMCMD_FRAME(4, 8),
|
ANIMCMD_FRAME(4, 8),
|
||||||
ANIMCMD_FRAME(3, 8),
|
ANIMCMD_FRAME(3, 8),
|
||||||
@ -125,7 +128,7 @@ const union AnimCmd gSpriteAnim_858E510[] =
|
|||||||
ANIMCMD_END,
|
ANIMCMD_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd gSpriteAnim_858E528[] =
|
static const union AnimCmd gSpriteAnim_858E528[] =
|
||||||
{
|
{
|
||||||
ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
|
ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
|
||||||
ANIMCMD_FRAME(1, 8, .hFlip = TRUE),
|
ANIMCMD_FRAME(1, 8, .hFlip = TRUE),
|
||||||
@ -135,7 +138,7 @@ const union AnimCmd gSpriteAnim_858E528[] =
|
|||||||
ANIMCMD_END,
|
ANIMCMD_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd gSpriteAnim_858E540[] =
|
static const union AnimCmd gSpriteAnim_858E540[] =
|
||||||
{
|
{
|
||||||
ANIMCMD_FRAME(4, 8, .hFlip = TRUE),
|
ANIMCMD_FRAME(4, 8, .hFlip = TRUE),
|
||||||
ANIMCMD_FRAME(3, 8, .hFlip = TRUE),
|
ANIMCMD_FRAME(3, 8, .hFlip = TRUE),
|
||||||
@ -145,7 +148,7 @@ const union AnimCmd gSpriteAnim_858E540[] =
|
|||||||
ANIMCMD_END,
|
ANIMCMD_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd gSpriteAnim_858E558[] =
|
static const union AnimCmd gSpriteAnim_858E558[] =
|
||||||
{
|
{
|
||||||
ANIMCMD_FRAME(0, 8),
|
ANIMCMD_FRAME(0, 8),
|
||||||
ANIMCMD_FRAME(1, 8),
|
ANIMCMD_FRAME(1, 8),
|
||||||
@ -155,12 +158,12 @@ const union AnimCmd gSpriteAnim_858E558[] =
|
|||||||
ANIMCMD_END,
|
ANIMCMD_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd *const gSpriteAnimTable_858E570[] =
|
static const union AnimCmd *const gSpriteAnimTable_858E570[] =
|
||||||
{
|
{
|
||||||
gSpriteAnim_858E4E0,
|
gSpriteAnim_858E4E0,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd *const gSpriteAnimTable_858E574[] =
|
static const union AnimCmd *const gSpriteAnimTable_858E574[] =
|
||||||
{
|
{
|
||||||
gSpriteAnim_858E4F8,
|
gSpriteAnim_858E4F8,
|
||||||
gSpriteAnim_858E510,
|
gSpriteAnim_858E510,
|
||||||
@ -168,12 +171,12 @@ const union AnimCmd *const gSpriteAnimTable_858E574[] =
|
|||||||
gSpriteAnim_858E540,
|
gSpriteAnim_858E540,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd *const gSpriteAnimTable_858E584[] =
|
static const union AnimCmd *const gSpriteAnimTable_858E584[] =
|
||||||
{
|
{
|
||||||
gSpriteAnim_858E558,
|
gSpriteAnim_858E558,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteFrameImage gUnknown_858E588[] =
|
static const struct SpriteFrameImage gUnknown_858E588[] =
|
||||||
{
|
{
|
||||||
{gSpriteImage_858D978, 0x80},
|
{gSpriteImage_858D978, 0x80},
|
||||||
{gSpriteImage_858D9F8, 0x80},
|
{gSpriteImage_858D9F8, 0x80},
|
||||||
@ -182,7 +185,7 @@ const struct SpriteFrameImage gUnknown_858E588[] =
|
|||||||
{gSpriteImage_858DB78, 0x80},
|
{gSpriteImage_858DB78, 0x80},
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteFrameImage gUnknown_858E5B0[] =
|
static const struct SpriteFrameImage gUnknown_858E5B0[] =
|
||||||
{
|
{
|
||||||
{gSpriteImage_858DEB8, 0x80},
|
{gSpriteImage_858DEB8, 0x80},
|
||||||
{gSpriteImage_858DF38, 0x80},
|
{gSpriteImage_858DF38, 0x80},
|
||||||
@ -191,7 +194,7 @@ const struct SpriteFrameImage gUnknown_858E5B0[] =
|
|||||||
{gSpriteImage_858E0B8, 0x80},
|
{gSpriteImage_858E0B8, 0x80},
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteFrameImage gUnknown_858E5D8[] =
|
static const struct SpriteFrameImage gUnknown_858E5D8[] =
|
||||||
{
|
{
|
||||||
{gSpriteImage_858DC38, 0x80},
|
{gSpriteImage_858DC38, 0x80},
|
||||||
{gSpriteImage_858DCB8, 0x80},
|
{gSpriteImage_858DCB8, 0x80},
|
||||||
@ -200,7 +203,7 @@ const struct SpriteFrameImage gUnknown_858E5D8[] =
|
|||||||
{gSpriteImage_858DE38, 0x80},
|
{gSpriteImage_858DE38, 0x80},
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteTemplate gUnknown_0858E600 =
|
static const struct SpriteTemplate gUnknown_0858E600 =
|
||||||
{
|
{
|
||||||
.tileTag = 0xFFFF,
|
.tileTag = 0xFFFF,
|
||||||
.paletteTag = 0x1003,
|
.paletteTag = 0x1003,
|
||||||
@ -211,7 +214,7 @@ const struct SpriteTemplate gUnknown_0858E600 =
|
|||||||
.callback = CaveEntranceSpriteCallback1,
|
.callback = CaveEntranceSpriteCallback1,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteTemplate gUnknown_0858E618 =
|
static const struct SpriteTemplate gUnknown_0858E618 =
|
||||||
{
|
{
|
||||||
.tileTag = 0xFFFF,
|
.tileTag = 0xFFFF,
|
||||||
.paletteTag = 0x1008,
|
.paletteTag = 0x1008,
|
||||||
@ -222,7 +225,7 @@ const struct SpriteTemplate gUnknown_0858E618 =
|
|||||||
.callback = TreeEntranceSpriteCallback1,
|
.callback = TreeEntranceSpriteCallback1,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteTemplate gUnknown_0858E630 =
|
static const struct SpriteTemplate gUnknown_0858E630 =
|
||||||
{
|
{
|
||||||
.tileTag = 0xFFFF,
|
.tileTag = 0xFFFF,
|
||||||
.paletteTag = 0x1008,
|
.paletteTag = 0x1008,
|
||||||
@ -236,7 +239,7 @@ const struct SpriteTemplate gUnknown_0858E630 =
|
|||||||
const struct SpritePalette gFieldEffectObjectPaletteInfo7 = {gFieldEffectObjectPalette7, 0x1003};
|
const struct SpritePalette gFieldEffectObjectPaletteInfo7 = {gFieldEffectObjectPalette7, 0x1003};
|
||||||
const struct SpritePalette gFieldEffectObjectPaletteInfo8 = {gFieldEffectObjectPalette8, 0x1008};
|
const struct SpritePalette gFieldEffectObjectPaletteInfo8 = {gFieldEffectObjectPalette8, 0x1008};
|
||||||
|
|
||||||
const struct OamData gOamData_858E658 =
|
static const struct OamData gOamData_858E658 =
|
||||||
{
|
{
|
||||||
.x = 0,
|
.x = 0,
|
||||||
.y = 0,
|
.y = 0,
|
||||||
@ -248,7 +251,7 @@ const struct OamData gOamData_858E658 =
|
|||||||
.priority = 2,
|
.priority = 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd gSpriteAnim_858E660[] =
|
static const union AnimCmd gSpriteAnim_858E660[] =
|
||||||
{
|
{
|
||||||
ANIMCMD_FRAME(0, 6),
|
ANIMCMD_FRAME(0, 6),
|
||||||
ANIMCMD_FRAME(1, 6),
|
ANIMCMD_FRAME(1, 6),
|
||||||
@ -256,19 +259,19 @@ const union AnimCmd gSpriteAnim_858E660[] =
|
|||||||
ANIMCMD_END,
|
ANIMCMD_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd *const gSpriteAnimTable_858E670[] =
|
static const union AnimCmd *const gSpriteAnimTable_858E670[] =
|
||||||
{
|
{
|
||||||
gSpriteAnim_858E660,
|
gSpriteAnim_858E660,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteFrameImage gUnknown_0858E674[] =
|
static const struct SpriteFrameImage gUnknown_0858E674[] =
|
||||||
{
|
{
|
||||||
{gSpriteImage_858E1D8, 0x100},
|
{gSpriteImage_858E1D8, 0x100},
|
||||||
{gSpriteImage_858E2D8, 0x100},
|
{gSpriteImage_858E2D8, 0x100},
|
||||||
{gSpriteImage_858E3D8, 0x100},
|
{gSpriteImage_858E3D8, 0x100},
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteTemplate gUnknown_0858E68C =
|
static const struct SpriteTemplate gUnknown_0858E68C =
|
||||||
{
|
{
|
||||||
.tileTag = 0xFFFF,
|
.tileTag = 0xFFFF,
|
||||||
.paletteTag = 0x100E,
|
.paletteTag = 0x100E,
|
||||||
@ -340,7 +343,7 @@ bool8 sub_80F9C30(void)
|
|||||||
return FuncIsActiveTask(sub_80F9DFC);
|
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);
|
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);
|
gTasks[taskId].func(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NONMATCHING
|
static void sub_80F9C90(u8 taskId)
|
||||||
void sub_80F9C90(u8 taskId)
|
|
||||||
{
|
{
|
||||||
struct Task *task = &gTasks[taskId];
|
struct Task *task = &gTasks[taskId];
|
||||||
|
|
||||||
switch(task->data[0])
|
switch (task->data[0])
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
task->data[3] = 0x78;
|
task->data[3] = 0x78;
|
||||||
@ -365,7 +367,7 @@ void sub_80F9C90(u8 taskId)
|
|||||||
|
|
||||||
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
|
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[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_WININ, 0x3F);
|
||||||
SetGpuReg(REG_OFFSET_WINOUT, 0);
|
SetGpuReg(REG_OFFSET_WINOUT, 0);
|
||||||
|
|
||||||
@ -400,7 +402,7 @@ void sub_80F9C90(u8 taskId)
|
|||||||
task->data[5] -= task->data[2];
|
task->data[5] -= task->data[2];
|
||||||
task->data[6] += 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[5] = 0;
|
||||||
task->data[6] = 0xA0;
|
task->data[6] = 0xA0;
|
||||||
@ -416,189 +418,10 @@ void sub_80F9C90(u8 taskId)
|
|||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
return;
|
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];
|
struct Task *task = &gTasks[taskId];
|
||||||
|
|
||||||
@ -660,16 +483,16 @@ void sub_80F9DFC(u8 taskId)
|
|||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
task->data[0] += 1;
|
task->data[0]++;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetCurrentSecretBase(void)
|
static void SetCurrentSecretBase(void)
|
||||||
{
|
{
|
||||||
sub_80E9608(&gPlayerFacingPosition, gMapHeader.events);
|
sub_80E9608(&gPlayerFacingPosition, gMapHeader.events);
|
||||||
sub_80E8B6C();
|
sub_80E8B6C();
|
||||||
}
|
}
|
||||||
|
|
||||||
void AdjustSecretPowerSpritePixelOffsets(void)
|
static void AdjustSecretPowerSpritePixelOffsets(void)
|
||||||
{
|
{
|
||||||
if (gPlayerAvatar.flags & 0x6)
|
if (gPlayerAvatar.flags & 0x6)
|
||||||
{
|
{
|
||||||
@ -756,7 +579,7 @@ bool8 SetUpFieldMove_SecretPower(void)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FieldCallback_SecretBaseCave(void)
|
static void FieldCallback_SecretBaseCave(void)
|
||||||
{
|
{
|
||||||
gFieldEffectArguments[0] = GetCursorSelectionMonId();
|
gFieldEffectArguments[0] = GetCursorSelectionMonId();
|
||||||
ScriptContext1_SetupScript(EventScript_275A86);
|
ScriptContext1_SetupScript(EventScript_275A86);
|
||||||
@ -818,7 +641,7 @@ static void CaveEntranceSpriteCallbackEnd(struct Sprite *sprite)
|
|||||||
EnableBothScriptContexts();
|
EnableBothScriptContexts();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FieldCallback_SecretBaseTree(void)
|
static void FieldCallback_SecretBaseTree(void)
|
||||||
{
|
{
|
||||||
gFieldEffectArguments[0] = GetCursorSelectionMonId();
|
gFieldEffectArguments[0] = GetCursorSelectionMonId();
|
||||||
ScriptContext1_SetupScript(EventScript_275ADF);
|
ScriptContext1_SetupScript(EventScript_275ADF);
|
||||||
@ -892,7 +715,7 @@ static void TreeEntranceSpriteCallbackEnd(struct Sprite *sprite)
|
|||||||
EnableBothScriptContexts();
|
EnableBothScriptContexts();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FieldCallback_SecretBaseShrub(void)
|
static void FieldCallback_SecretBaseShrub(void)
|
||||||
{
|
{
|
||||||
gFieldEffectArguments[0] = GetCursorSelectionMonId();
|
gFieldEffectArguments[0] = GetCursorSelectionMonId();
|
||||||
ScriptContext1_SetupScript(EventScript_275B38);
|
ScriptContext1_SetupScript(EventScript_275B38);
|
||||||
@ -956,7 +779,7 @@ static void ShrubEntranceSpriteCallbackEnd(struct Sprite *sprite)
|
|||||||
EnableBothScriptContexts();
|
EnableBothScriptContexts();
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 FldEff_SecretBasePCTurnOn(void)
|
bool8 FldEff_SecretBasePCTurnOn(void)
|
||||||
{
|
{
|
||||||
s16 x, y;
|
s16 x, y;
|
||||||
u8 taskId;
|
u8 taskId;
|
||||||
@ -968,10 +791,10 @@ u32 FldEff_SecretBasePCTurnOn(void)
|
|||||||
gTasks[taskId].data[1] = y;
|
gTasks[taskId].data[1] = y;
|
||||||
gTasks[taskId].data[2] = 0;
|
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;
|
s16 *data = gTasks[taskId].data;
|
||||||
|
|
||||||
@ -1025,7 +848,7 @@ void PopSecretBaseBalloon(s16 metatileId, s16 x, s16 y)
|
|||||||
gTasks[taskId].data[4] = 1;
|
gTasks[taskId].data[4] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Task_PopSecretBaseBalloon(u8 taskId)
|
static void Task_PopSecretBaseBalloon(u8 taskId)
|
||||||
{
|
{
|
||||||
s16 *data = gTasks[taskId].data;
|
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)
|
switch (metatileId)
|
||||||
{
|
{
|
||||||
@ -1078,7 +901,7 @@ bool8 FldEff_NopA700(void)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoSecretBaseBreakableDoorEffect(s16 x, s16 y)
|
static void DoSecretBaseBreakableDoorEffect(s16 x, s16 y)
|
||||||
{
|
{
|
||||||
PlaySE(SE_TOY_KABE);
|
PlaySE(SE_TOY_KABE);
|
||||||
MapGridSetMetatileIdAt(x, y, 630);
|
MapGridSetMetatileIdAt(x, y, 630);
|
||||||
@ -1087,7 +910,7 @@ void DoSecretBaseBreakableDoorEffect(s16 x, s16 y)
|
|||||||
CurrentMapDrawMetatileAt(x, y - 1);
|
CurrentMapDrawMetatileAt(x, y - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Task_ShatterSecretBaseBreakableDoor(u8 taskId)
|
static void Task_ShatterSecretBaseBreakableDoor(u8 taskId)
|
||||||
{
|
{
|
||||||
if (gTasks[taskId].data[0] == 7)
|
if (gTasks[taskId].data[0] == 7)
|
||||||
{
|
{
|
||||||
@ -1118,7 +941,7 @@ void ShatterSecretBaseBreakableDoor(s16 x, s16 y)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define tMetatileID data[0]
|
#define tMetatileID data[0]
|
||||||
void Task_SecretBaseMusicNoteMatSound(u8 taskId)
|
static void Task_SecretBaseMusicNoteMatSound(u8 taskId)
|
||||||
{
|
{
|
||||||
if (gTasks[taskId].data[1] == 7)
|
if (gTasks[taskId].data[1] == 7)
|
||||||
{
|
{
|
||||||
@ -1167,7 +990,7 @@ void PlaySecretBaseMusicNoteMatSound(s16 metatileId)
|
|||||||
}
|
}
|
||||||
#undef tMetatileID
|
#undef tMetatileID
|
||||||
|
|
||||||
void SpriteCB_GlitterMatSparkle(struct Sprite *sprite)
|
static void SpriteCB_GlitterMatSparkle(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
sprite->data[0]++;
|
sprite->data[0]++;
|
||||||
|
|
||||||
@ -1222,30 +1045,30 @@ bool8 FldEff_SandPillar(void)
|
|||||||
gSprites[gPlayerAvatar.spriteId].oam.x + 8,
|
gSprites[gPlayerAvatar.spriteId].oam.x + 8,
|
||||||
gSprites[gPlayerAvatar.spriteId].oam.y,
|
gSprites[gPlayerAvatar.spriteId].oam.y,
|
||||||
148);
|
148);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DIR_WEST:
|
case DIR_WEST:
|
||||||
CreateSprite(&gUnknown_0858E68C,
|
CreateSprite(&gUnknown_0858E68C,
|
||||||
gSprites[gPlayerAvatar.spriteId].oam.x - 8,
|
gSprites[gPlayerAvatar.spriteId].oam.x - 8,
|
||||||
gSprites[gPlayerAvatar.spriteId].oam.y + 16,
|
gSprites[gPlayerAvatar.spriteId].oam.y + 16,
|
||||||
148);
|
148);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DIR_EAST:
|
case DIR_EAST:
|
||||||
CreateSprite(&gUnknown_0858E68C,
|
CreateSprite(&gUnknown_0858E68C,
|
||||||
gSprites[gPlayerAvatar.spriteId].oam.x + 24,
|
gSprites[gPlayerAvatar.spriteId].oam.x + 24,
|
||||||
gSprites[gPlayerAvatar.spriteId].oam.y + 16,
|
gSprites[gPlayerAvatar.spriteId].oam.y + 16,
|
||||||
148);
|
148);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpriteCB_SandPillar_0(struct Sprite *sprite)
|
static void SpriteCB_SandPillar_0(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
PlaySE(SE_W088);
|
PlaySE(SE_W088);
|
||||||
|
|
||||||
@ -1253,16 +1076,16 @@ void SpriteCB_SandPillar_0(struct Sprite *sprite)
|
|||||||
MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 3586);
|
MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 3586);
|
||||||
else
|
else
|
||||||
MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 644);
|
MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 644);
|
||||||
|
|
||||||
MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], 522);
|
MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], 522);
|
||||||
CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1);
|
CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1);
|
||||||
CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6]);
|
CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6]);
|
||||||
|
|
||||||
sprite->data[0] = 0;
|
sprite->data[0] = 0;
|
||||||
sprite->callback = SpriteCB_SandPillar_1;
|
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)
|
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);
|
FieldEffectStop(sprite, FLDEFF_SAND_PILLAR);
|
||||||
EnableBothScriptContexts();
|
EnableBothScriptContexts();
|
||||||
@ -1343,71 +1166,30 @@ void GetShieldToyTVDecorationInfo(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NONMATCHING
|
|
||||||
bool8 sub_80FADE4(u16 arg0, u8 arg1)
|
bool8 sub_80FADE4(u16 arg0, u8 arg1)
|
||||||
{
|
{
|
||||||
if (CurrentMapIsSecretBase())
|
if (!CurrentMapIsSecretBase())
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (!arg1)
|
||||||
{
|
{
|
||||||
if (arg1 == 0)
|
if (arg0 == 0x285 || arg0 == 0x286)
|
||||||
{
|
return TRUE;
|
||||||
if ((u16)(arg0 + 0xfffffd7b) <= 1 || (arg0 == 0x237))
|
if (arg0 == 0x237)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (arg0 == 0x28d || arg0 == 0x23f)
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (arg0 == 0x28d)
|
||||||
|
return TRUE;
|
||||||
|
if (arg0 == 0x23F)
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
return FALSE;
|
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;
|
s16 *data = gTasks[taskId].data;
|
||||||
|
|
||||||
@ -1441,15 +1223,15 @@ bool32 FldEffPoison_IsActive(void)
|
|||||||
return FuncIsActiveTask(Task_FieldPoisonEffect);
|
return FuncIsActiveTask(Task_FieldPoisonEffect);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Task_WateringBerryTreeAnim_0(u8 taskId)
|
static void Task_WateringBerryTreeAnim_0(u8 taskId)
|
||||||
{
|
{
|
||||||
gTasks[taskId].func = Task_WateringBerryTreeAnim_1;
|
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];
|
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
|
||||||
|
|
||||||
if (!EventObjectIsMovementOverridden(playerEventObj)
|
if (!EventObjectIsMovementOverridden(playerEventObj)
|
||||||
|| EventObjectClearHeldMovementIfFinished(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];
|
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
|
||||||
|
|
||||||
if (EventObjectClearHeldMovementIfFinished(playerEventObj))
|
if (EventObjectClearHeldMovementIfFinished(playerEventObj))
|
||||||
{
|
{
|
||||||
s16 value = gTasks[taskId].data[1]++;
|
s16 value = gTasks[taskId].data[1]++;
|
||||||
|
|
||||||
if (value < 10)
|
if (value < 10)
|
||||||
EventObjectSetHeldMovement(playerEventObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection()));
|
EventObjectSetHeldMovement(playerEventObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection()));
|
||||||
|
|
||||||
else
|
else
|
||||||
gTasks[taskId].func = Task_WateringBerryTreeAnim_3;
|
gTasks[taskId].func = Task_WateringBerryTreeAnim_3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Task_WateringBerryTreeAnim_3(u8 taskId)
|
static void Task_WateringBerryTreeAnim_3(u8 taskId)
|
||||||
{
|
{
|
||||||
SetPlayerAvatarTransitionFlags(sub_808BCD0());
|
SetPlayerAvatarTransitionFlags(sub_808BCD0());
|
||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
|
Loading…
Reference in New Issue
Block a user