diff options
Diffstat (limited to 'include')
34 files changed, 659 insertions, 560 deletions
diff --git a/include/battle_bg.h b/include/battle_bg.h index 60a6de8f5..518c566dc 100644 --- a/include/battle_bg.h +++ b/include/battle_bg.h @@ -7,7 +7,7 @@ extern const struct BgTemplate gBattleBgTemplates[]; void InitBattleBgsVideo(void); void DrawBattleEntryBackground(void); -void sub_800F6FC(u8 taskId); +void InitLinkBattleVsScreen(u8 taskId); void LoadBattleMenuWindowGfx(void); void LoadBattleTextboxAndBackground(void); void sub_800F324(void); diff --git a/include/battle_message.h b/include/battle_message.h index 2e2baa278..5a16a4250 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -251,4 +251,8 @@ extern const u8 gUnknown_83FE864[]; extern const u8 gText_SafariBalls[]; extern const u8 gText_HighlightRed_Left[]; +extern const u8 gText_Win[]; +extern const u8 gText_Loss[]; +extern const u8 gText_Draw[]; + #endif // GUARD_BATTLE_MESSAGE_H diff --git a/include/constants/battle.h b/include/constants/battle.h index a80038f2c..e7c9d9d17 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -298,6 +298,16 @@ #define BATTLE_TERRAIN_CAVE 7 #define BATTLE_TERRAIN_BUILDING 8 #define BATTLE_TERRAIN_PLAIN 9 +#define BATTLE_TERRAIN_LINK 10 +#define BATTLE_TERRAIN_GYM 11 +#define BATTLE_TERRAIN_LEADER 12 +#define BATTLE_TERRAIN_INDOOR_2 13 +#define BATTLE_TERRAIN_INDOOR_1 14 +#define BATTLE_TERRAIN_LORELEI 15 +#define BATTLE_TERRAIN_BRUNO 16 +#define BATTLE_TERRAIN_AGATHA 17 +#define BATTLE_TERRAIN_LANCE 18 +#define BATTLE_TERRAIN_CHAMPION 19 // Return value for IsRunningFromBattleImpossible. #define BATTLE_RUN_SUCCESS 0 diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h index bf75a47cc..08713a602 100644 --- a/include/constants/event_object_movement.h +++ b/include/constants/event_object_movement.h @@ -88,163 +88,180 @@ #define MOVEMENT_ACTION_FACE_UP 0x1 #define MOVEMENT_ACTION_FACE_LEFT 0x2 #define MOVEMENT_ACTION_FACE_RIGHT 0x3 -#define MOVEMENT_ACTION_WALK_SLOW_DOWN 0x4 -#define MOVEMENT_ACTION_WALK_SLOW_UP 0x5 -#define MOVEMENT_ACTION_WALK_SLOW_LEFT 0x6 -#define MOVEMENT_ACTION_WALK_SLOW_RIGHT 0x7 -#define MOVEMENT_ACTION_WALK_NORMAL_DOWN 0x8 -#define MOVEMENT_ACTION_WALK_NORMAL_UP 0x9 -#define MOVEMENT_ACTION_WALK_NORMAL_LEFT 0xA -#define MOVEMENT_ACTION_WALK_NORMAL_RIGHT 0xB -#define MOVEMENT_ACTION_JUMP_2_DOWN 0xC -#define MOVEMENT_ACTION_JUMP_2_UP 0xD -#define MOVEMENT_ACTION_JUMP_2_LEFT 0xE -#define MOVEMENT_ACTION_JUMP_2_RIGHT 0xF -#define MOVEMENT_ACTION_DELAY_1 0x10 -#define MOVEMENT_ACTION_DELAY_2 0x11 -#define MOVEMENT_ACTION_DELAY_4 0x12 -#define MOVEMENT_ACTION_DELAY_8 0x13 -#define MOVEMENT_ACTION_DELAY_16 0x14 -#define MOVEMENT_ACTION_WALK_FAST_DOWN 0x15 -#define MOVEMENT_ACTION_WALK_FAST_UP 0x16 -#define MOVEMENT_ACTION_WALK_FAST_LEFT 0x17 -#define MOVEMENT_ACTION_WALK_FAST_RIGHT 0x18 -#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN 0x19 -#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP 0x1A -#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT 0x1B -#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT 0x1C -#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN 0x1D -#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP 0x1E -#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT 0x1F -#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT 0x20 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN 0x21 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP 0x22 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT 0x23 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT 0x24 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN 0x25 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP 0x26 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT 0x27 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT 0x28 -#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN 0x29 -#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP 0x2A -#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT 0x2B -#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT 0x2C -#define MOVEMENT_ACTION_WALK_FASTEST_DOWN 0x2D -#define MOVEMENT_ACTION_WALK_FASTEST_UP 0x2E -#define MOVEMENT_ACTION_WALK_FASTEST_LEFT 0x2F -#define MOVEMENT_ACTION_WALK_FASTEST_RIGHT 0x30 -#define MOVEMENT_ACTION_SLIDE_DOWN 0x31 -#define MOVEMENT_ACTION_SLIDE_UP 0x32 -#define MOVEMENT_ACTION_SLIDE_LEFT 0x33 -#define MOVEMENT_ACTION_SLIDE_RIGHT 0x34 -#define MOVEMENT_ACTION_PLAYER_RUN_DOWN 0x35 -#define MOVEMENT_ACTION_PLAYER_RUN_UP 0x36 -#define MOVEMENT_ACTION_PLAYER_RUN_LEFT 0x37 -#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT 0x38 -#define MOVEMENT_ACTION_START_ANIM_IN_DIRECTION 0x39 -#define MOVEMENT_ACTION_JUMP_SPECIAL_DOWN 0x3A -#define MOVEMENT_ACTION_JUMP_SPECIAL_UP 0x3B -#define MOVEMENT_ACTION_JUMP_SPECIAL_LEFT 0x3C -#define MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT 0x3D -#define MOVEMENT_ACTION_FACE_PLAYER 0x3E -#define MOVEMENT_ACTION_FACE_AWAY_PLAYER 0x3F -#define MOVEMENT_ACTION_LOCK_FACING_DIRECTION 0x40 -#define MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION 0x41 -#define MOVEMENT_ACTION_JUMP_DOWN 0x42 -#define MOVEMENT_ACTION_JUMP_UP 0x43 -#define MOVEMENT_ACTION_JUMP_LEFT 0x44 -#define MOVEMENT_ACTION_JUMP_RIGHT 0x45 -#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN 0x46 -#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP 0x47 -#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT 0x48 -#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT 0x49 -#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP 0x4A -#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN 0x4B -#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT 0x4C -#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT 0x4D -#define MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION 0x4E -#define MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN 0x4F -#define MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT 0x50 -#define MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT 0x51 -#define MOVEMENT_ACTION_DISABLE_ANIMATION 0x52 -#define MOVEMENT_ACTION_RESTORE_ANIMATION 0x53 -#define MOVEMENT_ACTION_SET_INVISIBLE 0x54 -#define MOVEMENT_ACTION_SET_VISIBLE 0x55 -#define MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK 0x56 -#define MOVEMENT_ACTION_EMOTE_QUESTION_MARK 0x57 -#define MOVEMENT_ACTION_EMOTE_HEART 0x58 -#define MOVEMENT_ACTION_REVEAL_TRAINER 0x59 -#define MOVEMENT_ACTION_ROCK_SMASH_BREAK 0x5A -#define MOVEMENT_ACTION_CUT_TREE 0x5B -#define MOVEMENT_ACTION_SET_FIXED_PRIORITY 0x5C -#define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY 0x5D -#define MOVEMENT_ACTION_INIT_AFFINE_ANIM 0x5E -#define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM 0x5F -#define MOVEMENT_ACTION_HIDE_REFLECTION 0x60 -#define MOVEMENT_ACTION_SHOW_REFLECTION 0x61 -#define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE 0x62 -#define MOVEMENT_ACTION_WALK_DOWN_AFFINE 0x63 -#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN 0x64 -#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP 0x65 -#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT 0x66 -#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT 0x67 -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN 0x68 -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP 0x69 -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT 0x6A -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT 0x6B -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN 0x6C -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP 0x6D -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT 0x6E -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT 0x6F -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN 0x70 -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP 0x71 -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT 0x72 -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT 0x73 -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN 0x74 -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP 0x75 -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT 0x76 -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT 0x77 -#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN 0x78 -#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP 0x79 -#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT 0x7A -#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT 0x7B -#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN 0x7C -#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP 0x7D -#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT 0x7E -#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT 0x7F -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN 0x80 -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP 0x81 -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT 0x82 -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT 0x83 -#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN 0x84 -#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP 0x85 -#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT 0x86 -#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT 0x87 -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN 0x88 -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP 0x89 -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT 0x8A -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT 0x8B -#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_LEFT 0x8C -#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_RIGHT 0x8D -#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_LEFT 0x8E -#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_RIGHT 0x8F -#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_LEFT 0x90 -#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT 0x91 -#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT 0x92 -#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT 0x93 -#define MOVEMENT_ACTION_STORE_AND_LOCK_ANIM 0x94 -#define MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM 0x95 -#define MOVEMENT_ACTION_WALK_LEFT_AFFINE 0x96 -#define MOVEMENT_ACTION_WALK_RIGHT_AFFINE 0x97 -#define MOVEMENT_ACTION_LEVITATE 0x98 -#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_FACE_DOWN_FAST 0x4 +#define MOVEMENT_ACTION_FACE_UP_FAST 0x5 +#define MOVEMENT_ACTION_FACE_LEFT_FAST 0x6 +#define MOVEMENT_ACTION_FACE_RIGHT_FAST 0x7 +#define MOVEMENT_ACTION_WALK_SLOWEST_DOWN 0x8 +#define MOVEMENT_ACTION_WALK_SLOWEST_UP 0x9 +#define MOVEMENT_ACTION_WALK_SLOWEST_LEFT 0xA +#define MOVEMENT_ACTION_WALK_SLOWEST_RIGHT 0xB +#define MOVEMENT_ACTION_WALK_SLOW_DOWN 0xC +#define MOVEMENT_ACTION_WALK_SLOW_UP 0xD +#define MOVEMENT_ACTION_WALK_SLOW_LEFT 0xE +#define MOVEMENT_ACTION_WALK_SLOW_RIGHT 0xF +#define MOVEMENT_ACTION_WALK_NORMAL_DOWN 0x10 +#define MOVEMENT_ACTION_WALK_NORMAL_UP 0x11 +#define MOVEMENT_ACTION_WALK_NORMAL_LEFT 0x12 +#define MOVEMENT_ACTION_WALK_NORMAL_RIGHT 0x13 +#define MOVEMENT_ACTION_JUMP_2_DOWN 0x14 +#define MOVEMENT_ACTION_JUMP_2_UP 0x15 +#define MOVEMENT_ACTION_JUMP_2_LEFT 0x16 +#define MOVEMENT_ACTION_JUMP_2_RIGHT 0x17 +#define MOVEMENT_ACTION_DELAY_1 0x18 +#define MOVEMENT_ACTION_DELAY_2 0x19 +#define MOVEMENT_ACTION_DELAY_4 0x1A +#define MOVEMENT_ACTION_DELAY_8 0x1B +#define MOVEMENT_ACTION_DELAY_16 0x1C +#define MOVEMENT_ACTION_WALK_FAST_DOWN 0x1D +#define MOVEMENT_ACTION_WALK_FAST_UP 0x1E +#define MOVEMENT_ACTION_WALK_FAST_LEFT 0x1F +#define MOVEMENT_ACTION_WALK_FAST_RIGHT 0x20 +#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN 0x21 +#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP 0x22 +#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT 0x23 +#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT 0x24 +#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN 0x25 +#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP 0x26 +#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT 0x27 +#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT 0x28 +#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN 0x29 +#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP 0x2A +#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT 0x2B +#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT 0x2C +#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN 0x2D +#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP 0x2E +#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT 0x2F +#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT 0x30 +#define MOVEMENT_ACTION_FACE_DOWN_SLOW 0x31 +#define MOVEMENT_ACTION_FACE_UP_SLOW 0x32 +#define MOVEMENT_ACTION_FACE_LEFT_SLOW 0x33 +#define MOVEMENT_ACTION_FACE_RIGHT_SLOW 0x34 +#define MOVEMENT_ACTION_WALK_FASTEST_DOWN 0x35 +#define MOVEMENT_ACTION_WALK_FASTEST_UP 0x36 +#define MOVEMENT_ACTION_WALK_FASTEST_LEFT 0x37 +#define MOVEMENT_ACTION_WALK_FASTEST_RIGHT 0x38 +#define MOVEMENT_ACTION_SLIDE_DOWN 0x39 +#define MOVEMENT_ACTION_SLIDE_UP 0x3A +#define MOVEMENT_ACTION_SLIDE_LEFT 0x3B +#define MOVEMENT_ACTION_SLIDE_RIGHT 0x3C +#define MOVEMENT_ACTION_PLAYER_RUN_DOWN 0x3D +#define MOVEMENT_ACTION_PLAYER_RUN_UP 0x3E +#define MOVEMENT_ACTION_PLAYER_RUN_LEFT 0x3F +#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT 0x40 +#define MOVEMENT_ACTION_PLAYER_RUN_DOWN_SLOW 0x41 +#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_JUMP_SPECIAL_DOWN 0x46 +#define MOVEMENT_ACTION_JUMP_SPECIAL_UP 0x47 +#define MOVEMENT_ACTION_JUMP_SPECIAL_LEFT 0x48 +#define MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT 0x49 +#define MOVEMENT_ACTION_FACE_PLAYER 0x4A +#define MOVEMENT_ACTION_FACE_AWAY_PLAYER 0x4B +#define MOVEMENT_ACTION_LOCK_FACING_DIRECTION 0x4C +#define MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION 0x4D +#define MOVEMENT_ACTION_JUMP_DOWN 0x4E +#define MOVEMENT_ACTION_JUMP_UP 0x4F +#define MOVEMENT_ACTION_JUMP_LEFT 0x50 +#define MOVEMENT_ACTION_JUMP_RIGHT 0x51 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN 0x52 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP 0x53 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT 0x54 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT 0x55 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP 0x56 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN 0x57 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT 0x58 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT 0x59 +#define MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION 0x5A +#define MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN 0x5B +#define MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT 0x5C +#define MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT 0x5D +#define MOVEMENT_ACTION_DISABLE_ANIMATION 0x5E +#define MOVEMENT_ACTION_RESTORE_ANIMATION 0x5F +#define MOVEMENT_ACTION_SET_INVISIBLE 0x60 +#define MOVEMENT_ACTION_SET_VISIBLE 0x61 +#define MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK 0x62 +#define MOVEMENT_ACTION_EMOTE_QUESTION_MARK 0x63 +#define MOVEMENT_ACTION_EMOTE_X 0x64 +#define MOVEMENT_ACTION_EMOTE_DOUBLE_EXCL_MARK 0x65 +#define MOVEMENT_ACTION_EMOTE_SMILE 0x66 +#define MOVEMENT_ACTION_REVEAL_TRAINER 0x67 +#define MOVEMENT_ACTION_ROCK_SMASH_BREAK 0x68 +#define MOVEMENT_ACTION_CUT_TREE 0x69 +#define MOVEMENT_ACTION_SET_FIXED_PRIORITY 0x6A +#define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY 0x6B +#define MOVEMENT_ACTION_INIT_AFFINE_ANIM 0x6C +#define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM 0x6D + +// These still exist in FRLG for some reason. They're not used by anything obvious. +#define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE 0x6E +#define MOVEMENT_ACTION_WALK_DOWN_AFFINE 0x6F +#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN 0x70 +#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP 0x71 +#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT 0x72 +#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT 0x73 +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN 0x74 +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP 0x75 +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT 0x76 +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT 0x77 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN 0x78 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP 0x79 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT 0x7A +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT 0x7B +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN 0x7C +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP 0x7D +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT 0x7E +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT 0x7F +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN 0x80 +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP 0x81 +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT 0x82 +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT 0x83 +#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN 0x84 +#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP 0x85 +#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT 0x86 +#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT 0x87 +#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN 0x88 +#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP 0x89 +#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT 0x8A +#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT 0x8B +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN 0x8C +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP 0x8D +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT 0x8E +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT 0x8F +#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN 0x90 +#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP 0x91 +#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT 0x92 +#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT 0x93 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN 0x94 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP 0x95 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT 0x96 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT 0x97 + +// 98-A3 are unknown +#define MOVEMENT_ACTION_0x98 0x98 +#define MOVEMENT_ACTION_0x99 0x99 +#define MOVEMENT_ACTION_0x9A 0x9A +#define MOVEMENT_ACTION_0x9B 0x9B +#define MOVEMENT_ACTION_0x9C 0x9C +#define MOVEMENT_ACTION_0x9D 0x9D +#define MOVEMENT_ACTION_0x9E 0x9E +#define MOVEMENT_ACTION_0x9F 0x9F +#define MOVEMENT_ACTION_0xA0 0xA0 +#define MOVEMENT_ACTION_0xA1 0xA1 +#define MOVEMENT_ACTION_0xA2 0xA2 +#define MOVEMENT_ACTION_0xA3 0xA3 -// These two are verified correct in FRLG #define MOVEMENT_ACTION_FLY_UP 0xA4 #define MOVEMENT_ACTION_FLY_DOWN 0xA5 +// Duplicates of JUMP_SPECIAL? +#define MOVEMENT_ACTION_0xA6 0xA6 +#define MOVEMENT_ACTION_0xA7 0xA7 +#define MOVEMENT_ACTION_0xA8 0xA8 +#define MOVEMENT_ACTION_0xA9 0xA9 + #define MOVEMENT_ACTION_STEP_END 0xFE #endif // GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 0a94dc03b..c3862a7b1 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -1,6 +1,188 @@ #ifndef GUARD_CONSTANTS_EVENT_OBJECTS_H #define GUARD_CONSTANTS_EVENT_OBJECTS_H +#define OBJ_EVENT_GFX_RED_NORMAL 0 +#define OBJ_EVENT_GFX_RED_BIKE 1 +#define OBJ_EVENT_GFX_RED_SURF 2 +#define OBJ_EVENT_GFX_RED_ITEM 3 +#define OBJ_EVENT_GFX_RED_FISH 4 +#define OBJ_EVENT_GFX_RED_ITEM_COPY 5 +#define OBJ_EVENT_GFX_RED_VS_SEEKER 6 +#define OBJ_EVENT_GFX_GREEN_NORMAL 7 +#define OBJ_EVENT_GFX_GREEN_BIKE 8 +#define OBJ_EVENT_GFX_GREEN_SURF 9 +#define OBJ_EVENT_GFX_GREEN_ITEM 10 +#define OBJ_EVENT_GFX_GREEN_FISH 11 +#define OBJ_EVENT_GFX_GREEN_ITEM_COPY 12 +#define OBJ_EVENT_GFX_GREEN_VS_SEEKER 13 +#define OBJ_EVENT_GFX_RS_BRENDAN 14 +#define OBJ_EVENT_GFX_RS_MAY 15 +#define OBJ_EVENT_GFX_LITTLE_BOY 16 +#define OBJ_EVENT_GFX_LITTLE_GIRL 17 +#define OBJ_EVENT_GFX_YOUNGSTER 18 +#define OBJ_EVENT_GFX_BOY 19 +#define OBJ_EVENT_GFX_BUG_CATCHER 20 +#define OBJ_EVENT_GFX_SITTING_BOY 21 +#define OBJ_EVENT_GFX_LASS 22 +#define OBJ_EVENT_GFX_WOMAN_1 23 +#define OBJ_EVENT_GFX_BATTLE_GIRL 24 +#define OBJ_EVENT_GFX_MAN 25 +#define OBJ_EVENT_GFX_ROCKER 26 +#define OBJ_EVENT_GFX_FAT_MAN 27 +#define OBJ_EVENT_GFX_WOMAN_2 28 +#define OBJ_EVENT_GFX_BEAUTY 29 +#define OBJ_EVENT_GFX_BALDING_MAN 30 +#define OBJ_EVENT_GFX_WOMAN_3 31 +#define OBJ_EVENT_GFX_OLD_MAN_1 32 +#define OBJ_EVENT_GFX_OLD_MAN_2 33 +#define OBJ_EVENT_GFX_OLD_MAN_LYING_DOWN 34 +#define OBJ_EVENT_GFX_OLD_WOMAN 35 +#define OBJ_EVENT_GFX_TUBER_M_1 36 +#define OBJ_EVENT_GFX_TUBER_F 37 +#define OBJ_EVENT_GFX_TUBER_M_2 38 +#define OBJ_EVENT_GFX_CAMPER 39 +#define OBJ_EVENT_GFX_PICNICKER 40 +#define OBJ_EVENT_GFX_COOLTRAINER_M 41 +#define OBJ_EVENT_GFX_COOLTRAINER_F 42 +#define OBJ_EVENT_GFX_SWIMMER_M_WATER 43 +#define OBJ_EVENT_GFX_SWIMMER_F_WATER 44 +#define OBJ_EVENT_GFX_SWIMMER_M_LAND 45 +#define OBJ_EVENT_GFX_SWIMMER_F_LAND 46 +#define OBJ_EVENT_GFX_WORKER_M 47 +#define OBJ_EVENT_GFX_WORKER_F 48 +#define OBJ_EVENT_GFX_ROCKET_M 49 +#define OBJ_EVENT_GFX_ROCKET_F 50 +#define OBJ_EVENT_GFX_GBA_KID 51 +#define OBJ_EVENT_GFX_SUPER_NERD 52 +#define OBJ_EVENT_GFX_BIKER 53 +#define OBJ_EVENT_GFX_BLACKBELT 54 +#define OBJ_EVENT_GFX_SCIENTIST 55 +#define OBJ_EVENT_GFX_HIKER 56 +#define OBJ_EVENT_GFX_FISHER 57 +#define OBJ_EVENT_GFX_CHANNELER 58 +#define OBJ_EVENT_GFX_CHEF 59 +#define OBJ_EVENT_GFX_POLICEMAN 60 +#define OBJ_EVENT_GFX_GENTLEMAN 61 +#define OBJ_EVENT_GFX_SAILOR 62 +#define OBJ_EVENT_GFX_CAPTAIN 63 +#define OBJ_EVENT_GFX_NURSE 64 +#define OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST 65 +#define OBJ_EVENT_GFX_UNION_ROOM_RECEPTIONIST 66 +#define OBJ_EVENT_GFX_UNUSED_MALE_RECEPTIONIST 67 +#define OBJ_EVENT_GFX_CLERK 68 +#define OBJ_EVENT_GFX_MG_DELIVERYMAN 69 +#define OBJ_EVENT_GFX_TRAINER_TOWER_DUDE 70 +#define OBJ_EVENT_GFX_PROF_OAK 71 +#define OBJ_EVENT_GFX_BLUE 72 +#define OBJ_EVENT_GFX_BILL 73 +#define OBJ_EVENT_GFX_LANCE 74 +#define OBJ_EVENT_GFX_AGATHA 75 +#define OBJ_EVENT_GFX_DAISY 76 +#define OBJ_EVENT_GFX_LORELEI 77 +#define OBJ_EVENT_GFX_MR_FUJI 78 +#define OBJ_EVENT_GFX_BRUNO 79 +#define OBJ_EVENT_GFX_BROCK 80 +#define OBJ_EVENT_GFX_MISTY 81 +#define OBJ_EVENT_GFX_LT_SURGE 82 +#define OBJ_EVENT_GFX_ERIKA 83 +#define OBJ_EVENT_GFX_KOGA 84 +#define OBJ_EVENT_GFX_SABRINA 85 +#define OBJ_EVENT_GFX_BLAINE 86 +#define OBJ_EVENT_GFX_GIOVANNI 87 +#define OBJ_EVENT_GFX_MOM 88 +#define OBJ_EVENT_GFX_CELIO 89 +#define OBJ_EVENT_GFX_TEACHY_TV_HOST 90 +#define OBJ_EVENT_GFX_GYM_GUY 91 +#define OBJ_EVENT_GFX_ITEM_BALL 92 +#define OBJ_EVENT_GFX_TOWN_MAP 93 +#define OBJ_EVENT_GFX_POKEDEX 94 +#define OBJ_EVENT_GFX_CUT_TREE 95 +#define OBJ_EVENT_GFX_ROCK_SMASH_ROCK 96 +#define OBJ_EVENT_GFX_STRENGTH_BOULDER 97 +#define OBJ_EVENT_GFX_FOSSIL 98 +#define OBJ_EVENT_GFX_RUBY 99 +#define OBJ_EVENT_GFX_SAPPHIRE 100 +#define OBJ_EVENT_GFX_OLD_AMBER 101 +#define OBJ_EVENT_GFX_GYM_SIGN 102 +#define OBJ_EVENT_GFX_SIGN 103 +#define OBJ_EVENT_GFX_TRAINER_TIPS 104 +#define OBJ_EVENT_GFX_CLIPBOARD 105 +#define OBJ_EVENT_GFX_METEORITE 106 +#define OBJ_EVENT_GFX_LAPRAS_DOLL 107 +#define OBJ_EVENT_GFX_SEAGALLOP 108 +#define OBJ_EVENT_GFX_SNORLAX 109 +#define OBJ_EVENT_GFX_SPEAROW 110 +#define OBJ_EVENT_GFX_CUBONE 111 +#define OBJ_EVENT_GFX_POLIWRATH 112 +#define OBJ_EVENT_GFX_CLEFAIRY 113 +#define OBJ_EVENT_GFX_PIDGEOT 114 +#define OBJ_EVENT_GFX_JIGGLYPUFF 115 +#define OBJ_EVENT_GFX_PIDGEY 116 +#define OBJ_EVENT_GFX_CHANSEY 117 +#define OBJ_EVENT_GFX_OMANYTE 118 +#define OBJ_EVENT_GFX_KANGASKHAN 119 +#define OBJ_EVENT_GFX_PIKACHU 120 +#define OBJ_EVENT_GFX_PSYDUCK 121 +#define OBJ_EVENT_GFX_NIDORAN_F 122 +#define OBJ_EVENT_GFX_NIDORAN_M 123 +#define OBJ_EVENT_GFX_NIDORINO 124 +#define OBJ_EVENT_GFX_MEOWTH 125 +#define OBJ_EVENT_GFX_SEEL 126 +#define OBJ_EVENT_GFX_VOLTORB 127 +#define OBJ_EVENT_GFX_SLOWPOKE 128 +#define OBJ_EVENT_GFX_SLOWBRO 129 +#define OBJ_EVENT_GFX_MACHOP 130 +#define OBJ_EVENT_GFX_WIGGLYTUFF 131 +#define OBJ_EVENT_GFX_DODUO 132 +#define OBJ_EVENT_GFX_FEAROW 133 +#define OBJ_EVENT_GFX_MACHOKE 134 +#define OBJ_EVENT_GFX_LAPRAS 135 +#define OBJ_EVENT_GFX_ZAPDOS 136 +#define OBJ_EVENT_GFX_MOLTRES 137 +#define OBJ_EVENT_GFX_ARTICUNO 138 +#define OBJ_EVENT_GFX_MEWTWO 139 +#define OBJ_EVENT_GFX_MEW 140 +#define OBJ_EVENT_GFX_ENTEI 141 +#define OBJ_EVENT_GFX_SUICUNE 142 +#define OBJ_EVENT_GFX_RAIKOU 143 +#define OBJ_EVENT_GFX_LUGIA 144 +#define OBJ_EVENT_GFX_HO_OH 145 +#define OBJ_EVENT_GFX_CELEBI 146 +#define OBJ_EVENT_GFX_KABUTO 147 +#define OBJ_EVENT_GFX_DEOXYS_D 148 +#define OBJ_EVENT_GFX_DEOXYS_A 149 +#define OBJ_EVENT_GFX_DEOXYS_N 150 +#define OBJ_EVENT_GFX_SS_ANNE 151 + +#define OBJ_EVENT_GFX_VAR_0 240 +#define OBJ_EVENT_GFX_VAR_1 241 +#define OBJ_EVENT_GFX_VAR_2 242 +#define OBJ_EVENT_GFX_VAR_3 243 +#define OBJ_EVENT_GFX_VAR_4 244 +#define OBJ_EVENT_GFX_VAR_5 245 +#define OBJ_EVENT_GFX_VAR_6 246 +#define OBJ_EVENT_GFX_VAR_7 247 +#define OBJ_EVENT_GFX_VAR_8 248 +#define OBJ_EVENT_GFX_VAR_9 249 +#define OBJ_EVENT_GFX_VAR_A 250 +#define OBJ_EVENT_GFX_VAR_B 251 +#define OBJ_EVENT_GFX_VAR_C 252 +#define OBJ_EVENT_GFX_VAR_D 253 +#define OBJ_EVENT_GFX_VAR_E 254 +#define OBJ_EVENT_GFX_VAR_F 255 + +#define SHADOW_SIZE_S 0 +#define SHADOW_SIZE_M 1 +#define SHADOW_SIZE_L 2 +#define SHADOW_SIZE_XL 3 + +#define F_INANIMATE (1 << 6) +#define F_DISABLE_REFLECTION_PALETTE_LOAD (1 << 7) + +#define TRACKS_NONE 0 +#define TRACKS_FOOT 1 +#define TRACKS_BIKE_TIRE 2 + #define OBJ_EVENT_ID_PLAYER 0xFF #define OBJ_EVENT_ID_CAMERA 0x7F diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h index 1fd6777f0..c56c97d73 100644 --- a/include/constants/field_effects.h +++ b/include/constants/field_effects.h @@ -1,7 +1,7 @@ #ifndef GUARD_CONSTANTS_FIELD_EFFECTS_H #define GUARD_CONSTANTS_FIELD_EFFECTS_H -#define FLDEFF_EXCLAMATION_MARK_ICON_1 0 +#define FLDEFF_EXCLAMATION_MARK_ICON 0 #define FLDEFF_USE_CUT_ON_GRASS 1 #define FLDEFF_USE_CUT_ON_TREE 2 #define FLDEFF_SHADOW 3 @@ -34,7 +34,7 @@ #define FLDEFF_NPCFLY_OUT 30 #define FLDEFF_USE_FLY 31 #define FLDEFF_FLY_IN 32 -#define FLDEFF_EXCLAMATION_MARK_ICON_2 33 +#define FLDEFF_QUESTION_MARK_ICON 33 #define FLDEFF_FEET_IN_FLOWING_WATER 34 #define FLDEFF_BIKE_TIRE_TRACKS 35 #define FLDEFF_SAND_DISGUISE 36 @@ -47,7 +47,7 @@ #define FLDEFF_USE_WATERFALL 43 #define FLDEFF_USE_DIVE 44 #define FLDEFF_POKEBALL 45 -#define FLDEFF_HEART_ICON 46 +#define FLDEFF_X_ICON 46 #define FLDEFF_NOP_47 47 #define FLDEFF_NOP_48 48 #define FLDEFF_POP_OUT_OF_ASH 49 @@ -65,11 +65,11 @@ #define FLDEFF_PCTURN_ON 61 #define FLDEFF_HALL_OF_FAME_RECORD 62 #define FLDEFF_USE_TELEPORT 63 -#define FLDEFF_UNK_40 64 // TODO: game corner smile icon? +#define FLDEFF_SMILEY_FACE_ICON 64 #define FLDEFF_UNK_41 65 // TODO: related to vs_seeker -#define FLDEFF_UNK_42 66 // TODO: related to trainer see +#define FLDEFF_DOUBLE_EXCL_MARK_ICON 66 #define FLDEFF_UNK_43 67 // TODO: related to deoxys -#define FLDEFF_UNK_44 68 // TODO: related to trainer see +#define FLDEFF_UNK_44 68 // TODO: related to ??? #define FLDEFF_UNK_45 69 // TODO: related to fame checker photos #endif // GUARD_CONSTANTS_FIELD_EFFECTS_H diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index b71e7d08f..830e66d01 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -2,11 +2,42 @@ #define GUARD_METATILE_LABELS_H // gTileset_General +#define METATILE_General_Plain_Mowed 0x001 +#define METATILE_General_ThinTreeTop_Grass 0x00A +#define METATILE_General_WideTreeTopLeft_Grass 0x00B +#define METATILE_General_WideTreeTopRight_Grass 0x00C +#define METATILE_General_Plain_Grass 0x00D +#define METATILE_General_WideTreeTopLeft_Mowed 0x00E +#define METATILE_General_WideTreeTopRight_Mowed 0x00F +#define METATILE_General_ThinTreeTop_Mowed 0x013 #define METATILE_General_CalmWater 0x12B // gTileset_Mart #define METATILE_Mart_CounterMid_Top 0x2BF -#define METATILE_Mart_CounterMid_Bottom 0x2C0 +#define METATILE_Mart_CounterMid_Bottom 0x2C0 + +// gTileset_PokemonCenter +#define METATILE_PokemonCenter_Escalator_Top_Normal 0x2E4 +#define METATILE_PokemonCenter_Escalator_Top_Transition1 0x317 +#define METATILE_PokemonCenter_Escalator_Top_Transition2 0x315 +#define METATILE_PokemonCenter_Escalator_TopNext_Normal 0x2E3 +#define METATILE_PokemonCenter_Escalator_TopNext_Transition1 0x316 +#define METATILE_PokemonCenter_Escalator_TopNext_Transition2 0x314 +#define METATILE_PokemonCenter_Escalator_TopNextRail_Normal 0x2EB +#define METATILE_PokemonCenter_Escalator_TopNextRail_Transition1 0x31E +#define METATILE_PokemonCenter_Escalator_TopNextRail_Transition2 0x31C +#define METATILE_PokemonCenter_Escalator_Bottom_Normal 0x2D9 +#define METATILE_PokemonCenter_Escalator_Bottom_Transition1 0x313 +#define METATILE_PokemonCenter_Escalator_Bottom_Transition2 0x311 +#define METATILE_PokemonCenter_Escalator_BottomRail_Normal 0x2D1 +#define METATILE_PokemonCenter_Escalator_BottomRail_Transition1 0x30B +#define METATILE_PokemonCenter_Escalator_BottomRail_Transition2 0x309 +#define METATILE_PokemonCenter_Escalator_BottomNext_Normal 0x2D8 +#define METATILE_PokemonCenter_Escalator_BottomNext_Transition1 0x312 +#define METATILE_PokemonCenter_Escalator_BottomNext_Transition2 0x310 +#define METATILE_PokemonCenter_Escalator_BottomNextRail_Normal 0x2D0 +#define METATILE_PokemonCenter_Escalator_BottomNextRail_Transition1 0x30A +#define METATILE_PokemonCenter_Escalator_BottomNextRail_Transition2 0x308 // gTileset_VermilionGym #define METATILE_VermilionGym_Floor 0x281 @@ -39,6 +70,18 @@ #define METATILE_VermilionGym_Beam_Node_BottomRight_Edge_HalfOn 0x2C6 #define METATILE_VermilionGym_Beam_Node_BottomRight_HalfOn 0x2C7 +// gTileset_SeaCottage +#define METATILE_SeaCottage_Teleporter_Light_Green 0x28A +#define METATILE_SeaCottage_Teleporter_Light_Yellow 0x2B5 +#define METATILE_SeaCottage_Teleporter_Light_Red 0x2B6 +#define METATILE_SeaCottage_Teleporter_Cable_Top 0x285 +#define METATILE_SeaCottage_Teleporter_Cable_Bottom 0x2B4 +#define METATILE_SeaCottage_Teleporter_CableBall_Top 0x2B9 +#define METATILE_SeaCottage_Teleporter_CableBall_Bottom 0x2BA +#define METATILE_SeaCottage_Teleporter_Door 0x296 +#define METATILE_SeaCottage_Teleporter_Door_HalfGlowing 0x2B7 +#define METATILE_SeaCottage_Teleporter_Door_FullGlowing 0x2B8 + // gTileset_GameCorner #define METATILE_GameCorner_Floor_ShadeFull 0x292 #define METATILE_GameCorner_Floor_StairsTop 0x29D @@ -127,4 +170,20 @@ #define METATILE_TrainerTower_Floor_ShadeBottomLeft 0x287 #define METATILE_TrainerTower_CounterBarrier 0x2B4 +// gTileset_ViridianForest +#define METATILE_ViridianForest_HugeTreeTopMiddle_Grass 0x284 +#define METATILE_ViridianForest_HugeTreeTopMiddle_Mowed 0x281 + +// gTileset_CeladonCity +#define METATILE_CeladonCity_CyclingRoad_Grass 0x352 +#define METATILE_CeladonCity_CyclingRoad_Mowed 0x33E + +// gTileset_FuchsiaCity +#define METATILE_FuchsiaCity_SafariZoneTreeTopLeft_Grass 0x300 +#define METATILE_FuchsiaCity_SafariZoneTreeTopMiddle_Grass 0x301 +#define METATILE_FuchsiaCity_SafariZoneTreeTopRight_Grass 0x302 +#define METATILE_FuchsiaCity_SafariZoneTreeTopLeft_Mowed 0x310 +#define METATILE_FuchsiaCity_SafariZoneTreeTopMiddle_Mowed 0x311 +#define METATILE_FuchsiaCity_SafariZoneTreeTopRight_Mowed 0x312 + #endif // GUARD_METATILE_LABELS_H diff --git a/include/constants/movement_commands.h b/include/constants/movement_commands.h deleted file mode 100644 index 8556ba951..000000000 --- a/include/constants/movement_commands.h +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef GUARD_CONSTANTS_MOVEMENT_COMMANDS_H -#define GUARD_CONSTANTS_MOVEMENT_COMMANDS_H - -enum -{ - face_down, - face_up, - face_left, - face_right, - face_down_fast, - face_up_fast, - face_left_fast, - face_right_fast, - walk_slowest_down, - walk_slowest_up, - walk_slowest_left, - walk_slowest_right, - walk_slow_down, - walk_slow_up, - walk_slow_left, - walk_slow_right, - walk_down, - walk_up, - walk_left, - walk_right, - jump_2_down, - jump_2_up, - jump_2_left, - jump_2_right, - delay_1, - delay_2, - delay_4, - delay_8, - delay_16, - walk_fast_down, - walk_fast_up, - walk_fast_left, - walk_fast_right, - walk_in_place_slow_down, - walk_in_place_slow_up, - walk_in_place_slow_left, - walk_in_place_slow_right, - walk_in_place_down, - walk_in_place_up, - walk_in_place_left, - walk_in_place_right, - walk_in_place_fast_down, - walk_in_place_fast_up, - walk_in_place_fast_left, - walk_in_place_fast_right, - walk_in_place_fastest_down, - walk_in_place_fastest_up, - walk_in_place_fastest_left, - walk_in_place_fastest_right, - face_down_slow, - face_up_slow, - face_left_slow, - face_right_slow, - walk_fastest_down, - walk_fastest_up, - walk_fastest_left, - walk_fastest_right, - slide_down, - slide_up, - slide_left, - slide_right, - player_run_down, - player_run_up, - player_run_left, - player_run_right, - player_run_down_slow, - player_run_up_slow, - player_run_left_slow, - player_run_right_slow, - step_45, - jump_down_run, - jump_up_run, - jump_left_run, - jump_right_run, - face_player, - face_away_player, - lock_facing_direction, - unlock_facing_direction, - jump_down, - jump_up, - jump_left, - jump_right, - jump_in_place_down, - jump_in_place_up, - jump_in_place_left, - jump_in_place_right, - jump_in_place_down_up, - jump_in_place_up_down, - jump_in_place_left_right, - jump_in_place_right_left, - face_original_direction, - nurse_joy_bow, - enable_jump_landing_ground_effect, - disable_jump_landing_ground_effect, - disable_anim, - restore_anim, - set_invisible, - set_visible, - emote_exclamation_mark, - emote_question_mark, - emote_x, - emote_double_exclamation_mark, - emote_smile, - step_67, - rock_smash_break, - cut_tree, - - step_91 = 0x91, - step_92, - - step_96 = 0x96, - - step_end = 0xfe, -}; - -#endif //GUARD_CONSTANTS_MOVEMENT_COMMANDS_H diff --git a/include/constants/object_events.h b/include/constants/object_events.h deleted file mode 100644 index d6f33b33c..000000000 --- a/include/constants/object_events.h +++ /dev/null @@ -1,186 +0,0 @@ -#ifndef GUARD_CONSTANTS_OBJECT_EVENTS_H -#define GUARD_CONSTANTS_OBJECT_EVENTS_H - -#define OBJECT_EVENT_GFX_RED_NORMAL 0 -#define OBJECT_EVENT_GFX_RED_BIKE 1 -#define OBJECT_EVENT_GFX_RED_RUN 2 -#define OBJECT_EVENT_GFX_RED_ITEM 3 -#define OBJECT_EVENT_GFX_RED_FISH 4 -#define OBJECT_EVENT_GFX_RED_ITEM_COPY 5 -#define OBJECT_EVENT_GFX_RED_VS_SEEKER 6 -#define OBJECT_EVENT_GFX_GREEN_NORMAL 7 -#define OBJECT_EVENT_GFX_GREEN_BIKE 8 -#define OBJECT_EVENT_GFX_GREEN_RUN 9 -#define OBJECT_EVENT_GFX_GREEN_ITEM 10 -#define OBJECT_EVENT_GFX_GREEN_FISH 11 -#define OBJECT_EVENT_GFX_GREEN_ITEM_COPY 12 -#define OBJECT_EVENT_GFX_GREEN_VS_SEEKER 13 -#define OBJECT_EVENT_GFX_RS_BRENDAN 14 -#define OBJECT_EVENT_GFX_RS_MAY 15 -#define OBJECT_EVENT_GFX_LITTLE_BOY 16 -#define OBJECT_EVENT_GFX_LITTLE_GIRL 17 -#define OBJECT_EVENT_GFX_YOUNGSTER 18 -#define OBJECT_EVENT_GFX_BOY 19 -#define OBJECT_EVENT_GFX_BUG_CATCHER 20 -#define OBJECT_EVENT_GFX_SITTING_BOY 21 -#define OBJECT_EVENT_GFX_LASS 22 -#define OBJECT_EVENT_GFX_WOMAN_1 23 -#define OBJECT_EVENT_GFX_BATTLE_GIRL 24 -#define OBJECT_EVENT_GFX_MAN 25 -#define OBJECT_EVENT_GFX_ROCKER 26 -#define OBJECT_EVENT_GFX_FAT_MAN 27 -#define OBJECT_EVENT_GFX_WOMAN_2 28 -#define OBJECT_EVENT_GFX_BEAUTY 29 -#define OBJECT_EVENT_GFX_BALDING_MAN 30 -#define OBJECT_EVENT_GFX_WOMAN_3 31 -#define OBJECT_EVENT_GFX_OLD_MAN_1 32 -#define OBJECT_EVENT_GFX_OLD_MAN_2 33 -#define OBJECT_EVENT_GFX_OLD_MAN_LYING_DOWN 34 -#define OBJECT_EVENT_GFX_OLD_WOMAN 35 -#define OBJECT_EVENT_GFX_TUBER_M_1 36 -#define OBJECT_EVENT_GFX_TUBER_F 37 -#define OBJECT_EVENT_GFX_TUBER_M_2 38 -#define OBJECT_EVENT_GFX_CAMPER 39 -#define OBJECT_EVENT_GFX_PICNICKER 40 -#define OBJECT_EVENT_GFX_COOLTRAINER_M 41 -#define OBJECT_EVENT_GFX_COOLTRAINER_F 42 -#define OBJECT_EVENT_GFX_SWIMMER_M_WATER 43 -#define OBJECT_EVENT_GFX_SWIMMER_F_WATER 44 -#define OBJECT_EVENT_GFX_SWIMMER_M_LAND 45 -#define OBJECT_EVENT_GFX_SWIMMER_F_LAND 46 -#define OBJECT_EVENT_GFX_WORKER_M 47 -#define OBJECT_EVENT_GFX_WORKER_F 48 -#define OBJECT_EVENT_GFX_ROCKET_M 49 -#define OBJECT_EVENT_GFX_ROCKET_F 50 -#define OBJECT_EVENT_GFX_GBA_KID 51 -#define OBJECT_EVENT_GFX_SUPER_NERD 52 -#define OBJECT_EVENT_GFX_BIKER 53 -#define OBJECT_EVENT_GFX_BLACKBELT 54 -#define OBJECT_EVENT_GFX_SCIENTIST 55 -#define OBJECT_EVENT_GFX_HIKER 56 -#define OBJECT_EVENT_GFX_FISHER 57 -#define OBJECT_EVENT_GFX_CHANNELER 58 -#define OBJECT_EVENT_GFX_CHEF 59 -#define OBJECT_EVENT_GFX_POLICEMAN 60 -#define OBJECT_EVENT_GFX_GENTLEMAN 61 -#define OBJECT_EVENT_GFX_SAILOR 62 -#define OBJECT_EVENT_GFX_CAPTAIN 63 -#define OBJECT_EVENT_GFX_NURSE 64 -#define OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST 65 -#define OBJECT_EVENT_GFX_UNION_ROOM_RECEPTIONIST 66 -#define OBJECT_EVENT_GFX_UNUSED_MALE_RECEPTIONIST 67 -#define OBJECT_EVENT_GFX_CLERK 68 -#define OBJECT_EVENT_GFX_MG_DELIVERYMAN 69 -#define OBJECT_EVENT_GFX_TRAINER_TOWER_DUDE 70 -#define OBJECT_EVENT_GFX_PROF_OAK 71 -#define OBJECT_EVENT_GFX_BLUE 72 -#define OBJECT_EVENT_GFX_BILL 73 -#define OBJECT_EVENT_GFX_LANCE 74 -#define OBJECT_EVENT_GFX_AGATHA 75 -#define OBJECT_EVENT_GFX_DAISY 76 -#define OBJECT_EVENT_GFX_LORELEI 77 -#define OBJECT_EVENT_GFX_MR_FUJI 78 -#define OBJECT_EVENT_GFX_BRUNO 79 -#define OBJECT_EVENT_GFX_BROCK 80 -#define OBJECT_EVENT_GFX_MISTY 81 -#define OBJECT_EVENT_GFX_LT_SURGE 82 -#define OBJECT_EVENT_GFX_ERIKA 83 -#define OBJECT_EVENT_GFX_KOGA 84 -#define OBJECT_EVENT_GFX_SABRINA 85 -#define OBJECT_EVENT_GFX_BLAINE 86 -#define OBJECT_EVENT_GFX_GIOVANNI 87 -#define OBJECT_EVENT_GFX_MOM 88 -#define OBJECT_EVENT_GFX_CELIO 89 -#define OBJECT_EVENT_GFX_TEACHY_TV_HOST 90 -#define OBJECT_EVENT_GFX_GYM_GUY 91 -#define OBJECT_EVENT_GFX_ITEM_BALL 92 -#define OBJECT_EVENT_GFX_TOWN_MAP 93 -#define OBJECT_EVENT_GFX_POKEDEX 94 -#define OBJECT_EVENT_GFX_CUT_TREE 95 -#define OBJECT_EVENT_GFX_ROCK_SMASH_ROCK 96 -#define OBJECT_EVENT_GFX_STRENGTH_BOULDER 97 -#define OBJECT_EVENT_GFX_FOSSIL 98 -#define OBJECT_EVENT_GFX_RUBY 99 -#define OBJECT_EVENT_GFX_SAPPHIRE 100 -#define OBJECT_EVENT_GFX_OLD_AMBER 101 -#define OBJECT_EVENT_GFX_GYM_SIGN 102 -#define OBJECT_EVENT_GFX_SIGN 103 -#define OBJECT_EVENT_GFX_TRAINER_TIPS 104 -#define OBJECT_EVENT_GFX_CLIPBOARD 105 -#define OBJECT_EVENT_GFX_METEORITE 106 -#define OBJECT_EVENT_GFX_LAPRAS_DOLL 107 -#define OBJECT_EVENT_GFX_SEAGALLOP 108 -#define OBJECT_EVENT_GFX_SNORLAX 109 -#define OBJECT_EVENT_GFX_SPEAROW 110 -#define OBJECT_EVENT_GFX_CUBONE 111 -#define OBJECT_EVENT_GFX_POLIWRATH 112 -#define OBJECT_EVENT_GFX_CLEFAIRY 113 -#define OBJECT_EVENT_GFX_PIDGEOT 114 -#define OBJECT_EVENT_GFX_JIGGLYPUFF 115 -#define OBJECT_EVENT_GFX_PIDGEY 116 -#define OBJECT_EVENT_GFX_CHANSEY 117 -#define OBJECT_EVENT_GFX_OMANYTE 118 -#define OBJECT_EVENT_GFX_KANGASKHAN 119 -#define OBJECT_EVENT_GFX_PIKACHU 120 -#define OBJECT_EVENT_GFX_PSYDUCK 121 -#define OBJECT_EVENT_GFX_NIDORAN_F 122 -#define OBJECT_EVENT_GFX_NIDORAN_M 123 -#define OBJECT_EVENT_GFX_NIDORINO 124 -#define OBJECT_EVENT_GFX_MEOWTH 125 -#define OBJECT_EVENT_GFX_SEEL 126 -#define OBJECT_EVENT_GFX_VOLTORB 127 -#define OBJECT_EVENT_GFX_SLOWPOKE 128 -#define OBJECT_EVENT_GFX_SLOWBRO 129 -#define OBJECT_EVENT_GFX_MACHOP 130 -#define OBJECT_EVENT_GFX_WIGGLYTUFF 131 -#define OBJECT_EVENT_GFX_DODUO 132 -#define OBJECT_EVENT_GFX_FEAROW 133 -#define OBJECT_EVENT_GFX_MACHOKE 134 -#define OBJECT_EVENT_GFX_LAPRAS 135 -#define OBJECT_EVENT_GFX_ZAPDOS 136 -#define OBJECT_EVENT_GFX_MOLTRES 137 -#define OBJECT_EVENT_GFX_ARTICUNO 138 -#define OBJECT_EVENT_GFX_MEWTWO 139 -#define OBJECT_EVENT_GFX_MEW 140 -#define OBJECT_EVENT_GFX_ENTEI 141 -#define OBJECT_EVENT_GFX_SUICUNE 142 -#define OBJECT_EVENT_GFX_RAIKOU 143 -#define OBJECT_EVENT_GFX_LUGIA 144 -#define OBJECT_EVENT_GFX_HO_OH 145 -#define OBJECT_EVENT_GFX_CELEBI 146 -#define OBJECT_EVENT_GFX_KABUTO 147 -#define OBJECT_EVENT_GFX_DEOXYS_D 148 -#define OBJECT_EVENT_GFX_DEOXYS_A 149 -#define OBJECT_EVENT_GFX_DEOXYS_N 150 -#define OBJECT_EVENT_GFX_SS_ANNE 151 - -#define OBJECT_EVENT_GFX_VAR_0 240 -#define OBJECT_EVENT_GFX_VAR_1 241 -#define OBJECT_EVENT_GFX_VAR_2 242 -#define OBJECT_EVENT_GFX_VAR_3 243 -#define OBJECT_EVENT_GFX_VAR_4 244 -#define OBJECT_EVENT_GFX_VAR_5 245 -#define OBJECT_EVENT_GFX_VAR_6 246 -#define OBJECT_EVENT_GFX_VAR_7 247 -#define OBJECT_EVENT_GFX_VAR_8 248 -#define OBJECT_EVENT_GFX_VAR_9 249 -#define OBJECT_EVENT_GFX_VAR_A 250 -#define OBJECT_EVENT_GFX_VAR_B 251 -#define OBJECT_EVENT_GFX_VAR_C 252 -#define OBJECT_EVENT_GFX_VAR_D 253 -#define OBJECT_EVENT_GFX_VAR_E 254 -#define OBJECT_EVENT_GFX_VAR_F 255 - -#define SHADOW_SIZE_S 0 -#define SHADOW_SIZE_M 1 -#define SHADOW_SIZE_L 2 -#define SHADOW_SIZE_XL 3 - -#define F_INANIMATE (1 << 6) -#define F_DISABLE_REFLECTION_PALETTE_LOAD (1 << 7) - -#define TRACKS_NONE 0 -#define TRACKS_FOOT 1 -#define TRACKS_BIKE_TIRE 2 - -#endif // GUARD_CONSTANTS_OBJECT_EVENTS_H diff --git a/include/digit_obj_util.h b/include/digit_obj_util.h index b2ecd42bc..11d51f1fc 100644 --- a/include/digit_obj_util.h +++ b/include/digit_obj_util.h @@ -15,6 +15,11 @@ struct DigitObjUtilTemplate const struct SpritePalette *spritePal; }; +extern const u16 gUnknown_8479668[]; +extern const u32 gUnknown_8479688[]; +extern const u32 gUnknown_8479748[]; + +bool32 DigitObjUtil_Init(u32 count); void DigitObjUtil_Teardown(void); bool32 DigitObjUtil_CreatePrinter(u32 id, s32 num, const struct DigitObjUtilTemplate *template); void DigitObjUtil_PrintNumOn(u32 id, s32 num); diff --git a/include/event_object_80688E4.h b/include/event_object_80688E4.h deleted file mode 100644 index 241d48c3a..000000000 --- a/include/event_object_80688E4.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef GUARD_EVENT_OBJECT_80688E4_H -#define GUARD_EVENT_OBJECT_80688E4_H - -#include "global.h" - -void FreezeObjectEvents(void); -bool8 FreezeObjectEvent(struct ObjectEvent *); -void FreezeObjectEventsExceptOne(u8 objEventId); -void RfuUnionObjectSetFacingDirection(u8 objectEventId, u8 direction); -void RfuUnionObjectToggleInvisibility(u8 objectEventId, bool32 invisible); -bool32 RfuUnionObjectIsInvisible(u8 objectEventId); -void RfuUnionObjectStartWarp(u8 objectEventId, u8 animNo); -bool32 RfuUnionObjectIsWarping(u8 objectEventId); - -#endif // GUARD_EVENT_OBJECT_80688E4_H diff --git a/include/event_object_8097404.h b/include/event_object_8097404.h deleted file mode 100644 index 23fce9576..000000000 --- a/include/event_object_8097404.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// Created by scott on 9/7/2017. -// - -#ifndef GUARD_EVENT_OBJECT_8097404_H -#define GUARD_EVENT_OBJECT_8097404_H - -#include "global.h" - -// Exported type declarations - -// Exported RAM declarations -extern void *gUnknown_020375B8; - -// Exported ROM declarations -void sub_8097AC8(struct Sprite *); -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); -bool8 sub_80976EC(struct Sprite *sprite); -void sub_80976DC(struct Sprite *, u8); -void sub_809783C(struct Sprite *, u8, u8, u8); -void DoShadowFieldEffect(struct ObjectEvent *); -u8 sub_809785C(struct Sprite *); -u8 sub_80978E4(struct Sprite *); -void obj_anim_image_set_and_seek(struct Sprite *, u8, u8); -bool8 sub_80979BC(struct Sprite *); -void sub_8097750(struct Sprite *); -bool8 sub_8097758(struct Sprite *); -void sub_8097FA4(struct ObjectEvent *); -void sub_8098044(u8); - -#endif // GUARD_EVENT_OBJECT_8097404_H diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 650f137d9..baf66d737 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -48,7 +48,7 @@ void SpawnObjectEventsInView(s16, s16); u8 sprite_new(u8, u8, s16, s16, u8, u8); u8 AddPseudoObjectEvent(u16, SpriteCallback, s16, s16, u8); u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup); -u8 SpawnSpecialObjectEventParameterized(u8, u8, u8, s16, s16, u8); +int SpawnSpecialObjectEventParameterized(u8, u8, u8, s16, s16, u8); u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *); void sub_8093038(s16, s16, s16 *, s16 *); void CameraObjectReset1(void); @@ -65,7 +65,7 @@ void sub_808E82C(u8, u8, u8, s16, s16); void sub_805F400(u8, u8, u8); void sub_805F3A8(u8, u8, u8, u8); void sub_808E75C(s16, s16); -void ObjectEventGetLocalIdAndMap(struct ObjectEvent *, u8 *, u8 *, u8 *); +void ObjectEventGetLocalIdAndMap(struct ObjectEvent * objectEvent, u8 *localId, u8 *mapNum, u8 *mapGroup); void npc_coords_shift(struct ObjectEvent *, s16, s16); void sub_808EB08(struct ObjectEvent *, s16, s16); void sub_805FE94(u8, u8, u8); @@ -76,7 +76,7 @@ u8 GetStepInPlaceDelay4AnimId(u32); u8 GetStepInPlaceDelay8AnimId(u32); u8 GetStepInPlaceDelay16AnimId(u32); u8 GetStepInPlaceDelay32AnimId(u32); -u8 npc_block_way(struct ObjectEvent *, s16, s16, u32); +u8 GetCollisionAtCoords(struct ObjectEvent *, s16, s16, u32); void MoveCoords(u8, s16 *, s16 *); bool8 ObjectEventIsSpecialAnimActive(struct ObjectEvent *); u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *); @@ -84,7 +84,7 @@ u8 GetObjectEventIdByXYZ(u16 x, u16 y, u8 z); void sub_8063E28(struct ObjectEvent *, struct Sprite *); bool8 ObjectEventSetHeldMovement(struct ObjectEvent *, u8); void npc_coords_shift_still(struct ObjectEvent *); -void sub_805FE7C(struct ObjectEvent *, u8); +void TryOverrideTemplateCoordsForObjectEvent(struct ObjectEvent *, u8); void SetTrainerMovementType(struct ObjectEvent *, u8); u8 sub_80634F0(u8 direction); u8 sub_8063500(u8 a0); @@ -93,11 +93,31 @@ u8 sub_805EB44(u8, u8, s16, s16); void npc_paltag_set_load(u8 mode); bool8 ObjectEventIsMovementOverridden(struct ObjectEvent *objectEvent); u8 ObjectEventCheckHeldMovementStatus(struct ObjectEvent *objectEvent); -u8 sub_8063F84(u8 direction); +u8 GetWalkNormalMovementAction(u8 direction); u8 GetTrainerFacingDirectionMovementType(u8 direction); void CameraObjectSetFollowedObjectId(u8 spriteId); void UnfreezeObjectEvents(void); void TurnObjectEvent(u8, u8); +const u8 *GetObjectEventScriptPointerByObjectEventId(u8 objectEventId); +u8 GetIndexOfFirstInactiveObjectEvent(void); +u8 GetCollisionFlagsAtCoords(struct ObjectEvent * objectEvent, s16 x, s16 y, u8 direction); +u8 GetFaceDirectionMovementAction(u8 direction); +u8 GetJumpInPlaceMovementAction(u8 direction); +u8 sub_8063FB0(u8 direction); +void OverrideTemplateCoordsForObjectEvent(struct ObjectEvent *); +void sub_805C774(void); + +void FreezeObjectEvents(void); +bool8 FreezeObjectEvent(struct ObjectEvent *); +void UnfreezeObjectEvent(struct ObjectEvent *); +void FreezeObjectEventsExceptOne(u8 objEventId); +void RfuUnionObjectSetFacingDirection(u8 objectEventId, u8 direction); +void RfuUnionObjectToggleInvisibility(u8 objectEventId, bool32 invisible); +bool32 RfuUnionObjectIsInvisible(u8 objectEventId); +void RfuUnionObjectStartWarp(u8 objectEventId, u8 animNo); +bool32 RfuUnionObjectIsWarping(u8 objectEventId); + +void sub_805F378(s16 x, s16 y); // Exported data declarations @@ -106,5 +126,7 @@ extern const struct SpritePalette gUnknown_83A5348; extern const struct SpriteTemplate * const gFieldEffectObjectTemplatePointers[]; extern const struct OamData gObjectEventBaseOam_32x32; extern const struct UCoords16 gUnknown_83A64C8[]; +extern const u16 gUnknown_8398648[]; +extern const u16 gUnknown_8398688[]; #endif // GUARD_EVENT_OBJECT_MOVEMENT_H diff --git a/include/event_scripts.h b/include/event_scripts.h index f026cb57a..bf16ed2ec 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -1201,4 +1201,7 @@ extern const u8 Text_MonSentToBoxBillsBoxFull[]; extern const u8 EventScript_BagItemCanBeRegistered[]; +// fldeff_cut +extern const u8 EventScript_FldEffCut[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index a69ec6155..e9553025c 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -16,7 +16,7 @@ void sub_808D074(u8); void sub_805C270(void); void sub_805C780(void); void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); -u8 sub_805C808(u8); +u8 GetPlayerAvatarGraphicsIdByStateId(u8); void SetPlayerAvatarStateMask(u8 mask); void sub_805D9C4(struct Sprite *sprite); void sub_805D154(u8 direction); diff --git a/include/field_specials.h b/include/field_specials.h index 02069ff84..9653a9169 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -25,5 +25,7 @@ bool8 ShouldShowBoxWasFullMessage(void); u16 GetHiddenItemAttr(u32 hiddenItem, u8 attr); u8 GetUnlockedSeviiAreas(void); u32 GetPlayerTrainerId(void); +bool8 CutMoveRuinValleyCheck(void); +void CutMoveOpenDottedHoleDoor(void); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/fieldmap.h b/include/fieldmap.h index 406ec2959..a8e31685f 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -19,6 +19,7 @@ u32 MapGridGetMetatileBehaviorAt(int, int); u8 MapGridGetMetatileLayerTypeAt(s16 x, s16 y); void MapGridSetMetatileIdAt(int, int, u16); void MapGridSetMetatileEntryAt(int, int, u16); +u8 MapGridGetZCoordAt(s32 x, s32 y); void GetCameraCoords(u16*, u16*); bool8 MapGridIsImpassableAt(s32, s32); s32 GetMapBorderIdAt(s32, s32); @@ -29,8 +30,8 @@ struct MapConnection * GetMapConnectionAtPos(s16 x, s16 y); 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); +u32 GetMetatileAttributeFromRawMetatileBehavior(u32 original, u8 bit); +u32 MapGridGetMetatileAttributeAt(s16 x, s16 y, u8 attr); void MapGridSetMetatileImpassabilityAt(s32 x, s32 y, bool32 arg2); #endif //GUARD_FIELDMAP_H diff --git a/include/fldeff.h b/include/fldeff.h index 51287f400..56e2dfbd9 100644 --- a/include/fldeff.h +++ b/include/fldeff.h @@ -10,7 +10,7 @@ gTasks[taskId].data[9] = (u32)func; extern struct MapPosition gPlayerFacingPosition; bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId); -u8 oei_task_add(void); +u8 CreateFieldEffectShowMon(void); // flash u8 sub_80C9DCC(u8 lightLevel, u8 mapType); diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index e0053fe88..57d8d0a35 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -3,6 +3,8 @@ #define OBJECT_EVENTS_COUNT 16 +#define METATILE_COLLISION_MASK 0x0C00 + enum { CONNECTION_SOUTH = 1, @@ -15,6 +17,8 @@ enum typedef void (*TilesetCB)(void); +#define METATILE_ID(tileset, name) (METATILE_##tileset##_##name) + struct Tileset { /*0x00*/ bool8 isCompressed; @@ -205,9 +209,9 @@ struct ObjectEvent /*0x0A*/ u8 mapGroup; /*0x0B*/ u8 mapobj_unk_0B_0:4; u8 elevation:4; - /*0x0C*/ struct Coords16 coords1; - /*0x10*/ struct Coords16 coords2; - /*0x14*/ struct Coords16 coords3; + /*0x0C*/ struct Coords16 initialCoords; + /*0x10*/ struct Coords16 currentCoords; + /*0x14*/ struct Coords16 previousCoords; /*0x18*/ u8 facingDirection:4; //current direction? /*0x18*/ u8 placeholder18:4; /*0x19*/ union ObjectEventRange range; diff --git a/include/global.h b/include/global.h index 54d8fdec3..b3fdfe231 100644 --- a/include/global.h +++ b/include/global.h @@ -148,8 +148,7 @@ struct PokemonJumpResults // possibly used in the game itself? u16 field2; u16 excellentsInRow; u16 field6; - u16 field8; - u16 fieldA; + u32 field8; u32 bestJumpScore; }; diff --git a/include/graphics.h b/include/graphics.h index 467a1d461..dcc4c44a7 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2879,7 +2879,7 @@ extern const u16 gTMCaseMainWindowPalette[]; // egg_hatch extern const u32 gBattleTextboxTiles[]; -extern const u32 gFile_graphics_interface_menu_map_tilemap[]; +extern const u32 gBattleTextboxTilemap[]; extern const u32 gBattleTextboxPalette[]; extern const u32 gTradeGba2_Pal[]; extern const u32 gTradeGba_Gfx[]; @@ -4314,7 +4314,7 @@ extern const u32 gHealthboxSafariGfx[]; extern const u32 gBlankGfxCompressed[]; extern const u16 gBattleInterface_BallStatusBarPal[]; extern const u16 gBattleInterface_BallDisplayPal[]; -extern const u32 gFile_graphics_interface_hp_numbers[]; +extern const u32 gInterfaceGfx_HPNumbers[]; extern const u32 gGhostFrontPic[]; extern const u32 gGhostPalette[]; extern const u32 gSubstituteDollGfx[]; @@ -4875,4 +4875,10 @@ extern const u32 gLinkMiscMenu_Tilemap[]; // union_room_chat_objects extern const u32 gUnionRoomChatIcons[]; +//battle_bg +extern const u32 gFile_graphics_battle_transitions_vs_frame_sheet[]; +extern const u32 gVsLettersGfx[]; +extern const u32 gFile_graphics_battle_transitions_vs_frame_palette[]; +extern const u32 gFile_graphics_battle_transitions_vs_frame_tilemap[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/link_rfu.h b/include/link_rfu.h index aff5d93d0..5ef954dd5 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -183,6 +183,7 @@ typedef struct UnkRfuStruct_2 extern struct GFtgtGname gHostRFUtgtGnameBuffer; extern u8 gHostRFUtgtUnameBuffer[]; +extern GF_RFU_MANAGER Rfu; // GameFreak signatures void AddTextPrinterToWindow1(const u8 *str); diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index d567ab77c..f3195e6c9 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -114,7 +114,7 @@ bool8 MetatileBehavior_UnusedReturnFalse_10(u8 metatileBehavior); bool8 MetatileBehavior_UnusedReturnFalse_11(u8 metatileBehavior); bool8 MetatileBehavior_UnusedReturnFalse_12(u8 metatileBehavior); bool8 MetatileBehavior_UnusedReturnFalse_13(u8 metatileBehavior); -bool8 sub_805A2BC(u8 metatileBehavior, u8 playerDirection); +bool8 TestMetatileAttributeBit(u8 attr, u8 bitmask); bool8 MetatileBehavior_UnusedIsSpinRight(u8 metatileBehavior); bool8 MetatileBehavior_UnusedIsSpinLeft(u8 metatileBehavior); bool8 MetatileBehavior_UnusedIsSpinUp(u8 metatileBehavior); diff --git a/include/minigame_countdown.h b/include/minigame_countdown.h new file mode 100644 index 000000000..930205218 --- /dev/null +++ b/include/minigame_countdown.h @@ -0,0 +1,7 @@ +#ifndef GUARD_MINIGAME_COUNTDOWN_H +#define GUARD_MINIGAME_COUNTDOWN_H + +void StartMinigameCountdown(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority); +bool32 IsMinigameCountdownRunning(void); + +#endif //GUARD_MINIGAME_COUNTDOWN_H diff --git a/include/overworld.h b/include/overworld.h index 8242615c7..f0a168052 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -176,6 +176,7 @@ void sub_8056078(void *, void *); void sub_805546C(u8 a0); bool32 sub_80582E0(void); bool32 sub_8058274(void); +u8 GetCurrentMapBattleScene(void); extern u16 gHeldKeyCodeToSend; diff --git a/include/pokemon_jump.h b/include/pokemon_jump.h index fa4105a0e..83e28d2fd 100644 --- a/include/pokemon_jump.h +++ b/include/pokemon_jump.h @@ -2,9 +2,122 @@ #define GUARD_POKEMON_JUMP_H #include "main.h" +#include "link.h" + +struct PokemonJump1_MonInfo +{ + u16 species; + u32 otId; + u32 personality; +}; + +struct PokemonJump1_82E4 +{ + int unk0; + int unk4; + u8 filler8[0x4]; + u16 unkC; + u16 unkE; + u16 unk10; + u16 unk12; + int unk14; + int unk18; + u8 unk1C[11]; +}; + +struct PokemonJump2 +{ + int unk0; + u16 unk4; + u8 unk6; + u8 filler7[0xa - 0x7]; + u8 unkA; + u8 unkB; + u8 unkC; + u8 unkD; + u8 unkE; + u8 unkF; + u16 filler10; + u16 unk12; + u16 unk14; + u32 unk18; + u16 unk1C[5]; + u8 txtBuff[2][0x40]; + u8 strBuff[0x100]; + u16 tilemapBuffer[0x4000]; // Bug: way larger than it should be + struct Sprite *unk81A8[MAX_RFU_PLAYERS]; + struct Sprite *unk81BC[MAX_RFU_PLAYERS]; + struct Sprite *unk81D0[8]; + u8 filler81F0[0xC]; + u8 unk81FC[MAX_RFU_PLAYERS]; +}; + +struct PokemonJump1Sub +{ + u8 unk0; + u8 unk1; + u16 unk2; + u16 unk4; + u32 unk8; +}; void ResetPokeJumpResults(void); bool32 IsSpeciesAllowedInPokemonJump(u16 species); void StartPokemonJump(u16 species, MainCallback callback); +u16 sub_81499A4(void); +u16 sub_81499B4(void); +struct PokemonJump1_MonInfo *sub_81499C0(u8 multiplayerId); +u8 *sub_81499E0(u8 multiplayerId); + +void sub_814A95C(int id); +void sub_8149CEC(struct PokemonJump2 *); +void sub_8149D24(void); +void sub_8149D40(int); +bool32 sub_8149D68(void); +void sub_814A3E4(void); +bool32 sub_814A408(void); +void sub_814A468(u16 itemId, u16 quantity); +void sub_814A53C(u16 itemId); +void sub_814A5B4(u16 itemId); +bool32 sub_814A62C(void); +void sub_814A6CC(void); +void sub_814A940(u32 id, s16 y); +void sub_814AA48(u8 multiplayerId); +bool32 sub_814A6FC(void); +void sub_814AA24(int); +s8 sub_814A744(void); +int sub_814A98C(u8 flags); +void sub_814AA34(u16); +void sub_814AA60(u8 multiplayerId); +int sub_814AA78(int multiplayerId); +void sub_814AA8C(void); +void sub_814AAA0(void); +void sub_814AAB4(int); +int sub_814AAC8(void); +void sub_8149A6C(struct PokemonJump1_MonInfo *arg0); +bool32 sub_8149A90(int multiplayerId, struct PokemonJump1_MonInfo *arg0); +void sub_8149AF8(struct PokemonJump1_82E4 *arg0, struct PokemonJump1Sub *arg1); +bool32 sub_8149B7C(struct PokemonJump1_82E4 *arg0, struct PokemonJump1Sub *arg1); +void sub_8149BF4(struct PokemonJump1_82E4 *arg0, u8 arg1, u16 arg2); +bool32 sub_8149C24(struct PokemonJump1_82E4 *arg0, int multiplayerId, u8 *arg2, u16 *arg3); +bool32 sub_8149C90(struct PokemonJump1_82E4 *arg0, int multiplayerId); +bool32 sub_814B494(u32 jumpScore, u16 jumpsInRow, u16 excellentsInRow); +void sub_814B4E8(void); + +void sub_814AD6C(struct PokemonJump2 *); +void sub_814B294(struct PokemonJump2 *); +void sub_814B43C(struct PokemonJump2 *); +bool32 sub_814B460(void); +void sub_814B348(struct PokemonJump2 *, int); +void sub_814AF0C(struct PokemonJump2 *, int); +void sub_814ADCC(struct PokemonJump2 *, struct PokemonJump1_MonInfo *,s16, s16, u8); +void sub_814B240(struct PokemonJump2 *,s16, s16, u8); +void sub_814AFE8(struct PokemonJump2 *, int multiplayerId); +void sub_814B080(struct PokemonJump2 *, int multiplayerId); +bool32 sub_814B010(struct PokemonJump2 *, int multiplayerId); +void sub_814B0A8(struct PokemonJump2 *); +void sub_814B134(struct PokemonJump2 *); +void sub_814B168(struct PokemonJump2 *, int multiplayerId); +bool32 sub_814B190(struct PokemonJump2 *); #endif // GUARD_POKEMON_JUMP_H diff --git a/include/quest_log.h b/include/quest_log.h index eddd4c02a..25d0d5871 100644 --- a/include/quest_log.h +++ b/include/quest_log.h @@ -49,5 +49,6 @@ void *QuestLogGetFlagOrVarPtr(bool8 isFlag, u16 idx); void QuestLogSetFlagOrVar(bool8 isFlag, u16 idx, u16 value); void sub_8110840(void *oldSave); void sub_8112F18(u8 windowId); +bool8 sub_8111C2C(void); #endif //GUARD_QUEST_LOG_H diff --git a/include/save.h b/include/save.h index ed527eefd..32c09896a 100644 --- a/include/save.h +++ b/include/save.h @@ -113,8 +113,6 @@ u8 sub_80DA45C(void); bool8 sub_80DA4A0(void); u8 Save_LoadGameData(u8 saveType); u32 TryCopySpecialSaveSection(u8 sector, u8* dst); -u32 sub_8153634(u8 sector, u8* src); -void sub_8153688(u8 taskId); u32 TryWriteSpecialSaveSection(u8 sector, u8* src); void sub_80DA634(u8 taskId); diff --git a/include/script_movement.h b/include/script_movement.h index 2a6dbd2a7..a6f3e7c3c 100644 --- a/include/script_movement.h +++ b/include/script_movement.h @@ -5,6 +5,6 @@ bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, const u8 *); bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8); -void sub_80974D8(void); +void ScriptMovement_UnfreezeObjectEvents(void); #endif // GUARD_SCRIPT_MOVEMENT_H diff --git a/include/sea_cottage_special_anim.h b/include/sea_cottage_special_anim.h deleted file mode 100644 index 5c939df12..000000000 --- a/include/sea_cottage_special_anim.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef GUARD_SEA_COTTAGE_SPECIAL_ANIM_H -#define GUARD_SEA_COTTAGE_SPECIAL_ANIM_H - -#include "global.h" - -void sub_809C448(u8 a0); -void sub_809C460(void); -bool8 sub_809C474(void); -void sub_809C4A8(void); -void sub_809C5FC(void); - -#endif // GUARD_SEA_COTTAGE_SPECIAL_ANIM_H diff --git a/include/special_field_anim.h b/include/special_field_anim.h new file mode 100644 index 000000000..d21c932bf --- /dev/null +++ b/include/special_field_anim.h @@ -0,0 +1,10 @@ +#ifndef GUARD_SPECIAL_FIELD_ANIM_H +#define GUARD_SPECIAL_FIELD_ANIM_H + +#include "global.h" + +void StartEscalator(u8 a0); +void StopEscalator(void); +bool8 IsEscalatorMoving(void); + +#endif // GUARD_SPECIAL_FIELD_ANIM_H diff --git a/include/strings.h b/include/strings.h index d468af4f3..8c19ea5cb 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1126,4 +1126,19 @@ extern const u8 gJPText_NewTrainerHasComeToSevii[]; extern const u8 gJPText_PleaseWaitAMoment[]; extern const u8 gJPText_WriteErrorUnableToSaveData[]; +// pokemon_jump +extern const u8 gText_WantToPlayAgain2[]; +extern const u8 gText_SavingDontTurnOffPower[]; +extern const u8 gText_SomeoneDroppedOut2[]; +extern const u8 gText_CommunicationStandby4[]; +extern const u8 gText_AwesomeWonF701F700[]; +extern const u8 gText_FilledStorageSpace2[]; +extern const u8 gText_CantHoldMore[]; +extern const u8 gText_SpacePoints2[]; +extern const u8 gText_SpaceTimes3[]; +extern const u8 gText_JumpsInARow[]; +extern const u8 gText_BestScore2[]; +extern const u8 gText_ExcellentsInARow[]; +extern const u8 gText_PkmnJumpRecords[]; + #endif //GUARD_STRINGS_H diff --git a/include/task.h b/include/task.h index 7a7a2ff22..0d605b04d 100644 --- a/include/task.h +++ b/include/task.h @@ -3,20 +3,23 @@ #include "global.h" +#define HEAD_SENTINEL 0xFE +#define TAIL_SENTINEL 0xFF + #define NUM_TASKS 16 -#define TASK_NONE 0xFF +#define NUM_TASK_DATA 16 typedef void (*TaskFunc)(u8 taskId); struct Task { - /*0x00*/ TaskFunc func; - /*0x04*/ bool8 isActive; - /*0x05*/ u8 prev; - /*0x06*/ u8 next; - /*0x07*/ u8 priority; - /*0x08*/ s16 data[16]; -}; /*size = 0x28*/ + TaskFunc func; + bool8 isActive; + u8 prev; + u8 next; + u8 priority; + s16 data[NUM_TASK_DATA]; +}; extern struct Task gTasks[]; diff --git a/include/trainer_see.h b/include/trainer_see.h index 511edf404..65d4a9efe 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -3,8 +3,12 @@ #include "global.h" -void sub_80B4578(struct ObjectEvent *); -u8 sub_80B47BC(void); -void sub_8155D78(struct ObjectEvent *); +bool8 CheckForTrainersWantingBattle(void); +void MovementAction_RevealTrainer_RunTrainerSeeFuncList(struct ObjectEvent *var); +u8 FldEff_ExclamationMarkIcon1(void); +u8 FldEff_DoubleExclMarkIcon(void); +u8 FldEff_XIcon(void); +u8 FldEff_SmileyFaceIcon(void); +u8 FldEff_QuestionMarkIcon(void); #endif //GUARD_TRAINER_SEE_H |