merge w pret

This commit is contained in:
ghoulslash
2021-11-05 09:22:24 -04:00
304 changed files with 7956 additions and 7231 deletions

View File

@@ -1,12 +1,11 @@
#ifndef GUARD_BATTLE_TRANSITION_H
#define GUARD_BATTLE_TRANSITION_H
void TestBattleTransition(u8 transitionId);
void BattleTransition_StartOnField(u8 transitionId);
void BattleTransition_Start(u8 transitionId);
bool8 IsBattleTransitionDone(void);
bool8 FldEff_Pokeball(void);
void TransitionPhase1_Task_RunFuncs(u8 taskId);
bool8 FldEff_PokeballTrail(void);
void Task_BattleTransition_Intro(u8 taskId);
void GetBg0TilesDst(u16 **tilemap, u16 **tileset);
extern const struct SpritePalette gSpritePalette_Pokeball;
@@ -26,13 +25,13 @@ enum {
B_TRANSITION_SHUFFLE,
B_TRANSITION_BIG_POKEBALL,
B_TRANSITION_POKEBALLS_TRAIL,
B_TRANSITION_CLOCKWISE_BLACKFADE,
B_TRANSITION_CLOCKWISE_WIPE,
B_TRANSITION_RIPPLE,
B_TRANSITION_WAVE,
B_TRANSITION_SLICE,
B_TRANSITION_WHITEFADE,
B_TRANSITION_WHITE_BARS_FADE,
B_TRANSITION_GRID_SQUARES,
B_TRANSITION_SHARDS,
B_TRANSITION_ANGLED_WIPES,
B_TRANSITION_SIDNEY,
B_TRANSITION_PHOEBE,
B_TRANSITION_GLACIA,
@@ -47,8 +46,8 @@ enum {
B_TRANSITION_GROUDON,
B_TRANSITION_RAYQUAZA,
B_TRANSITION_SHRED_SPLIT,
B_TRANSITION_BLACKHOLE1,
B_TRANSITION_BLACKHOLE2,
B_TRANSITION_BLACKHOLE,
B_TRANSITION_BLACKHOLE_PULSATE,
B_TRANSITION_RECTANGULAR_SPIRAL,
B_TRANSITION_FRONTIER_LOGO_WIGGLE,
B_TRANSITION_FRONTIER_LOGO_WAVE,

View File

@@ -1,13 +1,13 @@
#ifndef GUARD_BATTLE_TRANSITION_FRONTIER_H
#define GUARD_BATTLE_TRANSITION_FRONTIER_H
void Phase2Task_FrontierCirclesMeet(u8 taskId);
void Phase2Task_FrontierCirclesCross(u8 taskId);
void Phase2Task_FrontierCirclesAsymmetricSpiral(u8 taskId);
void Phase2Task_FrontierCirclesSymmetricSpiral(u8 taskId);
void Phase2Task_FrontierCirclesMeetInSeq(u8 taskId);
void Phase2Task_FrontierCirclesCrossInSeq(u8 taskId);
void Phase2Task_FrontierCirclesAsymmetricSpiralInSeq(u8 taskId);
void Phase2Task_FrontierCirclesSymmetricSpiralInSeq(u8 taskId);
void Task_FrontierCirclesMeet(u8 taskId);
void Task_FrontierCirclesCross(u8 taskId);
void Task_FrontierCirclesAsymmetricSpiral(u8 taskId);
void Task_FrontierCirclesSymmetricSpiral(u8 taskId);
void Task_FrontierCirclesMeetInSeq(u8 taskId);
void Task_FrontierCirclesCrossInSeq(u8 taskId);
void Task_FrontierCirclesAsymmetricSpiralInSeq(u8 taskId);
void Task_FrontierCirclesSymmetricSpiralInSeq(u8 taskId);
#endif // GUARD_BATTLE_TRANSITION_FRONTIER_H

View File

@@ -17,11 +17,11 @@ struct BikeHistoryInputInfo
// Player speeds
enum
{
SPEED_STANDING,
SPEED_NORMAL,
SPEED_FAST,
SPEED_FASTER,
SPEED_FASTEST,
BIKE_SPEED_STANDING,
BIKE_SPEED_NORMAL,
BIKE_SPEED_FAST,
BIKE_SPEED_FASTER,
BIKE_SPEED_FASTEST,
};
// mach bike transitions enum

View File

@@ -342,9 +342,9 @@
#define BG_FISSURE 21
#define BG_BUG_OPPONENT 22
#define BG_BUG_PLAYER 23
#define BG_SOLARBEAM_OPPONENT 24
#define BG_SOLARBEAM_PLAYER 25
#define BG_SOLARBEAM_CONTESTS 26
#define BG_SOLAR_BEAM_OPPONENT 24
#define BG_SOLAR_BEAM_PLAYER 25
#define BG_SOLAR_BEAM_CONTESTS 26
// table ids for general animations (gBattleAnims_General)
#define B_ANIM_CASTFORM_CHANGE 0

View File

@@ -17,11 +17,6 @@
#define FACILITY_UNION_ROOM 8
#define FACILITY_MULTI_OR_EREADER 9 // Direct Corner multi battles, multi battle with Steven, and e-Reader battles
// Battle Frontier lvl modes.
#define FRONTIER_LVL_50 0
#define FRONTIER_LVL_OPEN 1
#define FRONTIER_LVL_TENT 2
// Battle Frontier battle modes.
#define FRONTIER_MODE_SINGLES 0
#define FRONTIER_MODE_DOUBLES 1
@@ -53,28 +48,28 @@
// These sets of facility ids would be redundant if the order was consistent
// The order is important for this set so that all the non-link records can be continuous
#define RANKING_HALL_BATTLE_TOWER_SINGLES 0
#define RANKING_HALL_BATTLE_TOWER_DOUBLES 1
#define RANKING_HALL_BATTLE_TOWER_MULTIS 2
#define RANKING_HALL_BATTLE_DOME 3
#define RANKING_HALL_BATTLE_PALACE 4
#define RANKING_HALL_BATTLE_ARENA 5
#define RANKING_HALL_BATTLE_FACTORY 6
#define RANKING_HALL_BATTLE_PIKE 7
#define RANKING_HALL_BATTLE_PYRAMID 8
#define RANKING_HALL_BATTLE_TOWER_LINK 9
#define RANKING_HALL_TOWER_SINGLES 0
#define RANKING_HALL_TOWER_DOUBLES 1
#define RANKING_HALL_TOWER_MULTIS 2
#define RANKING_HALL_DOME 3
#define RANKING_HALL_PALACE 4
#define RANKING_HALL_ARENA 5
#define RANKING_HALL_FACTORY 6
#define RANKING_HALL_PIKE 7
#define RANKING_HALL_PYRAMID 8
#define RANKING_HALL_TOWER_LINK 9
#define FRONTIER_MANIAC_BATTLE_TOWER_SINGLES 0
#define FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES 1
#define FRONTIER_MANIAC_BATTLE_TOWER_MULTIS 2
#define FRONTIER_MANIAC_BATTLE_TOWER_LINK 3
#define FRONTIER_MANIAC_BATTLE_DOME 4
#define FRONTIER_MANIAC_BATTLE_FACTORY 5
#define FRONTIER_MANIAC_BATTLE_PALACE 6
#define FRONTIER_MANIAC_BATTLE_ARENA 7
#define FRONTIER_MANIAC_BATTLE_PIKE 8
#define FRONTIER_MANIAC_BATTLE_PYRAMID 9
#define FRONTIER_MANIAC_FACILITY_COUNT 10
#define FRONTIER_MANIAC_TOWER_SINGLES 0
#define FRONTIER_MANIAC_TOWER_DOUBLES 1
#define FRONTIER_MANIAC_TOWER_MULTIS 2
#define FRONTIER_MANIAC_TOWER_LINK 3
#define FRONTIER_MANIAC_DOME 4
#define FRONTIER_MANIAC_FACTORY 5
#define FRONTIER_MANIAC_PALACE 6
#define FRONTIER_MANIAC_ARENA 7
#define FRONTIER_MANIAC_PIKE 8
#define FRONTIER_MANIAC_PYRAMID 9
#define FRONTIER_MANIAC_FACILITY_COUNT 10
#define FRONTIER_MANIAC_MESSAGE_COUNT 3

View File

@@ -152,7 +152,7 @@
#define EFFECT_FUTURE_SIGHT 148
#define EFFECT_GUST 149
#define EFFECT_FLINCH_MINIMIZE_HIT 150 // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
#define EFFECT_SOLARBEAM 151
#define EFFECT_SOLAR_BEAM 151
#define EFFECT_THUNDER 152
#define EFFECT_TELEPORT 153
#define EFFECT_BEAT_UP 154

View File

@@ -82,6 +82,7 @@
#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP 0x4E
#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT 0x4F
#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT 0x50
#define NUM_MOVEMENT_TYPES 0x51
#define MOVEMENT_ACTION_FACE_DOWN 0x0
#define MOVEMENT_ACTION_FACE_UP 0x1
@@ -128,10 +129,10 @@
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP 0x2A
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT 0x2B
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT 0x2C
#define MOVEMENT_ACTION_WALK_FASTEST_DOWN 0x2D
#define MOVEMENT_ACTION_WALK_FASTEST_UP 0x2E
#define MOVEMENT_ACTION_WALK_FASTEST_LEFT 0x2F
#define MOVEMENT_ACTION_WALK_FASTEST_RIGHT 0x30
#define MOVEMENT_ACTION_WALK_FASTER_DOWN 0x2D
#define MOVEMENT_ACTION_WALK_FASTER_UP 0x2E
#define MOVEMENT_ACTION_WALK_FASTER_LEFT 0x2F
#define MOVEMENT_ACTION_WALK_FASTER_RIGHT 0x30
#define MOVEMENT_ACTION_SLIDE_DOWN 0x31
#define MOVEMENT_ACTION_SLIDE_UP 0x32
#define MOVEMENT_ACTION_SLIDE_LEFT 0x33
@@ -245,4 +246,91 @@
#define MOVEMENT_ACTION_STEP_END 0xFE
#define MOVEMENT_ACTION_NONE 0xFF
#define ANIM_STD_FACE_SOUTH 0
#define ANIM_STD_FACE_NORTH 1
#define ANIM_STD_FACE_WEST 2
#define ANIM_STD_FACE_EAST 3
#define ANIM_STD_GO_SOUTH 4
#define ANIM_STD_GO_NORTH 5
#define ANIM_STD_GO_WEST 6
#define ANIM_STD_GO_EAST 7
#define ANIM_STD_GO_FAST_SOUTH 8
#define ANIM_STD_GO_FAST_NORTH 9
#define ANIM_STD_GO_FAST_WEST 10
#define ANIM_STD_GO_FAST_EAST 11
#define ANIM_STD_GO_FASTER_SOUTH 12
#define ANIM_STD_GO_FASTER_NORTH 13
#define ANIM_STD_GO_FASTER_WEST 14
#define ANIM_STD_GO_FASTER_EAST 15
#define ANIM_STD_GO_FASTEST_SOUTH 16
#define ANIM_STD_GO_FASTEST_NORTH 17
#define ANIM_STD_GO_FASTEST_WEST 18
#define ANIM_STD_GO_FASTEST_EAST 19
#define ANIM_STD_COUNT 20
#define ANIM_RUN_SOUTH (ANIM_STD_COUNT + 0)
#define ANIM_RUN_NORTH (ANIM_STD_COUNT + 1)
#define ANIM_RUN_WEST (ANIM_STD_COUNT + 2)
#define ANIM_RUN_EAST (ANIM_STD_COUNT + 3)
#define ANIM_BUNNY_HOPPY_BACK_WHEEL_SOUTH (ANIM_STD_COUNT + 0)
#define ANIM_BUNNY_HOPPY_BACK_WHEEL_NORTH (ANIM_STD_COUNT + 1)
#define ANIM_BUNNY_HOPPY_BACK_WHEEL_WEST (ANIM_STD_COUNT + 2)
#define ANIM_BUNNY_HOPPY_BACK_WHEEL_EAST (ANIM_STD_COUNT + 3)
#define ANIM_BUNNY_HOPPY_FRONT_WHEEL_SOUTH (ANIM_STD_COUNT + 4)
#define ANIM_BUNNY_HOPPY_FRONT_WHEEL_NORTH (ANIM_STD_COUNT + 5)
#define ANIM_BUNNY_HOPPY_FRONT_WHEEL_WEST (ANIM_STD_COUNT + 6)
#define ANIM_BUNNY_HOPPY_FRONT_WHEEL_EAST (ANIM_STD_COUNT + 7)
#define ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH (ANIM_STD_COUNT + 8)
#define ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH (ANIM_STD_COUNT + 9)
#define ANIM_STANDING_WHEELIE_BACK_WHEEL_WEST (ANIM_STD_COUNT + 10)
#define ANIM_STANDING_WHEELIE_BACK_WHEEL_EAST (ANIM_STD_COUNT + 11)
#define ANIM_STANDING_WHEELIE_FRONT_WHEEL_SOUTH (ANIM_STD_COUNT + 12)
#define ANIM_STANDING_WHEELIE_FRONT_WHEEL_NORTH (ANIM_STD_COUNT + 13)
#define ANIM_STANDING_WHEELIE_FRONT_WHEEL_WEST (ANIM_STD_COUNT + 14)
#define ANIM_STANDING_WHEELIE_FRONT_WHEEL_EAST (ANIM_STD_COUNT + 15)
#define ANIM_MOVING_WHEELIE_SOUTH (ANIM_STD_COUNT + 16)
#define ANIM_MOVING_WHEELIE_NORTH (ANIM_STD_COUNT + 17)
#define ANIM_MOVING_WHEELIE_WEST (ANIM_STD_COUNT + 18)
#define ANIM_MOVING_WHEELIE_EAST (ANIM_STD_COUNT + 19)
#define ANIM_GET_ON_OFF_POKEMON_SOUTH (ANIM_STD_COUNT + 0)
#define ANIM_GET_ON_OFF_POKEMON_NORTH (ANIM_STD_COUNT + 1)
#define ANIM_GET_ON_OFF_POKEMON_WEST (ANIM_STD_COUNT + 2)
#define ANIM_GET_ON_OFF_POKEMON_EAST (ANIM_STD_COUNT + 3)
#define ANIM_NURSE_BOW (ANIM_STD_COUNT + 0)
#define ANIM_FIELD_MOVE 0
#define ANIM_STAY_STILL 0
#define ANIM_REMOVE_OBSTACLE 1
#define ANIM_TAKE_OUT_ROD_SOUTH 0
#define ANIM_TAKE_OUT_ROD_NORTH 1
#define ANIM_TAKE_OUT_ROD_WEST 2
#define ANIM_TAKE_OUT_ROD_EAST 3
#define ANIM_PUT_AWAY_ROD_SOUTH 4
#define ANIM_PUT_AWAY_ROD_NORTH 5
#define ANIM_PUT_AWAY_ROD_WEST 6
#define ANIM_PUT_AWAY_ROD_EAST 7
#define ANIM_HOOKED_POKEMON_SOUTH 8
#define ANIM_HOOKED_POKEMON_NORTH 9
#define ANIM_HOOKED_POKEMON_WEST 10
#define ANIM_HOOKED_POKEMON_EAST 11
// IDs for how NPCs that copy player movement should respond.
// Most go unused.
#define COPY_MOVE_NONE 0
#define COPY_MOVE_FACE 1
#define COPY_MOVE_WALK 2
#define COPY_MOVE_WALK_FAST 3
#define COPY_MOVE_WALK_FASTER 4
#define COPY_MOVE_SLIDE 5
#define COPY_MOVE_JUMP_IN_PLACE 6
#define COPY_MOVE_JUMP 7
#define COPY_MOVE_JUMP2 8
#define COPY_MOVE_EMPTY_1 9
#define COPY_MOVE_EMPTY_2 10
#endif // GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H

View File

@@ -46,7 +46,7 @@
#define FLDEFF_HOT_SPRINGS_WATER 42
#define FLDEFF_USE_WATERFALL 43
#define FLDEFF_USE_DIVE 44
#define FLDEFF_POKEBALL 45
#define FLDEFF_POKEBALL_TRAIL 45
#define FLDEFF_HEART_ICON 46
#define FLDEFF_NOP_47 47
#define FLDEFF_NOP_48 48
@@ -115,7 +115,7 @@
#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_POKEBALL_TRAIL 0x1009
#define FLDEFF_PAL_TAG_ASH 0x100D
#define FLDEFF_PAL_TAG_SAND_PILLAR 0x100E
#define FLDEFF_PAL_TAG_SMALL_SPARKLE 0x100F

View File

@@ -53,9 +53,20 @@
#define UNION_ROOM_KB_ROW_COUNT 10
#define GIFT_RIBBONS_COUNT 11
#define SAVED_TRENDS_COUNT 5
#define PYRAMID_BAG_ITEMS_COUNT 10
#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.
// Number of facilities for Ranking Hall.
// 7 facilities for single mode + tower double mode + tower multi mode.
// Excludes link modes. See RANKING_HALL_* in include/constants/battle_frontier.h
#define HALL_FACILITIES_COUNT 9
// Received via record mixing, 1 for each player other than yourself
#define HALL_RECORDS_COUNT 3
// Battle Frontier level modes.
#define FRONTIER_LVL_50 0
#define FRONTIER_LVL_OPEN 1
#define FRONTIER_LVL_MODE_COUNT 2
#define FRONTIER_LVL_TENT FRONTIER_LVL_MODE_COUNT // Special usage for indicating Battle Tent
#define TRAINER_ID_LENGTH 4
#define MAX_MON_MOVES 4

View File

@@ -402,7 +402,7 @@
#define ITEM_TM19_GIGA_DRAIN ITEM_TM19
#define ITEM_TM20_SAFEGUARD ITEM_TM20
#define ITEM_TM21_FRUSTRATION ITEM_TM21
#define ITEM_TM22_SOLARBEAM ITEM_TM22
#define ITEM_TM22_SOLAR_BEAM ITEM_TM22
#define ITEM_TM23_IRON_TAIL ITEM_TM23
#define ITEM_TM24_THUNDERBOLT ITEM_TM24
#define ITEM_TM25_THUNDER ITEM_TM25

View File

@@ -127,8 +127,8 @@
#define MB_BRIDGE_OVER_POND_MED_EDGE_2 0x7B
#define MB_BRIDGE_OVER_POND_HIGH_EDGE_1 0x7C
#define MB_BRIDGE_OVER_POND_HIGH_EDGE_2 0x7D
#define MB_UNUSED_BRIDGE_1 0x7E
#define MB_UNUSED_BRIDGE_2 0x7F
#define MB_UNUSED_BRIDGE 0x7E
#define MB_BIKE_BRIDGE_OVER_BARRIER 0x7F
#define MB_COUNTER 0x80
#define MB_UNUSED_81 0x81
#define MB_UNUSED_82 0x82
@@ -199,7 +199,7 @@
#define MB_HOLDS_LARGE_DECORATION 0xC3
#define MB_SECRET_BASE_TV_SHIELD 0xC4
#define MB_PLAYER_ROOM_PC_ON 0xC5
#define MB_C6 0xC6
#define MB_SECRET_BASE_DECORATION_BASE 0xC6
#define MB_SECRET_BASE_POSTER 0xC7
#define MB_UNUSED_C8 0xC8
#define MB_UNUSED_C9 0xC9

View File

@@ -3,10 +3,17 @@
#include "constants/daycare.h"
struct RecordMixingDaycareMail
{
struct DaycareMail mail[DAYCARE_MON_COUNT];
u32 numDaycareMons;
bool16 cantHoldItem[DAYCARE_MON_COUNT];
};
u8 *GetMonNickname2(struct Pokemon *mon, u8 *dest);
u8 *GetBoxMonNickname(struct BoxPokemon *mon, u8 *dest);
u8 CountPokemonInDaycare(struct DayCare *daycare);
void InitDaycareMailRecordMixing(struct DayCare *daycare, struct RecordMixingDaycareMail *daycareMail);
void InitDaycareMailRecordMixing(struct DayCare *daycare, struct RecordMixingDaycareMail *mixMail);
void StoreSelectedPokemonInDaycare(void);
u16 TakePokemonFromDaycare(void);
void GetDaycareCost(void);

View File

@@ -3,6 +3,34 @@
#include "trainer_hill.h"
enum {
EREADER_XFR_STATE_INIT = 0,
EREADER_XFR_STATE_HANDSHAKE,
EREADER_XFR_STATE_START,
EREADER_XFR_STATE_TRANSFER,
EREADER_XFR_STATE_TRANSFER_DONE,
EREADER_XFR_STATE_CHECKSUM,
EREADER_XFR_STATE_DONE
};
#define EREADER_XFER_EXE 1
#define EREADER_XFER_CHK 2
#define EREADER_XFER_SHIFT 0
#define EREADER_XFER_MASK ((EREADER_XFER_EXE | EREADER_XFER_CHK) << EREADER_XFER_SHIFT)
#define EREADER_CANCEL_TIMEOUT 1
#define EREADER_CANCEL_KEY 2
#define EREADER_CANCEL_SHIFT 2
#define EREADER_CANCEL_TIMEOUT_MASK (EREADER_CANCEL_TIMEOUT << EREADER_CANCEL_SHIFT)
#define EREADER_CANCEL_KEY_MASK (EREADER_CANCEL_KEY << EREADER_CANCEL_SHIFT)
#define EREADER_CANCEL_MASK ((EREADER_CANCEL_TIMEOUT | EREADER_CANCEL_KEY) << EREADER_CANCEL_SHIFT)
#define EREADER_CHECKSUM_OK 1
#define EREADER_CHECKSUM_ERR 2
#define EREADER_CHECKSUM_SHIFT 4
#define EREADER_CHECKSUM_OK_MASK (EREADER_CHECKSUM_OK << EREADER_CHECKSUM_SHIFT)
#define EREADER_CHECKSUM_MASK ((EREADER_CHECKSUM_OK | EREADER_CHECKSUM_ERR) << EREADER_CHECKSUM_SHIFT)
struct EReaderTrainerHillTrainer
{
u8 trainerNum;

View File

@@ -1,6 +1,8 @@
#ifndef GUARD_EVENT_OBJECT_MOVEMENT_H
#define GUARD_EVENT_OBJECT_MOVEMENT_H
#include "constants/event_object_movement.h"
enum SpinnerRunnerFollowPatterns
{
RUNFOLLOW_ANY,
@@ -136,7 +138,7 @@ u8 GetFaceDirectionMovementAction(u32);
u8 GetWalkNormalMovementAction(u32);
u8 GetWalkFastMovementAction(u32);
u8 GetRideWaterCurrentMovementAction(u32);
u8 GetWalkFastestMovementAction(u32);
u8 GetWalkFasterMovementAction(u32);
u8 GetPlayerRunMovementAction(u32);
u8 GetJumpInPlaceMovementAction(u32);
u8 GetAcroWheelieFaceDirectionMovementAction(u32);
@@ -395,13 +397,13 @@ u8 MovementType_CopyPlayer_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementType_CopyPlayer_Step2(struct ObjectEvent *, struct Sprite *);
bool8 CopyablePlayerMovement_None(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_FaceDirection(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_GoSpeed0(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_GoSpeed1(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_GoSpeed2(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_WalkNormal(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_WalkFast(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_WalkFaster(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_Slide(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 cph_IM_DIFFERENT(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_GoSpeed4(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_JumpInPlace(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_Jump(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_Jump2(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
u8 MovementType_CopyPlayerInGrass_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementType_Buried_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementType_WalkInPlace_Step0(struct ObjectEvent *, struct Sprite *);

View File

@@ -11,10 +11,10 @@ void PlayerGetDestCoords(s16 *, s16 *);
u8 GetPlayerFacingDirection(void);
u8 GetPlayerMovementDirection(void);
u8 PlayerGetCopyableMovement(void);
void PlayerGoSpeed1(u8);
void PlayerGoSpeed2(u8);
void PlayerWalkNormal(u8);
void PlayerWalkFast(u8);
void PlayerRideWaterCurrent(u8);
void PlayerGoSpeed4(u8);
void PlayerWalkFaster(u8);
void PlayerOnBikeCollide(u8);
void PlayerFaceDirection(u8 a);
void PlayerTurnInPlace(u8 a);
@@ -32,10 +32,10 @@ void PlayerOnBikeCollideWithFarawayIslandMew(u8 direction);
u8 CheckForObjectEventCollision(struct ObjectEvent *a, s16 b, s16 c, u8 d, u8 e);
u8 PlayerGetZCoord(void);
void SetPlayerAvatarTransitionFlags(u16 a);
void sub_808BCE8(void);
void CancelPlayerForcedMovement(void);
void InitPlayerAvatar(s16 a, s16 b, u8 c, u8 d);
void PlayerFreeze(void);
void sub_808BCF4(void);
void StopPlayerAvatar(void);
void SetSpinStartFacingDir(u8);
void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr);
u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8, u8);

View File

@@ -147,7 +147,7 @@ void SetNextWeather(u8 weather);
void SetCurrentAndNextWeather(u8 weather);
void SetCurrentAndNextWeatherNoDelay(u8 weather);
void ApplyWeatherGammaShiftIfIdle(s8 gammaIndex);
void sub_80ABC7C(u8 gammaIndex, u8 gammaTargetIndex, u8 gammaStepDelay);
void ApplyWeatherGammaShiftIfIdle_Gradual(u8 gammaIndex, u8 gammaTargetIndex, u8 gammaStepDelay);
void FadeScreen(u8 mode, s8 delay);
bool8 IsWeatherNotFadingIn(void);
void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex);

19
include/fonts.h Normal file
View File

@@ -0,0 +1,19 @@
#ifndef GUARD_FONTS_H
#define GUARD_FONTS_H
extern const u16 gFontNormalLatinGlyphs[];
extern const u8 gFontNormalLatinGlyphWidths[];
extern const u16 gFontNormalJapaneseGlyphs[];
extern const u16 gFontSmallLatinGlyphs[];
extern const u8 gFontSmallLatinGlyphWidths[];
extern const u16 gFontSmallJapaneseGlyphs[];
extern const u16 gFontShortLatinGlyphs[];
extern const u8 gFontShortLatinGlyphWidths[];
extern const u16 gFontShortJapaneseGlyphs[];
extern const u8 gFontShortJapaneseGlyphWidths[];
extern const u16 gFontNarrowLatinGlyphs[];
extern const u8 gFontNarrowLatinGlyphWidths[];
extern const u16 gFontSmallNarrowLatinGlyphs[];
extern const u8 gFontSmallNarrowLatinGlyphWidths[];
#endif // GUARD_FONTS_H

View File

@@ -211,7 +211,7 @@ struct ObjectEvent
/*0x1F*/ u8 previousMetatileBehavior;
/*0x20*/ u8 previousMovementDirection;
/*0x21*/ u8 directionSequenceIndex;
/*0x22*/ u8 playerCopyableMovement;
/*0x22*/ u8 playerCopyableMovement; // COPY_MOVE_*
/*size = 0x24*/
};
@@ -246,14 +246,14 @@ enum {
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)
#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_CONTROLLABLE (1 << 5)
#define PLAYER_AVATAR_FLAG_FORCED_MOVE (1 << 6)
#define PLAYER_AVATAR_FLAG_DASH (1 << 7)
#define PLAYER_AVATAR_FLAG_BIKE (PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)

View File

@@ -207,11 +207,10 @@ struct BerryPickingResults
u8 field_F;
};
// two arrays for lvl50 and open level
struct PyramidBag
{
u16 itemId[2][PYRAMID_BAG_ITEMS_COUNT];
u8 quantity[2][PYRAMID_BAG_ITEMS_COUNT];
u16 itemId[FRONTIER_LVL_MODE_COUNT][PYRAMID_BAG_ITEMS_COUNT];
u8 quantity[FRONTIER_LVL_MODE_COUNT][PYRAMID_BAG_ITEMS_COUNT];
};
struct BerryCrush
@@ -352,8 +351,8 @@ struct BattleFrontier
/*0xCB2*/ u16 curChallengeBattleNum; // Battle number / room number (Pike) / floor number (Pyramid)
/*0xCB4*/ u16 trainerIds[20];
/*0xCDC*/ u32 winStreakActiveFlags;
/*0xCE0*/ u16 towerWinStreaks[4][2];
/*0xCF0*/ u16 towerRecordWinStreaks[4][2];
/*0xCE0*/ u16 towerWinStreaks[4][FRONTIER_LVL_MODE_COUNT];
/*0xCF0*/ u16 towerRecordWinStreaks[4][FRONTIER_LVL_MODE_COUNT];
/*0xD00*/ u16 battledBrainFlags;
/*0xD02*/ u16 towerSinglesStreak; // Never read
/*0xD04*/ u16 towerNumWins; // Increments to MAX_STREAK but never read otherwise
@@ -370,33 +369,33 @@ struct BattleFrontier
/*0xD09*/ u8 domeUnused;
/*0xD0A*/ u8 domeLvlMode;
/*0xD0B*/ u8 domeBattleMode;
/*0xD0C*/ u16 domeWinStreaks[2][2];
/*0xD14*/ u16 domeRecordWinStreaks[2][2];
/*0xD1C*/ u16 domeTotalChampionships[2][2];
/*0xD0C*/ u16 domeWinStreaks[2][FRONTIER_LVL_MODE_COUNT];
/*0xD14*/ u16 domeRecordWinStreaks[2][FRONTIER_LVL_MODE_COUNT];
/*0xD1C*/ u16 domeTotalChampionships[2][FRONTIER_LVL_MODE_COUNT];
/*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT];
/*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][FRONTIER_PARTY_SIZE];
/*0xDC4*/ u16 unused_DC4;
/*0xDC6*/ u16 palacePrize;
/*0xDC8*/ u16 palaceWinStreaks[2][2];
/*0xDD0*/ u16 palaceRecordWinStreaks[2][2];
/*0xDC8*/ u16 palaceWinStreaks[2][FRONTIER_LVL_MODE_COUNT];
/*0xDD0*/ u16 palaceRecordWinStreaks[2][FRONTIER_LVL_MODE_COUNT];
/*0xDD8*/ u16 arenaPrize;
/*0xDDA*/ u16 arenaWinStreaks[2];
/*0xDDE*/ u16 arenaRecordStreaks[2];
/*0xDE2*/ u16 factoryWinStreaks[2][2];
/*0xDEA*/ u16 factoryRecordWinStreaks[2][2];
/*0xDF6*/ u16 factoryRentsCount[2][2];
/*0xDFA*/ u16 factoryRecordRentsCount[2][2];
/*0xDDA*/ u16 arenaWinStreaks[FRONTIER_LVL_MODE_COUNT];
/*0xDDE*/ u16 arenaRecordStreaks[FRONTIER_LVL_MODE_COUNT];
/*0xDE2*/ u16 factoryWinStreaks[2][FRONTIER_LVL_MODE_COUNT];
/*0xDEA*/ u16 factoryRecordWinStreaks[2][FRONTIER_LVL_MODE_COUNT];
/*0xDF6*/ u16 factoryRentsCount[2][FRONTIER_LVL_MODE_COUNT];
/*0xDFA*/ u16 factoryRecordRentsCount[2][FRONTIER_LVL_MODE_COUNT];
/*0xE02*/ u16 pikePrize;
/*0xE04*/ u16 pikeWinStreaks[2];
/*0xE08*/ u16 pikeRecordStreaks[2];
/*0xE0C*/ u16 pikeTotalStreaks[2];
/*0xE04*/ u16 pikeWinStreaks[FRONTIER_LVL_MODE_COUNT];
/*0xE08*/ u16 pikeRecordStreaks[FRONTIER_LVL_MODE_COUNT];
/*0xE0C*/ u16 pikeTotalStreaks[FRONTIER_LVL_MODE_COUNT];
/*0xE10*/ u8 pikeHintedRoomIndex:3;
/*0xE10*/ u8 pikeHintedRoomType:4;
/*0xE10*/ u8 pikeHealingRoomsDisabled:1;
/*0xE12*/ u16 pikeHeldItemsBackup[FRONTIER_PARTY_SIZE];
/*0xE18*/ u16 pyramidPrize;
/*0xE1A*/ u16 pyramidWinStreaks[2];
/*0xE1E*/ u16 pyramidRecordStreaks[2];
/*0xE1A*/ u16 pyramidWinStreaks[FRONTIER_LVL_MODE_COUNT];
/*0xE1E*/ u16 pyramidRecordStreaks[FRONTIER_LVL_MODE_COUNT];
/*0xE22*/ u16 pyramidRandoms[4];
/*0xE2A*/ u8 pyramidTrainerFlags;
/*0xE2C*/ struct PyramidBag pyramidBag;
@@ -410,8 +409,8 @@ struct BattleFrontier
/*0xEBC*/ u32 battlesCount;
/*0xEC0*/ u16 domeWinningMoves[DOME_TOURNAMENT_TRAINERS_COUNT];
/*0xEE0*/ u8 trainerFlags;
/*0xEE1*/ u8 opponentNames[2][PLAYER_NAME_LENGTH + 1];
/*0xEF1*/ u8 opponentTrainerIds[2][TRAINER_ID_LENGTH];
/*0xEE1*/ u8 opponentNames[FRONTIER_LVL_MODE_COUNT][PLAYER_NAME_LENGTH + 1];
/*0xEF1*/ u8 opponentTrainerIds[FRONTIER_LVL_MODE_COUNT][TRAINER_ID_LENGTH];
/*0xEF9*/ u8 unk_EF9:7; // Never read
/*0xEF9*/ u8 savedGame:1;
/*0xEFA*/ u8 unused_EFA;
@@ -487,8 +486,8 @@ struct SaveBlock2
/*0x1EC*/ struct BerryCrush berryCrush;
/*0x1FC*/ struct PokemonJumpRecords pokeJump;
/*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.
/*0x21C*/ struct RankingHall1P hallRecords1P[HALL_FACILITIES_COUNT][FRONTIER_LVL_MODE_COUNT][HALL_RECORDS_COUNT]; // From record mixing.
/*0x57C*/ struct RankingHall2P hallRecords2P[FRONTIER_LVL_MODE_COUNT][HALL_RECORDS_COUNT]; // From record mixing.
/*0x624*/ u16 contestLinkResults[CONTEST_CATEGORIES_COUNT][CONTESTANT_COUNT];
/*0x64C*/ struct BattleFrontier frontier;
}; // sizeof=0xF2C
@@ -596,15 +595,6 @@ struct DewfordTrend
u16 words[2];
}; /*size = 0x8*/
struct MailStruct
{
/*0x00*/ u16 words[MAIL_WORDS_COUNT];
/*0x12*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
/*0x1A*/ u8 trainerId[TRAINER_ID_LENGTH];
/*0x1E*/ u16 species;
/*0x20*/ u16 itemId;
};
struct MauvilleManCommon
{
u8 id;
@@ -670,20 +660,6 @@ typedef union OldMan
u8 filler[0x40];
} OldMan;
struct RecordMixing_UnknownStructSub
{
u32 unk0;
u8 data[0x34];
//u8 data[0x38];
};
struct RecordMixing_UnknownStruct
{
struct RecordMixing_UnknownStructSub data[2];
u32 unk70;
u16 unk74[0x2];
};
#define LINK_B_RECORDS_COUNT 5
struct LinkBattleRecord
@@ -726,10 +702,19 @@ struct ContestWinner
u8 contestRank;
};
struct Mail
{
/*0x00*/ u16 words[MAIL_WORDS_COUNT];
/*0x12*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
/*0x1A*/ u8 trainerId[TRAINER_ID_LENGTH];
/*0x1E*/ u16 species;
/*0x20*/ u16 itemId;
};
struct DaycareMail
{
struct MailStruct message;
u8 OT_name[PLAYER_NAME_LENGTH + 1];
struct Mail message;
u8 otName[PLAYER_NAME_LENGTH + 1];
u8 monName[POKEMON_NAME_LENGTH + 1];
u8 gameLanguage:4;
u8 monLanguage:4;
@@ -749,13 +734,6 @@ struct DayCare
u8 stepCounter;
};
struct RecordMixingDaycareMail
{
struct DaycareMail mail[DAYCARE_MON_COUNT];
u32 numDaycareMons;
bool16 holdsItem[DAYCARE_MON_COUNT];
};
struct LilycoveLadyQuiz
{
/*0x000*/ u8 id;
@@ -1002,7 +980,7 @@ struct SaveBlock1
/*0x2BBC*/ u16 easyChatBattleStart[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x2BC8*/ u16 easyChatBattleWon[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x2BD4*/ u16 easyChatBattleLost[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x2BE0*/ struct MailStruct mail[MAIL_COUNT];
/*0x2BE0*/ struct Mail mail[MAIL_COUNT];
/*0x2E20*/ u8 additionalPhrases[8]; // bitfield for 33 additional phrases in easy chat system
/*0x2E28*/ OldMan oldMan;
/*0x2e64*/ struct DewfordTrend dewfordTrends[SAVED_TRENDS_COUNT];

View File

@@ -3208,12 +3208,12 @@ extern const u16 gBerryFixWindow_Pal[];
extern const u32 gBattleTextboxTiles[];
extern const u32 gBattleTextboxTilemap[];
extern const u32 gBattleTextboxPalette[];
extern const u32 gUnknown_08D778F0[];
extern const u32 gVsLettersGfx[];
extern const u32 gUnknown_08D77AE4[];
extern const u32 gUnknown_08D779D8[];
extern const u32 gUnknown_08D857A8[];
extern const u32 gUnknown_08D85A1C[];
extern const u32 gBattleVSFrame_Gfx[];
extern const u32 gBattleVSFrame_Pal[];
extern const u32 gBattleVSFrame_Tilemap[];
extern const u32 gMultiBattleIntroBg_Opponent_Tilemap[];
extern const u32 gMultiBattleIntroBg_Player_Tilemap[];
// battle terrains
extern const u32 gBattleTerrainTiles_TallGrass[];
@@ -4032,16 +4032,16 @@ extern const u16 gPokenavRibbonsSummaryBg_Pal[];
extern const u32 gPokenavRibbonsSummaryBg_Gfx[];
extern const u32 gPokenavRibbonsSummaryBg_Tilemap[];
extern const u32 gPageInfoTilemap[];
extern const u32 gUnknown_08D98CC8[];
extern const u32 gPageSkillsTilemap[];
extern const u32 gPageBattleMovesTilemap[];
extern const u32 gPageContestMovesTilemap[];
extern const u32 gStatusScreenPalette[];
extern const u16 gUnknown_08D85620[];
extern const u32 gSummaryScreen_Gfx[];
extern const u32 gSummaryScreen_Pal[];
extern const u32 gSummaryPage_Info_Tilemap[];
extern const u32 gSummaryPage_InfoCopy_Tilemap[];
extern const u32 gSummaryPage_Skills_Tilemap[];
extern const u32 gSummaryPage_BattleMoves_Tilemap[];
extern const u32 gSummaryPage_ContestMoves_Tilemap[];
extern const u16 gPPTextPalette[];
extern const u16 gSummaryScreenWindow_Tilemap[];
extern const u32 gMoveTypes_Pal[];
extern const u32 gStatusScreenBitmap[];
extern const u16 gSummaryScreenPowAcc_Tilemap[];
extern const u16 gSummaryScreenAppealJam_Tilemap[];
@@ -4081,7 +4081,7 @@ extern const u32 gPokeblockFeedBg_Tilemap[];
extern const u32 gConfetti_Gfx[];
extern const u32 gConfetti_Pal[];
extern const u32 gUnknown_08C093F0[];
extern const u32 gBattleInterfaceGfx_BattleBar[];
extern const u32 gSubstituteDollBackGfx[];
extern const u32 gSubstituteDollFrontGfx[];
extern const u32 gSubstituteDollPal[];
@@ -4097,17 +4097,19 @@ extern const u16 gBattleInterface_BallDisplayPal[];
extern const u32 gBagSwapLineGfx[];
extern const u32 gBagSwapLinePal[];
extern const u32 gBattleFrontierGfx_PyramidBag[];
extern const u32 gBattleFrontierGfx_PyramidBag_Pal[];
extern const u32 gBattleFrontierGfx_PyramidBagTileMap[];
extern const u32 gUnknown_08D9AF44[];
extern const u16 gUnknown_0860F074[];
extern const u32 gBattlePyramidBag_Gfx[];
extern const u32 gBattlePyramidBag_Pal[];
extern const u32 gBattlePyramidBagTilemap[];
extern const u32 gBattlePyramidBagInterface_Pal[];
extern const u16 gBattlePyramidFloor_Pal[][16];
extern const u16 gStandardMenuPalette[];
extern const u32 gTitleScreenEmeraldVersionGfx[];
extern const u32 gTitleScreenPressStartGfx[];
extern const u32 gTitleScreenPokemonLogoGfx[];
extern const u32 gUnknown_08DE0644[];
extern const u32 gUnknown_08DDE458[];
extern const u32 gTitleScreenPokemonLogoTilemap[];
extern const u32 gTitleScreenCloudsTilemap[];
extern const u16 gTitleScreenBgPalettes[];
extern const u16 gTitleScreenPressStartPal[];
extern const u16 gTitleScreenEmeraldVersionPal[];
@@ -4731,7 +4733,7 @@ extern const u32 gBattleAnimBgPalette_Sky[];
extern const u32 gBattleAnimBgPalette_Aurora[];
extern const u32 gBattleAnimBgPalette_Fissure[];
extern const u32 gBattleAnimBgPalette_Bug[];
extern const u32 gBattleAnimBgPalette_Solarbeam[];
extern const u32 gBattleAnimBgPalette_SolarBeam[];
extern const u32 gBattleAnimBgTilemap_Dark[];
extern const u32 gBattleAnimBgTilemap_Ghost[];
extern const u32 gBattleAnimBgTilemap_Psychic[];
@@ -4773,15 +4775,15 @@ extern const u32 gBattleStatMask6_Pal[];
extern const u32 gBattleStatMask7_Pal[];
extern const u32 gBattleStatMask8_Pal[];
extern const u32 gContestMiscGfx[];
extern const u32 gContestInterfaceGfx[];
extern const u32 gContestAudienceGfx[];
extern const u8 gContestApplauseMeterGfx[];
extern const u8 gContestNextTurnNumbersGfx[];
extern const u8 gContestNextTurnRandomGfx[];
extern const u32 gOldContestGfx[];
extern const u32 gOldContestPalette[];
extern const u32 gUnknown_08C17170[];
extern const u32 gUnknown_08C17980[];
extern const u32 gContestAudienceTilemap[];
extern const u32 gContestInterfaceAudiencePalette[];
extern const u32 gContestInterfaceTilemap[];
extern const u32 gContestCurtainTilemap[];
extern const u32 gContestSliderHeart_Gfx[];
extern const u32 gContestNextTurnGfx[];
extern const u16 gContestPal[];
@@ -4789,7 +4791,7 @@ extern const u32 gContestFaces_Gfx[];
extern const u32 gContestApplauseGfx[];
extern const u32 gContestJudgeGfx[];
extern const u32 gContestJudgeSymbolsGfx[];
extern const u32 gContest3Pal[];
extern const u32 gContestJudgeSymbolsPal[];
extern const u32 gBattleAnimBgTilemap_SurfOpponent[];
extern const u32 gBattleAnimBgTilemap_SurfPlayer[];
@@ -4899,7 +4901,7 @@ extern const u16 gCableCar_Pal[];
// Trade
extern const u16 gTradeMenu_Pal[];
extern const u8 gTradeMenu_Gfx[];
extern const u16 gUnknown_08DDCF04[];
extern const u16 gTradeMenu_Tilemap[];
extern const u16 gTradeGba2_Pal[];
extern const u8 gTradeGba_Gfx[];
extern const u16 gTradeMenuMonBox_Tilemap[];

View File

@@ -19,6 +19,6 @@ void PadNameString(u8 *dest, u8 padChar);
void ConvertInternationalPlayerNameStripChar(u8 *, u8);
void ConvertInternationalContestantName(u8 *);
int GetNicknameLanguage(u8 *);
void sub_81DB620(int windowId, int columnStart, int rowStart, int numFillTiles, int numRows);
void FillWindowTilesByRow(int windowId, int columnStart, int rowStart, int numFillTiles, int numRows);
#endif // GUARD_INTERNATIONAL_STRING_UTIL_H

View File

@@ -5,6 +5,7 @@
#define MAX_RFU_PLAYERS 5
#define CMD_LENGTH 8
#define QUEUE_CAPACITY 50
#define OVERWORLD_RECV_QUEUE_MAX 3
#define BLOCK_BUFFER_SIZE 0x100
#define LINK_SLAVE 0
@@ -124,8 +125,9 @@ struct LinkStatus
u32 errors:7;
};
#define MASTER_HANDSHAKE 0x8FFF
#define SLAVE_HANDSHAKE 0xB9A0
#define MASTER_HANDSHAKE 0x8FFF
#define SLAVE_HANDSHAKE 0xB9A0
#define EREADER_HANDSHAKE 0xCCD0
#define SIO_MULTI_CNT ((struct SioMultiCnt *)REG_ADDR_SIOCNT)
@@ -208,7 +210,7 @@ struct Link
/* 0x001 */ u8 state;
/* 0x002 */ u8 localId; // local multi-player ID
/* 0x003 */ u8 playerCount;
/* 0x004 */ u16 tempRecvBuffer[4];
/* 0x004 */ u16 handshakeBuffer[MAX_LINK_PLAYERS];
/* 0x00c */ bool8 receivedNothing;
/* 0x00d */ s8 serialIntrCounter;
/* 0x00e */ bool8 handshakeAsMaster;
@@ -300,7 +302,7 @@ bool32 Link_AnyPartnersPlayingFRLG_JP(void);
void ResetLinkPlayerCount(void);
void SaveLinkPlayers(u8 a0);
void SetWirelessCommType0(void);
bool32 IsLinkRecvQueueLengthAtLeast3(void);
bool32 IsLinkRecvQueueAtOverworldMax(void);
extern u16 gLinkPartnersHeldKeys[6];
extern u32 gLinkDebugSeed;

View File

@@ -15,16 +15,16 @@
|| itemId == ITEM_RETRO_MAIL))
// mail.h
void ReadMail(struct MailStruct *mail, void (*callback)(void), bool8 flag);
void ReadMail(struct Mail *mail, void (*callback)(void), bool8 flag);
// mail_data.h
void ClearMailData(void);
void ClearMailStruct(struct MailStruct *mail);
void ClearAllMail(void);
void ClearMail(struct Mail *mail);
bool8 MonHasMail(struct Pokemon *mon);
u8 GiveMailToMon(struct Pokemon *mon, u16 itemId);
u8 GiveMailToMonByItemId(struct Pokemon *mon, u16 itemId);
u16 SpeciesToMailSpecies(u16 species, u32 personality);
u16 MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer);
u8 GiveMailToMon2(struct Pokemon *mon, struct MailStruct *mail);
u8 GiveMailToMon(struct Pokemon *mon, struct Mail *mail);
void TakeMailFromMon(struct Pokemon *mon);
void ClearMailItemId(u8 mailId);
u8 TakeMailFromMon2(struct Pokemon *mon);

View File

@@ -72,6 +72,5 @@ void RestoreSerialTimer3IntrHandlers(void);
void StartTimer1(void);
void SeedRngAndSetTrainerId(void);
u16 GetGeneratedTrainerIdLower(void);
void sub_819789C(void);
#endif // GUARD_MAIN_H

View File

@@ -41,7 +41,7 @@ struct MenuAction
} func;
};
extern const u16 gUnknown_0860F074[];
extern const u16 gStandardMenuPalette[];
void FreeAllOverworldWindowBuffers(void);
void InitStandardTextBoxWindows(void);
@@ -125,5 +125,6 @@ void ResetBgPositions(void);
void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed);
void sub_8198C78(void);
void PrintTextArray(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 itemCount, const struct MenuAction *strs);
void Menu_LoadStdPal(void);
#endif // GUARD_MENU_H

View File

@@ -27,8 +27,8 @@ u8 GetLRKeysPressed(void);
u8 GetLRKeysPressedAndHeld(void);
bool8 IsHoldingItemAllowed(u16 itemId);
bool8 IsWritingMailAllowed(u16 itemId);
bool8 MenuHelpers_LinkSomething(void);
bool8 MenuHelpers_CallLinkSomething(void);
bool8 MenuHelpers_IsLinkActive(void);
bool8 MenuHelpers_ShouldWaitForLinkRecv(void);
void SetItemListPerPageCount(struct ItemSlot *slots, u8 slotsCount, u8 *pageItems, u8 *totalItems, u8 maxPerPage);
void SetCursorWithinListBounds(u16 *scrollOffset, u16 *cursorPos, u8 maxShownItems, u8 totalItems);
void SetCursorScrollWithinListBounds(u16 *scrollOffset, u16 *cursorPos, u8 shownItems, u8 totalItems, u8 maxShownItems);

View File

@@ -23,7 +23,6 @@ bool8 MetatileBehavior_IsIce(u8);
bool8 MetatileBehavior_IsWarpDoor(u8);
bool8 MetatileBehavior_IsDoor(u8);
bool8 MetatileBehavior_IsEscalator(u8);
bool8 MetatileBehavior_IsMB_04(u8);
bool8 MetatileBehavior_IsLadder(u8);
bool8 MetatileBehavior_IsNonAnimDoor(u8);
bool8 MetatileBehavior_IsDeepSouthWarp(u8);
@@ -36,7 +35,6 @@ bool8 MetatileBehavior_IsArrowWarp(u8);
bool8 MetatileBehavior_IsForcedMovementTile(u8);
bool8 MetatileBehavior_IsIce_2(u8);
bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8);
bool8 MetatileBehavior_IsMB_05(u8);
bool8 MetatileBehavior_IsWalkNorth(u8);
bool8 MetatileBehavior_IsWalkSouth(u8);
bool8 MetatileBehavior_IsWalkWest(u8);
@@ -59,14 +57,12 @@ bool8 MetatileBehavior_IsSecretBaseTree(u8);
bool8 MetatileBehavior_IsSecretBaseShrub(u8);
bool8 MetatileBehavior_IsSecretBasePC(u8);
bool8 MetatileBehavior_IsRecordMixingSecretBasePC(u8);
bool8 MetatileBehavior_IsMB_B2(u8);
bool8 MetatileBehavior_IsBlockDecoration(u8);
bool8 MetatileBehavior_IsSecretBaseImpassable(u8);
bool8 MetatileBehavior_IsMB_C6(u8);
bool8 MetatileBehavior_IsSecretBaseDecorationBase(u8);
bool8 MetatileBehavior_IsSecretBasePoster(u8);
bool8 MetatileBehavior_IsNormal(u8);
bool8 MetatileBehavior_IsSecretBaseNorthWall(u8);
bool8 MetatileBehavior_IsMB_B2_Duplicate(u8);
bool8 MetatileBehavior_HoldsSmallDecoration(u8);
bool8 MetatileBehavior_HoldsLargeDecoration(u8);
bool8 MetatileBehavior_IsSecretBaseHole(u8);
@@ -97,7 +93,6 @@ bool8 MetatileBehavior_IsShallowFlowingWater(u8);
bool8 MetatileBehavior_IsThinIce(u8);
bool8 MetatileBehavior_IsCrackedIce(u8);
bool8 MetatileBehavior_IsDeepOrOceanWater(u8);
bool8 MetatileBehavior_IsMB_18_OrMB_1A(u8);
bool8 MetatileBehavior_IsSurfableAndNotWaterfall(u8);
bool8 MetatileBehavior_IsEastBlocked(u8);
bool8 MetatileBehavior_IsWestBlocked(u8);
@@ -123,7 +118,7 @@ bool8 MetatileBehavior_IsSecretBaseSpinMat(u8);
bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8);
bool8 MetatileBehavior_IsLavaridge1FWarp(u8);
bool8 MetatileBehavior_IsAquaHideoutWarp(u8);
bool8 MetatileBehavior_IsBridgeOverOcean(u8);
bool8 MetatileBehavior_IsUnionRoomWarp(u8);
bool8 MetatileBehavior_IsMossdeepGymWarp(u8);
bool8 MetatileBehavior_IsSurfableFishableWater(u8);
bool8 MetatileBehavior_IsMtPyreHole(u8);

View File

@@ -127,7 +127,7 @@ u8 GetSavedWarpRegionMapSectionId(void);
u8 GetCurrentRegionMapSectionId(void);
u8 GetCurrentMapBattleScene(void);
void CleanupOverworldWindowsAndTilemaps(void);
bool32 IsUpdateLinkStateCBActive(void);
bool32 IsOverworldLinkActive(void);
void CB1_Overworld(void);
void CB2_OverworldBasic(void);
void CB2_Overworld(void);
@@ -151,7 +151,7 @@ u16 SetInCableClubSeat(void);
u16 SetLinkWaitingForScript(void);
u16 QueueExitLinkRoomKey(void);
u16 SetStartedCableClubActivity(void);
bool32 Overworld_LinkRecvQueueLengthMoreThan2(void);
bool32 Overworld_IsRecvQueueAtMax(void);
bool32 Overworld_RecvKeysFromLinkIsRunning(void);
bool32 Overworld_SendKeysToLinkIsRunning(void);
bool32 IsSendingKeysOverCable(void);

View File

@@ -49,8 +49,8 @@ struct PaletteFadeControl
extern struct PaletteFadeControl gPaletteFade;
extern u32 gPlttBufferTransferPending;
extern u8 gPaletteDecompressionBuffer[];
extern u16 gPlttBufferUnfaded[];
extern u16 gPlttBufferFaded[];
extern u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE];
extern u16 gPlttBufferFaded[PLTT_BUFFER_SIZE];
void LoadCompressedPalette(const u32 *, u16, u16);
void LoadPalette(const void *, u16, u16);

View File

@@ -72,7 +72,7 @@ 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 FillTilemapRect(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);

View File

@@ -3,8 +3,8 @@
struct PlayerHallRecords
{
struct RankingHall1P onePlayer[9][2];
struct RankingHall2P twoPlayers[2];
struct RankingHall1P onePlayer[HALL_FACILITIES_COUNT][FRONTIER_LVL_MODE_COUNT];
struct RankingHall2P twoPlayers[FRONTIER_LVL_MODE_COUNT];
};
void RecordMixingPlayerSpotTriggered(void);

View File

@@ -14,15 +14,15 @@ extern const u16 gTextWindowFrame1_Pal[];
const struct TilesPal *GetWindowFrameTilesPal(u8 id);
void LoadMessageBoxGfx(u8 windowId, u16 destOffset, u8 palOffset);
void LoadUserWindowBorderGfx(u8 windowId, u16 destOffset, u8 palOffset);
void LoadWindowGfx(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset);
void LoadUserWindowBorderGfx(u8 windowId, u16 destOffset, u8 palOffset);
void LoadUserWindowBorderGfx_(u8 windowId, u16 destOffset, u8 palOffset);
void LoadUserWindowBorderGfxOnBg(u8 bg, 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 *GetTextWindowPalette(u8 id);
const u16 *GetOverworldTextboxPalettePtr(void);
void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset);
//NEW
void LoadDexNavWindowGfx(u8 windowId, u16 destOffset, u8 palOffset);

View File

@@ -4,13 +4,9 @@
#include "link_rfu.h"
#include "constants/trade.h"
// Exported type declarations
// Exported RAM declarations
extern struct MailStruct gTradeMail[PARTY_SIZE];
extern struct Mail gTradeMail[PARTY_SIZE];
extern u8 gSelectedTradeMonPositions[2];
// Exported ROM declarations
extern const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate;
s32 GetGameProgressForLinkTrade(void);