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 | 
