Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync
15
.github/calcrom/calcrom.pl
vendored
@ -63,14 +63,14 @@ while (my $line = <$file>)
|
||||
# though. Uniq is pretty fast!
|
||||
my $base_cmd = "nm $elffname | awk '{print \$3}' | grep '^[^_].\\{4\\}' | uniq";
|
||||
|
||||
# This looks for Unknown_, Unknown_, or sub_, followed by just numbers. Note that
|
||||
# This looks for Unknown_, Unknown_, or sub_, followed by an address. Note that
|
||||
# it matches even if stuff precedes the unknown, like sUnknown/gUnknown.
|
||||
my $undoc_cmd = "grep '[Uu]nknown_[0-9a-fA-F]*\\|sub_[0-9a-fA-F]*'";
|
||||
my $undoc_cmd = "grep '[Uu]nknown_[0-9a-fA-F]\\{5,7\\}\\|sub_[0-9a-fA-F]\\{5,7\\}'";
|
||||
|
||||
# This looks for every symbol with an address at the end of it. Some things are
|
||||
# given a name based on their type / location, but still have an unknown purpose.
|
||||
# For example, FooMap_EventScript_FFFFFFF.
|
||||
my $partial_doc_cmd = "grep '_[0-28][0-9a-fA-F]\\{5,6\\}'";
|
||||
my $partial_doc_cmd = "grep '_[0-28][0-9a-fA-F]\\{5,7\\}'";
|
||||
|
||||
my $count_cmd = "wc -l";
|
||||
|
||||
@ -104,16 +104,19 @@ my $partial_documented_as_string;
|
||||
# Performing addition on a string converts it to a number. Any string that fails
|
||||
# to convert to a number becomes 0. So if our converted number is 0, but our string
|
||||
# is nonzero, then the conversion was an error.
|
||||
$undocumented_as_string =~ s/^\s+|\s+$//g;
|
||||
my $undocumented = $undocumented_as_string + 0;
|
||||
(($undocumented != 0) and ($undocumented_as_string ne "0"))
|
||||
(($undocumented != 0) or (($undocumented == 0) and ($undocumented_as_string eq "0")))
|
||||
or die "ERROR: Cannot convert string to num: '$undocumented_as_string'";
|
||||
|
||||
$partial_documented_as_string =~ s/^\s+|\s+$//g;
|
||||
my $partial_documented = $partial_documented_as_string + 0;
|
||||
(($partial_documented != 0) and ($partial_documented_as_string ne "0"))
|
||||
(($partial_documented != 0) or (($partial_documented == 0) and ($partial_documented_as_string eq "0")))
|
||||
or die "ERROR: Cannot convert string to num: '$partial_documented_as_string'";
|
||||
|
||||
$total_syms_as_string =~ s/^\s+|\s+$//g;
|
||||
my $total_syms = $total_syms_as_string + 0;
|
||||
(($total_syms != 0) and ($total_syms_as_string ne "0"))
|
||||
(($total_syms != 0) or (($total_syms == 0) and ($total_syms_as_string eq "0")))
|
||||
or die "ERROR: Cannot convert string to num: '$total_syms_as_string'";
|
||||
|
||||
($total_syms != 0)
|
||||
|
||||
@ -334,10 +334,10 @@
|
||||
.byte 0x30
|
||||
.endm
|
||||
|
||||
@ Plays the specified (fanfare_number) fanfare.
|
||||
.macro playfanfare fanfare_number:req
|
||||
@ Plays the fanfare specified by the song number. If the specified song is not a fanfare it will instead play the first song in sFanfares.
|
||||
.macro playfanfare songNumber:req
|
||||
.byte 0x31
|
||||
.2byte \fanfare_number
|
||||
.2byte \songNumber
|
||||
.endm
|
||||
|
||||
@ Blocks script execution until all currently-playing fanfares finish.
|
||||
@ -1208,10 +1208,10 @@
|
||||
.endm
|
||||
|
||||
@ Plays the specified (species) Pokemon's cry. You can use waitcry to block script execution until the sound finishes.
|
||||
.macro playmoncry species:req, effect:req
|
||||
.macro playmoncry species:req, mode:req
|
||||
.byte 0xa1
|
||||
.2byte \species
|
||||
.2byte \effect
|
||||
.2byte \mode
|
||||
.endm
|
||||
|
||||
@ Changes the metatile at (x, y) on the current map.
|
||||
|
||||
@ -1,131 +1,166 @@
|
||||
.macro create_movement_action name
|
||||
enum _\name
|
||||
.macro create_movement_action name:req, value:req
|
||||
.macro \name
|
||||
.byte _\name
|
||||
.byte \value
|
||||
.endm
|
||||
.endm
|
||||
|
||||
enum_start
|
||||
create_movement_action face_down
|
||||
create_movement_action face_up
|
||||
create_movement_action face_left
|
||||
create_movement_action face_right
|
||||
create_movement_action walk_slow_down
|
||||
create_movement_action walk_slow_up
|
||||
create_movement_action walk_slow_left
|
||||
create_movement_action walk_slow_right
|
||||
create_movement_action walk_down
|
||||
create_movement_action walk_up
|
||||
create_movement_action walk_left
|
||||
create_movement_action walk_right
|
||||
create_movement_action jump_2_down
|
||||
create_movement_action jump_2_up
|
||||
create_movement_action jump_2_left
|
||||
create_movement_action jump_2_right
|
||||
create_movement_action delay_1
|
||||
create_movement_action delay_2
|
||||
create_movement_action delay_4
|
||||
create_movement_action delay_8
|
||||
create_movement_action delay_16
|
||||
create_movement_action walk_fast_down
|
||||
create_movement_action walk_fast_up
|
||||
create_movement_action walk_fast_left
|
||||
create_movement_action walk_fast_right
|
||||
create_movement_action walk_in_place_slow_down
|
||||
create_movement_action walk_in_place_slow_up
|
||||
create_movement_action walk_in_place_slow_left
|
||||
create_movement_action walk_in_place_slow_right
|
||||
create_movement_action walk_in_place_down
|
||||
create_movement_action walk_in_place_up
|
||||
create_movement_action walk_in_place_left
|
||||
create_movement_action walk_in_place_right
|
||||
create_movement_action walk_in_place_fast_down
|
||||
create_movement_action walk_in_place_fast_up
|
||||
create_movement_action walk_in_place_fast_left
|
||||
create_movement_action walk_in_place_fast_right
|
||||
create_movement_action walk_in_place_faster_down
|
||||
create_movement_action walk_in_place_faster_up
|
||||
create_movement_action walk_in_place_faster_left
|
||||
create_movement_action walk_in_place_faster_right
|
||||
create_movement_action ride_water_current_down
|
||||
create_movement_action ride_water_current_up
|
||||
create_movement_action ride_water_current_left
|
||||
create_movement_action ride_water_current_right
|
||||
create_movement_action walk_faster_down
|
||||
create_movement_action walk_faster_up
|
||||
create_movement_action walk_faster_left
|
||||
create_movement_action walk_faster_right
|
||||
create_movement_action slide_down
|
||||
create_movement_action slide_up
|
||||
create_movement_action slide_left
|
||||
create_movement_action slide_right
|
||||
create_movement_action player_run_down
|
||||
create_movement_action player_run_up
|
||||
create_movement_action player_run_left
|
||||
create_movement_action player_run_right
|
||||
create_movement_action start_anim_in_direction
|
||||
create_movement_action jump_special_down
|
||||
create_movement_action jump_special_up
|
||||
create_movement_action jump_special_left
|
||||
create_movement_action jump_special_right
|
||||
create_movement_action face_player
|
||||
create_movement_action face_away_player
|
||||
create_movement_action lock_facing_direction
|
||||
create_movement_action unlock_facing_direction
|
||||
create_movement_action jump_down
|
||||
create_movement_action jump_up
|
||||
create_movement_action jump_left
|
||||
create_movement_action jump_right
|
||||
create_movement_action jump_in_place_down
|
||||
create_movement_action jump_in_place_up
|
||||
create_movement_action jump_in_place_left
|
||||
create_movement_action jump_in_place_right
|
||||
create_movement_action jump_in_place_down_up
|
||||
create_movement_action jump_in_place_up_down
|
||||
create_movement_action jump_in_place_left_right
|
||||
create_movement_action jump_in_place_right_left
|
||||
create_movement_action face_original_direction
|
||||
create_movement_action nurse_joy_bow
|
||||
create_movement_action enable_jump_landing_ground_effect
|
||||
create_movement_action disable_jump_landing_ground_effect
|
||||
create_movement_action disable_anim
|
||||
create_movement_action restore_anim
|
||||
create_movement_action set_invisible
|
||||
create_movement_action set_visible
|
||||
create_movement_action emote_exclamation_mark
|
||||
create_movement_action emote_question_mark
|
||||
create_movement_action emote_heart
|
||||
create_movement_action reveal_trainer
|
||||
create_movement_action rock_smash_break
|
||||
create_movement_action cut_tree
|
||||
create_movement_action set_fixed_priority
|
||||
create_movement_action clear_fixed_priority
|
||||
create_movement_action init_affine_anim
|
||||
create_movement_action clear_affine_anim
|
||||
create_movement_action hide_reflection
|
||||
create_movement_action show_reflection
|
||||
create_movement_action walk_down_start_affine
|
||||
create_movement_action walk_down_affine
|
||||
create_movement_action face_down, MOVEMENT_ACTION_FACE_DOWN
|
||||
create_movement_action face_up, MOVEMENT_ACTION_FACE_UP
|
||||
create_movement_action face_left, MOVEMENT_ACTION_FACE_LEFT
|
||||
create_movement_action face_right, MOVEMENT_ACTION_FACE_RIGHT
|
||||
create_movement_action walk_slow_down, MOVEMENT_ACTION_WALK_SLOW_DOWN
|
||||
create_movement_action walk_slow_up, MOVEMENT_ACTION_WALK_SLOW_UP
|
||||
create_movement_action walk_slow_left, MOVEMENT_ACTION_WALK_SLOW_LEFT
|
||||
create_movement_action walk_slow_right, MOVEMENT_ACTION_WALK_SLOW_RIGHT
|
||||
create_movement_action walk_down, MOVEMENT_ACTION_WALK_NORMAL_DOWN
|
||||
create_movement_action walk_up, MOVEMENT_ACTION_WALK_NORMAL_UP
|
||||
create_movement_action walk_left, MOVEMENT_ACTION_WALK_NORMAL_LEFT
|
||||
create_movement_action walk_right, MOVEMENT_ACTION_WALK_NORMAL_RIGHT
|
||||
create_movement_action jump_2_down, MOVEMENT_ACTION_JUMP_2_DOWN
|
||||
create_movement_action jump_2_up, MOVEMENT_ACTION_JUMP_2_UP
|
||||
create_movement_action jump_2_left, MOVEMENT_ACTION_JUMP_2_LEFT
|
||||
create_movement_action jump_2_right, MOVEMENT_ACTION_JUMP_2_RIGHT
|
||||
create_movement_action delay_1, MOVEMENT_ACTION_DELAY_1
|
||||
create_movement_action delay_2, MOVEMENT_ACTION_DELAY_2
|
||||
create_movement_action delay_4, MOVEMENT_ACTION_DELAY_4
|
||||
create_movement_action delay_8, MOVEMENT_ACTION_DELAY_8
|
||||
create_movement_action delay_16, MOVEMENT_ACTION_DELAY_16
|
||||
create_movement_action walk_fast_down, MOVEMENT_ACTION_WALK_FAST_DOWN
|
||||
create_movement_action walk_fast_up, MOVEMENT_ACTION_WALK_FAST_UP
|
||||
create_movement_action walk_fast_left, MOVEMENT_ACTION_WALK_FAST_LEFT
|
||||
create_movement_action walk_fast_right, MOVEMENT_ACTION_WALK_FAST_RIGHT
|
||||
create_movement_action walk_in_place_slow_down, MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN
|
||||
create_movement_action walk_in_place_slow_up, MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP
|
||||
create_movement_action walk_in_place_slow_left, MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT
|
||||
create_movement_action walk_in_place_slow_right, MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT
|
||||
create_movement_action walk_in_place_down, MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN
|
||||
create_movement_action walk_in_place_up, MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP
|
||||
create_movement_action walk_in_place_left, MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT
|
||||
create_movement_action walk_in_place_right, MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT
|
||||
create_movement_action walk_in_place_fast_down, MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN
|
||||
create_movement_action walk_in_place_fast_up, MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP
|
||||
create_movement_action walk_in_place_fast_left, MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT
|
||||
create_movement_action walk_in_place_fast_right, MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT
|
||||
create_movement_action walk_in_place_faster_down, MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_DOWN
|
||||
create_movement_action walk_in_place_faster_up, MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_UP
|
||||
create_movement_action walk_in_place_faster_left, MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_LEFT
|
||||
create_movement_action walk_in_place_faster_right, MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_RIGHT
|
||||
create_movement_action ride_water_current_down, MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN
|
||||
create_movement_action ride_water_current_up, MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP
|
||||
create_movement_action ride_water_current_left, MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT
|
||||
create_movement_action ride_water_current_right, MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT
|
||||
create_movement_action walk_faster_down, MOVEMENT_ACTION_WALK_FASTER_DOWN
|
||||
create_movement_action walk_faster_up, MOVEMENT_ACTION_WALK_FASTER_UP
|
||||
create_movement_action walk_faster_left, MOVEMENT_ACTION_WALK_FASTER_LEFT
|
||||
create_movement_action walk_faster_right, MOVEMENT_ACTION_WALK_FASTER_RIGHT
|
||||
create_movement_action slide_down, MOVEMENT_ACTION_SLIDE_DOWN
|
||||
create_movement_action slide_up, MOVEMENT_ACTION_SLIDE_UP
|
||||
create_movement_action slide_left, MOVEMENT_ACTION_SLIDE_LEFT
|
||||
create_movement_action slide_right, MOVEMENT_ACTION_SLIDE_RIGHT
|
||||
create_movement_action player_run_down, MOVEMENT_ACTION_PLAYER_RUN_DOWN
|
||||
create_movement_action player_run_up, MOVEMENT_ACTION_PLAYER_RUN_UP
|
||||
create_movement_action player_run_left, MOVEMENT_ACTION_PLAYER_RUN_LEFT
|
||||
create_movement_action player_run_right, MOVEMENT_ACTION_PLAYER_RUN_RIGHT
|
||||
create_movement_action start_anim_in_direction, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION
|
||||
create_movement_action jump_special_down, MOVEMENT_ACTION_JUMP_SPECIAL_DOWN
|
||||
create_movement_action jump_special_up, MOVEMENT_ACTION_JUMP_SPECIAL_UP
|
||||
create_movement_action jump_special_left, MOVEMENT_ACTION_JUMP_SPECIAL_LEFT
|
||||
create_movement_action jump_special_right, MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT
|
||||
create_movement_action face_player, MOVEMENT_ACTION_FACE_PLAYER
|
||||
create_movement_action face_away_player, MOVEMENT_ACTION_FACE_AWAY_PLAYER
|
||||
create_movement_action lock_facing_direction, MOVEMENT_ACTION_LOCK_FACING_DIRECTION
|
||||
create_movement_action unlock_facing_direction, MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION
|
||||
create_movement_action jump_down, MOVEMENT_ACTION_JUMP_DOWN
|
||||
create_movement_action jump_up, MOVEMENT_ACTION_JUMP_UP
|
||||
create_movement_action jump_left, MOVEMENT_ACTION_JUMP_LEFT
|
||||
create_movement_action jump_right, MOVEMENT_ACTION_JUMP_RIGHT
|
||||
create_movement_action jump_in_place_down, MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN
|
||||
create_movement_action jump_in_place_up, MOVEMENT_ACTION_JUMP_IN_PLACE_UP
|
||||
create_movement_action jump_in_place_left, MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT
|
||||
create_movement_action jump_in_place_right, MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT
|
||||
create_movement_action jump_in_place_down_up, MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP
|
||||
create_movement_action jump_in_place_up_down, MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN
|
||||
create_movement_action jump_in_place_left_right, MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT
|
||||
create_movement_action jump_in_place_right_left, MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT
|
||||
create_movement_action face_original_direction, MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION
|
||||
create_movement_action nurse_joy_bow, MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN
|
||||
create_movement_action enable_jump_landing_ground_effect, MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT
|
||||
create_movement_action disable_jump_landing_ground_effect, MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT
|
||||
create_movement_action disable_anim, MOVEMENT_ACTION_DISABLE_ANIMATION
|
||||
create_movement_action restore_anim, MOVEMENT_ACTION_RESTORE_ANIMATION
|
||||
create_movement_action set_invisible, MOVEMENT_ACTION_SET_INVISIBLE
|
||||
create_movement_action set_visible, MOVEMENT_ACTION_SET_VISIBLE
|
||||
create_movement_action emote_exclamation_mark, MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK
|
||||
create_movement_action emote_question_mark, MOVEMENT_ACTION_EMOTE_QUESTION_MARK
|
||||
create_movement_action emote_heart, MOVEMENT_ACTION_EMOTE_HEART
|
||||
create_movement_action reveal_trainer, MOVEMENT_ACTION_REVEAL_TRAINER
|
||||
create_movement_action rock_smash_break, MOVEMENT_ACTION_ROCK_SMASH_BREAK
|
||||
create_movement_action cut_tree, MOVEMENT_ACTION_CUT_TREE
|
||||
create_movement_action set_fixed_priority, MOVEMENT_ACTION_SET_FIXED_PRIORITY
|
||||
create_movement_action clear_fixed_priority, MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY
|
||||
create_movement_action init_affine_anim, MOVEMENT_ACTION_INIT_AFFINE_ANIM
|
||||
create_movement_action clear_affine_anim, MOVEMENT_ACTION_CLEAR_AFFINE_ANIM
|
||||
create_movement_action hide_reflection, MOVEMENT_ACTION_HIDE_REFLECTION
|
||||
create_movement_action show_reflection, MOVEMENT_ACTION_SHOW_REFLECTION
|
||||
create_movement_action walk_down_start_affine, MOVEMENT_ACTION_WALK_DOWN_START_AFFINE
|
||||
create_movement_action walk_down_affine, MOVEMENT_ACTION_WALK_DOWN_AFFINE
|
||||
create_movement_action acro_wheelie_face_down, MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN
|
||||
create_movement_action acro_wheelie_face_up, MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP
|
||||
create_movement_action acro_wheelie_face_left, MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT
|
||||
create_movement_action acro_wheelie_face_right, MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT
|
||||
create_movement_action acro_pop_wheelie_down, MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN
|
||||
create_movement_action acro_pop_wheelie_up, MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP
|
||||
create_movement_action acro_pop_wheelie_left, MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT
|
||||
create_movement_action acro_pop_wheelie_right, MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT
|
||||
create_movement_action acro_end_wheelie_face_down, MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN
|
||||
create_movement_action acro_end_wheelie_face_up, MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP
|
||||
create_movement_action acro_end_wheelie_face_left, MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT
|
||||
create_movement_action acro_end_wheelie_face_right, MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT
|
||||
create_movement_action acro_wheelie_hop_face_down, MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN
|
||||
create_movement_action acro_wheelie_hop_face_up, MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP
|
||||
create_movement_action acro_wheelie_hop_face_left, MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT
|
||||
create_movement_action acro_wheelie_hop_face_right, MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT
|
||||
create_movement_action acro_wheelie_hop_down, MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN
|
||||
create_movement_action acro_wheelie_hop_up, MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP
|
||||
create_movement_action acro_wheelie_hop_left, MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT
|
||||
create_movement_action acro_wheelie_hop_right, MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT
|
||||
create_movement_action acro_wheelie_jump_down, MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN
|
||||
create_movement_action acro_wheelie_jump_up, MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP
|
||||
create_movement_action acro_wheelie_jump_left, MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT
|
||||
create_movement_action acro_wheelie_jump_right, MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT
|
||||
create_movement_action acro_wheelie_in_place_down, MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN
|
||||
create_movement_action acro_wheelie_in_place_up, MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP
|
||||
create_movement_action acro_wheelie_in_place_left, MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT
|
||||
create_movement_action acro_wheelie_in_place_right, MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT
|
||||
create_movement_action acro_pop_wheelie_move_down, MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN
|
||||
create_movement_action acro_pop_wheelie_move_up, MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP
|
||||
create_movement_action acro_pop_wheelie_move_left, MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT
|
||||
create_movement_action acro_pop_wheelie_move_right, MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT
|
||||
create_movement_action acro_wheelie_move_down, MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN
|
||||
create_movement_action acro_wheelie_move_up, MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP
|
||||
create_movement_action acro_wheelie_move_left, MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT
|
||||
create_movement_action acro_wheelie_move_right, MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT
|
||||
create_movement_action acro_end_wheelie_move_down, MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN
|
||||
create_movement_action acro_end_wheelie_move_up, MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP
|
||||
create_movement_action acro_end_wheelie_move_left, MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT
|
||||
create_movement_action acro_end_wheelie_move_right, MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT
|
||||
create_movement_action walk_diag_northwest, MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_LEFT
|
||||
create_movement_action walk_diag_northeast, MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_RIGHT
|
||||
create_movement_action walk_diag_southwest, MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_LEFT
|
||||
create_movement_action walk_diag_southeast, MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_RIGHT
|
||||
create_movement_action walk_slow_diag_northwest, MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_LEFT
|
||||
create_movement_action walk_slow_diag_northeast, MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT
|
||||
create_movement_action walk_slow_diag_southwest, MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT
|
||||
create_movement_action walk_slow_diag_southeast, MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT
|
||||
create_movement_action store_lock_anim, MOVEMENT_ACTION_STORE_AND_LOCK_ANIM
|
||||
create_movement_action free_unlock_anim, MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM
|
||||
create_movement_action walk_left_affine, MOVEMENT_ACTION_WALK_LEFT_AFFINE
|
||||
create_movement_action walk_right_affine, MOVEMENT_ACTION_WALK_RIGHT_AFFINE
|
||||
create_movement_action levitate, MOVEMENT_ACTION_LEVITATE
|
||||
create_movement_action stop_levitate, MOVEMENT_ACTION_STOP_LEVITATE
|
||||
create_movement_action destroy_extra_task, MOVEMENT_ACTION_STOP_LEVITATE_AT_TOP
|
||||
create_movement_action figure_8, MOVEMENT_ACTION_FIGURE_8
|
||||
create_movement_action fly_up, MOVEMENT_ACTION_FLY_UP
|
||||
create_movement_action fly_down, MOVEMENT_ACTION_FLY_DOWN
|
||||
|
||||
enum_start 0x8C
|
||||
create_movement_action walk_diag_northwest
|
||||
create_movement_action walk_diag_northeast
|
||||
create_movement_action walk_diag_southwest
|
||||
create_movement_action walk_diag_southeast
|
||||
create_movement_action walk_slow_diag_northwest
|
||||
create_movement_action walk_slow_diag_northeast
|
||||
create_movement_action walk_slow_diag_southwest
|
||||
create_movement_action walk_slow_diag_southeast
|
||||
create_movement_action store_lock_anim
|
||||
create_movement_action free_unlock_anim
|
||||
create_movement_action walk_left_affine
|
||||
create_movement_action walk_right_affine
|
||||
create_movement_action levitate
|
||||
create_movement_action stop_levitate
|
||||
create_movement_action destroy_extra_task
|
||||
create_movement_action figure_8
|
||||
create_movement_action fly_up
|
||||
create_movement_action fly_down
|
||||
|
||||
enum_start 0xfe
|
||||
create_movement_action step_end
|
||||
create_movement_action step_end, MOVEMENT_ACTION_STEP_END
|
||||
|
||||
@ -145,7 +145,7 @@
|
||||
.byte 0xff, 0, 0xff, 0
|
||||
.endm
|
||||
|
||||
.macro cry2 sample:req
|
||||
.macro cry_reverse sample:req
|
||||
.byte 0x30, 60, 0, 0
|
||||
.4byte \sample
|
||||
.byte 0xff, 0, 0xff, 0
|
||||
|
||||
@ -3,11 +3,11 @@ gLastSaveCounter
|
||||
gLastKnownGoodSector
|
||||
gDamagedSaveSectors
|
||||
gSaveCounter
|
||||
gFastSaveSection
|
||||
gUnknown_03006208
|
||||
gReadWriteSector
|
||||
gIncrementalSectorId
|
||||
gSaveUnusedVar
|
||||
gSaveFileStatus
|
||||
gGameContinueCallback
|
||||
gRamSaveSectionLocations
|
||||
gRamSaveSectorLocations
|
||||
gSaveUnusedVar2
|
||||
gSaveAttemptStatus
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
#include "constants/battle_anim.h"
|
||||
#include "constants/rgb.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/sound.h"
|
||||
#include "constants/moves.h"
|
||||
#include "constants/pokemon.h"
|
||||
#include "constants/items.h"
|
||||
@ -18776,7 +18777,7 @@ Move_ROAR:
|
||||
monbg ANIM_ATTACKER
|
||||
splitbgprio ANIM_ATTACKER
|
||||
setalpha 8, 8
|
||||
createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, 2
|
||||
createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_ROAR
|
||||
createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 10, ANIM_ATTACKER, 1
|
||||
call RoarEffect
|
||||
delay 20
|
||||
@ -18801,7 +18802,7 @@ RoarEffect:
|
||||
|
||||
Move_GROWL:
|
||||
loadspritegfx ANIM_TAG_NOISE_LINE
|
||||
createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, 255
|
||||
createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_GROWL
|
||||
call RoarEffect
|
||||
delay 10
|
||||
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 9, 1
|
||||
@ -22303,14 +22304,15 @@ Move_BLAZE_KICK:
|
||||
|
||||
Move_HYPER_VOICE:
|
||||
loadspritegfx ANIM_TAG_THIN_RING
|
||||
createvisualtask SoundTask_PlayCryWithEcho, 5, 0
|
||||
createvisualtask SoundTask_PlayCryWithEcho, 5, FALSE
|
||||
call HyperVoiceEffect
|
||||
waitforvisualfinish
|
||||
delay 8
|
||||
createvisualtask SoundTask_PlayCryWithEcho, 5, 1
|
||||
createvisualtask SoundTask_PlayCryWithEcho, 5, TRUE
|
||||
call HyperVoiceEffect
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
HyperVoiceEffect:
|
||||
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 8, 0, RGB_YELLOW
|
||||
createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 5, ANIM_ATTACKER, 0
|
||||
|
||||
@ -45,6 +45,7 @@
|
||||
#include "constants/script_menu.h"
|
||||
#include "constants/secret_bases.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/sound.h"
|
||||
#include "constants/species.h"
|
||||
#include "constants/trade.h"
|
||||
#include "constants/trainer_hill.h"
|
||||
|
||||
@ -59,7 +59,7 @@ AncientTomb_EventScript_Registeel::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_REGISTEEL, 2
|
||||
playmoncry SPECIES_REGISTEEL, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setwildbattle SPECIES_REGISTEEL, 40, ITEM_NONE
|
||||
|
||||
@ -32,7 +32,7 @@ AquaHideout_B1F_EventScript_Electrode1::
|
||||
faceplayer
|
||||
setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE
|
||||
waitse
|
||||
playmoncry SPECIES_ELECTRODE, 2
|
||||
playmoncry SPECIES_ELECTRODE, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setflag FLAG_SYS_CTRL_OBJ_DELETE
|
||||
@ -59,7 +59,7 @@ AquaHideout_B1F_EventScript_Electrode2::
|
||||
faceplayer
|
||||
setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE
|
||||
waitse
|
||||
playmoncry SPECIES_ELECTRODE, 2
|
||||
playmoncry SPECIES_ELECTRODE, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setflag FLAG_SYS_CTRL_OBJ_DELETE
|
||||
|
||||
@ -303,7 +303,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaAttack::
|
||||
msgbox BattleFrontier_BattlePikeRoomNormal_Text_KirliaStop, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
waitse
|
||||
playmoncry SPECIES_KIRLIA, 0
|
||||
playmoncry SPECIES_KIRLIA, CRY_MODE_NORMAL
|
||||
waitmoncry
|
||||
pike_getstatus
|
||||
compare VAR_RESULT, PIKE_STATUS_TOXIC
|
||||
@ -321,11 +321,11 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaAttack::
|
||||
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_KIRLIA, 0
|
||||
playmoncry SPECIES_KIRLIA, CRY_MODE_NORMAL
|
||||
waitmoncry
|
||||
msgbox BattleFrontier_BattlePikeRoomNormal_Text_ThatsEnough, MSGBOX_DEFAULT
|
||||
waitse
|
||||
playmoncry SPECIES_KIRLIA, 0
|
||||
playmoncry SPECIES_KIRLIA, CRY_MODE_NORMAL
|
||||
waitmoncry
|
||||
closemessage
|
||||
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside
|
||||
@ -338,7 +338,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsAttack::
|
||||
msgbox BattleFrontier_BattlePikeRoomNormal_Text_DusclopsStop, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
waitse
|
||||
playmoncry SPECIES_DUSCLOPS, 0
|
||||
playmoncry SPECIES_DUSCLOPS, CRY_MODE_NORMAL
|
||||
waitmoncry
|
||||
pike_getstatus
|
||||
compare VAR_RESULT, PIKE_STATUS_FREEZE
|
||||
@ -352,11 +352,11 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsAttack::
|
||||
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_DUSCLOPS, 0
|
||||
playmoncry SPECIES_DUSCLOPS, CRY_MODE_NORMAL
|
||||
waitmoncry
|
||||
msgbox BattleFrontier_BattlePikeRoomNormal_Text_ThatsEnough, MSGBOX_DEFAULT
|
||||
waitse
|
||||
playmoncry SPECIES_DUSCLOPS, 0
|
||||
playmoncry SPECIES_DUSCLOPS, CRY_MODE_NORMAL
|
||||
waitmoncry
|
||||
closemessage
|
||||
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside
|
||||
|
||||
@ -72,7 +72,7 @@ BattleFrontier_OutsideEast_EventScript_Zigzagoon::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_ZIGZAGOON, 0
|
||||
playmoncry SPECIES_ZIGZAGOON, CRY_MODE_NORMAL
|
||||
msgbox BattleFrontier_OutsideEast_Text_ZigzagoonLooksVacant, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
@ -126,7 +126,7 @@ BattleFrontier_OutsideEast_EventScript_WaterSudowoodo::
|
||||
msgbox gText_Sudowoodo_Attacked, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
waitse
|
||||
playmoncry SPECIES_SUDOWOODO, 2
|
||||
playmoncry SPECIES_SUDOWOODO, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setvar VAR_LAST_TALKED, LOCALID_SUDOWOODO
|
||||
|
||||
@ -33,7 +33,7 @@ BattleFrontier_PokemonCenter_1F_EventScript_Skitty::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_SKITTY, 0
|
||||
playmoncry SPECIES_SKITTY, CRY_MODE_NORMAL
|
||||
msgbox BattleFrontier_PokemonCenter_1F_Text_Skitty, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -79,7 +79,7 @@ BirthIsland_Exterior_EventScript_Deoxys::
|
||||
applymovement LOCALID_DEOXYS, BirthIsland_Exterior_Movement_DeoxysApproach
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_DEOXYS, 2
|
||||
playmoncry SPECIES_DEOXYS, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setvar VAR_LAST_TALKED, LOCALID_DEOXYS
|
||||
|
||||
@ -59,7 +59,7 @@ DesertRuins_EventScript_Regirock::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_REGIROCK, 2
|
||||
playmoncry SPECIES_REGIROCK, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setwildbattle SPECIES_REGIROCK, 40, ITEM_NONE
|
||||
|
||||
@ -13,7 +13,7 @@ DewfordTown_House1_EventScript_Zigzagoon::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_ZIGZAGOON, 0
|
||||
playmoncry SPECIES_ZIGZAGOON, CRY_MODE_NORMAL
|
||||
msgbox DewfordTown_House1_Text_Zigzagoon, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -33,7 +33,7 @@ FallarborTown_EventScript_Azurill::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_AZURILL, 0
|
||||
playmoncry SPECIES_AZURILL, CRY_MODE_NORMAL
|
||||
msgbox FallarborTown_Text_Azurill, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -41,7 +41,7 @@ FallarborTown_Mart_EventScript_Skitty::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_SKITTY, 0
|
||||
playmoncry SPECIES_SKITTY, CRY_MODE_NORMAL
|
||||
msgbox FallarborTown_Mart_Text_Skitty, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -126,7 +126,7 @@ FarawayIsland_Interior_EventScript_Mew::
|
||||
special SetMewAboveGrass
|
||||
message FarawayIsland_Interior_Text_Mew
|
||||
waitse
|
||||
playmoncry SPECIES_MEW, 2
|
||||
playmoncry SPECIES_MEW, CRY_MODE_ENCOUNTER
|
||||
compare VAR_FACING, DIR_NORTH
|
||||
call_if_eq FarawayIsland_Interior_EventScript_FoundMewNorth
|
||||
compare VAR_FACING, DIR_SOUTH
|
||||
|
||||
@ -75,7 +75,7 @@ FortreeCity_EventScript_UseDevonScope::
|
||||
applymovement VAR_LAST_TALKED, Movement_KecleonAppears
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_KECLEON, 2
|
||||
playmoncry SPECIES_KECLEON, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
applymovement VAR_LAST_TALKED, FortreeCity_Movement_KecleonFlee
|
||||
|
||||
@ -57,7 +57,7 @@ FortreeCity_House1_EventScript_Zigzagoon::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_ZIGZAGOON, 0
|
||||
playmoncry SPECIES_ZIGZAGOON, CRY_MODE_NORMAL
|
||||
msgbox FortreeCity_House1_Text_Zigzagoon, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -59,7 +59,7 @@ FortreeCity_House4_EventScript_Wingull::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_WINGULL, 0
|
||||
playmoncry SPECIES_WINGULL, CRY_MODE_NORMAL
|
||||
msgbox FortreeCity_House4_Text_Wingull, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -13,7 +13,7 @@ FortreeCity_House5_EventScript_Zigzagoon::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_ZIGZAGOON, 0
|
||||
playmoncry SPECIES_ZIGZAGOON, CRY_MODE_NORMAL
|
||||
msgbox FortreeCity_House5_Text_Zigzagoon, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -92,7 +92,7 @@ IslandCave_EventScript_Regice::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_REGICE, 2
|
||||
playmoncry SPECIES_REGICE, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setwildbattle SPECIES_REGICE, 40, ITEM_NONE
|
||||
|
||||
@ -9,7 +9,7 @@ LavaridgeTown_House_EventScript_Zigzagoon::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_ZIGZAGOON, 0
|
||||
playmoncry SPECIES_ZIGZAGOON, CRY_MODE_NORMAL
|
||||
msgbox LavaridgeTown_House_Text_Zigzagoon, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -141,7 +141,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_Azumarill::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_AZUMARILL, 0
|
||||
playmoncry SPECIES_AZUMARILL, CRY_MODE_NORMAL
|
||||
msgbox LilycoveCity_DepartmentStore_1F_Text_Azumarill, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -9,7 +9,7 @@ LilycoveCity_House1_EventScript_Kecleon::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_KECLEON, 0
|
||||
playmoncry SPECIES_KECLEON, CRY_MODE_NORMAL
|
||||
msgbox LilycoveCity_House1_Text_Kecleon, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -32,7 +32,7 @@ MarineCave_End_EventScript_Kyogre::
|
||||
applymovement LOCALID_KYOGRE, MarineCave_End_Movement_KyogreApproach
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_KYOGRE, 2
|
||||
playmoncry SPECIES_KYOGRE, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setvar VAR_LAST_TALKED, LOCALID_KYOGRE
|
||||
|
||||
@ -15,7 +15,7 @@ MossdeepCity_House2_EventScript_Wingull::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_WINGULL, 0
|
||||
playmoncry SPECIES_WINGULL, CRY_MODE_NORMAL
|
||||
msgbox MossdeepCity_House2_Text_Wingull, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
closemessage
|
||||
|
||||
@ -34,7 +34,7 @@ MossdeepCity_House4_EventScript_Skitty::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_SKITTY, 0
|
||||
playmoncry SPECIES_SKITTY, CRY_MODE_NORMAL
|
||||
msgbox MossdeepCity_House4_Text_Skitty, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -51,7 +51,7 @@ NavelRock_Bottom_EventScript_Lugia::
|
||||
delay 30
|
||||
delay 50
|
||||
waitse
|
||||
playmoncry SPECIES_LUGIA, 2
|
||||
playmoncry SPECIES_LUGIA, CRY_MODE_ENCOUNTER
|
||||
waitmoncry
|
||||
delay 20
|
||||
setvar VAR_0x8004, SPECIES_LUGIA
|
||||
|
||||
@ -47,7 +47,7 @@ NavelRock_Top_EventScript_HoOh::
|
||||
setweather WEATHER_NONE
|
||||
doweather
|
||||
waitse
|
||||
playmoncry SPECIES_HO_OH, 2
|
||||
playmoncry SPECIES_HO_OH, CRY_MODE_ENCOUNTER
|
||||
delay 30
|
||||
waitmoncry
|
||||
delay 60
|
||||
|
||||
@ -183,7 +183,7 @@ NewMauville_Inside_EventScript_Voltorb1::
|
||||
faceplayer
|
||||
setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
|
||||
waitse
|
||||
playmoncry SPECIES_VOLTORB, 2
|
||||
playmoncry SPECIES_VOLTORB, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setflag FLAG_SYS_CTRL_OBJ_DELETE
|
||||
@ -210,7 +210,7 @@ NewMauville_Inside_EventScript_Voltorb2::
|
||||
faceplayer
|
||||
setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
|
||||
waitse
|
||||
playmoncry SPECIES_VOLTORB, 2
|
||||
playmoncry SPECIES_VOLTORB, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setflag FLAG_SYS_CTRL_OBJ_DELETE
|
||||
@ -237,7 +237,7 @@ NewMauville_Inside_EventScript_Voltorb3::
|
||||
faceplayer
|
||||
setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
|
||||
waitse
|
||||
playmoncry SPECIES_VOLTORB, 2
|
||||
playmoncry SPECIES_VOLTORB, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setflag FLAG_SYS_CTRL_OBJ_DELETE
|
||||
|
||||
@ -77,7 +77,7 @@ PacifidlogTown_House2_EventScript_HappyAzurill::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_AZURILL, 0
|
||||
playmoncry SPECIES_AZURILL, CRY_MODE_NORMAL
|
||||
msgbox PacifidlogTown_House2_Text_Rurii, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
msgbox PacifidlogTown_House2_Text_VeryFriendlyWithTrainer, MSGBOX_DEFAULT
|
||||
@ -88,7 +88,7 @@ PacifidlogTown_House2_EventScript_UnhappyAzurill::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_AZURILL, 2
|
||||
playmoncry SPECIES_AZURILL, CRY_MODE_ENCOUNTER
|
||||
msgbox PacifidlogTown_House2_Text_Rururi, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
msgbox PacifidlogTown_House2_Text_DoesntLikeTrainerVeryMuch, MSGBOX_DEFAULT
|
||||
|
||||
@ -95,7 +95,7 @@ Route104_MrBrineysHouse_EventScript_Peeko::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_WINGULL, 0
|
||||
playmoncry SPECIES_WINGULL, CRY_MODE_NORMAL
|
||||
msgbox Route104_MrBrineysHouse_Text_Peeko, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -362,7 +362,7 @@ Route109_EventScript_Zigzagoon::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_ZIGZAGOON, 0
|
||||
playmoncry SPECIES_ZIGZAGOON, CRY_MODE_NORMAL
|
||||
msgbox Route109_Text_ZigzagoonCry, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -68,7 +68,7 @@ Route114_EventScript_Poochyena::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_POOCHYENA, 2
|
||||
playmoncry SPECIES_POOCHYENA, CRY_MODE_ENCOUNTER
|
||||
msgbox Route114_Text_Poochyena, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -9,7 +9,7 @@ Route119_House_EventScript_Wingull::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_WINGULL, 0
|
||||
playmoncry SPECIES_WINGULL, CRY_MODE_NORMAL
|
||||
msgbox Route119_House_Text_Wingull, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -210,7 +210,7 @@ Route120_EventScript_StevenBattleKecleon::
|
||||
applymovement LOCALID_BRIDGE_KECLEON, Movement_KecleonAppears
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_KECLEON, 2
|
||||
playmoncry SPECIES_KECLEON, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setwildbattle SPECIES_KECLEON, 30, ITEM_NONE
|
||||
|
||||
@ -9,7 +9,7 @@ RustboroCity_Flat2_1F_EventScript_Skitty::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_SKITTY, 0
|
||||
playmoncry SPECIES_SKITTY, CRY_MODE_NORMAL
|
||||
msgbox RustboroCity_Flat2_1F_Text_Skitty, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -14,7 +14,7 @@ RustboroCity_House3_EventScript_Pekachu::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_PIKACHU, 0
|
||||
playmoncry SPECIES_PIKACHU, CRY_MODE_NORMAL
|
||||
msgbox RustboroCity_House3_Text_Pekachu, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -307,7 +307,7 @@ RusturfTunnel_EventScript_Peeko::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_WINGULL, 0
|
||||
playmoncry SPECIES_WINGULL, CRY_MODE_NORMAL
|
||||
msgbox RusturfTunnel_Text_Peeko, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
@ -339,7 +339,7 @@ RusturfTunnel_EventScript_Grunt::
|
||||
message RusturfTunnel_Text_ThankYouLetsGoHomePeeko
|
||||
waitmessage
|
||||
waitse
|
||||
playmoncry SPECIES_WINGULL, 0
|
||||
playmoncry SPECIES_WINGULL, CRY_MODE_NORMAL
|
||||
waitbuttonpress
|
||||
waitmoncry
|
||||
closemessage
|
||||
|
||||
@ -92,7 +92,7 @@ SSTidalCorridor_EventScript_Peeko::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_WINGULL, 0
|
||||
playmoncry SPECIES_WINGULL, CRY_MODE_NORMAL
|
||||
msgbox SSTidalCorridor_Text_Peeko, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -48,7 +48,7 @@ SkyPillar_Top_EventScript_RayquazaFaceDown::
|
||||
SkyPillar_Top_EventScript_Rayquaza::
|
||||
lockall
|
||||
waitse
|
||||
playmoncry SPECIES_RAYQUAZA, 2
|
||||
playmoncry SPECIES_RAYQUAZA, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setwildbattle SPECIES_RAYQUAZA, 70, ITEM_NONE
|
||||
@ -105,7 +105,7 @@ SkyPillar_Top_EventScript_AwakenRayquaza::
|
||||
applymovement LOCALID_RAYQUAZA_SLEEPING, SkyPillar_Top_Movement_RayquazaStir
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_RAYQUAZA, 2
|
||||
playmoncry SPECIES_RAYQUAZA, CRY_MODE_ENCOUNTER
|
||||
setvar VAR_0x8004, 1 @ vertical pan
|
||||
setvar VAR_0x8005, 1 @ horizontal pan
|
||||
setvar VAR_0x8006, 8 @ num shakes
|
||||
@ -113,7 +113,7 @@ SkyPillar_Top_EventScript_AwakenRayquaza::
|
||||
special ShakeCamera
|
||||
waitstate
|
||||
waitse
|
||||
playmoncry SPECIES_RAYQUAZA, 2
|
||||
playmoncry SPECIES_RAYQUAZA, CRY_MODE_ENCOUNTER
|
||||
setvar VAR_0x8004, 1 @ vertical pan
|
||||
setvar VAR_0x8005, 2 @ horizontal pan
|
||||
setvar VAR_0x8006, 8 @ num shakes
|
||||
|
||||
@ -240,7 +240,7 @@ SlateportCity_PokemonFanClub_EventScript_Skitty::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_SKITTY, 0
|
||||
playmoncry SPECIES_SKITTY, CRY_MODE_NORMAL
|
||||
msgbox SlateportCity_PokemonFanClub_Text_Skitty, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
@ -250,7 +250,7 @@ SlateportCity_PokemonFanClub_EventScript_Zigzagoon::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_ZIGZAGOON, 0
|
||||
playmoncry SPECIES_ZIGZAGOON, CRY_MODE_NORMAL
|
||||
msgbox SlateportCity_PokemonFanClub_Text_Zigzagoon, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
@ -260,7 +260,7 @@ SlateportCity_PokemonFanClub_EventScript_Azumarill::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_AZUMARILL, 0
|
||||
playmoncry SPECIES_AZUMARILL, CRY_MODE_NORMAL
|
||||
msgbox SlateportCity_PokemonFanClub_Text_Azumarill, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -243,7 +243,7 @@ SootopolisCity_EventScript_LegendariesSceneFromPokeCenter::
|
||||
waitmovement 0
|
||||
delay 60
|
||||
waitse
|
||||
playmoncry SPECIES_KYOGRE, 2
|
||||
playmoncry SPECIES_KYOGRE, CRY_MODE_ENCOUNTER
|
||||
applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreAttack
|
||||
applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonDefend
|
||||
waitmovement 0
|
||||
@ -257,7 +257,7 @@ SootopolisCity_EventScript_LegendariesSceneFromPokeCenter::
|
||||
applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonMoveBack
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_GROUDON, 2
|
||||
playmoncry SPECIES_GROUDON, CRY_MODE_ENCOUNTER
|
||||
applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreDefend
|
||||
applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonAttack
|
||||
waitmovement 0
|
||||
@ -271,7 +271,7 @@ SootopolisCity_EventScript_LegendariesSceneFromPokeCenter::
|
||||
applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonMoveBack
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_KYOGRE, 2
|
||||
playmoncry SPECIES_KYOGRE, CRY_MODE_ENCOUNTER
|
||||
applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreAttack
|
||||
applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonDefend
|
||||
waitmovement 0
|
||||
@ -343,7 +343,7 @@ SootopolisCity_EventScript_LegendariesSceneFromDive::
|
||||
waitmovement 0
|
||||
delay 60
|
||||
waitse
|
||||
playmoncry SPECIES_KYOGRE, 2
|
||||
playmoncry SPECIES_KYOGRE, CRY_MODE_ENCOUNTER
|
||||
applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreAttack
|
||||
applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonDefend
|
||||
waitmovement 0
|
||||
@ -357,7 +357,7 @@ SootopolisCity_EventScript_LegendariesSceneFromDive::
|
||||
applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonMoveBack
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_GROUDON, 2
|
||||
playmoncry SPECIES_GROUDON, CRY_MODE_ENCOUNTER
|
||||
applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreDefend
|
||||
applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonAttack
|
||||
waitmovement 0
|
||||
@ -371,7 +371,7 @@ SootopolisCity_EventScript_LegendariesSceneFromDive::
|
||||
applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonMoveBack
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_KYOGRE, 2
|
||||
playmoncry SPECIES_KYOGRE, CRY_MODE_ENCOUNTER
|
||||
applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreAttack
|
||||
applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonDefend
|
||||
waitmovement 0
|
||||
@ -536,7 +536,7 @@ SootopolisCity_EventScript_RayquazaSceneFromPokeCenter::
|
||||
applymovement OBJ_EVENT_ID_CAMERA, SootopolisCity_Movement_PanUp
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_RAYQUAZA, 2
|
||||
playmoncry SPECIES_RAYQUAZA, CRY_MODE_ENCOUNTER
|
||||
setvar VAR_0x8004, 1 @ vertical pan
|
||||
setvar VAR_0x8005, 1 @ horizontal pan
|
||||
setvar VAR_0x8006, 8 @ num shakes
|
||||
@ -544,7 +544,7 @@ SootopolisCity_EventScript_RayquazaSceneFromPokeCenter::
|
||||
special ShakeCamera
|
||||
waitstate
|
||||
waitse
|
||||
playmoncry SPECIES_RAYQUAZA, 2
|
||||
playmoncry SPECIES_RAYQUAZA, CRY_MODE_ENCOUNTER
|
||||
setvar VAR_0x8004, 1 @ vertical pan
|
||||
setvar VAR_0x8005, 2 @ horizontal pan
|
||||
setvar VAR_0x8006, 8 @ num shakes
|
||||
@ -589,7 +589,7 @@ SootopolisCity_EventScript_RayquazaSceneFromDive::
|
||||
applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_Movement_PlayerApproachLegendaries
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_RAYQUAZA, 2
|
||||
playmoncry SPECIES_RAYQUAZA, CRY_MODE_ENCOUNTER
|
||||
setvar VAR_0x8004, 1 @ vertical pan
|
||||
setvar VAR_0x8005, 1 @ horizontal pan
|
||||
setvar VAR_0x8006, 8 @ num shakes
|
||||
@ -597,7 +597,7 @@ SootopolisCity_EventScript_RayquazaSceneFromDive::
|
||||
special ShakeCamera
|
||||
waitstate
|
||||
waitse
|
||||
playmoncry SPECIES_RAYQUAZA, 2
|
||||
playmoncry SPECIES_RAYQUAZA, CRY_MODE_ENCOUNTER
|
||||
setvar VAR_0x8004, 1 @ vertical pan
|
||||
setvar VAR_0x8005, 2 @ horizontal pan
|
||||
setvar VAR_0x8006, 8 @ num shakes
|
||||
|
||||
@ -23,7 +23,7 @@ SootopolisCity_House1_EventScript_Kecleon::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_KECLEON, 0
|
||||
playmoncry SPECIES_KECLEON, CRY_MODE_NORMAL
|
||||
msgbox SootopolisCity_House1_Text_Kecleon, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -13,7 +13,7 @@ SootopolisCity_House4_EventScript_Azumarill::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_AZUMARILL, 0
|
||||
playmoncry SPECIES_AZUMARILL, CRY_MODE_NORMAL
|
||||
msgbox SootopolisCity_House4_Text_Azumarill, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -68,7 +68,7 @@ SouthernIsland_Interior_EventScript_Lati::
|
||||
waitmovement 0
|
||||
delay 50
|
||||
waitse
|
||||
playmoncry VAR_TEMP_4, 0
|
||||
playmoncry VAR_TEMP_4, CRY_MODE_NORMAL
|
||||
delay 30
|
||||
waitmoncry
|
||||
addobject LOCALID_LATI
|
||||
|
||||
@ -32,7 +32,7 @@ TerraCave_End_EventScript_Groudon::
|
||||
applymovement LOCALID_GROUDON, TerraCave_End_Movement_GroudonApproach
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_GROUDON, 2
|
||||
playmoncry SPECIES_GROUDON, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setvar VAR_LAST_TALKED, LOCALID_GROUDON
|
||||
|
||||
@ -56,7 +56,7 @@ VerdanturfTown_FriendshipRatersHouse_EventScript_Pikachu::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_PIKACHU, 0
|
||||
playmoncry SPECIES_PIKACHU, CRY_MODE_NORMAL
|
||||
msgbox VerdanturfTown_FriendshipRatersHouse_Text_Pikachu, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
CaveOfOrigin_EventScript_LegendaryCry::
|
||||
lockall
|
||||
waitse
|
||||
playmoncry SPECIES_KYOGRE, 2 @ SPECIES_GROUDON in Ruby
|
||||
playmoncry SPECIES_KYOGRE, CRY_MODE_ENCOUNTER @ SPECIES_GROUDON in Ruby
|
||||
waitmoncry
|
||||
setvar VAR_TEMP_5, 1
|
||||
releaseall
|
||||
|
||||
@ -114,7 +114,7 @@ Route117_PokemonDayCare_EventScript_GiveMonToRaise::
|
||||
goto_if_eq Route117_PokemonDayCare_EventScript_OnlyOneAliveMon
|
||||
specialvar VAR_0x8005, GetSelectedMonNicknameAndSpecies
|
||||
waitse
|
||||
playmoncry VAR_0x8005, 0
|
||||
playmoncry VAR_0x8005, CRY_MODE_NORMAL
|
||||
msgbox Route117_PokemonDayCare_Text_WellRaiseYourMon, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
special StoreSelectedPokemonInDaycare
|
||||
@ -220,7 +220,7 @@ Route117_PokemonDayCare_EventScript_RetrieveMon::
|
||||
playse SE_SHOP
|
||||
msgbox Route117_PokemonDayCare_Text_HeresYourMon, MSGBOX_DEFAULT
|
||||
waitse
|
||||
playmoncry VAR_RESULT, 0
|
||||
playmoncry VAR_RESULT, CRY_MODE_NORMAL
|
||||
msgbox Route117_PokemonDayCare_Text_TookBackMon, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
specialvar VAR_RESULT, GetDaycareState
|
||||
|
||||
@ -70,7 +70,7 @@ EventScript_BattleKecleon::
|
||||
applymovement VAR_LAST_TALKED, Movement_KecleonAppears
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_KECLEON, 2
|
||||
playmoncry SPECIES_KECLEON, CRY_MODE_ENCOUNTER
|
||||
delay 40
|
||||
waitmoncry
|
||||
setwildbattle SPECIES_KECLEON, 30, ITEM_NONE
|
||||
|
||||
@ -454,7 +454,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_FeedPokeblock::
|
||||
waitmovement 0
|
||||
delay 60
|
||||
waitse
|
||||
playmoncry VAR_0x8005, 0
|
||||
playmoncry VAR_0x8005, CRY_MODE_NORMAL
|
||||
delay 120
|
||||
waitmoncry
|
||||
compare VAR_0x8004, 1
|
||||
@ -552,7 +552,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_Zigzagoon::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry VAR_0x8005, 0
|
||||
playmoncry VAR_0x8005, CRY_MODE_NORMAL
|
||||
msgbox LilycoveCity_PokemonCenter_1F_Text_Zigzagoon, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
@ -562,7 +562,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_Skitty::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry VAR_0x8005, 0
|
||||
playmoncry VAR_0x8005, CRY_MODE_NORMAL
|
||||
msgbox LilycoveCity_PokemonCenter_1F_Text_Skitty, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
@ -572,7 +572,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_Poochyena::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry VAR_0x8005, 0
|
||||
playmoncry VAR_0x8005, CRY_MODE_NORMAL
|
||||
msgbox LilycoveCity_PokemonCenter_1F_Text_Poochyena, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
@ -582,7 +582,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_Kecleon::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry VAR_0x8005, 0
|
||||
playmoncry VAR_0x8005, CRY_MODE_NORMAL
|
||||
msgbox LilycoveCity_PokemonCenter_1F_Text_Kecleon, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
@ -592,7 +592,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_Pikachu::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry VAR_0x8005, 0
|
||||
playmoncry VAR_0x8005, CRY_MODE_NORMAL
|
||||
msgbox LilycoveCity_PokemonCenter_1F_Text_Pikachu, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
@ -385,7 +385,7 @@ PlayersHouse_1F_EventScript_Vigoroth1::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_VIGOROTH, 0
|
||||
playmoncry SPECIES_VIGOROTH, CRY_MODE_NORMAL
|
||||
msgbox PlayersHouse_1F_Text_Vigoroth1, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
@ -395,7 +395,7 @@ PlayersHouse_1F_EventScript_Vigoroth2::
|
||||
lock
|
||||
faceplayer
|
||||
waitse
|
||||
playmoncry SPECIES_VIGOROTH, 0
|
||||
playmoncry SPECIES_VIGOROTH, CRY_MODE_NORMAL
|
||||
msgbox PlayersHouse_1F_Text_Vigoroth2, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
release
|
||||
|
||||
|
Before Width: | Height: | Size: 234 B After Width: | Height: | Size: 234 B |
|
Before Width: | Height: | Size: 229 B After Width: | Height: | Size: 229 B |
|
Before Width: | Height: | Size: 224 B After Width: | Height: | Size: 224 B |
|
Before Width: | Height: | Size: 216 B After Width: | Height: | Size: 216 B |
|
Before Width: | Height: | Size: 232 B After Width: | Height: | Size: 232 B |
|
Before Width: | Height: | Size: 234 B After Width: | Height: | Size: 234 B |
|
Before Width: | Height: | Size: 229 B After Width: | Height: | Size: 229 B |
|
Before Width: | Height: | Size: 224 B After Width: | Height: | Size: 224 B |
|
Before Width: | Height: | Size: 216 B After Width: | Height: | Size: 216 B |
|
Before Width: | Height: | Size: 232 B After Width: | Height: | Size: 232 B |
248
gflib/text.c
@ -13,8 +13,8 @@
|
||||
#include "dynamic_placeholder_text_util.h"
|
||||
#include "fonts.h"
|
||||
|
||||
static u16 RenderText(struct TextPrinter *textPrinter);
|
||||
static u32 RenderFont(struct TextPrinter *textPrinter);
|
||||
static u16 RenderText(struct TextPrinter *);
|
||||
static u32 RenderFont(struct TextPrinter *);
|
||||
static u16 FontFunc_Small(struct TextPrinter *);
|
||||
static u16 FontFunc_Normal(struct TextPrinter *);
|
||||
static u16 FontFunc_Short(struct TextPrinter *);
|
||||
@ -23,32 +23,32 @@ static u16 FontFunc_ShortCopy2(struct TextPrinter *);
|
||||
static u16 FontFunc_ShortCopy3(struct TextPrinter *);
|
||||
static u16 FontFunc_Narrow(struct TextPrinter *);
|
||||
static u16 FontFunc_SmallNarrow(struct TextPrinter *);
|
||||
static void DecompressGlyph_Small(u16 glyphId, bool32 isJapanese);
|
||||
static void DecompressGlyph_Normal(u16 glyphId, bool32 isJapanese);
|
||||
static void DecompressGlyph_Short(u16 glyphId, bool32 isJapanese);
|
||||
static void DecompressGlyph_Narrow(u16 glyphId, bool32 isJapanese);
|
||||
static void DecompressGlyph_SmallNarrow(u16 glyphId, bool32 isJapanese);
|
||||
static void DecompressGlyph_Bold(u16 glyphId);
|
||||
static u32 GetGlyphWidth_Small(u16 glyphId, bool32 isJapanese);
|
||||
static u32 GetGlyphWidth_Normal(u16 glyphId, bool32 isJapanese);
|
||||
static u32 GetGlyphWidth_Short(u16 glyphId, bool32 isJapanese);
|
||||
static u32 GetGlyphWidth_Narrow(u16 glyphId, bool32 isJapanese);
|
||||
static u32 GetGlyphWidth_SmallNarrow(u16 glyphId, bool32 isJapanese);
|
||||
static void DecompressGlyph_Small(u16, bool32);
|
||||
static void DecompressGlyph_Normal(u16, bool32);
|
||||
static void DecompressGlyph_Short(u16, bool32);
|
||||
static void DecompressGlyph_Narrow(u16, bool32);
|
||||
static void DecompressGlyph_SmallNarrow(u16, bool32);
|
||||
static void DecompressGlyph_Bold(u16);
|
||||
static u32 GetGlyphWidth_Small(u16, bool32);
|
||||
static u32 GetGlyphWidth_Normal(u16, bool32);
|
||||
static u32 GetGlyphWidth_Short(u16, bool32);
|
||||
static u32 GetGlyphWidth_Narrow(u16, bool32);
|
||||
static u32 GetGlyphWidth_SmallNarrow(u16, bool32);
|
||||
|
||||
EWRAM_DATA struct TextPrinter gTempTextPrinter = {0};
|
||||
EWRAM_DATA struct TextPrinter gTextPrinters[NUM_TEXT_PRINTERS] = {0};
|
||||
static EWRAM_DATA struct TextPrinter sTempTextPrinter = {0};
|
||||
static EWRAM_DATA struct TextPrinter sTextPrinters[NUM_TEXT_PRINTERS] = {0};
|
||||
|
||||
static u16 gFontHalfRowLookupTable[0x51];
|
||||
static u16 gLastTextBgColor;
|
||||
static u16 gLastTextFgColor;
|
||||
static u16 gLastTextShadowColor;
|
||||
static u16 sFontHalfRowLookupTable[0x51];
|
||||
static u16 sLastTextBgColor;
|
||||
static u16 sLastTextFgColor;
|
||||
static u16 sLastTextShadowColor;
|
||||
|
||||
const struct FontInfo *gFonts;
|
||||
bool8 gDisableTextPrinters;
|
||||
struct TextGlyph gCurGlyph;
|
||||
TextFlags gTextFlags;
|
||||
|
||||
const u8 gFontHalfRowOffsets[] =
|
||||
static const u8 sFontHalfRowOffsets[] =
|
||||
{
|
||||
0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00,
|
||||
0x09, 0x0A, 0x0B, 0x09, 0x0C, 0x0D, 0x0E, 0x0C, 0x0F, 0x10, 0x11, 0x0F, 0x09, 0x0A, 0x0B, 0x09,
|
||||
@ -68,12 +68,16 @@ const u8 gFontHalfRowOffsets[] =
|
||||
0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00
|
||||
};
|
||||
|
||||
const u8 gDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow.4bpp");
|
||||
const u8 gDarkDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow_RS.4bpp");
|
||||
const u8 gUnusedFRLGBlankedDownArrow[] = INCBIN_U8("graphics/fonts/unused_frlg_blanked_down_arrow.4bpp");
|
||||
const u8 gUnusedFRLGDownArrow[] = INCBIN_U8("graphics/fonts/unused_frlg_down_arrow.4bpp");
|
||||
const u8 gDownArrowYCoords[] = { 0, 1, 2, 1 };
|
||||
const u8 gWindowVerticalScrollSpeeds[] = { 1, 2, 4, 0x0 };
|
||||
static const u8 sDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow.4bpp");
|
||||
static const u8 sDarkDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow_alt.4bpp");
|
||||
static const u8 sUnusedFRLGBlankedDownArrow[] = INCBIN_U8("graphics/fonts/unused_frlg_blanked_down_arrow.4bpp");
|
||||
static const u8 sUnusedFRLGDownArrow[] = INCBIN_U8("graphics/fonts/unused_frlg_down_arrow.4bpp");
|
||||
static const u8 sDownArrowYCoords[] = { 0, 1, 2, 1 };
|
||||
static const u8 sWindowVerticalScrollSpeeds[] = {
|
||||
[OPTIONS_TEXT_SPEED_SLOW] = 1,
|
||||
[OPTIONS_TEXT_SPEED_MID] = 2,
|
||||
[OPTIONS_TEXT_SPEED_FAST] = 4,
|
||||
};
|
||||
|
||||
static const struct GlyphWidthFunc sGlyphWidthFuncs[] =
|
||||
{
|
||||
@ -88,24 +92,29 @@ static const struct GlyphWidthFunc sGlyphWidthFuncs[] =
|
||||
{ FONT_SMALL_NARROW, GetGlyphWidth_SmallNarrow }
|
||||
};
|
||||
|
||||
const struct KeypadIcon gKeypadIcons[] =
|
||||
struct
|
||||
{
|
||||
[CHAR_A_BUTTON] = { 0x0, 0x8, 0xC },
|
||||
[CHAR_B_BUTTON] = { 0x1, 0x8, 0xC },
|
||||
[CHAR_L_BUTTON] = { 0x2, 0x10, 0xC },
|
||||
[CHAR_R_BUTTON] = { 0x4, 0x10, 0xC },
|
||||
[CHAR_START_BUTTON] = { 0x6, 0x18, 0xC },
|
||||
[CHAR_SELECT_BUTTON] = { 0x9, 0x18, 0xC },
|
||||
[CHAR_DPAD_UP] = { 0xC, 0x8, 0xC },
|
||||
[CHAR_DPAD_DOWN] = { 0xD, 0x8, 0xC },
|
||||
[CHAR_DPAD_LEFT] = { 0xE, 0x8, 0xC },
|
||||
[CHAR_DPAD_RIGHT] = { 0xF, 0x8, 0xC },
|
||||
[CHAR_DPAD_UPDOWN] = { 0x20, 0x8, 0xC },
|
||||
[CHAR_DPAD_LEFTRIGHT] = { 0x21, 0x8, 0xC },
|
||||
[CHAR_DPAD_NONE] = { 0x22, 0x8, 0xC }
|
||||
u16 tileOffset;
|
||||
u8 width;
|
||||
u8 height;
|
||||
} static const sKeypadIcons[] =
|
||||
{
|
||||
[CHAR_A_BUTTON] = { 0x00, 8, 12 },
|
||||
[CHAR_B_BUTTON] = { 0x01, 8, 12 },
|
||||
[CHAR_L_BUTTON] = { 0x02, 16, 12 },
|
||||
[CHAR_R_BUTTON] = { 0x04, 16, 12 },
|
||||
[CHAR_START_BUTTON] = { 0x06, 24, 12 },
|
||||
[CHAR_SELECT_BUTTON] = { 0x09, 24, 12 },
|
||||
[CHAR_DPAD_UP] = { 0x0C, 8, 12 },
|
||||
[CHAR_DPAD_DOWN] = { 0x0D, 8, 12 },
|
||||
[CHAR_DPAD_LEFT] = { 0x0E, 8, 12 },
|
||||
[CHAR_DPAD_RIGHT] = { 0x0F, 8, 12 },
|
||||
[CHAR_DPAD_UPDOWN] = { 0x20, 8, 12 },
|
||||
[CHAR_DPAD_LEFTRIGHT] = { 0x21, 8, 12 },
|
||||
[CHAR_DPAD_NONE] = { 0x22, 8, 12 }
|
||||
};
|
||||
|
||||
const u8 gKeypadIconTiles[] = INCBIN_U8("graphics/fonts/keypad_icons.4bpp");
|
||||
static const u8 sKeypadIconTiles[] = INCBIN_U8("graphics/fonts/keypad_icons.4bpp");
|
||||
|
||||
static const struct FontInfo sFontInfos[] =
|
||||
{
|
||||
@ -225,7 +234,7 @@ static const u8 sMenuCursorDimensions[][2] =
|
||||
[FONT_BOLD] = {}
|
||||
};
|
||||
|
||||
const u16 gFontBoldJapaneseGlyphs[] = INCBIN_U16("graphics/fonts/bold.hwjpnfont");
|
||||
static const u16 sFontBoldJapaneseGlyphs[] = INCBIN_U16("graphics/fonts/bold.hwjpnfont");
|
||||
|
||||
static void SetFontsPointer(const struct FontInfo *fonts)
|
||||
{
|
||||
@ -236,7 +245,7 @@ void DeactivateAllTextPrinters(void)
|
||||
{
|
||||
int printer;
|
||||
for (printer = 0; printer < NUM_TEXT_PRINTERS; ++printer)
|
||||
gTextPrinters[printer].active = FALSE;
|
||||
sTextPrinters[printer].active = FALSE;
|
||||
}
|
||||
|
||||
u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16))
|
||||
@ -267,41 +276,41 @@ bool16 AddTextPrinter(struct TextPrinterTemplate *printerTemplate, u8 speed, voi
|
||||
if (!gFonts)
|
||||
return FALSE;
|
||||
|
||||
gTempTextPrinter.active = TRUE;
|
||||
gTempTextPrinter.state = RENDER_STATE_HANDLE_CHAR;
|
||||
gTempTextPrinter.textSpeed = speed;
|
||||
gTempTextPrinter.delayCounter = 0;
|
||||
gTempTextPrinter.scrollDistance = 0;
|
||||
sTempTextPrinter.active = TRUE;
|
||||
sTempTextPrinter.state = RENDER_STATE_HANDLE_CHAR;
|
||||
sTempTextPrinter.textSpeed = speed;
|
||||
sTempTextPrinter.delayCounter = 0;
|
||||
sTempTextPrinter.scrollDistance = 0;
|
||||
|
||||
for (i = 0; i < (int)ARRAY_COUNT(gTempTextPrinter.subStructFields); i++)
|
||||
gTempTextPrinter.subStructFields[i] = 0;
|
||||
for (i = 0; i < (int)ARRAY_COUNT(sTempTextPrinter.subStructFields); i++)
|
||||
sTempTextPrinter.subStructFields[i] = 0;
|
||||
|
||||
gTempTextPrinter.printerTemplate = *printerTemplate;
|
||||
gTempTextPrinter.callback = callback;
|
||||
gTempTextPrinter.minLetterSpacing = 0;
|
||||
gTempTextPrinter.japanese = 0;
|
||||
sTempTextPrinter.printerTemplate = *printerTemplate;
|
||||
sTempTextPrinter.callback = callback;
|
||||
sTempTextPrinter.minLetterSpacing = 0;
|
||||
sTempTextPrinter.japanese = 0;
|
||||
|
||||
GenerateFontHalfRowLookupTable(printerTemplate->fgColor, printerTemplate->bgColor, printerTemplate->shadowColor);
|
||||
if (speed != TEXT_SKIP_DRAW && speed != 0)
|
||||
{
|
||||
--gTempTextPrinter.textSpeed;
|
||||
gTextPrinters[printerTemplate->windowId] = gTempTextPrinter;
|
||||
--sTempTextPrinter.textSpeed;
|
||||
sTextPrinters[printerTemplate->windowId] = sTempTextPrinter;
|
||||
}
|
||||
else
|
||||
{
|
||||
gTempTextPrinter.textSpeed = 0;
|
||||
sTempTextPrinter.textSpeed = 0;
|
||||
|
||||
// Render all text (up to limit) at once
|
||||
for (j = 0; j < 0x400; ++j)
|
||||
{
|
||||
if (RenderFont(&gTempTextPrinter) == RENDER_FINISH)
|
||||
if (RenderFont(&sTempTextPrinter) == RENDER_FINISH)
|
||||
break;
|
||||
}
|
||||
|
||||
// All the text is rendered to the window but don't draw it yet.
|
||||
if (speed != TEXT_SKIP_DRAW)
|
||||
CopyWindowToVram(gTempTextPrinter.printerTemplate.windowId, COPYWIN_GFX);
|
||||
gTextPrinters[printerTemplate->windowId].active = FALSE;
|
||||
CopyWindowToVram(sTempTextPrinter.printerTemplate.windowId, COPYWIN_GFX);
|
||||
sTextPrinters[printerTemplate->windowId].active = FALSE;
|
||||
}
|
||||
gDisableTextPrinters = FALSE;
|
||||
return TRUE;
|
||||
@ -315,19 +324,19 @@ void RunTextPrinters(void)
|
||||
{
|
||||
for (i = 0; i < NUM_TEXT_PRINTERS; ++i)
|
||||
{
|
||||
if (gTextPrinters[i].active)
|
||||
if (sTextPrinters[i].active)
|
||||
{
|
||||
u16 temp = RenderFont(&gTextPrinters[i]);
|
||||
u16 temp = RenderFont(&sTextPrinters[i]);
|
||||
switch (temp)
|
||||
{
|
||||
case RENDER_PRINT:
|
||||
CopyWindowToVram(gTextPrinters[i].printerTemplate.windowId, COPYWIN_GFX);
|
||||
CopyWindowToVram(sTextPrinters[i].printerTemplate.windowId, COPYWIN_GFX);
|
||||
case RENDER_UPDATE:
|
||||
if (gTextPrinters[i].callback != 0)
|
||||
gTextPrinters[i].callback(&gTextPrinters[i].printerTemplate, temp);
|
||||
if (sTextPrinters[i].callback != 0)
|
||||
sTextPrinters[i].callback(&sTextPrinters[i].printerTemplate, temp);
|
||||
break;
|
||||
case RENDER_FINISH:
|
||||
gTextPrinters[i].active = FALSE;
|
||||
sTextPrinters[i].active = FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -337,7 +346,7 @@ void RunTextPrinters(void)
|
||||
|
||||
bool16 IsTextPrinterActive(u8 id)
|
||||
{
|
||||
return gTextPrinters[id].active;
|
||||
return sTextPrinters[id].active;
|
||||
}
|
||||
|
||||
static u32 RenderFont(struct TextPrinter *textPrinter)
|
||||
@ -356,11 +365,11 @@ void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor)
|
||||
u32 fg12, bg12, shadow12;
|
||||
u32 temp;
|
||||
|
||||
u16 *current = gFontHalfRowLookupTable;
|
||||
u16 *current = sFontHalfRowLookupTable;
|
||||
|
||||
gLastTextBgColor = bgColor;
|
||||
gLastTextFgColor = fgColor;
|
||||
gLastTextShadowColor = shadowColor;
|
||||
sLastTextBgColor = bgColor;
|
||||
sLastTextFgColor = fgColor;
|
||||
sLastTextShadowColor = shadowColor;
|
||||
|
||||
bg12 = bgColor << 12;
|
||||
fg12 = fgColor << 12;
|
||||
@ -504,9 +513,9 @@ void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor)
|
||||
|
||||
void SaveTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor)
|
||||
{
|
||||
*bgColor = gLastTextBgColor;
|
||||
*fgColor = gLastTextFgColor;
|
||||
*shadowColor = gLastTextShadowColor;
|
||||
*bgColor = sLastTextBgColor;
|
||||
*fgColor = sLastTextFgColor;
|
||||
*shadowColor = sLastTextShadowColor;
|
||||
}
|
||||
|
||||
void RestoreTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor)
|
||||
@ -521,40 +530,41 @@ void DecompressGlyphTile(const void *src_, void *dest_)
|
||||
u32 *dest = dest_;
|
||||
|
||||
temp = *(src++);
|
||||
*(dest)++ = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
|
||||
*(dest)++ = ((sFontHalfRowLookupTable[sFontHalfRowOffsets[temp & 0xFF]]) << 16) | (sFontHalfRowLookupTable[sFontHalfRowOffsets[temp >> 8]]);
|
||||
|
||||
temp = *(src++);
|
||||
*(dest++) = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
|
||||
*(dest++) = ((sFontHalfRowLookupTable[sFontHalfRowOffsets[temp & 0xFF]]) << 16) | (sFontHalfRowLookupTable[sFontHalfRowOffsets[temp >> 8]]);
|
||||
|
||||
temp = *(src++);
|
||||
*(dest++) = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
|
||||
*(dest++) = ((sFontHalfRowLookupTable[sFontHalfRowOffsets[temp & 0xFF]]) << 16) | (sFontHalfRowLookupTable[sFontHalfRowOffsets[temp >> 8]]);
|
||||
|
||||
temp = *(src++);
|
||||
*(dest++) = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
|
||||
*(dest++) = ((sFontHalfRowLookupTable[sFontHalfRowOffsets[temp & 0xFF]]) << 16) | (sFontHalfRowLookupTable[sFontHalfRowOffsets[temp >> 8]]);
|
||||
|
||||
temp = *(src++);
|
||||
*(dest++) = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
|
||||
*(dest++) = ((sFontHalfRowLookupTable[sFontHalfRowOffsets[temp & 0xFF]]) << 16) | (sFontHalfRowLookupTable[sFontHalfRowOffsets[temp >> 8]]);
|
||||
|
||||
temp = *(src++);
|
||||
*(dest++) = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
|
||||
*(dest++) = ((sFontHalfRowLookupTable[sFontHalfRowOffsets[temp & 0xFF]]) << 16) | (sFontHalfRowLookupTable[sFontHalfRowOffsets[temp >> 8]]);
|
||||
|
||||
temp = *(src++);
|
||||
*(dest++) = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
|
||||
*(dest++) = ((sFontHalfRowLookupTable[sFontHalfRowOffsets[temp & 0xFF]]) << 16) | (sFontHalfRowLookupTable[sFontHalfRowOffsets[temp >> 8]]);
|
||||
|
||||
temp = *(src++);
|
||||
*(dest++) = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
|
||||
*(dest++) = ((sFontHalfRowLookupTable[sFontHalfRowOffsets[temp & 0xFF]]) << 16) | (sFontHalfRowLookupTable[sFontHalfRowOffsets[temp >> 8]]);
|
||||
}
|
||||
|
||||
u8 GetLastTextColor(u8 colorType)
|
||||
// Unused
|
||||
static u8 GetLastTextColor(u8 colorType)
|
||||
{
|
||||
switch (colorType)
|
||||
{
|
||||
case 0:
|
||||
return gLastTextFgColor;
|
||||
return sLastTextFgColor;
|
||||
case 2:
|
||||
return gLastTextBgColor;
|
||||
return sLastTextBgColor;
|
||||
case 1:
|
||||
return gLastTextShadowColor;
|
||||
return sLastTextShadowColor;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
@ -644,7 +654,7 @@ void ClearTextSpan(struct TextPrinter *textPrinter, u32 width)
|
||||
struct TextGlyph *glyph;
|
||||
u8* glyphHeight;
|
||||
|
||||
if (gLastTextBgColor != 0)
|
||||
if (sLastTextBgColor != TEXT_COLOR_TRANSPARENT)
|
||||
{
|
||||
window = &gWindows[textPrinter->printerTemplate.windowId];
|
||||
pixels_data.pixels = window->tileData;
|
||||
@ -660,7 +670,7 @@ void ClearTextSpan(struct TextPrinter *textPrinter, u32 width)
|
||||
textPrinter->printerTemplate.currentY,
|
||||
width,
|
||||
*glyphHeight,
|
||||
gLastTextBgColor);
|
||||
sLastTextBgColor);
|
||||
}
|
||||
}
|
||||
|
||||
@ -798,20 +808,20 @@ void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter)
|
||||
|
||||
switch (gTextFlags.useAlternateDownArrow)
|
||||
{
|
||||
case FALSE:
|
||||
default:
|
||||
arrowTiles = gDownArrowTiles;
|
||||
break;
|
||||
case TRUE:
|
||||
arrowTiles = gDarkDownArrowTiles;
|
||||
break;
|
||||
case FALSE:
|
||||
default:
|
||||
arrowTiles = sDownArrowTiles;
|
||||
break;
|
||||
case TRUE:
|
||||
arrowTiles = sDarkDownArrowTiles;
|
||||
break;
|
||||
}
|
||||
|
||||
BlitBitmapRectToWindow(
|
||||
textPrinter->printerTemplate.windowId,
|
||||
arrowTiles,
|
||||
0,
|
||||
gDownArrowYCoords[subStruct->downArrowYPosIdx],
|
||||
sDownArrowYCoords[subStruct->downArrowYPosIdx],
|
||||
8,
|
||||
16,
|
||||
textPrinter->printerTemplate.currentX,
|
||||
@ -905,26 +915,16 @@ void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *c
|
||||
{
|
||||
switch (gTextFlags.useAlternateDownArrow)
|
||||
{
|
||||
case 0:
|
||||
default:
|
||||
arrowTiles = gDownArrowTiles;
|
||||
break;
|
||||
case 1:
|
||||
arrowTiles = gDarkDownArrowTiles;
|
||||
break;
|
||||
case FALSE:
|
||||
default:
|
||||
arrowTiles = sDownArrowTiles;
|
||||
break;
|
||||
case TRUE:
|
||||
arrowTiles = sDarkDownArrowTiles;
|
||||
break;
|
||||
}
|
||||
|
||||
BlitBitmapRectToWindow(
|
||||
windowId,
|
||||
arrowTiles,
|
||||
0,
|
||||
gDownArrowYCoords[*yCoordIndex & 3],
|
||||
0x8,
|
||||
0x10,
|
||||
x,
|
||||
y - 2,
|
||||
0x8,
|
||||
0x10);
|
||||
BlitBitmapRectToWindow(windowId, arrowTiles, 0, sDownArrowYCoords[*yCoordIndex & 3], 8, 16, x, y - 2, 8, 16);
|
||||
CopyWindowToVram(windowId, COPYWIN_GFX);
|
||||
*counter = 8;
|
||||
++*yCoordIndex;
|
||||
@ -942,7 +942,7 @@ static u16 RenderText(struct TextPrinter *textPrinter)
|
||||
switch (textPrinter->state)
|
||||
{
|
||||
case RENDER_STATE_HANDLE_CHAR:
|
||||
if ((JOY_HELD(A_BUTTON | B_BUTTON)) && subStruct->hasPrintBeenSpedUp)
|
||||
if (JOY_HELD(A_BUTTON | B_BUTTON) && subStruct->hasPrintBeenSpedUp)
|
||||
textPrinter->delayCounter = 0;
|
||||
|
||||
if (textPrinter->delayCounter && textPrinter->textSpeed)
|
||||
@ -1191,7 +1191,7 @@ static u16 RenderText(struct TextPrinter *textPrinter)
|
||||
if (textPrinter->scrollDistance)
|
||||
{
|
||||
int scrollSpeed = GetPlayerTextSpeed();
|
||||
int speed = gWindowVerticalScrollSpeeds[scrollSpeed];
|
||||
int speed = sWindowVerticalScrollSpeeds[scrollSpeed];
|
||||
if (textPrinter->scrollDistance < speed)
|
||||
{
|
||||
ScrollWindow(textPrinter->printerTemplate.windowId, 0, textPrinter->scrollDistance, PIXEL_FILL(textPrinter->printerTemplate.bgColor));
|
||||
@ -1612,31 +1612,31 @@ u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y)
|
||||
{
|
||||
BlitBitmapRectToWindow(
|
||||
windowId,
|
||||
gKeypadIconTiles + (gKeypadIcons[keypadIconId].tileOffset * 0x20),
|
||||
sKeypadIconTiles + (sKeypadIcons[keypadIconId].tileOffset * 0x20),
|
||||
0,
|
||||
0,
|
||||
0x80,
|
||||
0x80,
|
||||
x,
|
||||
y,
|
||||
gKeypadIcons[keypadIconId].width,
|
||||
gKeypadIcons[keypadIconId].height);
|
||||
return gKeypadIcons[keypadIconId].width;
|
||||
sKeypadIcons[keypadIconId].width,
|
||||
sKeypadIcons[keypadIconId].height);
|
||||
return sKeypadIcons[keypadIconId].width;
|
||||
}
|
||||
|
||||
u8 GetKeypadIconTileOffset(u8 keypadIconId)
|
||||
{
|
||||
return gKeypadIcons[keypadIconId].tileOffset;
|
||||
return sKeypadIcons[keypadIconId].tileOffset;
|
||||
}
|
||||
|
||||
u8 GetKeypadIconWidth(u8 keypadIconId)
|
||||
{
|
||||
return gKeypadIcons[keypadIconId].width;
|
||||
return sKeypadIcons[keypadIconId].width;
|
||||
}
|
||||
|
||||
u8 GetKeypadIconHeight(u8 keypadIconId)
|
||||
{
|
||||
return gKeypadIcons[keypadIconId].height;
|
||||
return sKeypadIcons[keypadIconId].height;
|
||||
}
|
||||
|
||||
void SetDefaultFontsPointer(void)
|
||||
@ -1898,7 +1898,7 @@ static void DecompressGlyph_Bold(u16 glyphId)
|
||||
{
|
||||
const u16* glyphs;
|
||||
|
||||
glyphs = gFontBoldJapaneseGlyphs + (0x100 * (glyphId >> 4)) + (0x8 * (glyphId & 0xF));
|
||||
glyphs = sFontBoldJapaneseGlyphs + (0x100 * (glyphId >> 4)) + (0x8 * (glyphId & 0xF));
|
||||
DecompressGlyphTile(glyphs, gCurGlyph.gfxBufferTop);
|
||||
DecompressGlyphTile(glyphs + 0x80, gCurGlyph.gfxBufferBottom);
|
||||
gCurGlyph.width = 8;
|
||||
|
||||
@ -117,13 +117,6 @@ struct GlyphWidthFunc
|
||||
u32 (*func)(u16 glyphId, bool32 isJapanese);
|
||||
};
|
||||
|
||||
struct KeypadIcon
|
||||
{
|
||||
u16 tileOffset;
|
||||
u8 width;
|
||||
u8 height;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
bool8 canABSpeedUpPrint:1;
|
||||
bool8 useAlternateDownArrow:1;
|
||||
@ -153,7 +146,6 @@ void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor);
|
||||
void SaveTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor);
|
||||
void RestoreTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor);
|
||||
void DecompressGlyphTile(const void *src_, void *dest_);
|
||||
u8 GetLastTextColor(u8 colorType);
|
||||
void CopyGlyphToWindow(struct TextPrinter *x);
|
||||
void ClearTextSpan(struct TextPrinter *textPrinter, u32 width);
|
||||
u8 GetMenuCursorDimensionByFont(u8, u8);
|
||||
|
||||
|
Before Width: | Height: | Size: 156 B After Width: | Height: | Size: 156 B |
|
Before Width: | Height: | Size: 134 B After Width: | Height: | Size: 134 B |
|
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 257 B |
|
Before Width: | Height: | Size: 194 B |
|
Before Width: | Height: | Size: 197 B After Width: | Height: | Size: 197 B |
|
Before Width: | Height: | Size: 641 B After Width: | Height: | Size: 641 B |
|
Before Width: | Height: | Size: 153 B After Width: | Height: | Size: 153 B |
|
Before Width: | Height: | Size: 164 B After Width: | Height: | Size: 164 B |
|
Before Width: | Height: | Size: 251 B After Width: | Height: | Size: 251 B |
|
Before Width: | Height: | Size: 209 B After Width: | Height: | Size: 209 B |
|
Before Width: | Height: | Size: 630 B After Width: | Height: | Size: 630 B |
@ -1,35 +0,0 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
32
|
||||
0 197 0
|
||||
246 197 123
|
||||
255 255 255
|
||||
106 115 123
|
||||
0 0 0
|
||||
189 106 65
|
||||
49 65 74
|
||||
255 222 156
|
||||
180 131 82
|
||||
189 139 106
|
||||
197 197 197
|
||||
255 255 255
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
255 74 16
|
||||
0 197 0
|
||||
246 197 123
|
||||
255 255 255
|
||||
106 115 123
|
||||
0 0 0
|
||||
189 106 65
|
||||
49 65 74
|
||||
255 222 156
|
||||
180 131 82
|
||||
189 139 106
|
||||
197 197 197
|
||||
197 197 197
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
189 106 65
|
||||
|
Before Width: | Height: | Size: 239 B After Width: | Height: | Size: 239 B |
|
Before Width: | Height: | Size: 194 B After Width: | Height: | Size: 194 B |
|
Before Width: | Height: | Size: 168 B After Width: | Height: | Size: 168 B |
|
Before Width: | Height: | Size: 291 B After Width: | Height: | Size: 291 B |
|
Before Width: | Height: | Size: 160 B After Width: | Height: | Size: 160 B |
|
Before Width: | Height: | Size: 245 B After Width: | Height: | Size: 245 B |
@ -697,7 +697,7 @@ $(PKNAVGFXDIR)/header.4bpp: %.4bpp: %.png
|
||||
$(PKNAVGFXDIR)/device_outline.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 53
|
||||
|
||||
$(PKNAVGFXDIR)/ui_matchcall.4bpp: %.4bpp: %.png
|
||||
$(PKNAVGFXDIR)/match_call/ui.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 13
|
||||
|
||||
$(INTERFACEGFXDIR)/region_map.8bpp: %.8bpp: %.png
|
||||
|
||||
@ -77,7 +77,7 @@ void HandleIntroSlide(u8 terrainId);
|
||||
int GetAnimBgAttribute(u8 bgId, u8 attributeId);
|
||||
|
||||
// battle_anim_mons.c
|
||||
void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite);
|
||||
void TranslateSpriteInEllipse(struct Sprite *sprite);
|
||||
void AnimTranslateLinearAndFlicker(struct Sprite *sprite);
|
||||
void AnimTranslateLinearAndFlicker_Flipped(struct Sprite *sprite);
|
||||
void AnimWeatherBallUp(struct Sprite *sprite);
|
||||
@ -107,7 +107,7 @@ u8 GetBattlerYCoordWithElevation(u8 battlerId);
|
||||
void WaitAnimForDuration(struct Sprite *sprite);
|
||||
void AnimTravelDiagonally(struct Sprite *sprite);
|
||||
void InitAnimLinearTranslation(struct Sprite *sprite);
|
||||
void AnimTranslateLinear_WaitEnd(struct Sprite *sprite);
|
||||
void AnimTranslateLinear_WithFollowup(struct Sprite *sprite);
|
||||
u8 GetBattlerSpriteBGPriority(u8 battlerId);
|
||||
void *LoadPointerFromVars(s16 bottom, s16 top);
|
||||
void StorePointerInVars(s16 *bottom, s16 *top, const void *ptr);
|
||||
@ -117,7 +117,7 @@ void GetBattleAnimBgData(struct BattleAnimBgData*, u32 arg1);
|
||||
u8 GetBattlerSpriteSubpriority(u8 battlerId);
|
||||
bool8 TranslateAnimHorizontalArc(struct Sprite *sprite);
|
||||
void sub_80A6630(struct Sprite *sprite);
|
||||
void TranslateMonSpriteLinearFixedPoint(struct Sprite *sprite);
|
||||
void TranslateSpriteLinearByIdFixedPoint(struct Sprite *sprite);
|
||||
void ResetSpriteRotScale(u8 spriteId);
|
||||
void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation);
|
||||
void InitSpriteDataForLinearTranslation(struct Sprite *sprite);
|
||||
@ -127,12 +127,12 @@ u32 GetBattleBgPalettesMask(u8 battleBackground, u8 attacker, u8 target, u8 atta
|
||||
u32 GetBattleMonSpritePalettesMask(u8 playerLeft, u8 playerRight, u8 opponentLeft, u8 opponentRight);
|
||||
u8 AnimDummyReturnArg(u8 battler);
|
||||
s16 CloneBattlerSpriteWithBlend(u8);
|
||||
void obj_delete_but_dont_free_vram(struct Sprite*);
|
||||
void DestroySpriteWithActiveSheet(struct Sprite*);
|
||||
u8 CreateInvisibleSpriteCopy(int, u8, int);
|
||||
void AnimLoadCompressedBgTilemapHandleContest(struct BattleAnimBgData*, const void*, bool32);
|
||||
void AnimLoadCompressedBgGfx(u32, const u32*, u32);
|
||||
void UpdateAnimBg3ScreenSize(bool8);
|
||||
void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *);
|
||||
void TranslateSpriteInGrowingCircle(struct Sprite *);
|
||||
void sub_80A653C(struct Sprite *);
|
||||
void SetBattlerSpriteYOffsetFromYScale(u8 spriteId);
|
||||
void PrepareEruptAnimTaskData(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7);
|
||||
@ -142,16 +142,16 @@ void AnimLoadCompressedBgTilemap(u32 bgId, const void *src);
|
||||
void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite);
|
||||
bool8 AnimFastTranslateLinear(struct Sprite *sprite);
|
||||
void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite);
|
||||
void TranslateMonSpriteLinear(struct Sprite *sprite);
|
||||
void TranslateSpriteLinearById(struct Sprite *sprite);
|
||||
void TranslateSpriteLinear(struct Sprite *sprite);
|
||||
void AnimSpriteOnMonPos(struct Sprite *sprite);
|
||||
void InitAnimLinearTranslationWithSpeedAndPos(struct Sprite *sprite);
|
||||
void TranslateSpriteInCircleOverDuration(struct Sprite *sprite);
|
||||
void TranslateSpriteInCircle(struct Sprite *sprite);
|
||||
void SetGrayscaleOrOriginalPalette(u16 palNum, bool8 restoreOriginal);
|
||||
void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds);
|
||||
bool8 RunAffineAnimFromTaskData(struct Task *task);
|
||||
void AnimThrowProjectile(struct Sprite *sprite);
|
||||
void sub_80A6BFC(struct BattleAnimBgData *unk, u8 unused);
|
||||
void GetBgDataForTransform(struct BattleAnimBgData *dest, u8 battlerId);
|
||||
u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, bool32 ignoreDeoxysForm);
|
||||
void ResetSpriteRotScale_PreserveAffine(struct Sprite *sprite);
|
||||
void TradeMenuBouncePartySprites(struct Sprite *sprite);
|
||||
@ -161,7 +161,7 @@ void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId);
|
||||
u8 GetBattlerSide(u8 battler);
|
||||
u8 GetBattlerPosition(u8 battler);
|
||||
u8 GetBattlerAtPosition(u8 position);
|
||||
void sub_80A64EC(struct Sprite *sprite);
|
||||
void ConvertPosDataToTranslateLinearData(struct Sprite *sprite);
|
||||
void InitAnimFastLinearTranslationWithSpeedAndPos(struct Sprite *sprite);
|
||||
|
||||
enum
|
||||
|
||||
@ -50,7 +50,7 @@ void DoBounceEffect(u8 battlerId, u8 b, s8 c, s8 d);
|
||||
void EndBounceEffect(u8 battlerId, bool8 b);
|
||||
void SpriteCB_PlayerMonFromBall(struct Sprite *sprite);
|
||||
void SpriteCB_TrainerThrowObject(struct Sprite *sprite);
|
||||
void sub_8039E9C(struct Sprite *sprite);
|
||||
void AnimSetCenterToCornerVecX(struct Sprite *sprite);
|
||||
void BeginBattleIntroDummy(void);
|
||||
void BeginBattleIntro(void);
|
||||
void SwitchInClearSetData(void);
|
||||
|
||||
@ -447,6 +447,9 @@
|
||||
// Flag for BattlePutTextOnWindow. Never set
|
||||
#define B_WIN_COPYTOVRAM (1 << 7)
|
||||
|
||||
// Indicator for the party summary bar to display an empty slot.
|
||||
#define HP_EMPTY_SLOT 0xFFFF
|
||||
|
||||
#define MOVE_TARGET_SELECTED 0
|
||||
#define MOVE_TARGET_DEPENDS (1 << 0)
|
||||
#define MOVE_TARGET_USER_OR_SELECTED (1 << 1)
|
||||
|
||||