Merge branch 'master' of github.com:pret/pokeemerald into battle_engine_sync

This commit is contained in:
ultima-soul committed 2021-11-27 21:38:26 -08:00
commit 0312c5be8b
477 files changed
+10056 -9538

No files matched your search

+9 -6
View File
@@ -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)
+5 -5
View File
@@ -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.
+161 -126
View File
@@ -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
+1 -1
View File
@@ -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 -3
View File
@@ -3,11 +3,11 @@ gLastSaveCounter
gLastKnownGoodSector
gDamagedSaveSectors
gSaveCounter
gFastSaveSection
gUnknown_03006208
gReadWriteSector
gIncrementalSectorId
gSaveUnusedVar
gSaveFileStatus
gGameContinueCallback
gRamSaveSectionLocations
gRamSaveSectorLocations
gSaveUnusedVar2
gSaveAttemptStatus
+6 -4
View File
@@ -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
+1
View File
@@ -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"
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+3 -3
View File
@@ -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
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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
+3 -3
View File
@@ -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
+10 -10
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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
+6 -6
View File
@@ -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
+2 -2
View File
@@ -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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 B

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 B

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 B

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 B

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 232 B

After

Width:  |  Height:  |  Size: 232 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 B

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 B

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 B

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 B

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 232 B

After

Width:  |  Height:  |  Size: 232 B

+116 -116
View File
@@ -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);
}
}
@@ -800,10 +810,10 @@ void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter)
{
case FALSE:
default:
arrowTiles = gDownArrowTiles;
arrowTiles = sDownArrowTiles;
break;
case TRUE:
arrowTiles = gDarkDownArrowTiles;
arrowTiles = sDarkDownArrowTiles;
break;
}
@@ -811,7 +821,7 @@ void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter)
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:
case FALSE:
default:
arrowTiles = gDownArrowTiles;
arrowTiles = sDownArrowTiles;
break;
case 1:
arrowTiles = gDarkDownArrowTiles;
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;
-8
View File
@@ -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);
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 B

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
-35
View File
@@ -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
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+1 -1
View File
@@ -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
+9 -9
View File
@@ -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
+1 -1
View File
@@ -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);
+3
View File
@@ -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)
Loaded 100 of 477 files, more files were not shown because too many files have changed in this diff. Show more