diff options
Diffstat (limited to 'include')
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 |