summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--charmap.txt2
-rw-r--r--data/event_scripts.s2
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_1F/map.json2
-rw-r--r--data/scripts/mystery_event_club.inc170
-rw-r--r--data/scripts/profile_man.inc170
-rw-r--r--gflib/string_util.c4
-rw-r--r--gflib/text.c8
-rw-r--r--gflib/text.h2
-rwxr-xr-xinclude/constants/event_object_movement.h73
-rw-r--r--src/battle_controller_player.c2
-rw-r--r--src/cable_car.c13
-rwxr-xr-xsrc/data/object_events/object_event_anims.h470
-rw-r--r--src/event_object_movement.c276
-rw-r--r--src/field_effect.c4
-rw-r--r--src/field_player_avatar.c2
-rw-r--r--src/pokemon.c25
-rw-r--r--src/strings.c22
-rw-r--r--src/unk_text_util_2.c2
18 files changed, 664 insertions, 585 deletions
diff --git a/charmap.txt b/charmap.txt
index 84e1496f0..1bca4e4f4 100644
--- a/charmap.txt
+++ b/charmap.txt
@@ -414,7 +414,7 @@ HIGHLIGHT = FC 02 @ same as fc 01
SHADOW = FC 03 @ same as fc 01
COLOR_HIGHLIGHT_SHADOW = FC 04 @ takes 3 bytes
PALETTE = FC 05 @ used in credits
-SIZE = FC 06 @ note that anything other than "SMALL" is invalid
+FONT = FC 06 @ valid values are 0, 1, 2, 6 (braille), 7 and 8
RESET_SIZE = FC 07
PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them
PAUSE_UNTIL_PRESS = FC 09
diff --git a/data/event_scripts.s b/data/event_scripts.s
index a68c339a6..bbf25c93c 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -1026,7 +1026,7 @@ Common_EventScript_LegendaryFlewAway::
.include "data/scripts/mauville_man.inc"
.include "data/scripts/field_move_scripts.inc"
.include "data/scripts/item_ball_scripts.inc"
- .include "data/scripts/mystery_event_club.inc"
+ .include "data/scripts/profile_man.inc"
.include "data/scripts/day_care.inc"
.include "data/scripts/flash.inc"
.include "data/scripts/players_house.inc"
diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/map.json b/data/maps/PetalburgCity_PokemonCenter_1F/map.json
index 1fd6e972b..875c53c2b 100644
--- a/data/maps/PetalburgCity_PokemonCenter_1F/map.json
+++ b/data/maps/PetalburgCity_PokemonCenter_1F/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MysteryEventClub_EventScript_Man",
+ "script": "ProfileMan_EventScript_Man",
"flag": "0"
},
{
diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc
deleted file mode 100644
index f0cb55998..000000000
--- a/data/scripts/mystery_event_club.inc
+++ /dev/null
@@ -1,170 +0,0 @@
-MysteryEventClub_EventScript_Man::
- lock
- faceplayer
- goto_if_set FLAG_SYS_CHAT_USED, MysteryEventClub_EventScript_GivenProfileBefore
- msgbox MysteryEventClub_Text_CollectTrainerProfiles, MSGBOX_DEFAULT
- goto MysteryEventClub_EventScript_AskToSeeProfile
- end
-
-MysteryEventClub_EventScript_AskToSeeProfile::
- msgbox MysteryEventClub_Text_MayISeeYourProfile, MSGBOX_DEFAULT
- multichoice 17, 6, MULTI_YESNOINFO_2, FALSE
- switch VAR_RESULT
- case 0, MysteryEventClub_EventScript_CreateProfile
- case 1, MysteryEventClub_EventScript_DeclineShowProfile
- case 2, MysteryEventClub_EventScript_Info
- case MULTI_B_PRESSED, MysteryEventClub_EventScript_DeclineShowProfile
- end
-
-MysteryEventClub_EventScript_Info::
- msgbox MysteryEventClub_Text_EasyChatExplanation, MSGBOX_DEFAULT
- goto MysteryEventClub_EventScript_AskToSeeProfile
- end
-
-MysteryEventClub_EventScript_CreateProfile::
- msgbox MysteryEventClub_Text_LetsSeeItThen, MSGBOX_DEFAULT
- closemessage
- setvar VAR_0x8004, EASY_CHAT_TYPE_PROFILE
- call Common_ShowEasyChatScreen
- lock
- faceplayer
- compare VAR_RESULT, 0
- goto_if_eq MysteryEventClub_EventScript_CancelShowProfile
- compare VAR_RESULT, 1
- goto_if_eq MysteryEventClub_EventScript_ShowProfile
- end
-
-MysteryEventClub_EventScript_CancelShowProfile::
- msgbox MysteryEventClub_Text_NotIntoItRightNow, MSGBOX_DEFAULT
- release
- end
-
-MysteryEventClub_EventScript_ShowProfile::
- setvar VAR_0x8004, 0
- special ShowEasyChatProfile
- waitmessage
- delay 80
- msgbox MysteryEventClub_Text_FantasticProfile, MSGBOX_DEFAULT
- release
- end
-
-MysteryEventClub_EventScript_DeclineShowProfile::
- msgbox MysteryEventClub_Text_ImagineYouWouldHaveWonderfulProfile, MSGBOX_DEFAULT
- release
- end
-
-MysteryEventClub_EventScript_GivenProfileBefore::
- msgbox MysteryEventClub_Text_YouHaveWonderfulSmile, MSGBOX_DEFAULT
- goto MysteryEventClub_EventScript_AskToSeeNewProfile
- end
-
-MysteryEventClub_EventScript_AskToSeeNewProfile::
- msgbox MysteryEventClub_Text_MayISeeYourNewProfile, MSGBOX_DEFAULT
- multichoice 17, 6, MULTI_YESNOINFO_2, FALSE
- switch VAR_RESULT
- case 0, MysteryEventClub_EventScript_CreateNewProfile
- case 1, MysteryEventClub_EventScript_DeclineNewProfile
- case 2, MysteryEventClub_EventScript_InfoNewProfile
- case MULTI_B_PRESSED, MysteryEventClub_EventScript_DeclineNewProfile
- end
-
-MysteryEventClub_EventScript_InfoNewProfile::
- msgbox MysteryEventClub_Text_EasyChatExplanation, MSGBOX_DEFAULT
- goto MysteryEventClub_EventScript_AskToSeeNewProfile
- end
-
-MysteryEventClub_EventScript_CreateNewProfile::
- msgbox MysteryEventClub_Text_EvenBetterThanLastProfile, MSGBOX_DEFAULT
- closemessage
- setvar VAR_0x8004, EASY_CHAT_TYPE_PROFILE
- call Common_ShowEasyChatScreen
- lock
- faceplayer
- compare VAR_RESULT, 0
- goto_if_eq MysteryEventClub_EventScript_CancelShowProfile
- compare VAR_RESULT, 1
- goto_if_eq MysteryEventClub_EventScript_ShowProfile
- end
-
-MysteryEventClub_EventScript_DeclineNewProfile::
- msgbox MysteryEventClub_Text_LikeProfileWayItIs, MSGBOX_DEFAULT
- release
- end
-
-@ Unused
-MysteryEventClub_EventScript_Ret::
- return
-
-MysteryEventClub_Text_CollectTrainerProfiles:
- .string "Hello there, TRAINER!\n"
- .string "You've got a wonderful smile, there.\p"
- .string "I have a hobby--collecting the profiles\n"
- .string "of POKéMON TRAINERS.$"
-
-MysteryEventClub_Text_MayISeeYourProfile:
- .string "So, how about it?\n"
- .string "May I see your profile?$"
-
-MysteryEventClub_Text_EasyChatExplanation:
- .string "You make your own profile by putting\n"
- .string "together four words or phrases.\p"
- .string "Here, I'll show you an example of a\n"
- .string "profile using four pieces of text.\p"
- .string "You can switch those four pieces with\n"
- .string "other text pieces any which way you\l"
- .string "like to make your own profile.\p"
- .string "There are a lot of text pieces that\n"
- .string "you can use.\p"
- .string "They are arranged in groups like\n"
- .string "POKéMON, lifestyles, and hobbies so\l"
- .string "it is easier to look them up.\p"
- .string "So, first, choose the group of text\n"
- .string "pieces to display a list of choices.\p"
- .string "Then, pick the choice you want.\p"
- .string "Repeat for the remaining text choices,\n"
- .string "and you'll have your very own profile.$"
-
-MysteryEventClub_Text_LetsSeeItThen:
- .string "Yes! Thank you!\n"
- .string "So, let's see it, then.$"
-
-MysteryEventClub_Text_ImagineYouWouldHaveWonderfulProfile:
- .string "Oh, no, really?\p"
- .string "I imagine someone like you would have\n"
- .string "a wonderful profile…$"
-
-MysteryEventClub_Text_NotIntoItRightNow:
- .string "Oh? You're not into it right now?\p"
- .string "Well, anytime is good by me!$"
-
-MysteryEventClub_Text_YouHaveWonderfulSmile:
- .string "Hello there, TRAINER!\n"
- .string "You've got a wonderful smile.$"
-
-MysteryEventClub_Text_MayISeeYourNewProfile:
- .string "May I see your new profile?$"
-
-MysteryEventClub_Text_EvenBetterThanLastProfile:
- .string "Yes! Thank you!\p"
- .string "I hope it's even better than the profile\n"
- .string "you showed me before.$"
-
-MysteryEventClub_Text_LikeProfileWayItIs:
- .string "Oh, you like your profile the way it is.\p"
- .string "I don't blame you--it's a wonderful\n"
- .string "profile the way it is now.$"
-
-MysteryEventClub_Text_FantasticProfile:
- .string "F-fantastic!\p"
- .string "Your profile, it's wonderful!\n"
- .string "It really says what you're about.\p"
- .string "Why, anyone hearing this profile would\n"
- .string "be captivated by you!\p"
- .string "Thank you!$"
-
-@ Unused
-MysteryEventClub_Text_YouKnowSecretSaying:
- .string "Oh?\n"
- .string "You know the secret saying!\p"
- .string "That means you're now a fellow member\n"
- .string "of the MYSTERY EVENT CLUB!$"
diff --git a/data/scripts/profile_man.inc b/data/scripts/profile_man.inc
new file mode 100644
index 000000000..2c5b16122
--- /dev/null
+++ b/data/scripts/profile_man.inc
@@ -0,0 +1,170 @@
+ProfileMan_EventScript_Man::
+ lock
+ faceplayer
+ goto_if_set FLAG_SYS_CHAT_USED, ProfileMan_EventScript_GivenProfileBefore
+ msgbox ProfileMan_Text_CollectTrainerProfiles, MSGBOX_DEFAULT
+ goto ProfileMan_EventScript_AskToSeeProfile
+ end
+
+ProfileMan_EventScript_AskToSeeProfile::
+ msgbox ProfileMan_Text_MayISeeYourProfile, MSGBOX_DEFAULT
+ multichoice 17, 6, MULTI_YESNOINFO_2, FALSE
+ switch VAR_RESULT
+ case 0, ProfileMan_EventScript_CreateProfile
+ case 1, ProfileMan_EventScript_DeclineShowProfile
+ case 2, ProfileMan_EventScript_Info
+ case MULTI_B_PRESSED, ProfileMan_EventScript_DeclineShowProfile
+ end
+
+ProfileMan_EventScript_Info::
+ msgbox ProfileMan_Text_EasyChatExplanation, MSGBOX_DEFAULT
+ goto ProfileMan_EventScript_AskToSeeProfile
+ end
+
+ProfileMan_EventScript_CreateProfile::
+ msgbox ProfileMan_Text_LetsSeeItThen, MSGBOX_DEFAULT
+ closemessage
+ setvar VAR_0x8004, EASY_CHAT_TYPE_PROFILE
+ call Common_ShowEasyChatScreen
+ lock
+ faceplayer
+ compare VAR_RESULT, 0
+ goto_if_eq ProfileMan_EventScript_CancelShowProfile
+ compare VAR_RESULT, 1
+ goto_if_eq ProfileMan_EventScript_ShowProfile
+ end
+
+ProfileMan_EventScript_CancelShowProfile::
+ msgbox ProfileMan_Text_NotIntoItRightNow, MSGBOX_DEFAULT
+ release
+ end
+
+ProfileMan_EventScript_ShowProfile::
+ setvar VAR_0x8004, 0
+ special ShowEasyChatProfile
+ waitmessage
+ delay 80
+ msgbox ProfileMan_Text_FantasticProfile, MSGBOX_DEFAULT
+ release
+ end
+
+ProfileMan_EventScript_DeclineShowProfile::
+ msgbox ProfileMan_Text_ImagineYouWouldHaveWonderfulProfile, MSGBOX_DEFAULT
+ release
+ end
+
+ProfileMan_EventScript_GivenProfileBefore::
+ msgbox ProfileMan_Text_YouHaveWonderfulSmile, MSGBOX_DEFAULT
+ goto ProfileMan_EventScript_AskToSeeNewProfile
+ end
+
+ProfileMan_EventScript_AskToSeeNewProfile::
+ msgbox ProfileMan_Text_MayISeeYourNewProfile, MSGBOX_DEFAULT
+ multichoice 17, 6, MULTI_YESNOINFO_2, FALSE
+ switch VAR_RESULT
+ case 0, ProfileMan_EventScript_CreateNewProfile
+ case 1, ProfileMan_EventScript_DeclineNewProfile
+ case 2, ProfileMan_EventScript_InfoNewProfile
+ case MULTI_B_PRESSED, ProfileMan_EventScript_DeclineNewProfile
+ end
+
+ProfileMan_EventScript_InfoNewProfile::
+ msgbox ProfileMan_Text_EasyChatExplanation, MSGBOX_DEFAULT
+ goto ProfileMan_EventScript_AskToSeeNewProfile
+ end
+
+ProfileMan_EventScript_CreateNewProfile::
+ msgbox ProfileMan_Text_EvenBetterThanLastProfile, MSGBOX_DEFAULT
+ closemessage
+ setvar VAR_0x8004, EASY_CHAT_TYPE_PROFILE
+ call Common_ShowEasyChatScreen
+ lock
+ faceplayer
+ compare VAR_RESULT, 0
+ goto_if_eq ProfileMan_EventScript_CancelShowProfile
+ compare VAR_RESULT, 1
+ goto_if_eq ProfileMan_EventScript_ShowProfile
+ end
+
+ProfileMan_EventScript_DeclineNewProfile::
+ msgbox ProfileMan_Text_LikeProfileWayItIs, MSGBOX_DEFAULT
+ release
+ end
+
+@ Unused
+ProfileMan_EventScript_Ret::
+ return
+
+ProfileMan_Text_CollectTrainerProfiles:
+ .string "Hello there, TRAINER!\n"
+ .string "You've got a wonderful smile, there.\p"
+ .string "I have a hobby--collecting the profiles\n"
+ .string "of POKéMON TRAINERS.$"
+
+ProfileMan_Text_MayISeeYourProfile:
+ .string "So, how about it?\n"
+ .string "May I see your profile?$"
+
+ProfileMan_Text_EasyChatExplanation:
+ .string "You make your own profile by putting\n"
+ .string "together four words or phrases.\p"
+ .string "Here, I'll show you an example of a\n"
+ .string "profile using four pieces of text.\p"
+ .string "You can switch those four pieces with\n"
+ .string "other text pieces any which way you\l"
+ .string "like to make your own profile.\p"
+ .string "There are a lot of text pieces that\n"
+ .string "you can use.\p"
+ .string "They are arranged in groups like\n"
+ .string "POKéMON, lifestyles, and hobbies so\l"
+ .string "it is easier to look them up.\p"
+ .string "So, first, choose the group of text\n"
+ .string "pieces to display a list of choices.\p"
+ .string "Then, pick the choice you want.\p"
+ .string "Repeat for the remaining text choices,\n"
+ .string "and you'll have your very own profile.$"
+
+ProfileMan_Text_LetsSeeItThen:
+ .string "Yes! Thank you!\n"
+ .string "So, let's see it, then.$"
+
+ProfileMan_Text_ImagineYouWouldHaveWonderfulProfile:
+ .string "Oh, no, really?\p"
+ .string "I imagine someone like you would have\n"
+ .string "a wonderful profile…$"
+
+ProfileMan_Text_NotIntoItRightNow:
+ .string "Oh? You're not into it right now?\p"
+ .string "Well, anytime is good by me!$"
+
+ProfileMan_Text_YouHaveWonderfulSmile:
+ .string "Hello there, TRAINER!\n"
+ .string "You've got a wonderful smile.$"
+
+ProfileMan_Text_MayISeeYourNewProfile:
+ .string "May I see your new profile?$"
+
+ProfileMan_Text_EvenBetterThanLastProfile:
+ .string "Yes! Thank you!\p"
+ .string "I hope it's even better than the profile\n"
+ .string "you showed me before.$"
+
+ProfileMan_Text_LikeProfileWayItIs:
+ .string "Oh, you like your profile the way it is.\p"
+ .string "I don't blame you--it's a wonderful\n"
+ .string "profile the way it is now.$"
+
+ProfileMan_Text_FantasticProfile:
+ .string "F-fantastic!\p"
+ .string "Your profile, it's wonderful!\n"
+ .string "It really says what you're about.\p"
+ .string "Why, anyone hearing this profile would\n"
+ .string "be captivated by you!\p"
+ .string "Thank you!$"
+
+@ Unused
+ProfileMan_Text_YouKnowSecretSaying:
+ .string "Oh?\n"
+ .string "You know the secret saying!\p"
+ .string "That means you're now a fellow member\n"
+ .string "of the MYSTERY EVENT CLUB!$"
diff --git a/gflib/string_util.c b/gflib/string_util.c
index b7485184a..4bf0d2ae9 100644
--- a/gflib/string_util.c
+++ b/gflib/string_util.c
@@ -386,7 +386,7 @@ u8 *StringBraille(u8 *dest, const u8 *src)
{
const u8 setBrailleFont[] = {
EXT_CTRL_CODE_BEGIN,
- EXT_CTRL_CODE_SIZE,
+ EXT_CTRL_CODE_FONT,
6,
EOS
};
@@ -664,7 +664,7 @@ u8 GetExtCtrlCodeLength(u8 code)
[EXT_CTRL_CODE_SHADOW] = 2,
[EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW] = 4,
[EXT_CTRL_CODE_PALETTE] = 2,
- [EXT_CTRL_CODE_SIZE] = 2,
+ [EXT_CTRL_CODE_FONT] = 2,
[EXT_CTRL_CODE_RESET_SIZE] = 1,
[EXT_CTRL_CODE_PAUSE] = 2,
[EXT_CTRL_CODE_PAUSE_UNTIL_PRESS] = 1,
diff --git a/gflib/text.c b/gflib/text.c
index eb993c421..e3043230b 100644
--- a/gflib/text.c
+++ b/gflib/text.c
@@ -906,7 +906,7 @@ u16 RenderText(struct TextPrinter *textPrinter)
case EXT_CTRL_CODE_PALETTE:
textPrinter->printerTemplate.currentChar++;
return 2;
- case EXT_CTRL_CODE_SIZE:
+ case EXT_CTRL_CODE_FONT:
subStruct->glyphId = *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
return 2;
@@ -1170,7 +1170,7 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
case EXT_CTRL_CODE_HIGHLIGHT:
case EXT_CTRL_CODE_SHADOW:
case EXT_CTRL_CODE_PALETTE:
- case EXT_CTRL_CODE_SIZE:
+ case EXT_CTRL_CODE_FONT:
case EXT_CTRL_CODE_PAUSE:
case EXT_CTRL_CODE_ESCAPE:
case EXT_CTRL_CODE_SHIFT_TEXT:
@@ -1319,7 +1319,7 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
case EXT_CTRL_CODE_SHIFT_DOWN:
++str;
break;
- case EXT_CTRL_CODE_SIZE:
+ case EXT_CTRL_CODE_FONT:
func = GetFontWidthFunc(*++str);
if (func == NULL)
return 0;
@@ -1449,7 +1449,7 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
shadowColor = strLocal[strPos++];
GenerateFontHalfRowLookupTable(fgColor, bgColor, shadowColor);
continue;
- case EXT_CTRL_CODE_SIZE:
+ case EXT_CTRL_CODE_FONT:
fontId = strLocal[strPos++];
break;
case EXT_CTRL_CODE_PLAY_BGM:
diff --git a/gflib/text.h b/gflib/text.h
index ee3dfa34c..9bb07580e 100644
--- a/gflib/text.h
+++ b/gflib/text.h
@@ -211,7 +211,7 @@
#define EXT_CTRL_CODE_SHADOW 0x03
#define EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW 0x04
#define EXT_CTRL_CODE_PALETTE 0x05
-#define EXT_CTRL_CODE_SIZE 0x06
+#define EXT_CTRL_CODE_FONT 0x06
#define EXT_CTRL_CODE_RESET_SIZE 0x07
#define EXT_CTRL_CODE_PAUSE 0x08
#define EXT_CTRL_CODE_PAUSE_UNTIL_PRESS 0x09
diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h
index 13e91c415..4ffb869e4 100755
--- a/include/constants/event_object_movement.h
+++ b/include/constants/event_object_movement.h
@@ -245,4 +245,77 @@
#define MOVEMENT_ACTION_STEP_END 0xFE
#define MOVEMENT_ACTION_NONE 0xFF
+#define ANIM_STD_FACE_SOUTH 0
+#define ANIM_STD_FACE_NORTH 1
+#define ANIM_STD_FACE_WEST 2
+#define ANIM_STD_FACE_EAST 3
+#define ANIM_STD_GO_SOUTH 4
+#define ANIM_STD_GO_NORTH 5
+#define ANIM_STD_GO_WEST 6
+#define ANIM_STD_GO_EAST 7
+#define ANIM_STD_GO_FAST_SOUTH 8
+#define ANIM_STD_GO_FAST_NORTH 9
+#define ANIM_STD_GO_FAST_WEST 10
+#define ANIM_STD_GO_FAST_EAST 11
+#define ANIM_STD_GO_FASTER_SOUTH 12
+#define ANIM_STD_GO_FASTER_NORTH 13
+#define ANIM_STD_GO_FASTER_WEST 14
+#define ANIM_STD_GO_FASTER_EAST 15
+#define ANIM_STD_GO_FASTEST_SOUTH 16
+#define ANIM_STD_GO_FASTEST_NORTH 17
+#define ANIM_STD_GO_FASTEST_WEST 18
+#define ANIM_STD_GO_FASTEST_EAST 19
+#define ANIM_STD_COUNT 20
+
+#define ANIM_RUN_SOUTH (ANIM_STD_COUNT + 0)
+#define ANIM_RUN_NORTH (ANIM_STD_COUNT + 1)
+#define ANIM_RUN_WEST (ANIM_STD_COUNT + 2)
+#define ANIM_RUN_EAST (ANIM_STD_COUNT + 3)
+
+#define ANIM_BUNNY_HOPPY_BACK_WHEEL_SOUTH (ANIM_STD_COUNT + 0)
+#define ANIM_BUNNY_HOPPY_BACK_WHEEL_NORTH (ANIM_STD_COUNT + 1)
+#define ANIM_BUNNY_HOPPY_BACK_WHEEL_WEST (ANIM_STD_COUNT + 2)
+#define ANIM_BUNNY_HOPPY_BACK_WHEEL_EAST (ANIM_STD_COUNT + 3)
+#define ANIM_BUNNY_HOPPY_FRONT_WHEEL_SOUTH (ANIM_STD_COUNT + 4)
+#define ANIM_BUNNY_HOPPY_FRONT_WHEEL_NORTH (ANIM_STD_COUNT + 5)
+#define ANIM_BUNNY_HOPPY_FRONT_WHEEL_WEST (ANIM_STD_COUNT + 6)
+#define ANIM_BUNNY_HOPPY_FRONT_WHEEL_EAST (ANIM_STD_COUNT + 7)
+#define ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH (ANIM_STD_COUNT + 8)
+#define ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH (ANIM_STD_COUNT + 9)
+#define ANIM_STANDING_WHEELIE_BACK_WHEEL_WEST (ANIM_STD_COUNT + 10)
+#define ANIM_STANDING_WHEELIE_BACK_WHEEL_EAST (ANIM_STD_COUNT + 11)
+#define ANIM_STANDING_WHEELIE_FRONT_WHEEL_SOUTH (ANIM_STD_COUNT + 12)
+#define ANIM_STANDING_WHEELIE_FRONT_WHEEL_NORTH (ANIM_STD_COUNT + 13)
+#define ANIM_STANDING_WHEELIE_FRONT_WHEEL_WEST (ANIM_STD_COUNT + 14)
+#define ANIM_STANDING_WHEELIE_FRONT_WHEEL_EAST (ANIM_STD_COUNT + 15)
+#define ANIM_MOVING_WHEELIE_SOUTH (ANIM_STD_COUNT + 16)
+#define ANIM_MOVING_WHEELIE_NORTH (ANIM_STD_COUNT + 17)
+#define ANIM_MOVING_WHEELIE_WEST (ANIM_STD_COUNT + 18)
+#define ANIM_MOVING_WHEELIE_EAST (ANIM_STD_COUNT + 19)
+
+#define ANIM_GET_ON_OFF_POKEMON_SOUTH (ANIM_STD_COUNT + 0)
+#define ANIM_GET_ON_OFF_POKEMON_NORTH (ANIM_STD_COUNT + 1)
+#define ANIM_GET_ON_OFF_POKEMON_WEST (ANIM_STD_COUNT + 2)
+#define ANIM_GET_ON_OFF_POKEMON_EAST (ANIM_STD_COUNT + 3)
+
+#define ANIM_NURSE_BOW (ANIM_STD_COUNT + 0)
+
+#define ANIM_FIELD_MOVE 0
+
+#define ANIM_STAY_STILL 0
+#define ANIM_REMOVE_OBSTACLE 1
+
+#define ANIM_TAKE_OUT_ROD_SOUTH 0
+#define ANIM_TAKE_OUT_ROD_NORTH 1
+#define ANIM_TAKE_OUT_ROD_WEST 2
+#define ANIM_TAKE_OUT_ROD_EAST 3
+#define ANIM_PUT_AWAY_ROD_SOUTH 4
+#define ANIM_PUT_AWAY_ROD_NORTH 5
+#define ANIM_PUT_AWAY_ROD_WEST 6
+#define ANIM_PUT_AWAY_ROD_EAST 7
+#define ANIM_HOOKED_POKEMON_SOUTH 8
+#define ANIM_HOOKED_POKEMON_NORTH 9
+#define ANIM_HOOKED_POKEMON_WEST 10
+#define ANIM_HOOKED_POKEMON_EAST 11
+
#endif // GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index ac8babb60..f4e47b434 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -1500,7 +1500,7 @@ static void MoveSelectionDisplayMoveType(void)
txtPtr = StringCopy(gDisplayedStringBattle, gText_MoveInterfaceType);
*(txtPtr)++ = EXT_CTRL_CODE_BEGIN;
- *(txtPtr)++ = EXT_CTRL_CODE_SIZE;
+ *(txtPtr)++ = EXT_CTRL_CODE_FONT;
*(txtPtr)++ = 1;
StringCopy(txtPtr, gTypeNames[gBattleMoves[moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]].type]);
diff --git a/src/cable_car.c b/src/cable_car.c
index 39154cd1d..c3e6564f8 100644
--- a/src/cable_car.c
+++ b/src/cable_car.c
@@ -17,6 +17,7 @@
#include "sound.h"
#include "sprite.h"
#include "task.h"
+#include "constants/event_object_movement.h"
#include "constants/event_objects.h"
#include "constants/rgb.h"
#include "constants/songs.h"
@@ -902,15 +903,13 @@ static void CreateCableCarSprites(void)
{
if (rval % 2)
{
- // Do walking west anim
- StartSpriteAnim(&gSprites[spriteId], 6);
+ StartSpriteAnim(&gSprites[spriteId], ANIM_STD_GO_WEST);
gSprites[spriteId].sSameDir = TRUE;
gSprites[spriteId].y += 2;
}
else
{
- // Do walking east anim
- StartSpriteAnim(&gSprites[spriteId], 7);
+ StartSpriteAnim(&gSprites[spriteId], ANIM_STD_GO_EAST);
gSprites[spriteId].sSameDir = FALSE;
}
}
@@ -918,15 +917,13 @@ static void CreateCableCarSprites(void)
{
if (rval % 2)
{
- // Do walking east anim
- StartSpriteAnim(&gSprites[spriteId], 7);
+ StartSpriteAnim(&gSprites[spriteId], ANIM_STD_GO_EAST);
gSprites[spriteId].sSameDir = TRUE;
gSprites[spriteId].y += 2;
}
else
{
- // Do walking west anim
- StartSpriteAnim(&gSprites[spriteId], 6);
+ StartSpriteAnim(&gSprites[spriteId], ANIM_STD_GO_WEST);
gSprites[spriteId].sSameDir = FALSE;
}
}
diff --git a/src/data/object_events/object_event_anims.h b/src/data/object_events/object_event_anims.h
index a66d634b0..a5fb41462 100755
--- a/src/data/object_events/object_event_anims.h
+++ b/src/data/object_events/object_event_anims.h
@@ -796,99 +796,100 @@ static const union AnimCmd sAnim_HoOhStayStill[] =
};
static const union AnimCmd *const sAnimTable_Inanimate[] = {
- sAnim_StayStill,
+ [ANIM_STAY_STILL] = sAnim_StayStill,
};
static const union AnimCmd *const sAnimTable_QuintyPlump[] = {
- sAnim_QuintyPlumpFaceSouth,
- sAnim_QuintyPlumpFaceNorth,
- sAnim_QuintyPlumpFaceWest,
- sAnim_QuintyPlumpFaceEast,
- sAnim_QuintyPlumpGoSouth,
- sAnim_QuintyPlumpGoNorth,
- sAnim_QuintyPlumpGoWest,
- sAnim_QuintyPlumpGoEast,
- sAnim_QuintyPlumpGoFastSouth,
- sAnim_QuintyPlumpGoFastNorth,
- sAnim_QuintyPlumpGoFastWest,
- sAnim_QuintyPlumpGoFastEast,
- sAnim_QuintyPlumpGoFasterSouth,
- sAnim_QuintyPlumpGoFasterNorth,
- sAnim_QuintyPlumpGoFasterWest,
- sAnim_QuintyPlumpGoFasterEast,
- sAnim_QuintyPlumpGoFastestSouth,
- sAnim_QuintyPlumpGoFastestNorth,
- sAnim_QuintyPlumpGoFastestWest,
- sAnim_QuintyPlumpGoFastestEast,
+ [ANIM_STD_FACE_SOUTH] = sAnim_QuintyPlumpFaceSouth,
+ [ANIM_STD_FACE_NORTH] = sAnim_QuintyPlumpFaceNorth,
+ [ANIM_STD_FACE_WEST] = sAnim_QuintyPlumpFaceWest,
+ [ANIM_STD_FACE_EAST] = sAnim_QuintyPlumpFaceEast,
+ [ANIM_STD_GO_SOUTH] = sAnim_QuintyPlumpGoSouth,
+ [ANIM_STD_GO_NORTH] = sAnim_QuintyPlumpGoNorth,
+ [ANIM_STD_GO_WEST] = sAnim_QuintyPlumpGoWest,
+ [ANIM_STD_GO_EAST] = sAnim_QuintyPlumpGoEast,
+ [ANIM_STD_GO_FAST_SOUTH] = sAnim_QuintyPlumpGoFastSouth,
+ [ANIM_STD_GO_FAST_NORTH] = sAnim_QuintyPlumpGoFastNorth,
+ [ANIM_STD_GO_FAST_WEST] = sAnim_QuintyPlumpGoFastWest,
+ [ANIM_STD_GO_FAST_EAST] = sAnim_QuintyPlumpGoFastEast,
+ [ANIM_STD_GO_FASTER_SOUTH] = sAnim_QuintyPlumpGoFasterSouth,
+ [ANIM_STD_GO_FASTER_NORTH] = sAnim_QuintyPlumpGoFasterNorth,
+ [ANIM_STD_GO_FASTER_WEST] = sAnim_QuintyPlumpGoFasterWest,
+ [ANIM_STD_GO_FASTER_EAST] = sAnim_QuintyPlumpGoFasterEast,
+ [ANIM_STD_GO_FASTEST_SOUTH] = sAnim_QuintyPlumpGoFastestSouth,
+ [ANIM_STD_GO_FASTEST_NORTH] = sAnim_QuintyPlumpGoFastestNorth,
+ [ANIM_STD_GO_FASTEST_WEST] = sAnim_QuintyPlumpGoFastestWest,
+ [ANIM_STD_GO_FASTEST_EAST] = sAnim_QuintyPlumpGoFastestEast,
};
static const union AnimCmd *const sAnimTable_Standard[] = {
- sAnim_FaceSouth,
- sAnim_FaceNorth,
- sAnim_FaceWest,
- sAnim_FaceEast,
- sAnim_GoSouth,
- sAnim_GoNorth,
- sAnim_GoWest,
- sAnim_GoEast,
- sAnim_GoFastSouth,
- sAnim_GoFastNorth,
- sAnim_GoFastWest,
- sAnim_GoFastEast,
- sAnim_GoFasterSouth,
- sAnim_GoFasterNorth,
- sAnim_GoFasterWest,
- sAnim_GoFasterEast,
- sAnim_GoFastestSouth,
- sAnim_GoFastestNorth,
- sAnim_GoFastestWest,
- sAnim_GoFastestEast,
+ [ANIM_STD_FACE_SOUTH] = sAnim_FaceSouth,
+ [ANIM_STD_FACE_NORTH] = sAnim_FaceNorth,
+ [ANIM_STD_FACE_WEST] = sAnim_FaceWest,
+ [ANIM_STD_FACE_EAST] = sAnim_FaceEast,
+ [ANIM_STD_GO_SOUTH] = sAnim_GoSouth,
+ [ANIM_STD_GO_NORTH] = sAnim_GoNorth,
+ [ANIM_STD_GO_WEST] = sAnim_GoWest,
+ [ANIM_STD_GO_EAST] = sAnim_GoEast,
+ [ANIM_STD_GO_FAST_SOUTH] = sAnim_GoFastSouth,
+ [ANIM_STD_GO_FAST_NORTH] = sAnim_GoFastNorth,
+ [ANIM_STD_GO_FAST_WEST] = sAnim_GoFastWest,
+ [ANIM_STD_GO_FAST_EAST] = sAnim_GoFastEast,
+ [ANIM_STD_GO_FASTER_SOUTH] = sAnim_GoFasterSouth,
+ [ANIM_STD_GO_FASTER_NORTH] = sAnim_GoFasterNorth,
+ [ANIM_STD_GO_FASTER_WEST] = sAnim_GoFasterWest,
+ [ANIM_STD_GO_FASTER_EAST] = sAnim_GoFasterEast,
+ [ANIM_STD_GO_FASTEST_SOUTH] = sAnim_GoFastestSouth,
+ [ANIM_STD_GO_FASTEST_NORTH] = sAnim_GoFastestNorth,
+ [ANIM_STD_GO_FASTEST_WEST] = sAnim_GoFastestWest,
+ [ANIM_STD_GO_FASTEST_EAST] = sAnim_GoFastestEast,
};
static const union AnimCmd *const sAnimTable_HoOh[] = {
- sAnim_FaceSouth,
- sAnim_FaceNorth,
- sAnim_FaceWest,
- sAnim_FaceEast,
- sAnim_HoOhFlapWings,
- sAnim_HoOhStayStill,
- sAnim_GoWest,
- sAnim_GoEast,
- sAnim_GoFastSouth,
- sAnim_GoFastNorth,
- sAnim_GoFastWest,
- sAnim_GoFastEast,
- sAnim_GoFasterSouth,
- sAnim_GoFasterNorth,
- sAnim_GoFasterWest,
- sAnim_GoFasterEast,
- sAnim_GoFastestSouth,
- sAnim_GoFastestNorth,
- sAnim_GoFastestWest,
- sAnim_GoFastestEast,
-};
-
+ [ANIM_STD_FACE_SOUTH] = sAnim_FaceSouth,
+ [ANIM_STD_FACE_NORTH] = sAnim_FaceNorth,
+ [ANIM_STD_FACE_WEST] = sAnim_FaceWest,
+ [ANIM_STD_FACE_EAST] = sAnim_FaceEast,
+ [ANIM_STD_GO_SOUTH] = sAnim_HoOhFlapWings,
+ [ANIM_STD_GO_NORTH] = sAnim_HoOhStayStill,
+ [ANIM_STD_GO_WEST] = sAnim_GoWest,
+ [ANIM_STD_GO_EAST] = sAnim_GoEast,
+ [ANIM_STD_GO_FAST_SOUTH] = sAnim_GoFastSouth,
+ [ANIM_STD_GO_FAST_NORTH] = sAnim_GoFastNorth,
+ [ANIM_STD_GO_FAST_WEST] = sAnim_GoFastWest,
+ [ANIM_STD_GO_FAST_EAST] = sAnim_GoFastEast,
+ [ANIM_STD_GO_FASTER_SOUTH] = sAnim_GoFasterSouth,
+ [ANIM_STD_GO_FASTER_NORTH] = sAnim_GoFasterNorth,
+ [ANIM_STD_GO_FASTER_WEST] = sAnim_GoFasterWest,
+ [ANIM_STD_GO_FASTER_EAST] = sAnim_GoFasterEast,
+ [ANIM_STD_GO_FASTEST_SOUTH] = sAnim_GoFastestSouth,
+ [ANIM_STD_GO_FASTEST_NORTH] = sAnim_GoFastestNorth,
+ [ANIM_STD_GO_FASTEST_WEST] = sAnim_GoFastestWest,
+ [ANIM_STD_GO_FASTEST_EAST] = sAnim_GoFastestEast,
+};
+
+// The movements for going up use the animations for going right instead.
static const union AnimCmd *const sAnimTable_GroudonSide[] = {
- sAnim_FaceSouth,
- sAnim_FaceNorth,
- sAnim_FaceWest,
- sAnim_FaceEast,
- sAnim_GoSouth,
- sAnim_GoEast,
- sAnim_GoWest,
- sAnim_GoEast,
- sAnim_GoFastSouth,
- sAnim_GoFastEast,
- sAnim_GoFastWest,
- sAnim_GoFastEast,
- sAnim_GoFasterSouth,
- sAnim_GoFasterEast,
- sAnim_GoFasterWest,
- sAnim_GoFasterEast,
- sAnim_GoFastestSouth,
- sAnim_GoFastestEast,
- sAnim_GoFastestWest,
- sAnim_GoFastestEast,
+ [ANIM_STD_FACE_SOUTH] = sAnim_FaceSouth,
+ [ANIM_STD_FACE_NORTH] = sAnim_FaceNorth,
+ [ANIM_STD_FACE_WEST] = sAnim_FaceWest,
+ [ANIM_STD_FACE_EAST] = sAnim_FaceEast,
+ [ANIM_STD_GO_SOUTH] = sAnim_GoSouth,
+ [ANIM_STD_GO_NORTH] = sAnim_GoEast,
+ [ANIM_STD_GO_WEST] = sAnim_GoWest,
+ [ANIM_STD_GO_EAST] = sAnim_GoEast,
+ [ANIM_STD_GO_FAST_SOUTH] = sAnim_GoFastSouth,
+ [ANIM_STD_GO_FAST_NORTH] = sAnim_GoFastEast,
+ [ANIM_STD_GO_FAST_WEST] = sAnim_GoFastWest,
+ [ANIM_STD_GO_FAST_EAST] = sAnim_GoFastEast,
+ [ANIM_STD_GO_FASTER_SOUTH] = sAnim_GoFasterSouth,
+ [ANIM_STD_GO_FASTER_NORTH] = sAnim_GoFasterEast,
+ [ANIM_STD_GO_FASTER_WEST] = sAnim_GoFasterWest,
+ [ANIM_STD_GO_FASTER_EAST] = sAnim_GoFasterEast,
+ [ANIM_STD_GO_FASTEST_SOUTH] = sAnim_GoFastestSouth,
+ [ANIM_STD_GO_FASTEST_NORTH] = sAnim_GoFastestEast,
+ [ANIM_STD_GO_FASTEST_WEST] = sAnim_GoFastestWest,
+ [ANIM_STD_GO_FASTEST_EAST] = sAnim_GoFastestEast,
};
static const union AnimCmd sAnim_RayquazaCoiledAwake[] =
@@ -952,186 +953,185 @@ static const union AnimCmd sAnim_RayquazaFaceEast[] =
// Though they correspond to facing/walking movements, Rayquaza doesn't have
// equivalent images aside from flying up. Its other frames aside from the 'normal'
// frame are for the sequence where it awakens on Sky Pillar.
-// The corresponding facing/walking movements are commented alongside
static const union AnimCmd *const sAnimTable_Rayquaza[] = {
- sAnim_RayquazaFaceSouth, // Face South
- sAnim_RayquazaFaceNorth, // Face North
- sAnim_RayquazaFaceWest, // Face West
- sAnim_RayquazaFaceEast, // Face East
- sAnim_RayquazaCoiledAsleep, // Go South
- sAnim_RayquazaFlyUp, // Go North
- sAnim_RayquazaCoiledMouthOpen, // Go West
- sAnim_RayquazaNormal, // Go East
- sAnim_RayquazaCoiledAsleep, // Go fast South
- sAnim_RayquazaFlyUp, // Go fast North
- sAnim_RayquazaCoiledAwake, // Go fast West
- sAnim_RayquazaNormal, // Go fast East
- sAnim_RayquazaCoiledAsleep, // Go faster South
- sAnim_RayquazaFlyUp, // Go faster North
- sAnim_RayquazaCoiledMouthOpen, // Go faster West
- sAnim_RayquazaNormal, // Go faster East
- sAnim_RayquazaCoiledAsleep, // Go fastest South
- sAnim_RayquazaFlyUp, // Go fastest North
- sAnim_RayquazaCoiledMouthOpen, // Go fastest West
- sAnim_RayquazaNormal, // Go fastest East
+ [ANIM_STD_FACE_SOUTH] = sAnim_RayquazaFaceSouth,
+ [ANIM_STD_FACE_NORTH] = sAnim_RayquazaFaceNorth,
+ [ANIM_STD_FACE_WEST] = sAnim_RayquazaFaceWest,
+ [ANIM_STD_FACE_EAST] = sAnim_RayquazaFaceEast,
+ [ANIM_STD_GO_SOUTH] = sAnim_RayquazaCoiledAsleep,
+ [ANIM_STD_GO_NORTH] = sAnim_RayquazaFlyUp,
+ [ANIM_STD_GO_WEST] = sAnim_RayquazaCoiledMouthOpen,
+ [ANIM_STD_GO_EAST] = sAnim_RayquazaNormal,
+ [ANIM_STD_GO_FAST_SOUTH] = sAnim_RayquazaCoiledAsleep,
+ [ANIM_STD_GO_FAST_NORTH] = sAnim_RayquazaFlyUp,
+ [ANIM_STD_GO_FAST_WEST] = sAnim_RayquazaCoiledAwake,
+ [ANIM_STD_GO_FAST_EAST] = sAnim_RayquazaNormal,
+ [ANIM_STD_GO_FASTER_SOUTH] = sAnim_RayquazaCoiledAsleep,
+ [ANIM_STD_GO_FASTER_NORTH] = sAnim_RayquazaFlyUp,
+ [ANIM_STD_GO_FASTER_WEST] = sAnim_RayquazaCoiledMouthOpen,
+ [ANIM_STD_GO_FASTER_EAST] = sAnim_RayquazaNormal,
+ [ANIM_STD_GO_FASTEST_SOUTH] = sAnim_RayquazaCoiledAsleep,
+ [ANIM_STD_GO_FASTEST_NORTH] = sAnim_RayquazaFlyUp,
+ [ANIM_STD_GO_FASTEST_WEST] = sAnim_RayquazaCoiledMouthOpen,
+ [ANIM_STD_GO_FASTEST_EAST] = sAnim_RayquazaNormal,
};
static const union AnimCmd *const sAnimTable_BrendanMayNormal[] = {
- sAnim_FaceSouth,
- sAnim_FaceNorth,
- sAnim_FaceWest,
- sAnim_FaceEast,
- sAnim_GoSouth,
- sAnim_GoNorth,
- sAnim_GoWest,
- sAnim_GoEast,
- sAnim_GoFastSouth,
- sAnim_GoFastNorth,
- sAnim_GoFastWest,
- sAnim_GoFastEast,
- sAnim_GoFasterSouth,
- sAnim_GoFasterNorth,
- sAnim_GoFasterWest,
- sAnim_GoFasterEast,
- sAnim_GoFastestSouth,
- sAnim_GoFastestNorth,
- sAnim_GoFastestWest,
- sAnim_GoFastestEast,
- sAnim_RunSouth,
- sAnim_RunNorth,
- sAnim_RunWest,
- sAnim_RunEast,
+ [ANIM_STD_FACE_SOUTH] = sAnim_FaceSouth,
+ [ANIM_STD_FACE_NORTH] = sAnim_FaceNorth,
+ [ANIM_STD_FACE_WEST] = sAnim_FaceWest,
+ [ANIM_STD_FACE_EAST] = sAnim_FaceEast,
+ [ANIM_STD_GO_SOUTH] = sAnim_GoSouth,
+ [ANIM_STD_GO_NORTH] = sAnim_GoNorth,
+ [ANIM_STD_GO_WEST] = sAnim_GoWest,
+ [ANIM_STD_GO_EAST] = sAnim_GoEast,
+ [ANIM_STD_GO_FAST_SOUTH] = sAnim_GoFastSouth,
+ [ANIM_STD_GO_FAST_NORTH] = sAnim_GoFastNorth,
+ [ANIM_STD_GO_FAST_WEST] = sAnim_GoFastWest,
+ [ANIM_STD_GO_FAST_EAST] = sAnim_GoFastEast,
+ [ANIM_STD_GO_FASTER_SOUTH] = sAnim_GoFasterSouth,
+ [ANIM_STD_GO_FASTER_NORTH] = sAnim_GoFasterNorth,
+ [ANIM_STD_GO_FASTER_WEST] = sAnim_GoFasterWest,
+ [ANIM_STD_GO_FASTER_EAST] = sAnim_GoFasterEast,
+ [ANIM_STD_GO_FASTEST_SOUTH] = sAnim_GoFastestSouth,
+ [ANIM_STD_GO_FASTEST_NORTH] = sAnim_GoFastestNorth,
+ [ANIM_STD_GO_FASTEST_WEST] = sAnim_GoFastestWest,
+ [ANIM_STD_GO_FASTEST_EAST] = sAnim_GoFastestEast,
+ [ANIM_RUN_SOUTH] = sAnim_RunSouth,
+ [ANIM_RUN_NORTH] = sAnim_RunNorth,
+ [ANIM_RUN_WEST] = sAnim_RunWest,
+ [ANIM_RUN_EAST] = sAnim_RunEast,
};
static const union AnimCmd *const sAnimTable_AcroBike[] = {
- sAnim_FaceSouth,
- sAnim_FaceNorth,
- sAnim_FaceWest,
- sAnim_FaceEast,
- sAnim_GoSouth,
- sAnim_GoNorth,
- sAnim_GoWest,
- sAnim_GoEast,
- sAnim_GoFastSouth,
- sAnim_GoFastNorth,
- sAnim_GoFastWest,
- sAnim_GoFastEast,
- sAnim_GoFasterSouth,
- sAnim_GoFasterNorth,
- sAnim_GoFasterWest,
- sAnim_GoFasterEast,
- sAnim_GoFastestSouth,
- sAnim_GoFastestNorth,
- sAnim_GoFastestWest,
- sAnim_GoFastestEast,
- sAnim_BunnyHoppyBackWheelSouth,
- sAnim_BunnyHoppyBackWheelNorth,
- sAnim_BunnyHoppyBackWheelWest,
- sAnim_BunnyHoppyBackWheelEast,
- sAnim_BunnyHoppyFrontWheelSouth,
- sAnim_BunnyHoppyFrontWheelNorth,
- sAnim_BunnyHoppyFrontWheelWest,
- sAnim_BunnyHoppyFrontWheelEast,
- sAnim_StandingWheelieBackWheelSouth,
- sAnim_StandingWheelieBackWheelNorth,
- sAnim_StandingWheelieBackWheelWest,
- sAnim_StandingWheelieBackWheelEast,
- sAnim_StandingWheelieFrontWheelSouth,
- sAnim_StandingWheelieFrontWheelNorth,
- sAnim_StandingWheelieFrontWheelWest,
- sAnim_StandingWheelieFrontWheelEast,
- sAnim_MovingWheelieSouth,
- sAnim_MovingWheelieNorth,
- sAnim_MovingWheelieWest,
- sAnim_MovingWheelieEast,
+ [ANIM_STD_FACE_SOUTH] = sAnim_FaceSouth,
+ [ANIM_STD_FACE_NORTH] = sAnim_FaceNorth,
+ [ANIM_STD_FACE_WEST] = sAnim_FaceWest,
+ [ANIM_STD_FACE_EAST] = sAnim_FaceEast,
+ [ANIM_STD_GO_SOUTH] = sAnim_GoSouth,
+ [ANIM_STD_GO_NORTH] = sAnim_GoNorth,
+ [ANIM_STD_GO_WEST] = sAnim_GoWest,
+ [ANIM_STD_GO_EAST] = sAnim_GoEast,
+ [ANIM_STD_GO_FAST_SOUTH] = sAnim_GoFastSouth,
+ [ANIM_STD_GO_FAST_NORTH] = sAnim_GoFastNorth,
+ [ANIM_STD_GO_FAST_WEST] = sAnim_GoFastWest,
+ [ANIM_STD_GO_FAST_EAST] = sAnim_GoFastEast,
+ [ANIM_STD_GO_FASTER_SOUTH] = sAnim_GoFasterSouth,
+ [ANIM_STD_GO_FASTER_NORTH] = sAnim_GoFasterNorth,
+ [ANIM_STD_GO_FASTER_WEST] = sAnim_GoFasterWest,
+ [ANIM_STD_GO_FASTER_EAST] = sAnim_GoFasterEast,
+ [ANIM_STD_GO_FASTEST_SOUTH] = sAnim_GoFastestSouth,
+ [ANIM_STD_GO_FASTEST_NORTH] = sAnim_GoFastestNorth,
+ [ANIM_STD_GO_FASTEST_WEST] = sAnim_GoFastestWest,
+ [ANIM_STD_GO_FASTEST_EAST] = sAnim_GoFastestEast,
+ [ANIM_BUNNY_HOPPY_BACK_WHEEL_SOUTH] = sAnim_BunnyHoppyBackWheelSouth,
+ [ANIM_BUNNY_HOPPY_BACK_WHEEL_NORTH] = sAnim_BunnyHoppyBackWheelNorth,
+ [ANIM_BUNNY_HOPPY_BACK_WHEEL_WEST] = sAnim_BunnyHoppyBackWheelWest,
+ [ANIM_BUNNY_HOPPY_BACK_WHEEL_EAST] = sAnim_BunnyHoppyBackWheelEast,
+ [ANIM_BUNNY_HOPPY_FRONT_WHEEL_SOUTH] = sAnim_BunnyHoppyFrontWheelSouth,
+ [ANIM_BUNNY_HOPPY_FRONT_WHEEL_NORTH] = sAnim_BunnyHoppyFrontWheelNorth,
+ [ANIM_BUNNY_HOPPY_FRONT_WHEEL_WEST] = sAnim_BunnyHoppyFrontWheelWest,
+ [ANIM_BUNNY_HOPPY_FRONT_WHEEL_EAST] = sAnim_BunnyHoppyFrontWheelEast,
+ [ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH] = sAnim_StandingWheelieBackWheelSouth,
+ [ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH] = sAnim_StandingWheelieBackWheelNorth,
+ [ANIM_STANDING_WHEELIE_BACK_WHEEL_WEST] = sAnim_StandingWheelieBackWheelWest,
+ [ANIM_STANDING_WHEELIE_BACK_WHEEL_EAST] = sAnim_StandingWheelieBackWheelEast,
+ [ANIM_STANDING_WHEELIE_FRONT_WHEEL_SOUTH] = sAnim_StandingWheelieFrontWheelSouth,
+ [ANIM_STANDING_WHEELIE_FRONT_WHEEL_NORTH] = sAnim_StandingWheelieFrontWheelNorth,
+ [ANIM_STANDING_WHEELIE_FRONT_WHEEL_WEST] = sAnim_StandingWheelieFrontWheelWest,
+ [ANIM_STANDING_WHEELIE_FRONT_WHEEL_EAST] = sAnim_StandingWheelieFrontWheelEast,
+ [ANIM_MOVING_WHEELIE_SOUTH] = sAnim_MovingWheelieSouth,
+ [ANIM_MOVING_WHEELIE_NORTH] = sAnim_MovingWheelieNorth,
+ [ANIM_MOVING_WHEELIE_WEST] = sAnim_MovingWheelieWest,
+ [ANIM_MOVING_WHEELIE_EAST] = sAnim_MovingWheelieEast,
};
static const union AnimCmd *const sAnimTable_Surfing[] = {
- sAnim_FaceSouth,
- sAnim_FaceNorth,
- sAnim_FaceWest,
- sAnim_FaceEast,
- sAnim_GoSouth,
- sAnim_GoNorth,
- sAnim_GoWest,
- sAnim_GoEast,
- sAnim_GoFastSouth,
- sAnim_GoFastNorth,
- sAnim_GoFastWest,
- sAnim_GoFastEast,
- sAnim_GoFasterSouth,
- sAnim_GoFasterNorth,
- sAnim_GoFasterWest,
- sAnim_GoFasterEast,
- sAnim_GoFastestSouth,
- sAnim_GoFastestNorth,
- sAnim_GoFastestWest,
- sAnim_GoFastestEast,
- sAnim_GetOnOffSurfBlobSouth,
- sAnim_GetOnOffSurfBlobNorth,
- sAnim_GetOnOffSurfBlobWest,
- sAnim_GetOnOffSurfBlobEast,
+ [ANIM_STD_FACE_SOUTH] = sAnim_FaceSouth,
+ [ANIM_STD_FACE_NORTH] = sAnim_FaceNorth,
+ [ANIM_STD_FACE_WEST] = sAnim_FaceWest,
+ [ANIM_STD_FACE_EAST] = sAnim_FaceEast,
+ [ANIM_STD_GO_SOUTH] = sAnim_GoSouth,
+ [ANIM_STD_GO_NORTH] = sAnim_GoNorth,
+ [ANIM_STD_GO_WEST] = sAnim_GoWest,
+ [ANIM_STD_GO_EAST] = sAnim_GoEast,
+ [ANIM_STD_GO_FAST_SOUTH] = sAnim_GoFastSouth,
+ [ANIM_STD_GO_FAST_NORTH] = sAnim_GoFastNorth,
+ [ANIM_STD_GO_FAST_WEST] = sAnim_GoFastWest,
+ [ANIM_STD_GO_FAST_EAST] = sAnim_GoFastEast,
+ [ANIM_STD_GO_FASTER_SOUTH] = sAnim_GoFasterSouth,
+ [ANIM_STD_GO_FASTER_NORTH] = sAnim_GoFasterNorth,
+ [ANIM_STD_GO_FASTER_WEST] = sAnim_GoFasterWest,
+ [ANIM_STD_GO_FASTER_EAST] = sAnim_GoFasterEast,
+ [ANIM_STD_GO_FASTEST_SOUTH] = sAnim_GoFastestSouth,
+ [ANIM_STD_GO_FASTEST_NORTH] = sAnim_GoFastestNorth,
+ [ANIM_STD_GO_FASTEST_WEST] = sAnim_GoFastestWest,
+ [ANIM_STD_GO_FASTEST_EAST] = sAnim_GoFastestEast,
+ [ANIM_GET_ON_OFF_POKEMON_SOUTH] = sAnim_GetOnOffSurfBlobSouth,
+ [ANIM_GET_ON_OFF_POKEMON_NORTH] = sAnim_GetOnOffSurfBlobNorth,
+ [ANIM_GET_ON_OFF_POKEMON_WEST] = sAnim_GetOnOffSurfBlobWest,
+ [ANIM_GET_ON_OFF_POKEMON_EAST] = sAnim_GetOnOffSurfBlobEast,
};
static const union AnimCmd *const sAnimTable_Nurse[] = {
- sAnim_FaceSouth,
- sAnim_FaceNorth,
- sAnim_FaceWest,
- sAnim_FaceEast,
- sAnim_GoSouth,
- sAnim_GoNorth,
- sAnim_GoWest,
- sAnim_GoEast,
- sAnim_GoFastSouth,
- sAnim_GoFastNorth,
- sAnim_GoFastWest,
- sAnim_GoFastEast,
- sAnim_GoFasterSouth,
- sAnim_GoFasterNorth,
- sAnim_GoFasterWest,
- sAnim_GoFasterEast,
- sAnim_GoFastestSouth,
- sAnim_GoFastestNorth,
- sAnim_GoFastestWest,
- sAnim_GoFastestEast,
- sAnim_NurseBow,
+ [ANIM_STD_FACE_SOUTH] = sAnim_FaceSouth,
+ [ANIM_STD_FACE_NORTH] = sAnim_FaceNorth,
+ [ANIM_STD_FACE_WEST] = sAnim_FaceWest,
+ [ANIM_STD_FACE_EAST] = sAnim_FaceEast,
+ [ANIM_STD_GO_SOUTH] = sAnim_GoSouth,
+ [ANIM_STD_GO_NORTH] = sAnim_GoNorth,
+ [ANIM_STD_GO_WEST] = sAnim_GoWest,
+ [ANIM_STD_GO_EAST] = sAnim_GoEast,
+ [ANIM_STD_GO_FAST_SOUTH] = sAnim_GoFastSouth,
+ [ANIM_STD_GO_FAST_NORTH] = sAnim_GoFastNorth,
+ [ANIM_STD_GO_FAST_WEST] = sAnim_GoFastWest,
+ [ANIM_STD_GO_FAST_EAST] = sAnim_GoFastEast,
+ [ANIM_STD_GO_FASTER_SOUTH] = sAnim_GoFasterSouth,
+ [ANIM_STD_GO_FASTER_NORTH] = sAnim_GoFasterNorth,
+ [ANIM_STD_GO_FASTER_WEST] = sAnim_GoFasterWest,
+ [ANIM_STD_GO_FASTER_EAST] = sAnim_GoFasterEast,
+ [ANIM_STD_GO_FASTEST_SOUTH] = sAnim_GoFastestSouth,
+ [ANIM_STD_GO_FASTEST_NORTH] = sAnim_GoFastestNorth,
+ [ANIM_STD_GO_FASTEST_WEST] = sAnim_GoFastestWest,
+ [ANIM_STD_GO_FASTEST_EAST] = sAnim_GoFastestEast,
+ [ANIM_NURSE_BOW] = sAnim_NurseBow,
};
static const union AnimCmd *const sAnimTable_FieldMove[] = {
- sAnim_FieldMove,
+ [ANIM_FIELD_MOVE] = sAnim_FieldMove,
};
static const union AnimCmd *const sAnimTable_BerryTree[] = {
- sAnim_BerryTreeStage0,
- sAnim_BerryTreeStage1,
- sAnim_BerryTreeStage2,
- sAnim_BerryTreeStage3,
- sAnim_BerryTreeStage4,
+ [BERRY_STAGE_PLANTED - 1] = sAnim_BerryTreeStage0,
+ [BERRY_STAGE_SPROUTED - 1] = sAnim_BerryTreeStage1,
+ [BERRY_STAGE_TALLER - 1] = sAnim_BerryTreeStage2,
+ [BERRY_STAGE_FLOWERING - 1] = sAnim_BerryTreeStage3,
+ [BERRY_STAGE_BERRIES - 1] = sAnim_BerryTreeStage4,
};
static const union AnimCmd *const sAnimTable_BreakableRock[] = {
- sAnim_StayStill,
- sAnim_RockBreak,
+ [ANIM_STAY_STILL] = sAnim_StayStill,
+ [ANIM_REMOVE_OBSTACLE] = sAnim_RockBreak,
};
static const union AnimCmd *const sAnimTable_CuttableTree[] = {
- sAnim_StayStill,
- sAnim_TreeCut,
+ [ANIM_STAY_STILL] = sAnim_StayStill,
+ [ANIM_REMOVE_OBSTACLE] = sAnim_TreeCut,
};
static const union AnimCmd *const sAnimTable_Fishing[] = {
- sAnim_TakeOutRodSouth,
- sAnim_TakeOutRodNorth,
- sAnim_TakeOutRodWest,
- sAnim_TakeOutRodEast,
- sAnim_PutAwayRodSouth,
- sAnim_PutAwayRodNorth,
- sAnim_PutAwayRodWest,
- sAnim_PutAwayRodEast,
- sAnim_HookedPokemonSouth,
- sAnim_HookedPokemonNorth,
- sAnim_HookedPokemonWest,
- sAnim_HookedPokemonEast,
+ [ANIM_TAKE_OUT_ROD_SOUTH] = sAnim_TakeOutRodSouth,
+ [ANIM_TAKE_OUT_ROD_NORTH] = sAnim_TakeOutRodNorth,
+ [ANIM_TAKE_OUT_ROD_WEST] = sAnim_TakeOutRodWest,
+ [ANIM_TAKE_OUT_ROD_EAST] = sAnim_TakeOutRodEast,
+ [ANIM_PUT_AWAY_ROD_SOUTH] = sAnim_PutAwayRodSouth,
+ [ANIM_PUT_AWAY_ROD_NORTH] = sAnim_PutAwayRodNorth,
+ [ANIM_PUT_AWAY_ROD_WEST] = sAnim_PutAwayRodWest,
+ [ANIM_PUT_AWAY_ROD_EAST] = sAnim_PutAwayRodEast,
+ [ANIM_HOOKED_POKEMON_SOUTH] = sAnim_HookedPokemonSouth,
+ [ANIM_HOOKED_POKEMON_NORTH] = sAnim_HookedPokemonNorth,
+ [ANIM_HOOKED_POKEMON_WEST] = sAnim_HookedPokemonWest,
+ [ANIM_HOOKED_POKEMON_EAST] = sAnim_HookedPokemonEast,
};
static const union AffineAnimCmd *const sAffineAnimTable_KyogreGroudon[] = {
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index 2616b65e8..074fa2386 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -703,169 +703,169 @@ static const s16 sMovementDelaysShort[] = {32, 48, 64, 80};
#include "data/object_events/movement_type_func_tables.h"
static const u8 sFaceDirectionAnimNums[] = {
- [DIR_NONE] = 0,
- [DIR_SOUTH] = 0,
- [DIR_NORTH] = 1,
- [DIR_WEST] = 2,
- [DIR_EAST] = 3,
- [DIR_SOUTHWEST] = 0,
- [DIR_SOUTHEAST] = 0,
- [DIR_NORTHWEST] = 1,
- [DIR_NORTHEAST] = 1,
+ [DIR_NONE] = ANIM_STD_FACE_SOUTH,
+ [DIR_SOUTH] = ANIM_STD_FACE_SOUTH,
+ [DIR_NORTH] = ANIM_STD_FACE_NORTH,
+ [DIR_WEST] = ANIM_STD_FACE_WEST,
+ [DIR_EAST] = ANIM_STD_FACE_EAST,
+ [DIR_SOUTHWEST] = ANIM_STD_FACE_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_STD_FACE_SOUTH,
+ [DIR_NORTHWEST] = ANIM_STD_FACE_NORTH,
+ [DIR_NORTHEAST] = ANIM_STD_FACE_NORTH,
};
static const u8 sMoveDirectionAnimNums[] = {
- [DIR_NONE] = 4,
- [DIR_SOUTH] = 4,
- [DIR_NORTH] = 5,
- [DIR_WEST] = 6,
- [DIR_EAST] = 7,
- [DIR_SOUTHWEST] = 4,
- [DIR_SOUTHEAST] = 4,
- [DIR_NORTHWEST] = 5,
- [DIR_NORTHEAST] = 5,
+ [DIR_NONE] = ANIM_STD_GO_SOUTH,
+ [DIR_SOUTH] = ANIM_STD_GO_SOUTH,
+ [DIR_NORTH] = ANIM_STD_GO_NORTH,
+ [DIR_WEST] = ANIM_STD_GO_WEST,
+ [DIR_EAST] = ANIM_STD_GO_EAST,
+ [DIR_SOUTHWEST] = ANIM_STD_GO_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_STD_GO_SOUTH,
+ [DIR_NORTHWEST] = ANIM_STD_GO_NORTH,
+ [DIR_NORTHEAST] = ANIM_STD_GO_NORTH,
};
static const u8 sMoveDirectionFastAnimNums[] = {
- [DIR_NONE] = 8,
- [DIR_SOUTH] = 8,
- [DIR_NORTH] = 9,
- [DIR_WEST] = 10,
- [DIR_EAST] = 11,
- [DIR_SOUTHWEST] = 8,
- [DIR_SOUTHEAST] = 8,
- [DIR_NORTHWEST] = 9,
- [DIR_NORTHEAST] = 9,
+ [DIR_NONE] = ANIM_STD_GO_FAST_SOUTH,
+ [DIR_SOUTH] = ANIM_STD_GO_FAST_SOUTH,
+ [DIR_NORTH] = ANIM_STD_GO_FAST_NORTH,
+ [DIR_WEST] = ANIM_STD_GO_FAST_WEST,
+ [DIR_EAST] = ANIM_STD_GO_FAST_EAST,
+ [DIR_SOUTHWEST] = ANIM_STD_GO_FAST_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_STD_GO_FAST_SOUTH,
+ [DIR_NORTHWEST] = ANIM_STD_GO_FAST_NORTH,
+ [DIR_NORTHEAST] = ANIM_STD_GO_FAST_NORTH,
};
static const u8 sMoveDirectionFasterAnimNums[] = {
- [DIR_NONE] = 12,
- [DIR_SOUTH] = 12,
- [DIR_NORTH] = 13,
- [DIR_WEST] = 14,
- [DIR_EAST] = 15,
- [DIR_SOUTHWEST] = 12,
- [DIR_SOUTHEAST] = 12,
- [DIR_NORTHWEST] = 13,
- [DIR_NORTHEAST] = 13,
+ [DIR_NONE] = ANIM_STD_GO_FASTER_SOUTH,
+ [DIR_SOUTH] = ANIM_STD_GO_FASTER_SOUTH,
+ [DIR_NORTH] = ANIM_STD_GO_FASTER_NORTH,
+ [DIR_WEST] = ANIM_STD_GO_FASTER_WEST,
+ [DIR_EAST] = ANIM_STD_GO_FASTER_EAST,
+ [DIR_SOUTHWEST] = ANIM_STD_GO_FASTER_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_STD_GO_FASTER_SOUTH,
+ [DIR_NORTHWEST] = ANIM_STD_GO_FASTER_NORTH,
+ [DIR_NORTHEAST] = ANIM_STD_GO_FASTER_NORTH,
};
static const u8 sMoveDirectionFastestAnimNums[] = {
- [DIR_NONE] = 16,
- [DIR_SOUTH] = 16,
- [DIR_NORTH] = 17,
- [DIR_WEST] = 18,
- [DIR_EAST] = 19,
- [DIR_SOUTHWEST] = 16,
- [DIR_SOUTHEAST] = 16,
- [DIR_NORTHWEST] = 17,
- [DIR_NORTHEAST] = 17,
+ [DIR_NONE] = ANIM_STD_GO_FASTEST_SOUTH,
+ [DIR_SOUTH] = ANIM_STD_GO_FASTEST_SOUTH,
+ [DIR_NORTH] = ANIM_STD_GO_FASTEST_NORTH,
+ [DIR_WEST] = ANIM_STD_GO_FASTEST_WEST,
+ [DIR_EAST] = ANIM_STD_GO_FASTEST_EAST,
+ [DIR_SOUTHWEST] = ANIM_STD_GO_FASTEST_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_STD_GO_FASTEST_SOUTH,
+ [DIR_NORTHWEST] = ANIM_STD_GO_FASTEST_NORTH,
+ [DIR_NORTHEAST] = ANIM_STD_GO_FASTEST_NORTH,
};
static const u8 sJumpSpecialDirectionAnimNums[] = { // used for jumping onto surf mon
- [DIR_NONE] = 20,
- [DIR_SOUTH] = 20,
- [DIR_NORTH] = 21,
- [DIR_WEST] = 22,
- [DIR_EAST] = 23,
- [DIR_SOUTHWEST] = 20,
- [DIR_SOUTHEAST] = 20,
- [DIR_NORTHWEST] = 21,
- [DIR_NORTHEAST] = 21,
+ [DIR_NONE] = ANIM_GET_ON_OFF_POKEMON_SOUTH,
+ [DIR_SOUTH] = ANIM_GET_ON_OFF_POKEMON_SOUTH,
+ [DIR_NORTH] = ANIM_GET_ON_OFF_POKEMON_NORTH,
+ [DIR_WEST] = ANIM_GET_ON_OFF_POKEMON_WEST,
+ [DIR_EAST] = ANIM_GET_ON_OFF_POKEMON_EAST,
+ [DIR_SOUTHWEST] = ANIM_GET_ON_OFF_POKEMON_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_GET_ON_OFF_POKEMON_SOUTH,
+ [DIR_NORTHWEST] = ANIM_GET_ON_OFF_POKEMON_NORTH,
+ [DIR_NORTHEAST] = ANIM_GET_ON_OFF_POKEMON_NORTH,
};
static const u8 sAcroWheelieDirectionAnimNums[] = {
- [DIR_NONE] = 20,
- [DIR_SOUTH] = 20,
- [DIR_NORTH] = 21,
- [DIR_WEST] = 22,
- [DIR_EAST] = 23,
- [DIR_SOUTHWEST] = 20,
- [DIR_SOUTHEAST] = 20,
- [DIR_NORTHWEST] = 21,
- [DIR_NORTHEAST] = 21,
+ [DIR_NONE] = ANIM_BUNNY_HOPPY_BACK_WHEEL_SOUTH,
+ [DIR_SOUTH] = ANIM_BUNNY_HOPPY_BACK_WHEEL_SOUTH,
+ [DIR_NORTH] = ANIM_BUNNY_HOPPY_BACK_WHEEL_NORTH,
+ [DIR_WEST] = ANIM_BUNNY_HOPPY_BACK_WHEEL_WEST,
+ [DIR_EAST] = ANIM_BUNNY_HOPPY_BACK_WHEEL_EAST,
+ [DIR_SOUTHWEST] = ANIM_BUNNY_HOPPY_BACK_WHEEL_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_BUNNY_HOPPY_BACK_WHEEL_SOUTH,
+ [DIR_NORTHWEST] = ANIM_BUNNY_HOPPY_BACK_WHEEL_NORTH,
+ [DIR_NORTHEAST] = ANIM_BUNNY_HOPPY_BACK_WHEEL_NORTH,
};
static const u8 sAcroUnusedDirectionAnimNums[] = {
- [DIR_NONE] = 24,
- [DIR_SOUTH] = 24,
- [DIR_NORTH] = 25,
- [DIR_WEST] = 26,
- [DIR_EAST] = 27,
- [DIR_SOUTHWEST] = 24,
- [DIR_SOUTHEAST] = 24,
- [DIR_NORTHWEST] = 25,
- [DIR_NORTHEAST] = 25,
+ [DIR_NONE] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_SOUTH,
+ [DIR_SOUTH] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_SOUTH,
+ [DIR_NORTH] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_NORTH,
+ [DIR_WEST] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_WEST,
+ [DIR_EAST] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_EAST,
+ [DIR_SOUTHWEST] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_SOUTH,
+ [DIR_NORTHWEST] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_NORTH,
+ [DIR_NORTHEAST] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_NORTH,
};
static const u8 sAcroEndWheelieDirectionAnimNums[] = {
- [DIR_NONE] = 28,
- [DIR_SOUTH] = 28,
- [DIR_NORTH] = 29,
- [DIR_WEST] = 30,
- [DIR_EAST] = 31,
- [DIR_SOUTHWEST] = 28,
- [DIR_SOUTHEAST] = 28,
- [DIR_NORTHWEST] = 29,
- [DIR_NORTHEAST] = 29,
+ [DIR_NONE] = ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH,
+ [DIR_SOUTH] = ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH,
+ [DIR_NORTH] = ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH,
+ [DIR_WEST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_WEST,
+ [DIR_EAST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_EAST,
+ [DIR_SOUTHWEST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH,
+ [DIR_NORTHWEST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH,
+ [DIR_NORTHEAST] = ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH,
};
static const u8 sAcroUnusedActionDirectionAnimNums[] = {
- [DIR_NONE] = 32,
- [DIR_SOUTH] = 32,
- [DIR_NORTH] = 33,
- [DIR_WEST] = 34,
- [DIR_EAST] = 35,
- [DIR_SOUTHWEST] = 32,
- [DIR_SOUTHEAST] = 32,
- [DIR_NORTHWEST] = 33,
- [DIR_NORTHEAST] = 33,
+ [DIR_NONE] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_SOUTH,
+ [DIR_SOUTH] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_SOUTH,
+ [DIR_NORTH] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_NORTH,
+ [DIR_WEST] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_WEST,
+ [DIR_EAST] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_EAST,
+ [DIR_SOUTHWEST] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_SOUTH,
+ [DIR_NORTHWEST] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_NORTH,
+ [DIR_NORTHEAST] = ANIM_STANDING_WHEELIE_FRONT_WHEEL_NORTH,
};
static const u8 sAcroWheeliePedalDirectionAnimNums[] = {
- [DIR_NONE] = 36,
- [DIR_SOUTH] = 36,
- [DIR_NORTH] = 37,
- [DIR_WEST] = 38,
- [DIR_EAST] = 39,
- [DIR_SOUTHWEST] = 36,
- [DIR_SOUTHEAST] = 36,
- [DIR_NORTHWEST] = 37,
- [DIR_NORTHEAST] = 37,
+ [DIR_NONE] = ANIM_MOVING_WHEELIE_SOUTH,
+ [DIR_SOUTH] = ANIM_MOVING_WHEELIE_SOUTH,
+ [DIR_NORTH] = ANIM_MOVING_WHEELIE_NORTH,
+ [DIR_WEST] = ANIM_MOVING_WHEELIE_WEST,
+ [DIR_EAST] = ANIM_MOVING_WHEELIE_EAST,
+ [DIR_SOUTHWEST] = ANIM_MOVING_WHEELIE_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_MOVING_WHEELIE_SOUTH,
+ [DIR_NORTHWEST] = ANIM_MOVING_WHEELIE_NORTH,
+ [DIR_NORTHEAST] = ANIM_MOVING_WHEELIE_NORTH,
};
static const u8 sFishingDirectionAnimNums[] = {
- [DIR_NONE] = 0,
- [DIR_SOUTH] = 0,
- [DIR_NORTH] = 1,
- [DIR_WEST] = 2,
- [DIR_EAST] = 3,
- [DIR_SOUTHWEST] = 0,
- [DIR_SOUTHEAST] = 0,
- [DIR_NORTHWEST] = 1,
- [DIR_NORTHEAST] = 1,
+ [DIR_NONE] = ANIM_TAKE_OUT_ROD_SOUTH,
+ [DIR_SOUTH] = ANIM_TAKE_OUT_ROD_SOUTH,
+ [DIR_NORTH] = ANIM_TAKE_OUT_ROD_NORTH,
+ [DIR_WEST] = ANIM_TAKE_OUT_ROD_WEST,
+ [DIR_EAST] = ANIM_TAKE_OUT_ROD_EAST,
+ [DIR_SOUTHWEST] = ANIM_TAKE_OUT_ROD_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_TAKE_OUT_ROD_SOUTH,
+ [DIR_NORTHWEST] = ANIM_TAKE_OUT_ROD_NORTH,
+ [DIR_NORTHEAST] = ANIM_TAKE_OUT_ROD_NORTH,
};
static const u8 sFishingNoCatchDirectionAnimNums[] = {
- [DIR_NONE] = 4,
- [DIR_SOUTH] = 4,
- [DIR_NORTH] = 5,
- [DIR_WEST] = 6,
- [DIR_EAST] = 7,
- [DIR_SOUTHWEST] = 4,
- [DIR_SOUTHEAST] = 4,
- [DIR_NORTHWEST] = 5,
- [DIR_NORTHEAST] = 5,
+ [DIR_NONE] = ANIM_PUT_AWAY_ROD_SOUTH,
+ [DIR_SOUTH] = ANIM_PUT_AWAY_ROD_SOUTH,
+ [DIR_NORTH] = ANIM_PUT_AWAY_ROD_NORTH,
+ [DIR_WEST] = ANIM_PUT_AWAY_ROD_WEST,
+ [DIR_EAST] = ANIM_PUT_AWAY_ROD_EAST,
+ [DIR_SOUTHWEST] = ANIM_PUT_AWAY_ROD_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_PUT_AWAY_ROD_SOUTH,
+ [DIR_NORTHWEST] = ANIM_PUT_AWAY_ROD_NORTH,
+ [DIR_NORTHEAST] = ANIM_PUT_AWAY_ROD_NORTH,
};
static const u8 sFishingBiteDirectionAnimNums[] = {
- [DIR_NONE] = 8,
- [DIR_SOUTH] = 8,
- [DIR_NORTH] = 9,
- [DIR_WEST] = 10,
- [DIR_EAST] = 11,
- [DIR_SOUTHWEST] = 8,
- [DIR_SOUTHEAST] = 8,
- [DIR_NORTHWEST] = 9,
- [DIR_NORTHEAST] = 9,
+ [DIR_NONE] = ANIM_HOOKED_POKEMON_SOUTH,
+ [DIR_SOUTH] = ANIM_HOOKED_POKEMON_SOUTH,
+ [DIR_NORTH] = ANIM_HOOKED_POKEMON_NORTH,
+ [DIR_WEST] = ANIM_HOOKED_POKEMON_WEST,
+ [DIR_EAST] = ANIM_HOOKED_POKEMON_EAST,
+ [DIR_SOUTHWEST] = ANIM_HOOKED_POKEMON_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_HOOKED_POKEMON_SOUTH,
+ [DIR_NORTHWEST] = ANIM_HOOKED_POKEMON_NORTH,
+ [DIR_NORTHEAST] = ANIM_HOOKED_POKEMON_NORTH,
};
static const u8 sRunningDirectionAnimNums[] = {
- [DIR_NONE] = 20,
- [DIR_SOUTH] = 20,
- [DIR_NORTH] = 21,
- [DIR_WEST] = 22,
- [DIR_EAST] = 23,
- [DIR_SOUTHWEST] = 20,
- [DIR_SOUTHEAST] = 20,
- [DIR_NORTHWEST] = 21,
- [DIR_NORTHEAST] = 21,
+ [DIR_NONE] = ANIM_RUN_SOUTH,
+ [DIR_SOUTH] = ANIM_RUN_SOUTH,
+ [DIR_NORTH] = ANIM_RUN_NORTH,
+ [DIR_WEST] = ANIM_RUN_WEST,
+ [DIR_EAST] = ANIM_RUN_EAST,
+ [DIR_SOUTHWEST] = ANIM_RUN_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_RUN_SOUTH,
+ [DIR_NORTHWEST] = ANIM_RUN_NORTH,
+ [DIR_NORTHEAST] = ANIM_RUN_NORTH,
};
const u8 gTrainerFacingDirectionMovementTypes[] = {
@@ -6492,7 +6492,7 @@ bool8 MovementAction_FaceOriginalDirection_Step0(struct ObjectEvent *objectEvent
bool8 MovementAction_NurseJoyBowDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- StartSpriteAnimInDirection(objectEvent, sprite, DIR_SOUTH, 0x14);
+ StartSpriteAnimInDirection(objectEvent, sprite, DIR_SOUTH, ANIM_NURSE_BOW);
return FALSE;
}
@@ -6591,7 +6591,7 @@ bool8 MovementAction_RevealTrainer_Step1(struct ObjectEvent *objectEvent, struct
bool8 MovementAction_RockSmashBreak_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- SetAndStartSpriteAnim(sprite, 1, 0);
+ SetAndStartSpriteAnim(sprite, ANIM_REMOVE_OBSTACLE, 0);
sprite->sActionFuncId = 1;
return FALSE;
}
@@ -6619,7 +6619,7 @@ bool8 MovementAction_RockSmashBreak_Step2(struct ObjectEvent *objectEvent, struc
bool8 MovementAction_CutTree_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- SetAndStartSpriteAnim(sprite, 1, 0);
+ SetAndStartSpriteAnim(sprite, ANIM_REMOVE_OBSTACLE, 0);
sprite->sActionFuncId = 1;
return FALSE;
}
diff --git a/src/field_effect.c b/src/field_effect.c
index 247744b87..7e1ebdff4 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -3240,7 +3240,7 @@ static void FlyOutFieldEffect_JumpOnBird(struct Task *task)
{
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING));
- StartSpriteAnim(&gSprites[objectEvent->spriteId], 0x16);
+ StartSpriteAnim(&gSprites[objectEvent->spriteId], ANIM_GET_ON_OFF_POKEMON_WEST);
objectEvent->inanimate = TRUE;
ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT);
if (task->tAvatarFlags & PLAYER_AVATAR_FLAG_SURFING)
@@ -3478,7 +3478,7 @@ static void FlyInFieldEffect_BirdSwoopDown(struct Task *task)
ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING));
CameraObjectReset2();
ObjectEventTurn(objectEvent, DIR_WEST);
- StartSpriteAnim(&gSprites[objectEvent->spriteId], 0x16);
+ StartSpriteAnim(&gSprites[objectEvent->spriteId], ANIM_GET_ON_OFF_POKEMON_WEST);
objectEvent->invisible = FALSE;
task->tBirdSpriteId = CreateFlyBirdSprite();
StartFlyBirdSwoopDown(task->tBirdSpriteId);
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index e770ce35d..6ce304c2c 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -1403,7 +1403,7 @@ void SetPlayerInvisibility(bool8 invisible)
void SetPlayerAvatarFieldMove(void)
{
ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FIELD_MOVE));
- StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 0);
+ StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], ANIM_FIELD_MOVE);
}
static void SetPlayerAvatarFishing(u8 direction)
diff --git a/src/pokemon.c b/src/pokemon.c
index 6e3d37ae3..0f943734b 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -5775,27 +5775,36 @@ u8 GetTrainerEncounterMusicId(u16 trainerOpponentId)
return TRAINER_ENCOUNTER_MUSIC(trainerOpponentId);
}
-u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex)
-{
+u16 ModifyStatByNature(u8 nature, u16 stat, u8 statIndex)
+{
+// Because this is a u16 it will be unable to store the
+// result of the multiplication for any stat > 595 for a
+// positive nature and > 728 for a negative nature.
+// Neither occur in the base game, but this can happen if
+// any Nature-affected base stat is increased to a value
+// above 248. The closest by default is Shuckle at 230.
+#ifdef BUGFIX
+ u32 retVal;
+#else
u16 retVal;
+#endif
+
// Don't modify HP, Accuracy, or Evasion by nature
if (statIndex <= STAT_HP || statIndex > NUM_NATURE_STATS)
- {
- return n;
- }
+ return stat;
switch (gNatureStatTable[nature][statIndex - 1])
{
case 1:
- retVal = n * 110;
+ retVal = stat * 110;
retVal /= 100;
break;
case -1:
- retVal = n * 90;
+ retVal = stat * 90;
retVal /= 100;
break;
default:
- retVal = n;
+ retVal = stat;
break;
}
diff --git a/src/strings.c b/src/strings.c
index bebe89011..ae39e3d4d 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -839,17 +839,17 @@ const u8 gText_B4F[] = _("B4F");
const u8 gText_Rooftop[] = _("ROOFTOP");
const u8 gText_ElevatorNowOn[] = _("Now on:");
const u8 gText_BP[] = _("BP");
-const u8 gText_EnergyPowder50[] = _("ENERGYPOWDER{CLEAR_TO 0x72}{SIZE 0}50");
-const u8 gText_EnergyRoot80[] = _("ENERGY ROOT{CLEAR_TO 0x72}{SIZE 0}80");
-const u8 gText_HealPowder50[] = _("HEAL POWDER{CLEAR_TO 0x72}{SIZE 0}50");
-const u8 gText_RevivalHerb300[] = _("REVIVAL HERB{CLEAR_TO 0x6C}{SIZE 0}300");
-const u8 gText_Protein1000[] = _("PROTEIN{CLEAR_TO 0x63}{SIZE 0}1,000");
-const u8 gText_Iron1000[] = _("IRON{CLEAR_TO 0x63}{SIZE 0}1,000");
-const u8 gText_Carbos1000[] = _("CARBOS{CLEAR_TO 0x63}{SIZE 0}1,000");
-const u8 gText_Calcium1000[] = _("CALCIUM{CLEAR_TO 0x63}{SIZE 0}1,000");
-const u8 gText_Zinc1000[] = _("ZINC{CLEAR_TO 0x63}{SIZE 0}1,000");
-const u8 gText_HPUp1000[] = _("HP UP{CLEAR_TO 0x63}{SIZE 0}1,000");
-const u8 gText_PPUp3000[] = _("PP UP{CLEAR_TO 0x63}{SIZE 0}3,000");
+const u8 gText_EnergyPowder50[] = _("ENERGYPOWDER{CLEAR_TO 0x72}{FONT 0}50");
+const u8 gText_EnergyRoot80[] = _("ENERGY ROOT{CLEAR_TO 0x72}{FONT 0}80");
+const u8 gText_HealPowder50[] = _("HEAL POWDER{CLEAR_TO 0x72}{FONT 0}50");
+const u8 gText_RevivalHerb300[] = _("REVIVAL HERB{CLEAR_TO 0x6C}{FONT 0}300");
+const u8 gText_Protein1000[] = _("PROTEIN{CLEAR_TO 0x63}{FONT 0}1,000");
+const u8 gText_Iron1000[] = _("IRON{CLEAR_TO 0x63}{FONT 0}1,000");
+const u8 gText_Carbos1000[] = _("CARBOS{CLEAR_TO 0x63}{FONT 0}1,000");
+const u8 gText_Calcium1000[] = _("CALCIUM{CLEAR_TO 0x63}{FONT 0}1,000");
+const u8 gText_Zinc1000[] = _("ZINC{CLEAR_TO 0x63}{FONT 0}1,000");
+const u8 gText_HPUp1000[] = _("HP UP{CLEAR_TO 0x63}{FONT 0}1,000");
+const u8 gText_PPUp3000[] = _("PP UP{CLEAR_TO 0x63}{FONT 0}3,000");
const u8 gText_RankingHall[] = _("RANKING HALL");
const u8 gText_ExchangeService[] = _("EXCHANGE SERVICE");
const u8 gText_LilycoveCity[] = _("LILYCOVE CITY");
diff --git a/src/unk_text_util_2.c b/src/unk_text_util_2.c
index 3459dde85..a0eea575e 100644
--- a/src/unk_text_util_2.c
+++ b/src/unk_text_util_2.c
@@ -80,7 +80,7 @@ u16 Font6Func(struct TextPrinter *textPrinter)
case EXT_CTRL_CODE_PALETTE:
textPrinter->printerTemplate.currentChar++;
return 2;
- case EXT_CTRL_CODE_SIZE:
+ case EXT_CTRL_CODE_FONT:
subStruct->glyphId = *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
return 2;