From 3101657e97003443bc89daf3e2f9482ad1ff900a Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 17 Jan 2020 14:08:46 -0500 Subject: Sync pc_transfer --- include/event_scripts.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/event_scripts.h b/include/event_scripts.h index b5e355484..111a3cccc 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -1190,9 +1190,9 @@ extern const u8 EventScript_PC[]; extern const u8 EventScript_RepelWoreOff[]; // battle_message -extern const u8 Text_1A5CF1[]; -extern const u8 Text_1A5D31[]; -extern const u8 Text_1A5D6E[]; -extern const u8 Text_1A5DB1[]; +extern const u8 Text_MonSentToBoxInSomeonesPC[]; +extern const u8 Text_MonSentToBoxInBillsPC[]; +extern const u8 Text_MonSentToBoxSomeonesBoxFull[]; +extern const u8 Text_MonSentToBoxBillsBoxFull[]; #endif //GUARD_EVENT_SCRIPTS_H -- cgit v1.2.3 From 009595b4df7f13e04704cf27b358bc3850a22f9a Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 17 Jan 2020 14:56:44 -0500 Subject: Finish Cinnabar Island scripts --- include/constants/metatile_labels.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'include') diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index c664290d5..2d7600696 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -34,4 +34,15 @@ #define METATILE_PokemonMansion_Statue_RedEyes_Shade 0x34E #define METATILE_PokemonMansion_Statue_RedEyes_Basement 0x34F +// Cinnabar Gym +#define METATILE_CinnabarGym_Floor 0x281 +#define METATILE_CinnabarGym_Floor_ShadeDiagonal 0x282 +#define METATILE_CinnabarGym_Floor_ShadeFull 0x289 +#define METATILE_CinnabarGym_Floor_WallRightCorner 0x2C6 +#define METATILE_CinnabarGym_Floor_WallLeftCorner 0x2C7 +#define METATILE_CinnabarGym_Floor_WallRightEdge 0x2CE +#define METATILE_CinnabarGym_Floor_WallLeftEdge 0x2CF +#define METATILE_CinnabarGym_Wall_RetractedBarrier 0x2D1 + + #endif // GUARD_METATILE_LABELS_H -- cgit v1.2.3 From cedebf15ee3595228d6fa212b74e1c5aa6fac3f1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 20 Jan 2020 09:09:02 -0500 Subject: sub_8115A68 --- include/link_rfu.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'include') diff --git a/include/link_rfu.h b/include/link_rfu.h index bde20c555..fd77688f2 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -295,6 +295,18 @@ void sub_80FEB3C(void); void sub_80FAFE0(u8 a0); bool32 sub_80FA44C(u32 a0); bool8 sub_80FC1B0(void); +bool8 sub_80F8F40(void); +void sub_80F8F5C(void); +bool32 sub_80FA5D4(void); +bool32 sub_80FC1CC(void); +bool32 sub_80F8F7C(bool32 a0); +bool32 sub_80FA634(u16 a0, const u8 *a1); +void sub_80FA670(u8 a0, u16 a1, const u8 *a2); +u32 sub_80FA6FC(u16 a0, const u8 *a1); +void sub_80FAF58(u8 a0, u32 a1, u32 a2); +void sub_80FBB8C(u32 a0); +void sub_80FBD4C(const u8 *ptr, u16 a1); +void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *gname, u8 *uname); #include "mevent_server.h" extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[]; -- cgit v1.2.3 From 8d5af5332934f47f022907d2acb2e71d96b04449 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 20 Jan 2020 12:14:55 -0500 Subject: through sub_8116738 --- include/link_rfu.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/link_rfu.h b/include/link_rfu.h index fd77688f2..a0db0a425 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -307,6 +307,8 @@ void sub_80FAF58(u8 a0, u32 a1, u32 a2); void sub_80FBB8C(u32 a0); void sub_80FBD4C(const u8 *ptr, u16 a1); void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *gname, u8 *uname); +void sub_80FBBD8(void); +void sub_80FA6BC(void); #include "mevent_server.h" extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[]; -- cgit v1.2.3 From ac5bfcf1ce9c0f1dfe240dca3aeb0f3fcaa83280 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 20 Jan 2020 14:46:01 -0500 Subject: through sub_8117A0C --- include/berry_crush.h | 6 ++++++ include/cable_club.h | 1 + include/dodrio_berry_picking.h | 6 ++++++ include/field_control_avatar.h | 1 + include/field_weather.h | 2 +- include/link.h | 1 + include/link_rfu.h | 8 +++++++- include/mevent.h | 3 +++ include/mystery_gift_menu.h | 3 +++ include/overworld.h | 3 ++- include/pokemon_jump.h | 1 + include/save_location.h | 1 + include/union_room.h | 2 +- include/union_room_chat.h | 1 + include/union_room_player_avatar.h | 6 ++++++ 15 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 include/berry_crush.h create mode 100644 include/dodrio_berry_picking.h create mode 100644 include/union_room_player_avatar.h (limited to 'include') diff --git a/include/berry_crush.h b/include/berry_crush.h new file mode 100644 index 000000000..2583aba61 --- /dev/null +++ b/include/berry_crush.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BERRY_CRUSH_H +#define GUARD_BERRY_CRUSH_H + +void sub_814B754(MainCallback callback); + +#endif //GUARD_BERRY_CRUSH_H diff --git a/include/cable_club.h b/include/cable_club.h index 5375c2210..c1dbab1a5 100644 --- a/include/cable_club.h +++ b/include/cable_club.h @@ -10,5 +10,6 @@ // Exported ROM declarations void sub_8081A90(u8 taskId); u8 sub_8081150(void); +void sub_8081668(void); #endif //GUARD_CABLE_CLUB_H diff --git a/include/dodrio_berry_picking.h b/include/dodrio_berry_picking.h new file mode 100644 index 000000000..59736ba7a --- /dev/null +++ b/include/dodrio_berry_picking.h @@ -0,0 +1,6 @@ +#ifndef GUARD_DODRIO_BERRY_PICKING_H +#define GUARD_DODRIO_BERRY_PICKING_H + +void sub_81507FC(u16 species, MainCallback callback); + +#endif //GUARD_DODRIO_BERRY_PICKING_H diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index ecb622de5..57a2fab66 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -7,5 +7,6 @@ extern u32 gUnknown_3005078; void RestartWildEncounterImmunitySteps(void); void ClearPoisonStepCounter(void); +void SetCableClubWarp(void); #endif //GUARD_FIELD_CONTROL_AVATAR_H diff --git a/include/field_weather.h b/include/field_weather.h index 2709a7298..de2543edb 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -3,7 +3,7 @@ #include "global.h" -void fade_screen(u8, s8); +void FadeScreen(u8, s8); void SetSav1Weather(u32); u8 GetSav1Weather(void); diff --git a/include/link.h b/include/link.h index 4175ac97f..770a60f44 100644 --- a/include/link.h +++ b/include/link.h @@ -278,5 +278,6 @@ bool8 HandleLinkConnection(void); void sub_800B0B4(void); void sub_800B110(u32 who); void sub_800ACBC(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 unk_06); +u8 sub_800A8D4(void); #endif // GUARD_LINK_H diff --git a/include/link_rfu.h b/include/link_rfu.h index a0db0a425..6f7e01678 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -235,7 +235,7 @@ bool8 IsLinkRfuTaskFinished(void); void DestroyWirelessStatusIndicatorSprite(void); void MEvent_CreateTask_CardOrNewsWithFriend(u8); void MEvent_CreateTask_CardOrNewsOverWireless(u8); -void MEvent_CreateTask_Leader(u8); +void MEvent_CreateTask_Leader(u32 arg0); void sub_80F9E2C(void * data); u8 sub_8116DE0(void); void sub_80FBB4C(void); @@ -309,6 +309,12 @@ void sub_80FBD4C(const u8 *ptr, u16 a1); void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *gname, u8 *uname); void sub_80FBBD8(void); void sub_80FA6BC(void); +void sub_80FBF54(const u8 *src, u16 trainerId); +void sub_80FB008(u8 a0, u32 a1, u32 a2); +void RecordMixTrainerNames(void); +void sub_80F8CFC(); +void sub_80F8D14(); +void sub_80FAF74(bool32 a0, bool32 a1); #include "mevent_server.h" extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[]; diff --git a/include/mevent.h b/include/mevent.h index 81caeb42f..eb7cf77f3 100644 --- a/include/mevent.h +++ b/include/mevent.h @@ -70,5 +70,8 @@ void sub_8143D24(void); u16 sub_81445C0(u32 command); void sub_8144714(u32 a0, u32 a1); u16 *GetMEventProfileECWordsMaybe(void); +void sub_81446C4(void); +bool32 sub_81446D0(u16 a0); +u16 GetWonderCardFlagID(void); #endif //GUARD_MEVENT_H diff --git a/include/mystery_gift_menu.h b/include/mystery_gift_menu.h index 32624d602..bd790b36e 100644 --- a/include/mystery_gift_menu.h +++ b/include/mystery_gift_menu.h @@ -7,5 +7,8 @@ void MainCB_FreeAllBuffersAndReturnToInitTitleScreen(void); void PrintMysteryGiftOrEReaderTopMenu(bool8, bool32); void c2_mystery_gift(void); void c2_mystery_gift_e_reader_run(void); +s8 mevent_message_print_and_prompt_yes_no(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, const u8 * str); +void MG_DrawTextBorder(u8 windowId); +u16 GetMysteryGiftBaseBlock(void); #endif //GUARD_MYSTERY_GIFT_MENU_H diff --git a/include/overworld.h b/include/overworld.h index c24b63cf9..a7031e56d 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -62,7 +62,8 @@ extern struct WarpData gUnknown_2031DB4; extern struct WarpData gUnknown_2031DBC; extern u8 gUnknown_2031DE0; -extern u8 gUnknown_300502C; +extern u8 gFieldLinkPlayerCount; +extern u8 gLocalLinkPlayerId; void IncrementGameStat(u8 index); diff --git a/include/pokemon_jump.h b/include/pokemon_jump.h index 8623b223a..0e9094752 100644 --- a/include/pokemon_jump.h +++ b/include/pokemon_jump.h @@ -5,5 +5,6 @@ void ResetPokeJumpResults(void); bool32 IsSpeciesAllowedInPokemonJump(u16 species); +void sub_8147AA8(u16 species, MainCallback callback); #endif // GUARD_POKEMON_JUMP_H diff --git a/include/save_location.h b/include/save_location.h index fb71ab728..c8e362231 100644 --- a/include/save_location.h +++ b/include/save_location.h @@ -6,6 +6,7 @@ #define POKECENTER_SAVEWARP (1 << 1) #define LOBBY_SAVEWARP (1 << 2) #define UNK_SPECIAL_SAVE_WARP_FLAG_3 (1 << 3) +#define CHAMPION_SAVEWARP (1 << 7) void TrySetMapSaveWarpStatus(void); bool32 IsCurMapPokeCenter(void); diff --git a/include/union_room.h b/include/union_room.h index d57683a8a..9221b6bf5 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -134,7 +134,7 @@ union UnkUnion_Main struct UnkStruct_URoom *uRoom; }; -struct TradeUnkStruct +struct UnionRoomTrade { u16 field_0; u16 type; diff --git a/include/union_room_chat.h b/include/union_room_chat.h index 17e482525..66daac376 100644 --- a/include/union_room_chat.h +++ b/include/union_room_chat.h @@ -2,6 +2,7 @@ #define GUARD_UNION_ROOM_CHAT_H void sub_801DD98(void); +void sub_8128420(void); void copy_strings_to_sav1(void); #endif // GUARD_UNION_ROOM_CHAT_H diff --git a/include/union_room_player_avatar.h b/include/union_room_player_avatar.h new file mode 100644 index 000000000..12b7773e7 --- /dev/null +++ b/include/union_room_player_avatar.h @@ -0,0 +1,6 @@ +#ifndef GUARD_UNION_ROOM_PLAYER_AVATAR_H +#define GUARD_UNION_ROOM_PLAYER_AVATAR_H + +void sub_811C1C8(void); + +#endif //GUARD_UNION_ROOM_PLAYER_AVATAR_H -- cgit v1.2.3 From a083f0f57f684eba3bb0f9ae3aeb09edb41f2fc2 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 20 Jan 2020 15:24:36 -0500 Subject: through sub_81186C8 --- include/link_rfu.h | 5 +++-- include/union_room.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/link_rfu.h b/include/link_rfu.h index 6f7e01678..35e5d46ff 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -233,8 +233,8 @@ void MG_DrawCheckerboardPattern(void); void task_add_05_task_del_08FA224_when_no_RfuFunc(void); bool8 IsLinkRfuTaskFinished(void); void DestroyWirelessStatusIndicatorSprite(void); -void MEvent_CreateTask_CardOrNewsWithFriend(u8); -void MEvent_CreateTask_CardOrNewsOverWireless(u8); +void MEvent_CreateTask_CardOrNewsWithFriend(u32 arg0); +void MEvent_CreateTask_CardOrNewsOverWireless(u32 arg0); void MEvent_CreateTask_Leader(u32 arg0); void sub_80F9E2C(void * data); u8 sub_8116DE0(void); @@ -315,6 +315,7 @@ void RecordMixTrainerNames(void); void sub_80F8CFC(); void sub_80F8D14(); void sub_80FAF74(bool32 a0, bool32 a1); +void ClearAndInitHostRFUtgtGname(void); #include "mevent_server.h" extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[]; diff --git a/include/union_room.h b/include/union_room.h index 9221b6bf5..b485d2035 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -124,7 +124,7 @@ struct UnkStruct_URoom struct UnkStruct_8019BA8 field_A0[8]; u8 field_C0[12][15]; u8 field_174[48]; - u8 field_1A4[200]; + u8 field_1A4[180]; }; union UnkUnion_Main -- cgit v1.2.3 From 1fd20be8e10d9b810095186903acf9a405ce97c4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 20 Jan 2020 17:08:24 -0500 Subject: sub_81186E0 --- include/field_fadetransition.h | 2 ++ include/link_rfu.h | 7 +++++ include/party_menu.h | 2 +- include/union_room.h | 60 +++++++++++++++++++------------------- include/union_room_player_avatar.h | 7 +++++ 5 files changed, 47 insertions(+), 31 deletions(-) (limited to 'include') diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h index 22849a37d..d27d0e54a 100644 --- a/include/field_fadetransition.h +++ b/include/field_fadetransition.h @@ -17,6 +17,8 @@ void FieldCallback_ReturnToEventScript2(void); void sub_807DC00(void); void FadeTransition_FadeInOnReturnToStartMenu(void); +void sub_807DCE4(void); + bool32 sub_807E418(void); #endif // GUARD_FIELD_FADETRANSITION_H diff --git a/include/link_rfu.h b/include/link_rfu.h index 35e5d46ff..3869ba000 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -316,6 +316,13 @@ void sub_80F8CFC(); void sub_80F8D14(); void sub_80FAF74(bool32 a0, bool32 a1); void ClearAndInitHostRFUtgtGname(void); +void sub_80F8FA0(void); +void sub_80FAFA0(u32 type, u32 species, u32 level); +bool32 sub_80FBB0C(void); +void sub_80FBC00(void); +void sub_80FBD6C(u32 a0); +void sub_80FC114(const u8 *name, struct GFtgtGname *structPtr, u8 a2); +bool32 sub_80FD338(u16 id, u8 *name); #include "mevent_server.h" extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[]; diff --git a/include/party_menu.h b/include/party_menu.h index cc8889137..a1b85e059 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -68,7 +68,7 @@ void CB2_ChooseMonToGiveItem(void); void ChooseMonToGiveMailFromMailbox(void); void InitChooseHalfPartyForBattle(u8 a1); void ClearSelectedPartyOrder(void); -void sub_81277F4(u8 menuType, MainCallback callback); +void ChooseMonForTradingBoard(u8 menuType, MainCallback callback); void ChooseMonForMoveTutor(void); void ChooseMonForWirelessMinigame(void); void OpenPartyMenuInTutorialBattle(u8 partyAction); diff --git a/include/union_room.h b/include/union_room.h index b485d2035..fa3ead8dc 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -95,36 +95,36 @@ struct UnkStruct_8019BA8 struct UnkStruct_URoom { - struct UnkStruct_Main0 *field_0; - struct UnkStruct_Main4 *field_4; - struct UnkStruct_Main0 *field_8; - struct UnkStruct_Main4 *field_C; - u16 field_10; - u16 field_12; - u8 state; - u8 stateAfterPrint; - u8 textState; - u8 field_17; - u8 field_18; - u8 field_19; - u8 field_1A; - u8 field_1B; - u8 field_1C; - u8 field_1D; - u8 field_1E; - u8 field_1F; - u8 field_20; - u8 spriteIds[40]; - u8 field_49; - u8 field_4A; - u16 field_4C[6]; - u8 field_58[0x98 - 0x58]; - u16 field_98; - u16 field_9A[3]; - struct UnkStruct_8019BA8 field_A0[8]; - u8 field_C0[12][15]; - u8 field_174[48]; - u8 field_1A4[180]; + /* 0x000 */ struct UnkStruct_Main0 *field_0; + /* 0x004 */ struct UnkStruct_Main4 *field_4; + /* 0x008 */ struct UnkStruct_Main0 *field_8; + /* 0x00C */ struct UnkStruct_Main4 *field_C; + /* 0x010 */ u16 field_10; + /* 0x012 */ u16 field_12; + /* 0x014 */ u8 state; + /* 0x015 */ u8 stateAfterPrint; + /* 0x016 */ u8 textState; + /* 0x017 */ u8 field_17; + /* 0x018 */ u8 field_18; + /* 0x019 */ u8 field_19; + /* 0x01A */ u8 field_1A; + /* 0x01B */ u8 field_1B; + /* 0x01C */ u8 field_1C; + /* 0x01D */ u8 field_1D; + /* 0x01E */ u8 field_1E; + /* 0x01F */ u8 field_1F; + /* 0x020 */ u8 field_20; + /* 0x021 */ u8 spriteIds[40]; + /* 0x049 */ u8 field_49; + /* 0x04A */ u8 field_4A; + /* 0x04C */ u16 field_4C[6]; + /* 0x058 */ u8 field_58[0x84 - 0x58]; + /* 0x084 */ u16 field_98; + /* 0x086 */ u16 field_9A[3]; + /* 0x08C */ struct UnkStruct_8019BA8 field_A0[8]; + /* 0x08C */ u8 field_C0[12][15]; + /* 0x08C */ u8 field_174[48]; + /* 0x08C */ u8 field_1A4[200]; }; union UnkUnion_Main diff --git a/include/union_room_player_avatar.h b/include/union_room_player_avatar.h index 12b7773e7..68d64736d 100644 --- a/include/union_room_player_avatar.h +++ b/include/union_room_player_avatar.h @@ -2,5 +2,12 @@ #define GUARD_UNION_ROOM_PLAYER_AVATAR_H void sub_811C1C8(void); +void sub_811BAAC(u8 *spriteIds, s32 arg1); +void sub_811BB40(u8 *spriteIds); +void sub_811BB68(void); +void sub_811BECC(struct UnkStruct_URoom *arg0); +void sub_811BEDC(struct UnkStruct_URoom *arg0); +bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3); +void sub_811C028(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2); #endif //GUARD_UNION_ROOM_PLAYER_AVATAR_H -- cgit v1.2.3 From 5e0a845fc491590a7bf7d9e9cb99cf1f57733665 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 20 Jan 2020 20:21:58 -0500 Subject: finish union_room.s code decomp --- include/event_object_lock.h | 1 + include/global.fieldmap.h | 6 +++--- include/link_rfu.h | 2 ++ include/union_room.h | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/event_object_lock.h b/include/event_object_lock.h index c5c32857b..5c65585b5 100644 --- a/include/event_object_lock.h +++ b/include/event_object_lock.h @@ -11,5 +11,6 @@ void sub_8098630(void); bool8 sub_8098734(void); void sub_80696C0(void); bool8 walkrun_is_standing_still(void); +void sub_80696F0(void); #endif // GUARD_EVENT_OBJECT_LOCK_H diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 4402d5042..01cd992ec 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -275,9 +275,9 @@ enum struct PlayerAvatar /* 0x202E858 */ { /*0x00*/ u8 flags; - /*0x01*/ u8 bike; - /*0x02*/ u8 running2; - /*0x03*/ u8 running1; + /*0x01*/ u8 unk1; // used to be bike, but it's not that in Emerald and probably isn't here either. maybe transition flags? + /*0x02*/ u8 runningState; // this is a static running state. 00 is not moving, 01 is turn direction, 02 is moving. + /*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; diff --git a/include/link_rfu.h b/include/link_rfu.h index 3869ba000..874f62511 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -323,6 +323,8 @@ void sub_80FBC00(void); void sub_80FBD6C(u32 a0); void sub_80FC114(const u8 *name, struct GFtgtGname *structPtr, u8 a2); bool32 sub_80FD338(u16 id, u8 *name); +bool8 sub_80FCC3C(struct GFtgtGname *gname, u8 *uname, u8 idx); +bool8 sub_80FCCF4(struct GFtgtGname *gname, u8 *uname, u8 idx); #include "mevent_server.h" extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[]; diff --git a/include/union_room.h b/include/union_room.h index fa3ead8dc..fcd970f7d 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -118,7 +118,7 @@ struct UnkStruct_URoom /* 0x049 */ u8 field_49; /* 0x04A */ u8 field_4A; /* 0x04C */ u16 field_4C[6]; - /* 0x058 */ u8 field_58[0x84 - 0x58]; + /* 0x058 */ u8 field_58[4][11]; /* 0x084 */ u16 field_98; /* 0x086 */ u16 field_9A[3]; /* 0x08C */ struct UnkStruct_8019BA8 field_A0[8]; -- cgit v1.2.3 From 9f9b4dd13dfdbb2367059df09a15ba877ecd84e7 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 21 Jan 2020 14:36:13 -0500 Subject: Data through gUnknown_84570C8 --- include/constants/pokemon.h | 130 +++++++++++++++++++++++++++++++ include/pokemon.h | 184 +------------------------------------------- 2 files changed, 131 insertions(+), 183 deletions(-) (limited to 'include') diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index c6fc55003..2c8eeb3ea 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -1,6 +1,97 @@ #ifndef GUARD_CONSTANTS_POKEMON_H #define GUARD_CONSTANTS_POKEMON_H +// For (Set|Get)(Box)?MonData +#define MON_DATA_PERSONALITY 0 +#define MON_DATA_OT_ID 1 +#define MON_DATA_NICKNAME 2 +#define MON_DATA_LANGUAGE 3 +#define MON_DATA_SANITY_IS_BAD_EGG 4 +#define MON_DATA_SANITY_HAS_SPECIES 5 +#define MON_DATA_SANITY_IS_EGG 6 +#define MON_DATA_OT_NAME 7 +#define MON_DATA_MARKINGS 8 +#define MON_DATA_CHECKSUM 9 +#define MON_DATA_ENCRYPT_SEPARATOR 10 +#define MON_DATA_SPECIES 11 +#define MON_DATA_HELD_ITEM 12 +#define MON_DATA_MOVE1 13 +#define MON_DATA_MOVE2 14 +#define MON_DATA_MOVE3 15 +#define MON_DATA_MOVE4 16 +#define MON_DATA_PP1 17 +#define MON_DATA_PP2 18 +#define MON_DATA_PP3 19 +#define MON_DATA_PP4 20 +#define MON_DATA_PP_BONUSES 21 +#define MON_DATA_COOL 22 +#define MON_DATA_BEAUTY 23 +#define MON_DATA_CUTE 24 +#define MON_DATA_EXP 25 +#define MON_DATA_HP_EV 26 +#define MON_DATA_ATK_EV 27 +#define MON_DATA_DEF_EV 28 +#define MON_DATA_SPEED_EV 29 +#define MON_DATA_SPATK_EV 30 +#define MON_DATA_SPDEF_EV 31 +#define MON_DATA_FRIENDSHIP 32 +#define MON_DATA_SMART 33 +#define MON_DATA_POKERUS 34 +#define MON_DATA_MET_LOCATION 35 +#define MON_DATA_MET_LEVEL 36 +#define MON_DATA_MET_GAME 37 +#define MON_DATA_POKEBALL 38 +#define MON_DATA_HP_IV 39 +#define MON_DATA_ATK_IV 40 +#define MON_DATA_DEF_IV 41 +#define MON_DATA_SPEED_IV 42 +#define MON_DATA_SPATK_IV 43 +#define MON_DATA_SPDEF_IV 44 +#define MON_DATA_IS_EGG 45 +#define MON_DATA_ABILITY_NUM 46 +#define MON_DATA_TOUGH 47 +#define MON_DATA_SHEEN 48 +#define MON_DATA_OT_GENDER 49 +#define MON_DATA_COOL_RIBBON 50 +#define MON_DATA_BEAUTY_RIBBON 51 +#define MON_DATA_CUTE_RIBBON 52 +#define MON_DATA_SMART_RIBBON 53 +#define MON_DATA_TOUGH_RIBBON 54 +#define MON_DATA_STATUS 55 +#define MON_DATA_LEVEL 56 +#define MON_DATA_HP 57 +#define MON_DATA_MAX_HP 58 +#define MON_DATA_ATK 59 +#define MON_DATA_DEF 60 +#define MON_DATA_SPEED 61 +#define MON_DATA_SPATK 62 +#define MON_DATA_SPDEF 63 +#define MON_DATA_MAIL 64 +#define MON_DATA_SPECIES2 65 +#define MON_DATA_IVS 66 +#define MON_DATA_CHAMPION_RIBBON 67 +#define MON_DATA_WINNING_RIBBON 68 +#define MON_DATA_VICTORY_RIBBON 69 +#define MON_DATA_ARTIST_RIBBON 70 +#define MON_DATA_EFFORT_RIBBON 71 +#define MON_DATA_GIFT_RIBBON_1 72 +#define MON_DATA_GIFT_RIBBON_2 73 +#define MON_DATA_GIFT_RIBBON_3 74 +#define MON_DATA_GIFT_RIBBON_4 75 +#define MON_DATA_GIFT_RIBBON_5 76 +#define MON_DATA_GIFT_RIBBON_6 77 +#define MON_DATA_GIFT_RIBBON_7 78 +#define MON_DATA_FATEFUL_ENCOUNTER 79 +#define MON_DATA_OBEDIENCE 80 +#define MON_DATA_KNOWN_MOVES 81 +#define MON_DATA_RIBBON_COUNT 82 +#define MON_DATA_RIBBONS 83 +#define MON_DATA_ATK2 84 +#define MON_DATA_DEF2 85 +#define MON_DATA_SPEED2 86 +#define MON_DATA_SPATK2 87 +#define MON_DATA_SPDEF2 88 + // Pokemon types #define TYPE_NORMAL 0x00 #define TYPE_FIGHTING 0x01 @@ -77,6 +168,16 @@ #define STAT_ACC 6 // only in battles #define STAT_EVASION 7 // only in battles +// TODO: Why do we need these as separate defines? +#define STAT_STAGE_HP 0 +#define STAT_STAGE_ATK 1 +#define STAT_STAGE_DEF 2 +#define STAT_STAGE_SPEED 3 +#define STAT_STAGE_SPATK 4 +#define STAT_STAGE_SPDEF 5 +#define STAT_STAGE_ACC 6 +#define STAT_STAGE_EVASION 7 + #define NUM_STATS 6 #define NUM_BATTLE_STATS 8 @@ -91,4 +192,33 @@ #define PLAYER_HAS_ONE_MON 0x1 #define PLAYER_HAS_ONE_USABLE_MON 0x2 +#define MAX_LEVEL 100 + +#define OT_ID_RANDOM_NO_SHINY 2 +#define OT_ID_PRESET 1 +#define OT_ID_PLAYER_ID 0 + +#define MON_GIVEN_TO_PARTY 0x0 +#define MON_GIVEN_TO_PC 0x1 +#define MON_CANT_GIVE 0x2 + +#define MON_MALE 0x00 +#define MON_FEMALE 0xFE +#define MON_GENDERLESS 0xFF + +#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0 +#define FRIENDSHIP_EVENT_VITAMIN 0x1 +#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2 +#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3 +#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4 +#define FRIENDSHIP_EVENT_WALKING 0x5 +#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6 +#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7 +#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8 + +#define PARTY_SIZE 6 +#define MAX_TOTAL_EVS 510 +#define UNOWN_FORM_COUNT 28 +#define MAX_MON_LEVEL 100 + #endif // GUARD_CONSTANTS_POKEMON_H diff --git a/include/pokemon.h b/include/pokemon.h index ae909018c..be0a35877 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -3,167 +3,7 @@ #include "global.h" #include "sprite.h" - -#define MON_DATA_PERSONALITY 0 -#define MON_DATA_OT_ID 1 -#define MON_DATA_NICKNAME 2 -#define MON_DATA_LANGUAGE 3 -#define MON_DATA_SANITY_IS_BAD_EGG 4 -#define MON_DATA_SANITY_HAS_SPECIES 5 -#define MON_DATA_SANITY_IS_EGG 6 -#define MON_DATA_OT_NAME 7 -#define MON_DATA_MARKINGS 8 -#define MON_DATA_CHECKSUM 9 -#define MON_DATA_ENCRYPT_SEPARATOR 10 -#define MON_DATA_SPECIES 11 -#define MON_DATA_HELD_ITEM 12 -#define MON_DATA_MOVE1 13 -#define MON_DATA_MOVE2 14 -#define MON_DATA_MOVE3 15 -#define MON_DATA_MOVE4 16 -#define MON_DATA_PP1 17 -#define MON_DATA_PP2 18 -#define MON_DATA_PP3 19 -#define MON_DATA_PP4 20 -#define MON_DATA_PP_BONUSES 21 -#define MON_DATA_COOL 22 -#define MON_DATA_BEAUTY 23 -#define MON_DATA_CUTE 24 -#define MON_DATA_EXP 25 -#define MON_DATA_HP_EV 26 -#define MON_DATA_ATK_EV 27 -#define MON_DATA_DEF_EV 28 -#define MON_DATA_SPEED_EV 29 -#define MON_DATA_SPATK_EV 30 -#define MON_DATA_SPDEF_EV 31 -#define MON_DATA_FRIENDSHIP 32 -#define MON_DATA_SMART 33 -#define MON_DATA_POKERUS 34 -#define MON_DATA_MET_LOCATION 35 -#define MON_DATA_MET_LEVEL 36 -#define MON_DATA_MET_GAME 37 -#define MON_DATA_POKEBALL 38 -#define MON_DATA_HP_IV 39 -#define MON_DATA_ATK_IV 40 -#define MON_DATA_DEF_IV 41 -#define MON_DATA_SPEED_IV 42 -#define MON_DATA_SPATK_IV 43 -#define MON_DATA_SPDEF_IV 44 -#define MON_DATA_IS_EGG 45 -#define MON_DATA_ABILITY_NUM 46 -#define MON_DATA_TOUGH 47 -#define MON_DATA_SHEEN 48 -#define MON_DATA_OT_GENDER 49 -#define MON_DATA_COOL_RIBBON 50 -#define MON_DATA_BEAUTY_RIBBON 51 -#define MON_DATA_CUTE_RIBBON 52 -#define MON_DATA_SMART_RIBBON 53 -#define MON_DATA_TOUGH_RIBBON 54 -#define MON_DATA_STATUS 55 -#define MON_DATA_LEVEL 56 -#define MON_DATA_HP 57 -#define MON_DATA_MAX_HP 58 -#define MON_DATA_ATK 59 -#define MON_DATA_DEF 60 -#define MON_DATA_SPEED 61 -#define MON_DATA_SPATK 62 -#define MON_DATA_SPDEF 63 -#define MON_DATA_MAIL 64 -#define MON_DATA_SPECIES2 65 -#define MON_DATA_IVS 66 -#define MON_DATA_CHAMPION_RIBBON 67 -#define MON_DATA_WINNING_RIBBON 68 -#define MON_DATA_VICTORY_RIBBON 69 -#define MON_DATA_ARTIST_RIBBON 70 -#define MON_DATA_EFFORT_RIBBON 71 -#define MON_DATA_GIFT_RIBBON_1 72 -#define MON_DATA_GIFT_RIBBON_2 73 -#define MON_DATA_GIFT_RIBBON_3 74 -#define MON_DATA_GIFT_RIBBON_4 75 -#define MON_DATA_GIFT_RIBBON_5 76 -#define MON_DATA_GIFT_RIBBON_6 77 -#define MON_DATA_GIFT_RIBBON_7 78 -#define MON_DATA_FATEFUL_ENCOUNTER 79 -#define MON_DATA_OBEDIENCE 80 -#define MON_DATA_KNOWN_MOVES 81 -#define MON_DATA_RIBBON_COUNT 82 -#define MON_DATA_RIBBONS 83 -#define MON_DATA_ATK2 84 -#define MON_DATA_DEF2 85 -#define MON_DATA_SPEED2 86 -#define MON_DATA_SPATK2 87 -#define MON_DATA_SPDEF2 88 - -#define MAX_LEVEL 100 - -#define OT_ID_RANDOM_NO_SHINY 2 -#define OT_ID_PRESET 1 -#define OT_ID_PLAYER_ID 0 - -#define MON_GIVEN_TO_PARTY 0x0 -#define MON_GIVEN_TO_PC 0x1 -#define MON_CANT_GIVE 0x2 - -#define MON_MALE 0x00 -#define MON_FEMALE 0xFE -#define MON_GENDERLESS 0xFF - -#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0 -#define FRIENDSHIP_EVENT_VITAMIN 0x1 -#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2 -#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3 -#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4 -#define FRIENDSHIP_EVENT_WALKING 0x5 -#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6 -#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7 -#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8 - -#define TYPE_NORMAL 0x00 -#define TYPE_FIGHTING 0x01 -#define TYPE_FLYING 0x02 -#define TYPE_POISON 0x03 -#define TYPE_GROUND 0x04 -#define TYPE_ROCK 0x05 -#define TYPE_BUG 0x06 -#define TYPE_GHOST 0x07 -#define TYPE_STEEL 0x08 -#define TYPE_MYSTERY 0x09 -#define TYPE_FIRE 0x0a -#define TYPE_WATER 0x0b -#define TYPE_GRASS 0x0c -#define TYPE_ELECTRIC 0x0d -#define TYPE_PSYCHIC 0x0e -#define TYPE_ICE 0x0f -#define TYPE_DRAGON 0x10 -#define TYPE_DARK 0x11 - -#define NUMBER_OF_MON_TYPES 0x12 - -#define PARTY_SIZE 6 -#define MAX_TOTAL_EVS 510 -#define NUM_STATS 6 -#define UNOWN_FORM_COUNT 28 -#define MAX_MON_LEVEL 100 - -enum -{ - EGG_GROUP_NONE, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - EGG_GROUP_BUG, - EGG_GROUP_FLYING, - EGG_GROUP_FIELD, - EGG_GROUP_FAIRY, - EGG_GROUP_GRASS, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_WATER_3, - EGG_GROUP_MINERAL, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_WATER_2, - EGG_GROUP_DITTO, - EGG_GROUP_DRAGON, - EGG_GROUP_UNDISCOVERED -}; +#include "constants/pokemon.h" struct PokemonSubstruct0 { @@ -357,28 +197,6 @@ struct BattlePokemon /*0x54*/ u32 otId; }; -enum -{ - STAT_STAGE_HP, // 0 - STAT_STAGE_ATK, // 1 - STAT_STAGE_DEF, // 2 - STAT_STAGE_SPEED, // 3 - STAT_STAGE_SPATK, // 4 - STAT_STAGE_SPDEF, // 5 - STAT_STAGE_ACC, // 6 - STAT_STAGE_EVASION, // 7 -}; - -enum -{ - STAT_HP, // 0 - STAT_ATK, // 1 - STAT_DEF, // 2 - STAT_SPD, // 3 - STAT_SPATK, // 4 - STAT_SPDEF, // 5 -}; - struct BaseStats { /* 0x00 */ u8 baseHP; -- cgit v1.2.3 From 26716a87337370a56e59b206a4e7767384797235 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 22 Jan 2020 10:13:34 -0500 Subject: Split remaining union room data --- include/union_room_message.h | 107 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 include/union_room_message.h (limited to 'include') diff --git a/include/union_room_message.h b/include/union_room_message.h new file mode 100644 index 000000000..82e0dd955 --- /dev/null +++ b/include/union_room_message.h @@ -0,0 +1,107 @@ +extern const u8 gUnknown_84571AC[]; +extern const u8 gUnknown_84571B0[]; +extern const u8 gUnknown_84571B4[]; +extern const u8 gUnknown_84571B8[]; +extern const u8 gUnknown_84571E0[]; +extern const u8 gUnknown_8457234[]; +extern const u8 gUnknown_8457264[]; +extern const u8 *const gUnknown_845742C[][5]; +extern const u8 gUnknown_845747C[]; +extern const u8 gUnknown_84574A0[]; +extern const u8 gUnknown_84574C4[]; +extern const u8 gUnknown_84574EC[]; +extern const u8 gUnknown_8457514[]; +extern const u8 gUnknown_8457530[]; +extern const u8 gUnknown_8457554[]; +extern const u8 *const gUnknown_8457608[]; +extern const u8 gUnknown_8457610[]; +extern const u8 *const gUnknown_845767C[]; +extern const u8 gUnknown_84576AC[]; +extern const u8 gUnknown_84576C4[]; +extern const u8 gUnknown_8457700[]; +extern const u8 gUnknown_845771C[]; +extern const u8 *const gUnknown_8457754[]; +extern const u8 gUnknown_845777C[]; +extern const u8 gUnknown_84577BC[]; +extern const u8 gUnknown_84577F8[]; +extern const u8 *const gUnknown_8457838[]; +extern const u8 gUnknown_84578BC[]; +extern const u8 *const gUnknown_8457A34[]; +extern const u8 *const gUnknown_8457B04[][2]; +extern const u8 *const gUnknown_8457BCC[]; +extern const u8 *const gUnknown_8457C20[]; +extern const u8 gUnknown_8457C48[]; +extern const u8 gUnknown_8457CA4[]; +extern const u8 gUnknown_8457CF8[]; +extern const u8 gUnknown_8457D44[]; +extern const u8 gUnknown_8457DB8[]; +extern const u8 gUnknown_8457E0C[]; +extern const u8 gUnknown_8457E28[]; +extern const u8 gUnknown_8457E44[]; +extern const u8 gUnknown_8457E60[]; +extern const u8 *const gUnknown_8457F80[][2]; +extern const u8 gUnknown_8457F90[]; +extern const u8 *const gUnknown_84580F4[][4]; +extern const u8 *const gUnknown_8458230[][2][3]; +extern const u8 *const gUnknown_8458314[]; +extern const u8 *const gUnknown_84583B4[]; +extern const u8 *const gUnknown_845842C[]; +extern const u8 gUnknown_8458434[]; +extern const u8 gUnknown_845847C[]; +extern const u8 gUnknown_84584C0[]; +extern const u8 *const gUnknown_8458548[]; +extern const u8 *const gUnknown_84585E8[]; +extern const u8 *const gUnknown_8458758[2][4]; +extern const u8 *const gUnknown_84588BC[2][4]; +extern const u8 *const gUnknown_84589AC[2][2]; +extern const u8 *const gUnknown_8458A78[2][4]; +extern const u8 gUnknown_8458A98[]; +extern const u8 gUnknown_8458AB8[]; +extern const u8 gUnknown_8458B44[]; +extern const u8 gUnknown_8458CD4[]; +extern const u8 gUnknown_8458D1C[]; +extern const u8 gUnknown_8458D54[]; +extern const u8 gUnknown_8458D78[]; +extern const u8 gUnknown_8458D9C[]; +extern const u8 gUnknown_8458DBC[]; +extern const u8 gUnknown_8458DE8[]; +extern const u8 gUnknown_8458E10[]; +extern const u8 gUnknown_8458E70[]; +extern const u8 gUnknown_8458ED0[]; +extern const u8 gUnknown_8458F04[]; +extern const u8 gUnknown_8458F9C[]; +extern const u8 gUnknown_8458FBC[]; +extern const u8 gUnknown_8458FC8[]; +extern const u8 gUnknown_8458FE4[]; +extern const u8 gUnknown_84591DC[]; +extern const u8 *const gUnknown_84591B8[]; +extern const u8 gUnknown_8459238[]; +extern const u8 gUnknown_8459250[]; +extern const u8 gUnknown_845928C[]; +extern const u8 *const gUnknown_845933C[]; +extern const u8 gUnknown_8459344[]; +extern const u8 gUnknown_845934C[]; +extern const u8 gUnknown_8459354[]; +extern const u8 gUnknown_8459360[]; +extern const u8 gUnknown_8459368[]; +extern const u8 gUnknown_8459370[]; +extern const u8 gUnknown_8459378[]; +extern const u8 gUnknown_8459394[]; +extern const u8 gUnknown_84593A4[]; +extern const u8 gUnknown_84593B4[]; +extern const u8 gUnknown_84593C4[]; +extern const u8 gUnknown_84593D4[]; +extern const u8 gUnknown_84593E4[]; +extern const u8 gUnknown_84593F4[]; +extern const u8 gUnknown_84593DC[]; +extern const u8 gUnknown_8459400[]; +extern const u8 gUnknown_8459410[]; +extern const u8 gUnknown_845941C[]; +extern const u8 gUnknown_845942C[]; +extern const u8 gUnknown_8459434[]; +extern const u8 gUnknown_8459440[]; +extern const u8 *const gUnknown_84594B0[]; +extern const u8 gUnknown_84594C4[]; +extern const u8 gUnknown_8459504[]; +extern const u8 *const gUnknown_8459580[]; +extern const u8 gUnknown_8459588[]; -- cgit v1.2.3 From 944f150b5ed0cccf30763f05f669f6210b10e2c1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 22 Jan 2020 10:19:58 -0500 Subject: Static methods in union_room.c; remove src/data/union_room.h --- include/union_room_player_avatar.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/union_room_player_avatar.h b/include/union_room_player_avatar.h index 68d64736d..46e448e83 100644 --- a/include/union_room_player_avatar.h +++ b/include/union_room_player_avatar.h @@ -9,5 +9,7 @@ void sub_811BECC(struct UnkStruct_URoom *arg0); void sub_811BEDC(struct UnkStruct_URoom *arg0); bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3); void sub_811C028(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2); +u8 sub_811B754(struct UnkStruct_8019BA8 * ptr); +void sub_811BA78(void); #endif //GUARD_UNION_ROOM_PLAYER_AVATAR_H -- cgit v1.2.3 From 1e7df548fe6e0957efc8c0a5c1146eae7a203963 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 22 Jan 2020 10:31:14 -0500 Subject: Fix struct offset comments --- include/union_room.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/union_room.h b/include/union_room.h index fcd970f7d..f9abd3d9f 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -122,9 +122,9 @@ struct UnkStruct_URoom /* 0x084 */ u16 field_98; /* 0x086 */ u16 field_9A[3]; /* 0x08C */ struct UnkStruct_8019BA8 field_A0[8]; - /* 0x08C */ u8 field_C0[12][15]; - /* 0x08C */ u8 field_174[48]; - /* 0x08C */ u8 field_1A4[200]; + /* 0x0AC */ u8 field_C0[12][15]; + /* 0x160 */ u8 field_174[48]; + /* 0x190 */ u8 field_1A4[200]; }; union UnkUnion_Main -- cgit v1.2.3 From 70bb1a99e2211f7856f301827f11b7faec334a02 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 22 Jan 2020 10:35:47 -0500 Subject: union_room_player_avatar --> rfu_union_tool (by assert statements) --- include/rfu_union_tool.h | 15 +++++++++++++++ include/union_room_player_avatar.h | 15 --------------- 2 files changed, 15 insertions(+), 15 deletions(-) create mode 100644 include/rfu_union_tool.h delete mode 100644 include/union_room_player_avatar.h (limited to 'include') diff --git a/include/rfu_union_tool.h b/include/rfu_union_tool.h new file mode 100644 index 000000000..46e448e83 --- /dev/null +++ b/include/rfu_union_tool.h @@ -0,0 +1,15 @@ +#ifndef GUARD_UNION_ROOM_PLAYER_AVATAR_H +#define GUARD_UNION_ROOM_PLAYER_AVATAR_H + +void sub_811C1C8(void); +void sub_811BAAC(u8 *spriteIds, s32 arg1); +void sub_811BB40(u8 *spriteIds); +void sub_811BB68(void); +void sub_811BECC(struct UnkStruct_URoom *arg0); +void sub_811BEDC(struct UnkStruct_URoom *arg0); +bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3); +void sub_811C028(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2); +u8 sub_811B754(struct UnkStruct_8019BA8 * ptr); +void sub_811BA78(void); + +#endif //GUARD_UNION_ROOM_PLAYER_AVATAR_H diff --git a/include/union_room_player_avatar.h b/include/union_room_player_avatar.h deleted file mode 100644 index 46e448e83..000000000 --- a/include/union_room_player_avatar.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef GUARD_UNION_ROOM_PLAYER_AVATAR_H -#define GUARD_UNION_ROOM_PLAYER_AVATAR_H - -void sub_811C1C8(void); -void sub_811BAAC(u8 *spriteIds, s32 arg1); -void sub_811BB40(u8 *spriteIds); -void sub_811BB68(void); -void sub_811BECC(struct UnkStruct_URoom *arg0); -void sub_811BEDC(struct UnkStruct_URoom *arg0); -bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3); -void sub_811C028(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2); -u8 sub_811B754(struct UnkStruct_8019BA8 * ptr); -void sub_811BA78(void); - -#endif //GUARD_UNION_ROOM_PLAYER_AVATAR_H -- cgit v1.2.3 From 0495cce90418b84dc53b5d5c9f3b2bfe46f0ed62 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 22 Jan 2020 12:38:17 -0500 Subject: start decomping rfu_union_tool --- include/rfu_union_tool.h | 2 ++ include/union_room.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/rfu_union_tool.h b/include/rfu_union_tool.h index 46e448e83..4672d8c61 100644 --- a/include/rfu_union_tool.h +++ b/include/rfu_union_tool.h @@ -1,6 +1,8 @@ #ifndef GUARD_UNION_ROOM_PLAYER_AVATAR_H #define GUARD_UNION_ROOM_PLAYER_AVATAR_H +#include "union_room.h" + void sub_811C1C8(void); void sub_811BAAC(u8 *spriteIds, s32 arg1); void sub_811BB40(u8 *spriteIds); diff --git a/include/union_room.h b/include/union_room.h index f9abd3d9f..00ed90a14 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -2,7 +2,7 @@ #define GUARD_UNION_ROOM_H #include "global.h" -#include "librfu.h" +#include "link_rfu.h" struct UnkStruct_Shared { -- cgit v1.2.3 From 401276242af6e911104742ec6f34b54925b4c4b6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 22 Jan 2020 13:39:36 -0500 Subject: through sub_811BDA8 --- include/constants/event_object_movement.h | 7 +++++-- include/event_object_80688E4.h | 4 ++++ include/event_object_8097404.h | 2 +- include/event_object_movement.h | 4 ++-- include/field_player_avatar.h | 1 + include/fieldmap.h | 1 + include/rfu_union_tool.h | 2 +- include/union_room.h | 4 ++-- 8 files changed, 17 insertions(+), 8 deletions(-) (limited to 'include') diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h index 6a4405b65..bf75a47cc 100644 --- a/include/constants/event_object_movement.h +++ b/include/constants/event_object_movement.h @@ -1,6 +1,7 @@ #ifndef GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H #define GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H +// FIXME: Different in FRLG #define MOVEMENT_TYPE_NONE 0x0 #define MOVEMENT_TYPE_LOOK_AROUND 0x1 #define MOVEMENT_TYPE_WANDER_AROUND 0x2 @@ -239,8 +240,10 @@ #define MOVEMENT_ACTION_STOP_LEVITATE 0x99 #define MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP 0x9A #define MOVEMENT_ACTION_FIGURE_8 0x9B -#define MOVEMENT_ACTION_FLY_UP 0x9C -#define MOVEMENT_ACTION_FLY_DOWN 0x9D + +// These two are verified correct in FRLG +#define MOVEMENT_ACTION_FLY_UP 0xA4 +#define MOVEMENT_ACTION_FLY_DOWN 0xA5 #define MOVEMENT_ACTION_STEP_END 0xFE diff --git a/include/event_object_80688E4.h b/include/event_object_80688E4.h index cee8ff707..611a57e00 100644 --- a/include/event_object_80688E4.h +++ b/include/event_object_80688E4.h @@ -6,5 +6,9 @@ void FreezeObjectEvents(void); void FreezeObjectEvent(struct ObjectEvent *); void FreezeObjectEventsExceptOne(u8 objEventId); +void sub_8069124(u8 a0, bool8 a1); +u32 sub_806916C(u8 a0); +void sub_80691A4(u8 a0, u8 a1); +void sub_8069094(u8 a0, u8 a1); #endif // GUARD_EVENT_OBJECT_80688E4_H diff --git a/include/event_object_8097404.h b/include/event_object_8097404.h index 77781943e..23fce9576 100644 --- a/include/event_object_8097404.h +++ b/include/event_object_8097404.h @@ -14,7 +14,7 @@ extern void *gUnknown_020375B8; // Exported ROM declarations void sub_8097AC8(struct Sprite *); -void npc_sync_anim_pause_bits(struct ObjectEvent *); +void UnfreezeObjectEvent(struct ObjectEvent *); void oamt_npc_ministep_reset(struct Sprite *, u8, u8); u8 sub_8097F78(struct ObjectEvent *); bool8 obj_npc_ministep(struct Sprite *sprite); diff --git a/include/event_object_movement.h b/include/event_object_movement.h index b81a61664..1b4c9e365 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -47,7 +47,7 @@ void ObjectEventClearAnimIfSpecialAnimActive(struct ObjectEvent *); void SpawnObjectEventsInView(s16, s16); u8 sprite_new(u8, u8, s16, s16, u8, u8); u8 AddPseudoObjectEvent(u16, SpriteCallback, s16, s16, u8); -u8 show_sprite(u8, u8, u8); +u8 TrySpawnObjectEvent(u8, u8, u8); u8 SpawnSpecialObjectEventParameterized(u8, u8, u8, s16, s16, u8); u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *); void sub_8093038(s16, s16, s16 *, s16 *); @@ -82,7 +82,7 @@ bool8 ObjectEventIsSpecialAnimActive(struct ObjectEvent *); u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *); u8 GetObjectEventIdByXYZ(u16 x, u16 y, u8 z); void sub_8063E28(struct ObjectEvent *, struct Sprite *); -void ObjectEventSetHeldMovement(struct ObjectEvent *, u8); +bool8 ObjectEventSetHeldMovement(struct ObjectEvent *, u8); void npc_coords_shift_still(struct ObjectEvent *); void sub_805FE7C(struct ObjectEvent *, u8); void SetTrainerMovementType(struct ObjectEvent *, u8); diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index ec1a077be..a69ec6155 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -35,5 +35,6 @@ bool32 sub_805DAD0(void); bool32 sub_805DC24(void); bool8 PartyHasMonWithSurf(void); bool8 IsPlayerSurfingNorth(void); +void player_get_pos_including_state_based_drift(s16 *x, s16 *y); #endif //GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/fieldmap.h b/include/fieldmap.h index 1560a0841..91a45d8c5 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -31,5 +31,6 @@ void sub_8059948(u8 a0, u8 a1); void save_serialize_map(void); u32 sub_8058F1C(u32 original, u8 bit); u32 sub_8058F48(s16 x, s16 y, u8 z); +void sub_8059024(s32 x, s32 y, bool32 arg2); #endif //GUARD_FIELDMAP_H diff --git a/include/rfu_union_tool.h b/include/rfu_union_tool.h index 4672d8c61..e7895d25f 100644 --- a/include/rfu_union_tool.h +++ b/include/rfu_union_tool.h @@ -11,7 +11,7 @@ void sub_811BECC(struct UnkStruct_URoom *arg0); void sub_811BEDC(struct UnkStruct_URoom *arg0); bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3); void sub_811C028(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2); -u8 sub_811B754(struct UnkStruct_8019BA8 * ptr); +u8 sub_811B754(struct UnionObj * ptr); void sub_811BA78(void); #endif //GUARD_UNION_ROOM_PLAYER_AVATAR_H diff --git a/include/union_room.h b/include/union_room.h index 00ed90a14..4730dfb18 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -85,7 +85,7 @@ struct UnkStruct_Group u8 field_15; }; -struct UnkStruct_8019BA8 +struct UnionObj { u8 field_0; u8 field_1; @@ -121,7 +121,7 @@ struct UnkStruct_URoom /* 0x058 */ u8 field_58[4][11]; /* 0x084 */ u16 field_98; /* 0x086 */ u16 field_9A[3]; - /* 0x08C */ struct UnkStruct_8019BA8 field_A0[8]; + /* 0x08C */ struct UnionObj field_A0[8]; /* 0x0AC */ u8 field_C0[12][15]; /* 0x160 */ u8 field_174[48]; /* 0x190 */ u8 field_1A4[200]; -- cgit v1.2.3 From c4626ec2966d8d31140fc3cd26fee505d7f817d2 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 22 Jan 2020 13:47:30 -0500 Subject: Finish rfu_union_tool decomp --- include/event_object_80688E4.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/event_object_80688E4.h b/include/event_object_80688E4.h index 611a57e00..36040e0a5 100644 --- a/include/event_object_80688E4.h +++ b/include/event_object_80688E4.h @@ -10,5 +10,6 @@ void sub_8069124(u8 a0, bool8 a1); u32 sub_806916C(u8 a0); void sub_80691A4(u8 a0, u8 a1); void sub_8069094(u8 a0, u8 a1); +bool32 sub_8069294(u8 a0); #endif // GUARD_EVENT_OBJECT_80688E4_H -- cgit v1.2.3 From 48f7bbe6f6521d2f62dabbc162c46da4848661bb Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 22 Jan 2020 14:29:37 -0500 Subject: Some documentation of rfu_union_tool --- include/event_object_movement.h | 2 +- include/link_rfu.h | 2 +- include/rfu_union_tool.h | 2 +- include/union_room.h | 18 +++++++++--------- 4 files changed, 12 insertions(+), 12 deletions(-) (limited to 'include') diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 1b4c9e365..f2e7bd325 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -47,7 +47,7 @@ void ObjectEventClearAnimIfSpecialAnimActive(struct ObjectEvent *); void SpawnObjectEventsInView(s16, s16); u8 sprite_new(u8, u8, s16, s16, u8, u8); u8 AddPseudoObjectEvent(u16, SpriteCallback, s16, s16, u8); -u8 TrySpawnObjectEvent(u8, u8, u8); +u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup); u8 SpawnSpecialObjectEventParameterized(u8, u8, u8, s16, s16, u8); u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *); void sub_8093038(s16, s16, s16 *, s16 *); diff --git a/include/link_rfu.h b/include/link_rfu.h index 874f62511..985c260ef 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -303,7 +303,7 @@ bool32 sub_80F8F7C(bool32 a0); bool32 sub_80FA634(u16 a0, const u8 *a1); void sub_80FA670(u8 a0, u16 a1, const u8 *a2); u32 sub_80FA6FC(u16 a0, const u8 *a1); -void sub_80FAF58(u8 a0, u32 a1, u32 a2); +void SetHostRFUtgtGname(u8 a0, u32 a1, u32 a2); void sub_80FBB8C(u32 a0); void sub_80FBD4C(const u8 *ptr, u16 a1); void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *gname, u8 *uname); diff --git a/include/rfu_union_tool.h b/include/rfu_union_tool.h index e7895d25f..b8b5cd664 100644 --- a/include/rfu_union_tool.h +++ b/include/rfu_union_tool.h @@ -11,7 +11,7 @@ void sub_811BECC(struct UnkStruct_URoom *arg0); void sub_811BEDC(struct UnkStruct_URoom *arg0); bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3); void sub_811C028(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2); -u8 sub_811B754(struct UnionObj * ptr); +u8 ZeroUnionObjWork(struct UnionObj * ptr); void sub_811BA78(void); #endif //GUARD_UNION_ROOM_PLAYER_AVATAR_H diff --git a/include/union_room.h b/include/union_room.h index 4730dfb18..0ad5e920e 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -87,10 +87,10 @@ struct UnkStruct_Group struct UnionObj { - u8 field_0; - u8 field_1; - s8 field_2; - u8 field_3; + u8 state; + u8 gfxId; + s8 animState; + u8 schedAnim; }; struct UnkStruct_URoom @@ -121,17 +121,17 @@ struct UnkStruct_URoom /* 0x058 */ u8 field_58[4][11]; /* 0x084 */ u16 field_98; /* 0x086 */ u16 field_9A[3]; - /* 0x08C */ struct UnionObj field_A0[8]; - /* 0x0AC */ u8 field_C0[12][15]; + /* 0x08C */ struct UnionObj unionObjs[8]; + /* 0x0AC */ u8 trainerCardStrbufs[12][15]; /* 0x160 */ u8 field_174[48]; /* 0x190 */ u8 field_1A4[200]; }; union UnkUnion_Main { - struct UnkStruct_Leader *leader; - struct UnkStruct_Group *group; - struct UnkStruct_URoom *uRoom; + struct UnkStruct_Leader * leader; + struct UnkStruct_Group * group; + struct UnkStruct_URoom * uRoom; }; struct UnionRoomTrade -- cgit v1.2.3 From 2037045ab0dadd4566b4ba123672ab533ee50197 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 22 Jan 2020 14:42:18 -0500 Subject: UnkStruct_Shared.gname --- include/link_rfu.h | 4 ++-- include/union_room.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/link_rfu.h b/include/link_rfu.h index 985c260ef..790429870 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -288,7 +288,7 @@ bool8 sub_80FC6E8(struct UnkRfuStruct_2_Sub_124 * a0, u8 *a1); void sub_80FC63C(struct UnkRfuStruct_2_Sub_9e8 * a0, u8 *a1); u8 sub_80FEA34(u8 a0, u16 a1); void sub_80FDA30(u32 a0); -void InitHostRFUtgtGname(struct GFtgtGname *data, u8 r9, bool32 r2, s32 r3); +void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 r2, s32 r3); void LinkRfu_syncVBlank_(void); s32 sub_80FD430(void (*func1)(u8, u8), void (*func2)(u16)); void sub_80FEB3C(void); @@ -322,7 +322,7 @@ bool32 sub_80FBB0C(void); void sub_80FBC00(void); void sub_80FBD6C(u32 a0); void sub_80FC114(const u8 *name, struct GFtgtGname *structPtr, u8 a2); -bool32 sub_80FD338(u16 id, u8 *name); +bool32 PlayerHasMetTrainerBefore(u16 id, u8 *name); bool8 sub_80FCC3C(struct GFtgtGname *gname, u8 *uname, u8 idx); bool8 sub_80FCCF4(struct GFtgtGname *gname, u8 *uname, u8 idx); diff --git a/include/union_room.h b/include/union_room.h index 0ad5e920e..8441a6707 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -6,7 +6,7 @@ struct UnkStruct_Shared { - struct GFtgtGname field_0; + struct GFtgtGname gname; u8 ALIGNED(4) playerName[PLAYER_NAME_LENGTH]; }; -- cgit v1.2.3 From 12d12e70a170896844f3280d6968e1e2d6cf1cba Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 22 Jan 2020 15:46:48 -0500 Subject: union_room_battle --- include/strings.h | 5 +++++ include/union_room.h | 2 ++ 2 files changed, 7 insertions(+) (limited to 'include') diff --git a/include/strings.h b/include/strings.h index 7e8a4fbb4..a57493a9b 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1056,4 +1056,9 @@ extern const u8 gText_DepositHowManyStrVars1[]; extern const u8 gText_DepositedStrVar2StrVar1s[]; extern const u8 gText_NoRoomToStoreItems[]; +// union_room_battle +extern const u8 gText_CommStandbyAwaitingOtherPlayer[]; +extern const u8 gText_RefusedBattle[]; +extern const u8 gText_BattleWasRefused[]; + #endif //GUARD_STRINGS_H diff --git a/include/union_room.h b/include/union_room.h index 8441a6707..60103dad7 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -153,4 +153,6 @@ extern struct GFtgtGnameSub gUnknown_203B064; extern u16 gUnionRoomOfferedSpecies; extern u8 gUnionRoomRequestedMonType; +void sub_81173C0(u16 battleFlags); + #endif //GUARD_UNION_ROOM_H -- cgit v1.2.3 From 390d7975b3e68251dad231365338556ff2ffe5bb Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 22 Jan 2020 15:59:08 -0500 Subject: Resolve review comments, 1 --- include/mevent.h | 2 +- include/union_room_message.h | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/mevent.h b/include/mevent.h index eb7cf77f3..85782f20a 100644 --- a/include/mevent.h +++ b/include/mevent.h @@ -72,6 +72,6 @@ void sub_8144714(u32 a0, u32 a1); u16 *GetMEventProfileECWordsMaybe(void); void sub_81446C4(void); bool32 sub_81446D0(u16 a0); -u16 GetWonderCardFlagID(void); +u16 GetWonderCardFlagId(void); #endif //GUARD_MEVENT_H diff --git a/include/union_room_message.h b/include/union_room_message.h index 82e0dd955..b7de673ba 100644 --- a/include/union_room_message.h +++ b/include/union_room_message.h @@ -1,3 +1,8 @@ +#ifndef GUARD_UNION_ROOM_MESSAGE_H +#define GUARD_UNION_ROOM_MESSAGE_H + +#include "global.h" + extern const u8 gUnknown_84571AC[]; extern const u8 gUnknown_84571B0[]; extern const u8 gUnknown_84571B4[]; @@ -105,3 +110,5 @@ extern const u8 gUnknown_84594C4[]; extern const u8 gUnknown_8459504[]; extern const u8 *const gUnknown_8459580[]; extern const u8 gUnknown_8459588[]; + +#endif //GUARD_UNION_ROOM_MESSAGE_H -- cgit v1.2.3 From d084a5ca84ec7062b8e546293e67202f2d2f4732 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 22 Jan 2020 16:38:27 -0500 Subject: Sync AI scripts --- include/constants/battle.h | 4 ++-- include/constants/battle_ai.h | 6 +++--- include/constants/pokemon.h | 4 ++++ include/pokemon.h | 34 +--------------------------------- 4 files changed, 10 insertions(+), 38 deletions(-) (limited to 'include') diff --git a/include/constants/battle.h b/include/constants/battle.h index 2da89d815..c273b9a50 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -61,8 +61,8 @@ #define BATTLE_TYPE_REGI 0x4000 #define BATTLE_TYPE_GHOST 0x8000 #define BATTLE_TYPE_POKEDUDE 0x10000 -#define BATTLE_TYPE_PALACE 0x20000 -#define BATTLE_TYPE_ARENA 0x40000 +#define BATTLE_TYPE_PALACE 0x20000 // TODO: Update name +#define BATTLE_TYPE_ARENA 0x40000 // TOOD: Update name #define BATTLE_TYPE_TRAINER_TOWER 0x80000 #define BATTLE_TYPE_PIKE 0x100000 #define BATTLE_TYPE_PYRAMID 0x200000 diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index f55661b91..d23648f39 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -23,7 +23,7 @@ #define AI_EFFECTIVENESS_x0 0 // ai weather -#define AI_WEATHER_SUNNY 0 +#define AI_WEATHER_SUN 0 #define AI_WEATHER_RAIN 1 #define AI_WEATHER_SANDSTORM 2 #define AI_WEATHER_HAIL 3 @@ -35,8 +35,8 @@ // script's table id to bit #define AI_SCRIPT_CHECK_BAD_MOVE (1 << 0) -#define AI_SCRIPT_TRY_TO_FAINT (1 << 1) -#define AI_SCRIPT_CHECK_VIABILITY (1 << 2) +#define AI_SCRIPT_CHECK_VIABILITY (1 << 1) +#define AI_SCRIPT_TRY_TO_FAINT (1 << 2) #define AI_SCRIPT_SETUP_FIRST_TURN (1 << 3) #define AI_SCRIPT_RISKY (1 << 4) #define AI_SCRIPT_PREFER_STRONGEST_MOVE (1 << 5) diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index c6fc55003..e394a8fb4 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -91,4 +91,8 @@ #define PLAYER_HAS_ONE_MON 0x1 #define PLAYER_HAS_ONE_USABLE_MON 0x2 +#define MON_MALE 0x00 +#define MON_FEMALE 0xFE +#define MON_GENDERLESS 0xFF + #endif // GUARD_CONSTANTS_POKEMON_H diff --git a/include/pokemon.h b/include/pokemon.h index ae909018c..54ea44efd 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -3,6 +3,7 @@ #include "global.h" #include "sprite.h" +#include "constants/pokemon.h" #define MON_DATA_PERSONALITY 0 #define MON_DATA_OT_ID 1 @@ -104,10 +105,6 @@ #define MON_GIVEN_TO_PC 0x1 #define MON_CANT_GIVE 0x2 -#define MON_MALE 0x00 -#define MON_FEMALE 0xFE -#define MON_GENDERLESS 0xFF - #define FRIENDSHIP_EVENT_GROW_LEVEL 0x0 #define FRIENDSHIP_EVENT_VITAMIN 0x1 #define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2 @@ -145,25 +142,6 @@ #define UNOWN_FORM_COUNT 28 #define MAX_MON_LEVEL 100 -enum -{ - EGG_GROUP_NONE, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - EGG_GROUP_BUG, - EGG_GROUP_FLYING, - EGG_GROUP_FIELD, - EGG_GROUP_FAIRY, - EGG_GROUP_GRASS, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_WATER_3, - EGG_GROUP_MINERAL, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_WATER_2, - EGG_GROUP_DITTO, - EGG_GROUP_DRAGON, - EGG_GROUP_UNDISCOVERED -}; struct PokemonSubstruct0 { @@ -369,16 +347,6 @@ enum STAT_STAGE_EVASION, // 7 }; -enum -{ - STAT_HP, // 0 - STAT_ATK, // 1 - STAT_DEF, // 2 - STAT_SPD, // 3 - STAT_SPATK, // 4 - STAT_SPDEF, // 5 -}; - struct BaseStats { /* 0x00 */ u8 baseHP; -- cgit v1.2.3 From 90c99d1ce2233b775b26d743bbdb187a2071c42d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 22 Jan 2020 20:10:46 -0500 Subject: union_room_message --- include/mevent_server.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/mevent_server.h b/include/mevent_server.h index b691e9e1f..1e9ef7bef 100644 --- a/include/mevent_server.h +++ b/include/mevent_server.h @@ -86,6 +86,7 @@ struct mevent_server_cmd #define SRV_SEND_NEWS {.instr = 14} #define SRV_BUFFER_SEND {.instr = 15} #define SRV_SEND(x, y) {.instr = 18, .flag = x, .parameter = (void *)y} +#define SRV_SENDSTR(x, y) {.instr = 20, .flag = x, .parameter = (void *)y} #define SRV_BUFFER_CARD {.instr = 26} #define SRV_BUFFER_NEWS {.instr = 27} #define SRV_RAM_SCRIPT_IF_VALID {.instr = 28} -- cgit v1.2.3 From e7cd8c59f4ca0f6c56a3b3782c21e896c203694e Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 22 Jan 2020 20:07:46 -0500 Subject: Remove unused BF battle types, clarify Ghost battle type flags --- include/constants/battle.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/constants/battle.h b/include/constants/battle.h index c273b9a50..b28955210 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -58,14 +58,15 @@ #define BATTLE_TYPE_EREADER_TRAINER 0x0800 #define BATTLE_TYPE_KYOGRE_GROUDON 0x1000 #define BATTLE_TYPE_LEGENDARY 0x2000 +#define BATTLE_TYPE_GHOST_UNVEILED 0x2000 // Re-use of BATTLE_TYPE_LEGENDARY, when combined with BATTLE_TYPE_GHOST #define BATTLE_TYPE_REGI 0x4000 #define BATTLE_TYPE_GHOST 0x8000 #define BATTLE_TYPE_POKEDUDE 0x10000 -#define BATTLE_TYPE_PALACE 0x20000 // TODO: Update name -#define BATTLE_TYPE_ARENA 0x40000 // TOOD: Update name +#define BATTLE_TYPE_WILD_SCRIPTED 0x20000 +#define BATTLE_TYPE_LEGENDARY_FRLG 0x40000 #define BATTLE_TYPE_TRAINER_TOWER 0x80000 -#define BATTLE_TYPE_PIKE 0x100000 -#define BATTLE_TYPE_PYRAMID 0x200000 +#define BATTLE_TYPE_x100000 0x100000 +#define BATTLE_TYPE_x200000 0x200000 #define BATTLE_TYPE_INGAME_PARTNER 0x400000 #define BATTLE_TYPE_x800000 0x800000 #define BATTLE_TYPE_RECORDED 0x1000000 @@ -76,8 +77,9 @@ #define BATTLE_TYPE_KYOGRE 0x20000000 #define BATTLE_TYPE_RAYQUAZA 0x40000000 #define BATTLE_TYPE_x80000000 0x80000000 -#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID) -#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE) + +#define IS_BATTLE_TYPE_GHOST_WITHOUT_SCOPE(flags) ((flags) & BATTLE_TYPE_GHOST && !((flags) & BATTLE_TYPE_GHOST_UNVEILED)) +#define IS_BATTLE_TYPE_GHOST_WITH_SCOPE(flags) ((flags) & BATTLE_TYPE_GHOST && (flags) & BATTLE_TYPE_GHOST_UNVEILED) // Battle Outcome defines #define B_OUTCOME_WON 0x1 -- cgit v1.2.3 From 7824a413dea43f2c0c99c2b86af17c33378139fa Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 23 Jan 2020 10:10:57 -0500 Subject: Normalize union room UnkStruct arrays; remove STAT_STAGE_ defines --- include/constants/pokemon.h | 10 ---------- include/union_room.h | 33 +++++++++++++++++---------------- 2 files changed, 17 insertions(+), 26 deletions(-) (limited to 'include') diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 3ab2c0524..a8009f1ff 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -170,16 +170,6 @@ #define STAT_ACC 6 // only in battles #define STAT_EVASION 7 // only in battles -// TODO: Why do we need these as separate defines? -#define STAT_STAGE_HP 0 -#define STAT_STAGE_ATK 1 -#define STAT_STAGE_DEF 2 -#define STAT_STAGE_SPEED 3 -#define STAT_STAGE_SPATK 4 -#define STAT_STAGE_SPDEF 5 -#define STAT_STAGE_ACC 6 -#define STAT_STAGE_EVASION 7 - #define NUM_STATS 6 #define NUM_BATTLE_STATS 8 diff --git a/include/union_room.h b/include/union_room.h index 60103dad7..3cb8eb84a 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -28,26 +28,27 @@ struct UnkStruct_x20 u8 field_1F; }; +// These arrays are dynamically allocated but must be +// represented as structs to match. +// Don't ask me why. + +// FIXME: Find a way around this. + struct UnkStruct_Main0 { - struct UnkStruct_x20 arr[8]; + struct UnkStruct_x20 arr[0]; }; struct UnkStruct_Main4 { - struct UnkStruct_x1C arr[5]; -}; - -struct UnkStruct_Main8 -{ - struct UnkStruct_x20 arr[5]; + struct UnkStruct_x1C arr[0]; }; struct UnkStruct_Leader { - struct UnkStruct_Main0 *field_0; - struct UnkStruct_Main4 *field_4; - struct UnkStruct_Main8 *field_8; + struct UnkStruct_Main0 * field_0; + struct UnkStruct_Main4 * field_4; + struct UnkStruct_Main0 * field_8; u8 state; u8 textState; u8 field_E; @@ -67,8 +68,8 @@ struct UnkStruct_Leader struct UnkStruct_Group { - struct UnkStruct_Main0 *field_0; - struct UnkStruct_Main4 *field_4; + struct UnkStruct_Main0 * field_0; + struct UnkStruct_Main4 * field_4; u8 state; u8 textState; u8 field_A; @@ -95,10 +96,10 @@ struct UnionObj struct UnkStruct_URoom { - /* 0x000 */ struct UnkStruct_Main0 *field_0; - /* 0x004 */ struct UnkStruct_Main4 *field_4; - /* 0x008 */ struct UnkStruct_Main0 *field_8; - /* 0x00C */ struct UnkStruct_Main4 *field_C; + /* 0x000 */ struct UnkStruct_Main0 * field_0; + /* 0x004 */ struct UnkStruct_Main4 * field_4; + /* 0x008 */ struct UnkStruct_Main0 * field_8; + /* 0x00C */ struct UnkStruct_Main4 * field_C; /* 0x010 */ u16 field_10; /* 0x012 */ u16 field_12; /* 0x014 */ u8 state; -- cgit v1.2.3