summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/battle_records.h1
-rw-r--r--include/cable_club.h4
-rw-r--r--include/constants/event_object_movement.h2
-rw-r--r--include/constants/facility_trainer_classes.h8
-rw-r--r--include/constants/field_effects.h4
-rw-r--r--include/constants/flags.h5
-rw-r--r--include/constants/metatile_labels.h8
-rw-r--r--include/constants/trainer_card.h17
-rw-r--r--include/data.h2
-rw-r--r--include/event_object_movement.h6
-rw-r--r--include/event_scripts.h6
-rw-r--r--include/field_camera.h7
-rw-r--r--include/field_control_avatar.h1
-rw-r--r--include/field_effect.h16
-rw-r--r--include/field_effect_helpers.h1
-rw-r--r--include/field_effect_scripts.h6
-rw-r--r--include/field_fadetransition.h5
-rw-r--r--include/field_message_box.h1
-rw-r--r--include/field_player_avatar.h1
-rw-r--r--include/field_screen_effect.h1
-rw-r--r--include/field_weather.h3
-rw-r--r--include/fldeff.h2
-rw-r--r--include/global.fieldmap.h11
-rw-r--r--include/graphics.h8
-rw-r--r--include/link.h12
-rw-r--r--include/overworld.h16
-rw-r--r--include/quest_log.h5
-rw-r--r--include/special_field_anim.h2
-rw-r--r--include/strings.h7
-rw-r--r--include/trainer_card.h23
-rw-r--r--include/trainer_pokemon_sprites.h2
-rw-r--r--include/union_room.h1
32 files changed, 146 insertions, 48 deletions
diff --git a/include/battle_records.h b/include/battle_records.h
index 97f28a3b0..b66fbd686 100644
--- a/include/battle_records.h
+++ b/include/battle_records.h
@@ -2,5 +2,6 @@
#define GUARD_BATTLE_RECORDS_H
void ClearPlayerLinkBattleRecords(void);
+void TryRecordLinkBattleOutcome(s32 battlerId);
#endif // GUARD_BATTLE_RECORDS_H
diff --git a/include/cable_club.h b/include/cable_club.h
index c1dbab1a5..57515efc7 100644
--- a/include/cable_club.h
+++ b/include/cable_club.h
@@ -9,7 +9,7 @@
// Exported ROM declarations
void sub_8081A90(u8 taskId);
-u8 sub_8081150(void);
-void sub_8081668(void);
+u8 CreateTask_ReestablishLinkInCableClubRoom(void);
+void CB2_ReturnFromCableClubBattle(void);
#endif //GUARD_CABLE_CLUB_H
diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h
index 08713a602..d2f0a945b 100644
--- a/include/constants/event_object_movement.h
+++ b/include/constants/event_object_movement.h
@@ -153,7 +153,7 @@
#define MOVEMENT_ACTION_PLAYER_RUN_UP_SLOW 0x42
#define MOVEMENT_ACTION_PLAYER_RUN_LEFT_SLOW 0x43
#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT_SLOW 0x44
-#define MOVEMENT_ACTION_UNKNOWN_STEP_45 0x45
+#define MOVEMENT_ACTION_START_ANIM_IN_DIRECTION 0x45
#define MOVEMENT_ACTION_JUMP_SPECIAL_DOWN 0x46
#define MOVEMENT_ACTION_JUMP_SPECIAL_UP 0x47
#define MOVEMENT_ACTION_JUMP_SPECIAL_LEFT 0x48
diff --git a/include/constants/facility_trainer_classes.h b/include/constants/facility_trainer_classes.h
index 10500ff35..fe94608dd 100644
--- a/include/constants/facility_trainer_classes.h
+++ b/include/constants/facility_trainer_classes.h
@@ -133,10 +133,10 @@
#define FACILITY_CLASS_CRUSH_KIN 0x81
#define FACILITY_CLASS_SIS_AND_BRO_2 0x82
#define FACILITY_CLASS_PKMN_PROF 0x83
-#define FACILITY_CLASS_PLAYER 0x84
-#define FACILITY_CLASS_PLAYER_2 0x85
-#define FACILITY_CLASS_PLAYER_3 0x86
-#define FACILITY_CLASS_PLAYER_4 0x87
+#define FACILITY_CLASS_BRENDAN 0x84
+#define FACILITY_CLASS_MAY 0x85
+#define FACILITY_CLASS_RED 0x86
+#define FACILITY_CLASS_LEAF 0x87
#define FACILITY_CLASS_TEAM_ROCKET_2 0x88
#define FACILITY_CLASS_PSYCHIC_4 0x89
#define FACILITY_CLASS_CRUSH_GIRL 0x8A
diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h
index c56c97d73..5aa885b37 100644
--- a/include/constants/field_effects.h
+++ b/include/constants/field_effects.h
@@ -66,9 +66,9 @@
#define FLDEFF_HALL_OF_FAME_RECORD 62
#define FLDEFF_USE_TELEPORT 63
#define FLDEFF_SMILEY_FACE_ICON 64
-#define FLDEFF_UNK_41 65 // TODO: related to vs_seeker
+#define FLDEFF_USE_VS_SEEKER 65
#define FLDEFF_DOUBLE_EXCL_MARK_ICON 66
-#define FLDEFF_UNK_43 67 // TODO: related to deoxys
+#define FLDEFF_MOVE_DEOXYS_ROCK 67
#define FLDEFF_UNK_44 68 // TODO: related to ???
#define FLDEFF_UNK_45 69 // TODO: related to fame checker photos
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 7555f3c6b..11b09512f 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -670,7 +670,7 @@
#define FLAG_SILPH_11F_DOOR 0x28D
#define FLAG_0x28E 0x28E
#define FLAG_0x28F 0x28F
-#define FLAG_MET_STICKER_LADY 0x290
+#define FLAG_MET_STICKER_MAN 0x290
#define FLAG_PALLET_LADY_NOT_BLOCKING_SIGN 0x291
#define FLAG_GOT_VS_SEEKER 0x292
#define FLAG_GOT_TM19_FROM_ERIKA 0x293
@@ -1327,6 +1327,7 @@
#define FLAG_0x808 (SYS_FLAGS + 0x8)
#define PERMA_SYS_FLAGS_START 0x820
+
#define FLAG_BADGE01_GET (SYS_FLAGS + 0x20)
#define FLAG_BADGE02_GET (SYS_FLAGS + 0x21)
#define FLAG_BADGE03_GET (SYS_FLAGS + 0x22)
@@ -1335,6 +1336,8 @@
#define FLAG_BADGE06_GET (SYS_FLAGS + 0x25)
#define FLAG_BADGE07_GET (SYS_FLAGS + 0x26)
#define FLAG_BADGE08_GET (SYS_FLAGS + 0x27)
+#define NUM_BADGES (1 + FLAG_BADGE08_GET - FLAG_BADGE01_GET)
+
#define FLAG_SYS_POKEMON_GET (SYS_FLAGS + 0x28)
#define FLAG_SYS_POKEDEX_GET (SYS_FLAGS + 0x29)
#define FLAG_0x82A (SYS_FLAGS + 0x2A)
diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h
index 01140a160..2d6f72e43 100644
--- a/include/constants/metatile_labels.h
+++ b/include/constants/metatile_labels.h
@@ -190,4 +190,12 @@
#define METATILE_FuchsiaCity_SafariZoneTreeTopMiddle_Mowed 0x311
#define METATILE_FuchsiaCity_SafariZoneTreeTopRight_Mowed 0x312
+// gTileset_SeviiIslands45
+#define METATILE_SeviiIslands45_RocketWarehouseDoor_Locked 0x30B
+#define METATILE_SeviiIslands45_RocketWarehouseDoor_Unlocked 0x2AF
+
+// gTileset_SeviiIslands67
+#define METATILE_SeviiIslands67_DottedHoleDoor_Closed 0x357
+#define METATILE_SeviiIslands67_DottedHoleDoor_Open 0x358
+
#endif // GUARD_METATILE_LABELS_H
diff --git a/include/constants/trainer_card.h b/include/constants/trainer_card.h
new file mode 100644
index 000000000..67901eb27
--- /dev/null
+++ b/include/constants/trainer_card.h
@@ -0,0 +1,17 @@
+#ifndef GUARD_CONSTANTS_TRAINER_CARD_H
+#define GUARD_CONSTANTS_TRAINER_CARD_H
+
+#define TRAINER_CARD_PROFILE_LENGTH 4
+#define TRAINER_CARD_STICKER_TYPES 3
+
+#define CARD_TYPE_FRLG 0
+#define CARD_TYPE_RSE 1
+
+#define MON_ICON_TINT_NORMAL 0
+#define MON_ICON_TINT_BLACK 1
+#define MON_ICON_TINT_PINK 2
+#define MON_ICON_TINT_SEPIA 3
+
+#define NUM_LINK_TRAINER_CARD_CLASSES 8
+
+#endif // GUARD_CONSTANTS_TRAINER_CARD_H
diff --git a/include/data.h b/include/data.h
index f308b044c..90c8e0ace 100644
--- a/include/data.h
+++ b/include/data.h
@@ -28,7 +28,7 @@ extern const struct MonCoords gMonFrontPicCoords[];
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const struct MonCoords gMonBackPicCoords[];
extern const struct CompressedSpriteSheet gMonBackPicTable[];
-extern const struct CompressedSpritePalette gMonPaletteTable[];
+extern struct CompressedSpritePalette gMonPaletteTable[];
extern const struct CompressedSpritePalette gMonShinyPaletteTable[];
extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
extern const struct MonCoords gTrainerFrontPicCoords[];
diff --git a/include/event_object_movement.h b/include/event_object_movement.h
index baf66d737..edc5c8b11 100644
--- a/include/event_object_movement.h
+++ b/include/event_object_movement.h
@@ -41,7 +41,7 @@ void sub_808E16C(s16, s16);
void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
void sub_8092FF0(s16, s16, s16 *, s16 *);
u8 ObjectEventDirectionToImageAnimId(u8);
-void sub_80930E0(s16 *, s16 *, s16, s16);
+void sub_8063BC4(s16 *, s16 *, s16, s16);
void ObjectEventClearAnim(struct ObjectEvent *);
void ObjectEventClearAnimIfSpecialAnimActive(struct ObjectEvent *);
void SpawnObjectEventsInView(s16, s16);
@@ -116,6 +116,9 @@ void RfuUnionObjectToggleInvisibility(u8 objectEventId, bool32 invisible);
bool32 RfuUnionObjectIsInvisible(u8 objectEventId);
void RfuUnionObjectStartWarp(u8 objectEventId, u8 animNo);
bool32 RfuUnionObjectIsWarping(u8 objectEventId);
+u8 sub_8063F2C(u8 direction);
+u8 sub_8064194(u8 direction);
+u8 sub_80641C0(u8 direction);
void sub_805F378(s16 x, s16 y);
@@ -128,5 +131,6 @@ extern const struct OamData gObjectEventBaseOam_32x32;
extern const struct UCoords16 gUnknown_83A64C8[];
extern const u16 gUnknown_8398648[];
extern const u16 gUnknown_8398688[];
+void sub_805F724(struct ObjectEvent *, s16 x, s16 y);
#endif // GUARD_EVENT_OBJECT_MOVEMENT_H
diff --git a/include/event_scripts.h b/include/event_scripts.h
index 76e54b8eb..bd93bbb0b 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -1204,4 +1204,10 @@ extern const u8 EventScript_BagItemCanBeRegistered[];
// fldeff_cut
extern const u8 EventScript_FldEffCut[];
+// cable_club
+extern const u8 CableClub_Text_WhenAllPlayersReadyAConfirmBCancel[];
+extern const u8 CableClub_Text_AwaitingLinkupBCancel[];
+extern const u8 CableClub_Text_StartLinkWithXPlayersAConfirmBCancel[];
+extern const u8 CableClub_Text_PleaseWaitBCancel[];
+
#endif //GUARD_EVENT_SCRIPTS_H
diff --git a/include/field_camera.h b/include/field_camera.h
index fb9861014..fdab03255 100644
--- a/include/field_camera.h
+++ b/include/field_camera.h
@@ -15,12 +15,12 @@ struct CameraObject
s32 y;
};
-extern struct CameraObject gUnknown_03005DD0;
+extern struct CameraObject gFieldCamera;
// Exported RAM declarations
-extern u16 gUnknown_03005DEC;
-extern u16 gUnknown_03005DE8;
+extern u16 gTotalCameraPixelOffsetX;
+extern u16 gTotalCameraPixelOffsetY;
// Exported ROM declarations
@@ -29,6 +29,7 @@ void CurrentMapDrawMetatileAt(int x, int y);
void sub_805A658(s16 *x, s16 *y);
void SetCameraPanningCallback(void (*cb)(void));
void SetCameraPanning(s16 x, s16 y);
+void UpdateCameraPanning(void);
void InstallCameraPanAheadCallback(void);
void DrawDoorMetatileAt(int x, int y, const u16 *data);
diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h
index 57a2fab66..a9ddd4b5c 100644
--- a/include/field_control_avatar.h
+++ b/include/field_control_avatar.h
@@ -8,5 +8,6 @@ extern u32 gUnknown_3005078;
void RestartWildEncounterImmunitySteps(void);
void ClearPoisonStepCounter(void);
void SetCableClubWarp(void);
+void dive_warp(struct MapPosition * pos, u16 behavior);
#endif //GUARD_FIELD_CONTROL_AVATAR_H
diff --git a/include/field_effect.h b/include/field_effect.h
index 3e30fa897..3c92afb6a 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -13,16 +13,16 @@ bool8 FieldEffectActiveListContains(u8 id);
void sub_80B69DC(void);
void CreateTeleportFieldEffectTask(void);
void FieldEffectActiveListRemove(u8 id);
-void sub_8085620(void);
+void StartEscapeRopeFieldEffect(void);
void FieldEffectStop(struct Sprite *sprite, u8 id);
u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer);
-void sub_8084454(void);
-void sub_8084784(u8 a0, u8 a1);
-void sub_8084F2C(u8 a0);
-void sub_80853CC(u8 a0);
+void FieldCB_FallWarpExit(void);
+void StartEscalatorWarp(u8 metatileBehavior, u8 priority);
+void StartLavaridgeGymB1FWarp(u8 a0);
+void StartLavaridgeGym1FWarp(u8 a0);
void sub_8083598(u8 a0);
-void sub_8083A5C(struct Sprite * sprite, u8 spriteId);
-u8 sub_8083970(u16 species, s16 x, s16 y, bool8 unused);
-void sub_80842C8(void);
+void FreeResourcesAndDestroySprite(struct Sprite * sprite, u8 spriteId);
+u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, bool8 unused);
+void ReturnToFieldFromFlyMapSelect(void);
#endif //GUARD_FIELD_EFFECTS_H
diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h
index e1a56a26c..c3e5ae29a 100644
--- a/include/field_effect_helpers.h
+++ b/include/field_effect_helpers.h
@@ -15,6 +15,7 @@
u8 sub_8154228(void);
bool8 sub_8155DA0(struct ObjectEvent *);
void sub_80DC44C(u8, u8);
+void sub_80DC478(u8, u8);
void StartAshFieldEffect(s16, s16, u16, s16);
#endif //GUARD_FIELD_EFFECT_HELPERS_H
diff --git a/include/field_effect_scripts.h b/include/field_effect_scripts.h
new file mode 100644
index 000000000..fd3609d93
--- /dev/null
+++ b/include/field_effect_scripts.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_FIELD_EFFECT_SCRIPTS_H
+#define GUARD_FIELD_EFFECT_SCRIPTS_H
+
+extern const u8 *const gFieldEffectScriptPointers[];
+
+#endif //GUARD_FIELD_EFFECT_SCRIPTS_H
diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h
index 6683f5e2e..a1fe590fa 100644
--- a/include/field_fadetransition.h
+++ b/include/field_fadetransition.h
@@ -12,10 +12,11 @@ void DoFallWarp(void);
void sub_807E59C(void);
void sub_807E500(void);
void sub_807DF64(void);
-void sub_807DC18(void);
+void WarpFadeOutScreen(void);
void FieldCallback_ReturnToEventScript2(void);
-void sub_807DC00(void);
+void FadeInFromBlack(void);
void FadeTransition_FadeInOnReturnToStartMenu(void);
+void WarpFadeInScreen(void);
void sub_807DCE4(void);
diff --git a/include/field_message_box.h b/include/field_message_box.h
index 5777921b7..a6ef14aae 100644
--- a/include/field_message_box.h
+++ b/include/field_message_box.h
@@ -8,5 +8,6 @@ bool8 sub_8098238(const u8 *message);
bool8 ShowFieldAutoScrollMessage(const u8 *message);
void HideFieldMessageBox(void);
bool8 IsFieldMessageBoxHidden(void);
+bool8 textbox_any_visible(void);
#endif // GUARD_FIELD_MESSAGE_BOX_H
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index e9553025c..5565fb64b 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -36,5 +36,6 @@ bool32 sub_805DC24(void);
bool8 PartyHasMonWithSurf(void);
bool8 IsPlayerSurfingNorth(void);
void player_get_pos_including_state_based_drift(s16 *x, s16 *y);
+void sub_805CBE8(void);
#endif //GUARD_FIELD_PLAYER_AVATAR_H
diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h
index ca7625782..aee7dc5a7 100644
--- a/include/field_screen_effect.h
+++ b/include/field_screen_effect.h
@@ -9,7 +9,6 @@ void sub_80B0244(void);
void sub_807E3EC(void);
void DoOutwardBarnDoorWipe(void);
void Task_BarnDoorWipe(u8 taskId);
-void sub_807DC00(void);
void sub_807F5F0(void);
#endif // GUARD_FIELD_SCREEN_EFFECT_H
diff --git a/include/field_weather.h b/include/field_weather.h
index de2543edb..7488c8c5a 100644
--- a/include/field_weather.h
+++ b/include/field_weather.h
@@ -18,5 +18,8 @@ void SetWeatherScreenFadeOut(void);
void sub_807B070(void);
u8 GetCurrentWeather(void);
void FieldWeather_StartFadingOutCreditsMap(u8, u8, u32);
+void sub_807AA8C(u8 palIdx);
+void ResetPreservedPalettesInWeather(void);
+void PreservePaletteInWeather(u8 palIdx);
#endif // GUARD_WEATHER_H
diff --git a/include/fldeff.h b/include/fldeff.h
index 56e2dfbd9..00f2d01f4 100644
--- a/include/fldeff.h
+++ b/include/fldeff.h
@@ -37,7 +37,7 @@ bool32 FldEffPoison_IsActive(void);
// strength
bool8 SetUpFieldMove_Strength(void);
-bool8 sub_80D0860(void);
+bool8 FldEff_UseStrength(void);
// teleport
bool8 SetUpFieldMove_Teleport(void);
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index 57d8d0a35..b3f5b1d42 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -4,6 +4,13 @@
#define OBJECT_EVENTS_COUNT 16
#define METATILE_COLLISION_MASK 0x0C00
+#define METATILE_ID_MASK 0x03FF
+#define METATILE_ID_UNDEFINED 0x03FF
+#define METATILE_ELEVATION_SHIFT 12
+#define METATILE_COLLISION_SHIFT 10
+#define METATILE_ELEVATION_MASK 0xF000
+
+#define METATILE_ID(tileset, name) (METATILE_##tileset##_##name)
enum
{
@@ -17,8 +24,6 @@ enum
typedef void (*TilesetCB)(void);
-#define METATILE_ID(tileset, name) (METATILE_##tileset##_##name)
-
struct Tileset
{
/*0x00*/ bool8 isCompressed;
@@ -280,7 +285,7 @@ struct PlayerAvatar /* 0x202E858 */
/*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning.
/*0x04*/ u8 spriteId;
/*0x05*/ u8 objectEventId;
- /*0x06*/ u8 unk6;
+ /*0x06*/ bool8 preventStep;
/*0x07*/ u8 gender;
u8 acroBikeState;
u8 unk9;
diff --git a/include/graphics.h b/include/graphics.h
index dcc4c44a7..1405cdcf1 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -4845,10 +4845,10 @@ extern const u32 gBuyMenuFrame_Pal[];
extern const u16 gUnknown_8D2FBB4[];
// trainer card
-extern const u16 gFireRedTrainerCard_Pal[];
-extern const u32 gFireRedTrainerCard_Gfx[];
-extern const u16 gEmeraldTrainerCard_Pal[];
-extern const u32 gEmeraldTrainerCard_Gfx[];
+extern const u16 gKantoTrainerCard_Pal[];
+extern const u32 gKantoTrainerCard_Gfx[];
+extern const u16 gHoennTrainerCard_Pal[];
+extern const u32 gHoennTrainerCard_Gfx[];
// battle_interface
extern const u32 gFile_graphics_battle_interface_ball_status_bar_sheet[];
diff --git a/include/link.h b/include/link.h
index e36ac8078..e5a40d6a5 100644
--- a/include/link.h
+++ b/include/link.h
@@ -77,6 +77,10 @@
#define LINKTYPE_BATTLE_TOWER_50 0x2266
#define LINKTYPE_BATTLE_TOWER_OPEN 0x2277
#define LINKTYPE_BATTLE_TOWER 0x2288
+#define LINKTYPE_0x3311 0x3311
+#define LINKTYPE_0x3322 0x3322
+#define LINKTYPE_0x4411 0x4411
+#define LINKTYPE_0x6601 0x6601
#define MASTER_HANDSHAKE 0x8FFF
#define SLAVE_HANDSHAKE 0xB9A0
@@ -199,6 +203,7 @@ extern u16 word_3002910[];
extern bool8 gReceivedRemoteLinkPlayers;
extern bool8 gLinkVSyncDisabled;
extern u8 gWirelessCommType;
+extern struct LinkPlayer gLocalLinkPlayer;
extern u8 gShouldAdvanceLinkState;
extern u16 gLinkPartnersHeldKeys[6];
@@ -272,12 +277,17 @@ void ClearLinkCallback_2(void);
void LinkRfu_SetRfuFuncToSend6600(void);
void IntlConvertLinkPlayerName(struct LinkPlayer * linkPlayer);
bool8 IsWirelessAdapterConnected(void);
-bool8 sub_800A474(u8 a0);
+bool8 sub_800A474(u8 blockRequestType);
void LinkVSync(void);
bool8 HandleLinkConnection(void);
void PrepareLocalLinkPlayerBlock(void);
void LinkPlayerFromBlock(u32 who);
void SetLinkErrorFromRfu(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 unk_06);
u8 sub_800A8D4(void);
+void sub_800AA24(void);
+void sub_800A900(u8 a0);
+u8 sub_800A8A4(void);
+void sub_800A9A4(void);
+void SetLocalLinkPlayerId(u8 playerId);
#endif // GUARD_LINK_H
diff --git a/include/overworld.h b/include/overworld.h
index f0a168052..1775a6896 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -82,12 +82,16 @@ void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
void sub_8084E2C(s8, s8, s8, s8, s8);
void sub_8084E80(s8, s8, s8, s8, s8);
void sub_8084EBC(s16, s16);
+void sub_80555E0(void);
+void copy_saved_warp3_bank_and_enter_x_to_warp1(void);
+u8 IsMapTypeOutdoors(u8 mapType);
+void sav1_reset_battle_music_maybe(void);
+bool32 sub_8056124(u16 song);
void player_avatar_init_params_reset(void);
void Overworld_SetFlashLevel(s32 a1);
u8 Overworld_GetFlashLevel(void);
-void sub_8085524(u16);
void Overworld_SetSavedMusic(u16);
void Overworld_ChangeMusicToDefault(void);
@@ -155,7 +159,7 @@ u8 GetCurrentMapType(void);
u8 get_map_light_from_warp0(void);
const struct MapHeader *warp1_get_mapheader(void);
-void sub_8055F88(void);
+void TryFadeOutOldMapMusic(void);
void CB2_ReturnToFieldCableClub(void);
void ResetGameStats(void);
@@ -177,6 +181,14 @@ void sub_805546C(u8 a0);
bool32 sub_80582E0(void);
bool32 sub_8058274(void);
u8 GetCurrentMapBattleScene(void);
+void Overworld_ResetStateAfterFly(void);
+bool8 sub_8055B38(u16 metatileBehavior);
+void sub_8055DB8(void);
+void sub_8057F5C(void);
+void sub_8057F34(void);
+u32 sub_8057EC0(void);
+void sub_8057F70(void);
+void sub_8057F48(void);
extern u16 gHeldKeyCodeToSend;
diff --git a/include/quest_log.h b/include/quest_log.h
index 25d0d5871..3241046bc 100644
--- a/include/quest_log.h
+++ b/include/quest_log.h
@@ -29,7 +29,7 @@ void sub_811539C(void);
void sub_8115748(u16);
u8 sub_8112CAC(void);
bool8 QuestLog_SchedulePlaybackCB(void (*func)(void));
-void sub_8111F38(u16, u16);
+void sub_8111F38(u16 offset, u16 idx);
void sub_8111134(void);
void DestroyHelpMessageWindow(u8 a0);
u8 CreateHelpMessageWindow(void);
@@ -50,5 +50,8 @@ void QuestLogSetFlagOrVar(bool8 isFlag, u16 idx, u16 value);
void sub_8110840(void *oldSave);
void sub_8112F18(u8 windowId);
bool8 sub_8111C2C(void);
+void sub_81128BC(u8 a0);
+void sub_811278C(u8, u8);
+void Special_UpdateTrainerFansAfterLinkBattle(void);
#endif //GUARD_QUEST_LOG_H
diff --git a/include/special_field_anim.h b/include/special_field_anim.h
index d21c932bf..37c31f97b 100644
--- a/include/special_field_anim.h
+++ b/include/special_field_anim.h
@@ -3,7 +3,7 @@
#include "global.h"
-void StartEscalator(u8 a0);
+void StartEscalator(bool8 goingUp);
void StopEscalator(void);
bool8 IsEscalatorMoving(void);
diff --git a/include/strings.h b/include/strings.h
index 8c19ea5cb..ec5965b75 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -1141,4 +1141,11 @@ extern const u8 gText_BestScore2[];
extern const u8 gText_ExcellentsInARow[];
extern const u8 gText_PkmnJumpRecords[];
+// cable_club
+extern const u8 gUnknown_841DF82[];
+extern const u8 gUnknown_841DF8B[];
+extern const u8 gUnknown_841DF92[];
+extern const u8 gUnknown_841DF99[];
+extern const u8 gUnknown_841DFA0[];
+
#endif //GUARD_STRINGS_H
diff --git a/include/trainer_card.h b/include/trainer_card.h
index ed3e803d5..09b9a253a 100644
--- a/include/trainer_card.h
+++ b/include/trainer_card.h
@@ -1,7 +1,9 @@
#ifndef GUARD_TRAINER_CARD_H
#define GUARD_TRAINER_CARD_H
-struct TrainerCard
+#include "constants/trainer_card.h"
+
+struct TrainerCardRSE
{
/*0x00*/ u8 gender;
/*0x01*/ u8 stars;
@@ -23,19 +25,24 @@ struct TrainerCard
/*0x1E*/ u16 pokeblocksWithFriends;
/*0x20*/ u16 pokemonTrades;
/*0x24*/ u32 money;
- /*0x28*/ u16 var_28[4];
+ /*0x28*/ u16 easyChatProfile[TRAINER_CARD_PROFILE_LENGTH];
/*0x30*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
+};
+
+struct TrainerCard
+{
+ /*0x00*/ struct TrainerCardRSE rse;
/*0x38*/ u8 version;
- /*0x3A*/ u16 var_3A;
+ /*0x3A*/ bool16 hasAllFrontierSymbols;
/*0x3C*/ u32 berryCrushPoints;
/*0x40*/ u32 unionRoomNum;
/*0x44*/ u32 berriesPicked;
- /*0x48*/ u32 jumpsInRow;
- /*0x4C*/ bool8 var_4C;
+ /*0x48*/ u32 jumpsInRow;
+ /*0x4C*/ bool8 shouldDrawStickers;
/*0x4D*/ bool8 hasAllMons;
- /*0x4E*/ u8 var_4E;
- /*0x4F*/ u8 var_4F;
- /*0x50*/ u8 var_50[4];
+ /*0x4E*/ u8 monIconTint;
+ /*0x4F*/ u8 facilityClass;
+ /*0x50*/ u8 stickers[TRAINER_CARD_STICKER_TYPES];
/*0x54*/ u16 monSpecies[PARTY_SIZE];
};
diff --git a/include/trainer_pokemon_sprites.h b/include/trainer_pokemon_sprites.h
index 436a791e9..23f6e2cab 100644
--- a/include/trainer_pokemon_sprites.h
+++ b/include/trainer_pokemon_sprites.h
@@ -3,7 +3,7 @@
#include "global.h"
-u16 sub_810C330(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId);
+u16 CreateTrainerCardTrainerPicSprite(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId);
bool16 ResetAllPicSprites(void);
u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
u16 sub_818D7D8(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
diff --git a/include/union_room.h b/include/union_room.h
index e24bcd480..d520e8763 100644
--- a/include/union_room.h
+++ b/include/union_room.h
@@ -163,5 +163,6 @@ extern u16 gUnionRoomOfferedSpecies;
extern u8 gUnionRoomRequestedMonType;
void StartUnionRoomBattle(u16 battleFlags);
+u8 UnionRoom_CreateTask_CallCB2ReturnFromLinkTrade(void);
#endif //GUARD_UNION_ROOM_H