Merge branch 'master' into pokeball-doc
This commit is contained in:
@@ -124,22 +124,22 @@ struct ProtectStruct
|
||||
u32 flinchImmobility:1;
|
||||
u32 notFirstStrike:1;
|
||||
u32 palaceUnableToUseMove:1;
|
||||
u32 physicalDmg;
|
||||
u32 specialDmg;
|
||||
s32 physicalDmg;
|
||||
s32 specialDmg;
|
||||
u8 physicalBattlerId;
|
||||
u8 specialBattlerId;
|
||||
};
|
||||
|
||||
struct SpecialStatus
|
||||
{
|
||||
u8 statLowered:1;
|
||||
u8 lightningRodRedirected:1;
|
||||
u8 restoredBattlerSprite: 1;
|
||||
u8 intimidatedMon:1;
|
||||
u8 traced:1;
|
||||
u8 ppNotAffectedByPressure:1;
|
||||
u8 flag40:1;
|
||||
u8 focusBanded:1;
|
||||
u32 statLowered:1;
|
||||
u32 lightningRodRedirected:1;
|
||||
u32 restoredBattlerSprite: 1;
|
||||
u32 intimidatedMon:1;
|
||||
u32 traced:1;
|
||||
u32 ppNotAffectedByPressure:1;
|
||||
u32 flag40:1;
|
||||
u32 focusBanded:1;
|
||||
s32 dmg;
|
||||
s32 physicalDmg;
|
||||
s32 specialDmg;
|
||||
@@ -254,7 +254,7 @@ struct BattleResults
|
||||
u16 playerMon2Species; // 0x26
|
||||
u16 caughtMonSpecies; // 0x28
|
||||
u8 caughtMonNick[POKEMON_NAME_LENGTH + 1]; // 0x2A
|
||||
u8 filler35[1]; // 0x35
|
||||
u8 filler35; // 0x35
|
||||
u8 catchAttempts[11]; // 0x36
|
||||
};
|
||||
|
||||
|
||||
@@ -274,7 +274,7 @@ extern const u8 gText_PkmnGettingPumped[];
|
||||
extern const u8 gText_PkmnShroudedInMist[];
|
||||
extern const u8 gText_PkmnsXPreventsSwitching[];
|
||||
extern const u8 gText_TheGreatNewHope[];
|
||||
extern const u8 gText_WillChampinshipDreamComeTrue[];
|
||||
extern const u8 gText_WillChampionshipDreamComeTrue[];
|
||||
extern const u8 gText_AFormerChampion[];
|
||||
extern const u8 gText_ThePreviousChampion[];
|
||||
extern const u8 gText_TheUnbeatenChampion[];
|
||||
|
||||
@@ -9,7 +9,7 @@ bool8 FldEff_Pokeball(void);
|
||||
void TransitionPhase1_Task_RunFuncs(u8 taskId);
|
||||
void GetBg0TilesDst(u16 **tilemap, u16 **tileset);
|
||||
|
||||
extern const struct SpritePalette gFieldEffectObjectPaletteInfo10;
|
||||
extern const struct SpritePalette gSpritePalette_Pokeball;
|
||||
|
||||
enum // TRANSITION_MUGSHOT
|
||||
{
|
||||
|
||||
@@ -52,8 +52,8 @@ void CancelMultiTurnMoves(u8 battlerId);
|
||||
bool8 WasUnableToUseMove(u8 battlerId);
|
||||
void PrepareStringBattle(u16 stringId, u8 battlerId);
|
||||
void ResetSentPokesToOpponentValue(void);
|
||||
void sub_803F9EC(u8 battlerId);
|
||||
void sub_803FA70(u8 battlerId);
|
||||
void OpponentSwitchInResetSentPokesToOpponentValue(u8 battlerId);
|
||||
void UpdateSentPokesToOpponentValue(u8 battlerId);
|
||||
void BattleScriptPush(const u8* bsPtr);
|
||||
void BattleScriptPushCursor(void);
|
||||
void BattleScriptPop(void);
|
||||
|
||||
@@ -186,7 +186,7 @@
|
||||
#define HITMARKER_x4000000 (1 << 26)
|
||||
#define HITMARKER_CHARGING (1 << 27)
|
||||
#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 28)
|
||||
#define HITMARKER_FAINTED2(battler) (1 << (28 + battler))
|
||||
#define HITMARKER_FAINTED2(battler) ((1 << 28) << battler)
|
||||
|
||||
// Per-side statuses that affect an entire party
|
||||
#define SIDE_STATUS_REFLECT (1 << 0)
|
||||
|
||||
@@ -2,5 +2,6 @@
|
||||
#define GUARD_CONSTANTS_COINS_H
|
||||
|
||||
#define MAX_COINS 9999
|
||||
#define MAX_COIN_DIGITS 4
|
||||
|
||||
#endif // GUARD_CONSTANTS_COINS_H
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#ifndef GUARD_CONSTANTS_CONTEST_H
|
||||
#define GUARD_CONSTANTS_CONTEST_H
|
||||
|
||||
#define CONTESTANT_COUNT 4
|
||||
#define APPLAUSE_METER_SIZE 5
|
||||
#define CONTEST_TURN_COUNT 5
|
||||
#define CONTEST_NUM_APPEALS 5
|
||||
#define CONTEST_LAST_APPEAL (CONTEST_NUM_APPEALS - 1)
|
||||
|
||||
#define LINK_CONTEST_FLAG_IS_LINK (1 << 0)
|
||||
#define LINK_CONTEST_FLAG_IS_WIRELESS (1 << 1)
|
||||
@@ -22,13 +22,6 @@
|
||||
#define CONTEST_TYPE_NPC_MASTER (CONTEST_RANK_MASTER + 1)
|
||||
#define CONTEST_TYPE_LINK (CONTEST_RANK_LINK + 1)
|
||||
|
||||
#define CONTEST_CATEGORY_COOL 0
|
||||
#define CONTEST_CATEGORY_BEAUTY 1
|
||||
#define CONTEST_CATEGORY_CUTE 2
|
||||
#define CONTEST_CATEGORY_SMART 3
|
||||
#define CONTEST_CATEGORY_TOUGH 4
|
||||
#define CONTEST_CATEGORIES_COUNT 5
|
||||
|
||||
#define CONTEST_WINNER_ARTIST 0 // Winner shown by the artist, painting not necessarily saved
|
||||
#define CONTEST_WINNER_HALL_1 1
|
||||
#define CONTEST_WINNER_HALL_2 2
|
||||
@@ -52,4 +45,165 @@
|
||||
#define CANT_ENTER_CONTEST_EGG 3
|
||||
#define CANT_ENTER_CONTEST_FAINTED 4
|
||||
|
||||
#define CONTEST_AI_CHECK_BAD_MOVE (1 << 0)
|
||||
#define CONTEST_AI_CHECK_COMBO (1 << 1)
|
||||
#define CONTEST_AI_CHECK_BORING (1 << 2)
|
||||
#define CONTEST_AI_CHECK_EXCITEMENT (1 << 3)
|
||||
#define CONTEST_AI_CHECK_ORDER (1 << 4)
|
||||
#define CONTEST_AI_CHECK_GOOD_MOVE (1 << 5)
|
||||
#define CONTEST_AI_ERRATIC (1 << 6)
|
||||
#define CONTEST_AI_DUMMY_1 (1 << 7)
|
||||
#define CONTEST_AI_DUMMY_2 (1 << 8)
|
||||
#define CONTEST_AI_DUMMY_3 (1 << 9)
|
||||
#define CONTEST_AI_DUMMY_4 (1 << 10)
|
||||
#define CONTEST_AI_DUMMY_5 (1 << 11)
|
||||
#define CONTEST_AI_DUMMY_6 (1 << 12)
|
||||
#define CONTEST_AI_DUMMY_7 (1 << 13)
|
||||
#define CONTEST_AI_DUMMY_8 (1 << 14)
|
||||
#define CONTEST_AI_DUMMY_9 (1 << 15)
|
||||
#define CONTEST_AI_DUMMY_10 (1 << 16)
|
||||
#define CONTEST_AI_DUMMY_11 (1 << 17)
|
||||
#define CONTEST_AI_DUMMY_12 (1 << 18)
|
||||
#define CONTEST_AI_DUMMY_13 (1 << 19)
|
||||
#define CONTEST_AI_DUMMY_14 (1 << 20)
|
||||
#define CONTEST_AI_DUMMY_15 (1 << 21)
|
||||
#define CONTEST_AI_DUMMY_16 (1 << 22)
|
||||
#define CONTEST_AI_DUMMY_17 (1 << 23)
|
||||
#define CONTEST_AI_DUMMY_18 (1 << 24)
|
||||
#define CONTEST_AI_DUMMY_19 (1 << 25)
|
||||
#define CONTEST_AI_DUMMY_20 (1 << 26)
|
||||
#define CONTEST_AI_DUMMY_21 (1 << 27)
|
||||
#define CONTEST_AI_DUMMY_22 (1 << 28)
|
||||
#define CONTEST_AI_DUMMY_23 (1 << 29)
|
||||
#define CONTEST_AI_DUMMY_24 (1 << 30)
|
||||
#define CONTEST_AI_DUMMY_25 (1 << 31)
|
||||
|
||||
// The below scripts are used by every AI contest opponent
|
||||
// It includes every non-dummy script
|
||||
#define CONTEST_AI_COMMON (CONTEST_AI_CHECK_BAD_MOVE | CONTEST_AI_CHECK_COMBO | CONTEST_AI_CHECK_BORING | \
|
||||
CONTEST_AI_CHECK_EXCITEMENT | CONTEST_AI_CHECK_ORDER | CONTEST_AI_CHECK_GOOD_MOVE | CONTEST_AI_ERRATIC | \
|
||||
CONTEST_AI_DUMMY_1 | CONTEST_AI_DUMMY_2 | CONTEST_AI_DUMMY_3 | CONTEST_AI_DUMMY_4 | CONTEST_AI_DUMMY_5)
|
||||
|
||||
#define CONTEST_EFFECT_HIGHLY_APPEALING 0
|
||||
#define CONTEST_EFFECT_USER_MORE_EASILY_STARTLED 1
|
||||
#define CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES 2
|
||||
#define CONTEST_EFFECT_REPETITION_NOT_BORING 3
|
||||
#define CONTEST_EFFECT_AVOID_STARTLE_ONCE 4
|
||||
#define CONTEST_EFFECT_AVOID_STARTLE 5
|
||||
#define CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY 6
|
||||
#define CONTEST_EFFECT_USER_LESS_EASILY_STARTLED 7
|
||||
#define CONTEST_EFFECT_STARTLE_FRONT_MON 8
|
||||
#define CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS 9
|
||||
#define CONTEST_EFFECT_STARTLE_PREV_MON 10
|
||||
#define CONTEST_EFFECT_STARTLE_PREV_MONS 11
|
||||
#define CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON 12
|
||||
#define CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS 13
|
||||
#define CONTEST_EFFECT_STARTLE_PREV_MON_2 14
|
||||
#define CONTEST_EFFECT_STARTLE_PREV_MONS_2 15
|
||||
#define CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION 16
|
||||
#define CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION 17
|
||||
#define CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN 18
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL 19
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL 20
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL 21
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL 22
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL 23
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL 24
|
||||
#define CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS 25
|
||||
#define CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS 26
|
||||
#define CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS 27
|
||||
#define CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION 28
|
||||
#define CONTEST_EFFECT_BETTER_IF_FIRST 29
|
||||
#define CONTEST_EFFECT_BETTER_IF_LAST 30
|
||||
#define CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES 31
|
||||
#define CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE 32
|
||||
#define CONTEST_EFFECT_BETTER_WHEN_LATER 33
|
||||
#define CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING 34
|
||||
#define CONTEST_EFFECT_BETTER_IF_SAME_TYPE 35
|
||||
#define CONTEST_EFFECT_BETTER_IF_DIFF_TYPE 36
|
||||
#define CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL 37
|
||||
#define CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS 38
|
||||
#define CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION 39
|
||||
#define CONTEST_EFFECT_NEXT_APPEAL_EARLIER 40
|
||||
#define CONTEST_EFFECT_NEXT_APPEAL_LATER 41
|
||||
#define CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER 42
|
||||
#define CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER 43
|
||||
#define CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST 44
|
||||
#define CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS 45
|
||||
#define CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED 46
|
||||
#define CONTEST_EFFECT_DONT_EXCITE_AUDIENCE 47
|
||||
|
||||
// Each of the above effects is grouped into one of these effect type categories
|
||||
// Only a few of these get checked by the AI, the rest go unused
|
||||
#define CONTEST_EFFECT_TYPE_APPEAL 0
|
||||
#define CONTEST_EFFECT_TYPE_AVOID_STARTLE 1
|
||||
#define CONTEST_EFFECT_TYPE_STARTLE_MON 2
|
||||
#define CONTEST_EFFECT_TYPE_STARTLE_MONS 3
|
||||
#define CONTEST_EFFECT_TYPE_WORSEN 4
|
||||
#define CONTEST_EFFECT_TYPE_SPECIAL_APPEAL 5
|
||||
#define CONTEST_EFFECT_TYPE_TURN_ORDER 6
|
||||
|
||||
#define COMBO_STARTER_RAIN_DANCE 1
|
||||
#define COMBO_STARTER_RAGE 2
|
||||
#define COMBO_STARTER_FOCUS_ENERGY 3
|
||||
#define COMBO_STARTER_HYPNOSIS 4
|
||||
#define COMBO_STARTER_ENDURE 5
|
||||
#define COMBO_STARTER_HORN_ATTACK 6
|
||||
#define COMBO_STARTER_SWORDS_DANCE 7
|
||||
#define COMBO_STARTER_STOCKPILE 8
|
||||
#define COMBO_STARTER_SUNNY_DAY 9
|
||||
#define COMBO_STARTER_REST 10
|
||||
#define COMBO_STARTER_VICE_GRIP 11
|
||||
#define COMBO_STARTER_DEFENSE_CURL 12
|
||||
#define COMBO_STARTER_CHARGE 13
|
||||
#define COMBO_STARTER_ROCK_THROW 14
|
||||
#define COMBO_STARTER_YAWN 15
|
||||
#define COMBO_STARTER_SCARY_FACE 16
|
||||
#define COMBO_STARTER_POWDER_SNOW 17
|
||||
#define COMBO_STARTER_LOCK_ON 18
|
||||
#define COMBO_STARTER_SOFT_BOILED 19
|
||||
#define COMBO_STARTER_MEAN_LOOK 20
|
||||
#define COMBO_STARTER_SCRATCH 21
|
||||
#define COMBO_STARTER_GROWTH 22
|
||||
#define COMBO_STARTER_HAIL 23
|
||||
#define COMBO_STARTER_SANDSTORM 24
|
||||
#define COMBO_STARTER_BELLY_DRUM 25
|
||||
#define COMBO_STARTER_MIND_READER 26
|
||||
#define COMBO_STARTER_DRAGON_BREATH 27
|
||||
#define COMBO_STARTER_DRAGON_RAGE 28
|
||||
#define COMBO_STARTER_DRAGON_DANCE 29
|
||||
#define COMBO_STARTER_SURF 30
|
||||
#define COMBO_STARTER_DIVE 31
|
||||
#define COMBO_STARTER_STRING_SHOT 32
|
||||
#define COMBO_STARTER_LEER 33
|
||||
#define COMBO_STARTER_TAUNT 34
|
||||
#define COMBO_STARTER_CHARM 35
|
||||
#define COMBO_STARTER_HARDEN 36
|
||||
#define COMBO_STARTER_SING 37
|
||||
#define COMBO_STARTER_EARTHQUAKE 38
|
||||
#define COMBO_STARTER_DOUBLE_TEAM 39
|
||||
#define COMBO_STARTER_CURSE 40
|
||||
#define COMBO_STARTER_SWEET_SCENT 41
|
||||
#define COMBO_STARTER_SLUDGE 42
|
||||
#define COMBO_STARTER_SLUDGE_BOMB 43
|
||||
#define COMBO_STARTER_THUNDER_PUNCH 44
|
||||
#define COMBO_STARTER_FIRE_PUNCH 45
|
||||
#define COMBO_STARTER_ICE_PUNCH 46
|
||||
#define COMBO_STARTER_PECK 47
|
||||
#define COMBO_STARTER_METAL_SOUND 48
|
||||
#define COMBO_STARTER_MUD_SPORT 49
|
||||
#define COMBO_STARTER_WATER_SPORT 50
|
||||
#define COMBO_STARTER_BONE_CLUB 51
|
||||
#define COMBO_STARTER_BONEMERANG 52
|
||||
#define COMBO_STARTER_BONE_RUSH 53
|
||||
#define COMBO_STARTER_SAND_ATTACK 54
|
||||
#define COMBO_STARTER_MUD_SLAP 55
|
||||
#define COMBO_STARTER_FAKE_OUT 56
|
||||
#define COMBO_STARTER_PSYCHIC 57
|
||||
#define COMBO_STARTER_KINESIS 58
|
||||
#define COMBO_STARTER_CONFUSION 59
|
||||
#define COMBO_STARTER_POUND 60
|
||||
#define COMBO_STARTER_SMOG 61
|
||||
#define COMBO_STARTER_CALM_MIND 62
|
||||
|
||||
#endif // GUARD_CONSTANTS_CONTEST_H
|
||||
|
||||
@@ -22,6 +22,6 @@
|
||||
|
||||
// Array buffers
|
||||
#define EGG_MOVES_ARRAY_COUNT 10
|
||||
#define EGG_LVL_UP_MOVES_ARRAY_COUNT 50
|
||||
#define EGG_LVL_UP_MOVES_ARRAY_COUNT (MAX_LEVEL_UP_MOVES > 50 ? MAX_LEVEL_UP_MOVES : 50)
|
||||
|
||||
#endif //GUARD_DAYCARE_CONSTANTS_H
|
||||
|
||||
@@ -20,10 +20,10 @@
|
||||
#define FLDEFF_JUMP_SMALL_SPLASH 16
|
||||
#define FLDEFF_LONG_GRASS 17
|
||||
#define FLDEFF_JUMP_LONG_GRASS 18
|
||||
#define FLDEFF_UNKNOWN_19 19
|
||||
#define FLDEFF_UNKNOWN_20 20
|
||||
#define FLDEFF_UNKNOWN_21 21
|
||||
#define FLDEFF_UNKNOWN_22 22
|
||||
#define FLDEFF_UNUSED_GRASS 19
|
||||
#define FLDEFF_UNUSED_GRASS_2 20
|
||||
#define FLDEFF_UNUSED_SAND 21
|
||||
#define FLDEFF_WATER_SURFACING 22
|
||||
#define FLDEFF_BERRY_TREE_GROWTH_SPARKLE 23
|
||||
#define FLDEFF_DEEP_SAND_FOOTPRINTS 24
|
||||
#define FLDEFF_POKECENTER_HEAL 25
|
||||
@@ -50,8 +50,8 @@
|
||||
#define FLDEFF_HEART_ICON 46
|
||||
#define FLDEFF_NOP_47 47
|
||||
#define FLDEFF_NOP_48 48
|
||||
#define FLDEFF_POP_OUT_OF_ASH 49
|
||||
#define FLDEFF_LAVARIDGE_GYM_WARP 50
|
||||
#define FLDEFF_ASH_PUFF 49
|
||||
#define FLDEFF_ASH_LAUNCH 50
|
||||
#define FLDEFF_SWEET_SCENT 51
|
||||
#define FLDEFF_SAND_PILLAR 52
|
||||
#define FLDEFF_BUBBLES 53
|
||||
@@ -65,8 +65,59 @@
|
||||
#define FLDEFF_PCTURN_ON 61
|
||||
#define FLDEFF_HALL_OF_FAME_RECORD 62
|
||||
#define FLDEFF_USE_TELEPORT 63
|
||||
#define FLDEFF_RAYQUAZA 64
|
||||
#define FLDEFF_65 65
|
||||
#define FLDEFF_RAYQUAZA_SPOTLIGHT 64
|
||||
#define FLDEFF_DESTROY_DEOXYS_ROCK 65
|
||||
#define FLDEFF_MOVE_DEOXYS_ROCK 66
|
||||
|
||||
#endif
|
||||
#define FLDEFFOBJ_SHADOW_S 0
|
||||
#define FLDEFFOBJ_SHADOW_M 1
|
||||
#define FLDEFFOBJ_SHADOW_L 2
|
||||
#define FLDEFFOBJ_SHADOW_XL 3
|
||||
#define FLDEFFOBJ_TALL_GRASS 4
|
||||
#define FLDEFFOBJ_RIPPLE 5
|
||||
#define FLDEFFOBJ_ASH 6
|
||||
#define FLDEFFOBJ_SURF_BLOB 7
|
||||
#define FLDEFFOBJ_ARROW 8
|
||||
#define FLDEFFOBJ_GROUND_IMPACT_DUST 9
|
||||
#define FLDEFFOBJ_JUMP_TALL_GRASS 10
|
||||
#define FLDEFFOBJ_SAND_FOOTPRINTS 11
|
||||
#define FLDEFFOBJ_JUMP_BIG_SPLASH 12
|
||||
#define FLDEFFOBJ_SPLASH 13
|
||||
#define FLDEFFOBJ_JUMP_SMALL_SPLASH 14
|
||||
#define FLDEFFOBJ_LONG_GRASS 15
|
||||
#define FLDEFFOBJ_JUMP_LONG_GRASS 16
|
||||
#define FLDEFFOBJ_UNUSED_GRASS 17
|
||||
#define FLDEFFOBJ_UNUSED_GRASS_2 18
|
||||
#define FLDEFFOBJ_UNUSED_SAND 19
|
||||
#define FLDEFFOBJ_WATER_SURFACING 20
|
||||
#define FLDEFFOBJ_REFLECTION_DISTORTION 21
|
||||
#define FLDEFFOBJ_SPARKLE 22
|
||||
#define FLDEFFOBJ_DEEP_SAND_FOOTPRINTS 23
|
||||
#define FLDEFFOBJ_TREE_DISGUISE 24
|
||||
#define FLDEFFOBJ_MOUNTAIN_DISGUISE 25
|
||||
#define FLDEFFOBJ_BIRD 26
|
||||
#define FLDEFFOBJ_BIKE_TIRE_TRACKS 27
|
||||
#define FLDEFFOBJ_SAND_DISGUISE 28
|
||||
#define FLDEFFOBJ_SAND_PILE 29
|
||||
#define FLDEFFOBJ_SHORT_GRASS 30
|
||||
#define FLDEFFOBJ_HOT_SPRINGS_WATER 31
|
||||
#define FLDEFFOBJ_ASH_PUFF 32
|
||||
#define FLDEFFOBJ_ASH_LAUNCH 33
|
||||
#define FLDEFFOBJ_BUBBLES 34
|
||||
#define FLDEFFOBJ_SMALL_SPARKLE 35
|
||||
#define FLDEFFOBJ_RAYQUAZA 36
|
||||
|
||||
#define FLDEFF_PAL_TAG_CUT_GRASS 0x1000
|
||||
#define FLDEFF_PAL_TAG_SECRET_POWER_TREE 0x1003
|
||||
#define FLDEFF_PAL_TAG_GENERAL_0 0x1004
|
||||
#define FLDEFF_PAL_TAG_GENERAL_1 0x1005
|
||||
#define FLDEFF_PAL_TAG_POKEBALL_GLOW 0x1007
|
||||
#define FLDEFF_PAL_TAG_SECRET_POWER_PLANT 0x1008
|
||||
#define FLDEFF_PAL_TAG_POKEBALL 0x1009
|
||||
#define FLDEFF_PAL_TAG_ASH 0x100D
|
||||
#define FLDEFF_PAL_TAG_SAND_PILLAR 0x100E
|
||||
#define FLDEFF_PAL_TAG_SMALL_SPARKLE 0x100F
|
||||
#define FLDEFF_PAL_TAG_HOF_MONITOR 0x1010
|
||||
#define FLDEFF_PAL_TAG_UNKNOWN 0x1011
|
||||
|
||||
#endif // GUARD_FIELD_EFFECT_CONSTANTS_H
|
||||
|
||||
@@ -768,7 +768,7 @@
|
||||
#define FLAG_HIDE_PETALBURG_WOODS_AQUA_GRUNT 0x2D5
|
||||
#define FLAG_HIDE_PETALBURG_CITY_WALLY 0x2D6
|
||||
#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY 0x2D7
|
||||
#define FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT 0x2D8
|
||||
#define FLAG_HIDE_PETALBURG_CITY_WALLYS_MOM 0x2D8
|
||||
|
||||
#define FLAG_UNUSED_0x2D9 0x2D9 // Unused Flag
|
||||
|
||||
@@ -866,13 +866,13 @@
|
||||
#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE 0x335
|
||||
#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE 0x336
|
||||
#define FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA 0x337
|
||||
#define FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE 0x338
|
||||
#define FLAG_HIDE_PETALBURG_GYM_WALLYS_DAD 0x338
|
||||
#define FLAG_HIDE_LEGEND_MON_CAVE_OF_ORIGIN 0x339 // Unused, leftover from R/S
|
||||
#define FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE 0x33A
|
||||
#define FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE 0x33B
|
||||
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE 0x33C
|
||||
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE 0x33D
|
||||
#define FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE 0x33E
|
||||
#define FLAG_HIDE_PETALBURG_CITY_WALLYS_DAD 0x33E
|
||||
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS 0x33F
|
||||
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER 0x340
|
||||
#define FLAG_HIDE_GRANITE_CAVE_STEVEN 0x341
|
||||
|
||||
@@ -60,6 +60,14 @@
|
||||
#define MAX_MON_MOVES 4
|
||||
#define NUM_STATS 6
|
||||
|
||||
#define CONTESTANT_COUNT 4
|
||||
#define CONTEST_CATEGORY_COOL 0
|
||||
#define CONTEST_CATEGORY_BEAUTY 1
|
||||
#define CONTEST_CATEGORY_CUTE 2
|
||||
#define CONTEST_CATEGORY_SMART 3
|
||||
#define CONTEST_CATEGORY_TOUGH 4
|
||||
#define CONTEST_CATEGORIES_COUNT 5
|
||||
|
||||
// party sizes
|
||||
#define PARTY_SIZE 6
|
||||
#define MULTI_PARTY_SIZE PARTY_SIZE / 2
|
||||
|
||||
@@ -497,6 +497,11 @@
|
||||
#define MAX_PC_ITEM_CAPACITY 999
|
||||
#define MAX_BERRY_CAPACITY 999
|
||||
|
||||
// Secondary IDs for rods
|
||||
#define OLD_ROD 0
|
||||
#define GOOD_ROD 1
|
||||
#define SUPER_ROD 2
|
||||
|
||||
// Check if the item is one that can be used on a Pokemon.
|
||||
#define ITEM_HAS_EFFECT(item) ((item) >= ITEM_POTION && (item) <= ITEM_0B2)
|
||||
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef GUARD_CONSTANTS_LAYOUTS_H
|
||||
#define GUARD_CONSTANTS_LAYOUTS_H
|
||||
|
||||
//
|
||||
// DO NOT MODIFY THIS FILE! It is auto-generated from data/layouts/layouts.json
|
||||
//
|
||||
|
||||
#define LAYOUT_PETALBURG_CITY 1
|
||||
#define LAYOUT_SLATEPORT_CITY 2
|
||||
#define LAYOUT_MAUVILLE_CITY 3
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef GUARD_CONSTANTS_MAP_GROUPS_H
|
||||
#define GUARD_CONSTANTS_MAP_GROUPS_H
|
||||
|
||||
//
|
||||
// DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/map_groups.json
|
||||
//
|
||||
|
||||
// Map Group 0
|
||||
#define MAP_PETALBURG_CITY (0 | (0 << 8))
|
||||
#define MAP_SLATEPORT_CITY (1 | (0 << 8))
|
||||
|
||||
@@ -1,6 +1,41 @@
|
||||
#ifndef GUARD_CONSTANTS_MAP_SCRIPTS_H
|
||||
#define GUARD_CONSTANTS_MAP_SCRIPTS_H
|
||||
|
||||
/*
|
||||
IDs for special scripts that can be run for a particular map.
|
||||
For the functions that handle when they are run, see these constants' uses in src/script.c
|
||||
|
||||
Below describes when a script of this kind will be called, and what it typically does.
|
||||
They are numbered in the order that they will be called when entering a map (from a warp or camera transition).
|
||||
NOTE: These descriptions are just of what they generally do, not what they always or have to do
|
||||
|
||||
3. ON_LOAD: Run after the layout is loaded (but not drawn yet).
|
||||
Almost exclusively used to set metatiles on the map before it's first drawn
|
||||
|
||||
6. ON_FRAME_TABLE: Run every frame after the map has faded in, before player input is processed.
|
||||
This is a table of scripts that each run if their condition is satisfied.
|
||||
Used to trigger an event, such as the player exiting the cable car or the SS Tidal sailor announcing progress
|
||||
|
||||
2. ON_TRANSITION: Run during the transition to the map
|
||||
Used to set map-specific flags/vars, update object positions/movement types, set weather, etc
|
||||
|
||||
5. ON_WARP_INTO_MAP_TABLE: Run after the map's objects are loaded.
|
||||
This is a table of scripts that each run if their condition is satisfied.
|
||||
Used to add objects to the scene or update something about the player as they warp in (e.g. their facing dir or visibility)
|
||||
Note that ON_TRANSITION may also handle object visibility, but would do so by modifying a flag or var
|
||||
|
||||
4. ON_RESUME: Run at the end of map load, and again any time upon returning to field (e.g. exiting the Bag menu, or finishing a battle)
|
||||
Used to hide defeated static pokemon, or maintain some map state (e.g. the Trainer Hill timer, or the cycling road challenge)
|
||||
In some maps this takes the metatile setting job of ON_LOAD
|
||||
|
||||
1. ON_DIVE_WARP: Run after the player chooses to dive/emerge.
|
||||
Only used once, to determine whether or not the player should emerge in the Sealed Chamber
|
||||
|
||||
x. ON_RETURN_TO_FIELD: Run exlusively upon returning to the field, shortly after ON_RESUME (as opposed to ON_RESUME, which also runs once on entering the map)
|
||||
Used rarely, when something must only happen on reload (e.g. making sure Mew is above the grass after battling it on Faraway Island)
|
||||
|
||||
*/
|
||||
|
||||
#define MAP_SCRIPT_ON_LOAD 1
|
||||
#define MAP_SCRIPT_ON_FRAME_TABLE 2
|
||||
#define MAP_SCRIPT_ON_TRANSITION 3
|
||||
|
||||
@@ -289,31 +289,31 @@
|
||||
#define METATILE_EverGrande_Door_PokemonLeague 0x21D
|
||||
|
||||
// gTileset_PokemonCenter
|
||||
#define METATILE_PokemonCenter_Elevator1F_Tile0_Frame0 0x280
|
||||
#define METATILE_PokemonCenter_Elevator1F_Tile0_Frame1 0x282
|
||||
#define METATILE_PokemonCenter_Elevator1F_Tile0_Frame2 0x284
|
||||
#define METATILE_PokemonCenter_Elevator1F_Tile1_Frame0 0x281
|
||||
#define METATILE_PokemonCenter_Elevator1F_Tile1_Frame1 0x283
|
||||
#define METATILE_PokemonCenter_Elevator1F_Tile1_Frame2 0x285
|
||||
#define METATILE_PokemonCenter_Elevator1F_Tile2_Frame0 0x288
|
||||
#define METATILE_PokemonCenter_Elevator1F_Tile2_Frame1 0x28A
|
||||
#define METATILE_PokemonCenter_Elevator1F_Tile2_Frame2 0x28C
|
||||
#define METATILE_PokemonCenter_Elevator1F_Tile3_Frame0 0x289
|
||||
#define METATILE_PokemonCenter_Elevator1F_Tile3_Frame1 0x28B
|
||||
#define METATILE_PokemonCenter_Elevator1F_Tile3_Frame2 0x28D
|
||||
#define METATILE_PokemonCenter_Elevator2F_Tile0_Frame0 0x2A0
|
||||
#define METATILE_PokemonCenter_Elevator2F_Tile0_Frame1 0x2A2
|
||||
#define METATILE_PokemonCenter_Elevator2F_Tile0_Frame2 0x2A4
|
||||
#define METATILE_PokemonCenter_Elevator2F_Tile1_Frame0 0x2A1
|
||||
#define METATILE_PokemonCenter_Elevator2F_Tile1_Frame1 0x2A3
|
||||
#define METATILE_PokemonCenter_Elevator2F_Tile1_Frame2 0x2A5
|
||||
#define METATILE_PokemonCenter_Elevator2F_Tile2_Frame0 0x2A8
|
||||
#define METATILE_PokemonCenter_Elevator2F_Tile2_Frame1 0x2AA
|
||||
#define METATILE_PokemonCenter_Elevator2F_Tile2_Frame2 0x2AC
|
||||
#define METATILE_PokemonCenter_Floor_ShadowTop_Alt 0x2DC
|
||||
#define METATILE_PokemonCenter_Floor_Plain_Alt 0x2E4
|
||||
#define METATILE_PokemonCenter_Floor_ShadowTop 0x21E
|
||||
#define METATILE_PokemonCenter_CounterBarrier 0x25D
|
||||
#define METATILE_PokemonCenter_Escalator1F_Tile0_Frame0 0x280
|
||||
#define METATILE_PokemonCenter_Escalator1F_Tile0_Frame1 0x282
|
||||
#define METATILE_PokemonCenter_Escalator1F_Tile0_Frame2 0x284
|
||||
#define METATILE_PokemonCenter_Escalator1F_Tile1_Frame0 0x281
|
||||
#define METATILE_PokemonCenter_Escalator1F_Tile1_Frame1 0x283
|
||||
#define METATILE_PokemonCenter_Escalator1F_Tile1_Frame2 0x285
|
||||
#define METATILE_PokemonCenter_Escalator1F_Tile2_Frame0 0x288
|
||||
#define METATILE_PokemonCenter_Escalator1F_Tile2_Frame1 0x28A
|
||||
#define METATILE_PokemonCenter_Escalator1F_Tile2_Frame2 0x28C
|
||||
#define METATILE_PokemonCenter_Escalator1F_Tile3_Frame0 0x289
|
||||
#define METATILE_PokemonCenter_Escalator1F_Tile3_Frame1 0x28B
|
||||
#define METATILE_PokemonCenter_Escalator1F_Tile3_Frame2 0x28D
|
||||
#define METATILE_PokemonCenter_Escalator2F_Tile0_Frame0 0x2A0
|
||||
#define METATILE_PokemonCenter_Escalator2F_Tile0_Frame1 0x2A2
|
||||
#define METATILE_PokemonCenter_Escalator2F_Tile0_Frame2 0x2A4
|
||||
#define METATILE_PokemonCenter_Escalator2F_Tile1_Frame0 0x2A1
|
||||
#define METATILE_PokemonCenter_Escalator2F_Tile1_Frame1 0x2A3
|
||||
#define METATILE_PokemonCenter_Escalator2F_Tile1_Frame2 0x2A5
|
||||
#define METATILE_PokemonCenter_Escalator2F_Tile2_Frame0 0x2A8
|
||||
#define METATILE_PokemonCenter_Escalator2F_Tile2_Frame1 0x2AA
|
||||
#define METATILE_PokemonCenter_Escalator2F_Tile2_Frame2 0x2AC
|
||||
#define METATILE_PokemonCenter_Floor_ShadowTop_Alt 0x2DC
|
||||
#define METATILE_PokemonCenter_Floor_Plain_Alt 0x2E4
|
||||
#define METATILE_PokemonCenter_Floor_ShadowTop 0x21E
|
||||
#define METATILE_PokemonCenter_CounterBarrier 0x25D
|
||||
|
||||
// gTileset_InsideOfTruck
|
||||
#define METATILE_InsideOfTruck_ExitLight_Top 0x208
|
||||
|
||||
@@ -84,6 +84,10 @@
|
||||
#define NUM_NATURE_STATS NUM_STATS - 1 // excludes HP
|
||||
#define NUM_BATTLE_STATS NUM_STATS + 2 // includes Accuracy and Evasion
|
||||
|
||||
#define MIN_STAT_STAGE 0
|
||||
#define DEFAULT_STAT_STAGE 6
|
||||
#define MAX_STAT_STAGE 12
|
||||
|
||||
// Shiny odds
|
||||
#define SHINY_ODDS 8 // Actual probability is SHINY_ODDS/65536
|
||||
|
||||
@@ -200,6 +204,8 @@
|
||||
#define LEVEL_UP_MOVE_LV 0xFE00
|
||||
#define LEVEL_UP_END 0xFFFF
|
||||
|
||||
#define MAX_LEVEL_UP_MOVES 20
|
||||
|
||||
#define MON_MALE 0x00
|
||||
#define MON_FEMALE 0xFE
|
||||
#define MON_GENDERLESS 0xFF
|
||||
@@ -226,6 +232,7 @@
|
||||
#define STATUS_PRIMARY_POKERUS 6
|
||||
#define STATUS_PRIMARY_FAINTED 7
|
||||
|
||||
#define MAX_PER_STAT_EVS 255
|
||||
#define MAX_TOTAL_EVS 510
|
||||
#define EV_ITEM_RAISE_LIMIT 100
|
||||
|
||||
|
||||
7
include/constants/roulette.h
Normal file
7
include/constants/roulette.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef GUARD_CONSTANTS_ROULETTE_H
|
||||
#define GUARD_CONSTANTS_ROULETTE_H
|
||||
|
||||
// Flag set in gSpecialVar_0x8004 when playing Roulette on a Game Corner service day
|
||||
#define ROULETTE_SPECIAL_RATE (1 << 7)
|
||||
|
||||
#endif // GUARD_CONSTANTS_ROULETTE_H
|
||||
@@ -1,42 +1,6 @@
|
||||
#ifndef GUARD_CONSTANTS_SLOT_MACHINE_H
|
||||
#define GUARD_CONSTANTS_SLOT_MACHINE_H
|
||||
|
||||
#define NUM_REELS 3
|
||||
#define REEL_NUM_TAGS 21
|
||||
#define REEL_TAG_HEIGHT 24
|
||||
#define SLOT_MACHINE_COUNT 12
|
||||
|
||||
// Lucky Flags
|
||||
#define LUCKY_BIAS_REPLAY (1 << 0)
|
||||
#define LUCKY_BIAS_CHERRY (1 << 1)
|
||||
#define LUCKY_BIAS_LOTAD (1 << 2)
|
||||
#define LUCKY_BIAS_AZURILL (1 << 3)
|
||||
#define LUCKY_BIAS_POWER (1 << 4)
|
||||
#define LUCKY_BIAS_REELTIME (1 << 5)
|
||||
#define LUCKY_BIAS_MIXED_777 (1 << 6)
|
||||
#define LUCKY_BIAS_777 (1 << 7)
|
||||
|
||||
#define SLOT_MACHINE_TAG_7_RED 0
|
||||
#define SLOT_MACHINE_TAG_7_BLUE 1
|
||||
#define SLOT_MACHINE_TAG_AZURILL 2
|
||||
#define SLOT_MACHINE_TAG_LOTAD 3
|
||||
#define SLOT_MACHINE_TAG_CHERRY 4
|
||||
#define SLOT_MACHINE_TAG_POWER 5
|
||||
#define SLOT_MACHINE_TAG_REPLAY 6
|
||||
|
||||
#define SLOT_MACHINE_MATCHED_1CHERRY 0
|
||||
#define SLOT_MACHINE_MATCHED_2CHERRY 1
|
||||
#define SLOT_MACHINE_MATCHED_REPLAY 2
|
||||
#define SLOT_MACHINE_MATCHED_LOTAD 3
|
||||
#define SLOT_MACHINE_MATCHED_AZURILL 4
|
||||
#define SLOT_MACHINE_MATCHED_POWER 5
|
||||
#define SLOT_MACHINE_MATCHED_777_MIXED 6
|
||||
#define SLOT_MACHINE_MATCHED_777_RED 7
|
||||
#define SLOT_MACHINE_MATCHED_777_BLUE 8
|
||||
#define SLOT_MACHINE_MATCHED_NONE 9
|
||||
|
||||
#define LEFT_REEL 0
|
||||
#define MIDDLE_REEL 1
|
||||
#define RIGHT_REEL 2
|
||||
|
||||
#endif // GUARD_CONSTANTS_SLOT_MACHINE_H
|
||||
#endif // GUARD_CONSTANTS_SLOT_MACHINE_H
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -22,7 +22,7 @@
|
||||
#define TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS 6
|
||||
#define TRAINER_HILL_FUNC_GET_CHALLENGE_TIME 7
|
||||
#define TRAINER_HILL_FUNC_GET_ALL_FLOORS_USED 8
|
||||
#define TRAINER_HILL_FUNC_CLEAR_RESULT 9
|
||||
#define TRAINER_HILL_FUNC_GET_IN_EREADER_MODE 9
|
||||
#define TRAINER_HILL_FUNC_IN_CHALLENGE 10
|
||||
#define TRAINER_HILL_FUNC_POST_BATTLE_TEXT 11
|
||||
#define TRAINER_HILL_FUNC_SET_ALL_TRAINER_FLAGS 12
|
||||
|
||||
@@ -133,5 +133,59 @@
|
||||
|
||||
#define NUM_SECRET_BASE_FLAGS 32 // by definition, bitfield of 2 u16s
|
||||
|
||||
// TV Show states for Pokemon Contest Live Updates
|
||||
#define CONTESTLIVE_STATE_INTRO 0
|
||||
#define CONTESTLIVE_STATE_WON_BOTH_ROUNDS 1
|
||||
#define CONTESTLIVE_STATE_BETTER_ROUND2 2
|
||||
#define CONTESTLIVE_STATE_EQUAL_ROUNDS 3
|
||||
#define CONTESTLIVE_STATE_BETTER_ROUND1 4
|
||||
#define CONTESTLIVE_STATE_GOT_NERVOUS 5
|
||||
#define CONTESTLIVE_STATE_STARTLED_OTHER 6
|
||||
#define CONTESTLIVE_STATE_USED_COMBO 7
|
||||
#define CONTESTLIVE_STATE_EXCITING_APPEAL 8
|
||||
#define CONTESTLIVE_STATE_COOL 9
|
||||
#define CONTESTLIVE_STATE_BEAUTIFUL 10
|
||||
#define CONTESTLIVE_STATE_CUTE 11
|
||||
#define CONTESTLIVE_STATE_SMART 12
|
||||
#define CONTESTLIVE_STATE_TOUGH 13
|
||||
#define CONTESTLIVE_STATE_VERY_EXCITING_APPEAL 14
|
||||
#define CONTESTLIVE_STATE_VERY_COOL 15
|
||||
#define CONTESTLIVE_STATE_VERY_BEAUTIFUL 16
|
||||
#define CONTESTLIVE_STATE_VERY_CUTE 17
|
||||
#define CONTESTLIVE_STATE_VERY_SMART 18
|
||||
#define CONTESTLIVE_STATE_VERY_TOUGH 19
|
||||
#define CONTESTLIVE_STATE_TOOK_BREAK 20
|
||||
#define CONTESTLIVE_STATE_GOT_STARTLED 21
|
||||
#define CONTESTLIVE_STATE_USED_MOVE 22
|
||||
#define CONTESTLIVE_STATE_TALK_ABOUT_LOSER 23
|
||||
#define CONTESTLIVE_STATE_NO_APPEALS 24
|
||||
#define CONTESTLIVE_STATE_LAST_BOTH 25
|
||||
#define CONTESTLIVE_STATE_NOT_EXCITING_ENOUGH 26
|
||||
#define CONTESTLIVE_STATE_LOST_AFTER_ROUND1_WIN 27
|
||||
#define CONTESTLIVE_STATE_NO_EXCITING_APPEALS 28
|
||||
#define CONTESTLIVE_STATE_LOST_SMALL_MARGIN 29
|
||||
#define CONTESTLIVE_STATE_REPEATED_APPEALS 30
|
||||
#define CONTESTLIVE_STATE_LOST 31
|
||||
#define CONTESTLIVE_STATE_OUTRO 32
|
||||
|
||||
// Flags used to comment on winner
|
||||
#define CONTESTLIVE_FLAG_EXCITING_APPEAL (1 << 0)
|
||||
#define CONTESTLIVE_FLAG_GOT_NERVOUS (1 << 1)
|
||||
#define CONTESTLIVE_FLAG_MAXED_EXCITEMENT (1 << 2)
|
||||
#define CONTESTLIVE_FLAG_USED_COMBO (1 << 3)
|
||||
#define CONTESTLIVE_FLAG_STARTLED_OTHER (1 << 4)
|
||||
#define CONTESTLIVE_FLAG_SKIPPED_TURN (1 << 5)
|
||||
#define CONTESTLIVE_FLAG_GOT_STARTLED (1 << 6)
|
||||
#define CONTESTLIVE_FLAG_MADE_APPEAL (1 << 7)
|
||||
|
||||
// Flags used to comment on loser
|
||||
#define CONTESTLIVE_FLAG_LOST (1 << 0)
|
||||
#define CONTESTLIVE_FLAG_REPEATED_MOVE (1 << 1)
|
||||
#define CONTESTLIVE_FLAG_LOST_SMALL_MARGIN (1 << 2)
|
||||
#define CONTESTLIVE_FLAG_NO_EXCITEMENT (1 << 3)
|
||||
#define CONTESTLIVE_FLAG_BLEW_LEAD (1 << 4)
|
||||
#define CONTESTLIVE_FLAG_MISSED_EXCITEMENT (1 << 5)
|
||||
#define CONTESTLIVE_FLAG_LAST_BOTH_ROUNDS (1 << 6)
|
||||
#define CONTESTLIVE_FLAG_NO_APPEALS (1 << 7)
|
||||
|
||||
#endif //GUARD_CONSTANTS_TV_H
|
||||
|
||||
@@ -4,135 +4,6 @@
|
||||
#include "palette.h"
|
||||
#include "constants/contest.h"
|
||||
|
||||
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
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
CONTEST_EFFECT_HIGHLY_APPEALING,
|
||||
CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
||||
CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
|
||||
CONTEST_EFFECT_REPETITION_NOT_BORING,
|
||||
CONTEST_EFFECT_AVOID_STARTLE_ONCE,
|
||||
CONTEST_EFFECT_AVOID_STARTLE,
|
||||
CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY,
|
||||
CONTEST_EFFECT_USER_LESS_EASILY_STARTLED,
|
||||
CONTEST_EFFECT_STARTLE_FRONT_MON,
|
||||
CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS,
|
||||
CONTEST_EFFECT_STARTLE_PREV_MON,
|
||||
CONTEST_EFFECT_STARTLE_PREV_MONS,
|
||||
CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
|
||||
CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
|
||||
CONTEST_EFFECT_STARTLE_PREV_MON_2,
|
||||
CONTEST_EFFECT_STARTLE_PREV_MONS_2,
|
||||
CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
|
||||
CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
|
||||
CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
|
||||
CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
|
||||
CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL,
|
||||
CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL,
|
||||
CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL,
|
||||
CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL,
|
||||
CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL,
|
||||
CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS,
|
||||
CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
|
||||
CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
|
||||
CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION,
|
||||
CONTEST_EFFECT_BETTER_IF_FIRST,
|
||||
CONTEST_EFFECT_BETTER_IF_LAST,
|
||||
CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
|
||||
CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE,
|
||||
CONTEST_EFFECT_BETTER_WHEN_LATER,
|
||||
CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
|
||||
CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
|
||||
CONTEST_EFFECT_BETTER_IF_DIFF_TYPE,
|
||||
CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
|
||||
CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
|
||||
CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION,
|
||||
CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
|
||||
CONTEST_EFFECT_NEXT_APPEAL_LATER,
|
||||
CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER,
|
||||
CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
|
||||
CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST,
|
||||
CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
|
||||
CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
|
||||
CONTEST_EFFECT_DONT_EXCITE_AUDIENCE
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
COMBO_STARTER_RAIN_DANCE = 1,
|
||||
COMBO_STARTER_RAGE,
|
||||
COMBO_STARTER_FOCUS_ENERGY,
|
||||
COMBO_STARTER_HYPNOSIS,
|
||||
COMBO_STARTER_ENDURE,
|
||||
COMBO_STARTER_HORN_ATTACK,
|
||||
COMBO_STARTER_SWORDS_DANCE,
|
||||
COMBO_STARTER_STOCKPILE,
|
||||
COMBO_STARTER_SUNNY_DAY,
|
||||
COMBO_STARTER_REST,
|
||||
COMBO_STARTER_VICE_GRIP,
|
||||
COMBO_STARTER_DEFENSE_CURL,
|
||||
COMBO_STARTER_CHARGE,
|
||||
COMBO_STARTER_ROCK_THROW,
|
||||
COMBO_STARTER_YAWN,
|
||||
COMBO_STARTER_SCARY_FACE,
|
||||
COMBO_STARTER_POWDER_SNOW,
|
||||
COMBO_STARTER_LOCK_ON,
|
||||
COMBO_STARTER_SOFT_BOILED,
|
||||
COMBO_STARTER_MEAN_LOOK,
|
||||
COMBO_STARTER_SCRATCH,
|
||||
COMBO_STARTER_GROWTH,
|
||||
COMBO_STARTER_HAIL,
|
||||
COMBO_STARTER_SANDSTORM,
|
||||
COMBO_STARTER_BELLY_DRUM,
|
||||
COMBO_STARTER_MIND_READER,
|
||||
COMBO_STARTER_DRAGON_BREATH,
|
||||
COMBO_STARTER_DRAGON_RAGE,
|
||||
COMBO_STARTER_DRAGON_DANCE,
|
||||
COMBO_STARTER_SURF,
|
||||
COMBO_STARTER_DIVE,
|
||||
COMBO_STARTER_STRING_SHOT,
|
||||
COMBO_STARTER_LEER,
|
||||
COMBO_STARTER_TAUNT,
|
||||
COMBO_STARTER_CHARM,
|
||||
COMBO_STARTER_HARDEN,
|
||||
COMBO_STARTER_SING,
|
||||
COMBO_STARTER_EARTHQUAKE,
|
||||
COMBO_STARTER_DOUBLE_TEAM,
|
||||
COMBO_STARTER_CURSE,
|
||||
COMBO_STARTER_SWEET_SCENT,
|
||||
COMBO_STARTER_SLUDGE,
|
||||
COMBO_STARTER_SLUDGE_BOMB,
|
||||
COMBO_STARTER_THUNDER_PUNCH,
|
||||
COMBO_STARTER_FIRE_PUNCH,
|
||||
COMBO_STARTER_ICE_PUNCH,
|
||||
COMBO_STARTER_PECK,
|
||||
COMBO_STARTER_METAL_SOUND,
|
||||
COMBO_STARTER_MUD_SPORT,
|
||||
COMBO_STARTER_WATER_SPORT,
|
||||
COMBO_STARTER_BONE_CLUB,
|
||||
COMBO_STARTER_BONEMERANG,
|
||||
COMBO_STARTER_BONE_RUSH,
|
||||
COMBO_STARTER_SAND_ATTACK,
|
||||
COMBO_STARTER_MUD_SLAP,
|
||||
COMBO_STARTER_FAKE_OUT,
|
||||
COMBO_STARTER_PSYCHIC,
|
||||
COMBO_STARTER_KINESIS,
|
||||
COMBO_STARTER_CONFUSION,
|
||||
COMBO_STARTER_POUND,
|
||||
COMBO_STARTER_SMOG,
|
||||
COMBO_STARTER_CALM_MIND
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
CONTEST_STRING_MORE_CONSCIOUS,
|
||||
@@ -206,29 +77,38 @@ enum {
|
||||
CONTEST_FILTER_ONLY_POSTGAME
|
||||
};
|
||||
|
||||
// Constants for changing in-contest Condition (the stars that appear during appeals)
|
||||
enum {
|
||||
CONDITION_NO_CHANGE,
|
||||
CONDITION_GAIN,
|
||||
CONDITION_LOSE,
|
||||
};
|
||||
|
||||
struct ContestPokemon
|
||||
{
|
||||
/*0x00*/ u16 species;
|
||||
/*0x02*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
|
||||
/*0x0D*/ u8 trainerName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x15*/ u8 trainerGfxId;
|
||||
/*0x18*/ u32 aiChecks;
|
||||
/*0x1C*/ u8 whichRank:2; // 0x1 0x2
|
||||
u8 aiPool_Cool:1; // 0x4
|
||||
u8 aiPool_Beauty:1; // 0x8
|
||||
u8 aiPool_Cute:1; // 0x10
|
||||
u8 aiPool_Smart:1; // 0x20
|
||||
u8 aiPool_Tough:1; // 0x40
|
||||
/*0x1E*/ u16 moves[MAX_MON_MOVES]; // moves
|
||||
/*0x26*/ u8 cool; // cool
|
||||
/*0x27*/ u8 beauty; // beauty
|
||||
/*0x28*/ u8 cute; // cute
|
||||
/*0x29*/ u8 smart; // smart
|
||||
/*0x2A*/ u8 tough; // tough
|
||||
/*0x2B*/ u8 sheen; // sheen
|
||||
/*0x2C*/ u8 unk2C[12];
|
||||
/*0x38*/ u32 personality; // personality
|
||||
/*0x3C*/ u32 otId; // otId
|
||||
u16 species;
|
||||
u8 nickname[POKEMON_NAME_LENGTH + 1];
|
||||
u8 trainerName[PLAYER_NAME_LENGTH + 1];
|
||||
u8 trainerGfxId;
|
||||
u32 aiFlags;
|
||||
u8 whichRank:2;
|
||||
u8 aiPool_Cool:1;
|
||||
u8 aiPool_Beauty:1;
|
||||
u8 aiPool_Cute:1;
|
||||
u8 aiPool_Smart:1;
|
||||
u8 aiPool_Tough:1;
|
||||
u16 moves[MAX_MON_MOVES];
|
||||
u8 cool;
|
||||
u8 beauty;
|
||||
u8 cute;
|
||||
u8 smart;
|
||||
u8 tough;
|
||||
u8 sheen;
|
||||
u8 highestRank;
|
||||
bool8 gameCleared;
|
||||
u8 unused[10];
|
||||
u32 personality;
|
||||
u32 otId;
|
||||
};
|
||||
|
||||
struct Shared1A004
|
||||
@@ -239,101 +119,101 @@ struct Shared1A004
|
||||
u8 savedJunk[0x800];
|
||||
};
|
||||
|
||||
struct ContestStruct_field_18
|
||||
struct ContestMoveAnimData
|
||||
{
|
||||
u16 species;
|
||||
u16 unk2;
|
||||
u8 unk4_0:1;
|
||||
u8 unk5;
|
||||
u32 unk8;
|
||||
u32 unkC;
|
||||
u32 unk10;
|
||||
u16 targetSpecies;
|
||||
bool8 hasTargetAnim:1;
|
||||
u8 contestant;
|
||||
u32 personality;
|
||||
u32 otId;
|
||||
u32 targetPersonality;
|
||||
};
|
||||
|
||||
struct Contest
|
||||
{
|
||||
/*0x0*/ u8 playerMoveChoice;
|
||||
/*0x1*/ u8 turnNumber;
|
||||
/*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 isShowingApplauseMeter:1;
|
||||
u16 applauseMeterIsMoving:1;
|
||||
u16 unk1920A_7:1;
|
||||
/*0x7*/ u16 unk1920B_0:1;
|
||||
u16 unk1920B_1:1;
|
||||
u16 unk1920B_2:1;
|
||||
/*0x8*/ u8 mainTaskId;
|
||||
/*0x9*/ u8 unk1920D[4];
|
||||
/*0xD*/ u8 unk19211;
|
||||
/*0xE*/ u8 unk19212;
|
||||
/*0xF*/ u8 filler19213;
|
||||
/*0x10*/ u8 unk19214;
|
||||
/*0x11*/ u8 unk19215;
|
||||
/*0x12*/ u8 unk19216; // sprite ID
|
||||
/*0x13*/ s8 applauseLevel;
|
||||
/*0x19218*/ u8 prevTurnOrder[CONTESTANT_COUNT];
|
||||
/*0x1921C*/ u32 unk1921C; // saved RNG value?
|
||||
u16 moveHistory[CONTEST_TURN_COUNT][CONTESTANT_COUNT];
|
||||
u8 excitementHistory[CONTEST_TURN_COUNT][CONTESTANT_COUNT];
|
||||
u8 playerMoveChoice;
|
||||
u8 appealNumber;
|
||||
u8 unk[CONTESTANT_COUNT]; // never read
|
||||
bool16 unused1:1;
|
||||
bool16 unused2:1;
|
||||
bool16 unused3:1;
|
||||
bool16 unused4:1;
|
||||
bool16 waitForJudgeSpeechBubble:1;
|
||||
bool16 isShowingApplauseMeter:1;
|
||||
bool16 applauseMeterIsMoving:1;
|
||||
bool16 animatingAudience:1;
|
||||
bool16 waitForAudienceBlend:1;
|
||||
bool16 sliderHeartsAnimating:1; // When the slider heart is appearing/disappearing
|
||||
bool16 waitForLink:1;
|
||||
u8 mainTaskId;
|
||||
u8 filler1[4];
|
||||
u8 judgeAttentionTaskId;
|
||||
u8 blendTaskId;
|
||||
u8 filler2;
|
||||
u8 turnNumber;
|
||||
u8 currentContestant;
|
||||
u8 judgeSpeechBubbleSpriteId;
|
||||
s8 applauseLevel;
|
||||
u8 prevTurnOrder[CONTESTANT_COUNT];
|
||||
u32 unusedRng;
|
||||
u16 moveHistory[CONTEST_NUM_APPEALS][CONTESTANT_COUNT];
|
||||
u8 excitementHistory[CONTEST_NUM_APPEALS][CONTESTANT_COUNT];
|
||||
u8 applauseMeterSpriteId;
|
||||
/*0x1925D*/ u8 contestSetupState;
|
||||
/*0x1925E*/ u8 unk1925E;
|
||||
u8 contestSetupState;
|
||||
u8 moveAnimTurnCount;
|
||||
};
|
||||
|
||||
struct ContestantStatus
|
||||
{
|
||||
/*0x00*/ s16 appeal1; // move appeal?
|
||||
/*0x02*/ s16 appeal2; // final appeal after end of turn, maybe?
|
||||
/*0x04*/ s16 pointTotal;
|
||||
/*0x06*/ u16 currMove;
|
||||
/*0x08*/ u16 prevMove;
|
||||
/*0x0A*/ u8 moveCategory;
|
||||
/*0x0B*/ u8 ranking:2;
|
||||
u8 unkB_2:2;
|
||||
s16 baseAppeal;
|
||||
s16 appeal;
|
||||
s16 pointTotal;
|
||||
u16 currMove;
|
||||
u16 prevMove;
|
||||
u8 moveCategory;
|
||||
u8 ranking:2;
|
||||
u8 unused1:2;
|
||||
u8 moveRepeatCount:3;
|
||||
u8 noMoreTurns:1; // used a one-time move?
|
||||
/*0x0C*/ u8 nervous:1;
|
||||
bool8 noMoreTurns:1; // used a one-time move?
|
||||
bool8 nervous:1;
|
||||
u8 numTurnsSkipped:2;
|
||||
/*0x0D*/ s8 condition;
|
||||
/*0x0E*/ u8 jam;
|
||||
/*0x0F*/ u8 jamReduction;
|
||||
s8 condition;
|
||||
u8 jam;
|
||||
u8 jamReduction;
|
||||
|
||||
// Flags set by move effect
|
||||
/*0x10*/ u8 resistant:1;
|
||||
u8 immune:1;
|
||||
u8 moreEasilyStartled:1;
|
||||
u8 usedRepeatableMove:1;
|
||||
bool8 resistant:1;
|
||||
bool8 immune:1;
|
||||
bool8 moreEasilyStartled:1;
|
||||
bool8 usedRepeatableMove:1;
|
||||
u8 conditionMod:2; // 1: just raised condition; 2: appeal greatly improved by condition
|
||||
u8 turnOrderMod:2; // 1: defined; 2: random
|
||||
/*0x11*/ u8 turnOrderModAction:2; // 1: made first; 2: made last; 3: made random
|
||||
u8 turnSkipped:1;
|
||||
u8 exploded:1;
|
||||
u8 overrideCategoryExcitementMod:1;
|
||||
u8 appealTripleCondition:1;
|
||||
u8 turnOrderModAction:2; // 1: made first; 2: made last; 3: made random
|
||||
bool8 turnSkipped:1;
|
||||
bool8 exploded:1;
|
||||
bool8 overrideCategoryExcitementMod:1;
|
||||
bool8 appealTripleCondition:1;
|
||||
|
||||
/*0x12*/ u8 jamSafetyCount;
|
||||
/*0x13*/ u8 effectStringId; // status action?
|
||||
/*0x14*/ u8 effectStringId2;
|
||||
/*0x15*/ u8 disappointedRepeat:1;
|
||||
u8 unk15_1:1;
|
||||
u8 unk15_2:1;
|
||||
u8 unk15_3:1;
|
||||
u8 hasJudgesAttention:1;
|
||||
u8 judgesAttentionWasRemoved:1;
|
||||
u8 unk15_6:1;
|
||||
/*0x16*/ u8 unk16;
|
||||
/*0x17*/ u8 unk17;
|
||||
/*0x18*/ u8 unk18;
|
||||
/*0x19*/ u8 nextTurnOrder; // turn position
|
||||
/*0x1A*/ u8 attentionLevel; // How much the Pokemon "stood out"
|
||||
/*0x1B*/ u8 unk1B;
|
||||
u8 jamSafetyCount;
|
||||
u8 effectStringId; // status action?
|
||||
u8 effectStringId2;
|
||||
bool8 repeatedMove:1;
|
||||
bool8 unused2:1;
|
||||
bool8 repeatedPrevMove:1; // never read
|
||||
bool8 completedComboFlag:1;
|
||||
bool8 hasJudgesAttention:1;
|
||||
bool8 judgesAttentionWasRemoved:1;
|
||||
bool8 usedComboMove:1;
|
||||
bool8 completedCombo;
|
||||
u8 comboAppealBonus;
|
||||
u8 repeatJam;
|
||||
u8 nextTurnOrder; // turn position
|
||||
u8 attentionLevel; // How much the Pokemon "stood out"
|
||||
u8 contestantAnimTarget;
|
||||
};
|
||||
|
||||
struct UnknownContestStruct7
|
||||
struct ContestAppealMoveResults
|
||||
{
|
||||
u8 turnOrder[CONTESTANT_COUNT];
|
||||
s16 jam;
|
||||
@@ -348,97 +228,97 @@ struct ContestAIInfo
|
||||
/*0x00*/ u8 aiState;
|
||||
/*0x02*/ u16 nextMove;
|
||||
/*0x04*/ u8 nextMoveIndex;
|
||||
/*0x05*/ u8 unk5[4];
|
||||
/*0x05*/ u8 moveScores[MAX_MON_MOVES];
|
||||
/*0x09*/ u8 aiAction;
|
||||
/*0x0A*/ u8 fillerA[0x6]; // TODO: don't know what's here
|
||||
/*0x10*/ u8 currentAICheck;
|
||||
/*0x14*/ u32 aiChecks;
|
||||
/*0x0A*/ u8 filler[6];
|
||||
/*0x10*/ u8 currentAIFlag;
|
||||
/*0x14*/ u32 aiFlags;
|
||||
/*0x18*/ s16 scriptResult;
|
||||
/*0x1A*/ s16 scriptArr[3];
|
||||
/*0x1A*/ s16 vars[3];
|
||||
/*0x20*/ const u8 *stack[8];
|
||||
/*0x40*/ u8 stackSize;
|
||||
/*0x41*/ u8 contestantId;
|
||||
};
|
||||
|
||||
struct UnknownContestStruct5
|
||||
struct ContestExcitement
|
||||
{
|
||||
s8 bits_0; // current move excitement?
|
||||
u8 excitementFrozen:1;
|
||||
u8 excitementFreezer:3;
|
||||
s8 unk2;
|
||||
s8 moveExcitement;
|
||||
u8 frozen:1;
|
||||
u8 freezer:3;
|
||||
s8 excitementAppealBonus;
|
||||
};
|
||||
|
||||
struct UnknownContestStruct4
|
||||
struct ContestGraphicsState
|
||||
{
|
||||
u8 unk0; // sprite ID
|
||||
u8 unk1; // sprite ID
|
||||
u8 unk2_0:1;
|
||||
u8 unk2_1:1;
|
||||
u8 unk2_2:1;
|
||||
u8 sliderHeartSpriteId;
|
||||
u8 nextTurnSpriteId;
|
||||
bool8 sliderUpdating:1;
|
||||
bool8 boxBlinking:1;
|
||||
bool8 updatingAppealHearts:1;
|
||||
};
|
||||
|
||||
struct UnknownContestStruct6
|
||||
struct ContestFinalStandings
|
||||
{
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
s32 totalPoints;
|
||||
s32 round1Points;
|
||||
s32 random;
|
||||
s32 contestant;
|
||||
};
|
||||
|
||||
struct ContestResourcesField1C
|
||||
struct ContestTV
|
||||
{
|
||||
u16 unk0[5];
|
||||
s16 unkA;
|
||||
u8 unkC;
|
||||
u8 unkD;
|
||||
u8 unkE_1:1;
|
||||
u8 unkE_2:1;
|
||||
u16 appeals[CONTEST_NUM_APPEALS];
|
||||
s16 move;
|
||||
u8 winnerFlags;
|
||||
u8 loserFlags;
|
||||
bool8 madeAppeal:1;
|
||||
bool8 madeExcitingAppeal:1;
|
||||
};
|
||||
|
||||
struct ContestResourcesField20
|
||||
struct ContestUnused
|
||||
{
|
||||
u8 filler_00[0x0C];
|
||||
u8 filler[12];
|
||||
};
|
||||
|
||||
struct ContestResources
|
||||
{
|
||||
struct Contest *contest;
|
||||
struct ContestantStatus *status;
|
||||
struct UnknownContestStruct7 *field_8;
|
||||
struct ContestAppealMoveResults *appealResults;
|
||||
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;
|
||||
struct ContestExcitement *excitement;
|
||||
struct ContestGraphicsState *gfxState;
|
||||
struct ContestMoveAnimData *moveAnim;
|
||||
struct ContestTV *tv;
|
||||
struct ContestUnused * unused;
|
||||
u8 * contestBgTilemaps[CONTESTANT_COUNT];
|
||||
void * field_34;
|
||||
void * field_38;
|
||||
void * boxBlinkTiles1;
|
||||
void * boxBlinkTiles2;
|
||||
void * field_3c;
|
||||
};
|
||||
|
||||
#define eContest (*gContestResources->contest)
|
||||
#define eContestantStatus (gContestResources->status)
|
||||
#define eContestResources8 (*gContestResources->field_8)
|
||||
#define eContestAppealResults (*gContestResources->appealResults)
|
||||
#define eContestAI (*gContestResources->aiData)
|
||||
#define eContestResources10 (*gContestResources->field_10)
|
||||
#define eContestResources14 (*gContestResources->field_14)
|
||||
#define eUnzippedContestAudienceGfx (gHeap + 0x18000)
|
||||
#define eUnknownHeap19000 (gHeap + 0x19000)
|
||||
#define eContestExcitement (*gContestResources->excitement)
|
||||
#define eContestGfxState (gContestResources->gfxState)
|
||||
#define eUnzippedContestAudience_Gfx (gHeap + 0x18000)
|
||||
#define eContestAudienceFrame2_Gfx (gHeap + 0x19000)
|
||||
#define eContestDebugMode (gHeap[0x1a000])
|
||||
#define eUnknownHeap1A004 (*(struct Shared1A004 *)(gHeap + 0x1a004))
|
||||
|
||||
extern struct ContestPokemon gContestMons[CONTESTANT_COUNT];
|
||||
extern s16 gContestMonConditions[CONTESTANT_COUNT];
|
||||
extern s16 gContestMonRound1Points[CONTESTANT_COUNT];
|
||||
extern s16 gContestMonTotalPoints[CONTESTANT_COUNT];
|
||||
extern s16 gUnknown_02039F10[CONTESTANT_COUNT];
|
||||
extern s16 gContestMonAppealPointTotals[CONTESTANT_COUNT];
|
||||
extern s16 gContestMonRound2Points[CONTESTANT_COUNT];
|
||||
extern u8 gContestFinalStandings[CONTESTANT_COUNT];
|
||||
extern u8 gContestMonPartyIndex;
|
||||
extern u8 gContestPlayerMonIndex;
|
||||
extern u8 gContestantTurnOrder[CONTESTANT_COUNT];
|
||||
extern u8 gLinkContestFlags;
|
||||
extern u8 gUnknown_02039F2B;
|
||||
extern u8 gContestLinkLeaderIndex;
|
||||
extern u16 gSpecialVar_ContestCategory;
|
||||
extern u16 gSpecialVar_ContestRank;
|
||||
extern u8 gNumLinkContestPlayers;
|
||||
@@ -454,11 +334,11 @@ extern u32 gContestRngValue;
|
||||
void ResetLinkContestBoolean(void);
|
||||
void LoadContestBgAfterMoveAnim(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);
|
||||
void CreateContestMonFromParty(u8 partyIndex);
|
||||
void SetContestants(u8 contestType, u8 rank);
|
||||
void SetLinkAIContestants(u8 contestType, u8 rank, bool32 isPostgame);
|
||||
u8 GetContestEntryEligibility(struct Pokemon *pkmn);
|
||||
void sub_80DB09C(u8 contestCategory);
|
||||
void CalculateRound1Points(u8 contestCategory);
|
||||
bool8 IsSpeciesNotUnown(u16 species);
|
||||
bool8 Contest_IsMonsTurnDisabled(u8 a);
|
||||
void SaveLinkContestResults(void);
|
||||
@@ -468,24 +348,12 @@ void SetContestantEffectStringID2(u8 a, u8 b);
|
||||
void SetStartledString(u8 contestant, u8 jam);
|
||||
void MakeContestantNervous(u8 p);
|
||||
s8 Contest_GetMoveExcitement(u16 move);
|
||||
bool8 sub_80DE1E8(u8 a);
|
||||
bool8 IsContestantAllowedToCombo(u8 contestant);
|
||||
void Contest_PrintTextToBg0WindowAt(u32 windowId, u8 *currChar, s32 x, s32 y, s32 fontId);
|
||||
void ResetContestLinkResults(void);
|
||||
bool8 sub_80DEDA8(u8 a);
|
||||
u8 sub_80DEFA8(u8 a, u8 b);
|
||||
void ClearContestWinnerPicsInContestHall(void);
|
||||
void sub_80DFA08(struct ContestPokemon *mon, s32 language);
|
||||
|
||||
// contest link
|
||||
void sub_81D9DE4(u8 taskId);
|
||||
void sub_80FCF40(u8);
|
||||
void sub_80FCFD0(u8);
|
||||
void sub_80F8714(u8);
|
||||
bool32 sub_80FC670(s16 *);
|
||||
bool32 sub_80FC4F4(void *, u16);
|
||||
bool8 sub_80FC55C(void);
|
||||
bool8 sub_80FC530(u8);
|
||||
u8 sub_80F86E0(u8 *);
|
||||
void sub_80FC9F8(u8 taskId);
|
||||
void StripPlayerAndMonNamesForLinkContest(struct ContestPokemon *mon, s32 language);
|
||||
|
||||
#endif //GUARD_CONTEST_H
|
||||
|
||||
@@ -1,13 +1,23 @@
|
||||
#ifndef GUARD_CONTEST_LINK_H
|
||||
#define GUARD_CONTEST_LINK_H
|
||||
|
||||
void sub_80FCC88(u8);
|
||||
void sub_80FCC88(u8);
|
||||
void sub_80FCACC(u8);
|
||||
void sub_80FC580(u8);
|
||||
void sub_80FC6BC(u8);
|
||||
void sub_80FC804(u8);
|
||||
void sub_80FCE48(u8);
|
||||
void sub_80FC894(u8);
|
||||
void Task_LinkContest_CommunicateAppealsState(u8);
|
||||
void Task_LinkContest_CommunicateFinalStandings(u8);
|
||||
void Task_LinkContest_Init(u8);
|
||||
void Task_LinkContest_CommunicateMonsRS(u8);
|
||||
void Task_LinkContest_CommunicateRngRS(u8);
|
||||
void Task_LinkContest_CommunicateLeaderIdsRS(u8);
|
||||
void Task_LinkContest_CommunicateCategoryRS(u8);
|
||||
void Task_LinkContest_CommunicateMonIdxs(u8);
|
||||
void Task_LinkContest_StartCommunicationEm(u8);
|
||||
void Task_LinkContest_CommunicateRound1Points(u8);
|
||||
void Task_LinkContest_CommunicateTurnOrder(u8);
|
||||
void Task_LinkContest_FinalizeConnection(u8);
|
||||
void Task_LinkContest_CommunicateMoveSelections(u8);
|
||||
bool32 LinkContest_TryLinkStandby(s16 *);
|
||||
bool32 LinkContest_SendBlock(void *, u16);
|
||||
bool8 LinkContest_GetBlockReceivedFromAllPlayers(void);
|
||||
bool8 LinkContest_GetBlockReceived(u8);
|
||||
u8 LinkContest_GetLeaderIndex(u8 *);
|
||||
|
||||
#endif //GUARD_CONTEST_LINK_H
|
||||
|
||||
@@ -7,6 +7,8 @@ void StartContest(void);
|
||||
void BufferContestantMonSpecies(void);
|
||||
void ShowContestResults(void);
|
||||
void ContestLinkTransfer(u8);
|
||||
void sub_80FC998(u8 taskId);
|
||||
void ShowContestWinnerPainting(void);
|
||||
u16 GetContestRand(void);
|
||||
u8 CountPlayerContestPaintings(void);
|
||||
|
||||
#endif // GUARD_CONTEST_UTIL_H
|
||||
|
||||
@@ -16,11 +16,7 @@ enum SpinnerRunnerFollowPatterns
|
||||
RUNFOLLOW_SOUTH_EAST_WEST
|
||||
};
|
||||
|
||||
struct UnkStruct_085094AC
|
||||
{
|
||||
const union AnimCmd *const *anims;
|
||||
u8 animPos[4];
|
||||
};
|
||||
#define FIGURE_8_LENGTH 72
|
||||
|
||||
#define GROUND_EFFECT_FLAG_TALL_GRASS_ON_SPAWN (1 << 0)
|
||||
#define GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE (1 << 1)
|
||||
@@ -43,6 +39,12 @@ struct UnkStruct_085094AC
|
||||
#define GROUND_EFFECT_FLAG_HOT_SPRINGS (1 << 18)
|
||||
#define GROUND_EFFECT_FLAG_SEAWEED (1 << 19)
|
||||
|
||||
struct UnkStruct_085094AC
|
||||
{
|
||||
const union AnimCmd *const *anims;
|
||||
u8 animPos[4];
|
||||
};
|
||||
|
||||
struct PairedPalettes
|
||||
{
|
||||
u16 tag;
|
||||
@@ -98,7 +100,7 @@ void ObjectEventTurnByLocalIdAndMap(u8, u8, u8, u8);
|
||||
const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u8 graphicsId);
|
||||
void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
|
||||
void FreeAndReserveObjectSpritePalettes(void);
|
||||
void sub_808E82C(u8, u8, u8, s16, s16);
|
||||
void SetObjectEventSpritePosByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y);
|
||||
void sub_808E7E4(u8, u8, u8);
|
||||
void sub_808E78C(u8, u8, u8, u8);
|
||||
void sub_808E75C(s16, s16);
|
||||
@@ -174,8 +176,6 @@ u8 sub_809785C(struct Sprite *);
|
||||
u8 sub_80978E4(struct Sprite *);
|
||||
void SetAndStartSpriteAnim(struct Sprite *, u8, u8);
|
||||
bool8 SpriteAnimEnded(struct Sprite *);
|
||||
void sub_8097750(struct Sprite *);
|
||||
bool8 sub_8097758(struct Sprite *);
|
||||
void CreateLevitateMovementTask(struct ObjectEvent *);
|
||||
void DestroyExtraMovementTask(u8);
|
||||
void UnfreezeObjectEvents(void);
|
||||
@@ -191,8 +191,8 @@ u8 GetLedgeJumpDirection(s16, s16, u8);
|
||||
void CameraObjectSetFollowedObjectId(u8 objectId);
|
||||
u16 GetObjectPaletteTag(u8 palSlot);
|
||||
void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible);
|
||||
s16 sub_809773C(s16 a1);
|
||||
s16 sub_8097728(s16 a1);
|
||||
s16 GetFigure8XOffset(s16 idx);
|
||||
s16 GetFigure8YOffset(s16 idx);
|
||||
void CameraObjectReset2(void);
|
||||
u8 GetObjectEventBerryTreeId(u8 objectEventId);
|
||||
void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup);
|
||||
|
||||
@@ -294,39 +294,39 @@ extern const u8 gTVSafariFanClubText07[];
|
||||
extern const u8 gTVSafariFanClubText08[];
|
||||
extern const u8 gTVSafariFanClubText09[];
|
||||
extern const u8 gTVSafariFanClubText10[];
|
||||
extern const u8 gTVContestLiveUpdatesText00[];
|
||||
extern const u8 gTVContestLiveUpdatesText01[];
|
||||
extern const u8 gTVContestLiveUpdatesText02[];
|
||||
extern const u8 gTVContestLiveUpdatesText03[];
|
||||
extern const u8 gTVContestLiveUpdatesText04[];
|
||||
extern const u8 gTVContestLiveUpdatesText05[];
|
||||
extern const u8 gTVContestLiveUpdatesText06[];
|
||||
extern const u8 gTVContestLiveUpdatesText07[];
|
||||
extern const u8 gTVContestLiveUpdatesText08[];
|
||||
extern const u8 gTVContestLiveUpdatesText09[];
|
||||
extern const u8 gTVContestLiveUpdatesText10[];
|
||||
extern const u8 gTVContestLiveUpdatesText11[];
|
||||
extern const u8 gTVContestLiveUpdatesText12[];
|
||||
extern const u8 gTVContestLiveUpdatesText13[];
|
||||
extern const u8 gTVContestLiveUpdatesText14[];
|
||||
extern const u8 gTVContestLiveUpdatesText15[];
|
||||
extern const u8 gTVContestLiveUpdatesText16[];
|
||||
extern const u8 gTVContestLiveUpdatesText17[];
|
||||
extern const u8 gTVContestLiveUpdatesText18[];
|
||||
extern const u8 gTVContestLiveUpdatesText19[];
|
||||
extern const u8 gTVContestLiveUpdatesText20[];
|
||||
extern const u8 gTVContestLiveUpdatesText21[];
|
||||
extern const u8 gTVContestLiveUpdatesText22[];
|
||||
extern const u8 gTVContestLiveUpdatesText23[];
|
||||
extern const u8 gTVContestLiveUpdatesText24[];
|
||||
extern const u8 gTVContestLiveUpdatesText25[];
|
||||
extern const u8 gTVContestLiveUpdatesText26[];
|
||||
extern const u8 gTVContestLiveUpdatesText27[];
|
||||
extern const u8 gTVContestLiveUpdatesText28[];
|
||||
extern const u8 gTVContestLiveUpdatesText29[];
|
||||
extern const u8 gTVContestLiveUpdatesText30[];
|
||||
extern const u8 gTVContestLiveUpdatesText31[];
|
||||
extern const u8 gTVContestLiveUpdatesText32[];
|
||||
extern const u8 ContestLiveUpdates_Text_Intro[];
|
||||
extern const u8 ContestLiveUpdates_Text_WonBothRounds[];
|
||||
extern const u8 ContestLiveUpdates_Text_BetterRound2[];
|
||||
extern const u8 ContestLiveUpdates_Text_EqualRounds[];
|
||||
extern const u8 ContestLiveUpdates_Text_BetterRound1[];
|
||||
extern const u8 ContestLiveUpdates_Text_GotNervous[];
|
||||
extern const u8 ContestLiveUpdates_Text_StartledFoes[];
|
||||
extern const u8 ContestLiveUpdates_Text_UsedCombo[];
|
||||
extern const u8 ContestLiveUpdates_Text_ExcitingAppeal[];
|
||||
extern const u8 ContestLiveUpdates_Text_WasCool[];
|
||||
extern const u8 ContestLiveUpdates_Text_WasBeautiful[];
|
||||
extern const u8 ContestLiveUpdates_Text_WasCute[];
|
||||
extern const u8 ContestLiveUpdates_Text_WasSmart[];
|
||||
extern const u8 ContestLiveUpdates_Text_WasTough[];
|
||||
extern const u8 ContestLiveUpdates_Text_VeryExcitingAppeal[];
|
||||
extern const u8 ContestLiveUpdates_Text_VeryCool[];
|
||||
extern const u8 ContestLiveUpdates_Text_VeryBeautiful[];
|
||||
extern const u8 ContestLiveUpdates_Text_VeryCute[];
|
||||
extern const u8 ContestLiveUpdates_Text_VerySmart[];
|
||||
extern const u8 ContestLiveUpdates_Text_VeryTough[];
|
||||
extern const u8 ContestLiveUpdates_Text_TookBreak[];
|
||||
extern const u8 ContestLiveUpdates_Text_GotStartled[];
|
||||
extern const u8 ContestLiveUpdates_Text_MoveWonderful[];
|
||||
extern const u8 ContestLiveUpdates_Text_TalkAboutAnotherMon[];
|
||||
extern const u8 ContestLiveUpdates_Text_FailedToAppeal[];
|
||||
extern const u8 ContestLiveUpdates_Text_LastInBothRounds[];
|
||||
extern const u8 ContestLiveUpdates_Text_NotExcitingEnough[];
|
||||
extern const u8 ContestLiveUpdates_Text_LostAfterWinningRound1[];
|
||||
extern const u8 ContestLiveUpdates_Text_NeverExciting[];
|
||||
extern const u8 ContestLiveUpdates_Text_LostBySmallMargin[];
|
||||
extern const u8 ContestLiveUpdates_Text_RepeatedAppeals[];
|
||||
extern const u8 ContestLiveUpdates_Text_ValiantEffortButLost[];
|
||||
extern const u8 ContestLiveUpdates_Text_Outro[];
|
||||
extern const u8 gTVPokemonBattleUpdateText00[];
|
||||
extern const u8 gTVPokemonBattleUpdateText01[];
|
||||
extern const u8 gTVPokemonBattleUpdateText02[];
|
||||
@@ -372,10 +372,11 @@ extern const u8 SecretBase_Text_Trainer8Defeated[];
|
||||
extern const u8 SecretBase_Text_Trainer9Defeated[];
|
||||
|
||||
//field effects
|
||||
extern const u8 EventScript_FldEffStrength[];
|
||||
extern const u8 EventScript_UseStrength[];
|
||||
extern const u8 EventScript_FailSweetScent[];
|
||||
extern const u8 EventScript_FldEffFlash[];
|
||||
extern const u8 EventScript_FldEffRockSmash[];
|
||||
extern const u8 EventScript_UseFlash[];
|
||||
extern const u8 EventScript_UseCut[];
|
||||
extern const u8 EventScript_UseRockSmash[];
|
||||
|
||||
//player pc
|
||||
extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_TurnOffPlayerPC[];
|
||||
@@ -587,4 +588,26 @@ extern u8 BerryTree_EventScript_ItemUsePlantBerry[];
|
||||
extern u8 BerryTree_EventScript_ItemUseWailmerPail[];
|
||||
extern u8 BattleFrontier_OutsideEast_EventScript_WaterSudowoodo[];
|
||||
|
||||
// overworld
|
||||
extern const u8 EventScript_WhiteOut[];
|
||||
extern const u8 EventScript_ResetMrBriney[];
|
||||
extern const u8 EventScript_DoLinkRoomExit[];
|
||||
extern const u8 CableClub_EventScript_TooBusyToNotice[];
|
||||
extern const u8 CableClub_EventScript_ReadTrainerCard[];
|
||||
extern const u8 CableClub_EventScript_ReadTrainerCardColored[];
|
||||
extern const u8 EventScript_BattleColosseum_4P_PlayerSpot0[];
|
||||
extern const u8 EventScript_BattleColosseum_4P_PlayerSpot1[];
|
||||
extern const u8 EventScript_BattleColosseum_4P_PlayerSpot2[];
|
||||
extern const u8 EventScript_BattleColosseum_4P_PlayerSpot3[];
|
||||
extern const u8 EventScript_RecordCenter_Spot0[];
|
||||
extern const u8 EventScript_RecordCenter_Spot1[];
|
||||
extern const u8 EventScript_RecordCenter_Spot2[];
|
||||
extern const u8 EventScript_RecordCenter_Spot3[];
|
||||
extern const u8 EventScript_BattleColosseum_2P_PlayerSpot0[];
|
||||
extern const u8 EventScript_BattleColosseum_2P_PlayerSpot1[];
|
||||
extern const u8 EventScript_TradeCenter_Chair1[];
|
||||
extern const u8 EventScript_TradeCenter_Chair0[];
|
||||
extern const u8 EventScript_ConfirmLeaveTradeRoom[];
|
||||
extern const u8 EventScript_TerminateLink[];
|
||||
|
||||
#endif // GUARD_EVENT_SCRIPTS_H
|
||||
|
||||
@@ -23,7 +23,7 @@ void DrawWholeMapView(void);
|
||||
void CurrentMapDrawMetatileAt(int x, int y);
|
||||
void sub_8089C08(s16 *a0, s16 *a1);
|
||||
void DrawDoorMetatileAt(int x, int y, u16 *arr);
|
||||
void move_tilemap_camera_to_upper_left_corner(void);
|
||||
void ResetFieldCamera(void);
|
||||
void sub_8057A58(void);
|
||||
void ResetCameraUpdateInfo(void);
|
||||
u32 InitCameraUpdateCallback(u8 a);
|
||||
|
||||
@@ -34,7 +34,7 @@ bool8 sub_8068870(u16 a);
|
||||
bool8 sub_8068894(void);
|
||||
bool8 sub_8068A64(struct MapPosition *, u16);
|
||||
u8 sub_8068F18(void);
|
||||
bool8 dive_warp(struct MapPosition *position, u16 b);
|
||||
bool8 TryDoDiveWarp(struct MapPosition *position, u16 b);
|
||||
int SetCableClubWarp(void);
|
||||
u8 TrySetDiveWarp(void);
|
||||
const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatileBehavior, u8 direction);
|
||||
|
||||
@@ -16,7 +16,7 @@ void ReturnToFieldFromFlyMapSelect(void);
|
||||
u8 AddNewGameBirchObject(s16, s16, u8);
|
||||
void FieldEffectStop(struct Sprite *sprite, u8 id);
|
||||
u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer);
|
||||
void CreateTeleportFieldEffectTask(void);
|
||||
void FldEff_TeleportWarpOut(void);
|
||||
void FieldEffectActiveListRemove(u8 id);
|
||||
void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8);
|
||||
void FieldEffectActiveListAdd(u8 id);
|
||||
@@ -39,12 +39,8 @@ void StartEscalatorWarp(u8 metatileBehavior, u8 priority);
|
||||
void StartLavaridgeGymB1FWarp(u8 priority);
|
||||
void StartLavaridgeGym1FWarp(u8 priority);
|
||||
|
||||
void sub_80B9C28(s16*, u8);
|
||||
void sub_80B9C54(s16*, u8);
|
||||
void sub_80B9CDC(s16*, u8);
|
||||
|
||||
void SpriteCB_PopOutOfAsh(struct Sprite*);
|
||||
void SpriteCB_LavaridgeGymWarp(struct Sprite*);
|
||||
void SpriteCB_AshPuff(struct Sprite*);
|
||||
void SpriteCB_AshLaunch(struct Sprite*);
|
||||
|
||||
void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b);
|
||||
void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId);
|
||||
|
||||
@@ -8,20 +8,22 @@
|
||||
// Exported ROM declarations
|
||||
u8 CreateWarpArrowSprite(void);
|
||||
u8 sub_8155800(u8 oldSpriteId);
|
||||
void sub_81555AC(u8, u8);
|
||||
void SetSurfBobState(u8 spriteId, u8 value);
|
||||
void SetSurfBobWhileFlyingOutState(u8 spriteId, u8 value);
|
||||
void SetSurfBobWhileFishingState(u8 spriteId, u8 value, s16 data1);
|
||||
bool8 sub_8155DA0(struct ObjectEvent *);
|
||||
void sub_8155D78(struct ObjectEvent *);
|
||||
void StartAshFieldEffect(s16, s16, u16, s16);
|
||||
void SetUpReflection(struct ObjectEvent*, struct Sprite*, u8);
|
||||
u32 StartFieldEffectForObjectEvent(u8, struct ObjectEvent*);
|
||||
u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y);
|
||||
void sub_8155F80(struct Sprite*);
|
||||
void UpdateRayquazaSpotlightEffect(struct Sprite*);
|
||||
void UpdateShadowFieldEffect(struct Sprite*);
|
||||
void UpdateTallGrassFieldEffect(struct Sprite*);
|
||||
void WaitFieldEffectSpriteAnim(struct Sprite*);
|
||||
void UpdateAshFieldEffect(struct Sprite*);
|
||||
void UpdateSurfBlobFieldEffect(struct Sprite*);
|
||||
void sub_8156194(struct Sprite*);
|
||||
void UpdateJumpImpactEffect(struct Sprite*);
|
||||
void UpdateFootprintsTireTracksFieldEffect(struct Sprite*);
|
||||
void UpdateSplashFieldEffect(struct Sprite*);
|
||||
void UpdateLongGrassFieldEffect(struct Sprite*);
|
||||
@@ -33,7 +35,5 @@ void UpdateBubblesFieldEffect(struct Sprite*);
|
||||
void UpdateSparkleFieldEffect(struct Sprite*);
|
||||
void SetSpriteInvisible(u8 spriteId);
|
||||
void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y);
|
||||
void sub_8155604(u8 spriteId, u8 value, s16 data1);
|
||||
void sub_81555D8(u8 spriteId, u8 value);
|
||||
|
||||
#endif //GUARD_FIELD_EFFECT_HELPERS_H
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_FIELD_PLAYER_AVATAR_H
|
||||
#define GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
||||
void player_step(u8 a, u16 b, u16 c);
|
||||
void PlayerStep(u8 direction, u16 newKeys, u16 heldKeys);
|
||||
void ClearPlayerAvatarInfo(void);
|
||||
void SetPlayerAvatarExtraStateTransition(u8, u8);
|
||||
u8 GetPlayerAvatarGenderByGraphicsId(u8);
|
||||
@@ -39,7 +39,7 @@ void sub_808BCF4(void);
|
||||
void sub_808D074(u8);
|
||||
void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr);
|
||||
u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8, u8);
|
||||
void sub_808C114(void);
|
||||
void SetPlayerAvatarFieldMove(void);
|
||||
u8 GetPlayerAvatarGraphicsIdByCurrentState(void);
|
||||
void SetPlayerAvatarStateMask(u8 a);
|
||||
u8 GetPlayerAvatarGraphicsIdByStateId(u8 a);
|
||||
@@ -47,9 +47,9 @@ u8 GetJumpSpecialMovementAction(u32);
|
||||
bool8 PartyHasMonWithSurf(void);
|
||||
bool8 IsPlayerFacingSurfableFishableWater(void);
|
||||
bool8 IsPlayerSurfingNorth(void);
|
||||
void sub_808C228(u8 direction);
|
||||
void SetPlayerAvatarWatering(u8 direction);
|
||||
u8 GetPlayerAvatarFlags(void);
|
||||
void sub_808B578(void);
|
||||
void UpdatePlayerAvatarTransitionState(void);
|
||||
u8 GetFRLGAvatarGraphicsIdByGender(u8);
|
||||
u8 GetRSAvatarGraphicsIdByGender(u8);
|
||||
void PlayerWheelieInPlace(u8 direction);
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef GUARD_FIELD_SCREEN_EFFECT_H
|
||||
#define GUARD_FIELD_SCREEN_EFFECT_H
|
||||
|
||||
extern const s32 gMaxFlashLevel;
|
||||
|
||||
void WarpFadeInScreen(void);
|
||||
void WarpFadeOutScreen(void);
|
||||
void FadeInFromBlack(void);
|
||||
@@ -26,7 +28,7 @@ void DoFallWarp(void);
|
||||
void DoEscalatorWarp(u8 metatileBehavior);
|
||||
void DoLavaridgeGymB1FWarp(void);
|
||||
void DoLavaridgeGym1FWarp(void);
|
||||
void DoTeleportWarp(void);
|
||||
void DoTeleportTileWarp(void);
|
||||
void DoMossdeepGymWarp(void);
|
||||
void DoPortholeWarp(void);
|
||||
void DoCableClubWarp(void);
|
||||
|
||||
@@ -30,25 +30,21 @@ struct MapConnection *sub_8088950(u8 direction, int x, int y);
|
||||
bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection);
|
||||
bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset);
|
||||
void save_serialize_map(void);
|
||||
void sub_8088B3C(u16 x, u16 y);
|
||||
void SetCameraFocusCoords(u16 x, u16 y);
|
||||
void InitMap(void);
|
||||
void InitMapFromSavedGame(void);
|
||||
void InitTrainerHillMap(void);
|
||||
void InitBattlePyramidMap(bool8 setPlayerPosition);
|
||||
void copy_map_tileset1_tileset2_to_vram(struct MapLayout const *mapLayout);
|
||||
void apply_map_tileset1_tileset2_palette(struct MapLayout const *mapLayout);
|
||||
void apply_map_tileset2_palette(struct MapLayout const *mapLayout);
|
||||
void copy_map_tileset2_to_vram_2(struct MapLayout const *mapLayout);
|
||||
void copy_map_tileset1_to_vram(const struct MapLayout *);
|
||||
void copy_map_tileset2_to_vram(const struct MapLayout *);
|
||||
struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection *connection);
|
||||
void CopyMapTilesetsToVram(struct MapLayout const *mapLayout);
|
||||
void LoadMapTilesetPalettes(struct MapLayout const *mapLayout);
|
||||
void LoadSecondaryTilesetPalette(struct MapLayout const *mapLayout);
|
||||
void CopySecondaryTilesetToVramUsingHeap(struct MapLayout const *mapLayout);
|
||||
void CopyPrimaryTilesetToVram(const struct MapLayout *);
|
||||
void CopySecondaryTilesetToVram(const struct MapLayout *);
|
||||
struct MapHeader const *const GetMapHeaderFromConnection(struct MapConnection *connection);
|
||||
struct MapConnection *GetConnectionAtCoords(s16 x, s16 y);
|
||||
void MapGridSetMetatileImpassabilityAt(int x, int y, bool32 impassable);
|
||||
|
||||
void SpriteCB_PokeballGlow(struct Sprite *);
|
||||
void SpriteCB_PokecenterMonitor(struct Sprite *);
|
||||
void SpriteCB_HallOfFameMonitor(struct Sprite *);
|
||||
|
||||
// field_region_map.c
|
||||
void FieldInitRegionMap(MainCallback callback);
|
||||
|
||||
|
||||
@@ -9,22 +9,13 @@ bool8 FldEff_CutGrass(void);
|
||||
void FixLongGrassMetatilesWindowTop(s16 x, s16 y);
|
||||
void FixLongGrassMetatilesWindowBottom(s16 x, s16 y);
|
||||
|
||||
extern const struct SpritePalette gFieldEffectObjectPaletteInfo6;
|
||||
extern const struct SpritePalette gSpritePalette_CutGrass;
|
||||
extern struct MapPosition gPlayerFacingPosition;
|
||||
|
||||
// groundshake
|
||||
bool8 sub_81BE66C(void);
|
||||
void sub_81BE6AC(void);
|
||||
void sub_81BE6B8(void);
|
||||
void sub_81BE72C(void);
|
||||
void sub_81BE79C(void);
|
||||
void sub_81BE7F4(void);
|
||||
void sub_81BE994(void);
|
||||
|
||||
// escalator
|
||||
void sub_80E1558(u8 var);
|
||||
void sub_80E1570(void);
|
||||
bool8 sub_80E1584(void);
|
||||
void StartEscalator(bool8 var);
|
||||
void StopEscalator(void);
|
||||
bool8 IsEscalatorMoving(void);
|
||||
|
||||
// soft-boiled
|
||||
bool8 SetUpFieldMove_SoftBoiled(void);
|
||||
@@ -39,7 +30,7 @@ bool8 GetMapPairFadeFromType(u8 a1, u8 a2);
|
||||
|
||||
// strength
|
||||
bool8 SetUpFieldMove_Strength(void);
|
||||
bool8 sub_8145E2C(void);
|
||||
bool8 FldEff_UseStrength(void);
|
||||
|
||||
// sweet scent
|
||||
bool8 SetUpFieldMove_SweetScent(void);
|
||||
@@ -55,7 +46,7 @@ bool8 FldEff_UseDig(void);
|
||||
|
||||
// rock smash
|
||||
bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId);
|
||||
u8 oei_task_add(void);
|
||||
u8 CreateFieldMoveTask(void);
|
||||
bool8 SetUpFieldMove_RockSmash(void);
|
||||
bool8 FldEff_UseRockSmash(void);
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#ifndef GUARD_FLDEFF_MISC_H
|
||||
#define GUARD_FLDEFF_MISC_H
|
||||
|
||||
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);
|
||||
void ComputerScreenOpenEffect(u16 a0, u16 a1, u8 a2);
|
||||
void ComputerScreenCloseEffect(u16 a0, u16 a1, u8 a2);
|
||||
bool8 IsComputerScreenOpenEffectActive(void);
|
||||
bool8 IsComputerScreenCloseEffectActive(void);
|
||||
bool8 SetUpFieldMove_SecretPower(void);
|
||||
bool8 FldEff_UseSecretPowerCave(void);
|
||||
bool8 FldEff_SecretPowerCave(void);
|
||||
@@ -15,22 +15,22 @@ 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);
|
||||
bool8 FldEff_Nop47(void);
|
||||
bool8 FldEff_Nop48(void);
|
||||
void ShatterSecretBaseBreakableDoor(s16 x, s16 y);
|
||||
void PlaySecretBaseMusicNoteMatSound(s16 metatileId);
|
||||
void DoSecretBaseGlitterMatSparkle(void);
|
||||
bool8 FldEff_SandPillar(void);
|
||||
void InteractWithShieldOrTVDecoration(void);
|
||||
bool8 sub_80FADE4(u16 arg0, u8 arg1);
|
||||
bool8 IsLargeBreakableDecoration(u16 arg0, u8 arg1);
|
||||
void FldEffPoison_Start(void);
|
||||
bool32 FldEffPoison_IsActive(void);
|
||||
void DoWateringBerryTreeAnim(void);
|
||||
u8 CreateRecordMixingSprite(void);
|
||||
void DestroyRecordMixingSprite(void);
|
||||
u8 CreateRecordMixingLights(void);
|
||||
void DestroyRecordMixingLights(void);
|
||||
|
||||
extern const struct SpritePalette gFieldEffectObjectPaletteInfo7;
|
||||
extern const struct SpritePalette gFieldEffectObjectPaletteInfo8;
|
||||
extern const struct SpritePalette gSpritePalette_SecretPower_Cave;
|
||||
extern const struct SpritePalette gSpritePalette_SecretPower_Plant;
|
||||
extern const struct SpritePalette gFieldEffectObjectPaletteInfo9;
|
||||
extern const u16 gTilesetPalettes_SecretBase[][16];
|
||||
|
||||
|
||||
@@ -247,14 +247,14 @@ enum {
|
||||
PLAYER_AVATAR_STATE_WATERING,
|
||||
};
|
||||
|
||||
#define PLAYER_AVATAR_FLAG_ON_FOOT (1 << PLAYER_AVATAR_STATE_NORMAL)
|
||||
#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << PLAYER_AVATAR_STATE_MACH_BIKE)
|
||||
#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << PLAYER_AVATAR_STATE_ACRO_BIKE)
|
||||
#define PLAYER_AVATAR_FLAG_SURFING (1 << PLAYER_AVATAR_STATE_SURFING)
|
||||
#define PLAYER_AVATAR_FLAG_UNDERWATER (1 << PLAYER_AVATAR_STATE_UNDERWATER)
|
||||
#define PLAYER_AVATAR_FLAG_5 (1 << PLAYER_AVATAR_STATE_FIELD_MOVE)
|
||||
#define PLAYER_AVATAR_FLAG_6 (1 << PLAYER_AVATAR_STATE_FISHING)
|
||||
#define PLAYER_AVATAR_FLAG_DASH (1 << PLAYER_AVATAR_STATE_WATERING)
|
||||
#define PLAYER_AVATAR_FLAG_ON_FOOT (1 << 0)
|
||||
#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << 1)
|
||||
#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << 2)
|
||||
#define PLAYER_AVATAR_FLAG_SURFING (1 << 3)
|
||||
#define PLAYER_AVATAR_FLAG_UNDERWATER (1 << 4)
|
||||
#define PLAYER_AVATAR_FLAG_5 (1 << 5)
|
||||
#define PLAYER_AVATAR_FLAG_FORCED_MOVE (1 << 6)
|
||||
#define PLAYER_AVATAR_FLAG_DASH (1 << 7)
|
||||
|
||||
enum
|
||||
{
|
||||
|
||||
@@ -102,6 +102,7 @@
|
||||
#define TEST_BUTTON(field, button) ({(field) & (button);})
|
||||
#define JOY_NEW(button) TEST_BUTTON(gMain.newKeys, button)
|
||||
#define JOY_HELD(button) TEST_BUTTON(gMain.heldKeys, button)
|
||||
#define JOY_REPEAT(button) TEST_BUTTON(gMain.newAndRepeatedKeys, button)
|
||||
|
||||
#define S16TOPOSFLOAT(val) \
|
||||
({ \
|
||||
@@ -479,7 +480,7 @@ struct SaveBlock2
|
||||
/*0x20C*/ struct BerryPickingResults berryPick;
|
||||
/*0x21C*/ struct RankingHall1P hallRecords1P[HALL_FACILITIES_COUNT][2][3]; // From record mixing.
|
||||
/*0x57C*/ struct RankingHall2P hallRecords2P[2][3]; // From record mixing.
|
||||
/*0x624*/ u16 contestLinkResults[5][4]; // 4 positions for 5 categories.
|
||||
/*0x624*/ u16 contestLinkResults[CONTEST_CATEGORIES_COUNT][CONTESTANT_COUNT];
|
||||
/*0x64C*/ struct BattleFrontier frontier;
|
||||
}; // sizeof=0xF2C
|
||||
|
||||
@@ -488,7 +489,7 @@ extern struct SaveBlock2 *gSaveBlock2Ptr;
|
||||
struct SecretBaseParty
|
||||
{
|
||||
u32 personality[PARTY_SIZE];
|
||||
u16 moves[PARTY_SIZE * 4];
|
||||
u16 moves[PARTY_SIZE * MAX_MON_MOVES];
|
||||
u16 species[PARTY_SIZE];
|
||||
u16 heldItems[PARTY_SIZE];
|
||||
u8 levels[PARTY_SIZE];
|
||||
|
||||
@@ -124,18 +124,18 @@ typedef union // size = 0x24
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 winningSpecies;
|
||||
/*0x04*/ u8 winningTrainerName[8];
|
||||
/*0x0C*/ u8 appealFlags2;
|
||||
/*0x0D*/ u8 round1Rank;
|
||||
/*0x0e*/ u8 round2Rank;
|
||||
/*0x0f*/ u8 appealFlags1;
|
||||
/*0x02*/ u16 losingSpecies;
|
||||
/*0x04*/ u8 losingTrainerName[8];
|
||||
/*0x0C*/ u8 loserAppealFlag;
|
||||
/*0x0D*/ u8 round1Placing;
|
||||
/*0x0e*/ u8 round2Placing;
|
||||
/*0x0f*/ u8 winnerAppealFlag;
|
||||
/*0x10*/ u16 move;
|
||||
/*0x12*/ u16 species;
|
||||
/*0x14*/ u8 playerName[8];
|
||||
/*0x12*/ u16 winningSpecies;
|
||||
/*0x14*/ u8 winningTrainerName[8];
|
||||
/*0x1C*/ u8 category;
|
||||
/*0x1D*/ u8 language;
|
||||
/*0x1E*/ u8 winningTrainerLanguage;
|
||||
/*0x1D*/ u8 winningTrainerLanguage;
|
||||
/*0x1E*/ u8 losingTrainerLanguage;
|
||||
} contestLiveUpdates;
|
||||
|
||||
// TVSHOW_3_CHEERS_FOR_POKEBLOCKS
|
||||
|
||||
@@ -4069,16 +4069,16 @@ extern const u8 gHealthboxElementsGfxTable[][32];
|
||||
|
||||
extern const u16 gNamingScreenMenu_Pal[];
|
||||
extern const u32 gNamingScreenMenu_Gfx[];
|
||||
extern const u32 gUnknown_08DD4544[];
|
||||
extern const u8 gUnknown_08DD4620[];
|
||||
extern const u8 gUnknown_08DD46E0[];
|
||||
extern const u8 gUnknown_08DD47A0[];
|
||||
extern const u32 gNamingScreenBackground_Tilemap[];
|
||||
extern const u8 gNamingScreenKeyboardUpper_Tilemap[];
|
||||
extern const u8 gNamingScreenKeyboardLower_Tilemap[];
|
||||
extern const u8 gNamingScreenKeyboardSymbols_Tilemap[];
|
||||
extern const u8 gNamingScreenRWindow_Gfx[];
|
||||
extern const u8 gNamingScreenKeyboardButton_Gfx[];
|
||||
extern const u8 gNamingScreenPageButton_Gfx[];
|
||||
extern const u8 gNamingScreenROptions_Gfx[];
|
||||
extern const u8 gNamingScreenCursor_Gfx[];
|
||||
extern const u8 gNamingScreenRightPointingTriangleTiles[];
|
||||
extern const u8 gNamingScreenUnderscoreTiles[];
|
||||
extern const u8 gNamingScreenInputArrow_Gfx[];
|
||||
extern const u8 gNamingScreenUnderscore_Gfx[];
|
||||
|
||||
extern const u32 gUnknown_08D9BA44[];
|
||||
|
||||
@@ -4786,10 +4786,10 @@ extern const u32 gOldContestGfx[];
|
||||
extern const u32 gOldContestPalette[];
|
||||
extern const u32 gUnknown_08C17170[];
|
||||
extern const u32 gUnknown_08C17980[];
|
||||
extern const u32 gTiles_8C19450[];
|
||||
extern const u32 gContestSliderHeart_Gfx[];
|
||||
extern const u32 gContestNextTurnGfx[];
|
||||
extern const u16 gContestPal[];
|
||||
extern const u32 gUnknown_08C19168[];
|
||||
extern const u32 gContestFaces_Gfx[];
|
||||
extern const u32 gContestApplauseGfx[];
|
||||
extern const u32 gContestJudgeGfx[];
|
||||
extern const u32 gContestJudgeSymbolsGfx[];
|
||||
@@ -4824,7 +4824,7 @@ extern const u32 gUnknown_08D91DB8[];
|
||||
extern const u32 gUnknown_08D927EC[];
|
||||
|
||||
// Slot Machine
|
||||
extern const u32 gSlotMachineReelTime_Gfx[];
|
||||
extern const u32 gSlotMachineDigitalDisplay_Gfx[];
|
||||
extern const u8 gSlotMachineReelTimeNumber0[];
|
||||
extern const u8 gSlotMachineReelTimeNumber1[];
|
||||
extern const u8 gSlotMachineReelTimeNumber2[];
|
||||
@@ -4832,15 +4832,15 @@ extern const u8 gSlotMachineReelTimeNumber3[];
|
||||
extern const u8 gSlotMachineReelTimeNumber4[];
|
||||
extern const u8 gSlotMachineReelTimeNumber5[];
|
||||
extern const u8 gSlotMachineReelTimeShadow[];
|
||||
extern const u8 gUnknown_08DD1A18[];
|
||||
extern const u8 gSlotMachineReelTimeLargeBolt0[];
|
||||
extern const u8 gSlotMachineReelTimeLargeBolt1[];
|
||||
extern const u8 gSlotMachineReelTimeNumberGap_Gfx[];
|
||||
extern const u8 gSlotMachineReelTimeBolt0[];
|
||||
extern const u8 gSlotMachineReelTimeBolt1[];
|
||||
extern const u8 gSlotMachineReelTimePikaAura[];
|
||||
extern const u8 gSlotMachineReelTimeExplosion0[];
|
||||
extern const u8 gSlotMachineReelTimeExplosion1[];
|
||||
extern const u8 gSlotMachineReelTimeDuck[];
|
||||
extern const u8 gSlotMachineReelTimeSmoke[];
|
||||
extern const u8 gSlotMachineReelTimeBolt[];
|
||||
extern const u8 gSlotMachinePikaPowerBolt[];
|
||||
extern const u8 gSlotMachineReelSymbol1Tiles[];
|
||||
extern const u8 gSlotMachineReelSymbol2Tiles[];
|
||||
extern const u8 gSlotMachineReelSymbol3Tiles[];
|
||||
@@ -4858,19 +4858,18 @@ extern const u8 gSlotMachineNumber6Tiles[];
|
||||
extern const u8 gSlotMachineNumber7Tiles[];
|
||||
extern const u8 gSlotMachineNumber8Tiles[];
|
||||
extern const u8 gSlotMachineNumber9Tiles[];
|
||||
extern const u8 gUnknown_08DD19F8[];
|
||||
extern const u8 gSlotMachineReelBackground_Tilemap[];
|
||||
extern const u32 gSlotMachineMenu_Gfx[];
|
||||
extern const u16 gSlotMachineMenu_Tilemap[];
|
||||
extern const u16 gUnknown_08DCEC70[];
|
||||
extern const u16 gSlotMachineInfoBox_Tilemap[];
|
||||
extern const u16 gSlotMachineMenu_Pal[];
|
||||
extern const u16 gUnknown_08DCF230[];
|
||||
extern const u16 gUnknown_08DCF170[];
|
||||
extern const u16 gUnknown_08DCF1B0[];
|
||||
extern const u16 gSlotMachineReelTime_Pal[];
|
||||
extern const u16 gUnknown_08DCF1F0[];
|
||||
extern const u16 gUnknown_08DCF210[];
|
||||
extern const u16 gUnknown_08DCF230[];
|
||||
extern const u16 gUnknown_08DCF190[];
|
||||
extern const u16 gSlotMachineReelSymbols_Pal[];
|
||||
extern const u16 gSlotMachineReelTimeMisc_Pal[];
|
||||
extern const u16 gSlotMachineReelTimeMachine_Pal[];
|
||||
extern const u16 gSlotMachineMisc_Pal[];
|
||||
extern const u16 gSlotMachineReelTimeExplosion_Pal[];
|
||||
extern const u16 gSlotMachineDigitalDisplay_Pal[];
|
||||
extern const u16 gSlotMachineReelTimePikachu_Pal[];
|
||||
|
||||
extern const u32 gBattleAnimBgTilemap_Sandstorm[];
|
||||
extern const u32 gBattleAnimBgImage_Sandstorm[];
|
||||
@@ -4919,13 +4918,13 @@ extern const u32 gPartyMenuPokeball_Pal[];
|
||||
extern const u32 gStatusPal_Icons[];
|
||||
|
||||
// Roulette
|
||||
extern const u32 gRouletteMenuTiles[];
|
||||
extern const u32 gRouletteWheelTiles[];
|
||||
extern const u32 gRouletteMenu_Gfx[];
|
||||
extern const u32 gRouletteWheel_Gfx[];
|
||||
extern const u32 gRouletteCenter_Gfx[];
|
||||
extern const u32 gRouletteHeadersTiles[];
|
||||
extern const u32 gRouletteCreditTiles[];
|
||||
extern const u32 gRouletteNumbersTiles[];
|
||||
extern const u32 gRouletteMultiplierTiles[];
|
||||
extern const u32 gRouletteHeaders_Gfx[];
|
||||
extern const u32 gRouletteCredit_Gfx[];
|
||||
extern const u32 gRouletteNumbers_Gfx[];
|
||||
extern const u32 gRouletteMultiplier_Gfx[];
|
||||
|
||||
// Contest util
|
||||
extern const u32 gContestResults_Gfx[];
|
||||
|
||||
@@ -49,11 +49,11 @@
|
||||
(((status) & LINK_STAT_ERRORS) >> LINK_STAT_ERRORS_SHIFT)
|
||||
|
||||
#define LINKCMD_SEND_LINK_TYPE 0x2222
|
||||
#define LINKCMD_0x2FFE 0x2FFE
|
||||
#define LINKCMD_READY_EXIT_STANDBY 0x2FFE
|
||||
#define LINKCMD_SEND_HELD_KEYS 0x4444
|
||||
#define LINKCMD_0x5555 0x5555
|
||||
#define LINKCMD_0x5566 0x5566
|
||||
#define LINKCMD_0x5FFF 0x5FFF
|
||||
#define LINKCMD_READY_CLOSE_LINK 0x5FFF
|
||||
#define LINKCMD_0x6666 0x6666
|
||||
#define LINKCMD_0x7777 0x7777
|
||||
#define LINKCMD_CONT_BLOCK 0x8888
|
||||
@@ -64,7 +64,7 @@
|
||||
#define LINKCMD_INIT_BLOCK 0xBBBB
|
||||
#define LINKCMD_READY_CANCEL_TRADE 0xBBCC
|
||||
#define LINKCMD_SEND_HELD_KEYS_2 0xCAFE
|
||||
#define LINKCMD_0xCCCC 0xCCCC
|
||||
#define LINKCMD_SEND_BLOCK_REQ 0xCCCC
|
||||
#define LINKCMD_START_TRADE 0xCCDD
|
||||
#define LINKCMD_CONFIRM_FINISH_TRADE 0xDCBA
|
||||
#define LINKCMD_SET_MONS_TO_TRADE 0xDDDD
|
||||
@@ -273,11 +273,11 @@ bool32 InUnionRoom(void);
|
||||
void LoadWirelessStatusIndicatorSpriteGfx(void);
|
||||
bool8 IsLinkTaskFinished(void);
|
||||
void CreateWirelessStatusIndicatorSprite(u8, u8);
|
||||
void sub_800ADF8(void);
|
||||
void SetLinkStandbyCallback(void);
|
||||
void SetWirelessCommType1(void);
|
||||
void CheckShouldAdvanceLinkState(void);
|
||||
u8 IsLinkMaster(void);
|
||||
void sub_800AC34(void);
|
||||
void SetCloseLinkCallback(void);
|
||||
bool8 HandleLinkConnection(void);
|
||||
void SetLinkDebugValues(u32 seed, u32 flags);
|
||||
void sub_800A418(void);
|
||||
@@ -305,9 +305,9 @@ extern u16 gLinkHeldKeys;
|
||||
extern u32 gLinkStatus;
|
||||
extern u8 gUnknown_030030E4;
|
||||
extern u8 gUnknown_030030E8;
|
||||
extern u8 gUnknown_030030EC[MAX_LINK_PLAYERS];
|
||||
extern u8 gUnknown_030030F0[MAX_LINK_PLAYERS];
|
||||
extern u16 gUnknown_030030F4;
|
||||
extern bool8 gReadyToExitStandby[MAX_LINK_PLAYERS];
|
||||
extern bool8 gReadyToCloseLink[MAX_LINK_PLAYERS];
|
||||
extern u16 gReadyCloseLinkType;
|
||||
extern u8 gSuppressLinkErrorMessage;
|
||||
extern u8 gWirelessCommType;
|
||||
extern bool8 gSavedLinkPlayerCount;
|
||||
@@ -334,15 +334,15 @@ bool32 LinkDummy_Return2(void);
|
||||
void SetLocalLinkPlayerId(u8);
|
||||
u8 GetSavedPlayerCount(void);
|
||||
void sub_8009FAC(void);
|
||||
bool8 sub_800A4D8(u8 a0);
|
||||
bool8 SendBlockRequest(u8 type);
|
||||
u8 GetLinkPlayerCountAsBitFlags(void);
|
||||
u8 sub_800A0C8(s32, s32);
|
||||
u8 GetSavedLinkPlayerCountAsBitFlags(void);
|
||||
void sub_800AD10(void);
|
||||
void SetCloseLinkCallbackHandleJP(void);
|
||||
void CheckLinkPlayersMatchSaved(void);
|
||||
void StartSendingKeysToLink(void);
|
||||
bool8 DoesLinkPlayerCountMatchSaved(void);
|
||||
void sub_800ABF4(u16 a0);
|
||||
void SetCloseLinkCallbackAndType(u16 type);
|
||||
bool32 IsSendingKeysToLink(void);
|
||||
u32 GetLinkRecvQueueLength(void);
|
||||
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
#define RFU_COMMAND_0x4400 0x4400
|
||||
#define RFU_COMMAND_0x8800 0x8800
|
||||
#define RFU_COMMAND_0x8900 0x8900
|
||||
#define RFU_COMMAND_0xA100 0xA100
|
||||
#define RFU_COMMAND_SEND_BLOCK_REQ 0xA100
|
||||
#define RFU_COMMAND_0x7700 0x7700
|
||||
#define RFU_COMMAND_0x7800 0x7800
|
||||
#define RFU_COMMAND_0x6600 0x6600
|
||||
#define RFU_COMMAND_0x5F00 0x5F00
|
||||
#define RFU_COMMAND_READY_EXIT_STANDBY 0x6600
|
||||
#define RFU_COMMAND_READY_CLOSE_LINK 0x5F00
|
||||
#define RFU_COMMAND_0x2F00 0x2F00
|
||||
#define RFU_COMMAND_0xBE00 0xBE00
|
||||
#define RFU_COMMAND_0xEE00 0xEE00
|
||||
@@ -125,7 +125,7 @@ struct GFRfuManager
|
||||
/* 0x012 */ u16 unk_12;
|
||||
/* 0x014 */ u8 unk_14[RFU_CHILD_MAX][14];
|
||||
/* 0x04c */ u8 unk_4c[14];
|
||||
/* 0x05a */ u8 unk_5a;
|
||||
/* 0x05a */ u8 blockRequestType;
|
||||
/* 0x05b */ u8 unk_5b;
|
||||
/* 0x05c */ bool8 blockReceived[MAX_RFU_PLAYERS];
|
||||
/* 0x061 */ bool8 numBlocksReceived[MAX_RFU_PLAYERS];
|
||||
@@ -134,14 +134,14 @@ struct GFRfuManager
|
||||
/* 0x068 */ u8 filler_68[4];
|
||||
/* 0x06c */ struct RfuBlockSend sendBlock;
|
||||
/* 0x080 */ struct RfuBlockSend recvBlock[MAX_RFU_PLAYERS];
|
||||
/* 0x0e4 */ u8 unk_e4[5];
|
||||
/* 0x0e9 */ u8 unk_e9[5];
|
||||
/* 0x0e4 */ bool8 readyCloseLink[MAX_RFU_PLAYERS];
|
||||
/* 0x0e9 */ bool8 readyExitStandby[MAX_RFU_PLAYERS];
|
||||
/* 0x0ee */ vu8 errorState;
|
||||
/* 0x0ef */ bool8 isShuttingDown;
|
||||
/* 0x0f0 */ u8 linkLossRecoveryState;
|
||||
/* 0x0f1 */ u8 status;
|
||||
/* 0x0f2 */ u16 unk_f2[6];
|
||||
/* 0x0fe */ u16 unk_fe;
|
||||
/* 0x0fe */ u16 resendExitStandbyTimer;
|
||||
/* 0x100 */ u16 unk_100;
|
||||
/* 0x102 */ u8 unk_102;
|
||||
/* 0x103 */ u8 filler_103[0x10A - 0x103];
|
||||
@@ -203,11 +203,11 @@ bool32 Rfu_InitBlockSend(const u8 *src, size_t size);
|
||||
void ClearLinkRfuCallback(void);
|
||||
u8 Rfu_GetLinkPlayerCount(void);
|
||||
u8 Rfu_GetMultiplayerId(void);
|
||||
bool8 sub_8010100(u8 a0);
|
||||
bool8 Rfu_SendBlockRequest(u8 type);
|
||||
bool8 IsLinkRfuTaskFinished(void);
|
||||
bool8 Rfu_IsMaster(void);
|
||||
void task_add_05_task_del_08FA224_when_no_RfuFunc(void);
|
||||
void sub_8010434(void);
|
||||
void Rfu_SetCloseLinkCallback(void);
|
||||
void Rfu_SetLinkStandbyCallback(void);
|
||||
void ResetLinkRfuGFLayer(void);
|
||||
void UpdateWirelessStatusIndicatorSprite(void);
|
||||
void InitRFU(void);
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
#define MENU_NOTHING_CHOSEN -2
|
||||
#define MENU_B_PRESSED -1
|
||||
|
||||
#define MENU_CURSOR_DELTA_NONE 0
|
||||
#define MENU_CURSOR_DELTA_UP -1
|
||||
#define MENU_CURSOR_DELTA_DOWN 1
|
||||
#define MENU_CURSOR_DELTA_LEFT -1
|
||||
#define MENU_CURSOR_DELTA_RIGHT 1
|
||||
|
||||
enum
|
||||
{
|
||||
SAVE_MENU_NAME,
|
||||
@@ -30,7 +36,7 @@ extern const u16 gUnknown_0860F074[];
|
||||
|
||||
void FreeAllOverworldWindowBuffers(void);
|
||||
void InitStandardTextBoxWindows(void);
|
||||
void sub_8197200(void);
|
||||
void InitTextBoxGfxAndPrinters(void);
|
||||
u16 RunTextPrintersAndIsPrinter0Active(void);
|
||||
void LoadMessageBoxAndBorderGfx(void);
|
||||
void DrawDialogueFrame(u8 windowId, bool8 copyToVram);
|
||||
@@ -64,8 +70,8 @@ void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirs
|
||||
void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
|
||||
s8 Menu_ProcessInputNoWrapClearOnChoose(void);
|
||||
s8 ProcessMenuInput_other(void);
|
||||
void do_scheduled_bg_tilemap_copies_to_vram(void);
|
||||
void clear_scheduled_bg_copies_to_vram(void);
|
||||
void DoScheduledBgTilemapCopiesToVram(void);
|
||||
void ClearScheduledBgCopiesToVram(void);
|
||||
void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str);
|
||||
void DrawDialogFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 a2, u8 a3);
|
||||
void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds);
|
||||
@@ -77,7 +83,7 @@ void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress);
|
||||
void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8);
|
||||
void sub_8198DBC(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 itemCount, u8 itemCount2, const struct MenuAction *strs, const u8 *a8);
|
||||
u8 sub_8199944(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos);
|
||||
u8 sub_8199134(s8, s8);
|
||||
u8 ChangeListMenuCursorPosition(s8 deltaX, s8 deltaY);
|
||||
u8 GetStartMenuWindowId(void);
|
||||
void ListMenuLoadStdPalAt(u8, u8);
|
||||
u8 Menu_MoveCursor(s8 cursorDelta);
|
||||
|
||||
@@ -5,6 +5,15 @@
|
||||
#include "player_pc.h"
|
||||
#include "list_menu.h"
|
||||
#include "pokemon.h"
|
||||
#include "constants/berry.h"
|
||||
|
||||
#define TAG_CONDITION_MON 100
|
||||
#define TAG_CONDITION_BALL 101
|
||||
#define TAG_CONDITION_CANCEL 102
|
||||
#define TAG_CONDITION_BALL_PLACEHOLDER 103
|
||||
#define TAG_CONDITION_SPARKLE 104
|
||||
|
||||
#define MAX_CONDITION_SPARKLES 10
|
||||
|
||||
struct UnknownSubStruct_81D1ED4
|
||||
{
|
||||
@@ -12,12 +21,12 @@ struct UnknownSubStruct_81D1ED4
|
||||
u16 unk2;
|
||||
};
|
||||
|
||||
struct UnknownStruct_81D1ED4
|
||||
struct ConditionGraph
|
||||
{
|
||||
/*0x000*/ u8 unk0[4][5];
|
||||
/*0x014*/ struct UnknownSubStruct_81D1ED4 unk14[4][5];
|
||||
/*0x064*/ struct UnknownSubStruct_81D1ED4 unk64[10][5];
|
||||
/*0x12C*/ struct UnknownSubStruct_81D1ED4 unk12C[5];
|
||||
/*0x000*/ u8 unk0[4][FLAVOR_COUNT];
|
||||
/*0x014*/ struct UnknownSubStruct_81D1ED4 unk14[4][FLAVOR_COUNT];
|
||||
/*0x064*/ struct UnknownSubStruct_81D1ED4 unk64[10][FLAVOR_COUNT];
|
||||
/*0x12C*/ struct UnknownSubStruct_81D1ED4 unk12C[FLAVOR_COUNT];
|
||||
/*0x140*/ u16 unk140[66][2];
|
||||
/*0x248*/ u16 unk248[66][2];
|
||||
/*0x350*/ u16 unk350;
|
||||
@@ -32,35 +41,35 @@ u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page);
|
||||
void sub_81D1E90(struct PlayerPCItemPageStruct *page);
|
||||
void sub_81D1EC0(void);
|
||||
void sub_81D1D04(u8 a0);
|
||||
void sub_81D1ED4(struct UnknownStruct_81D1ED4 *a0);
|
||||
void sub_81D2108(struct UnknownStruct_81D1ED4 *arg0);
|
||||
void sub_81D1ED4(struct ConditionGraph *graph);
|
||||
void sub_81D2108(struct ConditionGraph *graph);
|
||||
void sub_81D21DC(u8 bg);
|
||||
void sub_81D20AC(struct UnknownStruct_81D1ED4 *arg0);
|
||||
void sub_81D2230(struct UnknownStruct_81D1ED4 *arg0);
|
||||
bool8 sub_81D20BC(struct UnknownStruct_81D1ED4 *arg0);
|
||||
bool32 sub_81D2074(struct UnknownStruct_81D1ED4 *a0);
|
||||
void sub_81D20AC(struct ConditionGraph *graph);
|
||||
void sub_81D2230(struct ConditionGraph *graph);
|
||||
bool8 sub_81D20BC(struct ConditionGraph *graph);
|
||||
bool32 TransitionConditionGraph(struct ConditionGraph *graph);
|
||||
void sub_81D2754(u8 *arg0, struct UnknownSubStruct_81D1ED4 *arg1);
|
||||
void sub_81D1F84(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 *arg1, struct UnknownSubStruct_81D1ED4 *arg2);
|
||||
void sub_81D1F84(struct ConditionGraph *graph, struct UnknownSubStruct_81D1ED4 *arg1, struct UnknownSubStruct_81D1ED4 *arg2);
|
||||
void MoveRelearnerPrintText(u8 *str);
|
||||
bool16 MoveRelearnerRunTextPrinters(void);
|
||||
void MoveRelearnerCreateYesNoMenu(void);
|
||||
u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices);
|
||||
void InitMoveRelearnerWindows(bool8 useContextWindow);
|
||||
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);
|
||||
void sub_81D3094(void *tilesDst, void *palDst, u16 boxId, u16 monId, u16 arg5, u16 arg6, bool8 arg7);
|
||||
bool8 sub_81D312C(s16 *var);
|
||||
bool8 sub_81D3150(s16 *var);
|
||||
bool8 sub_81D3178(struct UnknownStruct_81D1ED4 *arg0, s16 *arg1);
|
||||
bool8 sub_81D31A4(struct UnknownStruct_81D1ED4 *arg0, s16 *arg1);
|
||||
void sub_81D31D0(struct SpriteSheet *sheet, struct SpriteTemplate *template, struct SpritePalette *pal);
|
||||
void sub_81D321C(struct SpriteSheet *sheets, struct SpriteTemplate * template, struct SpritePalette *pals);
|
||||
void sub_81D32B0(struct SpriteSheet *sheet, struct SpritePalette *pal);
|
||||
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 GetConditionMenuMonNameAndLocString(u8 *locationDst, u8 *nameDst, u16 boxId, u16 monId, u16 partyId, u16 numMons, bool8 excludesCancel);
|
||||
void GetConditionMenuMonConditions(struct ConditionGraph *graph, u8 *sheen, u16 boxId, u16 monId, u16 partyId, u16 id, u16 numMons, bool8 excludesCancel);
|
||||
void GetConditionMenuMonGfx(void *tilesDst, void *palDst, u16 boxId, u16 monId, u16 partyId, u16 numMons, bool8 excludesCancel);
|
||||
bool8 MoveConditionMonOnscreen(s16 *x);
|
||||
bool8 MoveConditionMonOffscreen(s16 *x);
|
||||
bool8 TryUpdateConditionMonTransitionOn(struct ConditionGraph *graph, s16 *x);
|
||||
bool8 TryUpdateConditionMonTransitionOff(struct ConditionGraph *graph, s16 *x);
|
||||
void LoadConditionMonPicTemplate(struct SpriteSheet *sheet, struct SpriteTemplate *template, struct SpritePalette *pal);
|
||||
void LoadConditionSelectionIcons(struct SpriteSheet *sheets, struct SpriteTemplate * template, struct SpritePalette *pals);
|
||||
void LoadConditionSparkle(struct SpriteSheet *sheet, struct SpritePalette *pal);
|
||||
void ResetConditionSparkleSprites(struct Sprite **sprites);
|
||||
void CreateConditionSparkleSprites(struct Sprite **sprites, u8 monSpriteId, u8 count);
|
||||
void DestroyConditionSparkleSprites(struct Sprite **sprites);
|
||||
void FreeConditionSparkles(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);
|
||||
|
||||
@@ -3,91 +3,14 @@
|
||||
|
||||
#include "main.h"
|
||||
|
||||
#define KBEVENT_NONE 0
|
||||
#define KBEVENT_PRESSED_A 5
|
||||
#define KBEVENT_PRESSED_B 6
|
||||
#define KBEVENT_PRESSED_SELECT 8
|
||||
#define KBEVENT_PRESSED_START 9
|
||||
|
||||
#define KBROW_COUNT 4
|
||||
|
||||
enum
|
||||
{
|
||||
KBPAGE_LETTERS_LOWER,
|
||||
KBPAGE_LETTERS_UPPER,
|
||||
KBPAGE_SYMBOLS,
|
||||
KBPAGE_COUNT,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
enum {
|
||||
NAMING_SCREEN_PLAYER,
|
||||
NAMING_SCREEN_BOX,
|
||||
NAMING_SCREEN_CAUGHT_MON,
|
||||
NAMING_SCREEN_3,
|
||||
NAMING_SCREEN_NICKNAME,
|
||||
NAMING_SCREEN_WALDA,
|
||||
};
|
||||
|
||||
struct NamingScreenTemplate
|
||||
{
|
||||
u8 copyExistingString;
|
||||
u8 maxChars;
|
||||
u8 iconFunction;
|
||||
u8 addGenderIcon;
|
||||
u8 initialPage;
|
||||
u8 unused;
|
||||
const u8 *title;
|
||||
};
|
||||
|
||||
struct NamingScreenData {
|
||||
/*0x0*/ u8 tilemapBuffer1[0x800];
|
||||
/*0x800*/ u8 tilemapBuffer2[0x800];
|
||||
/*0x800*/ u8 tilemapBuffer3[0x800];
|
||||
/*0x1800*/ u8 textBuffer[0x10];
|
||||
/*0x1810*/ u8 tileBuffer[0x600];
|
||||
/*0x1E10*/ u8 state;
|
||||
/*0x1E11*/ u8 windows[5];
|
||||
/*0x1E16*/ u16 inputCharBaseXPos;
|
||||
/*0x1E18*/ u16 bg1vOffset;
|
||||
/*0x1E1A*/ u16 bg2vOffset;
|
||||
/*0x1E1C*/ u16 bg1Priority;
|
||||
/*0x1E1E*/ u16 bg2Priority;
|
||||
/*0x1E20*/ u8 bgToReveal;
|
||||
/*0x1E21*/ u8 bgToHide;
|
||||
/*0x1E22*/ u8 currentPage;
|
||||
/*0x1E23*/ u8 cursorSpriteId;
|
||||
/*0x1E24*/ u8 selectBtnFrameSpriteId;
|
||||
/*0x1E25*/ u8 keyRepeatStartDelayCopy;
|
||||
/*0x1E28*/ const struct NamingScreenTemplate *template;
|
||||
/*0x1E2C*/ u8 templateNum;
|
||||
/*0x1E30*/ u8 *destBuffer;
|
||||
/*0x1E34*/ u16 monSpecies;
|
||||
/*0x1E36*/ u16 monGender;
|
||||
/*0x1E38*/ u32 monPersonality;
|
||||
/*0x1E3C*/ MainCallback returnCallback;
|
||||
};
|
||||
|
||||
|
||||
enum
|
||||
{
|
||||
MAIN_STATE_BEGIN_FADE_IN,
|
||||
MAIN_STATE_WAIT_FADE_IN,
|
||||
MAIN_STATE_HANDLE_INPUT,
|
||||
MAIN_STATE_MOVE_TO_OK_BUTTON,
|
||||
MAIN_STATE_START_PAGE_SWAP,
|
||||
MAIN_STATE_WAIT_PAGE_SWAP,
|
||||
MAIN_STATE_6,
|
||||
MAIN_STATE_UPDATE_SENT_TO_PC_MESSAGE,
|
||||
MAIN_STATE_BEGIN_FADE_OUT,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
INPUT_STATE_DISABLED,
|
||||
INPUT_STATE_ENABLED,
|
||||
INPUT_STATE_2,
|
||||
};
|
||||
|
||||
void DoNamingScreen(u8 templateNum, u8 *destBuffer, u16 monSpecies, u16 monGender, u32 monPersonality, MainCallback returnCallback);
|
||||
|
||||
#endif // GUARD_NAMING_SCREEN_H
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
#define MOVEMENT_MODE_FROZEN 1
|
||||
#define MOVEMENT_MODE_SCRIPTED 2
|
||||
|
||||
#define SKIP_OBJECT_EVENT_LOAD 1
|
||||
|
||||
struct InitialPlayerAvatarState
|
||||
{
|
||||
u8 transitionFlags;
|
||||
@@ -99,8 +101,7 @@ void SetDefaultFlashLevel(void);
|
||||
void Overworld_SetFlashLevel(s32 flashLevel);
|
||||
u8 Overworld_GetFlashLevel(void);
|
||||
void SetCurrentMapLayout(u16 mapLayoutId);
|
||||
void sub_8085540(u8 var);
|
||||
u8 sub_808554C(void);
|
||||
void SetObjectEventLoadFlag(u8 var);
|
||||
u16 GetLocationMusic(struct WarpData *warp);
|
||||
u16 GetCurrLocationDefaultMusic(void);
|
||||
u16 GetWarpDestinationMusic(void);
|
||||
@@ -135,11 +136,9 @@ void SetUnusedCallback(void *a0);
|
||||
void CB2_NewGame(void);
|
||||
void CB2_WhiteOut(void);
|
||||
void CB2_LoadMap(void);
|
||||
void sub_8086024(void);
|
||||
void CB2_ReturnToFieldContestHall(void);
|
||||
void CB2_ReturnToFieldCableClub(void);
|
||||
void CB2_ReturnToField(void);
|
||||
void CB2_ReturnToFieldLocal(void);
|
||||
void CB2_ReturnToFieldLink(void);
|
||||
void CB2_ReturnToFieldFromMultiplayer(void);
|
||||
void CB2_ReturnToFieldWithOpenMenu(void);
|
||||
void CB2_ReturnToFieldContinueScript(void);
|
||||
|
||||
83
include/palette_util.h
Normal file
83
include/palette_util.h
Normal file
@@ -0,0 +1,83 @@
|
||||
#ifndef GUARD_PALETTE_UTIL_H
|
||||
#define GUARD_PALETTE_UTIL_H
|
||||
|
||||
struct PulseBlendSettings
|
||||
{
|
||||
u16 blendColor;
|
||||
u16 paletteOffset;
|
||||
u8 numColors;
|
||||
u8 delay;
|
||||
u8 numFadeCycles;
|
||||
s8 maxBlendCoeff:4;
|
||||
s8 fadeType:2;
|
||||
s8 restorePaletteOnUnload:1;
|
||||
s8 unk7_7:1;
|
||||
};
|
||||
|
||||
struct PulseBlendPalette
|
||||
{
|
||||
u8 paletteSelector;
|
||||
u8 blendCoeff:4;
|
||||
u8 fadeDirection:1;
|
||||
s8 unk1_5:1;
|
||||
s8 available:1;
|
||||
u32 inUse:1;
|
||||
u8 delayCounter;
|
||||
u8 fadeCycleCounter;
|
||||
struct PulseBlendSettings pulseBlendSettings;
|
||||
};
|
||||
|
||||
struct PulseBlend
|
||||
{
|
||||
u16 usedPulseBlendPalettes;
|
||||
struct PulseBlendPalette pulseBlendPalettes[16];
|
||||
};
|
||||
|
||||
|
||||
#define FLASHUTIL_USE_EXISTING_COLOR (1 << 15)
|
||||
|
||||
struct RouletteFlashSettings
|
||||
{
|
||||
u16 color;
|
||||
u16 paletteOffset;
|
||||
u8 numColors;
|
||||
u8 delay;
|
||||
s8 unk6; // Set but never used
|
||||
s8 numFadeCycles:5;
|
||||
s8 unk7_5:2; // Set but never used
|
||||
s8 colorDeltaDir:1;
|
||||
};
|
||||
|
||||
struct RouletteFlashPalette
|
||||
{
|
||||
u8 state:7;
|
||||
bool8 available:1;
|
||||
u8 delayCounter;
|
||||
s8 fadeCycleCounter;
|
||||
s8 colorDelta;
|
||||
struct RouletteFlashSettings settings;
|
||||
};
|
||||
|
||||
struct RouletteFlashUtil
|
||||
{
|
||||
u8 enabled;
|
||||
u8 unused;
|
||||
u16 flags;
|
||||
struct RouletteFlashPalette palettes[16];
|
||||
};
|
||||
|
||||
int InitPulseBlendPaletteSettings(struct PulseBlend *, const struct PulseBlendSettings *);
|
||||
void InitPulseBlend(struct PulseBlend *);
|
||||
void MarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8);
|
||||
void UnloadUsedPulseBlendPalettes(struct PulseBlend *, u16, u8);
|
||||
void UnmarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8);
|
||||
void UpdatePulseBlend(struct PulseBlend *);
|
||||
void ClearTilemapRect(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height);
|
||||
void SetTilemapRect(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height);
|
||||
void RouletteFlash_Run(struct RouletteFlashUtil *r0);
|
||||
void RouletteFlash_Reset(struct RouletteFlashUtil *r0);
|
||||
u8 RouletteFlash_Add(struct RouletteFlashUtil *r0, u8 r1, const struct RouletteFlashSettings *r2);
|
||||
void RouletteFlash_Stop(struct RouletteFlashUtil *r0, u16 r1);
|
||||
void RouletteFlash_Enable(struct RouletteFlashUtil *r0, u16 r1);
|
||||
|
||||
#endif // GUARD_PALETTE_UTIL_H
|
||||
@@ -254,7 +254,7 @@ extern const u16 *const gLevelUpLearnsets[];
|
||||
extern const u8 gPPUpGetMask[];
|
||||
extern const u8 gPPUpSetMask[];
|
||||
extern const u8 gPPUpAddMask[];
|
||||
extern const u8 gStatStageRatios[][2];
|
||||
extern const u8 gStatStageRatios[MAX_STAT_STAGE + 1][2];
|
||||
extern const u16 gLinkPlayerFacilityClasses[];
|
||||
extern const struct SpriteTemplate gUnknown_08329D98[];
|
||||
extern const s8 gNatureStatTable[][5];
|
||||
|
||||
@@ -391,7 +391,7 @@ u32 sub_81CD070(void);
|
||||
void sub_81CD1C0(void);
|
||||
bool32 sub_81CD3C4(void);
|
||||
bool32 sub_81CDD5C(void);
|
||||
struct UnknownStruct_81D1ED4 *sub_81CDC70(void);
|
||||
struct ConditionGraph *sub_81CDC70(void);
|
||||
u16 sub_81CDC60(void);
|
||||
u16 sub_81CDC50(void);
|
||||
u8 sub_81CDDB0(void);
|
||||
|
||||
@@ -1,34 +1,6 @@
|
||||
#ifndef GUARD_ROULETTE_H
|
||||
#define GUARD_ROULETTE_H
|
||||
|
||||
struct UnkStruct1
|
||||
{
|
||||
u16 var00;
|
||||
u16 var02;
|
||||
u8 var04;
|
||||
u8 var05;
|
||||
u8 var06;
|
||||
s8 var07_0:5;
|
||||
s8 var07_5:2;
|
||||
s8 var07_7:1;
|
||||
};
|
||||
|
||||
struct UnkStruct3
|
||||
{
|
||||
u8 var00_0:7;
|
||||
u8 var00_7:1;
|
||||
u8 var01;
|
||||
s8 var02;
|
||||
s8 var03;
|
||||
struct UnkStruct1 var04;
|
||||
};
|
||||
|
||||
struct UnkStruct0
|
||||
{
|
||||
u8 var00;
|
||||
u8 var01;
|
||||
u16 var02; //flag for each UnkStruct3
|
||||
struct UnkStruct3 var04[0x10];
|
||||
};
|
||||
void PlayRoulette(void);
|
||||
|
||||
#endif // GUARD_ROULETTE_H
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
#ifndef GUARD_ROULETTE_UTIL_H
|
||||
#define GUARD_ROULETTE_UTIL_H
|
||||
|
||||
#include "roulette.h"
|
||||
|
||||
struct PulseBlendSettings
|
||||
{
|
||||
u16 blendColor;
|
||||
u16 paletteOffset;
|
||||
u8 numColors;
|
||||
u8 delay;
|
||||
u8 numFadeCycles;
|
||||
s8 maxBlendCoeff:4;
|
||||
s8 fadeType:2;
|
||||
s8 restorePaletteOnUnload:1;
|
||||
s8 unk7_7:1;
|
||||
};
|
||||
|
||||
struct PulseBlendPalette
|
||||
{
|
||||
u8 paletteSelector;
|
||||
u8 blendCoeff:4;
|
||||
u8 fadeDirection:1;
|
||||
s8 unk1_5:1;
|
||||
s8 available:1;
|
||||
u32 inUse:1;
|
||||
u8 delayCounter;
|
||||
u8 fadeCycleCounter;
|
||||
struct PulseBlendSettings pulseBlendSettings;
|
||||
};
|
||||
|
||||
struct PulseBlend
|
||||
{
|
||||
u16 usedPulseBlendPalettes;
|
||||
struct PulseBlendPalette pulseBlendPalettes[16];
|
||||
};
|
||||
|
||||
int InitPulseBlendPaletteSettings(struct PulseBlend *, const struct PulseBlendSettings *);
|
||||
void InitPulseBlend(struct PulseBlend *);
|
||||
void MarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8);
|
||||
void UnloadUsedPulseBlendPalettes(struct PulseBlend *, u16, u8);
|
||||
void UnmarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8);
|
||||
void UpdatePulseBlend(struct PulseBlend *);
|
||||
void sub_8152008(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height);
|
||||
void sub_8152058(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height);
|
||||
void task_tutorial_controls_fadein(struct UnkStruct0 *r0);
|
||||
void sub_8151678(struct UnkStruct0 *r0);
|
||||
u8 sub_815168C(struct UnkStruct0 *r0, u8 r1, const struct UnkStruct1 *r2);
|
||||
void sub_8151A9C(struct UnkStruct0 *r0, u16 r1);
|
||||
void sub_8151A48(struct UnkStruct0 *r0, u16 r1);
|
||||
|
||||
#endif // GUARD_ROULETTE_UTIL_H
|
||||
@@ -1,10 +0,0 @@
|
||||
#ifndef GUARD_SCRIPTPOKE80F8_H
|
||||
#define GUARD_SCRIPTPOKE80F8_H
|
||||
|
||||
void ShowContestWinner(void);
|
||||
u8 ScriptGiveMon(u16, u8, u16, u32, u32, u8);
|
||||
u8 ScriptGiveEgg(u16);
|
||||
void CreateScriptedWildMon(u16, u8, u16);
|
||||
void ScriptSetMonMoveSlot(u8, u16, u8);
|
||||
|
||||
#endif
|
||||
11
include/script_pokemon_util.h
Normal file
11
include/script_pokemon_util.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#ifndef GUARD_SCRIPT_POKEMON_UTIL
|
||||
#define GUARD_SCRIPT_POKEMON_UTIL
|
||||
|
||||
u8 ScriptGiveMon(u16, u8, u16, u32, u32, u8);
|
||||
u8 ScriptGiveEgg(u16);
|
||||
void CreateScriptedWildMon(u16, u8, u16);
|
||||
void ScriptSetMonMoveSlot(u8, u16, u8);
|
||||
void ReducePlayerPartyToSelectedMons(void);
|
||||
void HealPlayerParty(void);
|
||||
|
||||
#endif // GUARD_SCRIPT_POKEMON_UTIL
|
||||
@@ -1,9 +0,0 @@
|
||||
#ifndef GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
|
||||
#define GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
|
||||
|
||||
u16 GetContestRand(void);
|
||||
void ReducePlayerPartyToSelectedMons(void);
|
||||
void HealPlayerParty(void);
|
||||
u8 CountPlayerContestPaintings(void);
|
||||
|
||||
#endif // GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
|
||||
@@ -84,10 +84,29 @@ extern const u8 gText_SoSo[];
|
||||
extern const u8 gText_Bad[];
|
||||
extern const u8 gText_TheWorst[];
|
||||
|
||||
extern const u8 Roulette_Text_ControlsInstruction[];
|
||||
extern const u8 Roulette_Text_KeepPlaying[];
|
||||
extern const u8 Roulette_Text_Jackpot[];
|
||||
extern const u8 Roulette_Text_ItsAHit[];
|
||||
extern const u8 Roulette_Text_NothingDoing[];
|
||||
extern const u8 Roulette_Text_YouveWonXCoins[];
|
||||
extern const u8 Roulette_Text_BoardWillBeCleared[];
|
||||
extern const u8 Roulette_Text_CoinCaseIsFull[];
|
||||
extern const u8 Roulette_Text_NoCoinsLeft[];
|
||||
extern const u8 Roulette_Text_PlayMinimumWagerIsX[];
|
||||
extern const u8 Roulette_Text_SpecialRateTable[];
|
||||
extern const u8 Roulette_Text_NotEnoughCoins[];
|
||||
|
||||
extern const u8 gText_Slots[];
|
||||
extern const u8 gText_Roulette[];
|
||||
extern const u8 gText_Jackpot[];
|
||||
|
||||
extern const u8 gText_YouDontHaveThreeCoins[];
|
||||
extern const u8 gText_QuitTheGame[];
|
||||
extern const u8 gText_YouveGot9999Coins[];
|
||||
extern const u8 gText_YouveRunOutOfCoins[];
|
||||
extern const u8 gText_ReelTimeHelp[];
|
||||
|
||||
extern const u8 gText_First[];
|
||||
extern const u8 gText_Second[];
|
||||
extern const u8 gText_Third[];
|
||||
|
||||
@@ -20,7 +20,7 @@ void LoadUserWindowBorderGfx_(u8 windowId, u16 destOffset, u8 palOffset);
|
||||
void DrawTextBorderOuter(u8 windowId, u16 tileNum, u8 palNum);
|
||||
void DrawTextBorderInner(u8 windowId, u16 tileNum, u8 palNum);
|
||||
void rbox_fill_rectangle(u8 windowId);
|
||||
const u16 *stdpal_get(u8 id);
|
||||
const u16 *GetTextWindowPalette(u8 id);
|
||||
const u16 *GetOverworldTextboxPalettePtr(void);
|
||||
void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset);
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ void FillHillTrainerParty(void);
|
||||
void FillHillTrainersParties(void);
|
||||
u8 GetTrainerEncounterMusicIdInTrainerHill(u16 trainerId);
|
||||
u8 GetNumFloorsInTrainerHillChallenge(void);
|
||||
void sub_81D64C0(void);
|
||||
bool32 sub_81D6534(void);
|
||||
void TryLoadTrainerHillEReaderPalette(void);
|
||||
bool32 OnTrainerHillEReaderChallengeFloor(void);
|
||||
|
||||
#endif // GUARD_TRAINER_HILL_H
|
||||
|
||||
14
include/tv.h
14
include/tv.h
@@ -30,12 +30,12 @@ void AlertTVThatPlayerPlayedSlotMachine(u16 nCoinsSpent);
|
||||
void AlertTVThatPlayerPlayedRoulette(u16 nCoinsSpent);
|
||||
void AlertTVOfNewCoinTotal(u16 nCoinsPaidOut);
|
||||
void TryPutSecretBaseSecretsOnAir(void);
|
||||
void sub_80EDB44(void);
|
||||
void TryPutTodaysRivalTrainerOnAir(void);
|
||||
void sub_80EDC60(const u16 *words);
|
||||
void sub_80EDA80(void);
|
||||
void ReceivePokeNewsData(void *src, u32 size, u8 masterIdx);
|
||||
void sub_80F0BB8(void);
|
||||
void sub_80ED950(bool8 flag);
|
||||
void RecordFishingAttemptForTV(bool8 caughtFish);
|
||||
void IncrementDailySlotsUses(void);
|
||||
void IncrementDailyRouletteUses(void);
|
||||
void IncrementDailyWildBattles(void);
|
||||
@@ -59,11 +59,11 @@ void SaveRecordedItemPurchasesForTVShow(void);
|
||||
bool8 ShouldAirFrontierTVShow(void);
|
||||
void sub_80EE8C8(u16 winStreak, u8 facilityAndMode);
|
||||
void BravoTrainerPokemonProfile_BeforeInterview2(u8 contestStandingPlace);
|
||||
void ContestLiveUpdates_BeforeInterview_1(u8 a0);
|
||||
void ContestLiveUpdates_BeforeInterview_2(u8 a0);
|
||||
void ContestLiveUpdates_BeforeInterview_3(u8 a0);
|
||||
void ContestLiveUpdates_BeforeInterview_4(u16 a0);
|
||||
void ContestLiveUpdates_BeforeInterview_5(u8 a0, u8 a1);
|
||||
void ContestLiveUpdates_Init(u8 round1Placing);
|
||||
void ContestLiveUpdates_SetRound2Placing(u8 round2Placing);
|
||||
void ContestLiveUpdates_SetWinnerAppealFlag(u8 flag);
|
||||
void ContestLiveUpdates_SetWinnerMoveUsed(u16 move);
|
||||
void ContestLiveUpdates_SetLoserData(u8 flag, u8 loser);
|
||||
void ResetGabbyAndTy(void);
|
||||
|
||||
#endif //GUARD_TV_H
|
||||
|
||||
Reference in New Issue
Block a user