Merge branch 'master' into dodrio_berry_picking
This commit is contained in:
+6
-70
@@ -62,70 +62,12 @@
|
||||
|
||||
#define BATTLE_BUFFER_LINK_SIZE 0x1000
|
||||
|
||||
struct TrainerMonNoItemDefaultMoves
|
||||
{
|
||||
u16 iv;
|
||||
u8 lvl;
|
||||
u16 species;
|
||||
};
|
||||
|
||||
struct TrainerMonItemDefaultMoves
|
||||
{
|
||||
u16 iv;
|
||||
u8 lvl;
|
||||
u16 species;
|
||||
u16 heldItem;
|
||||
};
|
||||
|
||||
struct TrainerMonNoItemCustomMoves
|
||||
{
|
||||
u16 iv;
|
||||
u8 lvl;
|
||||
u16 species;
|
||||
u16 moves[4];
|
||||
};
|
||||
|
||||
struct TrainerMonItemCustomMoves
|
||||
{
|
||||
u16 iv;
|
||||
u8 lvl;
|
||||
u16 species;
|
||||
u16 heldItem;
|
||||
u16 moves[4];
|
||||
};
|
||||
|
||||
union TrainerMonPtr
|
||||
{
|
||||
const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves;
|
||||
const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves;
|
||||
const struct TrainerMonItemDefaultMoves *ItemDefaultMoves;
|
||||
const struct TrainerMonItemCustomMoves *ItemCustomMoves;
|
||||
};
|
||||
|
||||
struct Trainer
|
||||
{
|
||||
/*0x00*/ u8 partyFlags;
|
||||
/*0x01*/ u8 trainerClass;
|
||||
/*0x02*/ u8 encounterMusic_gender; // last bit is gender
|
||||
/*0x03*/ u8 trainerPic;
|
||||
/*0x04*/ u8 trainerName[12];
|
||||
/*0x10*/ u16 items[4];
|
||||
/*0x18*/ bool8 doubleBattle;
|
||||
/*0x1C*/ u32 aiFlags;
|
||||
/*0x20*/ u8 partySize;
|
||||
/*0x24*/ union TrainerMonPtr party;
|
||||
};
|
||||
|
||||
extern const struct Trainer gTrainers[];
|
||||
|
||||
#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F))
|
||||
|
||||
struct UnknownFlags
|
||||
struct ResourceFlags
|
||||
{
|
||||
u32 flags[4];
|
||||
};
|
||||
|
||||
#define UNKNOWN_FLAG_FLASH_FIRE 1
|
||||
#define RESOURCE_FLAG_FLASH_FIRE 1
|
||||
|
||||
struct DisableStruct
|
||||
{
|
||||
@@ -276,21 +218,16 @@ struct BattleCallbacksStack
|
||||
|
||||
struct StatsArray
|
||||
{
|
||||
u16 hp;
|
||||
u16 atk;
|
||||
u16 def;
|
||||
u16 spd;
|
||||
u16 spAtk;
|
||||
u16 spDef;
|
||||
u16 stats[NUM_STATS];
|
||||
};
|
||||
|
||||
struct BattleResources
|
||||
{
|
||||
struct SecretBaseRecord* secretBase;
|
||||
struct UnknownFlags *flags;
|
||||
struct SecretBase* secretBase;
|
||||
struct ResourceFlags *flags;
|
||||
struct BattleScriptsStack* battleScriptsStack;
|
||||
struct BattleCallbacksStack* battleCallbackStack;
|
||||
struct StatsArray* statsBeforeLvlUp;
|
||||
struct StatsArray* beforeLvlUp;
|
||||
struct AI_ThinkingStruct *ai;
|
||||
struct BattleHistory *battleHistory;
|
||||
struct BattleScriptsStack *AI_ScriptsStack;
|
||||
@@ -774,6 +711,5 @@ extern u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT];
|
||||
extern u8 gMultiUsePlayerCursor;
|
||||
extern u8 gNumberOfMovesToChoose;
|
||||
extern u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT];
|
||||
extern const u8 gTrainerClassNames[][13];
|
||||
|
||||
#endif // GUARD_BATTLE_H
|
||||
|
||||
@@ -62,7 +62,7 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
bool8 IsContest(void);
|
||||
s8 BattleAnimAdjustPanning(s8 pan);
|
||||
s8 BattleAnimAdjustPanning2(s8 pan);
|
||||
s16 KeepPanInRange(s16 a);
|
||||
s16 KeepPanInRange(s16 a, int oldPan);
|
||||
s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan);
|
||||
void sub_80A4720(u16 a, u16 *b, u32 c, u8 d);
|
||||
void sub_80A477C(bool8);
|
||||
|
||||
@@ -13,7 +13,7 @@ extern const struct SpritePalette gFieldEffectObjectPaletteInfo10;
|
||||
|
||||
enum // TRANSITION_MUGSHOT
|
||||
{
|
||||
MUGSHOT_SYDNEY,
|
||||
MUGSHOT_SIDNEY,
|
||||
MUGSHOT_PHOEBE,
|
||||
MUGSHOT_GLACIA,
|
||||
MUGSHOT_DRAKE,
|
||||
@@ -36,7 +36,7 @@ enum // TRANSITION_MUGSHOT
|
||||
#define B_TRANSITION_WHITEFADE 9
|
||||
#define B_TRANSITION_GRID_SQUARES 10
|
||||
#define B_TRANSITION_SHARDS 11
|
||||
#define B_TRANSITION_SYDNEY 12
|
||||
#define B_TRANSITION_SIDNEY 12
|
||||
#define B_TRANSITION_PHOEBE 13
|
||||
#define B_TRANSITION_GLACIA 14
|
||||
#define B_TRANSITION_DRAKE 15
|
||||
|
||||
@@ -34,12 +34,6 @@ enum
|
||||
BERRY_STAGE_SPARKLING = 0xFF,
|
||||
};
|
||||
|
||||
#define NUM_BERRIES 44
|
||||
|
||||
extern const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[];
|
||||
extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[];
|
||||
extern const u8 *const gBerryTreePaletteSlotTablePointers[];
|
||||
|
||||
void ClearEnigmaBerries(void);
|
||||
void SetEnigmaBerry(u8 *src);
|
||||
bool32 IsEnigmaBerryValid(void);
|
||||
|
||||
+124
-124
@@ -11,137 +11,137 @@
|
||||
#define ANIM_TAG_SPARK (ANIM_SPRITES_START + 1)
|
||||
#define ANIM_TAG_PENCIL (ANIM_SPRITES_START + 2)
|
||||
#define ANIM_TAG_AIR_WAVE (ANIM_SPRITES_START + 3)
|
||||
#define ANIM_TAG_UNUSED_ORB (ANIM_SPRITES_START + 4)
|
||||
#define ANIM_TAG_ORB (ANIM_SPRITES_START + 4)
|
||||
#define ANIM_TAG_SWORD (ANIM_SPRITES_START + 5)
|
||||
#define ANIM_TAG_SEED (ANIM_SPRITES_START + 6)
|
||||
#define ANIM_TAG_UNUSED_EXPLOSION (ANIM_SPRITES_START + 7)
|
||||
#define ANIM_TAG_UNUSED_PINK_ORB (ANIM_SPRITES_START + 8)
|
||||
#define ANIM_TAG_EXPLOSION_6 (ANIM_SPRITES_START + 7)
|
||||
#define ANIM_TAG_PINK_ORB (ANIM_SPRITES_START + 8) // unused
|
||||
#define ANIM_TAG_GUST (ANIM_SPRITES_START + 9)
|
||||
#define ANIM_TAG_ICE_CUBE (ANIM_SPRITES_START + 10)
|
||||
#define ANIM_TAG_SPARK_2 (ANIM_SPRITES_START + 11)
|
||||
#define ANIM_TAG_UNUSED_ORANGE (ANIM_SPRITES_START + 12)
|
||||
#define ANIM_TAG_ORANGE (ANIM_SPRITES_START + 12) // unused
|
||||
#define ANIM_TAG_YELLOW_BALL (ANIM_SPRITES_START + 13)
|
||||
#define ANIM_TAG_LOCK_ON (ANIM_SPRITES_START + 14)
|
||||
#define ANIM_TAG_TIED_BAG (ANIM_SPRITES_START + 15)
|
||||
#define ANIM_TAG_BLACK_SMOKE (ANIM_SPRITES_START + 16)
|
||||
#define ANIM_TAG_BLACK_BALL (ANIM_SPRITES_START + 17)
|
||||
#define ANIM_TAG_CONVERSION (ANIM_SPRITES_START + 18)
|
||||
#define ANIM_TAG_UNUSED_GLASS (ANIM_SPRITES_START + 19)
|
||||
#define ANIM_TAG_GLASS (ANIM_SPRITES_START + 19) // unused
|
||||
#define ANIM_TAG_HORN_HIT (ANIM_SPRITES_START + 20)
|
||||
#define ANIM_TAG_UNUSED_HIT (ANIM_SPRITES_START + 21)
|
||||
#define ANIM_TAG_UNUSED_HIT_2 (ANIM_SPRITES_START + 22)
|
||||
#define ANIM_TAG_UNUSED_BLUE_SHARDS (ANIM_SPRITES_START + 23)
|
||||
#define ANIM_TAG_UNUSED_CLOSING_EYE (ANIM_SPRITES_START + 24)
|
||||
#define ANIM_TAG_UNUSED_WAVING_HAND (ANIM_SPRITES_START + 25)
|
||||
#define ANIM_TAG_UNUSED_HIT_DUPLICATE (ANIM_SPRITES_START + 26)
|
||||
#define ANIM_TAG_HIT (ANIM_SPRITES_START + 21)
|
||||
#define ANIM_TAG_HIT_2 (ANIM_SPRITES_START + 22)
|
||||
#define ANIM_TAG_BLUE_SHARDS (ANIM_SPRITES_START + 23) // unused
|
||||
#define ANIM_TAG_CLOSING_EYE (ANIM_SPRITES_START + 24) // unused
|
||||
#define ANIM_TAG_WAVING_HAND (ANIM_SPRITES_START + 25) // unused
|
||||
#define ANIM_TAG_HIT_DUPLICATE (ANIM_SPRITES_START + 26) // unused
|
||||
#define ANIM_TAG_LEER (ANIM_SPRITES_START + 27)
|
||||
#define ANIM_TAG_UNUSED_BLUE_BURST (ANIM_SPRITES_START + 28)
|
||||
#define ANIM_TAG_BLUE_BURST (ANIM_SPRITES_START + 28) // unused
|
||||
#define ANIM_TAG_SMALL_EMBER (ANIM_SPRITES_START + 29)
|
||||
#define ANIM_TAG_GRAY_SMOKE (ANIM_SPRITES_START + 30)
|
||||
#define ANIM_TAG_BLUE_STAR (ANIM_SPRITES_START + 31)
|
||||
#define ANIM_TAG_UNUSED_BUBBLE_BURST (ANIM_SPRITES_START + 32)
|
||||
#define ANIM_TAG_BUBBLE_BURST (ANIM_SPRITES_START + 32)
|
||||
#define ANIM_TAG_FIRE (ANIM_SPRITES_START + 33)
|
||||
#define ANIM_TAG_UNUSED_SPINNING_FIRE (ANIM_SPRITES_START + 34)
|
||||
#define ANIM_TAG_SPINNING_FIRE (ANIM_SPRITES_START + 34) // unused
|
||||
#define ANIM_TAG_FIRE_PLUME (ANIM_SPRITES_START + 35)
|
||||
#define ANIM_TAG_UNUSED_LIGHTNING (ANIM_SPRITES_START + 36)
|
||||
#define ANIM_TAG_LIGHTNING_2 (ANIM_SPRITES_START + 36) // unused
|
||||
#define ANIM_TAG_LIGHTNING (ANIM_SPRITES_START + 37)
|
||||
#define ANIM_TAG_UNUSED_CLAW_SLASH (ANIM_SPRITES_START + 38)
|
||||
#define ANIM_TAG_CLAW_SLASH_2 (ANIM_SPRITES_START + 38) // unused
|
||||
#define ANIM_TAG_CLAW_SLASH (ANIM_SPRITES_START + 39)
|
||||
#define ANIM_TAG_UNUSED_SCRATCH (ANIM_SPRITES_START + 40)
|
||||
#define ANIM_TAG_UNUSED_SCRATCH_2 (ANIM_SPRITES_START + 41)
|
||||
#define ANIM_TAG_UNUSED_BUBBLE_BURST_2 (ANIM_SPRITES_START + 42)
|
||||
#define ANIM_TAG_SCRATCH_3 (ANIM_SPRITES_START + 40) // unused
|
||||
#define ANIM_TAG_SCRATCH_2 (ANIM_SPRITES_START + 41) // unused
|
||||
#define ANIM_TAG_BUBBLE_BURST_2 (ANIM_SPRITES_START + 42) // unused
|
||||
#define ANIM_TAG_ICE_CHUNK (ANIM_SPRITES_START + 43)
|
||||
#define ANIM_TAG_UNUSED_GLASS_2 (ANIM_SPRITES_START + 44)
|
||||
#define ANIM_TAG_UNUSED_PINK_HEART (ANIM_SPRITES_START + 45)
|
||||
#define ANIM_TAG_UNUSED_SAP_DRIP (ANIM_SPRITES_START + 46)
|
||||
#define ANIM_TAG_UNUSED_SAP_DRIP_2 (ANIM_SPRITES_START + 47)
|
||||
#define ANIM_TAG_GLASS_2 (ANIM_SPRITES_START + 44) // unused
|
||||
#define ANIM_TAG_PINK_HEART_2 (ANIM_SPRITES_START + 45) // unused
|
||||
#define ANIM_TAG_SAP_DRIP (ANIM_SPRITES_START + 46) // unused
|
||||
#define ANIM_TAG_SAP_DRIP_2 (ANIM_SPRITES_START + 47) // unused
|
||||
#define ANIM_TAG_SPARKLE_1 (ANIM_SPRITES_START + 48)
|
||||
#define ANIM_TAG_SPARKLE_2 (ANIM_SPRITES_START + 49)
|
||||
#define ANIM_TAG_HUMANOID_FOOT (ANIM_SPRITES_START + 50)
|
||||
#define ANIM_TAG_UNUSED_MONSTER_FOOT (ANIM_SPRITES_START + 51)
|
||||
#define ANIM_TAG_UNUSED_HUMANOID_HAND (ANIM_SPRITES_START + 52)
|
||||
#define ANIM_TAG_MONSTER_FOOT (ANIM_SPRITES_START + 51)
|
||||
#define ANIM_TAG_HUMANOID_HAND (ANIM_SPRITES_START + 52) // unused
|
||||
#define ANIM_TAG_NOISE_LINE (ANIM_SPRITES_START + 53)
|
||||
#define ANIM_TAG_UNUSED_YELLOW_UNK (ANIM_SPRITES_START + 54)
|
||||
#define ANIM_TAG_UNUSED_RED_FIST (ANIM_SPRITES_START + 55)
|
||||
#define ANIM_TAG_YELLOW_UNK (ANIM_SPRITES_START + 54) // unused
|
||||
#define ANIM_TAG_RED_FIST (ANIM_SPRITES_START + 55) // unused
|
||||
#define ANIM_TAG_SLAM_HIT (ANIM_SPRITES_START + 56)
|
||||
#define ANIM_TAG_UNUSED_RING (ANIM_SPRITES_START + 57)
|
||||
#define ANIM_TAG_RING (ANIM_SPRITES_START + 57) // unused
|
||||
#define ANIM_TAG_ROCKS (ANIM_SPRITES_START + 58)
|
||||
#define ANIM_TAG_UNUSED_Z (ANIM_SPRITES_START + 59)
|
||||
#define ANIM_TAG_UNUSED_YELLOW_UNK_2 (ANIM_SPRITES_START + 60)
|
||||
#define ANIM_TAG_UNUSED_AIR_SLASH (ANIM_SPRITES_START + 61)
|
||||
#define ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS (ANIM_SPRITES_START + 62)
|
||||
#define ANIM_TAG_Z (ANIM_SPRITES_START + 59) // unused
|
||||
#define ANIM_TAG_YELLOW_UNK_2 (ANIM_SPRITES_START + 60) // unused
|
||||
#define ANIM_TAG_AIR_SLASH (ANIM_SPRITES_START + 61) // unused
|
||||
#define ANIM_TAG_SPINNING_GREEN_ORBS (ANIM_SPRITES_START + 62) // unused
|
||||
#define ANIM_TAG_LEAF (ANIM_SPRITES_START + 63)
|
||||
#define ANIM_TAG_FINGER (ANIM_SPRITES_START + 64)
|
||||
#define ANIM_TAG_POISON_POWDER (ANIM_SPRITES_START + 65)
|
||||
#define ANIM_TAG_UNUSED_BROWN_TRIANGLE (ANIM_SPRITES_START + 66)
|
||||
#define ANIM_TAG_BROWN_TRIANGLE (ANIM_SPRITES_START + 66) // unused
|
||||
#define ANIM_TAG_SLEEP_POWDER (ANIM_SPRITES_START + 67)
|
||||
#define ANIM_TAG_STUN_SPORE (ANIM_SPRITES_START + 68)
|
||||
#define ANIM_TAG_UNUSED_POWDER (ANIM_SPRITES_START + 69)
|
||||
#define ANIM_TAG_POWDER (ANIM_SPRITES_START + 69) // unused
|
||||
#define ANIM_TAG_SPARKLE_3 (ANIM_SPRITES_START + 70)
|
||||
#define ANIM_TAG_SPARKLE_4 (ANIM_SPRITES_START + 71)
|
||||
#define ANIM_TAG_MUSIC_NOTES (ANIM_SPRITES_START + 72)
|
||||
#define ANIM_TAG_DUCK (ANIM_SPRITES_START + 73)
|
||||
#define ANIM_TAG_MUD_SAND (ANIM_SPRITES_START + 74)
|
||||
#define ANIM_TAG_ALERT (ANIM_SPRITES_START + 75)
|
||||
#define ANIM_TAG_UNUSED_BLUE_FLAMES (ANIM_SPRITES_START + 76)
|
||||
#define ANIM_TAG_UNUSED_BLUE_FLAMES_2 (ANIM_SPRITES_START + 77)
|
||||
#define ANIM_TAG_UNUSED_SHOCK (ANIM_SPRITES_START + 78)
|
||||
#define ANIM_TAG_BLUE_FLAMES (ANIM_SPRITES_START + 76) // unused
|
||||
#define ANIM_TAG_BLUE_FLAMES_2 (ANIM_SPRITES_START + 77) // unused
|
||||
#define ANIM_TAG_SHOCK_4 (ANIM_SPRITES_START + 78) // unused
|
||||
#define ANIM_TAG_SHOCK (ANIM_SPRITES_START + 79)
|
||||
#define ANIM_TAG_UNUSED_BELL (ANIM_SPRITES_START + 80)
|
||||
#define ANIM_TAG_UNUSED_PINK_GLOVE (ANIM_SPRITES_START + 81)
|
||||
#define ANIM_TAG_UNUSED_BLUE_LINES (ANIM_SPRITES_START + 82)
|
||||
#define ANIM_TAG_UNUSED_IMPACT (ANIM_SPRITES_START + 83)
|
||||
#define ANIM_TAG_UNUSED_IMPACT_2 (ANIM_SPRITES_START + 84)
|
||||
#define ANIM_TAG_UNUSED_RETICLE (ANIM_SPRITES_START + 85)
|
||||
#define ANIM_TAG_BELL_2 (ANIM_SPRITES_START + 80) // unused
|
||||
#define ANIM_TAG_PINK_GLOVE (ANIM_SPRITES_START + 81) // unused
|
||||
#define ANIM_TAG_BLUE_LINES (ANIM_SPRITES_START + 82) // unused
|
||||
#define ANIM_TAG_IMPACT_3 (ANIM_SPRITES_START + 83) // unused
|
||||
#define ANIM_TAG_IMPACT_2 (ANIM_SPRITES_START + 84) // unused
|
||||
#define ANIM_TAG_RETICLE (ANIM_SPRITES_START + 85) // unused
|
||||
#define ANIM_TAG_BREATH (ANIM_SPRITES_START + 86)
|
||||
#define ANIM_TAG_ANGER (ANIM_SPRITES_START + 87)
|
||||
#define ANIM_TAG_UNUSED_SNOWBALL (ANIM_SPRITES_START + 88)
|
||||
#define ANIM_TAG_UNUSED_VINE (ANIM_SPRITES_START + 89)
|
||||
#define ANIM_TAG_UNUSED_SWORD (ANIM_SPRITES_START + 90)
|
||||
#define ANIM_TAG_UNUSED_CLAPPING (ANIM_SPRITES_START + 91)
|
||||
#define ANIM_TAG_UNUSED_RED_TUBE (ANIM_SPRITES_START + 92)
|
||||
#define ANIM_TAG_SNOWBALL (ANIM_SPRITES_START + 88) // unused
|
||||
#define ANIM_TAG_VINE (ANIM_SPRITES_START + 89) // unused
|
||||
#define ANIM_TAG_SWORD_2 (ANIM_SPRITES_START + 90) // unused
|
||||
#define ANIM_TAG_CLAPPING (ANIM_SPRITES_START + 91) // unused
|
||||
#define ANIM_TAG_RED_TUBE (ANIM_SPRITES_START + 92) // unused
|
||||
#define ANIM_TAG_AMNESIA (ANIM_SPRITES_START + 93)
|
||||
#define ANIM_TAG_UNUSED_STRING (ANIM_SPRITES_START + 94)
|
||||
#define ANIM_TAG_UNUSED_PENCIL (ANIM_SPRITES_START + 95)
|
||||
#define ANIM_TAG_UNUSED_PETAL (ANIM_SPRITES_START + 96)
|
||||
#define ANIM_TAG_STRING_2 (ANIM_SPRITES_START + 94) // unused
|
||||
#define ANIM_TAG_PENCIL_2 (ANIM_SPRITES_START + 95) // unused
|
||||
#define ANIM_TAG_PETAL (ANIM_SPRITES_START + 96) // unused
|
||||
#define ANIM_TAG_BENT_SPOON (ANIM_SPRITES_START + 97)
|
||||
#define ANIM_TAG_UNUSED_WEB (ANIM_SPRITES_START + 98)
|
||||
#define ANIM_TAG_WEB (ANIM_SPRITES_START + 98) // unused
|
||||
#define ANIM_TAG_MILK_BOTTLE (ANIM_SPRITES_START + 99)
|
||||
#define ANIM_TAG_COIN (ANIM_SPRITES_START + 100)
|
||||
#define ANIM_TAG_UNUSED_CRACKED_EGG (ANIM_SPRITES_START + 101)
|
||||
#define ANIM_TAG_UNUSED_HATCHED_EGG (ANIM_SPRITES_START + 102)
|
||||
#define ANIM_TAG_UNUSED_FRESH_EGG (ANIM_SPRITES_START + 103)
|
||||
#define ANIM_TAG_UNUSED_FANGS (ANIM_SPRITES_START + 104)
|
||||
#define ANIM_TAG_UNUSED_EXPLOSION_2 (ANIM_SPRITES_START + 105)
|
||||
#define ANIM_TAG_UNUSED_EXPLOSION_3 (ANIM_SPRITES_START + 106)
|
||||
#define ANIM_TAG_UNUSED_WATER_DROPLET (ANIM_SPRITES_START + 107)
|
||||
#define ANIM_TAG_UNUSED_WATER_DROPLET_2 (ANIM_SPRITES_START + 108)
|
||||
#define ANIM_TAG_UNUSED_SEED (ANIM_SPRITES_START + 109)
|
||||
#define ANIM_TAG_UNUSED_SPROUT (ANIM_SPRITES_START + 110)
|
||||
#define ANIM_TAG_UNUSED_RED_WAND (ANIM_SPRITES_START + 111)
|
||||
#define ANIM_TAG_UNUSED_PURPLE_GREEN_UNK (ANIM_SPRITES_START + 112)
|
||||
#define ANIM_TAG_UNUSED_WATER_COLUMN (ANIM_SPRITES_START + 113)
|
||||
#define ANIM_TAG_UNUSED_MUD_UNK (ANIM_SPRITES_START + 114)
|
||||
#define ANIM_TAG_CRACKED_EGG (ANIM_SPRITES_START + 101) // unused
|
||||
#define ANIM_TAG_HATCHED_EGG (ANIM_SPRITES_START + 102) // unused
|
||||
#define ANIM_TAG_FRESH_EGG (ANIM_SPRITES_START + 103) // unused
|
||||
#define ANIM_TAG_FANGS (ANIM_SPRITES_START + 104) // unused
|
||||
#define ANIM_TAG_EXPLOSION_2 (ANIM_SPRITES_START + 105) // unused
|
||||
#define ANIM_TAG_EXPLOSION_3 (ANIM_SPRITES_START + 106) // unused
|
||||
#define ANIM_TAG_WATER_DROPLET (ANIM_SPRITES_START + 107) // unused
|
||||
#define ANIM_TAG_WATER_DROPLET_2 (ANIM_SPRITES_START + 108) // unused
|
||||
#define ANIM_TAG_SEED_2 (ANIM_SPRITES_START + 109) // unused
|
||||
#define ANIM_TAG_SPROUT (ANIM_SPRITES_START + 110) // unused
|
||||
#define ANIM_TAG_RED_WAND (ANIM_SPRITES_START + 111) // unused
|
||||
#define ANIM_TAG_PURPLE_GREEN_UNK (ANIM_SPRITES_START + 112) // unused
|
||||
#define ANIM_TAG_WATER_COLUMN (ANIM_SPRITES_START + 113) // unused
|
||||
#define ANIM_TAG_MUD_UNK (ANIM_SPRITES_START + 114) // unused
|
||||
#define ANIM_TAG_RAIN_DROPS (ANIM_SPRITES_START + 115)
|
||||
#define ANIM_TAG_UNUSED_FURY_SWIPES (ANIM_SPRITES_START + 116)
|
||||
#define ANIM_TAG_UNUSED_VINE_2 (ANIM_SPRITES_START + 117)
|
||||
#define ANIM_TAG_UNUSED_TEETH (ANIM_SPRITES_START + 118)
|
||||
#define ANIM_TAG_UNUSED_BONE (ANIM_SPRITES_START + 119)
|
||||
#define ANIM_TAG_UNUSED_WHITE_BAG (ANIM_SPRITES_START + 120)
|
||||
#define ANIM_TAG_UNUSED_UNKNOWN (ANIM_SPRITES_START + 121)
|
||||
#define ANIM_TAG_UNUSED_PURPLE_CORAL (ANIM_SPRITES_START + 122)
|
||||
#define ANIM_TAG_UNUSED_PURPLE_DROPLET (ANIM_SPRITES_START + 123)
|
||||
#define ANIM_TAG_UNUSED_SHOCK_2 (ANIM_SPRITES_START + 124)
|
||||
#define ANIM_TAG_UNUSED_CLOSING_EYE_2 (ANIM_SPRITES_START + 125)
|
||||
#define ANIM_TAG_UNUSED_METAL_BALL (ANIM_SPRITES_START + 126)
|
||||
#define ANIM_TAG_UNUSED_MONSTER_DOLL (ANIM_SPRITES_START + 127)
|
||||
#define ANIM_TAG_UNUSED_WHIRLWIND (ANIM_SPRITES_START + 128)
|
||||
#define ANIM_TAG_UNUSED_WHIRLWIND_2 (ANIM_SPRITES_START + 129)
|
||||
#define ANIM_TAG_UNUSED_EXPLOSION_4 (ANIM_SPRITES_START + 130)
|
||||
#define ANIM_TAG_UNUSED_EXPLOSION_5 (ANIM_SPRITES_START + 131)
|
||||
#define ANIM_TAG_UNUSED_TONGUE (ANIM_SPRITES_START + 132)
|
||||
#define ANIM_TAG_UNUSED_SMOKE (ANIM_SPRITES_START + 133)
|
||||
#define ANIM_TAG_UNUSED_SMOKE_2 (ANIM_SPRITES_START + 134)
|
||||
#define ANIM_TAG_FURY_SWIPES (ANIM_SPRITES_START + 116) // unused
|
||||
#define ANIM_TAG_VINE_2 (ANIM_SPRITES_START + 117) // unused
|
||||
#define ANIM_TAG_TEETH (ANIM_SPRITES_START + 118) // unused
|
||||
#define ANIM_TAG_BONE_2 (ANIM_SPRITES_START + 119) // unused
|
||||
#define ANIM_TAG_WHITE_BAG (ANIM_SPRITES_START + 120) // unused
|
||||
#define ANIM_TAG_UNKNOWN (ANIM_SPRITES_START + 121) // unused
|
||||
#define ANIM_TAG_PURPLE_CORAL (ANIM_SPRITES_START + 122) // unused
|
||||
#define ANIM_TAG_PURPLE_DROPLET (ANIM_SPRITES_START + 123) // unused
|
||||
#define ANIM_TAG_SHOCK_2 (ANIM_SPRITES_START + 124) // unused
|
||||
#define ANIM_TAG_CLOSING_EYE_2 (ANIM_SPRITES_START + 125) // unused
|
||||
#define ANIM_TAG_METAL_BALL (ANIM_SPRITES_START + 126) // unused
|
||||
#define ANIM_TAG_MONSTER_DOLL (ANIM_SPRITES_START + 127) // unused
|
||||
#define ANIM_TAG_WHIRLWIND (ANIM_SPRITES_START + 128) // unused
|
||||
#define ANIM_TAG_WHIRLWIND_2 (ANIM_SPRITES_START + 129) // unused
|
||||
#define ANIM_TAG_EXPLOSION_4 (ANIM_SPRITES_START + 130) // unused
|
||||
#define ANIM_TAG_EXPLOSION_5 (ANIM_SPRITES_START + 131) // unused
|
||||
#define ANIM_TAG_TONGUE (ANIM_SPRITES_START + 132) // unused
|
||||
#define ANIM_TAG_SMOKE (ANIM_SPRITES_START + 133) // unused
|
||||
#define ANIM_TAG_SMOKE_2 (ANIM_SPRITES_START + 134) // unused
|
||||
#define ANIM_TAG_IMPACT (ANIM_SPRITES_START + 135)
|
||||
#define ANIM_TAG_CIRCLE_IMPACT (ANIM_SPRITES_START + 136)
|
||||
#define ANIM_TAG_SCRATCH (ANIM_SPRITES_START + 137)
|
||||
@@ -185,11 +185,11 @@
|
||||
#define ANIM_TAG_LARGE_FRESH_EGG (ANIM_SPRITES_START + 175)
|
||||
#define ANIM_TAG_SHADOW_BALL (ANIM_SPRITES_START + 176)
|
||||
#define ANIM_TAG_LICK (ANIM_SPRITES_START + 177)
|
||||
#define ANIM_TAG_UNUSED_VOID_LINES (ANIM_SPRITES_START + 178)
|
||||
#define ANIM_TAG_VOID_LINES (ANIM_SPRITES_START + 178)
|
||||
#define ANIM_TAG_STRING (ANIM_SPRITES_START + 179)
|
||||
#define ANIM_TAG_WEB_THREAD (ANIM_SPRITES_START + 180)
|
||||
#define ANIM_TAG_SPIDER_WEB (ANIM_SPRITES_START + 181)
|
||||
#define ANIM_TAG_UNUSED_LIGHTBULB (ANIM_SPRITES_START + 182)
|
||||
#define ANIM_TAG_LIGHTBULB (ANIM_SPRITES_START + 182) // unused
|
||||
#define ANIM_TAG_SLASH (ANIM_SPRITES_START + 183)
|
||||
#define ANIM_TAG_FOCUS_ENERGY (ANIM_SPRITES_START + 184)
|
||||
#define ANIM_TAG_SPHERE_TO_CUBE (ANIM_SPRITES_START + 185)
|
||||
@@ -211,7 +211,7 @@
|
||||
#define ANIM_TAG_WARM_ROCK (ANIM_SPRITES_START + 201)
|
||||
#define ANIM_TAG_BREAKING_EGG (ANIM_SPRITES_START + 202)
|
||||
#define ANIM_TAG_THIN_RING (ANIM_SPRITES_START + 203)
|
||||
#define ANIM_TAG_UNUSED_PUNCH_IMPACT (ANIM_SPRITES_START + 204)
|
||||
#define ANIM_TAG_PUNCH_IMPACT (ANIM_SPRITES_START + 204) // unused
|
||||
#define ANIM_TAG_BELL (ANIM_SPRITES_START + 205)
|
||||
#define ANIM_TAG_MUSIC_NOTES_2 (ANIM_SPRITES_START + 206)
|
||||
#define ANIM_TAG_SPEED_DUST (ANIM_SPRITES_START + 207)
|
||||
@@ -276,17 +276,17 @@
|
||||
#define ANIM_TAG_GREEN_SPIKE (ANIM_SPRITES_START + 266)
|
||||
#define ANIM_TAG_WHITE_CIRCLE_OF_LIGHT (ANIM_SPRITES_START + 267)
|
||||
#define ANIM_TAG_GLOWY_BLUE_ORB (ANIM_SPRITES_START + 268)
|
||||
#define ANIM_TAG_UNUSED_RED_BRICK (ANIM_SPRITES_START + 269)
|
||||
#define ANIM_TAG_POKEBLOCK (ANIM_SPRITES_START + 269)
|
||||
#define ANIM_TAG_WHITE_FEATHER (ANIM_SPRITES_START + 270)
|
||||
#define ANIM_TAG_SPARKLE_6 (ANIM_SPRITES_START + 271)
|
||||
#define ANIM_TAG_SPLASH (ANIM_SPRITES_START + 272)
|
||||
#define ANIM_TAG_SWEAT_BEAD (ANIM_SPRITES_START + 273)
|
||||
#define ANIM_TAG_UNUSED_GEM_1 (ANIM_SPRITES_START + 274)
|
||||
#define ANIM_TAG_UNUSED_GEM_2 (ANIM_SPRITES_START + 275)
|
||||
#define ANIM_TAG_UNUSED_GEM_3 (ANIM_SPRITES_START + 276)
|
||||
#define ANIM_TAG_GEM_1 (ANIM_SPRITES_START + 274) // unused
|
||||
#define ANIM_TAG_GEM_2 (ANIM_SPRITES_START + 275) // unused
|
||||
#define ANIM_TAG_GEM_3 (ANIM_SPRITES_START + 276) // unused
|
||||
#define ANIM_TAG_SLAM_HIT_2 (ANIM_SPRITES_START + 277)
|
||||
#define ANIM_TAG_RECYCLE (ANIM_SPRITES_START + 278)
|
||||
#define ANIM_TAG_UNUSED_RED_PARTICLES (ANIM_SPRITES_START + 279)
|
||||
#define ANIM_TAG_RED_PARTICLES (ANIM_SPRITES_START + 279) // unused
|
||||
#define ANIM_TAG_PROTECT (ANIM_SPRITES_START + 280)
|
||||
#define ANIM_TAG_DIRT_MOUND (ANIM_SPRITES_START + 281)
|
||||
#define ANIM_TAG_SHOCK_3 (ANIM_SPRITES_START + 282)
|
||||
@@ -313,7 +313,7 @@
|
||||
// . .
|
||||
// . .
|
||||
// 127
|
||||
//
|
||||
//
|
||||
#define SOUND_PAN_ATTACKER -64
|
||||
#define SOUND_PAN_TARGET 63
|
||||
|
||||
@@ -335,10 +335,10 @@
|
||||
#define BG_GUILLOTINE_CONTESTS 14
|
||||
#define BG_ICE 15
|
||||
#define BG_COSMIC 16
|
||||
#define BG_SEISMICTOSS_SKUUPPERCUT 17
|
||||
#define BG_FLYING 18
|
||||
#define BG_FLYING_CONTESTS 19
|
||||
#define BG_AURORABEAM 20
|
||||
#define BG_IN_AIR 17
|
||||
#define BG_SKY 18
|
||||
#define BG_SKY_CONTESTS 19
|
||||
#define BG_AURORA 20
|
||||
#define BG_FISSURE 21
|
||||
#define BG_BUG_OPPONENT 22
|
||||
#define BG_BUG_PLAYER 23
|
||||
@@ -411,32 +411,32 @@
|
||||
#define ANIM_WEATHER_HAIL 4
|
||||
|
||||
// Battle mon back animations.
|
||||
#define BACK_ANIM_NONE 0x00
|
||||
#define BACK_ANIM_H_SLIDE_QUICK 0x01
|
||||
#define BACK_ANIM_H_SLIDE 0x02
|
||||
#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_1 0x03
|
||||
#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_2 0x04
|
||||
#define BACK_ANIM_SHRINK_GROW_1 0x05
|
||||
#define BACK_ANIM_GROW_1 0x06
|
||||
#define BACK_ANIM_CIRCLE_MOVE_COUNTERCLOCKWISE 0x07
|
||||
#define BACK_ANIM_HORIZONTAL_SHAKE 0x08
|
||||
#define BACK_ANIM_VERTICAL_SHAKE 0x09
|
||||
#define BACK_ANIM_V_SHAKE_WITH_H_SLIDE 0x0a
|
||||
#define BACK_ANIM_VERTICAL_STRETCH 0x0b
|
||||
#define BACK_ANIM_HORIZONTAL_STRETCH 0x0c
|
||||
#define BACK_ANIM_GROW_2 0x0d
|
||||
#define BACK_ANIM_V_SHAKE_WITH_PAUSE 0x0e
|
||||
#define BACK_ANIM_CIRCLE_MOVE_CLOCKWISE 0x0f
|
||||
#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL 0x10
|
||||
#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE 0x11
|
||||
#define BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE 0x12
|
||||
#define BACK_ANIM_DIP_RIGHT_SIDE 0x13
|
||||
#define BACK_ANIM_SHRINK_GROW_2 0x14
|
||||
#define BACK_ANIM_JOLT_RIGHT 0x15
|
||||
#define BACK_ANIM_FLASH_YELLOW_WITH_SHAKE 0x16
|
||||
#define BACK_ANIM_FADE_RED_WITH_SHAKE 0x17
|
||||
#define BACK_ANIM_FADE_GREEN_WITH_SHAKE 0x18
|
||||
#define BACK_ANIM_FADE_BLUE_WITH_SHAKE 0x19
|
||||
#define BACK_ANIM_NONE 0x00
|
||||
#define BACK_ANIM_H_SLIDE_QUICK 0x01
|
||||
#define BACK_ANIM_H_SLIDE 0x02
|
||||
#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_1 0x03
|
||||
#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_2 0x04
|
||||
#define BACK_ANIM_SHRINK_GROW_1 0x05
|
||||
#define BACK_ANIM_GROW_1 0x06
|
||||
#define BACK_ANIM_CIRCLE_MOVE_COUNTERCLOCKWISE 0x07
|
||||
#define BACK_ANIM_HORIZONTAL_SHAKE 0x08
|
||||
#define BACK_ANIM_VERTICAL_SHAKE 0x09
|
||||
#define BACK_ANIM_V_SHAKE_WITH_H_SLIDE 0x0a
|
||||
#define BACK_ANIM_VERTICAL_STRETCH 0x0b
|
||||
#define BACK_ANIM_HORIZONTAL_STRETCH 0x0c
|
||||
#define BACK_ANIM_GROW_2 0x0d
|
||||
#define BACK_ANIM_V_SHAKE_WITH_PAUSE 0x0e
|
||||
#define BACK_ANIM_CIRCLE_MOVE_CLOCKWISE 0x0f
|
||||
#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL 0x10
|
||||
#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE 0x11
|
||||
#define BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE 0x12
|
||||
#define BACK_ANIM_DIP_RIGHT_SIDE 0x13
|
||||
#define BACK_ANIM_SHRINK_GROW_2 0x14
|
||||
#define BACK_ANIM_JOLT_RIGHT 0x15
|
||||
#define BACK_ANIM_FLASH_YELLOW_WITH_SHAKE 0x16
|
||||
#define BACK_ANIM_FADE_RED_WITH_SHAKE 0x17
|
||||
#define BACK_ANIM_FADE_GREEN_WITH_SHAKE 0x18
|
||||
#define BACK_ANIM_FADE_BLUE_WITH_SHAKE 0x19
|
||||
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_ANIM_H
|
||||
|
||||
@@ -274,6 +274,8 @@
|
||||
#define TRACKS_FOOT 1
|
||||
#define TRACKS_BIKE_TIRE 2
|
||||
|
||||
#define FIRST_DECORATION_SPRITE_GFX EVENT_OBJ_GFX_PICHU_DOLL
|
||||
|
||||
#define EVENT_OBJ_ID_PLAYER 0xFF
|
||||
#define EVENT_OBJ_ID_CAMERA 0x7F
|
||||
|
||||
|
||||
@@ -287,7 +287,7 @@
|
||||
#define FLAG_RECEIVED_TM41 0x109
|
||||
#define FLAG_RECEIVED_LAVARIDGE_EGG 0x10A
|
||||
#define FLAG_RECEIVED_REVIVED_FOSSIL_MON 0x10B
|
||||
#define FLAG_DECORATION_16 0x10C
|
||||
#define FLAG_SECRET_BASE_REGISTRY_ENABLED 0x10C
|
||||
#define FLAG_RECEIVED_TM46 0x10D
|
||||
#define FLAG_CONTEST_SKETCH_CREATED 0x10E
|
||||
#define FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE 0x10F
|
||||
@@ -1248,7 +1248,7 @@
|
||||
#define FLAG_UNUSED_0x4F9 0x4F9 // Unused Flag
|
||||
#define FLAG_UNUSED_0x4FA 0x4FA // Unused Flag
|
||||
|
||||
#define FLAG_DEFEATED_ELITE_4_SYDNEY 0x4FB
|
||||
#define FLAG_DEFEATED_ELITE_4_SIDNEY 0x4FB
|
||||
#define FLAG_DEFEATED_ELITE_4_PHOEBE 0x4FC
|
||||
#define FLAG_DEFEATED_ELITE_4_GLACIA 0x4FD
|
||||
#define FLAG_DEFEATED_ELITE_4_DRAKE 0x4FE
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
#ifndef GUARD_CONSTANTS_ITEM_EFFECTS_H
|
||||
#define GUARD_CONSTANTS_ITEM_EFFECTS_H
|
||||
|
||||
// field 0 masks
|
||||
#define ITEM0_X_ATTACK 0x0F
|
||||
#define ITEM0_HIGH_CRIT 0x30 // For Dire Hit, works the same way as move Focus Energy.
|
||||
#define ITEM0_SACRED_ASH 0x40
|
||||
#define ITEM0_INFATUATION 0x80
|
||||
|
||||
// field 1 masks
|
||||
#define ITEM1_X_SPEED 0x0F
|
||||
#define ITEM1_X_DEFEND 0xF0
|
||||
|
||||
// field 2 masks
|
||||
#define ITEM2_X_SPATK 0x0F
|
||||
#define ITEM2_X_ACCURACY 0xF0
|
||||
|
||||
// field 3 masks
|
||||
#define ITEM3_CONFUSION 0x1
|
||||
#define ITEM3_PARALYSIS 0x2
|
||||
#define ITEM3_FREEZE 0x4
|
||||
#define ITEM3_BURN 0x8
|
||||
#define ITEM3_POISON 0x10
|
||||
#define ITEM3_SLEEP 0x20
|
||||
#define ITEM3_LEVEL_UP 0x40
|
||||
#define ITEM3_MIST 0x80 // For Guard Specs, works the same way as move Mist.
|
||||
|
||||
#define ITEM3_STATUS_ALL (ITEM3_CONFUSION | ITEM3_PARALYSIS | ITEM3_FREEZE | ITEM3_BURN | ITEM3_POISON | ITEM3_SLEEP)
|
||||
|
||||
// field 4 masks
|
||||
#define ITEM4_EV_HP 0x1
|
||||
#define ITEM4_EV_ATK 0x2
|
||||
#define ITEM4_HEAL_HP 0x4
|
||||
#define ITEM4_HEAL_PP_ALL 0x8
|
||||
#define ITEM4_HEAL_PP_ONE 0x10
|
||||
#define ITEM4_PP_UP 0x20
|
||||
#define ITEM4_REVIVE 0x40
|
||||
#define ITEM4_EVO_STONE 0x80
|
||||
|
||||
// field 5 masks
|
||||
#define ITEM5_EV_DEF 0x1
|
||||
#define ITEM5_EV_SPEED 0x2
|
||||
#define ITEM5_EV_SPDEF 0x4
|
||||
#define ITEM5_EV_SPATK 0x8
|
||||
#define ITEM5_PP_MAX 0x10
|
||||
#define ITEM5_FRIENDSHIP_LOW 0x20
|
||||
#define ITEM5_FRIENDSHIP_MID 0x40
|
||||
#define ITEM5_FRIENDSHIP_HIGH 0x80
|
||||
|
||||
#define ITEM5_FRIENDSHIP_ALL (ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID | ITEM5_FRIENDSHIP_HIGH)
|
||||
|
||||
// fields 6 and onwards are item-specific arguments
|
||||
|
||||
// Used for GetItemEffectType.
|
||||
#define ITEM_EFFECT_X_ITEM 0
|
||||
#define ITEM_EFFECT_RAISE_LEVEL 1
|
||||
#define ITEM_EFFECT_HEAL_HP 2
|
||||
#define ITEM_EFFECT_CURE_POISON 3
|
||||
#define ITEM_EFFECT_CURE_SLEEP 4
|
||||
#define ITEM_EFFECT_CURE_BURN 5
|
||||
#define ITEM_EFFECT_CURE_FREEZE 6
|
||||
#define ITEM_EFFECT_CURE_PARALYSIS 7
|
||||
#define ITEM_EFFECT_CURE_CONFUSION 8
|
||||
#define ITEM_EFFECT_CURE_INFATUATION 9
|
||||
#define ITEM_EFFECT_SACRED_ASH 10
|
||||
#define ITEM_EFFECT_CURE_ALL_STATUS 11
|
||||
#define ITEM_EFFECT_ATK_EV 12
|
||||
#define ITEM_EFFECT_HP_EV 13
|
||||
#define ITEM_EFFECT_SPATK_EV 14
|
||||
#define ITEM_EFFECT_SPDEF_EV 15
|
||||
#define ITEM_EFFECT_SPEED_EV 16
|
||||
#define ITEM_EFFECT_DEF_EV 17
|
||||
#define ITEM_EFFECT_EVO_STONE 18
|
||||
#define ITEM_EFFECT_PP_UP 19
|
||||
#define ITEM_EFFECT_PP_MAX 20
|
||||
#define ITEM_EFFECT_HEAL_PP 21
|
||||
#define ITEM_EFFECT_NONE 22
|
||||
|
||||
#endif // GUARD_CONSTANTS_ITEM_EFFECTS_H
|
||||
@@ -473,6 +473,6 @@
|
||||
#define NUM_HIDDEN_MACHINES 8
|
||||
|
||||
// Check if the item is one that can be used on a Pokemon.
|
||||
#define IS_POKEMON_ITEM(item) ((item) >= ITEM_POTION && (item) <= ITEM_0B2)
|
||||
#define ITEM_HAS_EFFECT(item) ((item) >= ITEM_POTION && (item) <= ITEM_0B2)
|
||||
|
||||
#endif // GUARD_CONSTANTS_ITEMS_H
|
||||
|
||||
@@ -182,7 +182,7 @@
|
||||
#define MB_SECRET_BASE_UNUSED 0xB2
|
||||
#define MB_BLOCK_DECORATION 0xB3
|
||||
#define MB_SECRET_BASE_DECORATION 0xB4
|
||||
#define MB_SECRET_BASE_LARGE_MAT_EDGE 0xB5
|
||||
#define MB_HOLDS_SMALL_DECORATION 0xB5
|
||||
#define MB_UNUSED_B6 0xB6
|
||||
#define MB_SECRET_BASE_NORTH_WALL 0xB7
|
||||
#define MB_SECRET_BASE_BALLOON 0xB8
|
||||
@@ -196,7 +196,7 @@
|
||||
#define MB_IMPASSABLE_SOUTH_AND_NORTH 0xC0
|
||||
#define MB_IMPASSABLE_WEST_AND_EAST 0xC1
|
||||
#define MB_SECRET_BASE_HOLE 0xC2
|
||||
#define MB_LARGE_MAT_CENTER 0xC3
|
||||
#define MB_HOLDS_LARGE_DECORATION 0xC3
|
||||
#define MB_SECRET_BASE_TV_SHIELD 0xC4
|
||||
#define MB_PLAYER_ROOM_PC_ON 0xC5
|
||||
#define MB_C6 0xC6
|
||||
|
||||
@@ -463,7 +463,7 @@
|
||||
#define MUS_RG_SOUSA 535 // Starting Tutorial
|
||||
#define MUS_RG_SEKAIKAN 536 // Starting Tutorial 2
|
||||
#define MUS_RG_SEIBETU 537 // Starting Tutorial 3
|
||||
#define MUS_RG_JUMP 538 // Jumping Minigame
|
||||
#define MUS_RG_JUMP 538 // Pokemon Jump Minigame
|
||||
#define MUS_RG_UNION 539 // Union Room
|
||||
#define MUS_RG_NETWORK 540 // Network Center
|
||||
#define MUS_RG_OKURIMONO 541 // Mystery Gift
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#ifndef GUARD_CONSTANTS_VARS_H
|
||||
#define GUARD_CONSTANTS_VARS_H
|
||||
|
||||
#define UNKNOWN_VAR_OFFSET_3F20 0x3F20
|
||||
|
||||
#define VARS_START 0x4000
|
||||
|
||||
// temporary vars
|
||||
|
||||
+62
-42
@@ -1,6 +1,27 @@
|
||||
#ifndef GUARD_CONTEST_H
|
||||
#define GUARD_CONTEST_H
|
||||
|
||||
#include "palette.h"
|
||||
|
||||
#define CONTESTANT_COUNT 4
|
||||
#define APPLAUSE_METER_SIZE 5
|
||||
#define CONTEST_TURN_COUNT 5
|
||||
|
||||
enum
|
||||
{
|
||||
CONTEST_DEBUG_MODE_OFF,
|
||||
// Prints the totalPoints value for each contestant.
|
||||
CONTEST_DEBUG_MODE_PRINT_POINT_TOTAL,
|
||||
// Prints the ContestResourcesField1C::unk_C value as a bitstring for each contestant.
|
||||
CONTEST_DEBUG_MODE_PRINT_UNK_C,
|
||||
// Prints the ContestResourcesField1C::unk_D value as a bitstring for each contestant.
|
||||
CONTEST_DEBUG_MODE_PRINT_UNK_D
|
||||
};
|
||||
|
||||
#define LINK_CONTEST_FLAG_IS_LINK (1 << 0)
|
||||
#define LINK_CONTEST_FLAG_IS_WIRELESS (1 << 1)
|
||||
#define LINK_CONTEST_FLAG_HAS_RS_PLAYER (1 << 2)
|
||||
|
||||
enum
|
||||
{
|
||||
CONTEST_CATEGORY_COOL,
|
||||
@@ -216,7 +237,7 @@ struct ContestPokemon
|
||||
/*0x02*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
|
||||
/*0x0D*/ u8 trainerName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x15*/ u8 trainerGfxId;
|
||||
/*0x18*/ u32 flags;
|
||||
/*0x18*/ u32 aiChecks;
|
||||
/*0x1C*/ u8 whichRank:2; // 0x1 0x2
|
||||
u8 aiPool_Cool:1; // 0x4
|
||||
u8 aiPool_Beauty:1; // 0x8
|
||||
@@ -235,14 +256,12 @@ struct ContestPokemon
|
||||
/*0x3C*/ u32 otId; // otId
|
||||
};
|
||||
|
||||
struct Shared18000
|
||||
struct Shared1A004
|
||||
{
|
||||
/*0x18000*/ u8 unk18000;
|
||||
/*0x18001*/ u8 filler18001[3];
|
||||
/*0x18004*/ u16 unk18004[16][16];
|
||||
/*0x18204*/ u16 unk18204[0x200];
|
||||
/*0x18604*/ u16 unk18604[0x200];
|
||||
/*0x18A04*/ u8 unk18A04[0x800];
|
||||
u16 cachedWindowPalettes[16][16]; // Saved palette data before a move happens?
|
||||
u16 unk18204[PLTT_BUFFER_SIZE]; // Saved copy of gPlttBufferUnfaded
|
||||
u16 unk18604[PLTT_BUFFER_SIZE]; // Saved copy of gPlttBufferFaded
|
||||
u8 savedJunk[0x800];
|
||||
};
|
||||
|
||||
struct ContestStruct_field_18
|
||||
@@ -260,14 +279,14 @@ struct Contest
|
||||
{
|
||||
/*0x0*/ u8 playerMoveChoice;
|
||||
/*0x1*/ u8 turnNumber;
|
||||
/*0x2*/ u8 unk19206[4]; // seems to only be used by an unref function
|
||||
/*0x2*/ u8 unused2[CONTESTANT_COUNT];
|
||||
/*0x6*/ u16 unk1920A_0:1; // Task active flags?
|
||||
u16 unk1920A_1:1;
|
||||
u16 unk1920A_2:1;
|
||||
u16 unk1920A_3:1;
|
||||
u16 unk1920A_4:1;
|
||||
u16 unk1920A_5:1;
|
||||
u16 unk1920A_6:1;
|
||||
u16 isShowingApplauseMeter:1;
|
||||
u16 applauseMeterIsMoving:1;
|
||||
u16 unk1920A_7:1;
|
||||
/*0x7*/ u16 unk1920B_0:1;
|
||||
u16 unk1920B_1:1;
|
||||
@@ -281,12 +300,12 @@ struct Contest
|
||||
/*0x11*/ u8 unk19215;
|
||||
/*0x12*/ u8 unk19216; // sprite ID
|
||||
/*0x13*/ s8 applauseLevel;
|
||||
/*0x19218*/ u8 unk19218[4];
|
||||
/*0x19218*/ u8 prevTurnOrder[CONTESTANT_COUNT];
|
||||
/*0x1921C*/ u32 unk1921C; // saved RNG value?
|
||||
u16 unk19220[5][4]; // move history?
|
||||
u8 unk19248[5][4]; // excitement history
|
||||
u8 applauseMeterSpriteId; // sprite ID
|
||||
/*0x1925D*/ u8 unk1925D;
|
||||
u16 moveHistory[CONTEST_TURN_COUNT][CONTESTANT_COUNT];
|
||||
u8 excitementHistory[CONTEST_TURN_COUNT][CONTESTANT_COUNT];
|
||||
u8 applauseMeterSpriteId;
|
||||
/*0x1925D*/ u8 contestSetupState;
|
||||
/*0x1925E*/ u8 unk1925E;
|
||||
};
|
||||
|
||||
@@ -294,11 +313,11 @@ struct ContestantStatus
|
||||
{
|
||||
/*0x00*/ s16 appeal1; // move appeal?
|
||||
/*0x02*/ s16 appeal2; // final appeal after end of turn, maybe?
|
||||
/*0x04*/ s16 unk4;
|
||||
/*0x04*/ s16 pointTotal;
|
||||
/*0x06*/ u16 currMove;
|
||||
/*0x08*/ u16 prevMove;
|
||||
/*0x0A*/ u8 moveCategory;
|
||||
/*0x0B*/ u8 unkB_0:2;
|
||||
/*0x0B*/ u8 ranking:2;
|
||||
u8 unkB_2:2;
|
||||
u8 moveRepeatCount:3;
|
||||
u8 noMoreTurns:1; // used a one-time move?
|
||||
@@ -341,24 +360,24 @@ struct ContestantStatus
|
||||
|
||||
struct UnknownContestStruct7
|
||||
{
|
||||
u8 turnOrder[4];
|
||||
u8 turnOrder[CONTESTANT_COUNT];
|
||||
s16 jam;
|
||||
s16 jam2;
|
||||
u8 jamQueue[5];
|
||||
u8 unnervedPokes[4];
|
||||
u8 unnervedPokes[CONTESTANT_COUNT];
|
||||
u8 contestant;
|
||||
};
|
||||
|
||||
struct ContestAIInfo
|
||||
{
|
||||
/*0x00*/ u8 aiState;
|
||||
/*0x02*/ u16 unk2;
|
||||
/*0x04*/ u8 unk4;
|
||||
/*0x02*/ u16 nextMove;
|
||||
/*0x04*/ u8 nextMoveIndex;
|
||||
/*0x05*/ u8 unk5[4];
|
||||
/*0x09*/ u8 aiAction;
|
||||
/*0x0A*/ u8 fillerA[0x6]; // TODO: don't know what's here
|
||||
/*0x10*/ u8 unk10;
|
||||
/*0x14*/ u32 flags;
|
||||
/*0x10*/ u8 currentAICheck;
|
||||
/*0x14*/ u32 aiChecks;
|
||||
/*0x18*/ s16 scriptResult;
|
||||
/*0x1A*/ s16 scriptArr[3];
|
||||
/*0x20*/ const u8 *stack[8];
|
||||
@@ -408,30 +427,31 @@ struct ContestResourcesField20
|
||||
|
||||
struct ContestResources
|
||||
{
|
||||
struct Contest *field_0;
|
||||
struct ContestantStatus *field_4;
|
||||
struct Contest *contest;
|
||||
struct ContestantStatus *status;
|
||||
struct UnknownContestStruct7 *field_8;
|
||||
struct ContestAIInfo *field_C;
|
||||
struct ContestAIInfo *aiData;
|
||||
struct UnknownContestStruct5 *field_10;
|
||||
struct UnknownContestStruct4 *field_14;
|
||||
struct ContestStruct_field_18 *field_18;
|
||||
struct ContestResourcesField1C * field_1c;
|
||||
struct ContestResourcesField20 * field_20;
|
||||
u8 * field_24[4];
|
||||
u8 * contestBgTilemaps[CONTESTANT_COUNT];
|
||||
void * field_34;
|
||||
void * field_38;
|
||||
void * field_3c;
|
||||
};
|
||||
|
||||
#define sContest (*gContestResources->field_0)
|
||||
#define sContestantStatus (gContestResources->field_4)
|
||||
#define shared192D0 (*gContestResources->field_8)
|
||||
#define eContestAI (gContestResources->field_C)
|
||||
#define shared19328 (*gContestResources->field_10)
|
||||
#define shared19338 (*gContestResources->field_14)
|
||||
#define shared15800 (gHeap + 0x18000)
|
||||
#define shared16800 (gHeap + 0x19000)
|
||||
#define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000))
|
||||
#define eContest (*gContestResources->contest)
|
||||
#define eContestantStatus (gContestResources->status)
|
||||
#define eContestResources8 (*gContestResources->field_8)
|
||||
#define eContestAI (*gContestResources->aiData)
|
||||
#define eContestResources10 (*gContestResources->field_10)
|
||||
#define eContestResources14 (*gContestResources->field_14)
|
||||
#define eUnzippedContestAudienceGfx (gHeap + 0x18000)
|
||||
#define eUnknownHeap19000 (gHeap + 0x19000)
|
||||
#define eContestDebugMode (gHeap[0x1a000])
|
||||
#define eUnknownHeap1A004 (*(struct Shared1A004 *)(gHeap + 0x1a004))
|
||||
|
||||
extern struct ContestPokemon gContestMons[4];
|
||||
extern s16 gContestMonConditions[4];
|
||||
@@ -441,8 +461,8 @@ extern s16 gUnknown_02039F18[4];
|
||||
extern u8 gContestFinalStandings[4];
|
||||
extern u8 gContestMonPartyIndex;
|
||||
extern u8 gContestPlayerMonIndex;
|
||||
extern u8 gUnknown_02039F26[4];
|
||||
extern u8 gIsLinkContest;
|
||||
extern u8 gContestantTurnOrder[4];
|
||||
extern u8 gLinkContestFlags;
|
||||
extern u8 gUnknown_02039F2B;
|
||||
extern u16 gSpecialVar_ContestCategory;
|
||||
extern u16 gSpecialVar_ContestRank;
|
||||
@@ -459,7 +479,7 @@ extern u32 gContestRngValue;
|
||||
// contest.c
|
||||
void ResetLinkContestBoolean(void);
|
||||
void LoadContestBgAfterMoveAnim(void);
|
||||
void sub_80D7B24(void);
|
||||
void CB2_StartContest(void);
|
||||
void sub_80DA8C8(u8 partyIndex);
|
||||
void sub_80DAB8C(u8 contestType, u8 rank);
|
||||
void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame);
|
||||
@@ -467,8 +487,8 @@ u8 sub_80DAE0C(struct Pokemon *pkmn);
|
||||
void sub_80DB09C(u8 contestCategory);
|
||||
bool8 IsSpeciesNotUnown(u16 species);
|
||||
bool8 Contest_IsMonsTurnDisabled(u8 a);
|
||||
void sub_80DBED4(void);
|
||||
void sub_80DCE58(u8 a);
|
||||
void SaveLinkContestResults(void);
|
||||
void SortContestants(bool8 a);
|
||||
void SetContestantEffectStringID(u8 a, u8 b);
|
||||
void SetContestantEffectStringID2(u8 a, u8 b);
|
||||
void SetStartledString(u8 contestant, u8 jam);
|
||||
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
#ifndef GUARD_DATA_H
|
||||
#define GUARD_DATA_H
|
||||
|
||||
#include "constants/moves.h"
|
||||
#include "constants/species.h"
|
||||
|
||||
#define SPECIES_SHINY_TAG 500
|
||||
|
||||
struct MonCoords
|
||||
{
|
||||
// This would use a bitfield, but some function
|
||||
// uses it as a u8 and casting won't match.
|
||||
u8 size; // u8 width:4, height:4;
|
||||
u8 y_offset;
|
||||
};
|
||||
|
||||
struct TrainerMonNoItemDefaultMoves
|
||||
{
|
||||
u16 iv;
|
||||
u8 lvl;
|
||||
u16 species;
|
||||
};
|
||||
|
||||
struct TrainerMonItemDefaultMoves
|
||||
{
|
||||
u16 iv;
|
||||
u8 lvl;
|
||||
u16 species;
|
||||
u16 heldItem;
|
||||
};
|
||||
|
||||
struct TrainerMonNoItemCustomMoves
|
||||
{
|
||||
u16 iv;
|
||||
u8 lvl;
|
||||
u16 species;
|
||||
u16 moves[4];
|
||||
};
|
||||
|
||||
struct TrainerMonItemCustomMoves
|
||||
{
|
||||
u16 iv;
|
||||
u8 lvl;
|
||||
u16 species;
|
||||
u16 heldItem;
|
||||
u16 moves[4];
|
||||
};
|
||||
|
||||
union TrainerMonPtr
|
||||
{
|
||||
const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves;
|
||||
const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves;
|
||||
const struct TrainerMonItemDefaultMoves *ItemDefaultMoves;
|
||||
const struct TrainerMonItemCustomMoves *ItemCustomMoves;
|
||||
};
|
||||
|
||||
struct Trainer
|
||||
{
|
||||
/*0x00*/ u8 partyFlags;
|
||||
/*0x01*/ u8 trainerClass;
|
||||
/*0x02*/ u8 encounterMusic_gender; // last bit is gender
|
||||
/*0x03*/ u8 trainerPic;
|
||||
/*0x04*/ u8 trainerName[12];
|
||||
/*0x10*/ u16 items[4];
|
||||
/*0x18*/ bool8 doubleBattle;
|
||||
/*0x1C*/ u32 aiFlags;
|
||||
/*0x20*/ u8 partySize;
|
||||
/*0x24*/ union TrainerMonPtr party;
|
||||
};
|
||||
|
||||
#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F))
|
||||
|
||||
extern const u16 gUnknown_082FF1D8[];
|
||||
extern const u32 gUnknown_082FF1F8[];
|
||||
|
||||
extern const struct SpriteFrameImage gUnknown_082FF3A8[];
|
||||
extern const struct SpriteFrameImage gUnknown_082FF3C8[];
|
||||
extern const struct SpriteFrameImage gUnknown_082FF3E8[];
|
||||
extern const struct SpriteFrameImage gUnknown_082FF408[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_Brendan[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_May[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_Red[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_Leaf[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_Wally[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_Steven[];
|
||||
|
||||
extern const union AffineAnimCmd *const gUnknown_082FF618[];
|
||||
extern const union AffineAnimCmd *const gUnknown_082FF694[];
|
||||
extern const union AffineAnimCmd *const gUnknown_082FF6C0[];
|
||||
|
||||
extern const union AnimCmd *const gUnknown_082FF70C[];
|
||||
extern const struct MonCoords gMonFrontPicCoords[];
|
||||
extern const struct CompressedSpriteSheet gMonStillFrontPicTable[];
|
||||
extern const struct MonCoords gMonBackPicCoords[];
|
||||
extern const struct CompressedSpriteSheet gMonBackPicTable[];
|
||||
extern const struct CompressedSpritePalette gMonPaletteTable[];
|
||||
extern const struct CompressedSpritePalette gMonShinyPaletteTable[];
|
||||
extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
|
||||
extern const struct MonCoords gTrainerFrontPicCoords[];
|
||||
extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
|
||||
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
|
||||
extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[];
|
||||
extern const struct MonCoords gTrainerBackPicCoords[];
|
||||
extern const struct CompressedSpriteSheet gTrainerBackPicTable[]; // functionally unused
|
||||
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
|
||||
|
||||
extern const u8 gEnemyMonElevation[NUM_SPECIES];
|
||||
|
||||
extern const union AnimCmd *const *const gMonFrontAnimsPtrTable[];
|
||||
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
|
||||
|
||||
extern const struct Trainer gTrainers[];
|
||||
extern const u8 gTrainerClassNames[][13];
|
||||
extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
|
||||
extern const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1];
|
||||
|
||||
#endif // GUARD_DATA_H
|
||||
@@ -1,22 +0,0 @@
|
||||
#ifndef GUARD_DATA2_H
|
||||
#define GUARD_DATA2_H
|
||||
|
||||
struct MonCoords
|
||||
{
|
||||
// This would use a bitfield, but some function
|
||||
// uses it as a u8 and casting won't match.
|
||||
u8 size; // u8 width:4, height:4;
|
||||
u8 y_offset;
|
||||
};
|
||||
|
||||
extern const struct MonCoords gTrainerBackPicCoords[];
|
||||
extern const struct MonCoords gTrainerFrontPicCoords[];
|
||||
|
||||
extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
|
||||
extern const u8 gMoveNames[][MOVE_NAME_LENGTH + 1];
|
||||
extern struct CompressedSpriteSheet gUnknown_0831C620;
|
||||
extern struct CompressedSpritePalette gUnknown_0831C628;
|
||||
extern const struct SpriteTemplate gUnknown_0831C688;
|
||||
extern const struct CompressedSpriteSheet gMonBackPicTable[];
|
||||
|
||||
#endif // GUARD_DATA2_H
|
||||
+37
-39
@@ -1,7 +1,8 @@
|
||||
#ifndef GUARD_DECORATION_H
|
||||
#define GUARD_DECORATION_H
|
||||
|
||||
enum DecorPerm {
|
||||
enum DecorationPermission
|
||||
{
|
||||
/*
|
||||
* The nomenclature here describes collision and placement permissions, in that order.
|
||||
*/
|
||||
@@ -9,13 +10,11 @@ enum DecorPerm {
|
||||
DECORPERM_PASS_FLOOR,
|
||||
DECORPERM_BEHIND_FLOOR,
|
||||
DECORPERM_NA_WALL,
|
||||
DECORPERM_SOLID_MAT
|
||||
DECORPERM_SPRITE,
|
||||
};
|
||||
|
||||
enum DecorShape {
|
||||
/*
|
||||
* Width-x-height
|
||||
*/
|
||||
enum DecorationShape
|
||||
{
|
||||
DECORSHAPE_1x1,
|
||||
DECORSHAPE_2x1,
|
||||
DECORSHAPE_3x1, // unused
|
||||
@@ -25,53 +24,52 @@ enum DecorShape {
|
||||
DECORSHAPE_1x3, // unused
|
||||
DECORSHAPE_2x4,
|
||||
DECORSHAPE_3x3,
|
||||
DECORSHAPE_3x2
|
||||
DECORSHAPE_3x2,
|
||||
};
|
||||
|
||||
enum DecorCat {
|
||||
/*
|
||||
* In which category you can find the decoration in the PC.
|
||||
*/
|
||||
/*0*/ DECORCAT_DESK,
|
||||
/*1*/ DECORCAT_CHAIR,
|
||||
/*2*/ DECORCAT_PLANT,
|
||||
/*3*/ DECORCAT_ORNAMENT,
|
||||
/*4*/ DECORCAT_MAT,
|
||||
/*5*/ DECORCAT_POSTER,
|
||||
/*6*/ DECORCAT_DOLL,
|
||||
/*7*/ DECORCAT_CUSHION
|
||||
enum DecorationCategory
|
||||
{
|
||||
DECORCAT_DESK,
|
||||
DECORCAT_CHAIR,
|
||||
DECORCAT_PLANT,
|
||||
DECORCAT_ORNAMENT,
|
||||
DECORCAT_MAT,
|
||||
DECORCAT_POSTER,
|
||||
DECORCAT_DOLL,
|
||||
DECORCAT_CUSHION,
|
||||
DECORCAT_COUNT,
|
||||
};
|
||||
|
||||
struct Decoration
|
||||
{
|
||||
/*0x00*/ u8 id;
|
||||
/*0x01*/ u8 name[16];
|
||||
/*0x11*/ u8 permission;
|
||||
/*0x12*/ u8 shape;
|
||||
/*0x13*/ u8 category;
|
||||
/*0x14*/ u16 price;
|
||||
/*0x18*/ const u8 *description;
|
||||
/*0x1c*/ const u16 *tiles;
|
||||
u8 id;
|
||||
u8 name[16];
|
||||
u8 permission;
|
||||
u8 shape;
|
||||
u8 category;
|
||||
u16 price;
|
||||
const u8 *description;
|
||||
const u16 *tiles;
|
||||
};
|
||||
|
||||
struct DecorPCPointers
|
||||
struct DecorationPCContext
|
||||
{
|
||||
/* 0x00 */ u8 *items;
|
||||
/* 0x04 */ u8 *pos;
|
||||
/* 0x08 */ u8 size;
|
||||
/* 0x09 */ u8 isPlayerRoom;
|
||||
u8 *items;
|
||||
u8 *pos;
|
||||
u8 size;
|
||||
u8 isPlayerRoom;
|
||||
};
|
||||
|
||||
extern const struct Decoration gDecorations[];
|
||||
extern EWRAM_DATA u8 *gCurDecorInventoryItems;
|
||||
extern EWRAM_DATA u8 *gCurDecorationItems;
|
||||
extern EWRAM_DATA u8 gCurDecorationIndex;
|
||||
|
||||
void sub_8126968(void);
|
||||
void sub_8126AD8(u8 taskId);
|
||||
void sub_8127D38(u16 mapX, u16 mapY, u16 decor);
|
||||
void sub_8126B2C(u8 taskId);
|
||||
void sub_8127208(u8 taskId);
|
||||
void sub_8127250(u8 *dest, u8 decorCat);
|
||||
void InitDecorationContextItems(void);
|
||||
void DoSecretBaseDecorationMenu(u8 taskId);
|
||||
void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decor);
|
||||
void DoPlayerRoomDecorationMenu(u8 taskId);
|
||||
void ShowDecorationCategoriesWindow(u8 taskId);
|
||||
void CopyDecorationCategoryName(u8 *dest, u8 decorCat);
|
||||
bool8 IsSelectedDecorInThePC(void);
|
||||
u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u16 paletteTag);
|
||||
|
||||
|
||||
@@ -11,13 +11,13 @@ extern struct DecorationInventory gDecorationInventories[];
|
||||
|
||||
void SetDecorationInventoriesPointers(void);
|
||||
void ClearDecorationInventories(void);
|
||||
s8 GetFirstEmptyDecorSlot(u8 idx);
|
||||
s8 GetFirstEmptyDecorSlot(u8 category);
|
||||
u8 CheckHasDecoration(u8);
|
||||
u8 DecorationAdd(u8);
|
||||
u8 DecorationCheckSpace(u8);
|
||||
s8 DecorationRemove(u8);
|
||||
void CondenseDecorationCategoryN(u8);
|
||||
u8 CountDecorationCategoryN(u8 idx);
|
||||
u8 CountDecorations(void);
|
||||
void CondenseDecorationsInCategory(u8 category);
|
||||
u8 GetNumOwnedDecorationsInCategory(u8 category);
|
||||
u8 GetNumOwnedDecorations(void);
|
||||
|
||||
#endif // GUARD_DECORATION_INVENTORY_H
|
||||
|
||||
@@ -64,6 +64,10 @@ extern const struct OamData gEventObjectBaseOam_32x32;
|
||||
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
|
||||
extern const u8 gReflectionEffectPaletteMap[];
|
||||
|
||||
extern const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[];
|
||||
extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[];
|
||||
extern const u8 *const gBerryTreePaletteSlotTablePointers[];
|
||||
|
||||
void ResetEventObjects(void);
|
||||
u8 GetMoveDirectionAnimNum(u8);
|
||||
u8 GetEventObjectIdByLocalIdAndMap(u8, u8, u8);
|
||||
@@ -74,10 +78,10 @@ u8 GetFirstInactiveEventObjectId(void);
|
||||
void RemoveEventObjectByLocalIdAndMap(u8, u8, u8);
|
||||
void LoadPlayerObjectReflectionPalette(u16, u8);
|
||||
void LoadSpecialObjectReflectionPalette(u16, u8);
|
||||
void sub_808EBA8(u8, u8, u8, s16, s16);
|
||||
void TryMoveEventObjectToMapCoords(u8, u8, u8, s16, s16);
|
||||
void PatchObjectPalette(u16, u8);
|
||||
void sub_808E16C(s16, s16);
|
||||
void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
|
||||
void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
|
||||
void sub_8092FF0(s16, s16, s16 *, s16 *);
|
||||
u8 GetFaceDirectionAnimNum(u8);
|
||||
void sub_80930E0(s16 *, s16 *, s16, s16);
|
||||
@@ -86,7 +90,7 @@ void EventObjectClearHeldMovementIfActive(struct EventObject *);
|
||||
void TrySpawnEventObjects(s16, s16);
|
||||
u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction);
|
||||
u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority);
|
||||
u8 show_sprite(u8, u8, u8);
|
||||
u8 TrySpawnEventObject(u8, u8, u8);
|
||||
u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z);
|
||||
u8 SpawnSpecialEventObject(struct EventObjectTemplate *);
|
||||
void SetSpritePosToMapCoords(s16, s16, s16 *, s16 *);
|
||||
@@ -103,8 +107,8 @@ void sub_808E78C(u8, u8, u8, u8);
|
||||
void sub_808E75C(s16, s16);
|
||||
void EventObjectGetLocalIdAndMap(struct EventObject *eventObject, void *localId, void *mapNum, void *mapGroup);
|
||||
void ShiftEventObjectCoords(struct EventObject *, s16, s16);
|
||||
void sub_808EB08(struct EventObject *, s16, s16);
|
||||
void sub_808F254(u8, u8, u8);
|
||||
void MoveEventObjectToMapCoords(struct EventObject *, s16, s16);
|
||||
void TryOverrideEventObjectTemplateCoords(u8, u8, u8);
|
||||
void InitEventObjectPalettes(u8 palSlot);
|
||||
void UpdateEventObjectCurrentMovement(struct EventObject *, struct Sprite *, bool8(struct EventObject *, struct Sprite *));
|
||||
u8 EventObjectFaceOppositeDirection(struct EventObject *, u8);
|
||||
|
||||
@@ -15,9 +15,10 @@ extern const u8 EventScript_TryDoDoubleTrainerBattle[];
|
||||
extern const u8 EventScript_TryDoNormalTrainerBattle[];
|
||||
extern const u8 EventScript_TryDoDoubleRematchBattle[];
|
||||
extern const u8 EventScript_TryDoRematchBattle[];
|
||||
extern const u8 EventScript_SecretPower1[];
|
||||
extern const u8 EventScript_SecretPower2[];
|
||||
extern const u8 SecretBase_EventScript_DollInteract[];
|
||||
extern const u8 SecretBase_EventScript_CushionInteract[];
|
||||
|
||||
extern const u8 BerryTreeScript[];
|
||||
|
||||
extern const u8 gTVBravoTrainerText00[];
|
||||
extern const u8 gTVBravoTrainerText01[];
|
||||
@@ -381,10 +382,10 @@ extern const u8 SecretBase_RedCave1_Text_2758CC[];
|
||||
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[];
|
||||
|
||||
//field effects
|
||||
extern const u8 FieryPath_EventScript_2908FD[];
|
||||
extern const u8 EventScript_290CAE[];
|
||||
extern const u8 EventScript_FldEffStrength[];
|
||||
extern const u8 EventScript_FailSweetScent[];
|
||||
extern const u8 EventScript_2926F8[];
|
||||
extern const u8 Route111_EventScript_2907F0[];
|
||||
extern const u8 EventScript_FldEffRockSmash[];
|
||||
|
||||
//player pc
|
||||
extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_1F863F[];
|
||||
@@ -528,8 +529,6 @@ extern const u8 EventScript_PlayerPCMale[];
|
||||
extern const u8 EventScript_PlayerPCFemale[];
|
||||
extern const u8 EventScript_SecretBasePC[];
|
||||
extern const u8 EventScript_RecordMixingSecretBasePC[];
|
||||
extern const u8 EventScript_SecretPower1[];
|
||||
extern const u8 EventScript_SecretPower2[];
|
||||
extern const u8 EventScript_PC[];
|
||||
extern const u8 EventScript_TestSignpostMsg[];
|
||||
extern const u8 EventScript_HiddenItemScript[];
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
#ifndef GUARD_FIELD_EFFECTS_H
|
||||
#define GUARD_FIELD_EFFECTS_H
|
||||
|
||||
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[2];
|
||||
extern const struct SpritePalette gNewGameBirchObjectPaletteInfo;
|
||||
extern const struct CompressedSpriteSheet gTrainerFrontPicTable[2];
|
||||
extern const struct SpriteTemplate gNewGameBirchObjectTemplate;
|
||||
extern const struct OamData gNewGameBirchOamAttributes;
|
||||
|
||||
@@ -53,4 +51,4 @@ void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId);
|
||||
u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority);
|
||||
void StartEscapeRopeFieldEffect(void);
|
||||
|
||||
#endif //GUARD_FIELD_EFFECTS_H
|
||||
#endif // GUARD_FIELD_EFFECTS_H
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#ifndef GUARD_FIELD_SPECIALS_H
|
||||
#define GUARD_FIELD_SPECIALS_H
|
||||
|
||||
extern bool8 gBikeCyclingChallenge;
|
||||
extern u8 gBikeCollisions;
|
||||
|
||||
u8 GetLeadMonIndex(void);
|
||||
u8 sub_813B260(void);
|
||||
u16 get_unknown_box_id(void);
|
||||
|
||||
+2
-2
@@ -107,8 +107,8 @@ struct OamData
|
||||
#define SPRITE_SIZE_16x32 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_V_RECTANGLE))
|
||||
#define SPRITE_SIZE_32x64 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_V_RECTANGLE))
|
||||
|
||||
#define SPRITE_SIZE(dim) (SPRITE_SIZE_##dim >> 2)
|
||||
#define SPRITE_SHAPE(dim) (SPRITE_SIZE_##dim & 0xFF)
|
||||
#define SPRITE_SIZE(dim) ((SPRITE_SIZE_##dim >> 2) & 0x03)
|
||||
#define SPRITE_SHAPE(dim) (SPRITE_SIZE_##dim & 0x03)
|
||||
|
||||
struct BgAffineSrcData
|
||||
{
|
||||
|
||||
+7
-7
@@ -476,21 +476,21 @@ struct SecretBaseParty
|
||||
u8 EVs[PARTY_SIZE];
|
||||
};
|
||||
|
||||
struct SecretBaseRecord
|
||||
struct SecretBase
|
||||
{
|
||||
/*0x1A9C*/ u8 secretBaseId;
|
||||
/*0x1A9D*/ u8 sbr_field_1_0:4;
|
||||
/*0x1A9D*/ u8 gender:1;
|
||||
/*0x1A9D*/ u8 sbr_field_1_5:1;
|
||||
/*0x1A9D*/ u8 sbr_field_1_6:2;
|
||||
/*0x1A9D*/ u8 battledOwnerToday:1;
|
||||
/*0x1A9D*/ u8 registryStatus:2;
|
||||
/*0x1A9E*/ u8 trainerName[PLAYER_NAME_LENGTH];
|
||||
/*0x1AA5*/ u8 trainerId[4]; // byte 0 is used for determining trainer class
|
||||
/*0x1AA9*/ u8 language;
|
||||
/*0x1AAA*/ u16 sbr_field_e;
|
||||
/*0x1AAC*/ u8 sbr_field_10;
|
||||
/*0x1AAA*/ u16 numSecretBasesReceived;
|
||||
/*0x1AAC*/ u8 numTimesEntered;
|
||||
/*0x1AAD*/ u8 sbr_field_11;
|
||||
/*0x1AAE*/ u8 decorations[16];
|
||||
/*0x1ABE*/ u8 decorationPos[16];
|
||||
/*0x1ABE*/ u8 decorationPositions[16];
|
||||
/*0x1AD0*/ struct SecretBaseParty party;
|
||||
};
|
||||
|
||||
@@ -920,7 +920,7 @@ struct SaveBlock1
|
||||
/*0x139C*/ u16 vars[VARS_COUNT];
|
||||
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
|
||||
/*0x169C*/ struct BerryTree berryTrees[BERRY_TREES_COUNT];
|
||||
/*0x1A9C*/ struct SecretBaseRecord secretBases[SECRET_BASES_COUNT];
|
||||
/*0x1A9C*/ struct SecretBase secretBases[SECRET_BASES_COUNT];
|
||||
/*0x271C*/ u8 playerRoomDecor[12];
|
||||
/*0x2728*/ u8 playerRoomDecorPos[12];
|
||||
/*0x2734*/ u8 decorDesk[10];
|
||||
|
||||
+610
-603
File diff suppressed because it is too large
Load Diff
@@ -14,7 +14,7 @@ int GetMaxWidthInMenuTable(const struct MenuAction *str, int arg1);
|
||||
int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2);
|
||||
int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu);
|
||||
void CopyMonCategoryText(int dexNum, u8 *dest);
|
||||
u8 *sub_81DB494(u8 *str, int fontId, u8 *str2, int totalStringWidth);
|
||||
u8 *sub_81DB494(u8 *str, int fontId, const u8 *str2, int totalStringWidth);
|
||||
void PadNameString(u8 *dest, u8 padChar);
|
||||
void sub_81DB554(u8 *, u8);
|
||||
void sub_81DB5AC(u8 *);
|
||||
|
||||
+1
-1
@@ -235,7 +235,7 @@ void LinkVSync(void);
|
||||
void Timer3Intr(void);
|
||||
void SerialCB(void);
|
||||
bool32 InUnionRoom(void);
|
||||
void sub_800E0E8(void);
|
||||
void LoadWirelessStatusIndicatorSpriteGfx(void);
|
||||
bool8 IsLinkTaskFinished(void);
|
||||
void CreateWirelessStatusIndicatorSprite(u8, u8);
|
||||
void sub_800ADF8(void);
|
||||
|
||||
@@ -14,7 +14,10 @@ s32 GetRematchIdxByTrainerIdx(s32 trainerIdx);
|
||||
void InitMatchCallCounters(void);
|
||||
bool32 TryStartMatchCall(void);
|
||||
bool32 IsMatchCallTaskActive(void);
|
||||
void StartMatchCallFromScript(u8* script);
|
||||
void StartMatchCallFromScript(u8 *message);
|
||||
void sub_8197080(u8 *destStr);
|
||||
bool32 SelectMatchCallMessage(int, u8 *);
|
||||
void sub_8197184(u32 windowId, u32 destOffset, u32 paletteId);
|
||||
void sub_81971C4(u32 windowId, u32 tileOffset, u32 paletteId);
|
||||
|
||||
#endif //GUARD_MATCH_CALL_H
|
||||
|
||||
@@ -99,6 +99,7 @@ void sub_8199CBC(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height);
|
||||
u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile);
|
||||
void sub_8198314(void);
|
||||
void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram);
|
||||
void ResetBgPositions(void);
|
||||
void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed);
|
||||
void sub_8198C78(void);
|
||||
void PrintTextArray(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 itemCount, const struct MenuAction *strs);
|
||||
|
||||
@@ -30,7 +30,7 @@ bool8 itemid_80BF6D8_mail_related(u16 itemId);
|
||||
bool8 sub_81221AC(void);
|
||||
bool8 sub_81221EC(void);
|
||||
void sub_812220C(struct ItemSlot *slots, u8 count, u8 *arg2, u8 *usedSlotsCount, u8 maxUsedSlotsCount);
|
||||
void sub_812225C(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3);
|
||||
void sub_812225C(u16 *scrollOffset, u16 *cursorPos, u8 maxShownItems, u8 numItems);
|
||||
void sub_8122298(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3, u8 arg4);
|
||||
void LoadListMenuArrowsGfx(void);
|
||||
void sub_8122344(u8 *spriteIds, u8 count);
|
||||
|
||||
@@ -32,8 +32,6 @@ u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page);
|
||||
void sub_81D1E90(struct PlayerPCItemPageStruct *page);
|
||||
void sub_81D1EC0(void);
|
||||
void sub_81D1D04(u8 a0);
|
||||
void DrawLevelUpWindowPg1(u16 arg0, u16 *statStoreLocation1, u16 *statStoreLocation2, u8 arg3, u8 arg4, u8 arg5);
|
||||
void DrawLevelUpWindowPg2(u16 arg0, u16 *statStoreLocation1, u8 arg2, u8 arg3, u8 arg4);
|
||||
void sub_81D1ED4(struct UnknownStruct_81D1ED4 *a0);
|
||||
void sub_81D2108(struct UnknownStruct_81D1ED4 *arg0);
|
||||
void sub_81D20AC(struct UnknownStruct_81D1ED4 *arg0);
|
||||
@@ -47,7 +45,6 @@ bool16 MoveRelearnerRunTextPrinters(void);
|
||||
void MoveRelearnerCreateYesNoMenu(void);
|
||||
u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices);
|
||||
void InitMoveRelearnerWindows(bool8 useContextWindow);
|
||||
void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *statStoreLocation);
|
||||
s32 GetBoxOrPartyMonData(u16 boxId, u16 monId, s32 request, u8 *dst);
|
||||
void sub_81D2ED4(u8 *dst, u8 *nameDst, u16 boxId, u16 monId, u16 arg5, u16 arg6, bool8 arg7);
|
||||
void sub_81D2F78(struct UnknownStruct_81D1ED4 *arg0, u8 *sheen, u16 boxId, u16 monId, u16 arg5, u16 id, u16 arg7, bool8 arg8);
|
||||
@@ -63,5 +60,8 @@ void sub_81D3464(struct Sprite **sprites);
|
||||
void sub_81D3480(struct Sprite **sprites, u8 arg1, u8 arg2);
|
||||
void sub_81D3520(struct Sprite **sprites);
|
||||
void sub_81D354C(struct Sprite **sprites);
|
||||
void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bgClr, u8 fgClr, u8 shadowClr);
|
||||
void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 shadowClr);
|
||||
void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *currStats);
|
||||
|
||||
#endif // GUARD_MENU_SPECIALIZED_H
|
||||
|
||||
@@ -59,8 +59,8 @@ bool8 MetatileBehavior_IsSecretBasePoster(u8);
|
||||
bool8 MetatileBehavior_IsNormal(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseNorthWall(u8);
|
||||
bool8 MetatileBehavior_IsMB_B2_Duplicate(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseLargeMatEdge(u8);
|
||||
bool8 MetatileBehavior_IsLargeMatCenter(u8);
|
||||
bool8 MetatileBehavior_HoldsSmallDecoration(u8);
|
||||
bool8 MetatileBehavior_HoldsLargeDecoration(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseHole(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseBalloon(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseBreakableDoor(u8);
|
||||
|
||||
+3
-1
@@ -2,7 +2,9 @@
|
||||
#define GUARD_NEW_GAME_H
|
||||
|
||||
extern bool8 gDifferentSaveFile;
|
||||
extern bool8 gUnknown_020322D5; // The purpose of this variable is unknown as it's read only 3 times(2 times in contest.c and 1 time in berry_blender.c), never written to.
|
||||
// Shortcuts some randomness in berry_blender.c, and enables debug printing
|
||||
// in contest.c.
|
||||
extern bool8 gEnableContestDebugging;
|
||||
|
||||
void SetTrainerId(u32 trainerId, u8 *dst);
|
||||
u32 GetTrainerId(u8 *trainerId);
|
||||
|
||||
+3
-3
@@ -14,7 +14,7 @@
|
||||
#define MON_DATA_OT_NAME 7
|
||||
#define MON_DATA_MARKINGS 8
|
||||
#define MON_DATA_CHECKSUM 9
|
||||
#define MON_DATA_10 10
|
||||
#define MON_DATA_ENCRYPT_SEPARATOR 10
|
||||
#define MON_DATA_SPECIES 11
|
||||
#define MON_DATA_HELD_ITEM 12
|
||||
#define MON_DATA_MOVE1 13
|
||||
@@ -487,7 +487,7 @@ u8 GetDefaultMoveTarget(u8 battlerId);
|
||||
u8 GetMonGender(struct Pokemon *mon);
|
||||
u8 GetBoxMonGender(struct BoxPokemon *boxMon);
|
||||
u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality);
|
||||
void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition);
|
||||
void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition);
|
||||
void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition);
|
||||
void SetMultiuseSpriteTemplateToTrainerFront(u16 arg0, u8 battlerPosition);
|
||||
|
||||
@@ -509,7 +509,7 @@ u8 GetMonsStateToDoubles(void);
|
||||
u8 GetMonsStateToDoubles_2(void);
|
||||
u8 GetAbilityBySpecies(u16 species, bool8 altAbility);
|
||||
u8 GetMonAbility(struct Pokemon *mon);
|
||||
void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord);
|
||||
void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord);
|
||||
u8 GetSecretBaseTrainerPicIndex(void);
|
||||
u8 GetSecretBaseTrainerClass(void);
|
||||
bool8 IsPlayerPartyAndPokemonStorageFull(void);
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
#ifndef GUARD_POKEMON_JUMP_H
|
||||
#define GUARD_POKEMON_JUMP_H
|
||||
|
||||
#include "main.h"
|
||||
|
||||
void sub_802EB24(u8, u8, u8, u8, u8);
|
||||
bool32 sub_802EB84(void);
|
||||
void sub_802A9A8(u16 monId, MainCallback callback);
|
||||
bool32 sub_802C908(u16 species);
|
||||
|
||||
#endif //GUARD_POKEMON_JUMP_H
|
||||
|
||||
@@ -4,7 +4,9 @@
|
||||
#include "main.h"
|
||||
|
||||
extern u8 gLastViewedMonIndex;
|
||||
|
||||
extern const u8 *const gMoveDescriptionPointers[];
|
||||
extern const u8 *const gNatureNamePointers[];
|
||||
|
||||
void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
|
||||
void sub_81C4F98(u8, void(*)(void));
|
||||
|
||||
@@ -1,6 +1,186 @@
|
||||
#ifndef GUARD_POKENAV_H
|
||||
#define GUARD_POKENAV_H
|
||||
|
||||
#include "bg.h"
|
||||
#include "main.h"
|
||||
|
||||
typedef u32 (*LoopedTask)(int state);
|
||||
|
||||
// Return values of LoopedTask functions.
|
||||
#define LT_INC_AND_PAUSE 0
|
||||
#define LT_INC_AND_CONTINUE 1
|
||||
#define LT_PAUSE 2
|
||||
#define LT_CONTINUE 3
|
||||
#define LT_FINISH 4
|
||||
#define LT_SET_STATE(newState) (newState + 5)
|
||||
|
||||
enum
|
||||
{
|
||||
POKENAV_MODE_NORMAL, // Chosen from Start menu.
|
||||
POKENAV_MODE_FORCE_CALL_1, // Used for the script's special. Has to choose Match Call and make a call.
|
||||
POKENAV_MODE_FORCE_CALL_2, // Set after making a call, has to exit Pokenav.
|
||||
};
|
||||
|
||||
#define POKENAV_MENU_IDS_START 100000
|
||||
enum
|
||||
{
|
||||
POKENAV_MENU_0 = POKENAV_MENU_IDS_START,
|
||||
POKENAV_MENU_1,
|
||||
POKENAV_MENU_2,
|
||||
POKENAV_MENU_3,
|
||||
POKENAV_MENU_4,
|
||||
POKENAV_MENU_5,
|
||||
POKENAV_MENU_6,
|
||||
POKENAV_MENU_7,
|
||||
POKENAV_MENU_8,
|
||||
POKENAV_MENU_9,
|
||||
POKENAV_MENU_A,
|
||||
POKENAV_MENU_B,
|
||||
POKENAV_MENU_C,
|
||||
POKENAV_MENU_D,
|
||||
POKENAV_MENU_E,
|
||||
};
|
||||
|
||||
// pokenav.c
|
||||
void sub_81C7694(u32);
|
||||
u16 sub_81C76AC(void);
|
||||
|
||||
void CB2_InitPokeNav(void);
|
||||
u32 CreateLoopedTask(LoopedTask loopedTask, u32 priority);
|
||||
bool32 FuncIsActiveLoopedTask(LoopedTask func);
|
||||
void *GetSubstructPtr(u32 index);
|
||||
void FreePokenavSubstruct(u32 index);
|
||||
void *AllocSubstruct(u32 index, u32 size);
|
||||
void Pokenav_AllocAndLoadPalettes(const struct SpritePalette *palettes);
|
||||
bool32 IsLoopedTaskActive(u32 taskId);
|
||||
void SetPokenavMode(u16 mode);
|
||||
u32 GetPokenavMode(void);
|
||||
bool32 CanViewRibbonsMenu(void);
|
||||
void SetPokenavVBlankCallback(void);
|
||||
void SetVBlankCallback_(IntrCallback callback);
|
||||
|
||||
// pokenav_match_call_ui.c
|
||||
struct MatchCallListTemplate
|
||||
{
|
||||
u32 unk0;
|
||||
u16 unk4;
|
||||
u16 unk6;
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u8 unkA;
|
||||
u8 unkB;
|
||||
u8 unkC;
|
||||
u8 unkD;
|
||||
u8 unkE;
|
||||
void (*unk10)(u32, u8 *a1);
|
||||
void (*unk14)(u16 a0, u32 a1, u32 a2);
|
||||
};
|
||||
u32 GetSelectedMatchCall(void);
|
||||
bool32 sub_81C8224(void);
|
||||
int MatchCall_MoveCursorUp(void);
|
||||
int MatchCall_MoveCursorDown(void);
|
||||
int MatchCall_PageDown(void);
|
||||
int MatchCall_PageUp(void);
|
||||
bool32 sub_81C8630(void);
|
||||
void ToggleMatchCallVerticalArrows(bool32 shouldHide);
|
||||
void sub_81C8838(void);
|
||||
void sub_81C877C(void);
|
||||
bool32 sub_81C8820(void);
|
||||
void sub_81C87AC(s16 a0);
|
||||
u32 GetMatchCallListTopIndex(void);
|
||||
void sub_81C87F0(void);
|
||||
bool32 sub_81C81D4(const struct BgTemplate *arg0, struct MatchCallListTemplate *arg1, s32 arg2);
|
||||
void sub_81C8234(void);
|
||||
|
||||
// pokenav_match_call_data.c
|
||||
bool32 sub_81D17E8(u32 idx);
|
||||
u8 sub_81D16DC(u32 idx);
|
||||
bool32 sub_81D1BF8(u32 idx);
|
||||
bool32 MatchCallFlagGetByIndex(u32 idx);
|
||||
u32 MatchCall_GetRematchTableIdx(u32 idx);
|
||||
u32 GetTrainerIdxByRematchIdx(u32 rematchIdx);
|
||||
int sub_81D1BD0(u32 idx);
|
||||
void MatchCall_GetMessage(u32 idx, u8 *dest);
|
||||
const u8 *sub_81D1B40(u32 idx, u32 offset);
|
||||
void sub_81D1A78(u32 idx, const u8 **desc, const u8 **name);
|
||||
|
||||
// pokenav_main_menu.c
|
||||
bool32 InitPokenavMainMenu(void);
|
||||
void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 bufferOffset, u32 size);
|
||||
void sub_81C7850(u32 a0);
|
||||
u32 sub_81C786C(void);
|
||||
void LoadLeftHeaderGfxForIndex(u32 arg0);
|
||||
void sub_81C7FA0(u32 arg0, bool32 arg1, bool32 arg2);
|
||||
void sub_81C7AC0(int a0);
|
||||
bool32 sub_81C8010(void);
|
||||
void InitBgTemplates(const struct BgTemplate *templates, int count);
|
||||
bool32 IsPaletteFadeActive(void);
|
||||
void sub_81C7BA4(u32 helpBarIndex);
|
||||
bool32 IsDma3ManagerBusyWithBgCopy_(void);
|
||||
void sub_81C78A0(void);
|
||||
bool32 MainMenuLoopedTaskIsBusy(void);
|
||||
void sub_81C7FDC(void);
|
||||
void sub_81C79BC(const u16 *a0, const u16 *a1, u32 a2, u32 a3, u32 a4, u16 *a5);
|
||||
void sub_81C7B40(void);
|
||||
struct Sprite *PauseSpinningPokenavSprite(void);
|
||||
void ResumeSpinningPokenavSprite(void);
|
||||
void sub_81C7E14(u32 arg0);
|
||||
|
||||
// pokenav_unk_1.c
|
||||
bool32 sub_81C9298(void);
|
||||
bool32 sub_81C92CC(void);
|
||||
bool32 sub_81C9304(void);
|
||||
bool32 sub_81C9338(void);
|
||||
bool32 sub_81C9368(void);
|
||||
u32 sub_81C941C(void);
|
||||
void sub_81C9430(void);
|
||||
int sub_81C9894(void);
|
||||
const u8 *sub_81CAF78(int index, u8 *arg1);
|
||||
|
||||
// pokenav_unk_2.c
|
||||
void sub_81C99D4(void);
|
||||
void sub_81CAADC(void);
|
||||
|
||||
// pokenav_unk_3.c
|
||||
struct Pokenav3Struct_Unk1C
|
||||
{
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u16 unk2;
|
||||
};
|
||||
bool32 sub_81CAAE8(void);
|
||||
u32 sub_81CAB24(void);
|
||||
void sub_81CAB38(void);
|
||||
int sub_81CAE28(void);
|
||||
int sub_81CAE38(void);
|
||||
int sub_81CAE48(void);
|
||||
struct Pokenav3Struct_Unk1C *sub_81CAE94(void);
|
||||
u16 sub_81CAEA4(int);
|
||||
bool32 sub_81CAEBC(int index);
|
||||
int sub_81CAF04(int index);
|
||||
const u8 *sub_81CAFD8(int index, int textType);
|
||||
u16 sub_81CB01C(void);
|
||||
u16 sub_81CB02C(int arg0);
|
||||
void sub_81CB050(u32 arg0, u8 *str);
|
||||
int sub_81CB0C8(int rematchIndex);
|
||||
int sub_81CB0E4(int index);
|
||||
bool32 sub_81CAE08(int);
|
||||
int sub_81CB128(int index);
|
||||
|
||||
// pokenav_unk_4.c
|
||||
bool32 sub_81CB260(void);
|
||||
void sub_81CB29C(int index);
|
||||
u32 sub_81CB2CC(void);
|
||||
void sub_81CB2E0(void);
|
||||
void sub_81CBD48(u16 windowId, u32 a1);
|
||||
|
||||
// pokenav_unk_5.c
|
||||
u32 sub_81CC4D4(void);
|
||||
void sub_81CC524(void);
|
||||
u32 sub_81CC554(void);
|
||||
bool32 sub_81CC5F4(void);
|
||||
void sub_81CC62C(int);
|
||||
u32 sub_81CC65C(void);
|
||||
void sub_81CC670(void);
|
||||
|
||||
#endif //GUARD_POKENAV_H
|
||||
|
||||
@@ -90,7 +90,7 @@ struct RegionMapLocation
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
void sub_8122CF8(struct RegionMap *regionMap, struct BgTemplate *template, bool8 zoomed);
|
||||
void sub_8122CF8(struct RegionMap *regionMap, const struct BgTemplate *template, bool8 zoomed);
|
||||
bool8 sub_8122DB0(void);
|
||||
void UpdateRegionMapVideoRegs(void);
|
||||
void InitRegionMap(struct RegionMap *regionMap, u8 argument);
|
||||
@@ -108,6 +108,10 @@ u16 CorrectSpecialMapSecId(u16 mapSecId);
|
||||
void sub_8122D88(struct RegionMap *regionMap);
|
||||
void PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs(s16 x, s16 y);
|
||||
void MCB2_FlyMap(void);
|
||||
bool8 sub_8124658(void);
|
||||
void sub_812454C(void);
|
||||
void sub_8123030(u16 a0, u32 a1);
|
||||
void sub_8123418(void);
|
||||
|
||||
extern const struct RegionMapLocation gRegionMapEntries[];
|
||||
|
||||
|
||||
+18
-28
@@ -1,40 +1,30 @@
|
||||
#ifndef GUARD_SECRET_BASE_H
|
||||
#define GUARD_SECRET_BASE_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
void sub_80E9578(void);
|
||||
void sub_80E980C(void);
|
||||
void sub_80EB18C(struct SecretBaseRecord *dest);
|
||||
void sub_80E9914(void);
|
||||
void HideSecretBaseDecorationSprites(void);
|
||||
void CopyCurSecretBaseOwnerName_StrVar1(void);
|
||||
void ClearJapaneseSecretBases(struct SecretBase *dest);
|
||||
void SetPlayerSecretBaseParty(void);
|
||||
u8 *GetSecretBaseMapName(u8 *dest);
|
||||
const u8 *GetSecretBaseTrainerLoseText(void);
|
||||
void sub_80E8EE0(struct MapEvents const *events);
|
||||
void sub_80E9238(u8 flagIn);
|
||||
bool8 CurrentMapIsSecretBase(void);
|
||||
void SetOccupiedSecretBaseEntranceMetatiles(struct MapEvents const *events);
|
||||
void InitSecretBaseAppearance(bool8 hidePC);
|
||||
bool8 CurMapIsSecretBase(void);
|
||||
void SecretBasePerStepCallback(u8 taskId);
|
||||
bool8 sub_80E9680(void);
|
||||
void sub_80EB498(void);
|
||||
void sub_80EB56C(void);
|
||||
void sub_80EB9E0(void);
|
||||
void sub_80EBB28(void);
|
||||
bool8 TrySetCurSecretBase(void);
|
||||
void SetSecretBaseSecretsTvFlags_Poster(void);
|
||||
void SetSecretBaseSecretsTvFlags_MiscFurnature(void);
|
||||
void SetSecretBaseSecretsTvFlags_LargeDecorationSpot(void);
|
||||
void SetSecretBaseSecretsTvFlags_SmallDecorationSpot(void);
|
||||
void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events);
|
||||
bool8 sub_80E909C(void);
|
||||
bool8 SecretBaseMapPopupEnabled(void);
|
||||
void sub_80EB218(void);
|
||||
void ResetSecretBases(void);
|
||||
|
||||
// SetCurrentSecretBaseFromPosition
|
||||
void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events);
|
||||
// SetCurrentSecretBaseVar
|
||||
void sub_80E8B6C(void);
|
||||
void sub_80E8BC8(void);
|
||||
void sub_80E8D4C(void);
|
||||
void ClearSecretBases(void);
|
||||
void SetCurSecretBaseIdFromPosition(const struct MapPosition *position, const struct MapEvents *events);
|
||||
void TrySetCurSecretBaseIndex(void);
|
||||
void CheckPlayerHasSecretBase(void);
|
||||
void ToggleSecretBaseEntranceMetatile(void);
|
||||
void EnableBothScriptContexts(void);
|
||||
void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx);
|
||||
|
||||
|
||||
|
||||
#endif //GUARD_SECRET_BASE_H
|
||||
|
||||
+4
-4
@@ -5,9 +5,9 @@ extern EWRAM_DATA struct ItemSlot gMartPurchaseHistory[3];
|
||||
|
||||
enum
|
||||
{
|
||||
MART_TYPE_0, // normal mart
|
||||
MART_TYPE_1,
|
||||
MART_TYPE_2,
|
||||
MART_TYPE_NORMAL, // normal mart
|
||||
MART_TYPE_DECOR,
|
||||
MART_TYPE_DECOR2,
|
||||
};
|
||||
|
||||
// shop view window NPC info enum
|
||||
@@ -49,4 +49,4 @@ void CreateDecorationShop1Menu(const u16 *);
|
||||
void CreateDecorationShop2Menu(const u16 *);
|
||||
void CB2_ExitSellMenu(void);
|
||||
|
||||
#endif // GUARD_SHOP_H
|
||||
#endif // GUARD_SHOP_H
|
||||
+29
-13
@@ -132,7 +132,7 @@ extern const u8 gText_ApostropheSBase[];
|
||||
extern const u8 gText_NoRegistry[];
|
||||
extern const u8 gText_OkayToDeleteFromRegistry[];
|
||||
extern const u8 gText_RegisteredDataDeleted[];
|
||||
extern const u8 gUnknown_085EA79D[];
|
||||
extern const u8 gText_DelRegist[];
|
||||
extern const u8 gText_CommErrorEllipsis[];
|
||||
extern const u8 gText_MoveCloserToLinkPartner[];
|
||||
extern const u8 gText_CommErrorCheckConnections[];
|
||||
@@ -471,6 +471,12 @@ extern const u8 gText_EggCantBattle[];
|
||||
extern const u8 gText_PkmnAlreadySelected[];
|
||||
extern const u8 gText_PkmnAlreadyInBattle[];
|
||||
extern const u8 gText_PkmnCantSwitchOut[];
|
||||
extern const u8 gUnknown_085EEA46[];
|
||||
extern const u8 gUnknown_085EEA4E[];
|
||||
extern const u8 gUnknown_085EEA55[];
|
||||
extern const u8 gUnknown_085EEA63[];
|
||||
extern const u8 gUnknown_085EEA6B[];
|
||||
extern const u8 gUnknown_085EEA5D[];
|
||||
extern const u8 gText_Dash[];
|
||||
extern const u8 gText_UnkCtrlF904[];
|
||||
|
||||
@@ -1002,18 +1008,21 @@ extern const u8 gText_SomeonesPC[];
|
||||
extern const u8 gText_PlayersPC[];
|
||||
extern const u8 gText_WhichPCShouldBeAccessed[];
|
||||
|
||||
extern const u8 gText_Navgear_ClearButtonList[];
|
||||
extern const u8 gText_NavgearMap_ZoomedOutButtons[];
|
||||
extern const u8 gText_NavgearMap_ZoomedInButtons[];
|
||||
extern const u8 gText_NavgearCondition_MonListButtons[];
|
||||
extern const u8 gText_NavgearCondition_MonStatusButtons[];
|
||||
extern const u8 gText_NavgearCondition_MarkingButtons[];
|
||||
extern const u8 gText_NavgearMatchCall_TrainerListButtons[];
|
||||
extern const u8 gText_NavgearMatchCall_CallMenuButtons[];
|
||||
extern const u8 gText_NavgearMatchCall_CheckTrainerButtons[];
|
||||
extern const u8 gText_NavgearRibbons_MonListButtons[];
|
||||
extern const u8 gText_NavgearRibbons_RibbonListButtons[];
|
||||
extern const u8 gText_NavgearRibbons_RibbonCheckButtons[];
|
||||
extern const u8 gText_PokenavMatchCall_Strategy[];
|
||||
extern const u8 gText_PokenavMatchCall_TrainerPokemon[];
|
||||
extern const u8 gText_PokenavMatchCall_SelfIntroduction[];
|
||||
extern const u8 gText_Pokenav_ClearButtonList[];
|
||||
extern const u8 gText_PokenavMap_ZoomedOutButtons[];
|
||||
extern const u8 gText_PokenavMap_ZoomedInButtons[];
|
||||
extern const u8 gText_PokenavCondition_MonListButtons[];
|
||||
extern const u8 gText_PokenavCondition_MonStatusButtons[];
|
||||
extern const u8 gText_PokenavCondition_MarkingButtons[];
|
||||
extern const u8 gText_PokenavMatchCall_TrainerListButtons[];
|
||||
extern const u8 gText_PokenavMatchCall_CallMenuButtons[];
|
||||
extern const u8 gText_PokenavMatchCall_CheckTrainerButtons[];
|
||||
extern const u8 gText_PokenavRibbons_MonListButtons[];
|
||||
extern const u8 gText_PokenavRibbons_RibbonListButtons[];
|
||||
extern const u8 gText_PokenavRibbons_RibbonCheckButtons[];
|
||||
|
||||
extern const u8 gUnknown_085EAD37[];
|
||||
extern const u8 gUnknown_085EAD41[];
|
||||
@@ -2699,4 +2708,11 @@ extern const u8 gText_Symbols[];
|
||||
extern const u8 gText_Register2[];
|
||||
extern const u8 gText_Exit2[];
|
||||
|
||||
// Pokenav Match Call
|
||||
extern const u8 gText_CallCantBeMadeHere[];
|
||||
extern const u8 gText_NumberRegistered[];
|
||||
extern const u8 gText_NumberOfBattles[];
|
||||
extern const u8 gText_Unknown[];
|
||||
extern const u8 gText_TrainerCloseBy[];
|
||||
|
||||
#endif // GUARD_STRINGS_H
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
#define GUARD_TRADER_H
|
||||
|
||||
void sub_8133DA0(u8 taskId);
|
||||
void sub_8133E1C(u8 taskId);
|
||||
void ExitTraderMenu(u8 taskId);
|
||||
void TraderSetup(void);
|
||||
void Trader_ResetFlag(void);
|
||||
|
||||
|
||||
@@ -162,7 +162,6 @@ extern u8 gUnknown_02022C3E;
|
||||
// Exported ROM declarations
|
||||
|
||||
u8 sub_8013F78(void);
|
||||
bool32 sub_802C908(u16);
|
||||
void nullsub_89(u8 taskId);
|
||||
void var_800D_set_xB(void);
|
||||
void MEvent_CreateTask_CardOrNewsWithFriend(u32 arg0);
|
||||
|
||||
Reference in New Issue
Block a user